diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-fastrhino.dtsi b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-fastrhino.dtsi index 3b3821da8..186fc6761 100644 --- a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-fastrhino.dtsi +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-fastrhino.dtsi @@ -188,7 +188,6 @@ vdd_logic: DCDC_REG1 { regulator-always-on; regulator-boot-on; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; @@ -203,7 +202,6 @@ vdd_gpu: DCDC_REG2 { regulator-always-on; regulator-boot-on; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; @@ -229,7 +227,6 @@ vdd_npu: DCDC_REG4 { regulator-always-on; regulator-boot-on; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; @@ -357,7 +354,6 @@ regulator-boot-on; regulator-min-microvolt = <950000>; regulator-max-microvolt = <1800000>; - regulator-init-microvolt = <950000>; regulator-name = "vcca1v8_image"; regulator-state-mem { diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-hinlink-opc.dtsi b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-hinlink-opc.dtsi index c683dc41d..d7b421997 100644 --- a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-hinlink-opc.dtsi +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-hinlink-opc.dtsi @@ -259,7 +259,6 @@ vdd_logic: DCDC_REG1 { regulator-always-on; regulator-boot-on; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; @@ -273,7 +272,6 @@ vdd_gpu: DCDC_REG2 { regulator-always-on; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; @@ -297,7 +295,6 @@ }; vdd_npu: DCDC_REG4 { - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-mrkaio-m68s.dtsi b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-mrkaio-m68s.dtsi index d1e67fb73..49e07ac72 100644 --- a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-mrkaio-m68s.dtsi +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-mrkaio-m68s.dtsi @@ -183,7 +183,6 @@ vdd_logic: DCDC_REG1 { regulator-always-on; regulator-boot-on; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; @@ -198,7 +197,6 @@ vdd_gpu: DCDC_REG2 { regulator-always-on; regulator-boot-on; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; @@ -224,7 +222,6 @@ vdd_npu: DCDC_REG4 { regulator-always-on; regulator-boot-on; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5c.dts b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5c.dts index e33d52266..c45f1457a 100644 --- a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5c.dts +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5c.dts @@ -1,522 +1,97 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /* - * Copyright (c) 2021 FriendlyElec Computer Tech. Co., Ltd. - * (http://www.friendlyarm.com) + * Copyright (c) 2022 FriendlyElec Computer Tech. Co., Ltd. + * (http://www.friendlyelec.com) * + * Copyright (c) 2023 Tianling Shen */ /dts-v1/; - -#include -#include -#include -#include -#include "rk3568.dtsi" +#include "rk3568-nanopi-r5s.dtsi" / { model = "FriendlyElec NanoPi R5C"; - compatible = "friendlyarm,nanopi-r5c","rockchip,rk3568"; + compatible = "friendlyarm,nanopi-r5c", "rockchip,rk3568"; aliases { - mmc0 = &sdmmc0; - mmc1 = &sdhci; - - led-boot = &sys_led; - led-failsafe = &sys_led; - led-running = &sys_led; - led-upgrade = &sys_led; + led-boot = &power_led; + led-failsafe = &power_led; + led-running = &power_led; + led-upgrade = &power_led; }; - chosen: chosen { - stdout-path = "serial2:1500000n8"; - }; + gpio-keys { + compatible = "gpio-keys"; + pinctrl-names = "default"; + pinctrl-0 = <&reset_button_pin>; -#ifdef DTS_NO_LEGACY - hdmi-con { - compatible = "hdmi-connector"; - type = "a"; - - port { - hdmi_con_in: endpoint { - remote-endpoint = <&hdmi_out_con>; - }; + button-reset { + debounce-interval = <50>; + gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; + label = "reset"; + linux,code = ; }; }; -#endif - leds { + gpio-leds { compatible = "gpio-leds"; - pinctrl-0 = <&sys_led_pin>, <&lan_led_pin>, + pinctrl-names = "default"; + pinctrl-0 = <&lan_led_pin>, <&power_led_pin>, <&wan_led_pin>, <&wlan_led_pin>; - pinctrl-names = "default"; - sys_led: led-0 { - gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_HIGH>; - label = "red:power"; - }; - - wan_led: led-1 { - gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_HIGH>; - label = "green:wan"; - }; - - lan_led: led-2 { - gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_HIGH>; + led-lan { label = "green:lan"; + gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_HIGH>; }; - wlan_led: led-3 { - gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>; + power_led: led-power { + label = "red:power"; + gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_HIGH>; + }; + + led-wan { + label = "green:wan"; + gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_HIGH>; + }; + + led-wlan { label = "green:wlan"; - }; - }; - - vdd_5v: vdd-5v { - compatible = "regulator-fixed"; - regulator-name = "vdd_5v"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - }; - - vcc3v3_sys: vcc3v3-sys { - compatible = "regulator-fixed"; - regulator-name = "vcc3v3_sys"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <&vdd_5v>; - }; - - vcc3v3_sysp: vcc3v3-sysp { - compatible = "regulator-fixed"; - regulator-name = "vcc3v3_sysp"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <&vdd_5v>; - }; - - vcc5v0_sysp: vcc5v0-sysp { - compatible = "regulator-fixed"; - regulator-name = "vcc5v0_sysp"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - vin-supply = <&vcc3v3_sysp>; - }; - - vcc5v0_usb_host: vcc5v0-usb-host { - compatible = "regulator-fixed"; - enable-active-high; - gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&vcc5v0_usb_host_en>; - regulator-name = "vcc5v0_usb_host"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - vin-supply = <&vcc5v0_sysp>; - }; - - vcc5v0_usb_otg: vcc5v0-usb-otg { - compatible = "regulator-fixed"; - enable-active-high; - gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&vcc5v0_usb_otg_en>; - regulator-name = "vcc5v0_usb_otg"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - vin-supply = <&vcc5v0_sysp>; - }; -}; - -&combphy0 { - status = "okay"; -}; - -&combphy1 { - status = "okay"; -}; - -&combphy2 { - status = "okay"; -}; - -&cpu0 { - cpu-supply = <&vdd_cpu>; -}; - -&cpu1 { - cpu-supply = <&vdd_cpu>; -}; - -&cpu2 { - cpu-supply = <&vdd_cpu>; -}; - -&cpu3 { - cpu-supply = <&vdd_cpu>; -}; - -#ifdef DTS_NO_LEGACY -&gpu { - mali-supply = <&vdd_gpu>; - status = "okay"; -}; - -&hdmi { - avdd-0v9-supply = <&vdda0v9_image>; - avdd-1v8-supply = <&vcca1v8_image>; - status = "okay"; -}; - -&hdmi_in { - hdmi_in_vp0: endpoint { - remote-endpoint = <&vp0_out_hdmi>; - }; -}; - -&hdmi_out { - hdmi_out_con: endpoint { - remote-endpoint = <&hdmi_con_in>; - }; -}; - -&hdmi_sound { - status = "okay"; -}; -#endif - -&i2c0 { - i2c-scl-rising-time-ns = <160>; - i2c-scl-falling-time-ns = <30>; - clock-frequency = <400000>; - status = "okay"; - - vdd_cpu: regulator@1c { - compatible = "tcs,tcs4525"; - reg = <0x1c>; - fcs,suspend-voltage-selector = <1>; - regulator-name = "vdd_cpu"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <712500>; - regulator-max-microvolt = <1390000>; - regulator-init-microvolt = <900000>; - regulator-ramp-delay = <2300>; - vin-supply = <&vcc3v3_sys>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - rk809: pmic@20 { - compatible = "rockchip,rk809"; - reg = <0x20>; - interrupt-parent = <&gpio0>; - interrupts = ; - #clock-cells = <1>; - pinctrl-names = "default"; - pinctrl-0 = <&pmic_int>; - rockchip,system-power-controller; - wakeup-source; - - vcc1-supply = <&vcc3v3_sys>; - vcc2-supply = <&vcc3v3_sys>; - vcc3-supply = <&vcc3v3_sys>; - vcc4-supply = <&vcc3v3_sys>; - vcc5-supply = <&vcc3v3_sys>; - vcc6-supply = <&vcc3v3_sys>; - vcc7-supply = <&vcc3v3_sys>; - vcc8-supply = <&vcc3v3_sys>; - vcc9-supply = <&vcc3v3_sys>; - - regulators { - vdd_logic: DCDC_REG1 { - regulator-name = "vdd_logic"; - regulator-always-on; - regulator-boot-on; - regulator-init-microvolt = <900000>; - regulator-initial-mode = <0x2>; - regulator-min-microvolt = <500000>; - regulator-max-microvolt = <1350000>; - regulator-ramp-delay = <6001>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vdd_gpu: DCDC_REG2 { - regulator-name = "vdd_gpu"; - regulator-always-on; - regulator-init-microvolt = <900000>; - regulator-initial-mode = <0x2>; - regulator-min-microvolt = <500000>; - regulator-max-microvolt = <1350000>; - regulator-ramp-delay = <6001>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vcc_ddr: DCDC_REG3 { - regulator-name = "vcc_ddr"; - regulator-always-on; - regulator-boot-on; - regulator-initial-mode = <0x2>; - - regulator-state-mem { - regulator-on-in-suspend; - }; - }; - - vdd_npu: DCDC_REG4 { - regulator-name = "vdd_npu"; - regulator-init-microvolt = <900000>; - regulator-initial-mode = <0x2>; - regulator-min-microvolt = <500000>; - regulator-max-microvolt = <1350000>; - regulator-ramp-delay = <6001>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vcc_1v8: DCDC_REG5 { - regulator-name = "vcc_1v8"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vdda0v9_image: LDO_REG1 { - regulator-name = "vdda0v9_image"; - regulator-min-microvolt = <900000>; - regulator-max-microvolt = <900000>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vdda_0v9: LDO_REG2 { - regulator-name = "vdda_0v9"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <900000>; - regulator-max-microvolt = <900000>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vdda0v9_pmu: LDO_REG3 { - regulator-name = "vdda0v9_pmu"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <900000>; - regulator-max-microvolt = <900000>; - - regulator-state-mem { - regulator-on-in-suspend; - regulator-suspend-microvolt = <900000>; - }; - }; - - vccio_acodec: LDO_REG4 { - regulator-name = "vccio_acodec"; - regulator-always-on; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vccio_sd: LDO_REG5 { - regulator-name = "vccio_sd"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3300000>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vcc3v3_pmu: LDO_REG6 { - regulator-name = "vcc3v3_pmu"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - - regulator-state-mem { - regulator-on-in-suspend; - regulator-suspend-microvolt = <3300000>; - }; - }; - - vcca_1v8: LDO_REG7 { - regulator-name = "vcca_1v8"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vcca1v8_pmu: LDO_REG8 { - regulator-name = "vcca1v8_pmu"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - - regulator-state-mem { - regulator-on-in-suspend; - regulator-suspend-microvolt = <1800000>; - }; - }; - - vcca1v8_image: LDO_REG9 { - regulator-name = "vcca1v8_image"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vcc_3v3: SWITCH_REG1 { - regulator-name = "vcc_3v3"; - regulator-always-on; - regulator-boot-on; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vcc3v3_sd: SWITCH_REG2 { - regulator-name = "vcc3v3_sd"; - regulator-always-on; - regulator-boot-on; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; + gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>; }; }; }; -&i2c5 { - i2c-scl-rising-time-ns = <160>; - i2c-scl-falling-time-ns = <30>; - clock-frequency = <400000>; - status = "okay"; - - hym8563: hym8563@51 { - compatible = "haoyu,hym8563"; - reg = <0x51>; - interrupt-parent = <&gpio0>; - interrupts = ; - #clock-cells = <0>; - clock-frequency = <32768>; - clock-output-names = "xin32k"; - pinctrl-names = "default"; - pinctrl-0 = <&hym8563_int>; - }; -}; - -#ifdef DTS_NO_LEGACY -&i2s0_8ch { - status = "okay"; -}; -#endif - &pcie2x1 { - num-lanes = <1>; - num-viewport = <4>; pinctrl-names = "default"; - pinctrl-0 = <&m2_w_disable_pin>; + pinctrl-0 = <&pcie20_reset_pin>; reset-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>; status = "okay"; }; -&pcie30phy { - data-lanes = <1 2>; - status = "okay"; -}; - &pcie3x1 { num-lanes = <1>; reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_pcie>; status = "okay"; - - pcie@10 { - reg = <0x00100000 0 0 0 0>; - #address-cells = <3>; - #size-cells = <2>; - - rtl8125_1: pcie-eth@10,0 { - compatible = "pci10ec,8125"; - reg = <0x000000 0 0 0 0>; - - realtek,led-data = <0x78>; - }; - }; }; &pcie3x2 { num-lanes = <1>; reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_pcie>; status = "okay"; - - pcie@20 { - reg = <0x00200000 0 0 0 0>; - #address-cells = <3>; - #size-cells = <2>; - - rtl8125_2: pcie-eth@20,0 { - compatible = "pci10ec,8125"; - reg = <0x000000 0 0 0 0>; - - realtek,led-data = <0x78>; - }; - }; }; &pinctrl { - leds { - sys_led_pin: sys-led-pin { - rockchip,pins = <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; - }; - + gpio-leds { lan_led_pin: lan-led-pin { rockchip,pins = <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; }; + power_led_pin: power-led-pin { + rockchip,pins = <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; + }; + wan_led_pin: wan-led-pin { rockchip,pins = <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; }; @@ -526,154 +101,15 @@ }; }; - hym8563 { - hym8563_int: hym8563-int { - rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>; + pcie { + pcie20_reset_pin: pcie20-reset-pin { + rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>; }; }; - m2-pins { - m2_w_disable_pin: m2-w-disable-pin { - rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_output_high>; - }; - }; - - pmic { - pmic_int: pmic_int { - rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; - }; - }; - - usb { - vcc5v0_usb_host_en: vcc5v0_usb_host_en { - rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; - }; - vcc5v0_usb_otg_en: vcc5v0_usb_otg_en { - rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; + rockchip-key { + reset_button_pin: reset-button-pin { + rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>; }; }; }; - -&pmu_io_domains { - pmuio2-supply = <&vcc3v3_pmu>; - vccio1-supply = <&vccio_acodec>; - vccio3-supply = <&vccio_sd>; - vccio4-supply = <&vcc_1v8>; - vccio5-supply = <&vcc_3v3>; - vccio6-supply = <&vcc_1v8>; - vccio7-supply = <&vcc_3v3>; - status = "okay"; -}; - -&rng { - status = "okay"; -}; - -&saradc { - vref-supply = <&vcca_1v8>; - status = "okay"; -}; - -&sdhci { - bus-width = <8>; - max-frequency = <200000000>; - non-removable; - pinctrl-names = "default"; - pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd>; - status = "okay"; -}; - -&sdmmc0 { - bus-width = <4>; - cap-sd-highspeed; - cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; - disable-wp; - pinctrl-names = "default"; - pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; - sd-uhs-sdr104; - vmmc-supply = <&vcc3v3_sd>; - vqmmc-supply = <&vccio_sd>; - status = "okay"; -}; - -&tsadc { - rockchip,hw-tshut-mode = <1>; - rockchip,hw-tshut-polarity = <0>; - status = "okay"; -}; - -&uart2 { - status = "okay"; -}; - -&usb_host0_ehci { - status = "okay"; -}; - -&usb_host0_ohci { - status = "okay"; -}; - -&usb_host0_xhci { - dr_mode = "host"; - status = "okay"; -}; - -&usb_host1_ehci { - status = "okay"; -}; - -&usb_host1_ohci { - status = "okay"; -}; - -&usb_host1_xhci { - status = "okay"; -}; - -&usb2phy0 { - status = "okay"; -}; - -&usb2phy0_host { - phy-supply = <&vcc5v0_usb_host>; - status = "okay"; -}; - -&usb2phy0_otg { - phy-supply = <&vcc5v0_usb_otg>; - status = "okay"; -}; - -&usb2phy1 { - status = "okay"; -}; - -&usb2phy1_host { - phy-supply = <&vcc5v0_usb_host>; - status = "okay"; -}; - -&usb2phy1_otg { - phy-supply = <&vcc5v0_usb_host>; - status = "okay"; -}; - -#ifdef DTS_NO_LEGACY -&vop { - assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; - assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; - status = "okay"; -}; - -&vop_mmu { - status = "okay"; -}; - -&vp0 { - vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { - reg = ; - remote-endpoint = <&hdmi_in_vp0>; - }; -}; -#endif diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts index 1283d4cb2..63b1101da 100644 --- a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dts @@ -1,176 +1,62 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /* - * Copyright (c) 2021 FriendlyElec Computer Tech. Co., Ltd. - * (http://www.friendlyarm.com) + * Copyright (c) 2022 FriendlyElec Computer Tech. Co., Ltd. + * (http://www.friendlyelec.com) * - * Copyright (c) 2022 Marty Jones - * Copyright (c) 2022 Tianling Shen + * Copyright (c) 2023 Tianling Shen */ /dts-v1/; - -#include -#include -#include -#include -#include "rk3568.dtsi" +#include "rk3568-nanopi-r5s.dtsi" / { model = "FriendlyElec NanoPi R5S"; - compatible = "friendlyarm,nanopi-r5s","rockchip,rk3568"; + compatible = "friendlyarm,nanopi-r5s", "rockchip,rk3568"; aliases { ethernet0 = &gmac0; - mmc0 = &sdmmc0; - mmc1 = &sdhci; - led-boot = &sys_led; - led-failsafe = &sys_led; - led-running = &sys_led; - led-upgrade = &sys_led; + led-boot = &power_led; + led-failsafe = &power_led; + led-running = &power_led; + led-upgrade = &power_led; }; - chosen: chosen { - stdout-path = "serial2:1500000n8"; - }; - -#ifdef DTS_NO_LEGACY - hdmi-con { - compatible = "hdmi-connector"; - type = "a"; - - port { - hdmi_con_in: endpoint { - remote-endpoint = <&hdmi_out_con>; - }; - }; - }; -#endif - - leds { + gpio-leds { compatible = "gpio-leds"; + pinctrl-names = "default"; pinctrl-0 = <&lan1_led_pin>, <&lan2_led_pin>, - <&sys_led_pin>, <&wan_led_pin>; - pinctrl-names = "default"; + <&power_led_pin>, <&wan_led_pin>; - lan1_led: led-0 { - gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>; + led-lan1 { label = "green:lan1"; + gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>; }; - lan2_led: led-1 { - gpios = <&gpio3 RK_PD7 GPIO_ACTIVE_HIGH>; + led-lan2 { label = "green:lan2"; + gpios = <&gpio3 RK_PD7 GPIO_ACTIVE_HIGH>; }; - sys_led: led-2 { - gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; + power_led: led-power { label = "red:power"; + gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; }; - wan_led: led-3 { - gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>; + led-wan { label = "green:wan"; + gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>; }; }; - - vdd_5v: vdd-5v { - compatible = "regulator-fixed"; - regulator-name = "vdd_5v"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - }; - - vcc3v3_sys: vcc3v3-sys { - compatible = "regulator-fixed"; - regulator-name = "vcc3v3_sys"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <&vdd_5v>; - }; - - vcc3v3_sysp: vcc3v3-sysp { - compatible = "regulator-fixed"; - regulator-name = "vcc3v3_sysp"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <&vdd_5v>; - }; - - vcc5v0_sysp: vcc5v0-sysp { - compatible = "regulator-fixed"; - regulator-name = "vcc5v0_sysp"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - vin-supply = <&vcc3v3_sysp>; - }; - - vcc5v0_usb_host: vcc5v0-usb-host { - compatible = "regulator-fixed"; - enable-active-high; - gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&vcc5v0_usb_host_en>; - regulator-name = "vcc5v0_usb_host"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - vin-supply = <&vcc5v0_sysp>; - }; - - vcc3v3_pcie: vcc3v3-pcie { - compatible = "regulator-fixed"; - enable-active-high; - gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; - regulator-name = "vcc3v3_pcie"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - startup-delay-us = <5000>; - vin-supply = <&vcc3v3_sysp>; - }; -}; - -&combphy0 { - status = "okay"; -}; - -&combphy1 { - status = "okay"; -}; - -&combphy2 { - status = "okay"; -}; - -&cpu0 { - cpu-supply = <&vdd_cpu>; -}; - -&cpu1 { - cpu-supply = <&vdd_cpu>; -}; - -&cpu2 { - cpu-supply = <&vdd_cpu>; -}; - -&cpu3 { - cpu-supply = <&vdd_cpu>; }; &gmac0 { - clock_in_out = "output"; assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>; assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>; assigned-clock-rates = <0>, <125000000>; - phy-mode = "rgmii-id"; + clock_in_out = "output"; + phy-handle = <&rgmii_phy0>; + phy-mode = "rgmii"; pinctrl-names = "default"; pinctrl-0 = <&gmac0_miim &gmac0_tx_bus2 @@ -183,328 +69,22 @@ snps,reset-delays-us = <0 15000 50000>; tx_delay = <0x3c>; rx_delay = <0x2f>; - phy-handle = <&rgmii_phy0>; status = "okay"; }; -#ifdef DTS_NO_LEGACY -&gpu { - mali-supply = <&vdd_gpu>; - status = "okay"; -}; - -&hdmi { - avdd-0v9-supply = <&vdda0v9_image>; - avdd-1v8-supply = <&vcca1v8_image>; - status = "okay"; -}; - -&hdmi_in { - hdmi_in_vp0: endpoint { - remote-endpoint = <&vp0_out_hdmi>; - }; -}; - -&hdmi_out { - hdmi_out_con: endpoint { - remote-endpoint = <&hdmi_con_in>; - }; -}; - -&hdmi_sound { - status = "okay"; -}; -#endif - -&i2c0 { - i2c-scl-rising-time-ns = <160>; - i2c-scl-falling-time-ns = <30>; - clock-frequency = <400000>; - status = "okay"; - - vdd_cpu: regulator@1c { - compatible = "tcs,tcs4525"; - reg = <0x1c>; - fcs,suspend-voltage-selector = <1>; - regulator-name = "vdd_cpu"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <712500>; - regulator-max-microvolt = <1390000>; - regulator-init-microvolt = <900000>; - regulator-ramp-delay = <2300>; - vin-supply = <&vcc3v3_sys>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - rk809: pmic@20 { - compatible = "rockchip,rk809"; - reg = <0x20>; - interrupt-parent = <&gpio0>; - interrupts = ; - #clock-cells = <1>; - pinctrl-names = "default"; - pinctrl-0 = <&pmic_int>; - rockchip,system-power-controller; - wakeup-source; - - vcc1-supply = <&vcc3v3_sys>; - vcc2-supply = <&vcc3v3_sys>; - vcc3-supply = <&vcc3v3_sys>; - vcc4-supply = <&vcc3v3_sys>; - vcc5-supply = <&vcc3v3_sys>; - vcc6-supply = <&vcc3v3_sys>; - vcc7-supply = <&vcc3v3_sys>; - vcc8-supply = <&vcc3v3_sys>; - vcc9-supply = <&vcc3v3_sys>; - - regulators { - vdd_logic: DCDC_REG1 { - regulator-name = "vdd_logic"; - regulator-always-on; - regulator-boot-on; - regulator-init-microvolt = <900000>; - regulator-initial-mode = <0x2>; - regulator-min-microvolt = <500000>; - regulator-max-microvolt = <1350000>; - regulator-ramp-delay = <6001>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vdd_gpu: DCDC_REG2 { - regulator-name = "vdd_gpu"; - regulator-always-on; - regulator-init-microvolt = <900000>; - regulator-initial-mode = <0x2>; - regulator-min-microvolt = <500000>; - regulator-max-microvolt = <1350000>; - regulator-ramp-delay = <6001>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vcc_ddr: DCDC_REG3 { - regulator-name = "vcc_ddr"; - regulator-always-on; - regulator-boot-on; - regulator-initial-mode = <0x2>; - - regulator-state-mem { - regulator-on-in-suspend; - }; - }; - - vdd_npu: DCDC_REG4 { - regulator-name = "vdd_npu"; - regulator-init-microvolt = <900000>; - regulator-initial-mode = <0x2>; - regulator-min-microvolt = <500000>; - regulator-max-microvolt = <1350000>; - regulator-ramp-delay = <6001>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vcc_1v8: DCDC_REG5 { - regulator-name = "vcc_1v8"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vdda0v9_image: LDO_REG1 { - regulator-name = "vdda0v9_image"; - regulator-min-microvolt = <900000>; - regulator-max-microvolt = <900000>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vdda_0v9: LDO_REG2 { - regulator-name = "vdda_0v9"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <900000>; - regulator-max-microvolt = <900000>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vdda0v9_pmu: LDO_REG3 { - regulator-name = "vdda0v9_pmu"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <900000>; - regulator-max-microvolt = <900000>; - - regulator-state-mem { - regulator-on-in-suspend; - regulator-suspend-microvolt = <900000>; - }; - }; - - vccio_acodec: LDO_REG4 { - regulator-name = "vccio_acodec"; - regulator-always-on; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vccio_sd: LDO_REG5 { - regulator-name = "vccio_sd"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3300000>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vcc3v3_pmu: LDO_REG6 { - regulator-name = "vcc3v3_pmu"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - - regulator-state-mem { - regulator-on-in-suspend; - regulator-suspend-microvolt = <3300000>; - }; - }; - - vcca_1v8: LDO_REG7 { - regulator-name = "vcca_1v8"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vcca1v8_pmu: LDO_REG8 { - regulator-name = "vcca1v8_pmu"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - - regulator-state-mem { - regulator-on-in-suspend; - regulator-suspend-microvolt = <1800000>; - }; - }; - - vcca1v8_image: LDO_REG9 { - regulator-name = "vcca1v8_image"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vcc_3v3: SWITCH_REG1 { - regulator-name = "vcc_3v3"; - regulator-always-on; - regulator-boot-on; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vcc3v3_sd: SWITCH_REG2 { - regulator-name = "vcc3v3_sd"; - regulator-always-on; - regulator-boot-on; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - }; - }; -}; - -&i2c5 { - i2c-scl-rising-time-ns = <160>; - i2c-scl-falling-time-ns = <30>; - clock-frequency = <400000>; - status = "okay"; - - hym8563: hym8563@51 { - compatible = "haoyu,hym8563"; - reg = <0x51>; - interrupt-parent = <&gpio0>; - interrupts = ; - #clock-cells = <0>; - clock-frequency = <32768>; - clock-output-names = "xin32k"; - pinctrl-names = "default"; - pinctrl-0 = <&hym8563_int>; - }; -}; - -#ifdef DTS_NO_LEGACY -&i2s0_8ch { - status = "okay"; -}; -#endif - &mdio0 { - rgmii_phy0: phy@1 { + rgmii_phy0: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; - reg = <0x1>; - interrupt-parent = <&gpio0>; - interrupts = ; + reg = <1>; + pinctrl-0 = <ð_phy0_reset_pin>; pinctrl-names = "default"; - pinctrl-0 = <&gmac_int>; }; }; &pcie2x1 { num-lanes = <1>; - num-viewport = <4>; reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; status = "okay"; - - pcie@00 { - reg = <0x00000000 0 0 0 0>; - #address-cells = <3>; - #size-cells = <2>; - - r8125_1: pcie@01,0 { - reg = <0x000000 0 0 0 0>; - }; - }; }; &pcie30phy { @@ -514,34 +94,28 @@ &pcie3x1 { num-lanes = <1>; - num-viewport = <4>; reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_pcie>; status = "okay"; - - pcie@10 { - reg = <0x00100000 0 0 0 0>; - #address-cells = <3>; - #size-cells = <2>; - - r8125_2: pcie@10,0 { - reg = <0x000000 0 0 0 0>; - }; - }; }; &pcie3x2 { num-lanes = <1>; - max-link-speed = <2>; num-ib-windows = <8>; num-ob-windows = <8>; - num-viewport = <4>; reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; vpcie3v3-supply = <&vcc3v3_pcie>; status = "okay"; }; &pinctrl { - leds { + gmac0 { + eth_phy0_reset_pin: eth-phy0-reset-pin { + rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + + gpio-leds { lan1_led_pin: lan1-led-pin { rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; }; @@ -550,7 +124,7 @@ rockchip,pins = <3 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>; }; - sys_led_pin: sys-led-pin { + power_led_pin: power-led-pin { rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; }; @@ -558,153 +132,4 @@ rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; }; }; - - eth_phy { - gmac_int: gmac-int { - rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>; - }; - }; - - hym8563 { - hym8563_int: hym8563-int { - rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>; - }; - }; - - pmic { - pmic_int: pmic_int { - rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; - }; - }; - - usb { - vcc5v0_usb_host_en: vcc5v0_usb_host_en { - rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; - }; - }; }; - -&pmu_io_domains { - pmuio2-supply = <&vcc3v3_pmu>; - vccio1-supply = <&vccio_acodec>; - vccio3-supply = <&vccio_sd>; - vccio4-supply = <&vcc_1v8>; - vccio5-supply = <&vcc_3v3>; - vccio6-supply = <&vcc_1v8>; - vccio7-supply = <&vcc_3v3>; - status = "okay"; -}; - -&pwm0 { - status = "okay"; -}; - -&rng { - status = "okay"; -}; - -&saradc { - vref-supply = <&vcca_1v8>; - status = "okay"; -}; - -&sdhci { - bus-width = <8>; - max-frequency = <200000000>; - non-removable; - pinctrl-names = "default"; - pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd>; - status = "okay"; -}; - -&sdmmc0 { - bus-width = <4>; - cap-sd-highspeed; - cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; - disable-wp; - pinctrl-names = "default"; - pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; - sd-uhs-sdr104; - vmmc-supply = <&vcc3v3_sd>; - vqmmc-supply = <&vccio_sd>; - status = "okay"; -}; - -&tsadc { - rockchip,hw-tshut-mode = <1>; - rockchip,hw-tshut-polarity = <0>; - status = "okay"; -}; - -&uart2 { - status = "okay"; -}; - -&usb_host0_ehci { - status = "okay"; -}; - -&usb_host0_ohci { - status = "okay"; -}; - -&usb_host0_xhci { - dr_mode = "host"; - status = "okay"; -}; - -&usb_host1_ehci { - status = "okay"; -}; - -&usb_host1_ohci { - status = "okay"; -}; - -&usb_host1_xhci { - status = "okay"; -}; - -&usb2phy0 { - status = "okay"; -}; - -&usb2phy0_host { - phy-supply = <&vcc5v0_usb_host>; - status = "okay"; -}; - -&usb2phy0_otg { - status = "okay"; -}; - -&usb2phy1 { - status = "okay"; -}; - -&usb2phy1_host { - status = "okay"; -}; - -&usb2phy1_otg { - status = "okay"; -}; - -#ifdef DTS_NO_LEGACY -&vop { - assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; - assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; - status = "okay"; -}; - -&vop_mmu { - status = "okay"; -}; - -&vp0 { - vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { - reg = ; - remote-endpoint = <&hdmi_in_vp0>; - }; -}; -#endif diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dtsi b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dtsi new file mode 100644 index 000000000..2593f5db9 --- /dev/null +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dtsi @@ -0,0 +1,599 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright (c) 2022 FriendlyElec Computer Tech. Co., Ltd. + * (http://www.friendlyelec.com) + * + * Copyright (c) 2023 Tianling Shen + */ + +/dts-v1/; +#include +#include +#include +#include +#include +#include "rk3568.dtsi" + +/ { + aliases { + mmc0 = &sdmmc0; + mmc1 = &sdhci; + }; + + chosen: chosen { + stdout-path = "serial2:1500000n8"; + }; + +#ifdef DTS_NO_LEGACY + hdmi-con { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con_in: endpoint { + remote-endpoint = <&hdmi_out_con>; + }; + }; + }; +#endif + + vdd_usbc: vdd-usbc-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdd_usbc"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + }; + + vcc3v3_sys: vcc3v3-sys-regulator { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&vdd_usbc>; + }; + + vcc5v0_sys: vcc5v0-sys-regulator { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&vdd_usbc>; + }; + + vcc3v3_pcie: vcc3v3-pcie-regulator { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3_pcie"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; + startup-delay-us = <200000>; + vin-supply = <&vcc5v0_sys>; + }; + + vcc5v0_usb: vcc5v0-usb-regulator { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_usb"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&vdd_usbc>; + }; + + vcc5v0_usb_host: vcc5v0-usb-host-regulator { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc5v0_usb_host_en>; + regulator-name = "vcc5v0_usb_host"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&vcc5v0_usb>; + }; + + vcc5v0_usb_otg: vcc5v0-usb-otg-regulator { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc5v0_usb_otg_en>; + regulator-name = "vcc5v0_usb_otg"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&vcc5v0_usb>; + }; + + pcie30_avdd0v9: pcie30-avdd0v9-regulator { + compatible = "regulator-fixed"; + regulator-name = "pcie30_avdd0v9"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + vin-supply = <&vcc3v3_sys>; + }; + + pcie30_avdd1v8: pcie30-avdd1v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "pcie30_avdd1v8"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&vcc3v3_sys>; + }; +}; + +&combphy0 { + status = "okay"; +}; + +&combphy1 { + status = "okay"; +}; + +&combphy2 { + status = "okay"; +}; + +&cpu0 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu1 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu2 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu3 { + cpu-supply = <&vdd_cpu>; +}; + +#ifdef DTS_NO_LEGACY +&gpu { + mali-supply = <&vdd_gpu>; + status = "okay"; +}; + +&hdmi { + avdd-0v9-supply = <&vdda0v9_image>; + avdd-1v8-supply = <&vcca1v8_image>; + status = "okay"; +}; + +&hdmi_in { + hdmi_in_vp0: endpoint { + remote-endpoint = <&vp0_out_hdmi>; + }; +}; + +&hdmi_out { + hdmi_out_con: endpoint { + remote-endpoint = <&hdmi_con_in>; + }; +}; + +&hdmi_sound { + status = "okay"; +}; +#endif + +&i2c0 { + status = "okay"; + + vdd_cpu: regulator@1c { + compatible = "tcs,tcs4525"; + reg = <0x1c>; + fcs,suspend-voltage-selector = <1>; + regulator-name = "vdd_cpu"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1150000>; + regulator-ramp-delay = <2300>; + vin-supply = <&vcc5v0_sys>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + rk809: pmic@20 { + compatible = "rockchip,rk809"; + reg = <0x20>; + interrupt-parent = <&gpio0>; + interrupts = ; + #clock-cells = <1>; + pinctrl-names = "default"; + pinctrl-0 = <&pmic_int>; + rockchip,system-power-controller; + vcc1-supply = <&vcc3v3_sys>; + vcc2-supply = <&vcc3v3_sys>; + vcc3-supply = <&vcc3v3_sys>; + vcc4-supply = <&vcc3v3_sys>; + vcc5-supply = <&vcc3v3_sys>; + vcc6-supply = <&vcc3v3_sys>; + vcc7-supply = <&vcc3v3_sys>; + vcc8-supply = <&vcc3v3_sys>; + vcc9-supply = <&vcc3v3_sys>; + wakeup-source; + + regulators { + vdd_logic: DCDC_REG1 { + regulator-name = "vdd_logic"; + regulator-always-on; + regulator-boot-on; + regulator-initial-mode = <0x2>; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1350000>; + regulator-ramp-delay = <6001>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdd_gpu: DCDC_REG2 { + regulator-name = "vdd_gpu"; + regulator-always-on; + regulator-initial-mode = <0x2>; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1350000>; + regulator-ramp-delay = <6001>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc_ddr: DCDC_REG3 { + regulator-name = "vcc_ddr"; + regulator-always-on; + regulator-boot-on; + regulator-initial-mode = <0x2>; + + regulator-state-mem { + regulator-on-in-suspend; + }; + }; + + vdd_npu: DCDC_REG4 { + regulator-name = "vdd_npu"; + regulator-initial-mode = <0x2>; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1350000>; + regulator-ramp-delay = <6001>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc_1v8: DCDC_REG5 { + regulator-name = "vcc_1v8"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda0v9_image: LDO_REG1 { + regulator-name = "vdda0v9_image"; + regulator-min-microvolt = <950000>; + regulator-max-microvolt = <950000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda_0v9: LDO_REG2 { + regulator-name = "vdda_0v9"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda0v9_pmu: LDO_REG3 { + regulator-name = "vdda0v9_pmu"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <900000>; + }; + }; + + vccio_acodec: LDO_REG4 { + regulator-name = "vccio_acodec"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vccio_sd: LDO_REG5 { + regulator-name = "vccio_sd"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc3v3_pmu: LDO_REG6 { + regulator-name = "vcc3v3_pmu"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <3300000>; + }; + }; + + vcca_1v8: LDO_REG7 { + regulator-name = "vcca_1v8"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcca1v8_pmu: LDO_REG8 { + regulator-name = "vcca1v8_pmu"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1800000>; + }; + }; + + vcca1v8_image: LDO_REG9 { + regulator-name = "vcca1v8_image"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc_3v3: SWITCH_REG1 { + regulator-name = "vcc_3v3"; + regulator-always-on; + regulator-boot-on; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc3v3_sd: SWITCH_REG2 { + regulator-name = "vcc3v3_sd"; + regulator-always-on; + regulator-boot-on; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + }; + + }; +}; + +&i2c5 { + status = "okay"; + + hym8563: rtc@51 { + compatible = "haoyu,hym8563"; + reg = <0x51>; + interrupt-parent = <&gpio0>; + interrupts = ; + #clock-cells = <0>; + clock-output-names = "rtcic_32kout"; + pinctrl-names = "default"; + pinctrl-0 = <&hym8563_int>; + wakeup-source; + }; +}; + +#ifdef DTS_NO_LEGACY +&i2s0_8ch { + status = "okay"; +}; +#endif + +&pcie30phy { + data-lanes = <1 2>; + status = "okay"; +}; + +&pinctrl { + hym8563 { + hym8563_int: hym8563-int { + rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + + pmic { + pmic_int: pmic-int { + rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + + usb { + vcc5v0_usb_host_en: vcc5v0-usb-host-en { + rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + vcc5v0_usb_otg_en: vcc5v0-usb-otg-en { + rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&pmu_io_domains { + pmuio1-supply = <&vcc3v3_pmu>; + pmuio2-supply = <&vcc3v3_pmu>; + vccio1-supply = <&vccio_acodec>; + vccio3-supply = <&vccio_sd>; + vccio4-supply = <&vcc_1v8>; + vccio5-supply = <&vcc_3v3>; + vccio6-supply = <&vcc_1v8>; + vccio7-supply = <&vcc_3v3>; + status = "okay"; +}; + +&rng { + status = "okay"; +}; + +&saradc { + vref-supply = <&vcca_1v8>; + status = "okay"; +}; + +&sdhci { + bus-width = <8>; + max-frequency = <200000000>; + non-removable; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd>; + status = "okay"; +}; + +&sdmmc0 { + max-frequency = <150000000>; + no-sdio; + no-mmc; + bus-width = <4>; + cap-mmc-highspeed; + cap-sd-highspeed; + disable-wp; + vmmc-supply = <&vcc3v3_sd>; + vqmmc-supply = <&vccio_sd>; + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; + status = "okay"; +}; + +&tsadc { + rockchip,hw-tshut-mode = <1>; + rockchip,hw-tshut-polarity = <0>; + status = "okay"; +}; + +&uart2 { + status = "okay"; +}; + +&usb_host0_ehci { + status = "okay"; +}; + +&usb_host0_ohci { + status = "okay"; +}; + +&usb_host0_xhci { + extcon = <&usb2phy0>; + dr_mode = "host"; + status = "okay"; +}; + +&usb_host1_ehci { + status = "okay"; +}; + +&usb_host1_ohci { + status = "okay"; +}; + +&usb_host1_xhci { + status = "okay"; +}; + +&usb2phy0 { + status = "okay"; +}; + +&usb2phy0_host { + phy-supply = <&vcc5v0_usb_host>; + status = "okay"; +}; + +&usb2phy0_otg { + status = "okay"; +}; + +&usb2phy1 { + status = "okay"; +}; + +&usb2phy1_host { + phy-supply = <&vcc5v0_usb_otg>; + status = "okay"; +}; + +&usb2phy1_otg { + status = "okay"; +}; + +#ifdef DTS_NO_LEGACY +&vop { + assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; + assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; + status = "okay"; +}; + +&vop_mmu { + status = "okay"; +}; + +&vp0 { + vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { + reg = ; + remote-endpoint = <&hdmi_in_vp0>; + }; +}; +#endif diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi index d902d025e..7f5ecc249 100644 --- a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi @@ -1,7 +1,6 @@ // SPDX-License-Identifier: (GPL-2.0+ OR MIT) #include -#include #include #include #include "rk3568.dtsi" @@ -13,6 +12,10 @@ mmc0 = &sdhci; }; + chosen { + stdout-path = "serial2:1500000n8"; + }; + gpio-leds { compatible = "gpio-leds"; @@ -162,7 +165,6 @@ regulator-name = "vdd_logic"; regulator-always-on; regulator-boot-on; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; @@ -176,7 +178,6 @@ vdd_gpu: DCDC_REG2 { regulator-name = "vdd_gpu"; regulator-always-on; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; @@ -200,7 +201,6 @@ vdd_npu: DCDC_REG4 { regulator-name = "vdd_npu"; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts index 3d06beab9..566fbc14b 100644 --- a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts @@ -11,23 +11,6 @@ mmc1 = &sdmmc0; }; - chosen { - stdout-path = "serial2:1500000n8"; - }; - - adc-keys { - compatible = "adc-keys"; - io-channels = <&saradc 0>; - io-channel-names = "buttons"; - keyup-threshold-microvolt = <1750000>; - - button-power { - label = "Power"; - linux,code = ; - press-threshold-microvolt = <0>; - }; - }; - pwm-leds { compatible = "pwm-leds-multicolor"; @@ -64,6 +47,9 @@ vin-supply = <&vcc5v0_sys>; }; + /* actually fed by vcc5v0_sys, dependent + * on pi6c clock generator + */ vcc3v3_minipcie: vcc3v3-minipcie-regulator { compatible = "regulator-fixed"; enable-active-high; @@ -71,9 +57,9 @@ pinctrl-names = "default"; pinctrl-0 = <&minipcie_enable_h>; regulator-name = "vcc3v3_minipcie"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - vin-supply = <&vcc5v0_sys>; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&vcc3v3_pi6c_05>; }; vcc3v3_ngff: vcc3v3-ngff-regulator { @@ -88,9 +74,6 @@ vin-supply = <&vcc5v0_sys>; }; - /* actually fed by vcc5v0_sys, dependent - * on pi6c clock generator - */ vcc3v3_pcie30x1: vcc3v3-pcie30x1-regulator { compatible = "regulator-fixed"; enable-active-high; @@ -100,7 +83,7 @@ regulator-name = "vcc3v3_pcie30x1"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; - vin-supply = <&vcc3v3_pi6c_05>; + vin-supply = <&vcc5v0_sys>; }; vcc3v3_pi6c_05: vcc3v3-pi6c-05-regulator { @@ -116,6 +99,10 @@ }; }; +&combphy1 { + phy-supply = <&vcc3v3_pcie30x1>; +}; + &pcie2x1 { pinctrl-names = "default"; pinctrl-0 = <&pcie20_reset_h>; @@ -134,7 +121,7 @@ pinctrl-names = "default"; pinctrl-0 = <&pcie30x1m0_pins>; reset-gpios = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>; - vpcie3v3-supply = <&vcc3v3_pcie30x1>; + vpcie3v3-supply = <&vcc3v3_minipcie>; status = "okay"; }; @@ -196,8 +183,6 @@ }; &sata1 { - ahci-supply = <&vcc3v3_pi6c_05>; - target-supply = <&vcc3v3_pcie30x1>; status = "okay"; }; diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-roc-pc.dts b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-roc-pc.dts index 6b14437e7..080cd0d0d 100644 --- a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-roc-pc.dts +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-roc-pc.dts @@ -1,8 +1,11 @@ // SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2021 Rockchip Electronics Co., Ltd. + */ /dts-v1/; + #include -#include #include #include #include "rk3568.dtsi" @@ -22,6 +25,43 @@ stdout-path = "serial2:1500000n8"; }; + dc_12v: dc-12v { + compatible = "regulator-fixed"; + regulator-name = "dc_12v"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <12000000>; + regulator-max-microvolt = <12000000>; + }; + + gmac0_clkin: external-gmac0-clock { + compatible = "fixed-clock"; + clock-frequency = <125000000>; + clock-output-names = "gmac0_clkin"; + #clock-cells = <0>; + }; + + gmac1_clkin: external-gmac1-clock { + compatible = "fixed-clock"; + clock-frequency = <125000000>; + clock-output-names = "gmac1_clkin"; + #clock-cells = <0>; + }; + + leds { + compatible = "gpio-leds"; + + led-user { + label = "user-led"; + default-state = "on"; + gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + pinctrl-names = "default"; + pinctrl-0 = <&user_led_enable_h>; + retain-state-suspended; + }; + }; + #ifdef DTS_NO_LEGACY hdmi-con { compatible = "hdmi-connector"; @@ -35,86 +75,6 @@ }; #endif - leds { - compatible = "gpio-leds"; - pinctrl-names = "default"; - pinctrl-0 = <&led_work_en>, <&led_user_en>; - - led-work { - label = "blue:work"; - gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "heartbeat"; - }; - - led-user { - label = "yellow:user"; - gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>; - }; - }; - - rk809-sound { - compatible = "simple-audio-card"; - simple-audio-card,format = "i2s"; - simple-audio-card,name = "Analog RK809"; - simple-audio-card,mclk-fs = <256>; - - simple-audio-card,cpu { - sound-dai = <&i2s1_8ch>; - }; - simple-audio-card,codec { - sound-dai = <&rk809>; - }; - }; - - sdio_pwrseq: sdio-pwrseq { - compatible = "mmc-pwrseq-simple"; - clocks = <&rk809 1>; - clock-names = "ext_clock"; - pinctrl-names = "default"; - pinctrl-0 = <&wifi_enable_h>; - reset-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>; - post-power-on-delay-ms = <100>; - }; - - dc_12v: dc-12v { - compatible = "regulator-fixed"; - regulator-name = "dc_12v"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <12000000>; - regulator-max-microvolt = <12000000>; - }; - - vcc3v3_sys: vcc3v3-sys { - compatible = "regulator-fixed"; - regulator-name = "vcc3v3_sys"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <&dc_12v>; - }; - - vcc5v0_sys: vcc5v0-sys { - compatible = "regulator-fixed"; - regulator-name = "vcc5v0_sys"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - vin-supply = <&dc_12v>; - }; - - vcc5v0_usb: vcc5v0-usb { - compatible = "regulator-fixed"; - regulator-name = "vcc5v0_usb"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - vin-supply = <&dc_12v>; - }; - pcie30_avdd0v9: pcie30-avdd0v9 { compatible = "regulator-fixed"; regulator-name = "pcie30_avdd0v9"; @@ -135,25 +95,46 @@ vin-supply = <&vcc3v3_sys>; }; - pcie_pi6c_oe: pcie-pi6c-oe { + vcc3v3_sys: vcc3v3-sys { compatible = "regulator-fixed"; - regulator-name = "pcie_pi6c_oe_en"; + regulator-name = "vcc3v3_sys"; regulator-always-on; - gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>; - pinctrl-names = "default"; - pinctrl-0 = <&pcie_pi6c_oe_en>; - }; - - vcc3v3_pcie: vcc3v3_pi6c: vcc3v3-pcie { - compatible = "regulator-fixed"; - regulator-always-on; - enable-active-high; - gpio = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&pcie_enable_h>; - regulator-name = "vcc3v3_pcie"; + regulator-boot-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; + vin-supply = <&dc_12v>; + }; + + vcc3v3_pcie: vcc3v3-pcie { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3_pcie"; + enable-active-high; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc3v3_pcie_en_pin>; + gpio = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; + startup-delay-us = <5000>; + vin-supply = <&vcc5v0_sys>; + }; + + vcc5v0_sys: vcc5v0-sys { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&dc_12v>; + }; + + vcc5v0_usb: vcc5v0-usb { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_usb"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; vin-supply = <&vcc5v0_sys>; }; @@ -165,8 +146,6 @@ pinctrl-names = "default"; pinctrl-0 = <&vcc5v0_host_en>; regulator-always-on; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; vin-supply = <&vcc5v0_usb>; }; @@ -179,36 +158,6 @@ pinctrl-0 = <&vcc5v0_otg_en>; vin-supply = <&vcc5v0_usb>; }; - - vcc_hub_reset: vcc-hub-reset { - compatible = "regulator-fixed"; - regulator-name = "vcc_hub_reset"; - regulator-always-on; - enable-active-high; - gpio = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&vcc_hub_reset_en>; - }; - - vcc3v3_lcd0_n: vcc3v3-lcd0-n { - compatible = "regulator-fixed"; - regulator-name = "vcc3v3_lcd0_n"; - regulator-boot-on; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - vcc3v3_lcd1_n: vcc3v3-lcd1-n { - compatible = "regulator-fixed"; - regulator-name = "vcc3v3_lcd1_n"; - regulator-boot-on; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; }; &combphy0 { @@ -223,75 +172,47 @@ status = "okay"; }; -&cpu0 { - cpu-supply = <&vdd_cpu>; -}; - -&cpu1 { - cpu-supply = <&vdd_cpu>; -}; - -&cpu2 { - cpu-supply = <&vdd_cpu>; -}; - -&cpu3 { - cpu-supply = <&vdd_cpu>; -}; - &gmac0 { + assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>; + assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&gmac0_clkin>; + clock_in_out = "input"; + pinctrl-names = "default"; + pinctrl-0 = <&gmac0_miim + &gmac0_tx_bus2 + &gmac0_rx_bus2 + &gmac0_rgmii_clk + &gmac0_rgmii_bus + &gmac0_clkinout>; + phy-handle = <&rgmii_phy0>; phy-mode = "rgmii"; - clock_in_out = "output"; - snps,reset-gpio = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>; snps,reset-active-low; /* Reset time is 20ms, 100ms for rtl8211f */ snps,reset-delays-us = <0 20000 100000>; - - assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>; - assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>; - assigned-clock-rates = <0>, <125000000>; - - pinctrl-names = "default"; - pinctrl-0 = <&gmac0_miim - &gmac0_tx_bus2 - &gmac0_rx_bus2 - &gmac0_rgmii_clk - &gmac0_rgmii_bus - &gmac0_clkinout>; - tx_delay = <0x3c>; rx_delay = <0x2f>; - - phy-handle = <&rgmii_phy0>; status = "okay"; }; &gmac1 { + assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; + assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&gmac1_clkin>; + clock_in_out = "input"; + pinctrl-names = "default"; + pinctrl-0 = <&gmac1m1_miim + &gmac1m1_tx_bus2 + &gmac1m1_rx_bus2 + &gmac1m1_rgmii_clk + &gmac1m1_rgmii_bus + &gmac1m1_clkinout>; + phy-handle = <&rgmii_phy1>; phy-mode = "rgmii"; - clock_in_out = "output"; - snps,reset-gpio = <&gpio2 RK_PD1 GPIO_ACTIVE_LOW>; snps,reset-active-low; /* Reset time is 20ms, 100ms for rtl8211f */ snps,reset-delays-us = <0 20000 100000>; - - assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; - assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>; - assigned-clock-rates = <0>, <125000000>; - - pinctrl-names = "default"; - pinctrl-0 = <&gmac1m1_miim - &gmac1m1_tx_bus2 - &gmac1m1_rx_bus2 - &gmac1m1_rgmii_clk - &gmac1m1_rgmii_bus - &gmac1m1_clkinout>; - tx_delay = <0x4f>; rx_delay = <0x26>; - - phy-handle = <&rgmii_phy1>; status = "okay"; }; @@ -327,37 +248,15 @@ &i2c0 { status = "okay"; - vdd_cpu: regulator@1c { - compatible = "tcs,tcs4525"; - reg = <0x1c>; - fcs,suspend-voltage-selector = <1>; - regulator-name = "vdd_cpu"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <712500>; - regulator-max-microvolt = <1390000>; - regulator-ramp-delay = <2300>; - vin-supply = <&vcc5v0_sys>; - - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - rk809: pmic@20 { compatible = "rockchip,rk809"; reg = <0x20>; interrupt-parent = <&gpio0>; interrupts = ; - assigned-clocks = <&cru I2S1_MCLKOUT_TX>; - assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; #clock-cells = <1>; - clock-names = "mclk"; - clocks = <&cru I2S1_MCLKOUT_TX>; pinctrl-names = "default"; pinctrl-0 = <&pmic_int>; rockchip,system-power-controller; - #sound-dai-cells = <0>; vcc1-supply = <&vcc3v3_sys>; vcc2-supply = <&vcc3v3_sys>; vcc3-supply = <&vcc3v3_sys>; @@ -387,7 +286,6 @@ vdd_gpu: DCDC_REG2 { regulator-name = "vdd_gpu"; - regulator-always-on; regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; @@ -472,7 +370,6 @@ vccio_acodec: LDO_REG4 { regulator-name = "vccio_acodec"; - regulator-always-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; @@ -551,6 +448,8 @@ vcc3v3_sd: SWITCH_REG2 { regulator-name = "vcc3v3_sd"; + regulator-always-on; + regulator-boot-on; regulator-state-mem { regulator-off-in-suspend; @@ -566,11 +465,6 @@ }; #endif -&i2s1_8ch { - rockchip,trcm-sync-tx-only; - status = "okay"; -}; - &mdio0 { rgmii_phy0: phy@0 { compatible = "ethernet-phy-ieee802.3-c22"; @@ -585,21 +479,23 @@ }; }; +&pcie30phy { + status = "okay"; +}; + +&pcie3x2 { + pinctrl-names = "default"; + pinctrl-0 = <&pcie_reset_pin>; + reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_pcie>; + status = "okay"; +}; + &pinctrl { leds { - led_work_en: led_work_en { + user_led_enable_h: user-led-enable-h { rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; }; - - led_user_en: led_user_en { - rockchip,pins = <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; - }; - }; - - sdio-pwrseq { - wifi_enable_h: wifi-enable-h { - rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; - }; }; usb { @@ -610,52 +506,24 @@ vcc5v0_otg_en: vcc5v0-otg-en { rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; }; - - vcc_hub_reset_en: vcc-hub-reset-en { - rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; - }; - }; - - fusb0_int { - fusb0_int: fusb0-int { - rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>; - }; }; pcie { - pcie_enable_h: pcie-enable-h { - rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; - }; - - pcie_reset_h: pcie-reset-h { + pcie_reset_pin: pcie-reset-pin { rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; }; - - pcie_pi6c_oe_en: pcie-pi6c-oe-en { - rockchip,pins = <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>; + vcc3v3_pcie_en_pin: vcc3v3-pcie-en-pin { + rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; }; }; pmic { - pmic_int: pmic_int { + pmic_int: pmic-int { rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; }; }; }; -&pcie30phy { - phy-supply = <&pcie_pi6c_oe>; - status = "okay"; -}; - -&pcie3x2 { - pinctrl-names = "default"; - pinctrl-0 = <&pcie_reset_h>; - reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; - vpcie3v3-supply = <&vcc3v3_pcie>; - status = "okay"; -}; - &pmu_io_domains { pmuio1-supply = <&vcc3v3_pmu>; pmuio2-supply = <&vcc3v3_pmu>; @@ -704,22 +572,6 @@ status = "okay"; }; -&sdmmc2 { - max-frequency = <150000000>; - supports-sdio; - bus-width = <4>; - disable-wp; - cap-sd-highspeed; - cap-sdio-irq; - keep-power-in-suspend; - pinctrl-names = "default"; - pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_cmd &sdmmc2m0_clk>; - sd-uhs-sdr104; - mmc-pwrseq = <&sdio_pwrseq>; - non-removable; - status = "okay"; -}; - &tsadc { status = "okay"; }; @@ -733,6 +585,18 @@ status = "okay"; }; +&usb2phy0 { + status = "okay"; +}; + +&usb2phy1 { + status = "okay"; +}; + +&usb2phy0_otg { + status = "okay"; +}; + &usb2phy1_host { phy-supply = <&vcc5v0_host>; status = "okay"; @@ -743,14 +607,6 @@ status = "okay"; }; -&usb2phy0 { - status = "okay"; -}; - -&usb2phy1 { - status = "okay"; -}; - &usb_host0_ehci { status = "okay"; }; @@ -759,11 +615,6 @@ status = "okay"; }; -&usb_host0_xhci { - extcon = <&usb2phy0>; - status = "okay"; -}; - &usb_host1_ehci { status = "okay"; }; @@ -772,6 +623,10 @@ status = "okay"; }; +&usb_host0_xhci { + status = "okay"; +}; + &usb_host1_xhci { status = "okay"; }; diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts index 29a4e0673..8f88ffe63 100644 --- a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts @@ -341,7 +341,6 @@ regulator-name = "vdd_logic"; regulator-always-on; regulator-boot-on; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; @@ -355,7 +354,6 @@ vdd_gpu: DCDC_REG2 { regulator-name = "vdd_gpu"; regulator-always-on; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; @@ -379,7 +377,6 @@ vdd_npu: DCDC_REG4 { regulator-name = "vdd_npu"; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; diff --git a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-t68m.dts b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-t68m.dts index 67c99203e..3ea27095b 100644 --- a/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-t68m.dts +++ b/target/linux/rockchip/files/arch/arm64/boot/dts/rockchip/rk3568-t68m.dts @@ -319,7 +319,6 @@ regulator-name = "vdd_logic"; regulator-always-on; regulator-boot-on; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; @@ -333,7 +332,6 @@ vdd_gpu: DCDC_REG2 { regulator-name = "vdd_gpu"; regulator-always-on; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; @@ -357,7 +355,6 @@ vdd_npu: DCDC_REG4 { regulator-name = "vdd_npu"; - regulator-init-microvolt = <900000>; regulator-initial-mode = <0x2>; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1350000>; diff --git a/target/linux/rockchip/patches-5.15/701-phy-rockchip-snps-pcie3-update-fw-when-init.patch b/target/linux/rockchip/patches-5.15/701-phy-rockchip-snps-pcie3-update-fw-when-init.patch deleted file mode 100644 index 61c2357f3..000000000 --- a/target/linux/rockchip/patches-5.15/701-phy-rockchip-snps-pcie3-update-fw-when-init.patch +++ /dev/null @@ -1,8252 +0,0 @@ -commit 25b3549a4c46e10f4dcfe627a5bda1f1a1f7198d -Author: Kever Yang -Date: Fri May 13 09:54:12 2022 +0800 - - phy: rockchip-snps-pcie3: update fw when init - - This fw fix some RX issue: - 1. connect detect error; - 2. transfer error in ssd huge data write(more than 10GB). - - Signed-off-by: Kever Yang - Change-Id: If9b8d7fbe4414ae4d28ff6bbd4415d88b582113d - -diff --git a/drivers/phy/rockchip/phy-rockchip-snps-pcie3.c b/drivers/phy/rockchip/phy-rockchip-snps-pcie3.c -index 7dd320c24b1b..2392bcbab496 100644 ---- a/drivers/phy/rockchip/phy-rockchip-snps-pcie3.c -+++ b/drivers/phy/rockchip/phy-rockchip-snps-pcie3.c -@@ -20,6 +20,7 @@ - - /* Register for RK3568 */ - #define GRF_PCIE30PHY_CON1 0x4 -+#define GRF_PCIE30PHY_CON4 0x10 - #define GRF_PCIE30PHY_CON6 0x18 - #define GRF_PCIE30PHY_CON9 0x24 - #define GRF_PCIE30PHY_DA_OCM (BIT(15) | BIT(31)) -@@ -111,6 +112,11 @@ - regmap_write(priv->phy_grf, GRF_PCIE30PHY_CON6, - GRF_PCIE30PHY_WR_EN & ~RK3568_BIFURCATION_LANE_0_1); - } -+ -+ regmap_write(priv->phy_grf, GRF_PCIE30PHY_CON4, -+ (0x0 << 14) | (0x1 << (14 + 16))); //sdram_ld_done -+ regmap_write(priv->phy_grf, GRF_PCIE30PHY_CON4, -+ (0x0 << 13) | (0x1 << (13 + 16))); //sdram_bypass - - reset_control_deassert(priv->p30phy); - -@@ -186,10 +192,15 @@ - .phy_init = rockchip_p3phy_rk3588_init, - }; - -+static const u16 phy_fw[] = { -+ #include "phy-rockchip-snps-pcie3.fw" -+}; -+ - static int rochchip_p3phy_init(struct phy *phy) - { - struct rockchip_p3phy_priv *priv = phy_get_drvdata(phy); -- int ret; -+ int i; -+ int ret = 0; - - ret = clk_bulk_prepare_enable(priv->num_clks, priv->clks); - if (ret) { -diff --git a/drivers/phy/rockchip/phy-rockchip-snps-pcie3.fw b/drivers/phy/rockchip/phy-rockchip-snps-pcie3.fw -new file mode 100644 -index 000000000000..301c42837ad9 ---- /dev/null -+++ b/drivers/phy/rockchip/phy-rockchip-snps-pcie3.fw -@@ -0,0 +1,8192 @@ -+0x081D, -+0xFFFF, -+0x33AF, -+0x33AE, -+0x0C4F, -+0xD10D, -+0x0D0F, -+0xD306, -+0x0C8F, -+0xDB06, -+0x33AF, -+0xD38D, -+0x01AC, -+0x2000, -+0x0C1E, -+0x014A, -+0x2800, -+0x1B80, -+0xA0B2, -+0x0806, -+0x0016, -+0x8CC7, -+0xD1AE, -+0x0C2E, -+0x1B75, -+0x33AE, -+0xA01C, -+0x8026, -+0x0C2F, -+0xD375, -+0x33AF, -+0x1B81, -+0xA022, -+0x8026, -+0x0D8F, -+0x03A6, -+0x0003, -+0x33AF, -+0x0C6F, -+0xDBA6, -+0x33AF, -+0x0C4F, -+0xD10D, -+0x33AF, -+0x0D8F, -+0xDBA6, -+0x33AF, -+0x1B81, -+0xA032, -+0x8048, -+0xDB87, -+0x038D, -+0x0020, -+0xD310, -+0x080F, -+0x0020, -+0xD106, -+0x33AF, -+0xDB8B, -+0xDB8C, -+0x1B0F, -+0xA03A, -+0x0807, -+0x0044, -+0x33FE, -+0x0C01, -+0x0C3F, -+0x80BA, -+0x0C4F, -+0xD30E, -+0x33AF, -+0xD38D, -+0x1B82, -+0xA04B, -+0x8061, -+0xDB88, -+0x080F, -+0x0020, -+0xD106, -+0x33AF, -+0x1B8E, -+0xA053, -+0x8061, -+0x1BA7, -+0xA056, -+0x8053, -+0x0807, -+0x005C, -+0x33FE, -+0x0C01, -+0x0C3F, -+0x80BA, -+0xDB8F, -+0x0C2E, -+0x1B09, -+0xA05D, -+0x33AE, -+0x1B86, -+0xA07B, -+0x1B85, -+0xA0A7, -+0x080E, -+0x0200, -+0x1BF6, -+0x33AE, -+0xA074, -+0x1B5E, -+0xA06D, -+0x8077, -+0x0C4E, -+0x1BF6, -+0x33AE, -+0xA077, -+0x0806, -+0x0000, -+0x89A4, -+0x0C4F, -+0xDBF6, -+0x33AF, -+0x1B2F, -+0xA07A, -+0x89DF, -+0x8000, -+0x080F, -+0x0020, -+0xD106, -+0x33AF, -+0x0807, -+0x0085, -+0x33FE, -+0x0C01, -+0x0C3F, -+0x80BA, -+0xD35E, -+0x038D, -+0x0020, -+0xD10D, -+0x010D, -+0x0002, -+0x0C8F, -+0xDB06, -+0x33AF, -+0x0D0F, -+0xDB06, -+0x33AF, -+0x0C2E, -+0x1919, -+0xA095, -+0x8092, -+0x33AE, -+0x0C8F, -+0xD306, -+0x33AF, -+0x0C2E, -+0x1919, -+0xA09D, -+0x33AE, -+0x0D0F, -+0xD306, -+0x33AF, -+0xD10D, -+0xD38D, -+0xDB10, -+0xDB8C, -+0xDB8B, -+0xD310, -+0x8000, -+0xDB8B, -+0xD35E, -+0x0806, -+0x0000, -+0x1B28, -+0xA995, -+0x0806, -+0x0000, -+0x038D, -+0x0020, -+0x86F1, -+0xD380, -+0x1B59, -+0xA19E, -+0x80C8, -+0x0C4F, -+0xD3F6, -+0x33AF, -+0x080E, -+0x01FC, -+0x1BF6, -+0x33AE, -+0xA0C3, -+0x080F, -+0x01FC, -+0x03F6, -+0x0032, -+0x33AF, -+0x0806, -+0x0157, -+0x1B27, -+0xA641, -+0x822B, -+0x0367, -+0x003F, -+0x0368, -+0x0C09, -+0x0369, -+0x7928, -+0xD36A, -+0x036B, -+0x007F, -+0x036C, -+0x0C13, -+0x036D, -+0x7803, -+0xD36E, -+0x037C, -+0x003F, -+0x037D, -+0x0C01, -+0x037E, -+0x7818, -+0xD37F, -+0x03E0, -+0x007F, -+0x03E1, -+0x0C2F, -+0x03E2, -+0x7828, -+0x03E3, -+0x36DC, -+0x03E4, -+0x007F, -+0x03E5, -+0x0C09, -+0x03E6, -+0x7818, -+0x03E7, -+0x124A, -+0x080E, -+0xFF00, -+0x191E, -+0x33AE, -+0x080F, -+0x00FF, -+0x291D, -+0x0CCF, -+0xD11D, -+0x080F, -+0x0100, -+0xD91D, -+0x33AF, -+0x0C2F, -+0xD375, -+0x33AF, -+0x0349, -+0x0017, -+0x0353, -+0x0017, -+0x1B4A, -+0x29B4, -+0xD9B8, -+0x0229, -+0x1060, -+0x022A, -+0x0E24, -+0x080E, -+0x4000, -+0x1B09, -+0xA108, -+0x0C2E, -+0x1B02, -+0xA10C, -+0x33AE, -+0xD317, -+0x1B29, -+0xA115, -+0x705E, -+0x8115, -+0x1B2D, -+0xA118, -+0x811A, -+0x014B, -+0x2DAB, -+0x1B2E, -+0xA11D, -+0x811F, -+0x014C, -+0x004B, -+0x1B2A, -+0xA123, -+0x0125, -+0x065A, -+0x1B2B, -+0xA126, -+0x8128, -+0x0127, -+0x0D07, -+0x0063, -+0x7F00, -+0x0073, -+0x7F00, -+0x1A28, -+0xA145, -+0xDA28, -+0x1B29, -+0xA137, -+0x0060, -+0x0008, -+0x0070, -+0x0008, -+0xDBA8, -+0x8140, -+0x0C2F, -+0xD881, -+0x080F, -+0xFFFF, -+0xDBA8, -+0x0061, -+0x0018, -+0x0071, -+0x0018, -+0x0301, -+0x0F05, -+0x03A0, -+0x0007, -+0x8147, -+0x0301, -+0x0F05, -+0x1B2C, -+0xA14C, -+0x0144, -+0x0100, -+0x8152, -+0x080F, -+0x0200, -+0xD944, -+0x33AF, -+0x0145, -+0x6DB4, -+0x0306, -+0x0006, -+0x1B0F, -+0xA154, -+0x80B6, -+0x0305, -+0x000C, -+0x0306, -+0x0007, -+0x0317, -+0x0003, -+0x0306, -+0x0006, -+0x1B0F, -+0xA15F, -+0x0306, -+0x0004, -+0xDB87, -+0x1A28, -+0x5C6D, -+0xA168, -+0x816E, -+0x13A3, -+0x5CEC, -+0xA168, -+0x0228, -+0x0003, -+0x816E, -+0x0C2E, -+0x1A11, -+0x33AE, -+0xA177, -+0x1867, -+0x080C, -+0x0100, -+0x518D, -+0x2B54, -+0x0C4E, -+0x1A11, -+0x33AE, -+0xA180, -+0x1877, -+0x080C, -+0x0100, -+0x518D, -+0x2B55, -+0x1867, -+0x2868, -+0x1877, -+0x2878, -+0x1886, -+0x2B56, -+0x1888, -+0x2B58, -+0x1887, -+0x2B57, -+0x0060, -+0x0018, -+0x0070, -+0x0018, -+0xDA12, -+0xD3A0, -+0xD3A8, -+0xDB59, -+0x7005, -+0x0C4F, -+0xD081, -+0x080F, -+0xFFFF, -+0x0C8F, -+0xD303, -+0x33AF, -+0x0C4F, -+0xD30E, -+0x33AF, -+0x8000, -+0x1B54, -+0x2868, -+0x1B55, -+0x2878, -+0x705E, -+0x1B2D, -+0xA1A6, -+0x81A8, -+0x014B, -+0x2DAB, -+0x1B2E, -+0xA1AB, -+0x81AD, -+0x014C, -+0x004B, -+0x1B29, -+0xA1B0, -+0x81B8, -+0x0C2F, -+0xD881, -+0x080F, -+0xFFFF, -+0x0061, -+0x0018, -+0x0071, -+0x0018, -+0x1B56, -+0x2883, -+0x1B58, -+0x2885, -+0x1B57, -+0x2884, -+0x0301, -+0x0F05, -+0xD9AE, -+0x01AD, -+0x0080, -+0xD1AF, -+0xD9B6, -+0x1B40, -+0x29AD, -+0xD9AF, -+0xD9B6, -+0x1B41, -+0x29AD, -+0x01AF, -+0x0002, -+0xD9B6, -+0x1B42, -+0x29AD, -+0x01AF, -+0x0003, -+0xD9B6, -+0x1B45, -+0x29AD, -+0x01AF, -+0x0014, -+0xD9B6, -+0x1B46, -+0x29AD, -+0x01AF, -+0x0015, -+0xD9B6, -+0x01A8, -+0x0140, -+0x1B4B, -+0x2973, -+0x1B4C, -+0x2974, -+0x1B51, -+0x2979, -+0x1B4D, -+0x2975, -+0x1B4E, -+0x2976, -+0x1B52, -+0x297A, -+0x1BF2, -+0x5C6D, -+0xA1F1, -+0x0C4F, -+0xD9BA, -+0x33AF, -+0x0C8E, -+0x1B24, -+0x33AE, -+0xA1F6, -+0x81F9, -+0x0C2F, -+0xD9BA, -+0x33AF, -+0x1B4F, -+0x080F, -+0xFF00, -+0x297F, -+0x080F, -+0xFFFF, -+0x1B50, -+0x080F, -+0x00FF, -+0x297F, -+0x080F, -+0xFFFF, -+0x1B4A, -+0x29B4, -+0xD9B8, -+0xD1AE, -+0xD1A8, -+0x018E, -+0x0019, -+0x0305, -+0x000C, -+0xD306, -+0x1B0F, -+0xA20F, -+0x1B2C, -+0xA214, -+0x821A, -+0x080F, -+0x0200, -+0xD944, -+0x33AF, -+0x0145, -+0x6DB4, -+0x1B04, -+0xA21A, -+0x1B2A, -+0xA220, -+0x0125, -+0x065A, -+0x1B2B, -+0xA223, -+0x8225, -+0x0127, -+0x0D07, -+0xDA12, -+0x0229, -+0x1060, -+0x022A, -+0xE24 , -+0x8193, -+0x01A8, -+0x0140, -+0x0100, -+0x0004, -+0x018E, -+0x0019, -+0xD9AE, -+0xD9B6, -+0x01B0, -+0x0B37, -+0x01B1, -+0x00FA, -+0xD9B7, -+0x0180, -+0x03FF, -+0xD981, -+0xD182, -+0xD183, -+0x0184, -+0x4000, -+0x0185, -+0x2408, -+0x1B31, -+0xA254, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0xA060, -+0xD9AF, -+0x0340, -+0x0080, -+0x0800, -+0x0340, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x0254, -+0x0C03, -+0x864B, -+0x1B31, -+0xA268, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0xA080, -+0x01AF, -+0x0002, -+0x0341, -+0x0080, -+0x0800, -+0x0341, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x0268, -+0x0C03, -+0x864B, -+0x01B1, -+0x0062, -+0xD9B7, -+0x1B31, -+0xA27E, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0xA080, -+0xD9AF, -+0x0340, -+0x0080, -+0x0800, -+0x0340, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x027E, -+0x0C03, -+0x864B, -+0x1B31, -+0xA292, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0xA0C0, -+0x01AF, -+0x0003, -+0x0342, -+0x0080, -+0x0800, -+0x0342, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x0292, -+0x0C03, -+0x864B, -+0x080E, -+0xF800, -+0x1B0C, -+0x31A1, -+0x080E, -+0x07FF, -+0x1B0C, -+0x31A2, -+0xD11D, -+0x0CEE, -+0x1B0D, -+0x31A3, -+0x33AE, -+0x304D, -+0x080F, -+0x07FF, -+0x29B0, -+0x33AF, -+0x302D, -+0x080F, -+0x00F8, -+0x29B1, -+0x33AF, -+0x306D, -+0x0CEF, -+0x29B1, -+0x33AF, -+0xD9B7, -+0x0C2E, -+0x1BF6, -+0x33AE, -+0xA2CD, -+0x0180, -+0x03FF, -+0xD981, -+0xD182, -+0xD183, -+0x0184, -+0x4000, -+0x0185, -+0x2408, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0xB080, -+0x01AF, -+0x0002, -+0x03F7, -+0x0080, -+0x0800, -+0x03F7, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x02CD, -+0x0C03, -+0x864B, -+0x0C8E, -+0x1BF4, -+0x33AE, -+0xA2EC, -+0x0180, -+0x03FF, -+0xD981, -+0xD182, -+0xD183, -+0x0184, -+0x4000, -+0x0185, -+0x2408, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0xB0C0, -+0x01AF, -+0x0003, -+0x03EC, -+0x0080, -+0x0800, -+0x03EC, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x02EC, -+0x0C03, -+0x864B, -+0x01B3, -+0x0177, -+0xD3F2, -+0x0C2E, -+0x1BF4, -+0x33AE, -+0xA313, -+0x0180, -+0x01FF, -+0x0181, -+0xAAAA, -+0x0182, -+0x2800, -+0xD183, -+0x0184, -+0x6C00, -+0x0185, -+0x2408, -+0x0807, -+0x0301, -+0x8DC7, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0x3000, -+0x01AF, -+0x0016, -+0x0179, -+0x0080, -+0x0800, -+0x0179, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x0313, -+0x0C23, -+0x864B, -+0x0800, -+0x0179, -+0x3801, -+0x0802, -+0x003F, -+0x0803, -+0x00C0, -+0x5461, -+0xB31F, -+0x5422, -+0xB31F, -+0x8329, -+0x0C4E, -+0x19BA, -+0x33AE, -+0xA329, -+0x1B33, -+0xA329, -+0x0C4F, -+0xD9BA, -+0x33AF, -+0x82EF, -+0x0C2E, -+0x1BF4, -+0x33AE, -+0xA34D, -+0x0180, -+0x01FF, -+0x0181, -+0x5555, -+0x0182, -+0x1400, -+0xD183, -+0x0184, -+0x6C00, -+0x0185, -+0x2408, -+0x0807, -+0x033B, -+0x8E5B, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0x3000, -+0x01AF, -+0x0018, -+0x017A, -+0x0080, -+0x0800, -+0x017A, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x034D, -+0x0C23, -+0x864B, -+0x0800, -+0x017A, -+0x3801, -+0x0802, -+0x003F, -+0x0803, -+0x00C0, -+0x5461, -+0xB359, -+0x5422, -+0xB359, -+0x8363, -+0x0C4E, -+0x19BA, -+0x33AE, -+0xA363, -+0x1B33, -+0xA363, -+0x0C4F, -+0xD9BA, -+0x33AF, -+0x82EF, -+0x080E, -+0x0400, -+0x1B6F, -+0x33AE, -+0xA38D, -+0x0C4E, -+0x19BA, -+0x33AE, -+0xA38B, -+0x0800, -+0x009B, -+0x1979, -+0x31A1, -+0x197A, -+0x31A2, -+0x5420, -+0xB375, -+0x8379, -+0x5440, -+0xB379, -+0xDBF2, -+0x838D, -+0x5420, -+0xB381, -+0x5440, -+0xB37E, -+0x8381, -+0x03F2, -+0x0002, -+0x838D, -+0x5420, -+0xB38D, -+0x5440, -+0xB38D, -+0x03F2, -+0x0003, -+0x0C4F, -+0xD9BA, -+0x33AF, -+0x82EF, -+0x03F2, -+0x0003, -+0x1BF2, -+0x5C6D, -+0xA395, -+0x03ED, -+0x0025, -+0x03EE, -+0x0025, -+0x8399, -+0x03ED, -+0x0037, -+0x03EE, -+0x0037, -+0x1B32, -+0xA3BB, -+0x0180, -+0x01FF, -+0x0181, -+0xAAAA, -+0x0182, -+0x2800, -+0xD183, -+0x0184, -+0x7000, -+0x0185, -+0x2408, -+0x0807, -+0x03A9, -+0x8D7D, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0x3000, -+0x01AF, -+0x0010, -+0x0173, -+0x0080, -+0x0800, -+0x0173, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x03BB, -+0x0C23, -+0x864B, -+0x0800, -+0x0173, -+0x3801, -+0x0802, -+0x003F, -+0x0803, -+0x00C0, -+0x5423, -+0xB3C5, -+0x83C7, -+0x5441, -+0xB3D1, -+0x0C4E, -+0x19BA, -+0x33AE, -+0xA3D1, -+0x1B33, -+0xA3D1, -+0x0C4F, -+0xD9BA, -+0x33AF, -+0x82EF, -+0x1B32, -+0xA3F3, -+0x0180, -+0x01FF, -+0x0181, -+0xAAAA, -+0x0182, -+0x2800, -+0xD183, -+0x0184, -+0x7000, -+0x0185, -+0x2408, -+0x0807, -+0x03E1, -+0x8DA1, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0x3000, -+0x01AF, -+0x0011, -+0x0174, -+0x0080, -+0x0800, -+0x0174, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x03F3, -+0x0C23, -+0x864B, -+0x0800, -+0x0174, -+0x3801, -+0x0802, -+0x003F, -+0x0803, -+0x00C0, -+0x5423, -+0xB3FD, -+0x83FF, -+0x5441, -+0xB409, -+0x0C4E, -+0x19BA, -+0x33AE, -+0xA409, -+0x1B33, -+0xA409, -+0x0C4F, -+0xD9BA, -+0x33AF, -+0x82EF, -+0x1B32, -+0xA42B, -+0x0180, -+0x01FF, -+0x0181, -+0x5555, -+0x0182, -+0x1400, -+0xD183, -+0x0184, -+0x7000, -+0x0185, -+0x2408, -+0x0807, -+0x0419, -+0x8E11, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0x3000, -+0x01AF, -+0x0012, -+0x0175, -+0x0080, -+0x0800, -+0x0175, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x042B, -+0x0C23, -+0x864B, -+0x0800, -+0x0175, -+0x3801, -+0x0802, -+0x003F, -+0x0803, -+0x00C0, -+0x5423, -+0xB435, -+0x8437, -+0x5441, -+0xB441, -+0x0C4E, -+0x19BA, -+0x33AE, -+0xA441, -+0x1B33, -+0xA441, -+0x0C4F, -+0xD9BA, -+0x33AF, -+0x82EF, -+0x1B32, -+0xA463, -+0x0180, -+0x01FF, -+0x0181, -+0x5555, -+0x0182, -+0x1400, -+0xD183, -+0x0184, -+0x7000, -+0x0185, -+0x2408, -+0x0807, -+0x0451, -+0x8E35, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0x3000, -+0x01AF, -+0x0013, -+0x0176, -+0x0080, -+0x0800, -+0x0176, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x0463, -+0x0C23, -+0x864B, -+0x0800, -+0x0176, -+0x3801, -+0x0802, -+0x003F, -+0x0803, -+0x00C0, -+0x5423, -+0xB46D, -+0x846F, -+0x5441, -+0xB479, -+0x0C4E, -+0x19BA, -+0x33AE, -+0xA479, -+0x1B33, -+0xA479, -+0x0C4F, -+0xD9BA, -+0x33AF, -+0x82EF, -+0x0C8F, -+0xD324, -+0x33AF, -+0x1B3D, -+0xA49E, -+0x0180, -+0x01FF, -+0x0181, -+0xAAAA, -+0x0182, -+0x2800, -+0xD183, -+0x0184, -+0x6800, -+0x0185, -+0x2408, -+0x0807, -+0x048C, -+0x8DEC, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0x3000, -+0x01AF, -+0x0014, -+0x0345, -+0x0080, -+0x0800, -+0x0345, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x049E, -+0x0C23, -+0x864B, -+0x1B3D, -+0xA4C0, -+0x0180, -+0x01FF, -+0x0181, -+0x5555, -+0x0182, -+0x1400, -+0xD183, -+0x0184, -+0x6800, -+0x0185, -+0x2408, -+0x0807, -+0x04AE, -+0x8E80, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0x3000, -+0x01AF, -+0x0015, -+0x0346, -+0x0080, -+0x0800, -+0x0346, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x04C0, -+0x0C23, -+0x864B, -+0x1B3E, -+0xA4DD, -+0x0800, -+0x00FB, -+0x1B45, -+0x31A1, -+0x1B46, -+0x31A2, -+0x5401, -+0xB4D2, -+0x5402, -+0xB4D2, -+0x0C80, -+0x5420, -+0xB4D2, -+0x5440, -+0xB4D2, -+0x84DD, -+0x0C2E, -+0x19BA, -+0x33AE, -+0xA4DD, -+0x0C8F, -+0xDB24, -+0x33AF, -+0x0C2F, -+0xD9BA, -+0x33AF, -+0x847C, -+0x0C4E, -+0x1BF4, -+0x33AE, -+0xA508, -+0x0180, -+0x01FF, -+0x0181, -+0xAAAA, -+0x0182, -+0x2800, -+0xD183, -+0x0184, -+0x7000, -+0x0185, -+0x2408, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0x3000, -+0x01AF, -+0x0010, -+0x0807, -+0x04F6, -+0x8EA5, -+0x01A8, -+0x0100, -+0xD1B5, -+0x01AC, -+0x3000, -+0x01AF, -+0x0010, -+0x034F, -+0x0080, -+0x0800, -+0x034F, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x0508, -+0x0C23, -+0x864B, -+0x1B4F, -+0x080F, -+0xFF00, -+0x297F, -+0x080F, -+0xFFFF, -+0x0C4E, -+0x1BF4, -+0x33AE, -+0xA539, -+0x0180, -+0x01FF, -+0x0181, -+0x5555, -+0x0182, -+0x1400, -+0xD183, -+0x0184, -+0x7000, -+0x0185, -+0x2408, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0x3000, -+0x01AF, -+0x0012, -+0x0807, -+0x0527, -+0x8EC9, -+0x01A8, -+0x0100, -+0xD1B5, -+0x01AC, -+0x3000, -+0x01AF, -+0x0012, -+0x0350, -+0x0080, -+0x0800, -+0x0350, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x0539, -+0x0C23, -+0x864B, -+0x1B50, -+0x080F, -+0x00FF, -+0x297F, -+0x080F, -+0xFFFF, -+0x0C2E, -+0x1B6F, -+0x33AE, -+0xA5CF, -+0x0CEE, -+0x1B0C, -+0x33AE, -+0x0800, -+0x0080, -+0x51A0, -+0x080F, -+0x07FF, -+0x29B0, -+0x33AF, -+0xD9B7, -+0x0800, -+0x0080, -+0x1BED, -+0x51A0, -+0x2969, -+0x31A0, -+0x01AF, -+0x0016, -+0x21AD, -+0xD9B6, -+0x0180, -+0x03FF, -+0xD981, -+0xD182, -+0xD183, -+0x0184, -+0x4000, -+0x0185, -+0x2408, -+0x01A8, -+0x0100, -+0xD1B5, -+0x01AC, -+0x9346, -+0x01AF, -+0x001B, -+0x03FC, -+0x0080, -+0x0800, -+0x03FC, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x0573, -+0x0C23, -+0x864B, -+0x01A8, -+0x0100, -+0xD1B5, -+0x01AC, -+0x90DA, -+0x01AF, -+0x0003, -+0x03FD, -+0x0080, -+0x0800, -+0x03FD, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x0585, -+0x0C03, -+0x864B, -+0x0180, -+0x01FF, -+0x0181, -+0xAAAA, -+0x0182, -+0x2800, -+0xD183, -+0x0184, -+0x6C00, -+0x0185, -+0x2408, -+0x0807, -+0x0593, -+0x8DC7, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0x3000, -+0x01AF, -+0x0016, -+0x03ED, -+0x0080, -+0x0800, -+0x03ED, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x05A5, -+0x0C23, -+0x864B, -+0x0180, -+0x01FF, -+0x0181, -+0x5555, -+0x0182, -+0x1400, -+0xD183, -+0x0184, -+0x6C00, -+0x0185, -+0x2408, -+0x0807, -+0x05B3, -+0x8E5B, -+0x01A8, -+0x0140, -+0xD1B5, -+0x01AC, -+0x3000, -+0x01AF, -+0x0018, -+0x03EE, -+0x0080, -+0x0800, -+0x03EE, -+0x01AD, -+0x0080, -+0xD9B6, -+0x0807, -+0x05C5, -+0x0C23, -+0x864B, -+0x1BEE, -+0x31A0, -+0x1BED, -+0x31A1, -+0x197A, -+0x55A0, -+0x2BEE, -+0x1979, -+0x55A1, -+0x2BED, -+0x080E, -+0x07F8, -+0x1B0C, -+0x33AE, -+0x080F, -+0x07F8, -+0x29B0, -+0x33AF, -+0xD9B7, -+0x080F, -+0x0800, -+0xD1B0, -+0x33AF, -+0xD9B7, -+0x01A8, -+0x0140, -+0x1973, -+0x29AD, -+0x01AF, -+0x0010, -+0xD9B6, -+0x1974, -+0x29AD, -+0x01AF, -+0x0011, -+0xD9B6, -+0x1979, -+0x29AD, -+0x01AF, -+0x0016, -+0xD9B6, -+0x1B45, -+0x29AD, -+0x01AF, -+0x0014, -+0xD9B6, -+0x1975, -+0x29AD, -+0x01AF, -+0x0012, -+0xD9B6, -+0x1976, -+0x29AD, -+0x01AF, -+0x0013, -+0xD9B6, -+0x197A, -+0x29AD, -+0x01AF, -+0x0018, -+0xD9B6, -+0x1B46, -+0x29AD, -+0x01AF, -+0x0015, -+0xD9B6, -+0x1973, -+0x2B4B, -+0x1974, -+0x2B4C, -+0x1979, -+0x2B51, -+0x080F, -+0xFF00, -+0x2BEF, -+0x080F, -+0x00FF, -+0x2BEF, -+0x33AF, -+0x1975, -+0x2B4D, -+0x1976, -+0x2B4E, -+0x197A, -+0x2B52, -+0x080F, -+0xFF00, -+0x2BF0, -+0x080F, -+0x00FF, -+0x2BF0, -+0x33AF, -+0x01A8, -+0x0100, -+0x1B4F, -+0x29AD, -+0x01AF, -+0x0010, -+0xD9B6, -+0x1B50, -+0x29AD, -+0x01AF, -+0x0012, -+0xD9B6, -+0x1B41, -+0x29AD, -+0x01AF, -+0x0002, -+0xD9B6, -+0x1B42, -+0x29AD, -+0x01AF, -+0x0003, -+0xD9B6, -+0x33FE, -+0x0C3F, -+0x804B, -+0xD1AC, -+0x01B3, -+0x0077, -+0xD100, -+0xD1A8, -+0xD1AE, -+0x8646, -+0x33FE, -+0x0C3F, -+0x804D, -+0xD1A8, -+0xD9B6, -+0x080F, -+0x0400, -+0xD185, -+0x33AF, -+0x9006, -+0x0804, -+0x0040, -+0x5C03, -+0xA650, -+0x8653, -+0x0CE1, -+0x7080, -+0x8655, -+0x0CC1, -+0x7080, -+0x6660, -+0x0C42, -+0x5443, -+0xB65B, -+0x6260, -+0x8678, -+0xA669, -+0x080E, -+0x7FFF, -+0x198A, -+0x33AE, -+0x31A2, -+0x4022, -+0x080E, -+0x7FFF, -+0x1986, -+0x33AE, -+0x426D, -+0x55A2, -+0x8678, -+0x080E, -+0x7FFF, -+0x1986, -+0x33AE, -+0x31A2, -+0x4022, -+0x426D, -+0x55A2, -+0x31A2, -+0x080E, -+0x7FFF, -+0x198A, -+0x33AE, -+0x402D, -+0x544D, -+0xB680, -+0x0C02, -+0x55A2, -+0x31A5, -+0x380D, -+0x3802, -+0x548D, -+0x8686, -+0x31A5, -+0x3802, -+0xA684, -+0x8691, -+0x380D, -+0x508D, -+0x35A0, -+0x29AD, -+0xD9B6, -+0x5C03, -+0xA68E, -+0x0C37, -+0x700F, -+0x8693, -+0x0C17, -+0x700F, -+0x8693, -+0x31A5, -+0x3802, -+0x4224, -+0x5C21, -+0xA655, -+0x0C81, -+0x6660, -+0x0C44, -+0x5483, -+0xB69D, -+0x6260, -+0x86BA, -+0xA6AB, -+0x080E, -+0x7FFF, -+0x198A, -+0x33AE, -+0x31A4, -+0x4024, -+0x080E, -+0x7FFF, -+0x1986, -+0x33AE, -+0x426D, -+0x55A4, -+0x86BA, -+0x080E, -+0x7FFF, -+0x1986, -+0x33AE, -+0x31A4, -+0x4024, -+0x426D, -+0x55A4, -+0x31A4, -+0x080E, -+0x7FFF, -+0x198A, -+0x33AE, -+0x402D, -+0x548D, -+0x31A4, -+0xB6CD, -+0x0C04, -+0x55A4, -+0x31A4, -+0x54A4, -+0xB6C3, -+0x3085, -+0x3802, -+0x32ED, -+0xA6C8, -+0x380D, -+0x5C2D, -+0x86CA, -+0x380D, -+0x5C4D, -+0x31A4, -+0xB6DB, -+0x86EF, -+0x54A4, -+0xB6D1, -+0x3085, -+0x3802, -+0x32ED, -+0xA6D6, -+0x380D, -+0x582D, -+0x86D8, -+0x380D, -+0x584D, -+0x31A4, -+0x430D, -+0xA6EF, -+0x5C21, -+0xA6E4, -+0x3804, -+0x5482, -+0xA6E1, -+0x86EF, -+0x3440, -+0x304D, -+0x86E6, -+0x3480, -+0x308D, -+0x29AD, -+0xD9B6, -+0x5C03, -+0xA6EC, -+0x700F, -+0x86ED, -+0x700F, -+0x5C01, -+0xA697, -+0x33DF, -+0x9007, -+0x1B36, -+0xA709, -+0xD35E, -+0x038D, -+0x0030, -+0xD10D, -+0x010D, -+0x0002, -+0x0306, -+0x000C, -+0x0C2E, -+0x1919, -+0x33AE, -+0xA700, -+0x86FB, -+0x0306, -+0x0008, -+0x0C2E, -+0x1919, -+0x33AE, -+0xA702, -+0x0305, -+0x000C, -+0xD10D, -+0x038D, -+0x0030, -+0x1B38, -+0xA711, -+0x080F, -+0x0080, -+0xD37B, -+0x33AF, -+0xD38D, -+0x1B38, -+0xA716, -+0x0C6C, -+0x871E, -+0x1B34, -+0xA71D, -+0x080E, -+0x01E0, -+0x131C, -+0x33AE, -+0x871E, -+0x0C0C, -+0x33FE, -+0x0C3F, -+0x8946, -+0x1B49, -+0x2B47, -+0x038D, -+0x0030, -+0xD1A8, -+0xD161, -+0x0162, -+0x0042, -+0x0163, -+0x0060, -+0xD164, -+0xD165, -+0x0167, -+0x21A2, -+0x1BEE, -+0x2BCD, -+0x1BED, -+0x2BCC, -+0x13CD, -+0x1B52, -+0x518D, -+0x31AC, -+0x430D, -+0xA73B, -+0x318D, -+0x873D, -+0x080D, -+0x00FF, -+0x31A1, -+0x080F, -+0xFF00, -+0x2969, -+0x33AF, -+0x13CC, -+0x1B51, -+0x518D, -+0x31AC, -+0x430D, -+0xA74A, -+0x318D, -+0x874C, -+0x080D, -+0x00FF, -+0x31A1, -+0x080F, -+0x00FF, -+0x2969, -+0x33AF, -+0x0181, -+0xFFFF, -+0x0182, -+0x3C02, -+0x0183, -+0x0800, -+0x0184, -+0x7060, -+0x0185, -+0x2402, -+0x1B67, -+0x2980, -+0x1B68, -+0x2960, -+0x1B69, -+0x2966, -+0x1B6A, -+0x2968, -+0x1B36, -+0xA76B, -+0x0807, -+0x076A, -+0x33FE, -+0x0C1F, -+0x89C5, -+0x6C00, -+0xD162, -+0x0163, -+0x001F, -+0x0182, -+0x3C23, -+0x0183, -+0x0087, -+0x0184, -+0x7068, -+0x0185, -+0x247C, -+0x1B6B, -+0x2980, -+0x1B6C, -+0x2960, -+0x1B6D, -+0x2966, -+0x1B6E, -+0x2968, -+0x1B36, -+0xA781, -+0x6C00, -+0x0182, -+0x3C02, -+0x0183, -+0x0800, -+0x0184, -+0x7060, -+0x0185, -+0x2402, -+0x0162, -+0x0042, -+0x0163, -+0x0060, -+0x0167, -+0x39C0, -+0x1B7C, -+0x2980, -+0x1B7D, -+0x2960, -+0x1B7E, -+0x2966, -+0x1B7F, -+0x2968, -+0x1B36, -+0xA7E0, -+0x0807, -+0x079E, -+0x33FE, -+0x0C1F, -+0x89C5, -+0x6C00, -+0x080E, -+0x4000, -+0x1B6F, -+0x33AE, -+0xA7E0, -+0x080E, -+0x03C0, -+0x196C, -+0x33AE, -+0x5CED, -+0xB7E0, -+0x0180, -+0x01FF, -+0x080F, -+0x03E0, -+0x0182, -+0x0002, -+0x33AF, -+0x6620, -+0xB7B4, -+0x87E0, -+0xA7B6, -+0x87E0, -+0x080F, -+0x3FFF, -+0xD160, -+0x33AF, -+0x080F, -+0x0038, -+0x0166, -+0x0005, -+0x33AF, -+0x080E, -+0x03C0, -+0x196C, -+0x33AE, -+0x402D, -+0x31A0, -+0x080E, -+0x003F, -+0x196C, -+0x33AE, -+0xA7CC, -+0x5820, -+0x87CD, -+0x5840, -+0x31A0, -+0x080F, -+0x7C00, -+0x2167, -+0x080F, -+0x03E0, -+0x2167, -+0x33AF, -+0x1169, -+0x3181, -+0x080F, -+0x1000, -+0xD166, -+0x33AF, -+0x0169, -+0xFFFF, -+0x6C00, -+0x302D, -+0x2969, -+0x1969, -+0x2BF7, -+0x080E, -+0x0020, -+0x1B6F, -+0x33AE, -+0xA7EA, -+0x33FE, -+0x0C3F, -+0x8BA3, -+0x080F, -+0x7C00, -+0xD3F6, -+0x33AF, -+0xD3F8, -+0xD3F9, -+0xD3FA, -+0x080E, -+0x8000, -+0x1BF6, -+0x33AE, -+0xA891, -+0x0CC0, -+0x0D61, -+0x0C22, -+0x0C23, -+0x0804, -+0x00F5, -+0x0807, -+0x0801, -+0x33FE, -+0x0C3F, -+0x89E6, -+0x31B8, -+0x080F, -+0xFF00, -+0x2BF8, -+0x33AF, -+0x0CC0, -+0x0D61, -+0x0C22, -+0x0C23, -+0x0804, -+0x00F5, -+0x0807, -+0x0811, -+0x33FE, -+0x0C3F, -+0x8A57, -+0x31B9, -+0x080F, -+0x00FF, -+0x2BF8, -+0x33AF, -+0x0C40, -+0x0D61, -+0x0C22, -+0x0C23, -+0x0804, -+0x00F5, -+0x0807, -+0x0821, -+0x33FE, -+0x0C3F, -+0x89E6, -+0x31BA, -+0x080F, -+0xFF00, -+0x2BF9, -+0x33AF, -+0x0C40, -+0x0D61, -+0x0C22, -+0x0C23, -+0x0804, -+0x00F5, -+0x0807, -+0x0831, -+0x33FE, -+0x0C3F, -+0x8A57, -+0x31BB, -+0x080F, -+0x00FF, -+0x2BF9, -+0x33AF, -+0x0807, -+0x083B, -+0x33FE, -+0x0C3F, -+0x8AC8, -+0x080E, -+0x0400, -+0x1BF6, -+0x33AE, -+0xA841, -+0x8891, -+0x080E, -+0x6000, -+0x1BF6, -+0x33AE, -+0x5C2D, -+0xA848, -+0x8868, -+0x0CC0, -+0x0C61, -+0x0D02, -+0x0C03, -+0x0804, -+0x00FF, -+0x0807, -+0x0853, -+0x33FE, -+0x0C3F, -+0x89E6, -+0x31B8, -+0x080F, -+0xFF00, -+0x2BFA, -+0x33AF, -+0x0C80, -+0x0D61, -+0x0D02, -+0x0C03, -+0x0C04, -+0x0807, -+0x0862, -+0x33FE, -+0x0C3F, -+0x89E6, -+0x31BA, -+0x080F, -+0x00FF, -+0x2BFA, -+0x33AF, -+0x8887, -+0x0CC0, -+0x0C61, -+0x0D02, -+0x0C03, -+0x0804, -+0x00FF, -+0x0807, -+0x0873, -+0x33FE, -+0x0C3F, -+0x8A57, -+0x31B9, -+0x080F, -+0xFF00, -+0x2BFA, -+0x33AF, -+0x0C80, -+0x0D61, -+0x0D02, -+0x0C03, -+0x0C04, -+0x0807, -+0x0882, -+0x33FE, -+0x0C3F, -+0x8A57, -+0x31BB, -+0x080F, -+0x00FF, -+0x2BFA, -+0x33AF, -+0x0807, -+0x088C, -+0x33FE, -+0x0C3F, -+0x8B11, -+0x0807, -+0x0891, -+0x33FE, -+0x0C3F, -+0x8B34, -+0x080E, -+0x0400, -+0x1BF6, -+0x33AE, -+0xA8E9, -+0x0181, -+0xFFFF, -+0x0182, -+0x3C06, -+0x0183, -+0x0800, -+0x0184, -+0x7060, -+0x0185, -+0x247E, -+0x0161, -+0x0009, -+0x0162, -+0x00C2, -+0x0163, -+0x7F80, -+0xD164, -+0xD165, -+0x0167, -+0x21A2, -+0x1BF7, -+0x2969, -+0x1BE0, -+0x2980, -+0x1BE1, -+0x2960, -+0x1BE2, -+0x2966, -+0x1BE3, -+0x2968, -+0x1B37, -+0xA8E9, -+0x0807, -+0x08BB, -+0x33FE, -+0x0C1F, -+0x89C5, -+0x6C00, -+0x080E, -+0xFF00, -+0x197B, -+0x33AE, -+0x31A1, -+0x080E, -+0x4000, -+0x1963, -+0x33AE, -+0xA8C7, -+0x88D0, -+0x0807, -+0x08CA, -+0x8D52, -+0x31A2, -+0xA8CE, -+0x5461, -+0x88CF, -+0x5061, -+0x31A1, -+0x1351, -+0x302D, -+0x558D, -+0x2BCC, -+0x080E, -+0x00FF, -+0x197B, -+0x33AE, -+0x31A1, -+0x080E, -+0x4000, -+0x1963, -+0x33AE, -+0xA8DF, -+0x88E5, -+0x304D, -+0xA8E3, -+0x5461, -+0x88E4, -+0x5061, -+0x31A1, -+0x1352, -+0x302D, -+0x558D, -+0x2BCD, -+0x33FE, -+0x0C3F, -+0x86CB, -+0x0182, -+0x3C06, -+0x0183, -+0x0800, -+0x0185, -+0x247E, -+0x0163, -+0x7F80, -+0x1BE4, -+0x2980, -+0x1BE5, -+0x2960, -+0x1BE6, -+0x2966, -+0x1BE7, -+0x2968, -+0x080E, -+0x0400, -+0x1BF6, -+0x33AE, -+0xA902, -+0x891D, -+0x080F, -+0x0F80, -+0x0163, -+0x001E, -+0x33AF, -+0x080E, -+0x0800, -+0x1BF6, -+0x33AE, -+0xA912, -+0x080E, -+0x1000, -+0x1BF6, -+0x33AE, -+0xA918, -+0x891D, -+0x080F, -+0x03E0, -+0x0182, -+0x0002, -+0x33AF, -+0x891D, -+0x080F, -+0x03E0, -+0x0182, -+0x0006, -+0x33AF, -+0x1B37, -+0xA962, -+0x13CD, -+0x410C, -+0x1BCC, -+0x518D, -+0x31A1, -+0x1352, -+0x410C, -+0x502C, -+0x31A2, -+0x1352, -+0x410C, -+0x502C, -+0x31A2, -+0x1351, -+0x504C, -+0x2969, -+0x0807, -+0x0934, -+0x33FE, -+0x0C1F, -+0x89C5, -+0x6C00, -+0x080E, -+0xFF00, -+0x197B, -+0x33AE, -+0x31A1, -+0x080E, -+0x4000, -+0x1963, -+0x33AE, -+0xA940, -+0x8949, -+0x0807, -+0x0943, -+0x8D52, -+0x31A2, -+0xA947, -+0x5461, -+0x8948, -+0x5061, -+0x31A1, -+0x1351, -+0x302D, -+0x558D, -+0x2BCC, -+0x080E, -+0x00FF, -+0x197B, -+0x33AE, -+0x31A1, -+0x080E, -+0x4000, -+0x1963, -+0x33AE, -+0xA958, -+0x895E, -+0x304D, -+0xA95C, -+0x5461, -+0x895D, -+0x5061, -+0x31A1, -+0x1352, -+0x302D, -+0x558D, -+0x2BCD, -+0x080E, -+0x0020, -+0x1B6F, -+0x33AE, -+0xA96A, -+0x33FE, -+0x0C3F, -+0x8C25, -+0x080E, -+0x0020, -+0x1B6F, -+0x33AE, -+0xA976, -+0x33FE, -+0x0C3F, -+0x8D47, -+0x2BCB, -+0x13CB, -+0x3180, -+0x2311, -+0x33FE, -+0x0C3F, -+0x80F0, -+0x038D, -+0x0030, -+0xDB5E, -+0x1B38, -+0xA982, -+0x080F, -+0x0080, -+0xDB7B, -+0x33AF, -+0xD10D, -+0x010D, -+0x0002, -+0x0306, -+0x000C, -+0x0C2E, -+0x1919, -+0x33AE, -+0xA98C, -+0x8987, -+0xD306, -+0x0C2E, -+0x1919, -+0x33AE, -+0xA98D, -+0x0305, -+0x000C, -+0xD10D, -+0x8998, -+0x038D, -+0x0030, -+0xDB5E, -+0xD38D, -+0xDB10, -+0x1B86, -+0xA99D, -+0x899A, -+0xD310, -+0xDB8C, -+0x080F, -+0x0400, -+0xD185, -+0x33AF, -+0x9006, -+0x038D, -+0x0029, -+0x1BC5, -+0xA9A9, -+0x89BE, -+0x1B5E, -+0xA9AC, -+0x89BE, -+0x0D0E, -+0x1913, -+0x33AE, -+0xA9AC, -+0x080E, -+0x01FC, -+0x1BF6, -+0x33AE, -+0x31B7, -+0xAA12, -+0x89BB, -+0x0C2D, -+0x55B7, -+0x31B7, -+0xAA1C, -+0x0C4F, -+0xDBF6, -+0x33AF, -+0x080F, -+0x0400, -+0xD185, -+0x33AF, -+0x8A77, -+0x0167, -+0x21A2, -+0x1B33, -+0xA9DD, -+0x0C21, -+0x0C42, -+0x13F2, -+0x542C, -+0xA9D4, -+0x0181, -+0xAAAA, -+0x080F, -+0x3C00, -+0x0182, -+0x000A, -+0x33AF, -+0x89DD, -+0x544C, -+0xA9DD, -+0x0181, -+0x5555, -+0x080F, -+0x3C00, -+0x0182, -+0x0005, -+0x33AF, -+0x33DF, -+0x9007, -+0x038D, -+0x0029, -+0x1BC5, -+0xA9E6, -+0x1BC6, -+0xA9E6, -+0x8A09, -+0x7FFF, -+0x0D0E, -+0x1913, -+0x33AE, -+0xA9E7, -+0x1BC5, -+0xA9EE, -+0x89F1, -+0x0806, -+0x09F1, -+0x8A0F, -+0x1BC6, -+0xA9F4, -+0x8A09, -+0x1BF1, -+0x31BC, -+0x2BCC, -+0x430D, -+0x2BCD, -+0x0806, -+0x0A03, -+0x080E, -+0x0020, -+0x1BF3, -+0x33AE, -+0xAA03, -+0x33FE, -+0x0C3F, -+0x82BD, -+0x0806, -+0x0A08, -+0x1B30, -+0xAA08, -+0x8AB4, -+0x8EED, -+0xD38D, -+0x080F, -+0x0400, -+0xD185, -+0x33AF, -+0x807A, -+0x1B59, -+0xAA12, -+0x8A09, -+0x0C2F, -+0xDB75, -+0x33AF, -+0x0C6F, -+0x010D, -+0x0002, -+0x33AF, -+0xD3A6, -+0x03A6, -+0x000A, -+0x0180, -+0x7D00, -+0xD981, -+0xD182, -+0xD183, -+0xD184, -+0x0185, -+0x2408, -+0x01AC, -+0xA080, -+0x01AF, -+0x0002, -+0x0800, -+0x0341, -+0x0C01, -+0x0C62, -+0xD9AE, -+0x0807, -+0x0A32, -+0x1B3A, -+0xAA32, -+0x8A82, -+0x01AC, -+0xA0C0, -+0x01AF, -+0x0003, -+0x0800, -+0x0342, -+0x0C01, -+0x0C62, -+0x0807, -+0x0A3F, -+0x1B3A, -+0xAA3F, -+0x8A82, -+0x0C4E, -+0x1BF6, -+0x33AE, -+0xAA45, -+0x1B5E, -+0xA9B7, -+0x01AC, -+0x2000, -+0x0180, -+0x7D00, -+0x0181, -+0x5555, -+0x0182, -+0x1446, -+0x0183, -+0x010D, -+0x0184, -+0x2800, -+0x0185, -+0x6410, -+0xD1AC, -+0x01AF, -+0x0014, -+0x0800, -+0x0345, -+0x0C21, -+0x0C62, -+0x0807, -+0x0A5F, -+0x1B39, -+0xAA5F, -+0x8A82, -+0x0180, -+0x7D00, -+0x0181, -+0xAAAA, -+0x0182, -+0x2846, -+0x0183, -+0x010D, -+0x0184, -+0x2800, -+0x0185, -+0x6410, -+0xD1AC, -+0x01AF, -+0x0015, -+0x0800, -+0x0346, -+0x0C21, -+0x0C62, -+0x0807, -+0x0A77, -+0x1B39, -+0xAA77, -+0x8A82, -+0xD1AE, -+0xD1AC, -+0xD3A6, -+0x7000, -+0x0C6F, -+0xD10D, -+0x33AF, -+0x0C2F, -+0xD375, -+0x33AF, -+0x9006, -+0x380D, -+0x29AD, -+0xD9B6, -+0x7080, -+0x667C, -+0x302D, -+0xAA8F, -+0x080E, -+0x7FFF, -+0x198A, -+0x1186, -+0x33AE, -+0x8A94, -+0x080E, -+0x7FFF, -+0x198B, -+0x1186, -+0x33AE, -+0x402D, -+0x31A3, -+0x3184, -+0x3185, -+0x304D, -+0xAA9B, -+0x8A9E, -+0x4225, -+0x5C22, -+0x8A98, -+0x5085, -+0x546D, -+0xBAA2, -+0x8AAB, -+0x54A4, -+0x55A3, -+0xBAA6, -+0x8AA7, -+0x9007, -+0x5E20, -+0xBAB0, -+0x3580, -+0x9007, -+0x5A20, -+0x31A2, -+0x430D, -+0xAAA9, -+0x304D, -+0x29AD, -+0xD9B6, -+0x700F, -+0x9007, -+0x1B5E, -+0xAAB7, -+0x8A09, -+0x080E, -+0x8000, -+0x1BEB, -+0x33AE, -+0xAB44, -+0x0180, -+0x7D00, -+0x0181, -+0xFFFF, -+0x0182, -+0x3C23, -+0x0183, -+0x0087, -+0x0184, -+0x3068, -+0x0185, -+0x647C, -+0xD160, -+0xD161, -+0xD162, -+0x0163, -+0x001F, -+0x0164, -+0x000A, -+0xD165, -+0x0166, -+0x7800, -+0x0167, -+0x21A2, -+0xD168, -+0x0169, -+0xB7B7, -+0x0D0C, -+0x080E, -+0x03E0, -+0x196D, -+0x33AE, -+0x55AC, -+0xAB42, -+0x0180, -+0x1964, -+0x6620, -+0x0C00, -+0x0C01, -+0x080E, -+0x7FFF, -+0x1186, -+0x33AE, -+0x080D, -+0x0100, -+0x518D, -+0x31AC, -+0x0C2E, -+0x1963, -+0x33AE, -+0xAAF0, -+0x8AF8, -+0x080E, -+0x7FFF, -+0x1989, -+0x33AE, -+0x500D, -+0x31A0, -+0x5181, -+0x31A1, -+0x0C4E, -+0x1963, -+0x33AE, -+0xAAFD, -+0x8B05, -+0x080E, -+0x7FFF, -+0x198A, -+0x33AE, -+0x500D, -+0x31A0, -+0x5181, -+0x31A1, -+0x0C8E, -+0x1963, -+0x33AE, -+0xAB0A, -+0x8B12, -+0x080E, -+0x7FFF, -+0x198B, -+0x33AE, -+0x500D, -+0x31A0, -+0x5181, -+0x31A1, -+0x0D0E, -+0x1963, -+0x33AE, -+0xAB17, -+0x8B1F, -+0x080E, -+0x7FFF, -+0x198C, -+0x33AE, -+0x500D, -+0x31A0, -+0x5181, -+0x31A1, -+0x0E0E, -+0x1963, -+0x33AE, -+0xAB24, -+0x8B2C, -+0x080E, -+0x7FFF, -+0x198D, -+0x33AE, -+0x500D, -+0x31A0, -+0x5181, -+0x31A1, -+0x422D, -+0x540D, -+0xBB44, -+0x080F, -+0x03FF, -+0x0182, -+0x0084, -+0x33AF, -+0x0C2F, -+0xD183, -+0x33AF, -+0x080F, -+0x0020, -+0xD184, -+0x33AF, -+0x0FEF, -+0xD963, -+0x33AF, -+0x0180, -+0x7D00, -+0x6C00, -+0x8B44, -+0xBB44, -+0x6C00, -+0x13EE, -+0x319A, -+0x410C, -+0x1BED, -+0x31BB, -+0x518D, -+0x31BC, -+0x1B3C, -+0xAC2C, -+0x0180, -+0x07FF, -+0x0181, -+0xFFFF, -+0x0182, -+0x3C06, -+0x0183, -+0x0800, -+0x0184, -+0x3060, -+0x0185, -+0x6402, -+0x0160, -+0x0C07, -+0xD161, -+0x0162, -+0x0042, -+0x0163, -+0x3000, -+0xD164, -+0xD165, -+0x0166, -+0x7828, -+0x0167, -+0x21A2, -+0xD168, -+0x0807, -+0x0B6C, -+0x33FE, -+0x0C1F, -+0x89C5, -+0x0FEF, -+0x0182, -+0x0002, -+0x33AF, -+0x1352, -+0x1BEE, -+0x518D, -+0x31AC, -+0x430D, -+0xAB78, -+0x318D, -+0x8B7A, -+0x080D, -+0x00FF, -+0x31A1, -+0x080F, -+0xFF00, -+0x2969, -+0x33AF, -+0x1351, -+0x1BED, -+0x518D, -+0x31AC, -+0x430D, -+0xAB87, -+0x318D, -+0x8B89, -+0x080D, -+0x00FF, -+0x31A1, -+0x080F, -+0x00FF, -+0x2969, -+0x33AF, -+0x6C00, -+0x1351, -+0x080E, -+0xFF00, -+0x197B, -+0x33AE, -+0x558D, -+0xBB98, -+0x0C1B, -+0x8B99, -+0x31BB, -+0x1352, -+0x080E, -+0x00FF, -+0x197B, -+0x33AE, -+0x558D, -+0xBBA2, -+0x0C1A, -+0x8BA3, -+0x31BA, -+0x0180, -+0x7D00, -+0x0181, -+0xFFFF, -+0x0182, -+0x3C02, -+0x0183, -+0x0800, -+0x0184, -+0x3060, -+0x0185, -+0x6402, -+0xD160, -+0xD161, -+0x0162, -+0x0042, -+0x0163, -+0x0060, -+0x0164, -+0x00D0, -+0xD165, -+0x0166, -+0x7800, -+0x0167, -+0x21A2, -+0xD168, -+0x13CD, -+0x1B52, -+0x518D, -+0x31AC, -+0x430D, -+0xABC5, -+0x318D, -+0x8BC7, -+0x080D, -+0x00FF, -+0x31A1, -+0x080F, -+0xFF00, -+0x2969, -+0x33AF, -+0x13CC, -+0x1B51, -+0x518D, -+0x31AC, -+0x430D, -+0xABD4, -+0x318D, -+0x8BD6, -+0x080D, -+0x00FF, -+0x31A1, -+0x080F, -+0x00FF, -+0x2969, -+0x33AF, -+0x0807, -+0x0BE0, -+0x33FE, -+0x0C1F, -+0x89C5, -+0xD160, -+0x080F, -+0x0038, -+0x0166, -+0x0005, -+0x080F, -+0x1000, -+0xD166, -+0x080F, -+0x0E00, -+0x0166, -+0x0004, -+0x33AF, -+0x1BED, -+0x31A2, -+0x545B, -+0xBC0E, -+0x080E, -+0x03C0, -+0x196C, -+0x33AE, -+0x402D, -+0x31A0, -+0x080E, -+0x003F, -+0x196C, -+0x33AE, -+0xABFE, -+0x5820, -+0x8BFF, -+0x5840, -+0x31A0, -+0x0DC4, -+0x5404, -+0xBC04, -+0x0DC0, -+0x080F, -+0x7C00, -+0x2167, -+0x080F, -+0x03E0, -+0x2167, -+0x33AF, -+0x0169, -+0xFFFF, -+0x8C2B, -+0x1BED, -+0x590D, -+0x576D, -+0xBC2C, -+0x080E, -+0x03C0, -+0x196C, -+0x33AE, -+0x402D, -+0x31A0, -+0x080E, -+0x003F, -+0x196C, -+0x33AE, -+0xAC21, -+0x5C20, -+0xBC20, -+0x0C0D, -+0x31A0, -+0x080F, -+0x7C00, -+0x2167, -+0x080F, -+0x03E0, -+0x2167, -+0x0FEF, -+0x2167, -+0x33AF, -+0xD169, -+0x6C00, -+0x1B3B, -+0xAC7E, -+0x0180, -+0x07FF, -+0x0181, -+0xFFFF, -+0x0182, -+0x3C06, -+0x0183, -+0x0800, -+0x0184, -+0x3060, -+0x0185, -+0x6402, -+0x0160, -+0x0C07, -+0xD161, -+0x0162, -+0x0042, -+0x0163, -+0x3000, -+0xD164, -+0xD165, -+0x0166, -+0x7828, -+0x0167, -+0x21A2, -+0xD168, -+0x1352, -+0x519A, -+0x31AC, -+0x430D, -+0xAC4F, -+0x318D, -+0x8C51, -+0x080D, -+0x00FF, -+0x31A1, -+0x080F, -+0xFF00, -+0x2969, -+0x33AF, -+0x1351, -+0x519B, -+0x31AC, -+0x430D, -+0xAC5D, -+0x318D, -+0x8C5F, -+0x080D, -+0x00FF, -+0x31A1, -+0x080F, -+0x00FF, -+0x2969, -+0x33AF, -+0x0807, -+0x0C69, -+0x33FE, -+0x0C1F, -+0x89C5, -+0x6C00, -+0x1351, -+0x080E, -+0xFF00, -+0x197B, -+0x33AE, -+0x558D, -+0xBC73, -+0x0C1B, -+0x8C74, -+0x31BB, -+0x1352, -+0x080E, -+0x00FF, -+0x197B, -+0x33AE, -+0x558D, -+0xBC7D, -+0x0C1A, -+0x8C7E, -+0x31BA, -+0x080E, -+0x0040, -+0x1BF3, -+0x33AE, -+0xACB2, -+0x0180, -+0x7D00, -+0x0181, -+0xFFFF, -+0x0182, -+0x3C06, -+0x0183, -+0x0800, -+0x0184, -+0x3060, -+0x0185, -+0x647C, -+0xD160, -+0x0161, -+0x0009, -+0x0162, -+0x0042, -+0x0163, -+0x0F00, -+0x0164, -+0xA000, -+0x0165, -+0x0999, -+0x0166, -+0x7800, -+0x0167, -+0x21A2, -+0xD168, -+0x334C, -+0x410C, -+0x336D, -+0x518D, -+0x31BC, -+0x1352, -+0x410C, -+0x3381, -+0x502C, -+0x31A2, -+0x1351, -+0x504C, -+0x2969, -+0x0807, -+0x0CB1, -+0x33FE, -+0x0C1F, -+0x89C5, -+0x6C00, -+0x196B, -+0x2B5A, -+0x196D, -+0x2B5C, -+0x196C, -+0x2B5B, -+0x196E, -+0x2B5D, -+0x196F, -+0x2B60, -+0x1970, -+0x2B61, -+0x1971, -+0x2B62, -+0x1972, -+0x2B63, -+0x8CC3, -+0x33FE, -+0x0C3F, -+0x8000, -+0x9006, -+0x080E, -+0x3000, -+0x1913, -+0x080E, -+0xFFFF, -+0xACCE, -+0x9006, -+0x19B3, -+0x0800, -+0x0077, -+0x540D, -+0xACD4, -+0x8D51, -+0xD9AE, -+0x01AF, -+0x0010, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0802, -+0x034B, -+0x3C40, -+0x0807, -+0x0CE1, -+0x8D52, -+0x0807, -+0x0CE5, -+0x0C04, -+0x8D64, -+0x01AF, -+0x0012, -+0x0800, -+0x0348, -+0x0801, -+0x0348, -+0x0802, -+0x034D, -+0x3C40, -+0x0807, -+0x0CF1, -+0x8D52, -+0x0807, -+0x0CF5, -+0x0C04, -+0x8D64, -+0x01AF, -+0x0011, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0802, -+0x034C, -+0x3C40, -+0x0807, -+0x0D01, -+0x8D52, -+0x0807, -+0x0D05, -+0x0C24, -+0x8D64, -+0x01AF, -+0x0013, -+0x0800, -+0x0348, -+0x0801, -+0x0348, -+0x0802, -+0x034E, -+0x3C40, -+0x0807, -+0x0D11, -+0x8D52, -+0x0807, -+0x0D15, -+0x0C24, -+0x8D64, -+0x19B3, -+0x31A4, -+0x0805, -+0x01EE, -+0x54A4, -+0xAD1C, -+0x8D3F, -+0x0805, -+0x01CC, -+0x54A4, -+0xAD21, -+0x8D41, -+0x0805, -+0x0144, -+0x54A4, -+0xAD26, -+0x8D43, -+0x0805, -+0x0188, -+0x54A4, -+0xAD2B, -+0x8D46, -+0x0805, -+0x0100, -+0x54A4, -+0xAD30, -+0x8D48, -+0x0805, -+0x0111, -+0x54A4, -+0xAD35, -+0x8D4A, -+0x0805, -+0x0155, -+0x54A4, -+0xAD3A, -+0x8D4C, -+0x0805, -+0x0177, -+0x54A4, -+0xAD4E, -+0x8D4E, -+0x01B3, -+0x01CC, -+0x01B3, -+0x0144, -+0x01B3, -+0x0155, -+0x8D4C, -+0x01B3, -+0x0100, -+0x01B3, -+0x0111, -+0x01B3, -+0x0155, -+0x01B3, -+0x0177, -+0x01B3, -+0x0077, -+0xD1AE, -+0x9006, -+0x080E, -+0x1FE0, -+0x196E, -+0x33AE, -+0x31A3, -+0x080E, -+0x1000, -+0x196E, -+0x33AE, -+0x31A4, -+0xAD5E, -+0x8D62, -+0x080D, -+0x0100, -+0x546D, -+0x31A3, -+0x308D, -+0x9007, -+0xAD68, -+0x308D, -+0xAD72, -+0x8D6B, -+0x308D, -+0xAD6B, -+0x8D72, -+0x3805, -+0x5065, -+0x31A4, -+0x430D, -+0xAD79, -+0x308D, -+0x8D76, -+0x3805, -+0x5465, -+0xBD76, -+0x8D79, -+0x3C02, -+0x35A1, -+0x8D7A, -+0x384D, -+0x29AD, -+0xD9B6, -+0x9007, -+0x01AF, -+0x0010, -+0x01AD, -+0x0080, -+0xD9B6, -+0x01AF, -+0x0011, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0016, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0014, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0012, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0013, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0018, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0015, -+0xD1AD, -+0xD9B6, -+0x9007, -+0x01AF, -+0x0010, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0011, -+0x01AD, -+0x0080, -+0xD9B6, -+0x01AF, -+0x0016, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0014, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0012, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0013, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0018, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0015, -+0xD1AD, -+0xD9B6, -+0x9007, -+0x01AF, -+0x0010, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0011, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0016, -+0x01AD, -+0x0080, -+0xD9B6, -+0x01AF, -+0x0014, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0012, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0013, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0018, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0015, -+0xD1AD, -+0xD9B6, -+0x9007, -+0x01AF, -+0x0010, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0011, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0016, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0014, -+0x01AD, -+0x0080, -+0xD9B6, -+0x01AF, -+0x0012, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0013, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0018, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0015, -+0xD1AD, -+0xD9B6, -+0x9007, -+0x01AF, -+0x0010, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0011, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0016, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0014, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0012, -+0x01AD, -+0x0080, -+0xD9B6, -+0x01AF, -+0x0013, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0018, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0015, -+0xD1AD, -+0xD9B6, -+0x9007, -+0x01AF, -+0x0010, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0011, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0016, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0014, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0012, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0013, -+0x01AD, -+0x0080, -+0xD9B6, -+0x01AF, -+0x0018, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0015, -+0xD1AD, -+0xD9B6, -+0x9007, -+0x01AF, -+0x0010, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0011, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0016, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0014, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0012, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0013, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0018, -+0x01AD, -+0x0080, -+0xD9B6, -+0x01AF, -+0x0015, -+0xD1AD, -+0xD9B6, -+0x9007, -+0x01AF, -+0x0010, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0011, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0016, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0014, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0012, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0013, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0018, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0015, -+0x01AD, -+0x0080, -+0xD9B6, -+0x9007, -+0x01AF, -+0x0010, -+0x01AD, -+0x0080, -+0xD9B6, -+0x01AF, -+0x0011, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0016, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0014, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0012, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0013, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0018, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0015, -+0xD1AD, -+0xD9B6, -+0x9007, -+0x01AF, -+0x0010, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0011, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0016, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0014, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0012, -+0x01AD, -+0x0080, -+0xD9B6, -+0x01AF, -+0x0013, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0018, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0015, -+0xD1AD, -+0xD9B6, -+0x9007, -+0x0C4E, -+0x1B24, -+0x33AE, -+0xAEF2, -+0x8F27, -+0x038D, -+0x0029, -+0x0C2F, -+0xDB75, -+0x33AF, -+0x0C6F, -+0x010D, -+0x0002, -+0x33AF, -+0xD3A6, -+0x03A6, -+0x000A, -+0x0C2E, -+0x1B24, -+0x33AE, -+0xAF10, -+0xD9AE, -+0x01AF, -+0x0016, -+0xD1AD, -+0xD9B6, -+0x01AF, -+0x0018, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x0C2F, -+0xDB24, -+0x33AF, -+0x8F1D, -+0xD9AE, -+0x01AF, -+0x0016, -+0x01AD, -+0x00FF, -+0xD9B6, -+0x01AF, -+0x0018, -+0xD1AD, -+0xD9B6, -+0x0C2F, -+0xD324, -+0x33AF, -+0xD1AE, -+0xD3A6, -+0x7000, -+0x0C6F, -+0xD10D, -+0x33AF, -+0x0C2F, -+0xD375, -+0x33AF, -+0xD38D, -+0x8A09, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0180, -+0x7D00, -+0x0181, -+0xAAAA, -+0x0182, -+0x2802, -+0x0183, -+0x0800, -+0x0184, -+0x3060, -+0x0185, -+0x6402, -+0x0160, -+0x0C1F, -+0xD161, -+0x0162, -+0x0042, -+0x0163, -+0x3000, -+0xD164, -+0x0165, -+0x3000, -+0x0166, -+0x7828, -+0x0167, -+0x21A2, -+0xD168, -+0x0169, -+0xB7B7, -+0x6E00, -+0x197B, -+0x430D, -+0x31BA, -+0x0180, -+0x7D00, -+0x0181, -+0xAAAA, -+0x0182, -+0x2802, -+0x0183, -+0x0800, -+0x0184, -+0x3060, -+0x0185, -+0x6402, -+0x0160, -+0x0C1F, -+0xD161, -+0xD162, -+0x0163, -+0x3000, -+0xD164, -+0x0165, -+0xB000, -+0x0166, -+0x7828, -+0x0167, -+0x21A2, -+0xD168, -+0x0169, -+0x4949, -+0x6E00, -+0x197B, -+0x430D, -+0x55BA, -+0xB043, -+0x0C0D, -+0x080F, -+0x00FF, -+0x2BE9, -+0x33AE, -+0x8D47, -+0x2BCA, -+0x33DF, -+0x8CC6, -+0x01A8, -+0x0140, -+0xD9B5, -+0x01AC, -+0xA200, -+0x0180, -+0x03FF, -+0xD981, -+0xD182, -+0xD183, -+0x0184, -+0x4000, -+0x0185, -+0x2408, -+0x0800, -+0x0349, -+0x0802, -+0x034A, -+0x0803, -+0x01B4, -+0x080E, -+0x01E0, -+0x1B1C, -+0x33AE, -+0x31A4, -+0x0EED, -+0x35A0, -+0x3C43, -+0xD9B8, -+0x0816, -+0x006B, -+0x8071, -+0xD1B5, -+0x33DF, -+0x1B27, -+0xA070, -+0x863A, -+0x8644, -+0x7080, -+0x1B27, -+0xA084, -+0x1B35, -+0xA084, -+0x0801, -+0x0022, -+0x3805, -+0x0DCD, -+0x54AD, -+0xA07D, -+0x8081, -+0x5E20, -+0x3C43, -+0xD9B8, -+0x8078, -+0x6670, -+0xB084, -+0x80AF, -+0x380D, -+0x2B53, -+0x1B34, -+0xA0AE, -+0x308D, -+0xA08B, -+0x80AE, -+0x3805, -+0x0CED, -+0x54AD, -+0xA090, -+0x80A3, -+0x0DED, -+0x54AD, -+0xA094, -+0x80A3, -+0x0EED, -+0x54AD, -+0xA098, -+0x80A3, -+0x0FED, -+0x54AD, -+0xA09C, -+0x80A3, -+0x080D, -+0x0027, -+0x54AD, -+0xA0A1, -+0x80A3, -+0x5C24, -+0x31A4, -+0x5A20, -+0x3805, -+0x0818, -+0x002F, -+0x54B8, -+0xB0AB, -+0x5E20, -+0x80AE, -+0x3C43, -+0xD9B8, -+0x8088, -+0x9016, -+0x5A20, -+0x55A1, -+0xB0B6, -+0x3580, -+0x318D, -+0x2B53, -+0x8084, -+0x3C43, -+0xD9B8, -+0x700F, -+0x8081, -+0x0800, -+0x0349, -+0x0802, -+0x034A, -+0x0803, -+0x01B4, -+0x302D, -+0xA0C4, -+0x13C9, -+0x80C5, -+0x308C, -+0x80CB, -+0x3C43, -+0xD9B8, -+0xD1B5, -+0x33DF, -+0x9007, -+0x3804, -+0x5584, -+0xB0E0, -+0x548C, -+0x31A4, -+0x0801, -+0x002F, -+0x308D, -+0xA0D5, -+0x80DF, -+0x5C24, -+0x31A4, -+0x5A20, -+0x3805, -+0x54A1, -+0xB0DC, -+0x80DF, -+0x3C43, -+0xD9B8, -+0x80D2, -+0x80C6, -+0x31A4, -+0x0C01, -+0x308D, -+0xA0E5, -+0x80EF, -+0x5C24, -+0x31A4, -+0x5E20, -+0x3805, -+0x5425, -+0xB0EC, -+0x80EF, -+0x3C43, -+0xD9B8, -+0x80E2, -+0x80C6, -+0x0E0E, -+0x1B6F, -+0x33AE, -+0xA275, -+0x0180, -+0x03FF, -+0x0181, -+0xFFFF, -+0x0182, -+0x3C46, -+0xD183, -+0x0184, -+0x7020, -+0x0185, -+0x2404, -+0x0160, -+0x0C10, -+0x0161, -+0x0009, -+0x0162, -+0x00C2, -+0xD163, -+0xD164, -+0xD165, -+0x0166, -+0x792B, -+0x0167, -+0x21A2, -+0x0168, -+0x4925, -+0xD169, -+0x1B33, -+0xA127, -+0x0C21, -+0x0C42, -+0x13F2, -+0x542C, -+0xA11E, -+0x0181, -+0xAAAA, -+0x080F, -+0x3C00, -+0x0182, -+0x000A, -+0x33AF, -+0x8127, -+0x544C, -+0xA127, -+0x0181, -+0x5555, -+0x080F, -+0x3C00, -+0x0182, -+0x0005, -+0x33AF, -+0x080E, -+0x8000, -+0x1963, -+0x33AE, -+0xA131, -+0x080E, -+0x0FE0, -+0x116E, -+0x33AE, -+0x8135, -+0x080E, -+0x0FC0, -+0x116E, -+0x33AE, -+0x3184, -+0x080E, -+0x1000, -+0x116E, -+0x33AE, -+0x3185, -+0x13CC, -+0x3181, -+0x1351, -+0x502C, -+0x31AC, -+0x0C23, -+0x5465, -+0xB148, -+0x548C, -+0x31A2, -+0xB15C, -+0x0C02, -+0x815C, -+0x080E, -+0x8000, -+0x1963, -+0x33AE, -+0xA150, -+0x0803, -+0x0080, -+0x8152, -+0x0803, -+0x0040, -+0x548C, -+0x506D, -+0x31A2, -+0x0803, -+0x0100, -+0x546D, -+0xB15A, -+0x815C, -+0x0802, -+0x00FF, -+0x0C2F, -+0xDB75, -+0x33AF, -+0x0C6F, -+0x010D, -+0x0002, -+0x33AF, -+0xD3A6, -+0x03A6, -+0x000A, -+0x4102, -+0x4302, -+0x304D, -+0xD9AE, -+0x29AD, -+0x01AF, -+0x0016, -+0xD9B6, -+0x13CD, -+0x3181, -+0x1352, -+0x502C, -+0x31AC, -+0x0C23, -+0x5465, -+0xB17B, -+0x548C, -+0x31A2, -+0xB18F, -+0x0C02, -+0x818F, -+0x080E, -+0x8000, -+0x1963, -+0x33AE, -+0xA183, -+0x0803, -+0x0080, -+0x8185, -+0x0803, -+0x0040, -+0x548C, -+0x506D, -+0x31A2, -+0x0803, -+0x0100, -+0x546D, -+0xB18D, -+0x818F, -+0x0802, -+0x00FF, -+0x4102, -+0x4302, -+0x304D, -+0x29AD, -+0x01AF, -+0x0018, -+0xD9B6, -+0xD1AE, -+0xD3A6, -+0x7000, -+0x0C6F, -+0xD10D, -+0x33AF, -+0x0C2F, -+0xD375, -+0x33AF, -+0x6647, -+0x080E, -+0x7FFF, -+0x1989, -+0x33AE, -+0x402D, -+0x31A3, -+0x080E, -+0x7FFF, -+0x1986, -+0x31A2, -+0x31A4, -+0x31AC, -+0x080E, -+0x01E0, -+0x1B76, -+0x33AE, -+0xA1B2, -+0x81B5, -+0x422C, -+0x5C2D, -+0x81B0, -+0x3181, -+0x4282, -+0x0C05, -+0x0DEE, -+0x1B76, -+0x33AE, -+0x31B7, -+0xA1BE, -+0x81C3, -+0x5045, -+0x31A5, -+0x5C37, -+0x31B7, -+0x81BC, -+0x0E0E, -+0x1B76, -+0x33AE, -+0xA1CA, -+0x50A4, -+0x31A2, -+0x81CC, -+0x54A4, -+0x31A2, -+0x5022, -+0x546D, -+0xB1D0, -+0x81D6, -+0x5422, -+0xB1D3, -+0x81DB, -+0x55A3, -+0xB1DB, -+0x81D8, -+0xDB12, -+0x81DC, -+0x0312, -+0x0002, -+0x81DC, -+0xD312, -+0x080E, -+0x0038, -+0x1B77, -+0x33AE, -+0x31AC, -+0x0CEE, -+0x1B77, -+0x33AE, -+0x31A0, -+0x080E, -+0x00F0, -+0x1B78, -+0x33AE, -+0x31A1, -+0x0DEE, -+0x1B78, -+0x33AE, -+0x31A2, -+0x080E, -+0x00E0, -+0x196B, -+0x33AE, -+0x31A3, -+0x080E, -+0x03C0, -+0x196C, -+0x33AE, -+0x31A4, -+0x4024, -+0x080E, -+0x003F, -+0x196C, -+0x33AE, -+0xA1FF, -+0x8201, -+0x5824, -+0x31A4, -+0x546C, -+0xB206, -+0x5444, -+0xB206, -+0x820B, -+0x5403, -+0xB210, -+0x5481, -+0xB210, -+0x820E, -+0x0313, -+0x0002, -+0x8211, -+0xDB13, -+0x8211, -+0xD313, -+0x080E, -+0x03E0, -+0x1379, -+0x33AE, -+0x3180, -+0x0FEE, -+0x1379, -+0x33AE, -+0x3181, -+0x080E, -+0x7F00, -+0x137A, -+0x33AE, -+0x3184, -+0x080E, -+0x8000, -+0x137A, -+0x33AE, -+0x3197, -+0x080E, -+0x007F, -+0x137A, -+0x33AE, -+0x3185, -+0x080E, -+0x0080, -+0x137A, -+0x33AE, -+0x3198, -+0x080E, -+0x03E0, -+0x116D, -+0x33AE, -+0x3182, -+0x0807, -+0x0236, -+0x82AB, -+0x5440, -+0xB239, -+0x8272, -+0x332D, -+0xA241, -+0x32ED, -+0xA240, -+0x5464, -+0xB247, -+0x8272, -+0x8272, -+0x32ED, -+0xA244, -+0x8247, -+0x5483, -+0xB247, -+0x8272, -+0x5422, -+0xB24A, -+0x826F, -+0x332D, -+0xA251, -+0x330D, -+0xA257, -+0x54A3, -+0xB257, -+0x826F, -+0x330D, -+0xA254, -+0x826F, -+0x5465, -+0xB257, -+0x826F, -+0x080E, -+0x03C0, -+0x196C, -+0x33AE, -+0x5CED, -+0xA274, -+0x1BED, -+0x5C8D, -+0x31AC, -+0x1BCC, -+0x55AC, -+0xA264, -+0x8266, -+0xB26F, -+0x8266, -+0x1BEE, -+0x5C8D, -+0x31AC, -+0x1BCD, -+0x55AC, -+0xA26D, -+0x8274, -+0xB26F, -+0x8274, -+0x0314, -+0x0002, -+0x8275, -+0xDB14, -+0x8275, -+0xD314, -+0x0C2F, -+0xDB75, -+0x33AF, -+0x0C6F, -+0x010D, -+0x0002, -+0x33AF, -+0xD3A6, -+0x03A6, -+0x000A, -+0x1B51, -+0x1352, -+0x3180, -+0xD9AE, -+0x29AD, -+0x01AF, -+0x0016, -+0xD9B6, -+0x21AD, -+0x01AF, -+0x0018, -+0xD9B6, -+0xD1AE, -+0xD3A6, -+0x7000, -+0x0C6F, -+0xD10D, -+0x33AF, -+0x0C2F, -+0xD375, -+0x33AF, -+0x196B, -+0x2B5A, -+0x196D, -+0x2B5C, -+0x196C, -+0x2B5B, -+0x196E, -+0x2B5D, -+0x196F, -+0x2B60, -+0x1970, -+0x2B61, -+0x1971, -+0x2B62, -+0x1972, -+0x2B63, -+0x13CD, -+0x410C, -+0x1BCC, -+0x518D, -+0x2BF1, -+0x33DF, -+0x8979, -+0x080E, -+0x1FE0, -+0x196E, -+0x33AE, -+0x31A3, -+0x080E, -+0x1000, -+0x196E, -+0x33AE, -+0x31B9, -+0xA2B7, -+0x82BB, -+0x080D, -+0x0100, -+0x546D, -+0x31A3, -+0x332D, -+0x9007, -+0x0C2F, -+0xDB75, -+0x33AF, -+0x0C6F, -+0x010D, -+0x0002, -+0x33AF, -+0xD3A6, -+0x03A6, -+0x000A, -+0x01B3, -+0x0177, -+0xD9AE, -+0x82FB, -+0x01B3, -+0x0155, -+0x01B3, -+0x0144, -+0x01B3, -+0x01CC, -+0x01B3, -+0x01EE, -+0x83DA, -+0x01B3, -+0x01CC, -+0x01B3, -+0x0144, -+0x01B3, -+0x0155, -+0x01B3, -+0x0177, -+0x84AB, -+0x01B3, -+0x0155, -+0x01B3, -+0x0111, -+0x01B3, -+0x0100, -+0x01B3, -+0x0188, -+0x859D, -+0x01B3, -+0x0100, -+0x01B3, -+0x0111, -+0x01B3, -+0x0155, -+0x01B3, -+0x0177, -+0x01B3, -+0x0077, -+0xD1AE, -+0xD3A6, -+0x7000, -+0x0C6F, -+0xD10D, -+0x33AF, -+0x0C2F, -+0xD375, -+0x33AF, -+0x0C1F, -+0x9006, -+0x0180, -+0x7D00, -+0x0181, -+0xAAAA, -+0x0182, -+0x28C6, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0016, -+0xD9B6, -+0x0807, -+0x0313, -+0x33FE, -+0x0C1F, -+0x0C63, -+0x864B, -+0x19AD, -+0x2B47, -+0x0180, -+0x7D00, -+0x0181, -+0xAAAA, -+0x0182, -+0x2886, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0016, -+0xD9B6, -+0x0807, -+0x032D, -+0x33FE, -+0x0C1F, -+0x0C43, -+0x864B, -+0x0807, -+0x0330, -+0x868A, -+0x31A5, -+0x0801, -+0x0020, -+0x5023, -+0x31A1, -+0x080E, -+0x00FF, -+0x13EF, -+0x33AE, -+0x3180, -+0x2179, -+0x2348, -+0x5581, -+0x43ED, -+0x31B8, -+0x080D, -+0x00FF, -+0x542D, -+0x55AC, -+0x43ED, -+0x31B9, -+0x0800, -+0x0179, -+0x30AD, -+0x0807, -+0x034C, -+0x0C04, -+0x86B5, -+0x080E, -+0x00FF, -+0x1BEF, -+0x33AE, -+0x2B48, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0807, -+0x0358, -+0x866E, -+0x1B48, -+0x080F, -+0x00FF, -+0x2BEF, -+0x33AF, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0802, -+0x0179, -+0x0807, -+0x0366, -+0x868A, -+0x0807, -+0x036A, -+0x0C04, -+0x869C, -+0x0180, -+0x7D00, -+0x0181, -+0x5555, -+0x0182, -+0x14C6, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0018, -+0xD9B6, -+0x0807, -+0x0382, -+0x33FE, -+0x0C1F, -+0x0C63, -+0x864B, -+0x19AD, -+0x2B47, -+0x0180, -+0x7D00, -+0x0181, -+0x5555, -+0x0182, -+0x1486, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0018, -+0xD9B6, -+0x0807, -+0x039C, -+0x33FE, -+0x0C1F, -+0x0C43, -+0x864B, -+0x0807, -+0x039F, -+0x868A, -+0x31A5, -+0x0801, -+0x0020, -+0x5023, -+0x31A1, -+0x080E, -+0x00FF, -+0x13F0, -+0x33AE, -+0x3180, -+0x217A, -+0x2348, -+0x5581, -+0x43ED, -+0x31B8, -+0x080D, -+0x00FF, -+0x542D, -+0x55AC, -+0x43ED, -+0x31B9, -+0x0800, -+0x017A, -+0x30AD, -+0x0807, -+0x03BB, -+0x0C04, -+0x86B5, -+0x080E, -+0x00FF, -+0x1BF0, -+0x33AE, -+0x2B48, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0807, -+0x03C7, -+0x866E, -+0x1B48, -+0x080F, -+0x00FF, -+0x2BF0, -+0x33AF, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0802, -+0x017A, -+0x0807, -+0x03D5, -+0x868A, -+0x0807, -+0x03D9, -+0x0C04, -+0x869C, -+0x82CB, -+0x0180, -+0x7D00, -+0x0181, -+0xAAAA, -+0x0182, -+0x28C6, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0010, -+0xD9B6, -+0x0807, -+0x03F2, -+0x33FE, -+0x0C1F, -+0x0C63, -+0x864B, -+0x19AD, -+0x2B47, -+0x0180, -+0x7D00, -+0x0181, -+0xAAAA, -+0x0182, -+0x2886, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0010, -+0xD9B6, -+0x0807, -+0x040C, -+0x33FE, -+0x0C1F, -+0x0C43, -+0x864B, -+0x0807, -+0x040F, -+0x868A, -+0x31A5, -+0x0801, -+0x0020, -+0x5023, -+0x134B, -+0x3180, -+0x2173, -+0x2348, -+0x558D, -+0x43ED, -+0x31B8, -+0x0801, -+0x0020, -+0x5061, -+0x0801, -+0x00FF, -+0x55A1, -+0x55AC, -+0x43ED, -+0x31B9, -+0x0800, -+0x0173, -+0x30AD, -+0x0807, -+0x042A, -+0x0C04, -+0x86B5, -+0x1B4B, -+0x2B48, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0807, -+0x0433, -+0x866E, -+0x1B48, -+0x2B4B, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0802, -+0x0173, -+0x0807, -+0x043E, -+0x868A, -+0x0807, -+0x0442, -+0x0C04, -+0x869C, -+0x0180, -+0x7D00, -+0x0181, -+0x5555, -+0x0182, -+0x14C6, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0012, -+0xD9B6, -+0x0807, -+0x045A, -+0x33FE, -+0x0C1F, -+0x0C63, -+0x864B, -+0x19AD, -+0x2B47, -+0x0180, -+0x7D00, -+0x0181, -+0x5555, -+0x0182, -+0x1486, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0012, -+0xD9B6, -+0x0807, -+0x0474, -+0x33FE, -+0x0C1F, -+0x0C43, -+0x864B, -+0x0807, -+0x0477, -+0x868A, -+0x31A5, -+0x0801, -+0x0020, -+0x5023, -+0x134D, -+0x3180, -+0x2175, -+0x2348, -+0x558D, -+0x43ED, -+0x31B8, -+0x0801, -+0x0020, -+0x5061, -+0x0801, -+0x00FF, -+0x55A1, -+0x55AC, -+0x43ED, -+0x31B9, -+0x0800, -+0x0175, -+0x30AD, -+0x0807, -+0x0492, -+0x0C04, -+0x86B5, -+0x1B4D, -+0x2B48, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0807, -+0x049B, -+0x866E, -+0x1B48, -+0x2B4D, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0802, -+0x0175, -+0x0807, -+0x04A6, -+0x868A, -+0x0807, -+0x04AA, -+0x0C04, -+0x869C, -+0x82D4, -+0x0180, -+0x7D00, -+0x0181, -+0xAAAA, -+0x0182, -+0x2846, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0016, -+0xD9B6, -+0x0807, -+0x04C3, -+0x33FE, -+0x0C1F, -+0x0C63, -+0x864B, -+0x19AD, -+0x2B47, -+0x0180, -+0x7D00, -+0x0181, -+0xAAAA, -+0x0182, -+0x2806, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0016, -+0xD9B6, -+0x0807, -+0x04DD, -+0x33FE, -+0x0C1F, -+0x0C43, -+0x864B, -+0x0807, -+0x04E0, -+0x868A, -+0x31A5, -+0x0801, -+0x0020, -+0x5023, -+0x080E, -+0xFF00, -+0x13EF, -+0x33AE, -+0x3180, -+0x2179, -+0x2348, -+0x558D, -+0x43ED, -+0x31B8, -+0x080D, -+0x00FF, -+0x542D, -+0x55AC, -+0x43ED, -+0x31B9, -+0x0800, -+0x0179, -+0x30AD, -+0x0807, -+0x04FB, -+0x0C24, -+0x86B5, -+0x080E, -+0xFF00, -+0x1BEF, -+0x33AE, -+0x2B48, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0807, -+0x0507, -+0x866E, -+0x1B48, -+0x080F, -+0xFF00, -+0x2BEF, -+0x33AF, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0802, -+0x0179, -+0x0807, -+0x0515, -+0x868A, -+0x0807, -+0x0519, -+0x0C24, -+0x869C, -+0x0180, -+0x7D00, -+0x0181, -+0x5555, -+0x0182, -+0x1446, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0018, -+0xD9B6, -+0x0807, -+0x0531, -+0x33FE, -+0x0C1F, -+0x0C63, -+0x864B, -+0x19AD, -+0x2B47, -+0x0180, -+0x7D00, -+0x0181, -+0x5555, -+0x0182, -+0x1406, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0018, -+0xD9B6, -+0x0807, -+0x054B, -+0x33FE, -+0x0C1F, -+0x0C43, -+0x864B, -+0x0807, -+0x054E, -+0x868A, -+0x31A5, -+0x0801, -+0x0020, -+0x5023, -+0x31A1, -+0x080E, -+0xFF00, -+0x13F0, -+0x33AE, -+0x3180, -+0x217A, -+0x2348, -+0x5581, -+0x43ED, -+0x31B8, -+0x080D, -+0x00FF, -+0x542D, -+0x55AC, -+0x43ED, -+0x31B9, -+0x0800, -+0x017A, -+0x30AD, -+0x0807, -+0x056A, -+0x0C24, -+0x86B5, -+0x080E, -+0xFF00, -+0x1BF0, -+0x33AE, -+0x2B48, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0807, -+0x0576, -+0x866E, -+0x1B48, -+0x080F, -+0xFF00, -+0x2BF0, -+0x33AF, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0802, -+0x017A, -+0x0807, -+0x0584, -+0x868A, -+0x0807, -+0x0588, -+0x0C24, -+0x869C, -+0x080E, -+0xFF00, -+0x1BEF, -+0x080E, -+0x00FF, -+0x13EF, -+0x33AE, -+0x518D, -+0x422D, -+0x2B51, -+0x080E, -+0xFF00, -+0x1BF0, -+0x080E, -+0x00FF, -+0x13F0, -+0x33AE, -+0x518D, -+0x422D, -+0x2B52, -+0x82DD, -+0x0180, -+0x7D00, -+0x0181, -+0xAAAA, -+0x0182, -+0x2846, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0011, -+0xD9B6, -+0x0807, -+0x05B5, -+0x33FE, -+0x0C1F, -+0x0C63, -+0x864B, -+0x19AD, -+0x2B47, -+0x0180, -+0x7D00, -+0x0181, -+0xAAAA, -+0x0182, -+0x2806, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0011, -+0xD9B6, -+0x0807, -+0x05CF, -+0x33FE, -+0x0C1F, -+0x0C43, -+0x864B, -+0x0807, -+0x05D2, -+0x868A, -+0x31A5, -+0x0801, -+0x0020, -+0x5023, -+0x134C, -+0x3180, -+0x2174, -+0x2348, -+0x558D, -+0x43ED, -+0x31B8, -+0x0801, -+0x0020, -+0x5061, -+0x0801, -+0x00FF, -+0x55A1, -+0x55AC, -+0x43ED, -+0x31B9, -+0x0800, -+0x0174, -+0x30AD, -+0x0807, -+0x05ED, -+0x0C24, -+0x86B5, -+0x1B4C, -+0x2B48, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0807, -+0x05F6, -+0x866E, -+0x1B48, -+0x2B4C, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0802, -+0x0174, -+0x0807, -+0x0601, -+0x868A, -+0x0807, -+0x0605, -+0x0C24, -+0x869C, -+0x0180, -+0x7D00, -+0x0181, -+0x5555, -+0x0182, -+0x1446, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0013, -+0xD9B6, -+0x0807, -+0x061D, -+0x33FE, -+0x0C1F, -+0x0C63, -+0x864B, -+0x19AD, -+0x2B47, -+0x0180, -+0x7D00, -+0x0181, -+0x5555, -+0x0182, -+0x1406, -+0xD183, -+0x0184, -+0x2C00, -+0x0185, -+0x6408, -+0x0800, -+0x01AD, -+0x01AD, -+0x0080, -+0x01AF, -+0x0013, -+0xD9B6, -+0x0807, -+0x0637, -+0x33FE, -+0x0C1F, -+0x0C43, -+0x864B, -+0x0807, -+0x063A, -+0x868A, -+0x31A5, -+0x0801, -+0x0020, -+0x5023, -+0x134E, -+0x3180, -+0x2176, -+0x2348, -+0x558D, -+0x43ED, -+0x31B8, -+0x0801, -+0x0020, -+0x5061, -+0x0801, -+0x00FF, -+0x55A1, -+0x55AC, -+0x43ED, -+0x31B9, -+0x0800, -+0x0176, -+0x30AD, -+0x0807, -+0x0655, -+0x0C24, -+0x86B5, -+0x1B4E, -+0x2B48, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0807, -+0x065E, -+0x866E, -+0x1B48, -+0x2B4E, -+0x0800, -+0x0348, -+0x0801, -+0x0347, -+0x0802, -+0x0176, -+0x0807, -+0x0669, -+0x868A, -+0x0807, -+0x066D, -+0x0C24, -+0x869C, -+0x82E6, -+0x19AD, -+0x31A4, -+0x3825, -+0x5085, -+0x31A5, -+0x4225, -+0x3C01, -+0x338D, -+0x55A5, -+0xB67B, -+0x330D, -+0xA67E, -+0x8689, -+0xA682, -+0x380D, -+0x8689, -+0x5E20, -+0xB689, -+0x3580, -+0x8689, -+0x332D, -+0xA685, -+0x8689, -+0x5A20, -+0x31A2, -+0x430D, -+0xA680, -+0x9007, -+0x080E, -+0x1FE0, -+0x196E, -+0x33AE, -+0x31A3, -+0x080E, -+0x1000, -+0x196E, -+0x33AE, -+0x31A4, -+0xA696, -+0x869A, -+0x080D, -+0x0100, -+0x546D, -+0x31A3, -+0x308D, -+0x9007, -+0xA6A0, -+0x308D, -+0xA6AA, -+0x86A3, -+0x308D, -+0xA6A3, -+0x86AA, -+0x3805, -+0x5065, -+0x31A4, -+0x430D, -+0xA6B1, -+0x308D, -+0x86AE, -+0x3805, -+0x5465, -+0xB6AE, -+0x86B1, -+0x3C02, -+0x35A1, -+0x86B2, -+0x384D, -+0x29AD, -+0xD9B6, -+0x9007, -+0xA6B9, -+0x308D, -+0xA6C3, -+0x86BC, -+0x308D, -+0xA6BC, -+0x86C3, -+0x3805, -+0x5065, -+0x31A4, -+0x430D, -+0xA6C9, -+0x308D, -+0x86C7, -+0x3805, -+0x5465, -+0xB6C7, -+0x86C9, -+0x31BC, -+0x86CA, -+0x30BC, -+0x9007, -+0x0180, -+0x00FF, -+0x0181, -+0xAAAA, -+0x0182, -+0x2806, -+0x0183, -+0x0800, -+0x0184, -+0x7060, -+0x0185, -+0x2402, -+0x0160, -+0x0C07, -+0xD161, -+0x0162, -+0x00C6, -+0x0163, -+0x1000, -+0xD164, -+0x0165, -+0x3000, -+0x0166, -+0x7828, -+0x0167, -+0x21A2, -+0xD168, -+0x1B38, -+0xA712, -+0x1BCC, -+0x31A1, -+0x1B51, -+0x502D, -+0x31A1, -+0x0807, -+0x06F0, -+0x8DF4, -+0xA6F3, -+0x5061, -+0x86F4, -+0x5461, -+0xB6F6, -+0x86FE, -+0x31A1, -+0x430D, -+0xA6FB, -+0x302D, -+0x86FF, -+0x080D, -+0x00FF, -+0x86FF, -+0x0C0D, -+0x080F, -+0x00FF, -+0x2969, -+0x33AF, -+0x1BCD, -+0x31A1, -+0x1B52, -+0x502D, -+0x31A1, -+0x080F, -+0xFF00, -+0x2969, -+0x33AF, -+0x6C00, -+0x080E, -+0xFF00, -+0x197B, -+0x33AE, -+0x31B8, -+0x0180, -+0x00FF, -+0x0162, -+0x0084, -+0x0165, -+0xB000, -+0x1B38, -+0xA73B, -+0x1B51, -+0x31A1, -+0x13CC, -+0x0807, -+0x0720, -+0x8DF4, -+0xA724, -+0x5061, -+0x558D, -+0x8726, -+0x506C, -+0x55A1, -+0x31A1, -+0xB729, -+0x8730, -+0x430D, -+0xA72D, -+0x302D, -+0x8731, -+0x080D, -+0x00FF, -+0x8731, -+0x0C0D, -+0x080F, -+0x00FF, -+0x2969, -+0x33AF, -+0x6C00, -+0x080E, -+0xFF00, -+0x197B, -+0x33AE, -+0x31B9, -+0x0180, -+0x00FF, -+0x0181, -+0x5555, -+0x0182, -+0x1406, -+0x0162, -+0x00C6, -+0x0163, -+0x2000, -+0x0165, -+0x3000, -+0x080F, -+0x03FF, -+0xD960, -+0x33AF, -+0x1B38, -+0xA759, -+0x1352, -+0x1B51, -+0x55B8, -+0x518D, -+0x410D, -+0x2969, -+0x6C00, -+0x080E, -+0x00FF, -+0x197B, -+0x33AE, -+0x31BA, -+0x0180, -+0x00FF, -+0x0162, -+0x0084, -+0x0165, -+0xB000, -+0x080F, -+0x03FF, -+0xD960, -+0x33AF, -+0x1B38, -+0xA793, -+0x1352, -+0x1B51, -+0x55B9, -+0x51AC, -+0x410D, -+0x2969, -+0x6C00, -+0x080E, -+0x00FF, -+0x197B, -+0x33AE, -+0x31BB, -+0x0C2F, -+0xDB75, -+0x33AF, -+0x0C6F, -+0x010D, -+0x0002, -+0x33AF, -+0xD3A6, -+0x03A6, -+0x000A, -+0x5738, -+0x424D, -+0x532D, -+0xD9AE, -+0x29AD, -+0x01AF, -+0x0016, -+0xD9B6, -+0x577A, -+0x424D, -+0x536D, -+0x29AD, -+0x01AF, -+0x0018, -+0xD9B6, -+0xD1AE, -+0xD3A6, -+0x7000, -+0x0C6F, -+0xD10D, -+0x33AF, -+0x0C2F, -+0xD375, -+0x33AF, -+0x0180, -+0x01FF, -+0x0181, -+0xFFFF, -+0x0182, -+0x3C86, -+0xD183, -+0x0160, -+0x0C10, -+0x0161, -+0x0009, -+0x0162, -+0x00C2, -+0xD163, -+0xD165, -+0x0166, -+0x792B, -+0x0168, -+0x4925, -+0x1B38, -+0xA82D, -+0x0807, -+0x07AD, -+0x33FE, -+0x0C1F, -+0x89C5, -+0x1959, -+0x1959, -+0x31B6, -+0x0807, -+0x07B3, -+0x8931, -+0x081C, -+0x0349, -+0x0EA1, -+0x0C17, -+0x3B85, -+0x080D, -+0x002F, -+0x5C2D, -+0x54AD, -+0xB7BE, -+0x87F9, -+0x302D, -+0xA7C1, -+0x87F9, -+0x3B85, -+0x0CED, -+0x54AD, -+0xA7C6, -+0x87DB, -+0x0DED, -+0x54AD, -+0xA7CA, -+0x87DB, -+0x0EED, -+0x54AD, -+0xA7CE, -+0x87DB, -+0x0FED, -+0x54AD, -+0xA7D2, -+0x87DB, -+0x080D, -+0x0027, -+0x54AD, -+0xA7D7, -+0x87DB, -+0x5C21, -+0x31A1, -+0x5837, -+0x31B7, -+0x5A3C, -+0x1B4A, -+0x29B4, -+0xD9B8, -+0x1959, -+0x1959, -+0x31A2, -+0x5444, -+0xB7E5, -+0x87F9, -+0x5462, -+0xB7E8, -+0x87F9, -+0x6620, -+0x080E, -+0x7FFF, -+0x1988, -+0x33AE, -+0x31A2, -+0x4022, -+0x080E, -+0x7FFF, -+0x1986, -+0x33AE, -+0x31A5, -+0x4025, -+0x426D, -+0x55A5, -+0x55A2, -+0xB7B7, -+0x32E0, -+0x3B81, -+0x1B47, -+0x55A1, -+0xA7FF, -+0x8807, -+0xB802, -+0x5A3C, -+0x8803, -+0x5E3C, -+0x1B4A, -+0x29B4, -+0xD9B8, -+0x87FA, -+0x0C17, -+0x1959, -+0x1959, -+0x31A2, -+0x5444, -+0xB80E, -+0x8810, -+0x5462, -+0xB813, -+0x0807, -+0x0813, -+0x8917, -+0x1959, -+0x1959, -+0x31A2, -+0x5444, -+0xB81F, -+0x5E3C, -+0x1B4A, -+0x29B4, -+0xD9B8, -+0x5E3C, -+0x5857, -+0x8827, -+0x5462, -+0xB82D, -+0x5A3C, -+0x1B4A, -+0x29B4, -+0xD9B8, -+0x5A3C, -+0x5840, -+0x1B4A, -+0x29B4, -+0xD9B8, -+0x0807, -+0x082D, -+0x8917, -+0x0180, -+0x01FF, -+0x0182, -+0x3CC6, -+0x1B38, -+0xA8BF, -+0x0807, -+0x0838, -+0x33FE, -+0x0C1F, -+0x89C5, -+0x0C2F, -+0xDB75, -+0x33AF, -+0x0C6F, -+0x010D, -+0x0002, -+0x33AF, -+0xD3A6, -+0x03A6, -+0x000A, -+0x5738, -+0x424D, -+0x55B8, -+0xD9AE, -+0x29AD, -+0x01AF, -+0x0016, -+0xD9B6, -+0x577A, -+0x424D, -+0x55BA, -+0x29AD, -+0x01AF, -+0x0018, -+0xD9B6, -+0xD1AE, -+0xD3A6, -+0x7000, -+0x0C6F, -+0xD10D, -+0x33AF, -+0x0C2F, -+0xD375, -+0x33AF, -+0x081C, -+0x0349, -+0x0EA1, -+0x3B85, -+0x0C0D, -+0x582D, -+0x55A5, -+0xB863, -+0x889C, -+0x302D, -+0xA866, -+0x889C, -+0x3B85, -+0x0D0D, -+0x54AD, -+0xA86B, -+0x8881, -+0x0E0D, -+0x54AD, -+0xA86F, -+0x8881, -+0x0F0D, -+0x54AD, -+0xA873, -+0x8881, -+0x080D, -+0x0020, -+0x54AD, -+0xA878, -+0x8881, -+0x080D, -+0x0028, -+0x54AD, -+0xA87D, -+0x8881, -+0x5C21, -+0x31A1, -+0x5837, -+0x31B7, -+0x5E3C, -+0x1B4A, -+0x29B4, -+0xD9B8, -+0x1959, -+0x1959, -+0x31A2, -+0x5444, -+0xB88B, -+0x889C, -+0x5462, -+0xB88E, -+0x889C, -+0x6620, -+0x080E, -+0x7FFF, -+0x1988, -+0x33AE, -+0x31A2, -+0x4022, -+0x080E, -+0x7FFF, -+0x1986, -+0x33AE, -+0x426D, -+0x544D, -+0xB85D, -+0x32ED, -+0x300D, -+0x080F, -+0xFF00, -+0x2BEA, -+0x33AF, -+0x32ED, -+0x080F, -+0x00FF, -+0x2BEA, -+0x33AF, -+0x56E0, -+0xB8B5, -+0x5417, -+0x5C2D, -+0x422D, -+0x31A0, -+0x5C6D, -+0xB8B3, -+0x0C6C, -+0x540C, -+0x31AC, -+0x88B9, -+0x0C0C, -+0x88BE, -+0x582D, -+0x422D, -+0x586D, -+0x31AC, -+0x5D2D, -+0xB8BC, -+0x88BE, -+0x0D2C, -+0x88BE, -+0x8998, -+0x1B38, -+0xA8D3, -+0x3B8D, -+0x331C, -+0x31B8, -+0x2B7B, -+0x0807, -+0x08C9, -+0x32CD, -+0x8931, -+0x1959, -+0x1959, -+0x31A2, -+0x5482, -+0xB8D0, -+0x5462, -+0xB8D3, -+0x0807, -+0x08D3, -+0x8917, -+0x0807, -+0x08D6, -+0x8DF4, -+0x31A2, -+0xA8E0, -+0x573C, -+0xB8DC, -+0x462D, -+0x88DD, -+0x422D, -+0x532D, -+0x546D, -+0x88E7, -+0x573C, -+0xB8E4, -+0x462D, -+0x88E5, -+0x422D, -+0x532D, -+0x506D, -+0x31A1, -+0xB8EB, -+0x0C0D, -+0x88F1, -+0x430D, -+0xA8EF, -+0x302D, -+0x88F1, -+0x080D, -+0x00FF, -+0x080F, -+0x00FF, -+0x2BE8, -+0x33AF, -+0x304D, -+0xA8FF, -+0x577A, -+0xB8FB, -+0x462D, -+0x88FC, -+0x422D, -+0x536D, -+0x546D, -+0x8906, -+0x577A, -+0xB903, -+0x462D, -+0x8904, -+0x422D, -+0x536D, -+0x506D, -+0x31A1, -+0xB90A, -+0x0C0D, -+0x8910, -+0x430D, -+0xA90E, -+0x302D, -+0x8910, -+0x080D, -+0x00FF, -+0x080F, -+0xFF00, -+0x2BE8, -+0x33AF, -+0x0C1F, -+0x33FE, -+0x88EC, -+0x32CD, -+0x2959, -+0x080F, -+0x0020, -+0xD906, -+0x33AF, -+0x0E0F, -+0xD106, -+0x33AF, -+0x0C8E, -+0x1919, -+0x33AE, -+0xA920, -+0x0E0F, -+0xD906, -+0x33AF, -+0x0C8E, -+0x1919, -+0x33AE, -+0xA92C, -+0x8927, -+0x080F, -+0x0020, -+0xD106, -+0x33AF, -+0x9007, -+0x31A0, -+0x0803, -+0x1000, -+0x546D, -+0xB938, -+0x0C03, -+0x8939, -+0x31A3, -+0x0804, -+0x1000, -+0x5080, -+0x31A0, -+0x0804, -+0x4000, -+0x55A4, -+0xB944, -+0x0804, -+0x4000, -+0x8945, -+0x3004, -+0x9007, -+0x1B53, -+0x31A5, -+0x3181, -+0x302D, -+0xA94C, -+0x8965, -+0x0CED, -+0x54AD, -+0xA950, -+0x8963, -+0x0DED, -+0x54AD, -+0xA954, -+0x8963, -+0x0EED, -+0x54AD, -+0xA958, -+0x8963, -+0x0FED, -+0x54AD, -+0xA95C, -+0x8963, -+0x080D, -+0x0027, -+0x54AD, -+0xA961, -+0x8963, -+0x5C21, -+0x31A1, -+0x5825, -+0x8949, -+0x1B49, -+0x31A0, -+0x54AD, -+0xB981, -+0x5405, -+0x31A1, -+0x081C, -+0x0349, -+0x3B85, -+0x080D, -+0x002F, -+0x5C2D, -+0x54AD, -+0xB974, -+0x897E, -+0x302D, -+0xA977, -+0x897E, -+0x5C21, -+0x31A1, -+0x5A3C, -+0x1B4A, -+0x29B4, -+0xD9B8, -+0x896D, -+0x0C1F, -+0x33FE, -+0x8721, -+0x54A0, -+0x31A1, -+0x081C, -+0x0349, -+0x3B85, -+0x0C0D, -+0x582D, -+0x55A5, -+0xB98B, -+0x8995, -+0x302D, -+0xA98E, -+0x8995, -+0x5C21, -+0x31A1, -+0x5E3C, -+0x1B4A, -+0x29B4, -+0xD9B8, -+0x8985, -+0x0C1F, -+0x33FE, -+0x8721, -+0x1B53, -+0x31A5, -+0x3181, -+0x302D, -+0xA99E, -+0x89B7, -+0x0CED, -+0x54AD, -+0xA9A2, -+0x89B5, -+0x0DED, -+0x54AD, -+0xA9A6, -+0x89B5, -+0x0EED, -+0x54AD, -+0xA9AA, -+0x89B5, -+0x0FED, -+0x54AD, -+0xA9AE, -+0x89B5, -+0x080D, -+0x0027, -+0x54AD, -+0xA9B3, -+0x89B5, -+0x5C21, -+0x31A1, -+0x5825, -+0x899B, -+0x1B49, -+0x31A0, -+0x54AD, -+0xB9D1, -+0x5405, -+0x31A1, -+0x081C, -+0x0349, -+0x3B85, -+0x080D, -+0x002F, -+0x5C2D, -+0x54AD, -+0xB9C6, -+0x89D0, -+0x302D, -+0xA9C9, -+0x89D0, -+0x5C21, -+0x31A1, -+0x5A3C, -+0x1B4A, -+0x29B4, -+0xD9B8, -+0x89BF, -+0x88BF, -+0x54A0, -+0x31A1, -+0x081C, -+0x0349, -+0x3B85, -+0x0C0D, -+0x582D, -+0x55A5, -+0xB9DB, -+0x89E5, -+0x302D, -+0xA9DE, -+0x89E5, -+0x5C21, -+0x31A1, -+0x5E3C, -+0x1B4A, -+0x29B4, -+0xD9B8, -+0x89D5, -+0x88BF, -+0x0180, -+0x00FF, -+0x0181, -+0xAAAA, -+0x0182, -+0x2806, -+0x0183, -+0x0800, -+0x0184, -+0x7060, -+0x0185, -+0x2402, -+0x300D, -+0x080F, -+0x03E0, -+0x2982, -+0x33AF, -+0x0FEF, -+0x0182, -+0x0006, -+0x33AF, -+0x080F, -+0x0800, -+0xD183, -+0x33AF, -+0x0160, -+0x0C07, -+0xD161, -+0x0162, -+0x00C6, -+0x0163, -+0x1000, -+0xD164, -+0x0165, -+0x3000, -+0x0166, -+0x7828, -+0x0167, -+0x21A2, -+0xD168, -+0x302D, -+0x080F, -+0xF000, -+0x2965, -+0x33AF, -+0x304D, -+0x080F, -+0x03FF, -+0x2960, -+0x33AF, -+0x306D, -+0xAA4B, -+0x300D, -+0x5CCD, -+0xAA1E, -+0x8A21, -+0x300D, -+0x5C4D, -+0xAA33, -+0x1B51, -+0x13CC, -+0x518D, -+0x31B7, -+0x430D, -+0xAA2B, -+0x32ED, -+0xBA2D, -+0x0C17, -+0x8A2D, -+0x0817, -+0x00FF, -+0x32ED, -+0x080F, -+0x00FF, -+0x2969, -+0x33AF, -+0x8A50, -+0x300D, -+0x5C8D, -+0xAA37, -+0x8A39, -+0x300D, -+0xAA50, -+0x1B51, -+0x13CC, -+0x558D, -+0x31B7, -+0xBA40, -+0x0C17, -+0x8A45, -+0x430D, -+0xAA43, -+0x8A45, -+0x0817, -+0x00FF, -+0x32ED, -+0x080F, -+0x00FF, -+0x2969, -+0x33AF, -+0x8A50, -+0x308D, -+0x080F, -+0x00FF, -+0x2969, -+0x33AF, -+0x6C00, -+0x080E, -+0xFF00, -+0x197B, -+0x33AE, -+0x0C1F, -+0x9007, -+0x0180, -+0x00FF, -+0x0181, -+0x5555, -+0x0182, -+0x1406, -+0x0183, -+0x0800, -+0x0184, -+0x7060, -+0x0185, -+0x2402, -+0x300D, -+0x080F, -+0x03E0, -+0x2982, -+0x33AF, -+0x0FEF, -+0x0182, -+0x0006, -+0x33AF, -+0x080F, -+0x0800, -+0xD183, -+0x33AF, -+0x0160, -+0x0C07, -+0xD161, -+0x0162, -+0x00C6, -+0x0163, -+0x2000, -+0xD164, -+0x0165, -+0x3000, -+0x0166, -+0x7828, -+0x0167, -+0x21A2, -+0xD168, -+0x302D, -+0x080F, -+0xF000, -+0x2965, -+0x33AF, -+0x304D, -+0x080F, -+0x03FF, -+0x2960, -+0x33AF, -+0x306D, -+0xAABC, -+0x300D, -+0x5CCD, -+0xAA8F, -+0x8A92, -+0x300D, -+0x5C4D, -+0xAAA4, -+0x1B52, -+0x13CD, -+0x518D, -+0x31B7, -+0x430D, -+0xAA9C, -+0x32ED, -+0xBA9E, -+0x0C17, -+0x8A9E, -+0x0817, -+0x00FF, -+0x32ED, -+0x080F, -+0xFF00, -+0x2969, -+0x33AF, -+0x8AC1, -+0x300D, -+0x5C8D, -+0xAAA8, -+0x8AAA, -+0x300D, -+0xAAC1, -+0x1B52, -+0x13CD, -+0x558D, -+0x31B7, -+0xBAB1, -+0x0C17, -+0x8AB6, -+0x430D, -+0xAAB4, -+0x8AB6, -+0x0817, -+0x00FF, -+0x32ED, -+0x080F, -+0xFF00, -+0x2969, -+0x33AF, -+0x8AC1, -+0x308D, -+0x080F, -+0xFF00, -+0x2969, -+0x33AF, -+0x6C00, -+0x080E, -+0x00FF, -+0x197B, -+0x33AE, -+0x0C1F, -+0x9007, -+0x0800, -+0x00F5, -+0x5418, -+0xBACF, -+0x5419, -+0xBACF, -+0x8AD5, -+0x080F, -+0x1C00, -+0x03F6, -+0x0003, -+0x33AF, -+0x8AE3, -+0x541A, -+0xBADE, -+0x541B, -+0xBADE, -+0x080F, -+0x1C00, -+0xD3F6, -+0x33AF, -+0x8AE3, -+0x080F, -+0x1C00, -+0x03F6, -+0x0005, -+0x33AF, -+0x0800, -+0x00F5, -+0x5418, -+0xBAEA, -+0x541A, -+0xBAEA, -+0x8AF3, -+0x5419, -+0xBAF3, -+0x541B, -+0xBAF3, -+0x080F, -+0x6000, -+0xDBF6, -+0x33AF, -+0x8B0F, -+0x5419, -+0xBAF8, -+0x541B, -+0xBAF8, -+0x8B02, -+0x5418, -+0xBB02, -+0x541A, -+0xBB02, -+0x080F, -+0x6000, -+0x03F6, -+0x0002, -+0x33AF, -+0x8B0F, -+0x571A, -+0xBB06, -+0x3302, -+0x8B07, -+0x3342, -+0x573B, -+0xBB0B, -+0x3323, -+0x8B0C, -+0x3363, -+0x5443, -+0xBAFC, -+0x8AEE, -+0x0C1F, -+0x9007, -+0x080E, -+0x6000, -+0x1BF6, -+0x33AE, -+0x5C2D, -+0xAB1C, -+0x1352, -+0x5379, -+0x422D, -+0x558D, -+0x8B27, -+0x080E, -+0x6000, -+0x1BF6, -+0x33AE, -+0x5C4D, -+0xAB27, -+0x1351, -+0x5358, -+0x422D, -+0x558D, -+0x8B27, -+0xBB2C, -+0x410D, -+0x430D, -+0x31B7, -+0x8B32, -+0x31B7, -+0x430D, -+0xAB30, -+0x8B32, -+0x0817, -+0x00FF, -+0x0C1F, -+0x9007, -+0x080E, -+0x00FF, -+0x196B, -+0x33AE, -+0x42AD, -+0x0CEF, -+0x290B, -+0x33AF, -+0x080E, -+0x03E0, -+0x196D, -+0x33AE, -+0x080F, -+0xF800, -+0x290B, -+0x33AF, -+0x080E, -+0x1C00, -+0x196D, -+0x33AE, -+0x0CEF, -+0x290C, -+0x33AF, -+0x080E, -+0x03C0, -+0x196C, -+0x33AE, -+0x31A0, -+0x080F, -+0x0078, -+0x290B, -+0x33AF, -+0x080E, -+0x003F, -+0x196C, -+0x33AE, -+0xAB5A, -+0x8B5C, -+0x5820, -+0x31A0, -+0x300D, -+0x080F, -+0x0780, -+0x290B, -+0x33AF, -+0x32ED, -+0x080F, -+0x07F8, -+0x290C, -+0x33AF, -+0x080E, -+0x0FFF, -+0x196F, -+0x33AE, -+0x42AD, -+0x080F, -+0x007F, -+0x291A, -+0x33AF, -+0x080E, -+0x0FFF, -+0x1970, -+0x33AE, -+0x42AD, -+0x080F, -+0x3F80, -+0x291A, -+0x33AF, -+0x080E, -+0x0FFF, -+0x1971, -+0x33AE, -+0x42AD, -+0x080F, -+0x007F, -+0x291B, -+0x33AF, -+0x080E, -+0x0FFF, -+0x1972, -+0x33AE, -+0x42AD, -+0x080F, -+0x3F80, -+0x291B, -+0x33AF, -+0x080F, -+0x0800, -+0xD90C, -+0x33AF, -+0x0C4F, -+0xD90D, -+0x33AF, -+0x0306, -+0x000C, -+0x0C2E, -+0x1919, -+0x33AE, -+0xAB98, -+0x8B93, -+0x0306, -+0x0008, -+0x080F, -+0x0800, -+0xD10C, -+0x33AF, -+0x0C4F, -+0xD10D, -+0x33AF, -+0x0C1F, -+0x9007, -+0x080E, -+0x0020, -+0x1B6F, -+0x33AE, -+0xABF4, -+0x8BF7, -+0x1B53, -+0x31A1, -+0x1B49, -+0x31B7, -+0x0802, -+0x0349, -+0x0C25, -+0x0807, -+0x0BB3, -+0x8C0F, -+0x0180, -+0x003F, -+0x0181, -+0xAAAA, -+0x0182, -+0x2802, -+0x0183, -+0x0800, -+0x0184, -+0x7060, -+0x0185, -+0x2402, -+0x0807, -+0x0BC4, -+0x33FE, -+0x0C1F, -+0x89C5, -+0x0160, -+0x0C07, -+0xD161, -+0x0162, -+0x0042, -+0x0163, -+0x3000, -+0xD164, -+0x0165, -+0x3000, -+0x0166, -+0x7828, -+0x0167, -+0x21A2, -+0xD168, -+0x330D, -+0x410D, -+0x530D, -+0x2969, -+0x6E00, -+0x197B, -+0x430D, -+0x31BA, -+0xD162, -+0x0165, -+0xB000, -+0x332D, -+0x410D, -+0x532D, -+0x2969, -+0x6E00, -+0x197B, -+0x430D, -+0x31BB, -+0x577A, -+0xBBE9, -+0x0C0D, -+0x080F, -+0x00FF, -+0x2BE9, -+0x33AE, -+0x32E1, -+0x0C05, -+0x0802, -+0x0349, -+0x0807, -+0x0BF4, -+0x8C0F, -+0x33FE, -+0x0C1F, -+0x87EA, -+0x1BF2, -+0x5C4D, -+0xABFD, -+0x1B52, -+0x13CD, -+0x8BFF, -+0x1B51, -+0x13CC, -+0x31A1, -+0x518D, -+0x31A0, -+0x430D, -+0xAC06, -+0x300D, -+0x8C08, -+0x080D, -+0x00FF, -+0x31B8, -+0x302D, -+0x558D, -+0xBC0D, -+0x0C0D, -+0x31B9, -+0x8BA9, -+0x1B49, -+0x31A0, -+0x30AD, -+0xAC18, -+0x5401, -+0xAC16, -+0x8C24, -+0xBC1D, -+0x8C24, -+0x5420, -+0xAC1B, -+0x8C24, -+0xBC1F, -+0x8C24, -+0x5A22, -+0x8C20, -+0x5E22, -+0x1B4A, -+0x29B4, -+0xD9B8, -+0x8C0F, -+0x9007, -+0x080F, -+0xFF00, -+0xD3E9, -+0x33AF, -+0x080E, -+0x00FF, -+0x13E8, -+0x33AE, -+0x0D4D, -+0x518D, -+0x31A2, -+0x080E, -+0xFF00, -+0x13E8, -+0x33AE, -+0x0D4D, -+0x518D, -+0x31A5, -+0x0807, -+0x0C3A, -+0x8DF4, -+0xAC40, -+0x5062, -+0x31A2, -+0x5065, -+0x31A5, -+0x8C48, -+0x5462, -+0x31A2, -+0xBC44, -+0x0C02, -+0x5465, -+0x31A5, -+0xBC48, -+0x0C05, -+0x304D, -+0x430D, -+0xAC4C, -+0x8C4E, -+0x0802, -+0x00FF, -+0x30AD, -+0x430D, -+0xAC52, -+0x8C54, -+0x0805, -+0x00FF, -+0x0807, -+0x0C57, -+0x8CCB, -+0x0800, -+0x0349, -+0x0802, -+0x034A, -+0x0803, -+0x01B4, -+0x3818, -+0x0C01, -+0x0CA4, -+0x0C37, -+0x0807, -+0x0C64, -+0x8D18, -+0x080F, -+0x03E0, -+0x0182, -+0x0006, -+0x33AF, -+0x0807, -+0x0C6C, -+0x8CD9, -+0x080E, -+0x00FF, -+0x13E8, -+0x33AE, -+0x0D4D, -+0x55AC, -+0x31A2, -+0x080E, -+0xFF00, -+0x13E8, -+0x33AE, -+0x0D4D, -+0x55AC, -+0x31A5, -+0x0807, -+0x0C7D, -+0x8DF4, -+0xAC83, -+0x5062, -+0x31A2, -+0x5065, -+0x31A5, -+0x8C8B, -+0x5462, -+0x31A2, -+0xBC87, -+0x0C02, -+0x5465, -+0x31A5, -+0xBC8B, -+0x0C05, -+0x0C0D, -+0x304D, -+0x43ED, -+0xAC96, -+0x304D, -+0x430D, -+0xAC93, -+0x8C97, -+0x0802, -+0x00FF, -+0x8C97, -+0x0C02, -+0x30AD, -+0x43ED, -+0xACA1, -+0x30AD, -+0x430D, -+0xAC9E, -+0x8CA2, -+0x0805, -+0x00FF, -+0x8CA2, -+0x0C05, -+0x0807, -+0x0CA5, -+0x8CCB, -+0x0800, -+0x0349, -+0x0802, -+0x034A, -+0x0803, -+0x01B4, -+0x3818, -+0x0801, -+0x002F, -+0x0D44, -+0x0C17, -+0x0807, -+0x0CB3, -+0x8D18, -+0x080F, -+0x03E0, -+0x0182, -+0x0004, -+0x33AF, -+0x0807, -+0x0CBB, -+0x8CD9, -+0x0800, -+0x0349, -+0x0802, -+0x034A, -+0x0803, -+0x01B4, -+0x3818, -+0x0C01, -+0x0CA4, -+0x0C37, -+0x0807, -+0x0CC8, -+0x8D18, -+0x33FE, -+0x0C1F, -+0x896A, -+0xD9AE, -+0x01AF, -+0x0016, -+0x304D, -+0x29AD, -+0xD9B6, -+0x01AF, -+0x0018, -+0x30AD, -+0x29AD, -+0xD9B6, -+0x700F, -+0xD1AE, -+0x9007, -+0x080F, -+0x7FFF, -+0x0180, -+0x07CF, -+0x33AF, -+0x0181, -+0xFFFF, -+0x0FEF, -+0x0182, -+0x0006, -+0x080F, -+0x4000, -+0xD984, -+0x080F, -+0x1C00, -+0x0184, -+0x0004, -+0x080F, -+0x0020, -+0xD984, -+0x0F0F, -+0xD184, -+0x33AF, -+0x080F, -+0x03C0, -+0xD184, -+0x33AF, -+0x080F, -+0x0800, -+0xD183, -+0x33AF, -+0x0E81, -+0x6660, -+0x080E, -+0x7FFF, -+0x198A, -+0x33AE, -+0x31A2, -+0x080E, -+0x7FFF, -+0x1986, -+0x33AE, -+0x544D, -+0x31A2, -+0x080E, -+0xFF00, -+0x1BE9, -+0x33AE, -+0x504D, -+0x31A2, -+0x430D, -+0xAD0E, -+0x8D10, -+0x0802, -+0x00FF, -+0x304D, -+0x080F, -+0xFF00, -+0x2BE9, -+0x33AF, -+0x5C21, -+0xACF9, -+0x9007, -+0x3805, -+0x0CED, -+0x52ED, -+0x54AD, -+0xAD1E, -+0x8D39, -+0x0DED, -+0x52ED, -+0x54AD, -+0xAD23, -+0x8D39, -+0x0EED, -+0x52ED, -+0x54AD, -+0xAD28, -+0x8D39, -+0x0FED, -+0x52ED, -+0x54AD, -+0xAD2D, -+0x8D39, -+0x080D, -+0x0027, -+0x52ED, -+0x54AD, -+0xAD33, -+0x8D39, -+0x308D, -+0xAD36, -+0x8D46, -+0x5C24, -+0x31A4, -+0x8D3E, -+0x32ED, -+0xAD3E, -+0x308D, -+0xAD3E, -+0x8D46, -+0x32ED, -+0xAD42, -+0x5A20, -+0x8D43, -+0x5E20, -+0x3C43, -+0xD9B8, -+0x8D18, -+0x9007, -+0x1959, -+0x1959, -+0x31A1, -+0x0800, -+0x3000, -+0x5401, -+0xBD54, -+0x0800, -+0x1000, -+0x5420, -+0xBD54, -+0x0C25, -+0x8D5C, -+0x1B5E, -+0xAD59, -+0x0807, -+0x0D59, -+0x8917, -+0x0C05, -+0x0C04, -+0x8DEC, -+0x080E, -+0x00FF, -+0x1BE9, -+0x33AE, -+0x31A0, -+0x080E, -+0xFF00, -+0x13EA, -+0x080E, -+0x00FF, -+0x1BEA, -+0x33AE, -+0x51AC, -+0xBD6C, -+0x0C01, -+0x8D73, -+0x31A1, -+0x0804, -+0x002A, -+0x55A4, -+0xBD73, -+0x0801, -+0x002A, -+0x302D, -+0x080F, -+0x00FF, -+0x2BEB, -+0x33AF, -+0x0807, -+0x0D7B, -+0x8DF4, -+0xAD7E, -+0x0C03, -+0x8D7F, -+0x4223, -+0x080E, -+0x0FE0, -+0x196F, -+0x33AE, -+0x31A2, -+0x0804, -+0x0040, -+0x5482, -+0xBD89, -+0x0C0D, -+0x31A2, -+0x4222, -+0x5062, -+0x55A0, -+0x31A0, -+0x0C04, -+0x0C2E, -+0x1BEB, -+0xAD93, -+0x8D96, -+0x300D, -+0x51A4, -+0x31A4, -+0x0C4E, -+0x1BEB, -+0xAD9A, -+0x8D9E, -+0x300D, -+0x442D, -+0x51A4, -+0x31A4, -+0x0C8E, -+0x1BEB, -+0xADA2, -+0x8DA6, -+0x300D, -+0x444D, -+0x51A4, -+0x31A4, -+0x0D0E, -+0x1BEB, -+0xADAA, -+0x8DAE, -+0x300D, -+0x446D, -+0x51A4, -+0x31A4, -+0x0E0E, -+0x1BEB, -+0xADB2, -+0x8DB6, -+0x300D, -+0x448D, -+0x51A4, -+0x31A4, -+0x080E, -+0x0020, -+0x1BEB, -+0xADBB, -+0x8DBF, -+0x300D, -+0x44AD, -+0x51A4, -+0x31A4, -+0x33AE, -+0x308D, -+0x46AD, -+0x31A4, -+0x080E, -+0xFF00, -+0x1BE9, -+0x33AE, -+0x31A1, -+0x1B5E, -+0xADDC, -+0x0CA0, -+0x5401, -+0xBDD0, -+0x0805, -+0x0060, -+0x8DDD, -+0x0D40, -+0x5401, -+0xBDD6, -+0x0805, -+0x0040, -+0x8DDD, -+0x0DE0, -+0x5401, -+0xBDDC, -+0x0805, -+0x0020, -+0x8DDD, -+0x0C05, -+0x5085, -+0x31A4, -+0x0C0D, -+0x308D, -+0x43ED, -+0xADE4, -+0x8DE6, -+0x0C04, -+0x8DEC, -+0x308D, -+0x430D, -+0xADEA, -+0x8DEC, -+0x0804, -+0x00FF, -+0x1B5E, -+0xADF2, -+0x308D, -+0x33FE, -+0x0C1F, -+0x8972, -+0x308D, -+0x8048, -+0x080E, -+0x1FE0, -+0x196E, -+0x33AE, -+0x31A3, -+0x080E, -+0x1000, -+0x196E, -+0x33AE, -+0x31A4, -+0xAE00, -+0x8E04, -+0x080D, -+0x0100, -+0x546D, -+0x31A3, -+0x308D, -+0x9007, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000, -+0x0000