From 9974e1f2d757283de24f68ff6cadf3fbcdb6a203 Mon Sep 17 00:00:00 2001 From: Luke go Date: Fri, 18 Sep 2020 16:19:52 +0900 Subject: [PATCH] ODROID-C4: wireless: esp8089: Support esp8089 driver. - The esp8089 driver supports many esp's wifi modules. So it is imported. Change-Id: If039882e183e454baff2c222bf7a1282b6705459 --- .../dts/amlogic/overlays/odroidc4/Makefile | 3 +- .../dts/amlogic/overlays/odroidc4/esp8089.dts | 24 + arch/arm64/configs/odroidc3_defconfig | 4 +- arch/arm64/configs/odroidc4_android_defconfig | 4 +- drivers/net/wireless/Kconfig | 1 + drivers/net/wireless/Makefile | 2 + drivers/net/wireless/esp8089/Kconfig | 13 + drivers/net/wireless/esp8089/LICENSE | 340 ++ drivers/net/wireless/esp8089/Makefile | 148 + drivers/net/wireless/esp8089/README.md | 60 + drivers/net/wireless/esp8089/dkms.conf | 7 + drivers/net/wireless/esp8089/eagle_fw1.h | 3268 +++++++++++++ drivers/net/wireless/esp8089/eagle_fw2.h | 4197 +++++++++++++++++ drivers/net/wireless/esp8089/eagle_fw3.h | 3791 +++++++++++++++ drivers/net/wireless/esp8089/esp_conf.h | 6 + drivers/net/wireless/esp8089/esp_config.mk | 1 + drivers/net/wireless/esp8089/esp_ctrl.c | 807 ++++ drivers/net/wireless/esp8089/esp_ctrl.h | 54 + drivers/net/wireless/esp8089/esp_debug.c | 304 ++ drivers/net/wireless/esp8089/esp_debug.h | 98 + drivers/net/wireless/esp8089/esp_ext.c | 495 ++ drivers/net/wireless/esp8089/esp_ext.h | 100 + drivers/net/wireless/esp8089/esp_file.c | 419 ++ drivers/net/wireless/esp8089/esp_file.h | 68 + drivers/net/wireless/esp8089/esp_init_data.h | 1 + drivers/net/wireless/esp8089/esp_io.c | 649 +++ drivers/net/wireless/esp8089/esp_mac80211.c | 2329 +++++++++ drivers/net/wireless/esp8089/esp_mac80211.h | 36 + drivers/net/wireless/esp8089/esp_main.c | 269 ++ drivers/net/wireless/esp8089/esp_path.h | 6 + drivers/net/wireless/esp8089/esp_pm.c | 77 + drivers/net/wireless/esp8089/esp_pub.h | 254 + drivers/net/wireless/esp8089/esp_sif.h | 301 ++ drivers/net/wireless/esp8089/esp_sip.c | 2375 ++++++++++ drivers/net/wireless/esp8089/esp_sip.h | 174 + drivers/net/wireless/esp8089/esp_utils.c | 242 + drivers/net/wireless/esp8089/esp_utils.h | 44 + drivers/net/wireless/esp8089/esp_version.h | 1 + drivers/net/wireless/esp8089/esp_wl.h | 61 + drivers/net/wireless/esp8089/esp_wmac.h | 98 + .../wireless/esp8089/firmware/LICENSE-2.0.txt | 203 + drivers/net/wireless/esp8089/init_data.conf | 1 + drivers/net/wireless/esp8089/sdio_sif_esp.c | 939 ++++ drivers/net/wireless/esp8089/sdio_stub.c | 115 + drivers/net/wireless/esp8089/sip2_common.h | 477 ++ .../net/wireless/esp8089/slc_host_register.h | 271 ++ drivers/net/wireless/esp8089/spi_sif_esp.c | 2375 ++++++++++ drivers/net/wireless/esp8089/spi_stub.c | 181 + drivers/net/wireless/esp8089/testmode.c | 1431 ++++++ drivers/net/wireless/esp8089/testmode.h | 77 + 50 files changed, 27198 insertions(+), 3 deletions(-) create mode 100644 arch/arm64/boot/dts/amlogic/overlays/odroidc4/esp8089.dts create mode 100644 drivers/net/wireless/esp8089/Kconfig create mode 100644 drivers/net/wireless/esp8089/LICENSE create mode 100755 drivers/net/wireless/esp8089/Makefile create mode 100644 drivers/net/wireless/esp8089/README.md create mode 100644 drivers/net/wireless/esp8089/dkms.conf create mode 100755 drivers/net/wireless/esp8089/eagle_fw1.h create mode 100755 drivers/net/wireless/esp8089/eagle_fw2.h create mode 100644 drivers/net/wireless/esp8089/eagle_fw3.h create mode 100755 drivers/net/wireless/esp8089/esp_conf.h create mode 100755 drivers/net/wireless/esp8089/esp_config.mk create mode 100755 drivers/net/wireless/esp8089/esp_ctrl.c create mode 100755 drivers/net/wireless/esp8089/esp_ctrl.h create mode 100755 drivers/net/wireless/esp8089/esp_debug.c create mode 100755 drivers/net/wireless/esp8089/esp_debug.h create mode 100755 drivers/net/wireless/esp8089/esp_ext.c create mode 100755 drivers/net/wireless/esp8089/esp_ext.h create mode 100644 drivers/net/wireless/esp8089/esp_file.c create mode 100644 drivers/net/wireless/esp8089/esp_file.h create mode 100755 drivers/net/wireless/esp8089/esp_init_data.h create mode 100755 drivers/net/wireless/esp8089/esp_io.c create mode 100755 drivers/net/wireless/esp8089/esp_mac80211.c create mode 100644 drivers/net/wireless/esp8089/esp_mac80211.h create mode 100755 drivers/net/wireless/esp8089/esp_main.c create mode 100755 drivers/net/wireless/esp8089/esp_path.h create mode 100755 drivers/net/wireless/esp8089/esp_pm.c create mode 100755 drivers/net/wireless/esp8089/esp_pub.h create mode 100755 drivers/net/wireless/esp8089/esp_sif.h create mode 100755 drivers/net/wireless/esp8089/esp_sip.c create mode 100755 drivers/net/wireless/esp8089/esp_sip.h create mode 100755 drivers/net/wireless/esp8089/esp_utils.c create mode 100755 drivers/net/wireless/esp8089/esp_utils.h create mode 100755 drivers/net/wireless/esp8089/esp_version.h create mode 100755 drivers/net/wireless/esp8089/esp_wl.h create mode 100755 drivers/net/wireless/esp8089/esp_wmac.h create mode 100644 drivers/net/wireless/esp8089/firmware/LICENSE-2.0.txt create mode 100755 drivers/net/wireless/esp8089/init_data.conf create mode 100755 drivers/net/wireless/esp8089/sdio_sif_esp.c create mode 100755 drivers/net/wireless/esp8089/sdio_stub.c create mode 100755 drivers/net/wireless/esp8089/sip2_common.h create mode 100755 drivers/net/wireless/esp8089/slc_host_register.h create mode 100755 drivers/net/wireless/esp8089/spi_sif_esp.c create mode 100644 drivers/net/wireless/esp8089/spi_stub.c create mode 100755 drivers/net/wireless/esp8089/testmode.c create mode 100755 drivers/net/wireless/esp8089/testmode.h diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile index 46242f44b45a..6c39d993292d 100644 --- a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/Makefile @@ -20,7 +20,8 @@ dtbo-$(CONFIG_ARCH_MESON64_ODROIDC4) += spi0.dtbo \ pwm_b-backlight.dtbo \ wifi_bt_combo.dtbo \ sdio.dtbo \ - gpio_shortcut.dtbo + gpio_shortcut.dtbo \ + esp8089.dtbo targets += $(dtbo-y) always := $(dtbo-y) diff --git a/arch/arm64/boot/dts/amlogic/overlays/odroidc4/esp8089.dts b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/esp8089.dts new file mode 100644 index 000000000000..2febfdeb1b29 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/overlays/odroidc4/esp8089.dts @@ -0,0 +1,24 @@ +/dts-v1/; +/plugin/; + +/ { + fragment@0 { + target = <&sd_emmc_a>; + + __overlay__ { + status = "okay"; + + sdio { + caps = "MMC_CAP_4_BIT_DATA", + "MMC_CAP_MMC_HIGHSPEED", + "MMC_CAP_SD_HIGHSPEED", + "MMC_CAP_NONREMOVABLE", + "MMC_CAP_UHS_SDR12", + "MMC_CAP_UHS_SDR25", + "MMC_CAP_UHS_SDR50", + "MMC_CAP_UHS_SDR104", + "MMC_PM_KEEP_POWER"; + }; + }; + }; +}; diff --git a/arch/arm64/configs/odroidc3_defconfig b/arch/arm64/configs/odroidc3_defconfig index bb9d6f2fe66d..2b396f124378 100755 --- a/arch/arm64/configs/odroidc3_defconfig +++ b/arch/arm64/configs/odroidc3_defconfig @@ -2278,7 +2278,9 @@ CONFIG_WLAN_VENDOR_ZYDAS=y # CONFIG_USB_ZD1201 is not set # CONFIG_ZD1211RW is not set # CONFIG_MAC80211_HWSIM is not set -# CONFIG_USB_NET_RNDIS_WLAN is not set +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_ESP8089=m +CONFIG_ESP8089_DEBUG_FS=y # # Enable WiMAX (Networking options) to see the WiMAX drivers diff --git a/arch/arm64/configs/odroidc4_android_defconfig b/arch/arm64/configs/odroidc4_android_defconfig index 64982bd555c1..08ac1380450d 100644 --- a/arch/arm64/configs/odroidc4_android_defconfig +++ b/arch/arm64/configs/odroidc4_android_defconfig @@ -2157,7 +2157,9 @@ CONFIG_WLAN_VENDOR_ZYDAS=y # CONFIG_USB_ZD1201 is not set # CONFIG_ZD1211RW is not set # CONFIG_MAC80211_HWSIM is not set -# CONFIG_USB_NET_RNDIS_WLAN is not set +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_ESP8089=m +CONFIG_ESP8089_DEBUG_fs=y # # Enable WiMAX (Networking options) to see the WiMAX drivers diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig index 8c8edaf1bba6..8e324ddc06da 100644 --- a/drivers/net/wireless/Kconfig +++ b/drivers/net/wireless/Kconfig @@ -32,6 +32,7 @@ source "drivers/net/wireless/rsi/Kconfig" source "drivers/net/wireless/st/Kconfig" source "drivers/net/wireless/ti/Kconfig" source "drivers/net/wireless/zydas/Kconfig" +source "drivers/net/wireless/esp8089/Kconfig" config PCMCIA_RAYCS tristate "Aviator/Raytheon 2.4GHz wireless support" diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile index f00d42953fb8..31606006dd60 100644 --- a/drivers/net/wireless/Makefile +++ b/drivers/net/wireless/Makefile @@ -25,3 +25,5 @@ obj-$(CONFIG_PCMCIA_WL3501) += wl3501_cs.o obj-$(CONFIG_USB_NET_RNDIS_WLAN) += rndis_wlan.o obj-$(CONFIG_MAC80211_HWSIM) += mac80211_hwsim.o + +obj-$(CONFIG_ESP8089) += esp8089/ diff --git a/drivers/net/wireless/esp8089/Kconfig b/drivers/net/wireless/esp8089/Kconfig new file mode 100644 index 000000000000..8fdd8fa828ad --- /dev/null +++ b/drivers/net/wireless/esp8089/Kconfig @@ -0,0 +1,13 @@ +config ESP8089 + tristate "Espressif ESP8089 SDIO WiFi" + depends on MAC80211 + ---help--- + ESP8089 is a low-budget 2.4GHz WiFi chip by Espressif, used in many + cheap tablets with Allwinner or Rockchip SoC + +config ESP8089_DEBUG_FS + bool "Enable DebugFS support for ESP8089" + depends on ESP8089 + default y + ---help--- + DebugFS support for ESP8089 diff --git a/drivers/net/wireless/esp8089/LICENSE b/drivers/net/wireless/esp8089/LICENSE new file mode 100644 index 000000000000..d6a93266f748 --- /dev/null +++ b/drivers/net/wireless/esp8089/LICENSE @@ -0,0 +1,340 @@ +GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {description} + Copyright (C) {year} {fullname} + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + {signature of Ty Coon}, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + diff --git a/drivers/net/wireless/esp8089/Makefile b/drivers/net/wireless/esp8089/Makefile new file mode 100755 index 000000000000..10eb3413b21c --- /dev/null +++ b/drivers/net/wireless/esp8089/Makefile @@ -0,0 +1,148 @@ +MODNAME = esp8089 + +# By default, we try to compile the modules for the currently running +# kernel. But it's the first approximation, as we will re-read the +# version from the kernel sources. +KVERS_UNAME ?= $(shell uname -r) +KVERS_ARCH ?= $(shell arch) + +# KBUILD is the path to the Linux kernel build tree. It is usually the +# same as the kernel source tree, except when the kernel was compiled in +# a separate directory. +KBUILD ?= $(PWD)/out/target/product/$(TARGET_PRODUCT)/obj/KERNEL_OBJ + +ifeq (,$(KBUILD)) +$(error Kernel build tree not found - please set KBUILD to configured kernel) +endif + +KCONFIG := $(KBUILD)/.config +ifeq (,$(wildcard $(KCONFIG))) +$(error No .config found in $(KBUILD), please set KBUILD to configured kernel) +endif + +ifneq (,$(wildcard $(KBUILD)/include/linux/version.h)) +ifneq (,$(wildcard $(KBUILD)/include/generated/uapi/linux/version.h)) +$(error Multiple copies of version.h found, please clean your build tree) +endif +endif + +# Kernel Makefile doesn't always know the exact kernel version, so we +# get it from the kernel headers instead and pass it to make. +VERSION_H := $(KBUILD)/include/generated/utsrelease.h +ifeq (,$(wildcard $(VERSION_H))) +VERSION_H := $(KBUILD)/include/linux/utsrelease.h +endif +ifeq (,$(wildcard $(VERSION_H))) +VERSION_H := $(KBUILD)/include/linux/version.h +endif +ifeq (,$(wildcard $(VERSION_H))) +$(error Please run 'make modules_prepare' in $(KBUILD)) +endif + +KVERS := $(shell sed -ne 's/"//g;s/^\#define UTS_RELEASE //p' $(VERSION_H)) + +ifeq (,$(KVERS)) +$(error Cannot find UTS_RELEASE in $(VERSION_H), please report) +endif + +INST_DIR = /lib/modules/$(KVERS)/misc + +SRC_DIR=$(shell pwd) + +include $(KCONFIG) + +#Shouldn't fail when not having dkms.conf in directory +#(usually when installing a built package on other system) +-include dkms.conf +PACKAGE_NAME := $(patsubst "%",%,$(PACKAGE_NAME)) +PACKAGE_VERSION := $(patsubst "%",%,$(PACKAGE_VERSION)) +DKMS_PATH := /usr/src/$(PACKAGE_NAME)-$(PACKAGE_VERSION)/ + +EXTRA_CFLAGS += -DDEBUG -DSIP_DEBUG -DFAST_TX_STATUS \ + -DKERNEL_IV_WAR -DRX_SENDUP_SYNC -DDEBUG_FS \ + -DSIF_DSR_WAR -DHAS_INIT_DATA -DHAS_FW + +EXTRA_CFLAGS += -DESP_USE_SDIO + +ifdef ANDROID +EXTRA_CFLAGS += -DANDROID +endif + +ifdef P2P_CONCURRENT +EXTRA_CFLAGS += -DP2P_CONCURRENT +endif + +ifdef TEST_MODE +EXTRA_CFLAGS += -DTEST_MODE +endif + +OBJS = esp_debug.o sdio_sif_esp.o spi_sif_esp.o esp_io.o \ + esp_file.o esp_main.o esp_sip.o esp_ext.o esp_ctrl.o \ + esp_mac80211.o esp_debug.o esp_utils.o esp_pm.o testmode.o + +all: config_check modules + +MODULE := $(MODNAME).ko +obj-m := $(MODNAME).o + +$(MODNAME)-objs := $(OBJS) + +config_check: + @if [ -z "$(CONFIG_WIRELESS_EXT)$(CONFIG_NET_RADIO)" ]; then \ + echo; echo; \ + echo "*** WARNING: This kernel lacks wireless extensions."; \ + echo "Wireless drivers will not work properly."; \ + echo; echo; \ + fi + +# Taken from here: +# http://www.xkyle.com/building-linux-packages-for-kernel-drivers/ + +dkms: + $(MAKE) config_check + echo $(DKMS_PATH) + echo "$(KVERS_UNAME)" + mkdir -p $(DKMS_PATH) + cp -r . $(DKMS_PATH) + -rm -rf $(DKMS_PATH)/.git + -rm $(DKMS_PATH)/.gitignore + -rm $(DKMS_PATH)/*deb + dkms add -m $(PACKAGE_NAME) -v $(PACKAGE_VERSION) + dkms build -m $(PACKAGE_NAME) -v $(PACKAGE_VERSION) + +dkmsdeb: dkms + dkms mkdsc -m $(PACKAGE_NAME) -v $(PACKAGE_VERSION) --source-only + dkms mkdeb -m $(PACKAGE_NAME) -v $(PACKAGE_VERSION) --source-only + cp /var/lib/dkms/$(PACKAGE_NAME)/$(PACKAGE_VERSION)/deb/*.deb . + +cleandkms: + -dkms uninstall $(PACKAGE_NAME)/$(PACKAGE_VERSION) + -dkms remove $(PACKAGE_NAME)/$(PACKAGE_VERSION) --all + -rm -rf /var/lib/dkms/$(PACKAGE_NAME)/$(PACKAGE_VERSION) $(DKMS_PATH) + +modules: + $(MAKE) -C $(KBUILD) M=$(SRC_DIR) + +$(MODULE): + $(MAKE) modules + +clean: + rm -f *.o *.ko .*.cmd *.mod.c *.symvers modules.order + rm -rf .tmp_versions + +install: config_check $(MODULE) + @/sbin/modinfo $(MODULE) | grep -q "^vermagic: *$(KVERS) " || \ + { echo "$(MODULE)" is not for Linux $(KVERS); exit 1; } + mkdir -p -m 755 $(DESTDIR)$(INST_DIR) + install -m 0644 $(MODULE) $(DESTDIR)$(INST_DIR) +ifndef DESTDIR + -/sbin/depmod -a $(KVERS) +endif + +uninstall: + rm -f $(DESTDIR)$(INST_DIR)/$(MODULE) +ifndef DESTDIR + -/sbin/depmod -a $(KVERS) +endif + +.PHONY: all modules clean install config_check diff --git a/drivers/net/wireless/esp8089/README.md b/drivers/net/wireless/esp8089/README.md new file mode 100644 index 000000000000..e6b70ddef3cf --- /dev/null +++ b/drivers/net/wireless/esp8089/README.md @@ -0,0 +1,60 @@ +esp8089 +====== + +ESP8089 Linux driver + +v1.9 imported from the Rockchip Linux kernel github repo + +Modified to build as a standalone module for SDIO devices. + + + + +Building: + + make + + sudo make install + +Using: + +modprobe should autoload the module as the ESP8089 should be detected by +the SDIO driver and loaded as a dependency. + +The ESP8089 requires that the CH_PD signal be reset before the driver +can load properly, so a GPIO is used by the driver to assert this signal +for 200ms. The GPIO defaults to 0 (ID_SD on the Raspberry Pi) but this +can be changed to any GPIO mapped by the kernel GPIO driver through the +esp_reset_gpio module parameter. This can be accomplished by creating a +new modprobe.d config file. For example, to use GPIO 5 instead, create +as root /etc/modprobe.d/esp.conf and add the line: + + options esp8089 esp_reset_gpio=5 + +which changes the GPIO from 0 to 5. + + +Building a Debian source package: + +To build a source package for release, first install the following: + +apt-get install debhelper dkms raspberrypi-kernel-headers + +Then build the package: + +sudo make dkmsdeb + +The module will be named esp8089-dkms_*.deb. Don't forget to update the version +in dkms.conf and committing before making a release! + + +If the build fails to create a source package, try installing dkms from github: + +sudo apt-get remove dkms +sudo apt-get install devscripts quilt +git clone https://github.com/dell/dkms.git +cd dkms +sed -ie "s/module-init-tools/kmod/g" debian/control +make debs + +and install the resulting package in dist/ diff --git a/drivers/net/wireless/esp8089/dkms.conf b/drivers/net/wireless/esp8089/dkms.conf new file mode 100644 index 000000000000..82572f151ece --- /dev/null +++ b/drivers/net/wireless/esp8089/dkms.conf @@ -0,0 +1,7 @@ +PACKAGE_NAME="esp8089" +PACKAGE_VERSION="1.9.20190603" +CLEAN="make clean" +MAKE[0]="make KVERS_UNAME=$kernelver" +BUILT_MODULE_NAME[0]="esp8089" +DEST_MODULE_LOCATION="/updates" +AUTOINSTALL="yes" diff --git a/drivers/net/wireless/esp8089/eagle_fw1.h b/drivers/net/wireless/esp8089/eagle_fw1.h new file mode 100755 index 000000000000..35960edf0421 --- /dev/null +++ b/drivers/net/wireless/esp8089/eagle_fw1.h @@ -0,0 +1,3268 @@ +/* + * Copyright (c) Espressif System + + * Apr 13 2013 16:44:24 + */ + + +static u8 eagle_fw1[] = +{ + 0xe9, 0x03, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x10, 0x40, 0x30, 0xc1, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x45, 0x2e, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0x00, 0xfe, 0xef, 0x3f, 0x0c, 0x09, 0x51, 0xfe, 0xff, 0xc0, 0x20, 0x00, 0x62, 0x25, 0x97, 0xc0, + 0x20, 0x00, 0x72, 0x25, 0x96, 0xc0, 0x20, 0x00, 0x42, 0x25, 0x95, 0xc0, 0x20, 0x00, 0x70, 0x8f, + 0x04, 0x60, 0xa0, 0xf5, 0x52, 0x25, 0x94, 0x92, 0x42, 0x01, 0x92, 0x42, 0x02, 0xf7, 0x67, 0x16, + 0x66, 0x18, 0x13, 0x40, 0x78, 0x41, 0x72, 0x42, 0x03, 0x42, 0x42, 0x04, 0xa2, 0x42, 0x00, 0x50, + 0x88, 0x75, 0x82, 0x42, 0x05, 0x0d, 0xf0, 0x5d, 0x07, 0x4d, 0x06, 0x60, 0x78, 0x41, 0x06, 0xf9, + 0xff, 0x00, 0x00, 0x00, 0x30, 0x8a, 0xfe, 0x3f, 0x40, 0x4f, 0x00, 0x40, 0x0c, 0xc3, 0x52, 0xa1, + 0x00, 0x62, 0xa1, 0x00, 0x0c, 0x17, 0x12, 0xc1, 0xe0, 0x09, 0x61, 0x22, 0xc1, 0x10, 0x29, 0x01, + 0x02, 0xc1, 0x14, 0x21, 0xf8, 0xff, 0x09, 0x11, 0x42, 0xc2, 0x10, 0x01, 0xf7, 0xff, 0xc0, 0x00, + 0x00, 0x28, 0x41, 0x08, 0x61, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x06, 0x00, 0x60, + 0x00, 0x80, 0xfe, 0x3f, 0x28, 0x03, 0x00, 0x60, 0x00, 0x0a, 0x00, 0x60, 0xd0, 0x4c, 0x00, 0x40, + 0x04, 0x4d, 0x00, 0x40, 0xc0, 0x5d, 0x00, 0x40, 0xb8, 0x5d, 0x00, 0x40, 0x12, 0xc1, 0xe0, 0xe9, + 0x41, 0xf9, 0x51, 0x39, 0x01, 0x09, 0x11, 0xd9, 0x31, 0xc9, 0x21, 0xdd, 0x02, 0x20, 0xc0, 0x75, + 0xb6, 0x8c, 0x06, 0x0c, 0x10, 0x0c, 0x1c, 0x46, 0x00, 0x00, 0x0c, 0x00, 0x9c, 0xfc, 0x26, 0x1c, + 0x1f, 0xf6, 0x4c, 0x02, 0xf6, 0x2c, 0x0e, 0x22, 0xcc, 0xfc, 0x16, 0xa2, 0x14, 0x26, 0x5c, 0x05, + 0x32, 0xcc, 0xfa, 0x16, 0x13, 0x14, 0x0c, 0x04, 0x49, 0x61, 0x0c, 0x04, 0xc6, 0x01, 0x00, 0x0c, + 0x10, 0x0c, 0x14, 0x0c, 0x05, 0x59, 0x61, 0x0c, 0x12, 0xd0, 0xe0, 0x34, 0x00, 0x1e, 0x40, 0x00, + 0xf2, 0xa1, 0x9c, 0x64, 0x4d, 0x0f, 0x0c, 0x05, 0x0c, 0x03, 0x00, 0x32, 0x83, 0x00, 0x33, 0xa1, + 0x00, 0x20, 0xa1, 0x01, 0xe2, 0xff, 0xc0, 0x00, 0x00, 0x46, 0x03, 0x00, 0x0c, 0x02, 0x0c, 0x03, + 0x0c, 0x04, 0x5d, 0x0f, 0x01, 0xde, 0xff, 0xc0, 0x00, 0x00, 0x21, 0xd8, 0xff, 0xd0, 0x09, 0x54, + 0xa2, 0xae, 0xcf, 0x2a, 0x00, 0xc0, 0x20, 0x00, 0x92, 0x20, 0x80, 0xa0, 0x99, 0x10, 0xc0, 0x20, + 0x00, 0x92, 0x60, 0x80, 0x0c, 0x48, 0xd0, 0x74, 0x24, 0xd0, 0x64, 0x14, 0x80, 0x77, 0x10, 0xe0, + 0x77, 0x11, 0x70, 0x66, 0x20, 0xc0, 0x66, 0x11, 0xc0, 0x20, 0x00, 0x52, 0x20, 0x80, 0x60, 0x55, + 0x20, 0xc0, 0x20, 0x00, 0x48, 0x61, 0x52, 0x60, 0x80, 0xdc, 0x34, 0x42, 0xaf, 0x7f, 0xc0, 0x20, + 0x00, 0x32, 0x20, 0x80, 0x40, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, 0x60, 0x80, 0x46, 0x04, 0x00, + 0x62, 0xa0, 0x80, 0xc0, 0x20, 0x00, 0x52, 0x20, 0x80, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, + 0x60, 0x80, 0x21, 0xbf, 0xff, 0xb6, 0x2c, 0x44, 0x26, 0x5c, 0x44, 0x41, 0xbe, 0xff, 0xe0, 0x3e, + 0x11, 0x4a, 0x33, 0xc0, 0x20, 0x00, 0x42, 0xa8, 0x7f, 0x38, 0x03, 0x68, 0x01, 0x40, 0x33, 0x10, + 0x42, 0xcc, 0xfe, 0x90, 0x44, 0x11, 0x40, 0x33, 0x20, 0x26, 0x2c, 0x05, 0x52, 0xa4, 0x00, 0x50, + 0x33, 0x20, 0x16, 0x96, 0x06, 0x72, 0x12, 0x01, 0x09, 0x71, 0xf0, 0x77, 0x20, 0x72, 0x52, 0x01, + 0x2d, 0x0e, 0x01, 0xb3, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x71, 0xc6, 0x02, 0x00, 0x66, 0x5c, 0x08, + 0x82, 0x12, 0x03, 0x80, 0x8f, 0x20, 0x82, 0x52, 0x03, 0xa2, 0xaf, 0xbf, 0xc0, 0x20, 0x00, 0x92, + 0x20, 0x80, 0xa0, 0x99, 0x10, 0xc0, 0x20, 0x00, 0x92, 0x60, 0x80, 0xdc, 0xac, 0x2d, 0x0e, 0x01, + 0xa9, 0xff, 0xc0, 0x00, 0x00, 0xd0, 0x27, 0x14, 0x01, 0xa8, 0xff, 0xc0, 0x00, 0x00, 0x0c, 0x0b, + 0xc1, 0xa2, 0xff, 0xc0, 0x20, 0x00, 0xb2, 0x6c, 0x6d, 0xc8, 0x21, 0xd8, 0x31, 0xe8, 0x41, 0xf8, + 0x51, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x0c, 0x1e, 0xe9, 0x61, 0x86, 0xae, 0xff, 0x42, + 0x12, 0x00, 0x26, 0x2c, 0x0a, 0x40, 0x4f, 0x20, 0x42, 0x52, 0x00, 0x09, 0x71, 0xc6, 0xe3, 0xff, + 0x7c, 0xf5, 0x62, 0x12, 0x03, 0x50, 0x5f, 0x30, 0x40, 0x45, 0x10, 0x60, 0x55, 0x10, 0x52, 0x52, + 0x03, 0xc6, 0xf8, 0xff, 0x34, 0x83, 0xfe, 0x3f, 0x40, 0x83, 0xfe, 0x3f, 0x1a, 0x47, 0x00, 0x00, + 0xb8, 0x1c, 0x00, 0x40, 0x14, 0x1d, 0x00, 0x40, 0x68, 0x2e, 0x00, 0x40, 0x48, 0x1d, 0x00, 0x40, + 0x12, 0xc1, 0xf0, 0x22, 0x61, 0x00, 0x02, 0x61, 0x01, 0x05, 0xde, 0xff, 0x01, 0xf9, 0xff, 0xc0, + 0x00, 0x00, 0x21, 0xf4, 0xff, 0x31, 0xf4, 0xff, 0x3c, 0x94, 0x51, 0xf4, 0xff, 0x01, 0xf5, 0xff, + 0xc0, 0x00, 0x00, 0x28, 0x01, 0x05, 0xbf, 0x03, 0x01, 0xf4, 0xff, 0xc0, 0x00, 0x00, 0x01, 0xf3, + 0xff, 0xc0, 0x00, 0x00, 0x1c, 0x02, 0x45, 0x44, 0x00, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0xf0, 0xf4, 0xfe, 0x3f, 0x20, 0x8a, 0xfe, 0x3f, 0x50, 0x83, 0xfe, 0x3f, 0x5c, 0x83, 0xfe, 0x3f, + 0x68, 0x83, 0xfe, 0x3f, 0xb0, 0x05, 0x10, 0x40, 0x00, 0x00, 0x06, 0x00, 0x74, 0x83, 0xfe, 0x3f, + 0xcc, 0x24, 0x00, 0x40, 0x2c, 0x24, 0x00, 0x40, 0xc4, 0x56, 0x00, 0x40, 0x51, 0xf5, 0xff, 0x12, + 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x01, 0xf3, 0xff, 0xc2, 0x61, 0x01, 0x57, 0xb0, 0x09, 0x0c, 0x02, + 0x22, 0x40, 0x00, 0x1b, 0x00, 0x57, 0x90, 0xf7, 0x21, 0xf0, 0xff, 0x31, 0xf0, 0xff, 0x41, 0xf0, + 0xff, 0x01, 0xf3, 0xff, 0xc0, 0x00, 0x00, 0x21, 0xef, 0xff, 0x01, 0xf2, 0xff, 0xc0, 0x00, 0x00, + 0xc1, 0x62, 0xff, 0xc0, 0x20, 0x00, 0xc2, 0x2c, 0x66, 0xac, 0x0c, 0xc0, 0x20, 0xf4, 0x8c, 0xb2, + 0x0c, 0x03, 0x85, 0xd8, 0xff, 0x21, 0x5a, 0xff, 0x0c, 0x10, 0x02, 0x42, 0x0a, 0xc0, 0x00, 0xf5, + 0x8c, 0x90, 0x21, 0xe5, 0xff, 0x0c, 0x13, 0x20, 0x20, 0x20, 0x05, 0xd7, 0xff, 0x01, 0xe6, 0xff, + 0xc0, 0x00, 0x00, 0x22, 0xa2, 0x0c, 0x45, 0x36, 0x00, 0x85, 0x04, 0x00, 0x0c, 0x02, 0xc5, 0x39, + 0x00, 0x21, 0xde, 0xff, 0x01, 0xdf, 0xff, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x20, 0x8a, 0xfe, 0x3f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 0x00, + 0x60, 0x04, 0x10, 0x40, 0x00, 0xde, 0xff, 0x3f, 0x00, 0xe1, 0xff, 0x3f, 0x00, 0x02, 0x00, 0x60, + 0x80, 0x83, 0xfe, 0x3f, 0xf9, 0x84, 0x2a, 0x00, 0xa8, 0x58, 0x00, 0x40, 0x88, 0x0f, 0x00, 0x40, + 0xa8, 0x0f, 0x00, 0x40, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xfb, 0xff, 0xc0, 0x00, 0x00, 0x61, + 0xf1, 0xff, 0x58, 0xc2, 0x59, 0x06, 0x41, 0xf0, 0xff, 0x21, 0x3b, 0xff, 0xc0, 0x20, 0x00, 0x32, + 0x22, 0x57, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x62, 0x57, 0x31, 0xec, 0xff, 0xc0, 0x20, + 0x00, 0x02, 0x22, 0x51, 0x00, 0x00, 0xf4, 0x30, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x31, 0xe8, 0xff, + 0x02, 0x62, 0x51, 0x0c, 0x04, 0x0c, 0x12, 0x01, 0xed, 0xff, 0xc0, 0x00, 0x00, 0x71, 0x2c, 0xff, + 0x41, 0xe6, 0xff, 0x72, 0x07, 0x0a, 0x01, 0xe3, 0xff, 0xac, 0x87, 0x02, 0x20, 0xfe, 0x31, 0xe3, + 0xff, 0x66, 0x20, 0x0b, 0x22, 0x14, 0x7e, 0xc0, 0x20, 0x00, 0x22, 0x63, 0x42, 0xc6, 0x02, 0x00, + 0x66, 0x30, 0x08, 0x52, 0x14, 0x7e, 0xc0, 0x20, 0x00, 0x52, 0x63, 0x41, 0x21, 0xdd, 0xff, 0x01, + 0xb0, 0xff, 0xc0, 0x00, 0x00, 0x71, 0xdb, 0xff, 0xc0, 0x20, 0x00, 0x61, 0x1f, 0xff, 0x72, 0x66, + 0x43, 0xc0, 0x20, 0x00, 0x62, 0x26, 0x43, 0x0c, 0x22, 0x01, 0xd9, 0xff, 0xc0, 0x00, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0xf9, 0x04, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x80, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, 0x94, 0x83, 0xfe, 0x3f, 0x88, 0x83, 0xfe, 0x3f, + 0x12, 0xc1, 0xe0, 0xc9, 0x11, 0x09, 0x01, 0xe9, 0x31, 0xf9, 0x41, 0xd9, 0x21, 0xf1, 0xc1, 0xff, + 0xd1, 0x0e, 0xff, 0xe1, 0xf5, 0xff, 0xc0, 0x20, 0x00, 0xc2, 0x2d, 0x42, 0x16, 0xdc, 0x0f, 0x17, + 0xfc, 0x02, 0x27, 0x6c, 0x68, 0xc0, 0x20, 0x00, 0x02, 0x0f, 0x04, 0x22, 0xa0, 0xff, 0x22, 0x6d, + 0x6c, 0x1b, 0x00, 0x00, 0x00, 0x74, 0x02, 0x4f, 0x04, 0xc0, 0x20, 0x00, 0xb1, 0x01, 0xff, 0x02, + 0x6d, 0x4b, 0xb2, 0x0b, 0x0a, 0x01, 0xb7, 0xff, 0xac, 0x8b, 0x02, 0x20, 0xfe, 0x66, 0x20, 0x11, + 0x21, 0xb6, 0xff, 0x22, 0x12, 0x7e, 0xc0, 0x20, 0x00, 0x31, 0xb4, 0xff, 0x22, 0x63, 0x42, 0x46, + 0x04, 0x00, 0x66, 0x30, 0x0e, 0x31, 0xb0, 0xff, 0x32, 0x13, 0x7e, 0xc0, 0x20, 0x00, 0x41, 0xaf, + 0xff, 0x32, 0x64, 0x41, 0xc0, 0x20, 0x00, 0x41, 0xdd, 0xff, 0x42, 0x6d, 0x44, 0xc0, 0x20, 0x00, + 0x0c, 0x43, 0x28, 0x0f, 0x32, 0x6d, 0x44, 0x08, 0x52, 0x28, 0x82, 0xc0, 0x00, 0x00, 0xf7, 0x6c, + 0x1b, 0xc0, 0x20, 0x00, 0x61, 0xd7, 0xff, 0x62, 0x6d, 0x44, 0xc0, 0x20, 0x00, 0x52, 0x2d, 0x53, + 0x58, 0x25, 0x8c, 0x75, 0x28, 0x0f, 0x08, 0x62, 0x28, 0x82, 0xc0, 0x00, 0x00, 0x07, 0x7c, 0x20, + 0xc0, 0x20, 0x00, 0x41, 0xd0, 0xff, 0x52, 0x2d, 0x43, 0x40, 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, + 0x6d, 0x43, 0xc0, 0x20, 0x00, 0x32, 0x2d, 0x44, 0x40, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, 0x6d, + 0x44, 0xe7, 0x8c, 0x02, 0x86, 0xcf, 0xff, 0x37, 0xfc, 0x30, 0x57, 0xfc, 0x4e, 0xa7, 0xec, 0x5d, + 0x77, 0xec, 0x08, 0xc0, 0x20, 0x00, 0x62, 0x2d, 0x44, 0x46, 0xca, 0xff, 0x81, 0xd4, 0xfe, 0xc0, + 0x20, 0x00, 0xa2, 0xa0, 0x80, 0xa2, 0x6d, 0x44, 0x0c, 0x09, 0xc0, 0x20, 0x00, 0x92, 0x68, 0xc1, + 0x3c, 0xd7, 0xc0, 0x20, 0x00, 0x72, 0x68, 0xc0, 0x06, 0xff, 0xff, 0x21, 0xbb, 0xff, 0x31, 0xbb, + 0xff, 0x42, 0xa2, 0x60, 0x01, 0x5b, 0xff, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0xc8, 0x11, 0xd8, + 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x21, 0xb3, 0xff, 0x31, + 0xb3, 0xff, 0x42, 0xa2, 0x67, 0x01, 0x52, 0xff, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x21, 0xae, + 0xff, 0x31, 0xae, 0xff, 0x42, 0xa2, 0x6e, 0x01, 0x4e, 0xff, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x66, 0x92, 0x0c, 0x0c, 0xd2, 0x45, 0x02, 0x00, 0x0c, 0xa2, 0x05, + 0x02, 0x00, 0xc6, 0x01, 0x00, 0x0c, 0xd0, 0x07, 0x12, 0x02, 0x45, 0x01, 0x00, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x5f, 0x4c, 0x3f, 0x00, 0x40, + 0x12, 0xc1, 0xf0, 0x29, 0x11, 0x09, 0x01, 0x01, 0xfd, 0xff, 0xc0, 0x00, 0x00, 0x42, 0x02, 0x40, + 0x08, 0x11, 0x21, 0xf8, 0xff, 0x31, 0xf8, 0xff, 0x40, 0x22, 0xd1, 0x3a, 0x22, 0xc0, 0x20, 0x00, + 0x32, 0x22, 0x87, 0x77, 0x73, 0x08, 0xc0, 0x20, 0x00, 0x52, 0x22, 0x87, 0x77, 0xf5, 0xf6, 0xc0, + 0x20, 0x00, 0x02, 0x62, 0x80, 0x0c, 0x02, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xec, 0xff, 0xc0, 0x00, 0x00, 0x01, + 0xfc, 0xff, 0x72, 0x02, 0x40, 0x51, 0xe7, 0xff, 0x61, 0xe8, 0xff, 0x70, 0x55, 0xd1, 0x6a, 0x55, + 0xc0, 0x20, 0x00, 0x22, 0x25, 0x87, 0x27, 0x00, 0x08, 0xc0, 0x20, 0x00, 0x82, 0x25, 0x87, 0x07, + 0x88, 0xf6, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x40, 0x8b, 0xfe, 0x3f, + 0xd0, 0x8f, 0xfe, 0x3f, 0x80, 0x61, 0x00, 0x00, 0x94, 0x5e, 0x00, 0x40, 0x51, 0xfe, 0xff, 0x0c, + 0x07, 0x21, 0xfa, 0xff, 0x12, 0xc1, 0xe0, 0x32, 0xa1, 0x04, 0x6d, 0x03, 0x09, 0x61, 0x48, 0x02, + 0x02, 0xc1, 0x14, 0x22, 0xc2, 0x10, 0x32, 0x54, 0x02, 0x41, 0xf5, 0xff, 0x32, 0xc1, 0x10, 0x09, + 0x11, 0x39, 0x01, 0x32, 0xa4, 0x80, 0x01, 0x74, 0xfe, 0xc0, 0x00, 0x00, 0x28, 0x41, 0x38, 0x51, + 0x42, 0xa0, 0x60, 0x01, 0xf1, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x61, 0x12, 0xc1, 0x20, 0x0d, 0xf0, + 0x1c, 0x07, 0x10, 0x40, 0x4c, 0x54, 0x00, 0x40, 0x8c, 0x60, 0x00, 0x40, 0x12, 0xc1, 0xf0, 0x29, + 0x01, 0x09, 0x11, 0x01, 0x35, 0xff, 0xc0, 0x00, 0x00, 0x01, 0xe4, 0xff, 0x29, 0x00, 0x21, 0xf8, + 0xff, 0x01, 0xf8, 0xff, 0xc0, 0x00, 0x00, 0x31, 0xe1, 0xff, 0x38, 0x03, 0x28, 0x01, 0x22, 0x53, + 0x03, 0x01, 0xf5, 0xff, 0xc0, 0x00, 0x00, 0x45, 0xf8, 0xff, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x80, 0x51, 0x00, 0x40, 0x08, 0x58, 0x00, 0x40, 0x3d, 0x02, 0x12, 0xc1, + 0xf0, 0x0c, 0x02, 0x09, 0x01, 0x01, 0xfb, 0xff, 0xc0, 0x00, 0x00, 0x3d, 0x02, 0x01, 0xfa, 0xff, + 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x22, + 0x22, 0x01, 0x02, 0x61, 0x00, 0x02, 0x02, 0x07, 0x32, 0x02, 0x06, 0x80, 0x00, 0x11, 0x30, 0x00, + 0x20, 0x32, 0x02, 0x05, 0x80, 0x00, 0x11, 0x30, 0x00, 0x20, 0x32, 0x02, 0x04, 0x80, 0x00, 0x11, + 0x30, 0x00, 0x20, 0x66, 0x70, 0x05, 0x22, 0xc2, 0x0c, 0x45, 0xb3, 0xff, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x0d, 0xf0, 0x00, 0x00, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x60, + 0x20, 0x93, 0xc0, 0x3b, 0x89, 0x90, 0x89, 0xb3, 0x80, 0x82, 0x21, 0x1b, 0x88, 0x9c, 0x88, 0x31, + 0xfb, 0xff, 0x20, 0x78, 0xa0, 0x3a, 0x34, 0xc0, 0x20, 0x00, 0x48, 0x02, 0xc0, 0x20, 0x00, 0x42, + 0x63, 0x80, 0x4b, 0x22, 0x4b, 0x33, 0x77, 0x92, 0xed, 0xe0, 0x28, 0x11, 0x0d, 0xf0, 0x00, 0x00, + 0x20, 0x83, 0xc0, 0x3b, 0x78, 0x80, 0x78, 0xb3, 0x70, 0x72, 0x21, 0x1b, 0x77, 0x9c, 0xa7, 0xa1, + 0xef, 0xff, 0x40, 0x97, 0xa0, 0xaa, 0x34, 0xaa, 0x49, 0xc0, 0x20, 0x00, 0xb2, 0x23, 0x80, 0xc0, + 0x20, 0x00, 0xb9, 0x02, 0x4b, 0x33, 0x4b, 0x22, 0x47, 0x93, 0xed, 0xe0, 0x27, 0x11, 0x0d, 0xf0, + 0x50, 0xf1, 0xfe, 0x3f, 0x20, 0x73, 0x04, 0x20, 0x61, 0x04, 0x20, 0x50, 0x04, 0x12, 0xc1, 0xe0, + 0x09, 0x31, 0xc9, 0x41, 0x6a, 0x55, 0xc1, 0xfa, 0xff, 0x20, 0x62, 0x04, 0x7a, 0x66, 0x20, 0x05, + 0x04, 0x20, 0x76, 0x04, 0x7a, 0x00, 0x20, 0x74, 0x04, 0x7a, 0x00, 0x6a, 0x00, 0x5a, 0x00, 0x30, + 0x53, 0x24, 0x00, 0x20, 0x74, 0x0c, 0x40, 0xf6, 0x52, 0x01, 0x0d, 0x02, 0x00, 0x20, 0x90, 0x1c, + 0xd0, 0x50, 0x22, 0x90, 0x20, 0x20, 0x74, 0x27, 0x30, 0x01, 0x0d, 0x02, 0x0c, 0x42, 0x00, 0x50, + 0x74, 0x0c, 0x13, 0x08, 0x0c, 0x40, 0x45, 0xb0, 0x68, 0x14, 0x02, 0x20, 0x2b, 0x48, 0x04, 0x60, + 0x79, 0x84, 0x79, 0x11, 0x40, 0x50, 0x84, 0x60, 0x60, 0x84, 0x69, 0x21, 0x59, 0x01, 0x40, 0x49, + 0x84, 0xc0, 0x00, 0x00, 0x48, 0x11, 0x08, 0x0c, 0x0c, 0x52, 0x02, 0x20, 0x2b, 0x0c, 0x13, 0xc0, + 0x00, 0x00, 0x48, 0x01, 0x08, 0x0c, 0x0c, 0x42, 0x02, 0x20, 0x2b, 0x0c, 0x23, 0xc0, 0x00, 0x00, + 0x48, 0x21, 0x08, 0x0c, 0x0c, 0x52, 0x02, 0x20, 0x2b, 0x0c, 0x23, 0xc0, 0x00, 0x00, 0xc8, 0x41, + 0x08, 0x31, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x9c, 0x83, 0xfe, 0x3f, 0xf4, 0x83, 0xfe, 0x3f, + 0x00, 0x00, 0x80, 0x00, 0x10, 0x84, 0xfe, 0x3f, 0x1c, 0x84, 0xfe, 0x3f, 0xad, 0x05, 0x9d, 0x06, + 0x12, 0xc1, 0xb0, 0x29, 0xd1, 0x09, 0x51, 0xf9, 0x91, 0xc9, 0x61, 0x39, 0xf1, 0xe9, 0x81, 0xd9, + 0x71, 0x49, 0xa1, 0xd1, 0xcb, 0xff, 0x6c, 0xf4, 0xed, 0x07, 0x31, 0xbc, 0xfe, 0xc0, 0x20, 0x00, + 0x22, 0x23, 0xe4, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x1c, 0x24, 0x0c, 0x75, 0x0c, 0x06, 0x0c, + 0x07, 0xa9, 0xb1, 0x99, 0xe1, 0x08, 0x0d, 0x22, 0x63, 0xe4, 0x22, 0xa0, 0x77, 0x02, 0x20, 0x27, + 0x0c, 0x03, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0x94, 0x0c, 0x75, 0x08, 0x0d, + 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x0c, 0x13, 0x0c, 0x52, 0x0c, 0x0c, + 0x48, 0xd1, 0xc2, 0x61, 0x13, 0x40, 0x23, 0x93, 0x29, 0xc1, 0x08, 0xc1, 0xf2, 0x21, 0x13, 0x07, + 0x2f, 0x02, 0x06, 0xa7, 0x00, 0x16, 0x4f, 0x28, 0x0b, 0x3f, 0x16, 0x43, 0x28, 0x42, 0xcf, 0xfe, + 0x16, 0x34, 0x28, 0x52, 0xcf, 0xfd, 0x16, 0xb5, 0x2a, 0x62, 0xcf, 0xfc, 0x16, 0x06, 0x2b, 0x0c, + 0x0c, 0x0c, 0x07, 0x72, 0x61, 0x10, 0x32, 0x21, 0x13, 0x0c, 0x82, 0x08, 0x0d, 0x0c, 0x0f, 0x02, + 0x20, 0x34, 0x30, 0xf2, 0x83, 0x2d, 0x0f, 0xc0, 0x00, 0x00, 0x42, 0x21, 0x13, 0xf6, 0x24, 0x13, + 0x0c, 0x02, 0x3d, 0x0f, 0x42, 0xa1, 0xf4, 0x08, 0x0d, 0x0c, 0xc5, 0x02, 0x20, 0x3a, 0x62, 0xc1, + 0x10, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0xd1, 0x9e, 0xff, 0x32, 0xa1, 0x04, 0x08, 0x0d, 0x4d, 0x0c, + 0x02, 0x20, 0x15, 0x1c, 0x65, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x1c, 0x63, 0x48, 0xb1, 0x45, 0xe6, + 0xff, 0xac, 0xde, 0x7d, 0x0c, 0x6d, 0x0f, 0x21, 0xc0, 0xff, 0x0c, 0x03, 0x1c, 0x6a, 0xa9, 0x01, + 0x92, 0x01, 0x10, 0x42, 0xa1, 0x04, 0x80, 0x99, 0x01, 0x90, 0x98, 0x31, 0x99, 0x11, 0x82, 0x01, + 0x11, 0x52, 0x21, 0x10, 0x80, 0x88, 0x01, 0x80, 0x88, 0x31, 0x89, 0x21, 0x01, 0x3a, 0xfe, 0xc0, + 0x00, 0x00, 0xd1, 0x8b, 0xff, 0x08, 0x0d, 0x02, 0x20, 0x10, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x0c, + 0x0f, 0x0c, 0x12, 0x38, 0xf1, 0x42, 0x21, 0x10, 0x0c, 0x05, 0x0c, 0x06, 0x69, 0x01, 0x69, 0x11, + 0x69, 0x21, 0x08, 0x0d, 0x0c, 0x07, 0x02, 0x20, 0x1a, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x08, 0x0d, + 0x0c, 0x12, 0x08, 0xd0, 0x32, 0xa4, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x08, 0x0d, 0xc1, + 0x6f, 0xfe, 0x08, 0xc0, 0xc2, 0x2c, 0xf9, 0xc0, 0x00, 0x00, 0x8c, 0xde, 0x21, 0xa4, 0xff, 0xc0, + 0x38, 0x21, 0x41, 0x9b, 0xfe, 0x01, 0x23, 0xfe, 0xc0, 0x00, 0x00, 0x21, 0xa1, 0xff, 0x02, 0x21, + 0x10, 0xc7, 0xa2, 0x10, 0x22, 0xc0, 0x18, 0x1b, 0xff, 0xf0, 0xf0, 0x74, 0x20, 0x00, 0x74, 0x02, + 0x61, 0x10, 0x66, 0x2f, 0x9b, 0x02, 0x2d, 0x00, 0x02, 0x20, 0x1b, 0x22, 0xa0, 0x01, 0xc0, 0x00, + 0x00, 0xc2, 0xa0, 0x00, 0x0c, 0x0f, 0x0c, 0x0d, 0x0c, 0x02, 0x0c, 0x03, 0x32, 0x61, 0x11, 0x22, + 0x61, 0x12, 0x0c, 0xe2, 0x38, 0xf1, 0x42, 0x21, 0x10, 0x52, 0xc1, 0x12, 0x68, 0xe1, 0x7d, 0x0e, + 0x05, 0x5d, 0x05, 0x9c, 0xbe, 0x21, 0x8f, 0xff, 0x3d, 0x0c, 0x52, 0x01, 0x13, 0x42, 0x01, 0x12, + 0x80, 0x55, 0x01, 0x80, 0x44, 0x01, 0x40, 0x48, 0x31, 0x50, 0x58, 0x31, 0x01, 0x0a, 0xfe, 0xc0, + 0x00, 0x00, 0xbc, 0x0c, 0x22, 0x01, 0x12, 0x01, 0x5a, 0xff, 0x80, 0x22, 0x01, 0x08, 0x00, 0x20, + 0x28, 0x31, 0x08, 0x00, 0x20, 0x2d, 0xc0, 0xc0, 0x00, 0x00, 0xe6, 0x22, 0x18, 0x22, 0x01, 0x13, + 0x01, 0x54, 0xff, 0x80, 0x22, 0x01, 0x08, 0x00, 0x20, 0x28, 0x31, 0x08, 0x00, 0x20, 0x2f, 0xc0, + 0xc0, 0x00, 0x00, 0xa6, 0x22, 0x31, 0x32, 0x21, 0x12, 0x22, 0x21, 0x11, 0xd2, 0x01, 0x12, 0xf2, + 0x01, 0x13, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x80, 0xff, 0x01, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, + 0xf0, 0xf8, 0x31, 0x2a, 0x2f, 0x3a, 0x3d, 0x32, 0x61, 0x12, 0x22, 0x61, 0x11, 0x26, 0x4c, 0x02, + 0x86, 0xdb, 0xff, 0x0c, 0x00, 0x46, 0x00, 0x00, 0x0c, 0x10, 0x6c, 0x13, 0x56, 0x40, 0x09, 0xd2, + 0x21, 0x12, 0x02, 0x21, 0x11, 0x2b, 0xdd, 0x2b, 0x00, 0x00, 0x02, 0x21, 0xd0, 0xd2, 0x21, 0x80, + 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0x7c, 0x12, 0x80, 0xf0, 0x01, 0xf0, 0xf8, 0x31, 0x0d, 0x02, 0x27, + 0x2d, 0x01, 0x0d, 0x0d, 0x0c, 0xf2, 0x7d, 0x02, 0xe6, 0xb0, 0x01, 0x7d, 0x00, 0x0d, 0x03, 0x80, + 0xd7, 0x01, 0xd0, 0xd8, 0x31, 0x37, 0x2f, 0x01, 0x0d, 0x0f, 0x1c, 0xff, 0x7d, 0x0f, 0xe6, 0xc0, + 0x01, 0x7d, 0x00, 0x80, 0xf7, 0x01, 0x08, 0xd1, 0xf0, 0xf8, 0x31, 0xdc, 0x50, 0x38, 0xa1, 0x70, + 0x00, 0x54, 0xd0, 0x20, 0x44, 0xa0, 0x22, 0x11, 0x20, 0x00, 0x20, 0x22, 0x21, 0x13, 0x30, 0x22, + 0x90, 0x02, 0x52, 0x00, 0x8c, 0xee, 0x5d, 0x0f, 0x4d, 0x0d, 0x21, 0x53, 0xff, 0x32, 0x21, 0x13, + 0x01, 0xd1, 0xfd, 0xc0, 0x00, 0x00, 0xc0, 0x50, 0x14, 0xd1, 0x21, 0xff, 0x32, 0x21, 0x13, 0x68, + 0x1d, 0x1b, 0x43, 0x40, 0x30, 0x74, 0x32, 0x61, 0x13, 0xe0, 0x66, 0x11, 0x60, 0x55, 0x20, 0x59, + 0x1d, 0x46, 0x65, 0xff, 0x02, 0x01, 0x13, 0x22, 0x01, 0x12, 0x80, 0x00, 0x01, 0x80, 0x22, 0x01, + 0x20, 0x28, 0x31, 0x00, 0x08, 0x31, 0xfa, 0x00, 0xda, 0xd2, 0x1b, 0xdd, 0x1b, 0x00, 0x00, 0x01, + 0x21, 0xd0, 0xd1, 0x21, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0xc6, 0xd5, 0xff, 0x0c, 0x0c, 0x86, + 0x63, 0xff, 0x4c, 0x0c, 0x46, 0x62, 0xff, 0xc2, 0xa0, 0x60, 0x0c, 0xf2, 0x22, 0x61, 0x10, 0xc6, + 0x60, 0xff, 0x1c, 0x05, 0xc0, 0x20, 0x00, 0x41, 0xfd, 0xfd, 0x32, 0x24, 0xe4, 0x50, 0x33, 0x20, + 0xc0, 0x20, 0x00, 0x32, 0x64, 0xe4, 0xc8, 0x61, 0xd8, 0x71, 0xe8, 0x81, 0xf8, 0x91, 0x08, 0x51, + 0x12, 0xc1, 0x50, 0x0d, 0xf0, 0xc2, 0xa0, 0x70, 0x2c, 0x86, 0x62, 0x61, 0x10, 0x46, 0x55, 0xff, + 0xc2, 0xa0, 0x78, 0x4c, 0x17, 0x72, 0x61, 0x10, 0x86, 0x52, 0xff, 0x00, 0x40, 0x84, 0xfe, 0x3f, + 0x10, 0x80, 0xfe, 0x3f, 0x12, 0xc1, 0xc0, 0xc9, 0x21, 0xd9, 0x31, 0xe9, 0x41, 0xf9, 0x51, 0x09, + 0x11, 0x59, 0xa1, 0x79, 0x91, 0x29, 0x71, 0x49, 0x81, 0x22, 0xa0, 0x7f, 0x80, 0x43, 0x01, 0x40, + 0x48, 0x31, 0x40, 0x32, 0xa3, 0x39, 0x61, 0xe6, 0x13, 0x02, 0x46, 0x40, 0x00, 0x0c, 0x0c, 0x0c, + 0x00, 0x0c, 0x0f, 0x58, 0xa1, 0x0b, 0x76, 0xdd, 0x05, 0x7a, 0x55, 0x59, 0xb1, 0x1c, 0x83, 0xa2, + 0x0d, 0x00, 0xf0, 0x6c, 0xc0, 0x80, 0xe6, 0x01, 0xe0, 0xe8, 0x31, 0x80, 0xaa, 0x01, 0xa0, 0xa8, + 0x31, 0xa7, 0x2e, 0x3e, 0x80, 0x66, 0x01, 0x28, 0xb1, 0x60, 0x68, 0x31, 0x27, 0xad, 0x33, 0xa0, + 0x70, 0x74, 0xcc, 0xa7, 0x82, 0x0d, 0x01, 0x80, 0x88, 0x01, 0x80, 0x88, 0x31, 0x87, 0x26, 0x22, + 0xd8, 0xa1, 0x1b, 0x00, 0xa0, 0x20, 0x74, 0x2a, 0xff, 0x00, 0x00, 0x74, 0x0a, 0xdd, 0xf0, 0x6c, + 0xc0, 0x80, 0xe6, 0x01, 0xa2, 0x0d, 0x00, 0xe0, 0xe8, 0x31, 0x80, 0xaa, 0x01, 0xa0, 0xa8, 0x31, + 0xa7, 0xae, 0xc0, 0x09, 0xc1, 0x37, 0x2e, 0x0d, 0x62, 0xce, 0xe8, 0x0c, 0xfe, 0x80, 0x66, 0x01, + 0x60, 0x68, 0x31, 0x86, 0x09, 0x00, 0xe0, 0x2e, 0x20, 0x32, 0xa0, 0x06, 0x85, 0x26, 0x0b, 0x0d, + 0x02, 0x0c, 0x63, 0x2d, 0x0e, 0x00, 0x10, 0x40, 0x0c, 0x1e, 0x00, 0xee, 0xa1, 0x0b, 0xee, 0xe0, + 0xe0, 0xf4, 0xc5, 0x2b, 0x0b, 0x08, 0xc1, 0x80, 0x62, 0x01, 0x60, 0x68, 0x31, 0xa6, 0x56, 0x04, + 0x0c, 0x56, 0x86, 0x00, 0x00, 0x60, 0x60, 0xf4, 0x09, 0xc1, 0x69, 0x01, 0x78, 0x91, 0x98, 0x81, + 0x88, 0x71, 0x90, 0x90, 0x90, 0x42, 0x19, 0x00, 0x80, 0x8c, 0x90, 0x40, 0x4e, 0xb0, 0x4a, 0x46, + 0x40, 0x40, 0xf4, 0x42, 0x58, 0x00, 0x9c, 0x47, 0x52, 0x19, 0x00, 0x21, 0xc0, 0xff, 0x3d, 0x0c, + 0x6d, 0x0e, 0x78, 0x01, 0x01, 0x68, 0xfd, 0xc0, 0x00, 0x00, 0x08, 0xc1, 0x68, 0x01, 0x0c, 0xfa, + 0xa7, 0x9e, 0x0b, 0x66, 0x56, 0x08, 0xb1, 0xba, 0xff, 0xc2, 0x4b, 0x00, 0xc6, 0x03, 0x00, 0xe8, + 0x61, 0x1b, 0xcc, 0x80, 0xcc, 0x01, 0xc0, 0xc8, 0x31, 0xe0, 0xec, 0xc0, 0x56, 0xde, 0xf0, 0xc8, + 0x21, 0xd8, 0x31, 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x40, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xcd, 0x02, 0x1c, 0x70, 0x27, 0x20, 0x1d, 0x1c, 0x12, + 0xc7, 0x22, 0x12, 0xe6, 0xac, 0x09, 0x4c, 0x00, 0xe6, 0x6c, 0x13, 0x0c, 0x00, 0x86, 0x03, 0x00, + 0x02, 0xa0, 0x60, 0x06, 0x02, 0x00, 0x02, 0xa0, 0x70, 0x86, 0x00, 0x00, 0x02, 0xa0, 0x78, 0x21, + 0xa0, 0xfe, 0x00, 0x40, 0xf4, 0x02, 0x22, 0x00, 0x32, 0xa0, 0x01, 0x02, 0x20, 0x2b, 0x22, 0xa0, + 0x03, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x0c, 0x63, 0x45, 0x1f, 0x0b, 0x0c, 0x23, 0x0c, 0x65, 0xd0, + 0x42, 0x11, 0x01, 0x97, 0xfe, 0x0c, 0x32, 0x08, 0x00, 0x50, 0x44, 0x20, 0x02, 0x20, 0x2b, 0x40, + 0x40, 0xf4, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x00, 0x9a, 0x00, 0x60, 0x00, 0x00, 0x03, 0x00, 0xa0, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xfc, 0xff, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x9e, 0x00, 0x60, 0x4d, 0x06, 0x12, 0xc1, 0xa0, 0xc9, 0xb1, 0x09, + 0xa1, 0x29, 0x81, 0x39, 0x61, 0x52, 0x61, 0x11, 0xd9, 0xc1, 0xe9, 0xd1, 0xf9, 0xe1, 0xed, 0x07, + 0xf1, 0x84, 0xfe, 0xd1, 0xf3, 0xff, 0x52, 0x0f, 0x08, 0x49, 0x71, 0x8c, 0x85, 0x98, 0x03, 0x39, + 0x61, 0x90, 0x90, 0x05, 0x56, 0x89, 0x1e, 0x41, 0xef, 0xff, 0x31, 0x70, 0xfd, 0xc0, 0x20, 0x00, + 0x22, 0x23, 0xf2, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xf2, 0xc0, 0x20, 0x00, 0x08, + 0x0f, 0xc2, 0xa1, 0xe0, 0x02, 0x20, 0x28, 0xc2, 0x6d, 0x1a, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, + 0x0c, 0x03, 0x1c, 0x24, 0x08, 0x0f, 0x0c, 0x75, 0x02, 0x20, 0x25, 0x0c, 0x06, 0xc0, 0x00, 0x00, + 0x0c, 0x03, 0x1c, 0x84, 0x0c, 0x55, 0x0c, 0x56, 0x08, 0x0f, 0x29, 0x91, 0x02, 0x20, 0x25, 0x22, + 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x1c, 0x84, 0x0c, 0x55, 0x0c, 0x56, 0x0c, 0x07, 0x08, + 0x0f, 0xcd, 0x02, 0x02, 0x20, 0x27, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, + 0x03, 0x1c, 0x24, 0x0c, 0x75, 0x08, 0x0f, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, + 0x00, 0xc2, 0x61, 0x12, 0x16, 0x8e, 0x0d, 0x0c, 0x05, 0x0c, 0x0c, 0x22, 0x01, 0x6c, 0xf2, 0x21, + 0x18, 0x29, 0xf1, 0xf0, 0x6c, 0x90, 0x62, 0x16, 0x00, 0x0c, 0x44, 0x0d, 0x04, 0x60, 0xa0, 0xe4, + 0x60, 0x24, 0x04, 0x60, 0x87, 0x04, 0x60, 0xb6, 0x04, 0x60, 0x75, 0x04, 0x60, 0x99, 0x04, 0x60, + 0x38, 0x04, 0x9a, 0x33, 0xba, 0x77, 0x8a, 0x33, 0x7a, 0x33, 0x1c, 0xd7, 0x60, 0x63, 0x04, 0x2a, + 0x66, 0x6a, 0x33, 0x30, 0x30, 0x74, 0xf6, 0x53, 0x01, 0x0d, 0x03, 0x00, 0xb0, 0x74, 0x52, 0x61, + 0x13, 0xa0, 0x00, 0x24, 0xb0, 0xbb, 0x90, 0x00, 0xbb, 0x90, 0x0d, 0x07, 0xb0, 0xb0, 0xf4, 0xb7, + 0x37, 0x01, 0x0d, 0x0b, 0x00, 0x30, 0xf4, 0x32, 0x61, 0x10, 0x00, 0x03, 0x40, 0x50, 0x20, 0x91, + 0x07, 0xe2, 0x5e, 0xa0, 0x20, 0xb4, 0x45, 0x93, 0x08, 0x21, 0xb3, 0xff, 0x32, 0xc1, 0x10, 0x01, + 0x40, 0xfe, 0x42, 0xa0, 0x0a, 0x02, 0x20, 0x00, 0x52, 0x21, 0x0f, 0x02, 0x20, 0x3b, 0x0c, 0x06, + 0xc0, 0x00, 0x00, 0x52, 0x21, 0x13, 0x0c, 0x18, 0x32, 0x21, 0x11, 0x42, 0x91, 0x08, 0x22, 0x91, + 0x09, 0x92, 0x21, 0x10, 0x62, 0x91, 0x0a, 0x72, 0x91, 0x0b, 0x60, 0x60, 0x84, 0x70, 0x70, 0x84, + 0x00, 0x19, 0x40, 0x20, 0x20, 0x84, 0x40, 0x40, 0x84, 0x30, 0x39, 0xb0, 0x70, 0x44, 0x11, 0x70, + 0x22, 0x11, 0x00, 0x88, 0xa1, 0x80, 0x55, 0x20, 0x70, 0x22, 0x20, 0x60, 0x44, 0x20, 0x49, 0x03, + 0x29, 0x13, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0xf0, 0x6c, 0x90, 0xc0, 0x4e, 0xc0, 0x56, 0x54, 0xf3, + 0x08, 0x61, 0xf1, 0x27, 0xfe, 0x08, 0x00, 0xc2, 0x21, 0x12, 0x07, 0xf0, 0x1a, 0x28, 0x81, 0x9c, + 0x52, 0x0c, 0x02, 0x0c, 0x83, 0x48, 0x71, 0x52, 0x21, 0x11, 0x62, 0x01, 0x64, 0x72, 0x01, 0x68, + 0x82, 0x01, 0x6c, 0x89, 0x01, 0x45, 0x93, 0xff, 0x7d, 0x0c, 0x41, 0x90, 0xff, 0xc0, 0x20, 0x00, + 0x31, 0x0f, 0xfd, 0x22, 0x23, 0xf2, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x1c, 0x84, 0x0c, 0x55, + 0x0c, 0x56, 0x22, 0x63, 0xf2, 0x08, 0x0f, 0x22, 0xa0, 0x77, 0x02, 0x20, 0x27, 0x0c, 0x03, 0xc0, + 0x00, 0x00, 0x78, 0x91, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x24, 0x08, 0x0f, 0x0c, 0x75, 0x02, + 0x20, 0x27, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x08, 0x0f, 0x02, 0x20, 0x32, 0xc0, 0x00, 0x00, 0x08, + 0x0f, 0x02, 0x20, 0x31, 0xc0, 0x00, 0x00, 0x08, 0x0f, 0x02, 0x20, 0x2f, 0xc1, 0x7d, 0xff, 0xc0, + 0x00, 0x00, 0x48, 0x61, 0x38, 0x04, 0x0c, 0x12, 0xc0, 0x33, 0x20, 0x39, 0x04, 0x22, 0x4f, 0x08, + 0x16, 0xfe, 0x0d, 0xf2, 0x21, 0x18, 0x61, 0x77, 0xff, 0x0c, 0x0c, 0x28, 0x71, 0x02, 0x21, 0x11, + 0x0c, 0x45, 0xf0, 0xac, 0x90, 0xa2, 0x1a, 0x00, 0x3d, 0x05, 0xa0, 0x78, 0x04, 0xa0, 0x94, 0x04, + 0xa0, 0x83, 0x04, 0x9a, 0x88, 0xa0, 0xb6, 0x04, 0xa0, 0x95, 0x04, 0xba, 0x99, 0xa0, 0xb9, 0x04, + 0xba, 0x77, 0xa0, 0xb7, 0x04, 0xba, 0x77, 0xa0, 0xa0, 0xe4, 0x1c, 0xdb, 0x9a, 0x77, 0x8a, 0x77, + 0xa0, 0x80, 0x24, 0x70, 0x70, 0x74, 0xf6, 0x57, 0x01, 0x3d, 0x07, 0x30, 0x40, 0x74, 0x3d, 0x0b, + 0x40, 0x74, 0x90, 0x80, 0x77, 0x90, 0x70, 0x70, 0xf4, 0x77, 0x3b, 0x01, 0x3d, 0x07, 0x30, 0xb0, + 0xf4, 0x00, 0xbb, 0xb0, 0x88, 0x1b, 0xb8, 0x0b, 0x80, 0x39, 0x84, 0xb0, 0x70, 0x84, 0x80, 0x80, + 0x84, 0xb0, 0xb9, 0x84, 0xc0, 0x20, 0x00, 0x80, 0xbb, 0x11, 0xf0, 0x9a, 0x01, 0x1c, 0xe5, 0x52, + 0x6d, 0x1a, 0xba, 0x99, 0x70, 0xb1, 0x41, 0x60, 0x5c, 0xa0, 0xba, 0x99, 0xc0, 0x20, 0x00, 0x99, + 0x05, 0xc0, 0x20, 0x00, 0x1c, 0xfb, 0xb2, 0x6d, 0x1a, 0xc0, 0x20, 0x00, 0x10, 0x77, 0x01, 0xa0, + 0x33, 0x01, 0x99, 0x05, 0x7a, 0x33, 0x20, 0x74, 0x90, 0x72, 0x17, 0x00, 0x30, 0x88, 0x11, 0x70, + 0x70, 0xa4, 0x80, 0x77, 0xa0, 0x7a, 0x33, 0xc0, 0x20, 0x00, 0x82, 0xa1, 0xe0, 0x82, 0x6d, 0x1a, + 0xc0, 0x20, 0x00, 0x39, 0x05, 0xc0, 0x20, 0x00, 0x72, 0xa1, 0xe1, 0x72, 0x6d, 0x1a, 0xc0, 0x20, + 0x00, 0x39, 0x05, 0x1b, 0xcc, 0x32, 0x21, 0x14, 0x0c, 0x45, 0xc0, 0xc0, 0x74, 0xc0, 0x8e, 0xc0, + 0x56, 0xe8, 0xf2, 0xc8, 0xb1, 0xd8, 0xc1, 0xe8, 0xd1, 0xf8, 0xe1, 0x08, 0xa1, 0x12, 0xc1, 0x60, + 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xc0, 0xd2, 0x61, 0x0c, 0xc2, 0x61, 0x0b, 0x09, 0xa1, 0xcd, + 0x02, 0x21, 0xb6, 0xfc, 0xc0, 0x20, 0x00, 0x52, 0x22, 0xe3, 0x50, 0x59, 0x21, 0xc0, 0x20, 0x00, + 0x42, 0x22, 0xe0, 0x40, 0x49, 0x21, 0x5a, 0x44, 0xc0, 0x20, 0x00, 0x52, 0x22, 0xe2, 0x50, 0x59, + 0x21, 0xc0, 0x20, 0x00, 0x02, 0x22, 0xe1, 0x00, 0x09, 0x21, 0x50, 0x00, 0xc0, 0x09, 0x31, 0xc0, + 0x20, 0x00, 0x62, 0x22, 0xf7, 0x60, 0x68, 0x21, 0x69, 0x01, 0xc0, 0x20, 0x00, 0x52, 0x22, 0xf8, + 0x50, 0x58, 0x21, 0x59, 0x11, 0xc0, 0x20, 0x00, 0x22, 0x22, 0xf9, 0x7c, 0xcd, 0x52, 0xc3, 0xfe, + 0x00, 0x0f, 0x31, 0x09, 0x21, 0x00, 0x05, 0x40, 0xd0, 0xd3, 0x90, 0x40, 0x5f, 0x31, 0x20, 0x20, + 0xb1, 0x29, 0x0c, 0x3d, 0x05, 0x2d, 0x04, 0x45, 0x33, 0x0a, 0x29, 0x51, 0x39, 0x41, 0x58, 0x21, + 0x48, 0x31, 0x3d, 0x05, 0x2d, 0x04, 0x45, 0x32, 0x0a, 0x4d, 0x03, 0x68, 0x51, 0x38, 0x41, 0x2a, + 0x26, 0x4a, 0x33, 0x67, 0xb2, 0x01, 0x1b, 0x33, 0x4d, 0x0d, 0x45, 0xec, 0x0a, 0x29, 0x1c, 0x48, + 0x01, 0x68, 0x11, 0x69, 0x71, 0x40, 0x5f, 0x31, 0x60, 0x6f, 0x31, 0x69, 0x61, 0x3d, 0x05, 0x2d, + 0x04, 0x85, 0x2f, 0x0a, 0x29, 0x91, 0x39, 0x81, 0x58, 0x61, 0x48, 0x71, 0x3d, 0x05, 0x2d, 0x04, + 0x85, 0x2e, 0x0a, 0x4d, 0x03, 0x88, 0x91, 0x38, 0x81, 0x2a, 0x28, 0x4a, 0x33, 0x87, 0xb2, 0x01, + 0x1b, 0x33, 0x4d, 0x0d, 0x85, 0xe8, 0x0a, 0x08, 0xa1, 0x29, 0x2c, 0xd8, 0xc1, 0xc8, 0xb1, 0x12, + 0xc1, 0x40, 0x0d, 0xf0, 0x37, 0x22, 0x02, 0x27, 0xa4, 0x11, 0x00, 0x15, 0x40, 0x31, 0x8c, 0xfd, + 0x0c, 0x14, 0x28, 0x33, 0x00, 0x44, 0xa1, 0x40, 0x22, 0x20, 0x29, 0x33, 0x0d, 0xf0, 0x00, 0x00, + 0xfd, 0x7f, 0xfd, 0xff, 0x82, 0xae, 0x00, 0x72, 0xa1, 0x42, 0x31, 0xf5, 0xfe, 0xc0, 0x20, 0x00, + 0x62, 0x23, 0x59, 0x80, 0x66, 0x10, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x63, 0x59, 0x51, + 0xf8, 0xff, 0x0c, 0x24, 0xc0, 0x20, 0x00, 0x22, 0x23, 0x58, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, + 0xc0, 0x20, 0x00, 0x22, 0x63, 0x58, 0x0d, 0xf0, 0x00, 0x0a, 0xf2, 0x3f, 0xcc, 0x2e, 0x00, 0x40, + 0x12, 0xc1, 0xe0, 0x09, 0x11, 0x29, 0x01, 0xd9, 0x31, 0xe9, 0x41, 0xc9, 0x21, 0xed, 0x05, 0xc1, + 0xe4, 0xfe, 0xd1, 0xf9, 0xff, 0xc0, 0x20, 0x00, 0x02, 0x2c, 0x58, 0x49, 0x51, 0x17, 0xe0, 0x24, + 0x2d, 0x03, 0x01, 0xf6, 0xff, 0xc0, 0x00, 0x00, 0x01, 0x6e, 0xfd, 0x08, 0x00, 0x02, 0x20, 0x19, + 0x28, 0x01, 0xc0, 0x00, 0x00, 0x08, 0x51, 0xc0, 0x20, 0x00, 0x22, 0x2c, 0x58, 0x17, 0xe2, 0x13, + 0x0c, 0x02, 0x06, 0x07, 0x00, 0xc0, 0x20, 0x00, 0x52, 0x2d, 0x80, 0x40, 0x55, 0xc0, 0x57, 0xbe, + 0xc3, 0xc6, 0x02, 0x00, 0xc0, 0x20, 0x00, 0x62, 0x2d, 0x80, 0x00, 0x66, 0xc0, 0x67, 0xbe, 0xd6, + 0x0c, 0x12, 0xc8, 0x21, 0xd8, 0x31, 0xe8, 0x41, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, + 0xff, 0xff, 0xff, 0xf7, 0x91, 0xff, 0xff, 0x31, 0xca, 0xfe, 0xc0, 0x20, 0x00, 0x82, 0x23, 0x42, + 0x90, 0x88, 0x10, 0xc0, 0x20, 0x00, 0x82, 0x63, 0x42, 0x0c, 0x17, 0xc0, 0x20, 0x00, 0x62, 0x23, + 0x58, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x63, 0x58, 0x7c, 0xe5, 0xc0, 0x20, 0x00, 0x42, + 0x23, 0x58, 0x50, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x63, 0x58, 0xc0, 0x20, 0x00, 0x29, 0xb3, + 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xf7, 0xff, 0x41, 0xb9, 0xfe, 0xc0, + 0x20, 0x00, 0x71, 0xfc, 0xff, 0x28, 0xb4, 0xc0, 0x20, 0x00, 0x62, 0x24, 0x42, 0x70, 0x66, 0x20, + 0xc0, 0x20, 0x00, 0x62, 0x64, 0x42, 0x51, 0xf8, 0xff, 0xc0, 0x20, 0x00, 0x38, 0xb4, 0x50, 0x33, + 0x10, 0xc0, 0x20, 0x00, 0x39, 0xb4, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x01, 0x3c, + 0xfd, 0x02, 0x20, 0x00, 0x02, 0x20, 0x11, 0x32, 0xa0, 0x80, 0xc0, 0x00, 0x00, 0xc5, 0x21, 0x09, + 0x22, 0xa0, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0xcc, 0xf2, 0xfe, 0x3f, + 0xa8, 0xf1, 0xfe, 0x3f, 0xb5, 0xf2, 0xfe, 0x3f, 0x60, 0xf1, 0xfe, 0x3f, 0xcf, 0x09, 0x00, 0x00, + 0x38, 0x80, 0xfe, 0x3f, 0x00, 0x00, 0x04, 0x00, 0x12, 0xc1, 0xc0, 0xc2, 0x61, 0x06, 0xd2, 0x61, + 0x07, 0xf9, 0x91, 0xe9, 0x81, 0xe1, 0x2a, 0xfd, 0x09, 0x51, 0x08, 0x4e, 0xf2, 0xce, 0x2d, 0x00, + 0x02, 0x05, 0x56, 0x80, 0x18, 0x08, 0x0e, 0x02, 0x20, 0x28, 0xc0, 0x00, 0x00, 0x08, 0x0e, 0x02, + 0x20, 0x30, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0xc1, 0x26, 0xfe, 0x22, 0x1c, 0x01, 0x20, 0x20, 0xb4, + 0x45, 0x62, 0x08, 0x22, 0x1c, 0x01, 0x32, 0xc1, 0x10, 0x0c, 0x14, 0xc5, 0xfa, 0x02, 0x08, 0x0e, + 0x08, 0x60, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0xd2, 0x01, 0x12, 0x0c, 0x0c, 0x31, 0xe4, 0xff, 0x39, + 0xa1, 0x9c, 0x6c, 0x26, 0x1c, 0x0f, 0x26, 0x2c, 0x07, 0x66, 0x3c, 0x10, 0x0c, 0xed, 0xc6, 0x02, + 0x00, 0x0c, 0xbd, 0x86, 0x01, 0x00, 0x0c, 0x6d, 0x46, 0x00, 0x00, 0x0c, 0x1d, 0x72, 0x21, 0x0a, + 0x62, 0xa0, 0x64, 0x42, 0xa0, 0x01, 0x31, 0xdb, 0xff, 0x51, 0xd9, 0xff, 0x80, 0x2d, 0x01, 0x20, + 0x28, 0x31, 0x52, 0x95, 0xfc, 0x32, 0x03, 0x80, 0x49, 0x11, 0x69, 0x01, 0x0c, 0x04, 0x61, 0xd6, + 0xff, 0x85, 0x00, 0x09, 0x4c, 0x02, 0x2c, 0x83, 0x0c, 0x24, 0x0c, 0x05, 0xd0, 0x6d, 0x90, 0x6a, + 0x6f, 0x05, 0x51, 0x04, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x66, 0x4c, 0xa4, 0x0c, 0x0c, 0x0c, 0x0f, + 0x0c, 0x3d, 0x01, 0xcd, 0xff, 0xd9, 0xb1, 0x0a, 0xef, 0xd2, 0xa0, 0x0e, 0xf6, 0x6c, 0x22, 0xc0, + 0x2c, 0x20, 0x32, 0xa0, 0x05, 0x02, 0x0e, 0x20, 0x09, 0xe1, 0x05, 0xbc, 0x0a, 0x3d, 0x02, 0x42, + 0x0e, 0x2f, 0x28, 0xe1, 0x01, 0xc5, 0xff, 0x20, 0x44, 0xc0, 0x40, 0x33, 0x82, 0x3a, 0x22, 0xc6, + 0x13, 0x00, 0x52, 0xa0, 0x0a, 0xc7, 0x35, 0x21, 0x32, 0xa0, 0x05, 0x22, 0xcc, 0xfb, 0x42, 0x0e, + 0x3e, 0x52, 0x0e, 0x2f, 0x52, 0x61, 0x0d, 0x50, 0x44, 0xc0, 0x40, 0x22, 0x82, 0x85, 0xad, 0x0a, + 0x68, 0xd1, 0x01, 0xb9, 0xff, 0x6a, 0x22, 0xc6, 0x09, 0x00, 0x22, 0x0e, 0x47, 0x72, 0xa0, 0x0c, + 0xc7, 0x37, 0x1e, 0xc0, 0x8c, 0xa0, 0x32, 0x0e, 0x3e, 0x32, 0x61, 0x0c, 0x82, 0xc8, 0xce, 0x30, + 0x22, 0xc0, 0x20, 0x28, 0x82, 0x32, 0xa0, 0x16, 0xc5, 0xaa, 0x0a, 0x98, 0xc1, 0x01, 0xae, 0xff, + 0x9a, 0x22, 0xd2, 0xcd, 0xff, 0xc0, 0x3c, 0x90, 0x30, 0x3f, 0x80, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, + 0x3a, 0x30, 0x22, 0x43, 0x20, 0x56, 0x3d, 0xf7, 0x0c, 0x0c, 0x48, 0xb1, 0x1b, 0xff, 0xf0, 0xf0, + 0x74, 0x0a, 0xef, 0x0b, 0x44, 0x49, 0xb1, 0x56, 0xe4, 0xf5, 0x31, 0xa4, 0xff, 0x21, 0xa1, 0xff, + 0x0c, 0x04, 0x22, 0x02, 0x80, 0xc5, 0x55, 0x08, 0xd1, 0xd2, 0xfc, 0x4c, 0x02, 0x2c, 0x83, 0x0c, + 0x24, 0x0c, 0x05, 0x61, 0x9f, 0xff, 0xc5, 0x43, 0x04, 0x08, 0x0d, 0x02, 0x20, 0x32, 0xc0, 0x00, + 0x00, 0x08, 0x0d, 0x02, 0x20, 0x31, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, 0x20, 0x2f, 0xc1, 0x99, + 0xff, 0xc0, 0x00, 0x00, 0x28, 0x4d, 0xc0, 0x22, 0x20, 0x29, 0x4d, 0x86, 0x06, 0x00, 0x22, 0x0e, + 0x5e, 0x32, 0x0e, 0x5e, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, + 0x30, 0x22, 0x90, 0x20, 0x2f, 0x80, 0xc5, 0x99, 0x08, 0xc2, 0x21, 0x06, 0xd2, 0x21, 0x07, 0xe8, + 0x81, 0xf8, 0x91, 0x08, 0x51, 0x12, 0xc1, 0x40, 0x0d, 0xf0, 0x00, 0x00, 0x1c, 0x08, 0x62, 0x03, + 0x00, 0x1c, 0xc5, 0x47, 0xa5, 0x04, 0x0c, 0xc7, 0x86, 0x02, 0x00, 0x47, 0xa8, 0x05, 0x72, 0xc4, + 0xf0, 0x46, 0x00, 0x00, 0x0c, 0x07, 0x70, 0x66, 0xc0, 0x62, 0x42, 0x00, 0x7d, 0x08, 0x47, 0x28, + 0x01, 0x7d, 0x04, 0x0c, 0x14, 0x4a, 0x92, 0x1b, 0xa4, 0x4a, 0x83, 0x82, 0x08, 0x00, 0xa0, 0x40, + 0x74, 0x70, 0x88, 0xc0, 0x82, 0x49, 0x00, 0x66, 0x64, 0xea, 0x0d, 0xf0, 0xec, 0xf2, 0xfe, 0x3f, + 0x7d, 0xf1, 0xfe, 0x3f, 0xc8, 0xf1, 0xfe, 0x3f, 0xb0, 0xf1, 0xfe, 0x3f, 0x00, 0x00, 0x00, 0x20, + 0x62, 0xa0, 0x64, 0x42, 0xa0, 0x01, 0x71, 0xf9, 0xff, 0x12, 0xc1, 0xd0, 0xe9, 0xa1, 0x09, 0x71, + 0xc9, 0x81, 0xd9, 0x91, 0x52, 0x97, 0x5a, 0xdd, 0x03, 0xcd, 0x02, 0x32, 0x07, 0x49, 0x80, 0x22, + 0x01, 0x20, 0x28, 0x31, 0x72, 0xc7, 0xe0, 0x49, 0x11, 0x69, 0x01, 0x0c, 0x04, 0x61, 0x66, 0xff, + 0x85, 0xe4, 0x08, 0x31, 0xef, 0xff, 0xc0, 0x2c, 0x90, 0x3a, 0x22, 0x85, 0x8f, 0x08, 0x66, 0x6c, + 0x02, 0x85, 0xfb, 0x02, 0xe1, 0xec, 0xff, 0x66, 0x1d, 0x34, 0x0c, 0x0d, 0x0c, 0x04, 0x49, 0x61, + 0xe0, 0x2e, 0x20, 0x05, 0x0f, 0x03, 0x52, 0x21, 0x06, 0xd0, 0xd2, 0x80, 0x00, 0xdd, 0x11, 0xd0, + 0xd0, 0x31, 0x1b, 0x05, 0x00, 0x50, 0x74, 0x59, 0x61, 0x66, 0x45, 0xe3, 0x2b, 0x0d, 0x5b, 0xdd, + 0x00, 0xd0, 0xb3, 0xd0, 0xd2, 0x21, 0x00, 0xdd, 0x11, 0xd0, 0xd0, 0x31, 0x46, 0x00, 0x00, 0x0c, + 0x0d, 0x3d, 0x0e, 0x22, 0xc1, 0x10, 0x4d, 0x0d, 0x05, 0xf2, 0xff, 0x01, 0xd8, 0xff, 0xe1, 0x4e, + 0xff, 0x61, 0x72, 0xfb, 0xd0, 0x80, 0x74, 0x26, 0x1c, 0x12, 0x22, 0xcc, 0xfa, 0x16, 0x22, 0x0b, + 0x42, 0xcc, 0xf5, 0x0c, 0x23, 0x0c, 0x32, 0x40, 0x23, 0x83, 0x86, 0x00, 0x00, 0x22, 0xa0, 0x00, + 0xd0, 0x92, 0x11, 0xe0, 0xa2, 0x90, 0xd2, 0x5a, 0x06, 0x00, 0x19, 0x40, 0x00, 0x88, 0xa1, 0x92, + 0xa0, 0xff, 0xa2, 0xaf, 0xff, 0x00, 0x99, 0xa1, 0xa0, 0x99, 0x30, 0xc0, 0x20, 0x00, 0x72, 0x26, + 0xff, 0x90, 0x77, 0x10, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x66, 0xff, 0x52, 0x00, 0x98, + 0x66, 0x15, 0x08, 0xd0, 0xb0, 0xf4, 0xc0, 0x20, 0x00, 0xb2, 0x66, 0xff, 0x32, 0xc1, 0x10, 0x42, + 0xa0, 0x06, 0x1c, 0xf5, 0x71, 0xc1, 0xff, 0x20, 0xc2, 0x90, 0x61, 0x69, 0xfd, 0x22, 0xa1, 0x38, + 0xf0, 0xcc, 0x11, 0x62, 0x16, 0x01, 0x7a, 0x7c, 0x29, 0x01, 0x4c, 0x02, 0xd2, 0x00, 0xb6, 0xd9, + 0x11, 0x45, 0x44, 0x04, 0xd8, 0x91, 0x08, 0x71, 0xea, 0xac, 0x31, 0x5d, 0xfc, 0xe8, 0xa1, 0x82, + 0x0a, 0x51, 0x92, 0x03, 0x79, 0x72, 0x03, 0x78, 0xa2, 0x0a, 0x50, 0x80, 0x88, 0x01, 0x80, 0x88, + 0x31, 0x80, 0xaa, 0x01, 0x90, 0x77, 0xc0, 0xa0, 0xa8, 0x31, 0xa0, 0x88, 0xc0, 0x4b, 0x77, 0x87, + 0xa7, 0x09, 0xc1, 0xae, 0xff, 0xb8, 0x43, 0xc0, 0xbb, 0x20, 0xb9, 0x43, 0xc8, 0x81, 0x12, 0xc1, + 0x30, 0x0d, 0xf0, 0x0c, 0x12, 0xc6, 0xd5, 0xff, 0xdf, 0xf4, 0xfe, 0x3f, 0x17, 0xf3, 0xfe, 0x3f, + 0x5e, 0xf3, 0xfe, 0x3f, 0x42, 0xc2, 0xfa, 0x20, 0x52, 0xa0, 0x12, 0xc1, 0xc0, 0xd2, 0x61, 0x05, + 0x32, 0x61, 0x0c, 0x02, 0x61, 0x03, 0xe9, 0x61, 0xf9, 0x71, 0xc9, 0x41, 0x52, 0xc5, 0xc9, 0xcd, + 0x02, 0x59, 0x21, 0x49, 0x81, 0x0c, 0x0f, 0x0c, 0x6e, 0x01, 0x0f, 0xff, 0x0b, 0x32, 0x39, 0xb1, + 0xdd, 0x00, 0x02, 0xc0, 0xf0, 0xf6, 0x7c, 0x2a, 0x0c, 0x53, 0x28, 0xb1, 0x42, 0x0d, 0x56, 0x52, + 0x0d, 0x50, 0x59, 0xa1, 0x80, 0x44, 0x01, 0x80, 0x55, 0x01, 0x50, 0x58, 0x31, 0x40, 0x48, 0x31, + 0x50, 0x44, 0xc0, 0x40, 0x22, 0x82, 0x05, 0x80, 0x0a, 0x58, 0xa1, 0x01, 0x35, 0xfc, 0x5a, 0x22, + 0x06, 0x18, 0x00, 0xf6, 0xac, 0x2d, 0x32, 0xa0, 0x05, 0x22, 0x21, 0x08, 0x42, 0x0d, 0x5c, 0x52, + 0x0d, 0x56, 0x52, 0x61, 0x09, 0x80, 0x44, 0x01, 0x80, 0x55, 0x01, 0x50, 0x58, 0x31, 0x40, 0x48, + 0x31, 0x50, 0x44, 0xc0, 0x40, 0x22, 0x82, 0x05, 0x7d, 0x0a, 0x58, 0x91, 0x01, 0x29, 0xfc, 0x5a, + 0x22, 0xc6, 0x0b, 0x00, 0x22, 0x0d, 0x62, 0x62, 0xa0, 0x0d, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, + 0xc7, 0x36, 0x20, 0x42, 0x0d, 0x5c, 0x42, 0x61, 0x01, 0x80, 0x44, 0x01, 0x40, 0x48, 0x31, 0x40, + 0x42, 0xc0, 0x22, 0x21, 0x02, 0x1c, 0x63, 0x40, 0x22, 0x82, 0xc5, 0x79, 0x0a, 0x58, 0x11, 0x01, + 0x1c, 0xfc, 0x5a, 0x22, 0xd2, 0xcd, 0x01, 0xe2, 0xce, 0xff, 0x72, 0x21, 0x0c, 0x62, 0x00, 0x88, + 0x7a, 0x7f, 0x80, 0x66, 0x01, 0x1b, 0xff, 0x60, 0x68, 0x31, 0x2a, 0x66, 0x62, 0x47, 0x00, 0x56, + 0x2e, 0xf5, 0x21, 0xc6, 0xff, 0x91, 0xc4, 0xff, 0xa8, 0xc1, 0x92, 0x09, 0x00, 0xb2, 0x0a, 0x00, + 0x80, 0x99, 0x01, 0x90, 0x98, 0x31, 0xba, 0x99, 0x92, 0x4a, 0x00, 0x82, 0x02, 0x6c, 0xa2, 0x02, + 0x8c, 0x26, 0x18, 0x28, 0x26, 0x1a, 0x25, 0x0c, 0x05, 0xd2, 0xaf, 0x80, 0x6d, 0x0d, 0x21, 0xbc, + 0xff, 0x0c, 0xd3, 0x48, 0xc1, 0xd2, 0x40, 0x5f, 0x52, 0x40, 0x7e, 0x05, 0x05, 0x03, 0xc8, 0x41, + 0xd8, 0x51, 0xe8, 0x61, 0xf8, 0x71, 0x08, 0x31, 0x12, 0xc1, 0x40, 0x0d, 0xf0, 0xb2, 0x02, 0x63, + 0xe2, 0x02, 0x67, 0xdc, 0x5b, 0xb6, 0x3c, 0x02, 0x86, 0x45, 0x00, 0x21, 0xcb, 0xfe, 0x22, 0x02, + 0x52, 0x0c, 0x15, 0x80, 0xd2, 0x01, 0xd0, 0xd8, 0x31, 0xc6, 0xef, 0xff, 0xc7, 0x3e, 0x5d, 0xf1, + 0xc6, 0xfe, 0xd2, 0x02, 0x65, 0xf0, 0xdd, 0x80, 0xd2, 0x0d, 0x50, 0xf2, 0x02, 0x68, 0x80, 0xdd, + 0x01, 0xd0, 0xd8, 0x31, 0x66, 0x1f, 0x40, 0xc1, 0xf2, 0xfb, 0x32, 0xa0, 0x05, 0x22, 0x0c, 0x66, + 0xc2, 0x0c, 0x60, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x80, 0xcc, 0x01, 0xc0, 0xc8, 0x31, 0xc0, + 0x22, 0xc0, 0x20, 0x2e, 0x82, 0x05, 0x6d, 0x0a, 0x2a, 0x3c, 0x80, 0x33, 0x01, 0x28, 0xb1, 0x30, + 0x38, 0x31, 0xd0, 0x33, 0xc0, 0x30, 0x22, 0x82, 0x3d, 0x0e, 0xc5, 0x6b, 0x0a, 0x01, 0xe4, 0xfb, + 0x2a, 0xdd, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0x0c, 0x15, 0x86, 0xd7, 0xff, 0x32, 0x02, 0x66, + 0xf2, 0xa0, 0x0f, 0x30, 0xff, 0xc0, 0xf7, 0x2c, 0x49, 0xf1, 0xab, 0xfe, 0xd2, 0x02, 0x64, 0xf0, + 0xdd, 0x80, 0xd2, 0x0d, 0x62, 0x42, 0x02, 0x68, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0x66, 0x14, + 0xd6, 0xf2, 0x00, 0x6c, 0x80, 0xff, 0x01, 0xf0, 0xf8, 0x31, 0xf6, 0xac, 0x2d, 0x21, 0xd4, 0xfb, + 0x32, 0xa0, 0x08, 0x22, 0x02, 0x66, 0xe0, 0x33, 0xc0, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x29, + 0x01, 0x20, 0x2f, 0xc0, 0x30, 0x22, 0x82, 0x0c, 0x53, 0xc5, 0x65, 0x0a, 0x08, 0x01, 0x2a, 0x00, + 0x86, 0x0a, 0x00, 0x0c, 0x05, 0xd2, 0xaf, 0x80, 0x06, 0xc0, 0xff, 0x21, 0xc9, 0xfb, 0x32, 0xa0, + 0x03, 0x22, 0x02, 0x72, 0xe0, 0x33, 0xc0, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0xf0, 0x22, 0xc0, + 0x30, 0x22, 0x82, 0x20, 0x22, 0xa0, 0x32, 0xa0, 0x16, 0xc5, 0x62, 0x0a, 0x2a, 0x0f, 0x0c, 0xe3, + 0x80, 0x20, 0x01, 0x20, 0x28, 0x31, 0xc0, 0x33, 0xc0, 0xd0, 0x22, 0xc0, 0x30, 0x22, 0x82, 0x3d, + 0x0e, 0x45, 0x61, 0x0a, 0x01, 0xbb, 0xfb, 0x2a, 0xdd, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0x46, + 0xd5, 0xff, 0xb6, 0x9c, 0x08, 0x21, 0x84, 0xfe, 0x22, 0x02, 0x5e, 0x86, 0xb8, 0xff, 0xd2, 0xaf, + 0x80, 0x0c, 0x05, 0x46, 0xa9, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0xaa, 0xf2, 0xfe, 0x3f, + 0x12, 0xc1, 0xd0, 0xe2, 0x61, 0x07, 0x22, 0x61, 0x09, 0xc9, 0x51, 0x09, 0x41, 0xf9, 0x81, 0xd9, + 0x61, 0xd1, 0xab, 0xfb, 0xfd, 0x02, 0x08, 0x4d, 0xc1, 0xae, 0xfc, 0x00, 0x04, 0x05, 0x56, 0x30, + 0x09, 0x08, 0x0d, 0x02, 0x20, 0x28, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, 0x20, 0x30, 0x0c, 0x12, + 0xc0, 0x00, 0x00, 0x22, 0x1c, 0x01, 0x20, 0x20, 0xb4, 0xc5, 0x02, 0x08, 0x22, 0x1c, 0x01, 0x3d, + 0x01, 0x0c, 0x14, 0x45, 0x9b, 0x02, 0x08, 0x0d, 0x08, 0x60, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0xe2, + 0x01, 0x02, 0x0c, 0x0c, 0x9c, 0x6c, 0x26, 0x1c, 0x0f, 0x26, 0x2c, 0x07, 0x66, 0x3c, 0x10, 0x0c, + 0xee, 0xc6, 0x02, 0x00, 0x0c, 0xbe, 0x86, 0x01, 0x00, 0x0c, 0x1e, 0x46, 0x00, 0x00, 0x0c, 0x6e, + 0x3d, 0x0f, 0x2d, 0x0e, 0x85, 0xbb, 0xff, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x66, 0x4c, 0xd4, 0x08, + 0x0d, 0x02, 0x20, 0x32, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, 0x20, 0x31, 0xc0, 0x00, 0x00, 0x08, + 0x0d, 0x02, 0x20, 0x2f, 0xc1, 0xd9, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x4d, 0x31, 0xd8, 0xff, 0x0c, + 0x02, 0x22, 0x4d, 0x89, 0x22, 0x4d, 0x88, 0x22, 0x53, 0x41, 0x22, 0x43, 0x80, 0xc0, 0x00, 0x20, + 0x09, 0x4d, 0x06, 0x06, 0x00, 0x10, 0x31, 0x20, 0x42, 0xa0, 0x00, 0x22, 0x1d, 0x43, 0x22, 0x5c, + 0x01, 0x45, 0x93, 0x02, 0x22, 0x1c, 0x01, 0x3d, 0x01, 0x05, 0x89, 0x02, 0x08, 0x4d, 0xb7, 0xf0, + 0x06, 0x0c, 0xe2, 0x8b, 0x31, 0xc5, 0xcb, 0xff, 0xc8, 0x51, 0xd8, 0x61, 0xe8, 0x71, 0xf8, 0x81, + 0x08, 0x41, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x00, 0x21, 0xe6, 0xfc, 0xc0, 0x20, 0x00, 0x22, 0x22, + 0x59, 0x20, 0x24, 0xb5, 0x1b, 0x22, 0x20, 0x21, 0x41, 0x22, 0xd2, 0xf8, 0x00, 0x22, 0x11, 0x20, + 0x20, 0x31, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x6d, 0xfb, 0x08, 0x00, 0x08, 0xa0, + 0xc0, 0x00, 0x00, 0x52, 0xae, 0xac, 0x02, 0xae, 0x78, 0x07, 0x22, 0x01, 0x0d, 0x02, 0x2d, 0x05, + 0x07, 0x25, 0x01, 0x2d, 0x00, 0x08, 0x01, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0x7c, 0xda, 0x41, 0xd2, 0xfc, 0xc0, 0x20, 0x00, 0x92, 0x24, 0x58, 0xa0, + 0x99, 0x10, 0xc0, 0x20, 0x00, 0x92, 0x64, 0x58, 0x1b, 0xa2, 0x2b, 0x82, 0xa0, 0x8a, 0xb3, 0x80, + 0x81, 0x21, 0x92, 0xae, 0x00, 0x82, 0xd8, 0x02, 0x80, 0x80, 0x84, 0xc0, 0x20, 0x00, 0x72, 0x24, + 0x59, 0x90, 0x77, 0x10, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x64, 0x59, 0x61, 0xcc, 0xfd, + 0x0c, 0x25, 0xc0, 0x20, 0x00, 0x32, 0x24, 0x58, 0x60, 0x33, 0x10, 0x50, 0x33, 0x20, 0xc0, 0x20, + 0x00, 0x32, 0x64, 0x58, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x02, 0x80, 0x02, 0x00, + 0x71, 0xbc, 0xfc, 0xc0, 0x20, 0x00, 0x32, 0x27, 0x58, 0x82, 0xa1, 0xa0, 0x17, 0xe3, 0x2f, 0x20, + 0x90, 0x24, 0xa1, 0xf9, 0xff, 0x70, 0x99, 0x11, 0xc0, 0x20, 0x00, 0x62, 0x27, 0x59, 0xa0, 0x66, + 0x10, 0x90, 0x66, 0x20, 0x80, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x67, 0x59, 0x51, 0xf3, 0xff, + 0xc0, 0x20, 0x00, 0x42, 0x27, 0x58, 0x50, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x67, 0x58, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x01, 0xf0, 0xff, 0xff, 0x00, 0x96, 0x00, 0x60, 0x31, 0xfe, 0xff, 0x21, + 0xfe, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x22, 0x89, 0x20, 0x20, 0xb4, 0x3a, 0x22, 0x20, 0x21, 0x41, + 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x0d, 0xf0, 0xff, 0xf1, 0xff, 0xff, 0xd8, 0xf4, 0xfe, 0x3f, + 0xd0, 0xf1, 0xfe, 0x3f, 0x24, 0xf3, 0xfe, 0x3f, 0x71, 0xfc, 0xff, 0x62, 0xa2, 0x00, 0x12, 0xc1, + 0xf0, 0x09, 0x01, 0xc9, 0x11, 0xd9, 0x21, 0x51, 0x9a, 0xfc, 0xdd, 0x02, 0xc1, 0x29, 0xfb, 0xc0, + 0x20, 0x00, 0x42, 0x25, 0x59, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, + 0x59, 0x0c, 0x54, 0xc0, 0x20, 0x00, 0x02, 0x25, 0x58, 0x00, 0x0f, 0x41, 0x40, 0x00, 0x10, 0x26, + 0x50, 0x0a, 0x08, 0x0c, 0x02, 0x20, 0x19, 0xc0, 0x00, 0x00, 0x86, 0x05, 0x00, 0x01, 0xeb, 0xff, + 0x22, 0x10, 0x00, 0xc0, 0x20, 0x00, 0x42, 0x25, 0x58, 0x17, 0x64, 0x1d, 0xf6, 0x92, 0x1f, 0x1b, + 0x22, 0x22, 0x50, 0x00, 0x21, 0xe7, 0xff, 0x42, 0x2c, 0x78, 0x9b, 0x32, 0x05, 0xbf, 0xfe, 0xc8, + 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x39, 0x31, 0xb6, 0x92, 0x05, 0x22, + 0xae, 0xb0, 0xc6, 0x02, 0x00, 0x08, 0x0c, 0x08, 0xa0, 0xc0, 0x00, 0x00, 0x38, 0x31, 0x01, 0xdb, + 0xff, 0x42, 0xae, 0x6c, 0x27, 0xa4, 0x6f, 0x52, 0x10, 0x00, 0x62, 0xae, 0x78, 0xf6, 0x95, 0x14, + 0x72, 0xae, 0xac, 0x67, 0x22, 0x01, 0x6d, 0x02, 0x2d, 0x07, 0x67, 0x27, 0x01, 0x2d, 0x06, 0x00, + 0x22, 0x11, 0x20, 0x20, 0x31, 0x71, 0xd3, 0xff, 0x62, 0x9c, 0x42, 0x72, 0x07, 0x80, 0x27, 0xa6, + 0x61, 0x60, 0x46, 0x90, 0x4a, 0x22, 0x42, 0xc2, 0xfe, 0x1b, 0x22, 0x40, 0x24, 0xb3, 0x20, 0x22, + 0x21, 0x00, 0x62, 0x11, 0x60, 0x60, 0x31, 0x62, 0x5c, 0x42, 0x16, 0x47, 0x05, 0x22, 0xae, 0x7c, + 0x67, 0xa2, 0x35, 0x2a, 0x46, 0x1b, 0x24, 0x40, 0x24, 0xb3, 0x20, 0x21, 0x21, 0x00, 0x22, 0x11, + 0x20, 0x20, 0x31, 0x22, 0x5c, 0x2e, 0x06, 0x09, 0x00, 0x0c, 0x05, 0x8c, 0x83, 0x8c, 0x65, 0x08, + 0x0c, 0x02, 0x20, 0x16, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x19, 0x2d, 0x0d, 0xc0, 0x00, + 0x00, 0x01, 0xba, 0xff, 0x0c, 0x02, 0xc6, 0xd1, 0xff, 0x2d, 0x06, 0x62, 0x5c, 0x2e, 0x0c, 0x15, + 0xc6, 0xf5, 0xff, 0x67, 0xa2, 0xb3, 0x42, 0xc6, 0xf0, 0x47, 0xa2, 0x1b, 0x22, 0xc6, 0xf4, 0x86, + 0xe7, 0xff, 0x22, 0x9c, 0x2e, 0x8b, 0x52, 0x67, 0x25, 0x05, 0x72, 0xc2, 0xf8, 0x77, 0xa6, 0xb8, + 0x2d, 0x06, 0x62, 0x5c, 0x2e, 0x46, 0xf5, 0xff, 0x20, 0x22, 0x90, 0x2a, 0x26, 0x42, 0xc2, 0xfe, + 0x1b, 0x22, 0x40, 0x24, 0xb3, 0x20, 0x22, 0x21, 0x46, 0xdd, 0xff, 0x00, 0xc0, 0xf3, 0xfe, 0x3f, + 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x20, 0x00, 0x8d, 0x02, 0x12, 0xc1, 0xc0, 0x09, 0x51, 0xd9, + 0x71, 0xe9, 0x81, 0xf9, 0x91, 0xc9, 0x61, 0xf2, 0xac, 0x00, 0xc2, 0xa0, 0xc9, 0xed, 0x03, 0xd1, + 0xd0, 0xfa, 0x3d, 0x04, 0x42, 0x21, 0x10, 0x98, 0x0d, 0x08, 0x04, 0x92, 0x29, 0x16, 0x00, 0x05, + 0x05, 0x56, 0xf0, 0x18, 0x22, 0xae, 0x7c, 0x69, 0x11, 0x49, 0x01, 0x89, 0xd1, 0x39, 0xc1, 0x59, + 0xb1, 0xc0, 0x09, 0x00, 0x92, 0xae, 0x7c, 0xc0, 0x20, 0x00, 0xa1, 0x35, 0xfc, 0x38, 0xda, 0xf0, + 0x33, 0x10, 0xc0, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x39, 0xda, 0xc0, 0x20, 0x00, 0x08, 0xda, 0x7c, + 0xe2, 0x20, 0x00, 0x10, 0xc0, 0x20, 0x00, 0x09, 0xda, 0xc0, 0x20, 0x00, 0x01, 0xe4, 0xff, 0x82, + 0xae, 0xac, 0xa2, 0x2a, 0x58, 0x0c, 0x0b, 0xb9, 0xa1, 0x92, 0x5d, 0x2e, 0x48, 0xa1, 0x1b, 0x54, + 0x00, 0x64, 0x90, 0x82, 0x56, 0x00, 0x50, 0x40, 0x74, 0x49, 0xa1, 0x66, 0x44, 0xed, 0xc0, 0x20, + 0x00, 0x91, 0x23, 0xfc, 0x38, 0xb9, 0x39, 0x21, 0xc0, 0x20, 0x00, 0x22, 0x29, 0xc8, 0x29, 0x31, + 0xc0, 0x20, 0x00, 0xf2, 0x29, 0xd0, 0xf9, 0x41, 0xc0, 0x20, 0x00, 0xb8, 0xb9, 0x7c, 0xec, 0xc0, + 0xbb, 0x10, 0xc0, 0x20, 0x00, 0xb9, 0xb9, 0xa1, 0xd2, 0xff, 0xc0, 0x20, 0x00, 0x82, 0x29, 0xc8, + 0xa0, 0x88, 0x10, 0xc0, 0x20, 0x00, 0x82, 0x69, 0xc8, 0xc1, 0x2b, 0xfd, 0x0c, 0x07, 0x79, 0xa1, + 0xc0, 0x20, 0x00, 0xf2, 0x2c, 0x80, 0x42, 0x21, 0x0a, 0x22, 0xa0, 0x0e, 0x40, 0x34, 0xa0, 0x42, + 0xc4, 0xfd, 0x32, 0xc3, 0x01, 0x40, 0x23, 0x93, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0xc5, 0x7a, + 0x08, 0xc0, 0x20, 0x00, 0x01, 0x0b, 0xfc, 0xd8, 0xa1, 0x42, 0x20, 0x58, 0xac, 0xde, 0x01, 0xbf, + 0xff, 0x0c, 0x0c, 0x00, 0xdd, 0x90, 0x4d, 0x0f, 0x28, 0xd1, 0x38, 0xc1, 0x58, 0xb1, 0x05, 0x47, + 0xff, 0xdc, 0x22, 0x05, 0xc9, 0xff, 0x42, 0x9d, 0x00, 0x1b, 0xcc, 0x47, 0xa2, 0x02, 0x22, 0x5d, + 0x00, 0xc0, 0xc0, 0x74, 0xc7, 0x9e, 0xde, 0x01, 0xfe, 0xfb, 0xc1, 0x13, 0xfd, 0xc0, 0x20, 0x00, + 0x28, 0xd0, 0x7c, 0xe3, 0x30, 0x22, 0x10, 0xc0, 0x20, 0x00, 0xd8, 0xa1, 0x29, 0xd0, 0x1b, 0xfd, + 0xf0, 0xd0, 0x74, 0xd9, 0xa1, 0x66, 0x4d, 0x87, 0xc0, 0x20, 0x00, 0x61, 0xf5, 0xfb, 0x88, 0x21, + 0x89, 0xb6, 0xc0, 0x20, 0x00, 0x78, 0x31, 0x72, 0x66, 0xc8, 0xc0, 0x20, 0x00, 0x58, 0x41, 0x48, + 0x11, 0x52, 0x66, 0xd0, 0xbc, 0xb4, 0x01, 0xa5, 0xff, 0x22, 0xaf, 0xd8, 0x0c, 0x09, 0x99, 0xa1, + 0x00, 0xa2, 0x11, 0xa0, 0xa0, 0x31, 0x38, 0xa1, 0x48, 0xa1, 0x00, 0x33, 0x90, 0x1b, 0x54, 0x50, + 0x40, 0x74, 0x32, 0x93, 0x00, 0x49, 0xa1, 0xa7, 0xa3, 0x01, 0x2d, 0x03, 0x00, 0xa2, 0x11, 0x66, + 0x44, 0xe0, 0x31, 0x73, 0xfa, 0x08, 0x03, 0x02, 0x20, 0x16, 0x22, 0x53, 0x2e, 0xc0, 0x00, 0x00, + 0x06, 0x02, 0x00, 0x51, 0x6f, 0xfa, 0x42, 0xae, 0x7c, 0x42, 0x55, 0x2e, 0xa1, 0x96, 0xff, 0x98, + 0x01, 0x71, 0x6b, 0xfa, 0x88, 0x09, 0x62, 0x97, 0x2e, 0xa0, 0x88, 0x20, 0x89, 0x09, 0x62, 0x57, + 0x42, 0x46, 0x0b, 0x00, 0x22, 0x9d, 0x2e, 0xc0, 0x09, 0x00, 0xc0, 0x20, 0x00, 0xb1, 0xd4, 0xfb, + 0x08, 0xdb, 0xf0, 0x00, 0x10, 0xc0, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x09, 0xdb, 0xc0, 0x20, 0x00, + 0xd8, 0xdb, 0x7c, 0xee, 0xe0, 0xdd, 0x10, 0xc0, 0x20, 0x00, 0xd9, 0xdb, 0xc0, 0x20, 0x00, 0xb2, + 0x2b, 0x58, 0xc8, 0x61, 0xd8, 0x71, 0xe8, 0x81, 0xf8, 0x91, 0x08, 0x51, 0x12, 0xc1, 0x40, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x03, 0x10, 0x31, 0x20, 0x20, 0xc2, 0x20, + 0x21, 0x54, 0xfa, 0x09, 0x21, 0x22, 0x02, 0x5e, 0x85, 0x81, 0xff, 0x01, 0x51, 0xfa, 0x0c, 0x02, + 0x5d, 0x01, 0x1b, 0x62, 0x5a, 0x42, 0x32, 0x04, 0x00, 0x60, 0x20, 0x74, 0xca, 0x33, 0x32, 0x44, + 0x00, 0x66, 0x62, 0xed, 0x21, 0xff, 0xfd, 0x0c, 0xd3, 0x4d, 0x01, 0x62, 0x00, 0x5f, 0x52, 0x00, + 0x7e, 0x80, 0x66, 0x01, 0x60, 0x68, 0x31, 0x45, 0x95, 0x02, 0xc8, 0x31, 0x08, 0x21, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x0c, 0x84, 0xfe, 0x3f, 0x7d, 0x02, 0x12, 0xc1, 0xe0, 0x39, 0x01, 0x21, + 0xfd, 0xff, 0x09, 0x11, 0xc9, 0x21, 0xd9, 0x31, 0xcd, 0x05, 0xdd, 0x04, 0x79, 0x41, 0x01, 0xe9, + 0xf8, 0xc0, 0x00, 0x00, 0x08, 0x41, 0xc0, 0x20, 0x00, 0x28, 0x0d, 0xc7, 0x92, 0xf7, 0x2d, 0x00, + 0x01, 0xbf, 0xfc, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x0c, 0x54, 0x21, 0xa5, 0xfb, 0xc0, 0x20, 0x00, + 0x32, 0x22, 0x58, 0x30, 0x3f, 0x41, 0x40, 0x33, 0x10, 0x66, 0x53, 0x13, 0x7c, 0xd5, 0xc0, 0x20, + 0x00, 0x42, 0x22, 0x58, 0x50, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x62, 0x58, 0x46, 0x01, 0x00, + 0xc0, 0x20, 0x00, 0x62, 0x22, 0x58, 0x71, 0x2a, 0xfa, 0x78, 0x07, 0x72, 0x27, 0x19, 0x00, 0x20, + 0x74, 0xc0, 0x07, 0x00, 0xc8, 0x21, 0xd8, 0x31, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, + 0x00, 0x81, 0xfe, 0x3f, 0xca, 0xf2, 0xfe, 0x3f, 0xff, 0x03, 0xfc, 0xff, 0x42, 0xa0, 0x00, 0x12, + 0xc1, 0xe0, 0xe2, 0x61, 0x05, 0xd2, 0x61, 0x04, 0x09, 0x21, 0xc9, 0x31, 0x01, 0xfa, 0xff, 0xcd, + 0x02, 0xdd, 0x03, 0x0c, 0x22, 0x31, 0xf6, 0xff, 0xe2, 0x00, 0x7d, 0x3a, 0x44, 0x80, 0xee, 0x01, + 0x3a, 0x22, 0x42, 0x14, 0x00, 0x42, 0x51, 0x00, 0x22, 0x02, 0x00, 0xe0, 0xe8, 0x31, 0x22, 0x41, + 0x02, 0x0c, 0xd2, 0xe6, 0x7c, 0x20, 0x0c, 0x53, 0x4d, 0x00, 0x42, 0x04, 0x7c, 0x0b, 0x2c, 0x80, + 0x44, 0x01, 0x40, 0x48, 0x31, 0x49, 0x11, 0x40, 0x4e, 0xc0, 0x40, 0x22, 0x82, 0x85, 0xf5, 0x09, + 0xe8, 0x11, 0x2a, 0xee, 0x06, 0x08, 0x00, 0x32, 0x00, 0x7e, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, + 0xe0, 0x33, 0xc0, 0xc7, 0xa2, 0x02, 0x46, 0x42, 0x00, 0x22, 0xcc, 0xfa, 0x20, 0x23, 0x82, 0x32, + 0xa0, 0x05, 0x45, 0xf3, 0x09, 0x20, 0xee, 0x80, 0x66, 0x1d, 0x0b, 0xd2, 0xaf, 0xfa, 0xd2, 0x41, + 0x00, 0xd2, 0x41, 0x02, 0xc6, 0x08, 0x00, 0x32, 0xcd, 0xfe, 0x56, 0x93, 0x0b, 0x01, 0xd9, 0xff, + 0x32, 0x00, 0x7f, 0x32, 0x41, 0x00, 0x22, 0x00, 0x80, 0x22, 0x41, 0x01, 0x02, 0x00, 0x81, 0x02, + 0x41, 0x02, 0xd2, 0x01, 0x01, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0xe6, 0x7c, 0x2c, 0x32, 0x01, + 0x00, 0x22, 0xcc, 0xff, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, + 0x30, 0x3d, 0xc0, 0x30, 0x22, 0x82, 0x32, 0xa0, 0x05, 0xc5, 0xed, 0x09, 0x02, 0x01, 0x00, 0x80, + 0x00, 0x01, 0x00, 0x08, 0x31, 0x20, 0x00, 0x80, 0x06, 0x08, 0x00, 0x02, 0x01, 0x02, 0x22, 0xa0, + 0x0d, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xd0, 0x00, 0xc0, 0xc7, 0x22, 0x74, 0x32, 0xa0, 0x05, + 0x22, 0xcc, 0xfa, 0x20, 0x20, 0x82, 0x05, 0xeb, 0x09, 0xd0, 0x02, 0x80, 0xa1, 0xbf, 0xff, 0x0a, + 0x9e, 0x41, 0x4f, 0xfb, 0x90, 0x90, 0x74, 0x60, 0x99, 0x11, 0xc0, 0x20, 0x00, 0x82, 0x24, 0xda, + 0xa0, 0x88, 0x10, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x64, 0xda, 0x0c, 0x17, 0xc0, 0x20, + 0x00, 0x68, 0xd4, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x69, 0xd4, 0x7c, 0xe5, 0xc0, 0x20, 0x00, + 0x38, 0xd4, 0x50, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x39, 0xd4, 0xc8, 0x31, 0xd8, 0x41, 0xe8, 0x51, + 0x08, 0x21, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0xa2, 0xcd, 0xfd, 0x56, 0x4a, 0xf5, 0x01, 0xa9, 0xff, + 0x32, 0x00, 0x82, 0x32, 0x41, 0x00, 0x22, 0x00, 0x83, 0x22, 0x41, 0x01, 0x02, 0x00, 0x84, 0x06, + 0xcf, 0xff, 0x0c, 0x53, 0x22, 0xcc, 0xfe, 0x20, 0x20, 0x82, 0xc5, 0xe3, 0x09, 0x06, 0xe2, 0xff, + 0x00, 0x00, 0x00, 0x22, 0xcc, 0xfe, 0x20, 0x23, 0x82, 0x0c, 0x53, 0xc5, 0xe2, 0x09, 0xc6, 0xbc, + 0xff, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x03, 0x01, 0xbd, 0xf9, 0x08, 0x40, 0x29, + 0x21, 0x27, 0x70, 0x0f, 0x31, 0xbb, 0xf9, 0x20, 0x22, 0x90, 0x32, 0xc3, 0x2d, 0x3a, 0x22, 0x45, + 0xd8, 0x07, 0x28, 0x21, 0x41, 0x3d, 0xfc, 0xc0, 0x20, 0x00, 0x42, 0x24, 0x9c, 0x17, 0x64, 0x25, + 0x20, 0x20, 0x74, 0x3d, 0x01, 0xc5, 0x59, 0xff, 0x45, 0x11, 0x04, 0x0c, 0x02, 0x05, 0x5a, 0x00, + 0x21, 0xb0, 0xf9, 0x08, 0x02, 0x02, 0x20, 0x16, 0x22, 0x92, 0x2e, 0xc0, 0x00, 0x00, 0x1c, 0xe2, + 0x01, 0x33, 0xfc, 0xc0, 0x00, 0x00, 0x08, 0x31, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0xd6, 0xf2, 0xfe, 0x3f, 0x04, 0x81, 0xfe, 0x3f, 0xc0, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, + 0x99, 0x99, 0x49, 0x40, 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0xe9, 0x40, 0xff, 0xff, 0x0f, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0x12, 0xc1, 0xb0, 0xe9, 0xd1, 0xf9, 0xe1, 0x29, 0x71, 0xd9, 0xc1, 0xc9, + 0xb1, 0xc1, 0xf3, 0xff, 0x09, 0xa1, 0x02, 0x0c, 0x5f, 0xdd, 0x03, 0xcc, 0x30, 0x2c, 0x8e, 0xc6, + 0x04, 0x00, 0x66, 0x10, 0x04, 0x1c, 0xae, 0xc6, 0x02, 0x00, 0x32, 0xc0, 0xfe, 0x22, 0xa0, 0x18, + 0xe2, 0xa0, 0x28, 0x30, 0xe2, 0x83, 0x2d, 0x0d, 0x3d, 0x0e, 0x45, 0xdd, 0x09, 0xe6, 0x92, 0x17, + 0x2d, 0x0d, 0x3d, 0x0e, 0x05, 0xd6, 0x09, 0x20, 0x0e, 0x82, 0xd0, 0x00, 0xc0, 0x00, 0x00, 0xa0, + 0xf0, 0x20, 0x11, 0x29, 0x61, 0xc6, 0x08, 0x00, 0x20, 0x4e, 0xc0, 0xe6, 0x94, 0x17, 0xd0, 0x2d, + 0x20, 0xe0, 0x3e, 0x20, 0x05, 0xd4, 0x09, 0x02, 0xc2, 0x01, 0x00, 0x0e, 0x82, 0xd0, 0x00, 0xc0, + 0x00, 0x00, 0xa0, 0x46, 0xf6, 0xff, 0x22, 0xa0, 0x00, 0x22, 0x61, 0x06, 0x32, 0x0c, 0x7b, 0x22, + 0x0c, 0x9e, 0x16, 0xa3, 0x06, 0x32, 0x61, 0x05, 0xf2, 0x0c, 0x7a, 0x80, 0x22, 0x11, 0x2a, 0xff, + 0x16, 0xcf, 0x05, 0x2d, 0x03, 0x7c, 0x6e, 0xd0, 0xee, 0x82, 0xd0, 0x22, 0xc1, 0x30, 0x33, 0xa0, + 0xf0, 0x33, 0x11, 0x22, 0x61, 0x10, 0x32, 0x61, 0x12, 0x3d, 0x0f, 0x45, 0xd6, 0x09, 0x02, 0x21, + 0x12, 0x42, 0x21, 0x10, 0x07, 0x22, 0x02, 0xc6, 0x48, 0x00, 0x2d, 0x04, 0x3d, 0x0f, 0x85, 0xce, + 0x09, 0x45, 0xe3, 0x09, 0x29, 0x21, 0x2d, 0x0f, 0xc5, 0xe2, 0x09, 0xfd, 0x02, 0x28, 0x51, 0x05, + 0xe2, 0x09, 0x3d, 0x02, 0x2d, 0x0f, 0x45, 0xb5, 0x08, 0x3d, 0x02, 0x28, 0x21, 0x85, 0x9e, 0x08, + 0xf1, 0xc1, 0xff, 0x38, 0x0f, 0x05, 0x9e, 0x08, 0xc5, 0xbf, 0x08, 0x2a, 0xfe, 0x06, 0x02, 0x00, + 0xf2, 0xa0, 0x00, 0xe2, 0xaf, 0xf6, 0xd0, 0xee, 0x82, 0x02, 0x0c, 0x9a, 0xf2, 0x61, 0x13, 0x16, + 0x70, 0x06, 0x02, 0x61, 0x04, 0x22, 0x0c, 0x9f, 0xf2, 0x0c, 0x99, 0x80, 0x22, 0x11, 0x2a, 0xff, + 0x16, 0x6f, 0x05, 0x3d, 0x0f, 0xd0, 0x20, 0xc1, 0x22, 0x61, 0x11, 0x00, 0xd0, 0xa0, 0xf0, 0xdd, + 0x11, 0xc5, 0xce, 0x09, 0x02, 0x21, 0x11, 0xd7, 0x22, 0x02, 0x46, 0x3c, 0x00, 0x3d, 0x0f, 0x2d, + 0x00, 0x45, 0xc7, 0x09, 0x05, 0xdc, 0x09, 0x29, 0x31, 0xd8, 0x41, 0x2d, 0x0f, 0x85, 0xdb, 0x09, + 0xfd, 0x02, 0x2d, 0x0d, 0x85, 0xda, 0x09, 0x3d, 0x02, 0xd8, 0x31, 0x2d, 0x0f, 0xc5, 0xad, 0x08, + 0x3d, 0x02, 0x2d, 0x0d, 0x05, 0x97, 0x08, 0x31, 0xa3, 0xff, 0x38, 0x03, 0x85, 0x96, 0x08, 0x85, + 0xb8, 0x08, 0xf2, 0x21, 0x13, 0x2a, 0x3e, 0x06, 0x01, 0x00, 0xf2, 0x21, 0x13, 0x0c, 0x03, 0x39, + 0xf1, 0x21, 0x9d, 0xff, 0xd2, 0x1c, 0x50, 0x01, 0x42, 0xf9, 0xda, 0xde, 0x08, 0x00, 0x2a, 0xdd, + 0x08, 0x00, 0x2d, 0x0d, 0xc0, 0x00, 0x00, 0x01, 0x98, 0xff, 0x41, 0x3d, 0xf9, 0x0c, 0x03, 0x52, + 0xa0, 0x64, 0x57, 0x22, 0x01, 0xdd, 0x03, 0x32, 0x1c, 0x51, 0x28, 0x04, 0x3a, 0xee, 0x0a, 0xee, + 0x08, 0x02, 0x2d, 0x0e, 0xc0, 0x00, 0x00, 0x38, 0xf1, 0x08, 0x71, 0x42, 0x1c, 0x3e, 0x0b, 0x00, + 0x00, 0x00, 0x40, 0x40, 0x40, 0xb1, 0x07, 0x64, 0x02, 0x56, 0x6f, 0x11, 0x42, 0x1c, 0x4e, 0x00, + 0x00, 0x40, 0x40, 0x40, 0xb1, 0x07, 0x64, 0x02, 0x56, 0x93, 0x11, 0x56, 0xfd, 0x08, 0x52, 0xa0, + 0x64, 0x57, 0x22, 0x01, 0x0c, 0x0e, 0xc8, 0x61, 0xe0, 0xce, 0x93, 0x86, 0x20, 0x00, 0x20, 0x6f, + 0xc0, 0x07, 0x26, 0x02, 0x06, 0x3c, 0x00, 0x2d, 0x04, 0x3d, 0x0f, 0xc5, 0xbb, 0x09, 0x1b, 0x22, + 0x45, 0xd0, 0x09, 0x29, 0x01, 0x2d, 0x0f, 0x05, 0xd0, 0x09, 0x29, 0x11, 0x28, 0x51, 0x05, 0xcf, + 0x09, 0x3d, 0x02, 0xf8, 0x01, 0x28, 0x11, 0x45, 0xa2, 0x08, 0x3d, 0x02, 0x2d, 0x0f, 0x85, 0x8b, + 0x08, 0x31, 0x74, 0xff, 0x38, 0x03, 0x05, 0x8b, 0x08, 0xc5, 0xac, 0x08, 0xc6, 0xb2, 0xff, 0x20, + 0x4f, 0xc0, 0xd7, 0x24, 0x02, 0x06, 0x2d, 0x00, 0x3d, 0x0f, 0x2d, 0x00, 0x85, 0xb7, 0x09, 0x1b, + 0x22, 0x45, 0xcc, 0x09, 0xdd, 0x02, 0x2d, 0x0f, 0xc5, 0xcb, 0x09, 0xfd, 0x02, 0x28, 0x41, 0x05, + 0xcb, 0x09, 0x3d, 0x02, 0x2d, 0x0f, 0x45, 0x9e, 0x08, 0x3d, 0x02, 0x2d, 0x0d, 0x85, 0x87, 0x08, + 0x31, 0x65, 0xff, 0x38, 0x03, 0x05, 0x87, 0x08, 0xc5, 0xa8, 0x08, 0xc6, 0xc0, 0xff, 0xd0, 0xcd, + 0x20, 0xe1, 0x62, 0xff, 0x0c, 0x0d, 0x2d, 0x0c, 0x05, 0xcd, 0x09, 0x29, 0x91, 0x39, 0x81, 0x51, + 0x60, 0xff, 0x41, 0x60, 0xff, 0x45, 0xbe, 0x08, 0x5d, 0x0e, 0x4d, 0x0d, 0x05, 0xe8, 0x08, 0x45, + 0xfa, 0x08, 0x38, 0x81, 0x51, 0x5d, 0xff, 0xfd, 0x02, 0x41, 0x5a, 0xff, 0x28, 0x91, 0xc5, 0xbc, + 0x08, 0x4d, 0x0d, 0x5d, 0x0e, 0x85, 0xe6, 0x08, 0xd1, 0xc0, 0xfd, 0x85, 0xf8, 0x08, 0x71, 0x58, + 0xff, 0x51, 0x56, 0xff, 0xf0, 0x60, 0x94, 0x50, 0x52, 0x10, 0xc0, 0x66, 0x01, 0x2d, 0x0c, 0xc0, + 0x20, 0x00, 0x42, 0x2d, 0xa8, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0x50, 0x44, 0x20, 0xc0, 0x20, + 0x00, 0xc8, 0xb1, 0xe8, 0xd1, 0x42, 0x6d, 0xa8, 0xf8, 0xe1, 0xd8, 0xc1, 0x08, 0xa1, 0x12, 0xc1, + 0x50, 0x0d, 0xf0, 0xcd, 0x0f, 0x06, 0xe2, 0xff, 0x0c, 0x0f, 0xc6, 0x86, 0xff, 0xf2, 0x21, 0x13, + 0x0c, 0x03, 0x46, 0xa2, 0xff, 0xcd, 0x03, 0x86, 0xdd, 0xff, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, + 0x21, 0x09, 0x11, 0xcc, 0x52, 0x0c, 0x00, 0x0c, 0x0c, 0x86, 0x10, 0x00, 0xe6, 0x12, 0x02, 0xc6, + 0x70, 0x00, 0x32, 0xa0, 0x64, 0xb0, 0xc2, 0x11, 0xc0, 0x2c, 0x20, 0xc5, 0xa9, 0x09, 0x0d, 0x02, + 0x0c, 0xa3, 0x2d, 0x0c, 0x80, 0xc0, 0x01, 0xc0, 0xc8, 0x31, 0xc5, 0xa8, 0x09, 0x0c, 0xa3, 0x05, + 0xaf, 0x09, 0xa6, 0x22, 0x02, 0x06, 0x73, 0x00, 0x0c, 0x10, 0x46, 0x04, 0x00, 0xc2, 0x01, 0x01, + 0x02, 0x01, 0x00, 0x80, 0xcc, 0x01, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xc0, 0xc8, 0x31, 0xe6, + 0x1c, 0x05, 0x00, 0x41, 0x21, 0xc6, 0x01, 0x00, 0x0b, 0x2c, 0x00, 0x12, 0x40, 0x00, 0x40, 0xa1, + 0x21, 0x92, 0xfd, 0xc0, 0x20, 0x00, 0x42, 0x62, 0xb5, 0x62, 0xcc, 0x1e, 0x0c, 0x05, 0x00, 0x16, + 0x40, 0x00, 0x30, 0xa1, 0xc0, 0x35, 0xb3, 0xc0, 0x20, 0x00, 0x32, 0x62, 0xa7, 0xe6, 0x1c, 0x05, + 0x00, 0x41, 0x21, 0xc6, 0x01, 0x00, 0x0b, 0x7c, 0x00, 0x17, 0x40, 0x00, 0x40, 0xa1, 0xc0, 0x20, + 0x00, 0x0c, 0x06, 0x42, 0x62, 0xec, 0xa2, 0xcc, 0x1e, 0x0c, 0x09, 0x00, 0x1a, 0x40, 0x00, 0x80, + 0xa1, 0xc0, 0x89, 0xb3, 0xc0, 0x20, 0x00, 0x82, 0x62, 0xa1, 0x26, 0x10, 0x14, 0x66, 0x20, 0x04, + 0x0c, 0x85, 0x86, 0x03, 0x00, 0x32, 0xc0, 0xfd, 0x0c, 0xab, 0x5d, 0x06, 0x30, 0x5b, 0x83, 0x46, + 0x00, 0x00, 0x0c, 0x25, 0xa6, 0xbc, 0x0d, 0x6c, 0x04, 0x40, 0x4c, 0x90, 0x00, 0x14, 0x40, 0x00, + 0x45, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x04, 0xc0, 0x20, 0x00, 0x42, 0x62, 0xa3, 0x7c, 0x0b, 0xa6, + 0x1c, 0x10, 0xe6, 0xbc, 0x0d, 0x7c, 0xe7, 0x70, 0x7c, 0x90, 0x00, 0x17, 0x40, 0x00, 0x75, 0xa1, + 0xc6, 0x01, 0x00, 0x0c, 0x08, 0x50, 0x72, 0x21, 0xc0, 0x78, 0x93, 0xc0, 0x20, 0x00, 0x6c, 0x1a, + 0x72, 0x62, 0xa2, 0x81, 0x13, 0xfa, 0xc7, 0xab, 0x10, 0xd6, 0xdc, 0x00, 0x1c, 0xe9, 0x90, 0x9c, + 0x90, 0x00, 0x19, 0x40, 0x00, 0x75, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x07, 0x7c, 0x19, 0xc0, 0x20, + 0x00, 0x72, 0x68, 0xc3, 0xc7, 0xaa, 0x10, 0x97, 0xac, 0x0d, 0x3c, 0xc3, 0x30, 0x3c, 0x90, 0x00, + 0x13, 0x40, 0x00, 0x45, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x04, 0xc0, 0x20, 0x00, 0x42, 0x68, 0xc2, + 0x26, 0x10, 0x14, 0x66, 0x20, 0x04, 0x0c, 0x40, 0x86, 0x03, 0x00, 0x52, 0xc0, 0xfd, 0x0c, 0x54, + 0x50, 0x64, 0x83, 0x0d, 0x06, 0x46, 0x00, 0x00, 0x0c, 0x10, 0xa6, 0xbc, 0x0d, 0x6c, 0x06, 0x60, + 0x6c, 0x90, 0x00, 0x16, 0x40, 0x00, 0x40, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x04, 0xc0, 0x20, 0x00, + 0x42, 0x62, 0xef, 0xa6, 0x1c, 0x10, 0xe6, 0xbc, 0x0d, 0x7c, 0xe7, 0x70, 0x7c, 0x90, 0x00, 0x17, + 0x40, 0x00, 0x50, 0xa1, 0xc6, 0x01, 0x00, 0x0c, 0x08, 0x00, 0x52, 0x21, 0xc0, 0x58, 0x93, 0xc0, + 0x20, 0x00, 0x52, 0x62, 0xee, 0xc7, 0xab, 0x10, 0xd6, 0xdc, 0x00, 0x1c, 0xeb, 0xb0, 0xbc, 0x90, + 0x00, 0x1b, 0x40, 0x00, 0x50, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x05, 0xc0, 0x20, 0x00, 0x52, 0x62, + 0xeb, 0xc7, 0xaa, 0x10, 0x97, 0xac, 0x0d, 0x3c, 0xc3, 0x30, 0x3c, 0x90, 0x00, 0x13, 0x40, 0x00, + 0x00, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x20, 0x00, 0xc8, 0x21, 0x02, 0x62, 0xea, 0x08, + 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0xd6, 0x32, 0xe6, 0x32, 0xa0, 0x64, 0xb0, 0xc2, 0x11, 0xc0, + 0x2c, 0x20, 0x45, 0x8d, 0x09, 0x0d, 0x02, 0x0c, 0xa3, 0x2d, 0x0c, 0x0b, 0xc0, 0x80, 0xcc, 0x01, + 0xc0, 0xc8, 0x31, 0x45, 0x8c, 0x09, 0x0c, 0xa3, 0x45, 0x92, 0x09, 0x7c, 0x83, 0x37, 0xa2, 0x11, + 0x0c, 0x10, 0x46, 0x92, 0xff, 0x0c, 0x30, 0xe6, 0x82, 0x02, 0x46, 0x90, 0xff, 0x0c, 0x20, 0x06, + 0x8f, 0xff, 0x0c, 0x30, 0x7c, 0xe4, 0x47, 0xa2, 0x02, 0x86, 0x8c, 0xff, 0x0c, 0x20, 0x46, 0x8b, + 0xff, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x4c, 0xf7, 0xdc, 0x22, 0x1c, 0x04, + 0xc0, 0x20, 0x00, 0x32, 0x20, 0xe4, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x60, 0xe4, 0x06, + 0x04, 0x00, 0x6c, 0xf6, 0xc0, 0x20, 0x00, 0x52, 0x20, 0xe4, 0x60, 0x55, 0x10, 0xc0, 0x20, 0x00, + 0x52, 0x60, 0xe4, 0x41, 0x4f, 0xf8, 0x80, 0x32, 0x01, 0x22, 0x04, 0x5e, 0x30, 0x38, 0x31, 0x80, + 0x22, 0x01, 0x20, 0x28, 0x31, 0x45, 0x8a, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0x02, 0x61, 0x00, 0x20, 0xc2, 0x20, 0x45, 0x39, 0x07, 0x2d, + 0x0c, 0x05, 0xfa, 0xff, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xff, 0xff, 0x7f, 0x80, 0x81, 0xbc, 0x14, 0x09, + 0x98, 0x41, 0xc6, 0x5a, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0x00, 0xfc, 0x00, 0x00, 0x90, 0x01, + 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0xff, 0x80, + 0xff, 0x0f, 0xf0, 0xff, 0x00, 0x20, 0x02, 0x00, 0xa6, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, + 0x54, 0x58, 0x38, 0x00, 0x00, 0xff, 0x0f, 0xf0, 0xe6, 0x00, 0x20, 0x0b, 0x3f, 0xf0, 0xff, 0xdf, + 0x40, 0x0c, 0x00, 0x20, 0xff, 0xff, 0x80, 0xff, 0x00, 0x00, 0x13, 0x00, 0x3f, 0xf0, 0xff, 0xff, + 0x80, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x24, 0x01, 0xfe, 0x03, 0xff, 0xff, 0xff, 0x0f, + 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0x0b, 0xff, 0x00, 0x00, 0x24, 0x00, + 0xff, 0xff, 0xbf, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x83, 0x00, 0x80, 0x00, 0xff, 0xf7, 0xff, 0xff, + 0xd0, 0xf3, 0xfe, 0x3f, 0x40, 0x80, 0xfe, 0x3f, 0x37, 0xf3, 0xfe, 0x3f, 0x61, 0xd9, 0xff, 0xb1, + 0xd9, 0xff, 0x41, 0x1b, 0xf9, 0x51, 0x9c, 0xfa, 0x12, 0xc1, 0xe0, 0xc9, 0x51, 0x09, 0x41, 0xd9, + 0x61, 0x82, 0xaf, 0x80, 0x21, 0x83, 0xf9, 0xd1, 0xd8, 0xfc, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x58, + 0x60, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x62, 0x58, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x43, 0xb0, + 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x43, 0xc1, 0xcc, 0xff, 0xc0, 0x20, 0x00, 0xa2, 0x22, + 0xd0, 0xc0, 0xaa, 0x10, 0xb0, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x62, 0xd0, 0x91, 0xc7, 0xff, + 0xc0, 0x20, 0x00, 0x92, 0x62, 0x5b, 0x71, 0xc6, 0xff, 0xc0, 0x20, 0x00, 0x72, 0x62, 0x5a, 0x61, + 0xc5, 0xff, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x54, 0x60, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, 0x62, + 0x54, 0xc0, 0x20, 0x00, 0xc2, 0xa1, 0x90, 0x02, 0x22, 0xc6, 0xc0, 0x20, 0x00, 0xc2, 0x62, 0xc6, + 0xb1, 0xbe, 0xff, 0xa1, 0xbe, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x2d, 0xbb, 0xb0, 0x99, 0x10, 0xa0, + 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x6d, 0xbb, 0x71, 0xba, 0xff, 0xc0, 0x20, 0x00, 0x62, 0x2d, + 0xe2, 0x70, 0x66, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x04, 0x00, 0x62, 0x6d, 0xe2, 0x42, 0xc4, 0xf1, + 0x40, 0x40, 0x64, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x52, 0x80, 0x33, 0x10, 0x40, 0x33, 0x20, 0xc0, + 0x20, 0x00, 0x32, 0x62, 0x52, 0x01, 0xaf, 0xff, 0xc1, 0xb0, 0xff, 0xc0, 0x20, 0x00, 0xb2, 0x22, + 0x4a, 0x00, 0xbb, 0x10, 0xc0, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x62, 0x4a, 0xa1, 0xab, 0xff, + 0xc0, 0x20, 0x00, 0x98, 0xd2, 0xa0, 0x99, 0x10, 0xc0, 0x20, 0x00, 0x99, 0xd2, 0x2c, 0x67, 0xc0, + 0x20, 0x00, 0x62, 0x22, 0x51, 0x80, 0x66, 0x10, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x62, + 0x51, 0x42, 0xaf, 0xc0, 0x1c, 0x13, 0xc0, 0x20, 0x00, 0x02, 0x22, 0xdc, 0x40, 0x00, 0x10, 0x30, + 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0xdc, 0xc1, 0x32, 0xfe, 0xc0, 0x20, 0x00, 0xb2, 0x2d, + 0xa8, 0xc0, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x6d, 0xa8, 0xa1, 0x99, 0xff, 0x91, 0x99, 0xff, + 0xc0, 0x20, 0x00, 0x82, 0x22, 0x59, 0xa0, 0x88, 0x10, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, + 0x62, 0x59, 0x71, 0x79, 0xfc, 0x61, 0x94, 0xff, 0xc0, 0x20, 0x00, 0x42, 0x22, 0x59, 0x70, 0x44, + 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x62, 0x59, 0x31, 0x90, 0xff, 0x01, 0x90, 0xff, + 0xc0, 0x20, 0x00, 0xc2, 0x22, 0x57, 0x30, 0xcc, 0x10, 0x00, 0xcc, 0x20, 0xc0, 0x20, 0x00, 0xc2, + 0x62, 0x57, 0xb1, 0x8c, 0xff, 0xa1, 0x8c, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x22, 0x54, 0xb0, 0x99, + 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x62, 0x54, 0xc0, 0x20, 0x00, 0x72, 0xa0, 0x80, + 0x82, 0x22, 0xc6, 0xc0, 0x20, 0x00, 0x72, 0x62, 0xc6, 0x0c, 0x46, 0xc0, 0x20, 0x00, 0x42, 0x22, + 0xc4, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x62, 0xc4, 0x31, 0x80, 0xff, 0x01, 0x80, 0xff, + 0xc0, 0x20, 0x00, 0xc2, 0x22, 0xdc, 0x30, 0xcc, 0x10, 0x00, 0xcc, 0x20, 0xc0, 0x20, 0x00, 0xc2, + 0x62, 0xdc, 0xb1, 0x7c, 0xff, 0xa1, 0x7c, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x22, 0xc9, 0xb0, 0x99, + 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x62, 0xc9, 0x81, 0x78, 0xff, 0x71, 0x78, 0xff, + 0xc0, 0x20, 0x00, 0x62, 0x22, 0x56, 0x80, 0x66, 0x10, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, + 0x62, 0x56, 0x41, 0x74, 0xff, 0x31, 0x74, 0xff, 0xc0, 0x20, 0x00, 0x02, 0x22, 0xd3, 0x40, 0x00, + 0x10, 0x30, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0xd3, 0xc1, 0x70, 0xff, 0xb1, 0x70, 0xff, + 0xc0, 0x20, 0x00, 0xa2, 0x22, 0xc8, 0xc0, 0xaa, 0x10, 0xb0, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, + 0x62, 0xc8, 0x91, 0x6c, 0xff, 0xc0, 0x20, 0x00, 0x82, 0x2d, 0xe2, 0x90, 0x88, 0x20, 0xc0, 0x20, + 0x00, 0x82, 0x6d, 0xe2, 0x71, 0x69, 0xff, 0x61, 0x69, 0xff, 0xc0, 0x20, 0x00, 0x42, 0x25, 0x9c, + 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x9c, 0x31, 0x65, 0xff, 0xc0, + 0x20, 0x00, 0x02, 0x22, 0xd1, 0x30, 0x00, 0x10, 0xc0, 0x20, 0x00, 0x02, 0x62, 0xd1, 0x0c, 0x02, + 0x05, 0xc9, 0xff, 0xc1, 0x7f, 0xf7, 0x08, 0x0c, 0x08, 0x30, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0xb2, + 0xaf, 0xcf, 0x2c, 0x0a, 0x31, 0x6e, 0xf6, 0x61, 0x8e, 0xf5, 0x21, 0x5a, 0xff, 0xc0, 0x20, 0x00, + 0x92, 0x2d, 0x8e, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x6d, 0x8e, 0xc0, + 0x20, 0x00, 0xa1, 0xe3, 0xf8, 0x71, 0x54, 0xff, 0x82, 0x2a, 0x92, 0xc0, 0x20, 0x00, 0x72, 0x6a, + 0x92, 0x0c, 0x65, 0xc0, 0x20, 0x00, 0x42, 0x2a, 0x93, 0x50, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, + 0x6a, 0x93, 0xc0, 0x20, 0x00, 0x22, 0x6a, 0xc7, 0xc0, 0x20, 0x00, 0x02, 0x2a, 0xc7, 0x20, 0x00, + 0x20, 0xc0, 0x20, 0x00, 0x02, 0x6a, 0xc7, 0xb1, 0x49, 0xff, 0xc0, 0x20, 0x00, 0x98, 0xaa, 0xb0, + 0x99, 0x10, 0xc0, 0x20, 0x00, 0x99, 0xaa, 0x7c, 0x98, 0x0c, 0x27, 0xc0, 0x20, 0x00, 0x52, 0x26, + 0x89, 0x80, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x89, 0x7c, 0xe4, 0xc0, + 0x20, 0x00, 0x22, 0x23, 0xf0, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x28, + 0x22, 0x63, 0xf0, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x08, 0x0c, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x0c, + 0xc4, 0xc0, 0x00, 0x00, 0x0c, 0x22, 0x08, 0x0c, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa1, 0x84, + 0xc0, 0x00, 0x00, 0x0c, 0x32, 0x08, 0x0c, 0x0c, 0x23, 0x02, 0x20, 0x2b, 0x0c, 0x64, 0xc0, 0x00, + 0x00, 0x08, 0x0c, 0x02, 0x20, 0x2f, 0xc0, 0x00, 0x00, 0x28, 0x4c, 0x01, 0x2d, 0xff, 0x07, 0xf2, + 0x17, 0xb7, 0xf2, 0x14, 0x32, 0xa0, 0x7f, 0x41, 0x2b, 0xff, 0x51, 0x2b, 0xff, 0x1c, 0x06, 0x0c, + 0x07, 0x2d, 0x00, 0x05, 0x12, 0xfe, 0x01, 0x26, 0xff, 0x0c, 0x12, 0x42, 0x2c, 0x74, 0x0c, 0x08, + 0x31, 0x0e, 0xfa, 0x71, 0x43, 0xf8, 0x52, 0xc3, 0x7c, 0x62, 0xc3, 0x16, 0x72, 0x07, 0x00, 0x89, + 0x11, 0x89, 0x21, 0x89, 0x31, 0x09, 0x01, 0x1b, 0x77, 0x70, 0x70, 0x74, 0x85, 0x2b, 0xfe, 0x22, + 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x24, 0x0c, 0x75, 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x72, + 0xa0, 0xe8, 0xc0, 0x00, 0x00, 0x0c, 0x13, 0xc0, 0x20, 0x00, 0x22, 0x2d, 0x98, 0x30, 0x22, 0x20, + 0xc0, 0x20, 0x00, 0x22, 0x6d, 0x98, 0xc8, 0x51, 0xd8, 0x61, 0x08, 0x41, 0x12, 0xc1, 0x20, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x85, 0xb0, 0xfd, 0x22, 0xa0, 0x64, + 0x01, 0xaf, 0xf9, 0xc0, 0x00, 0x00, 0x02, 0x21, 0x00, 0x12, 0xc1, 0x10, 0x80, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x1f, 0xf0, 0x00, 0x00, 0x80, 0x01, 0xff, 0xff, 0xff, 0x1f, 0xff, 0x3f, 0xe0, 0xff, + 0x00, 0x40, 0x1f, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xab, 0x00, 0xff, 0x00, 0xff, 0xff, + 0xb1, 0xf8, 0xff, 0xa1, 0xf8, 0xff, 0x31, 0x0d, 0xf6, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xe6, 0xb0, + 0x22, 0x10, 0xa0, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xe6, 0xc0, 0x20, 0x00, 0x92, 0x23, + 0xe7, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x63, 0xe7, 0x81, 0xee, 0xff, + 0x71, 0x70, 0xfd, 0xc0, 0x20, 0x00, 0x62, 0x23, 0xe5, 0x80, 0x66, 0x10, 0x70, 0x66, 0x20, 0xc0, + 0x20, 0x00, 0x62, 0x63, 0xe5, 0x51, 0xe9, 0xff, 0x41, 0xea, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x23, + 0xe6, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xe6, 0xb1, 0xe5, 0xff, + 0xa1, 0xe6, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x23, 0xe8, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, + 0x20, 0x00, 0x92, 0x63, 0xe8, 0x81, 0xe1, 0xff, 0x72, 0xa1, 0x00, 0xc0, 0x20, 0x00, 0x62, 0x23, + 0xf2, 0x80, 0x66, 0x10, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x63, 0xf2, 0x52, 0xaf, 0x80, + 0x4c, 0x74, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xe6, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, + 0x00, 0x22, 0x63, 0xe6, 0x0d, 0xf0, 0x00, 0x00, 0xeb, 0xf2, 0xfe, 0x3f, 0xff, 0x0f, 0xff, 0xff, + 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x0d, 0x01, + 0x00, 0x00, 0xde, 0x03, 0x00, 0x00, 0xed, 0x03, 0x12, 0xc1, 0xf0, 0x41, 0xf7, 0xff, 0x09, 0x01, + 0x22, 0x04, 0x82, 0x01, 0x1e, 0xf5, 0x66, 0x22, 0x17, 0x52, 0xa0, 0x69, 0x62, 0xaf, 0x94, 0xc0, + 0x20, 0x00, 0x32, 0x20, 0x68, 0x60, 0x33, 0x10, 0x50, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x60, + 0x68, 0x32, 0x04, 0x83, 0x26, 0x13, 0x02, 0x66, 0x33, 0x2a, 0x0c, 0x1a, 0xb2, 0xaf, 0xbc, 0xc0, + 0x20, 0x00, 0x92, 0x20, 0x68, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x60, + 0x68, 0x7c, 0xe8, 0xc0, 0x20, 0x00, 0x72, 0x20, 0x5d, 0x80, 0x77, 0x10, 0xc0, 0x20, 0x00, 0x72, + 0x60, 0x5d, 0x32, 0x04, 0x83, 0x52, 0xae, 0xff, 0x26, 0x23, 0x02, 0x66, 0x33, 0x2b, 0xc0, 0x20, + 0x00, 0x21, 0x06, 0xf5, 0x02, 0x22, 0x8d, 0x32, 0xae, 0xff, 0x30, 0x00, 0x10, 0xc0, 0x20, 0x00, + 0x0c, 0x03, 0x0c, 0x04, 0x02, 0x62, 0x8d, 0x0c, 0x15, 0x0c, 0x02, 0x01, 0x04, 0xf5, 0xc0, 0x00, + 0x00, 0x01, 0xfe, 0xf4, 0x41, 0xd5, 0xff, 0x52, 0xae, 0xff, 0x32, 0x04, 0x7c, 0x26, 0x13, 0x11, + 0xc0, 0x20, 0x00, 0x62, 0x20, 0x8d, 0x50, 0x66, 0x10, 0xc0, 0x20, 0x00, 0x62, 0x60, 0x8d, 0x32, + 0x04, 0x7c, 0x66, 0x23, 0x11, 0x82, 0xa1, 0x00, 0xc0, 0x20, 0x00, 0x72, 0x20, 0x85, 0x80, 0x77, + 0x20, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x85, 0x62, 0xae, 0xcf, 0x32, 0x04, 0x81, 0x3c, 0x07, 0x66, + 0x13, 0x14, 0xc0, 0x20, 0x00, 0x92, 0x20, 0x86, 0x60, 0x99, 0x10, 0x70, 0x99, 0x20, 0xc0, 0x20, + 0x00, 0x92, 0x60, 0x86, 0x46, 0x0d, 0x00, 0x66, 0x23, 0x11, 0xc0, 0x20, 0x00, 0xa2, 0x20, 0x8e, + 0x50, 0xaa, 0x10, 0xc0, 0x20, 0x00, 0xa2, 0x60, 0x8e, 0x06, 0x08, 0x00, 0xc0, 0x20, 0x00, 0x22, + 0x20, 0x86, 0x60, 0x22, 0x10, 0x70, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x60, 0x86, 0xc0, 0x20, + 0x00, 0xb2, 0x20, 0x8e, 0x50, 0xbb, 0x10, 0xc0, 0x20, 0x00, 0xb2, 0x60, 0x8e, 0x32, 0x04, 0x7e, + 0x2c, 0x08, 0x26, 0x13, 0x26, 0x26, 0x33, 0x23, 0x26, 0x43, 0x20, 0x26, 0x53, 0x1d, 0x32, 0x04, + 0x80, 0x52, 0xc3, 0xfd, 0x56, 0x25, 0x10, 0xc0, 0x20, 0x00, 0x72, 0x20, 0x8d, 0x60, 0x77, 0x10, + 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x8d, 0xc6, 0x2a, 0x00, 0x51, 0x8c, 0xf5, 0x0c, + 0x09, 0x0b, 0xa3, 0x16, 0xba, 0x0f, 0xb2, 0xc3, 0xfc, 0x16, 0x5b, 0x0f, 0x22, 0xc3, 0xfd, 0x16, + 0x72, 0x15, 0xa2, 0xc3, 0xfb, 0x16, 0x1a, 0x15, 0x32, 0xae, 0x0f, 0xc0, 0x20, 0x00, 0x52, 0x20, + 0x82, 0x30, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x60, 0x82, 0xc0, 0x20, 0x00, + 0x22, 0x20, 0x83, 0x30, 0x22, 0x10, 0x70, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x60, 0x83, 0xb2, + 0x04, 0x7f, 0xb6, 0x2b, 0x26, 0xc0, 0x20, 0x00, 0x92, 0x20, 0x85, 0x60, 0x99, 0x10, 0x80, 0x99, + 0x20, 0xc0, 0x20, 0x00, 0x92, 0x60, 0x85, 0xc0, 0x20, 0x00, 0x72, 0x20, 0x8d, 0x60, 0x77, 0x10, + 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x8d, 0x06, 0x08, 0x00, 0xc0, 0x20, 0x00, 0xb2, + 0x20, 0x85, 0x60, 0xbb, 0x10, 0x70, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x60, 0x85, 0xc0, 0x20, + 0x00, 0xa2, 0x20, 0x8d, 0x60, 0xaa, 0x10, 0xc0, 0x20, 0x00, 0xa2, 0x60, 0x8d, 0x32, 0x04, 0x7e, + 0x66, 0x13, 0x02, 0x06, 0x23, 0x00, 0x66, 0x33, 0x02, 0x86, 0x21, 0x00, 0x02, 0xc3, 0xfc, 0x16, + 0xf0, 0x0d, 0x22, 0xc3, 0xfb, 0x16, 0x92, 0x0d, 0x01, 0x7c, 0xff, 0x41, 0xa7, 0xf4, 0x02, 0x00, + 0x7d, 0x31, 0x7a, 0xff, 0x66, 0x10, 0x15, 0x51, 0x7a, 0xff, 0xc0, 0x20, 0x00, 0x28, 0x14, 0x30, + 0x22, 0x10, 0x50, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x29, 0x14, 0x46, 0x05, 0x00, 0x66, 0x20, 0x12, + 0x61, 0x75, 0xff, 0xc0, 0x20, 0x00, 0x58, 0x14, 0x30, 0x55, 0x10, 0x60, 0x55, 0x20, 0xc0, 0x20, + 0x00, 0x59, 0x14, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x66, 0x23, 0xba, 0xc0, 0x20, 0x00, + 0x72, 0x20, 0x85, 0x60, 0x77, 0x10, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x85, 0x46, + 0xe9, 0xff, 0x32, 0x04, 0x7f, 0xa2, 0xc3, 0xfd, 0x16, 0xfa, 0x0c, 0xb2, 0xc3, 0xfb, 0x16, 0x9b, + 0x0c, 0xf6, 0x23, 0x02, 0x46, 0x2c, 0x00, 0x21, 0x64, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x65, 0x40, + 0x06, 0xbd, 0xff, 0x32, 0x04, 0x7f, 0x66, 0x13, 0x1e, 0x0c, 0x12, 0x0c, 0x03, 0x0c, 0x14, 0x0c, + 0x05, 0x01, 0x86, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x83, 0x0c, 0x84, 0x0c, 0x05, 0x01, + 0x83, 0xf4, 0xc0, 0x00, 0x00, 0xc6, 0xd7, 0xff, 0x56, 0xc3, 0xf5, 0x0c, 0x02, 0x0c, 0x13, 0x0c, + 0x14, 0x0c, 0x05, 0x01, 0x7e, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x82, 0x0c, 0x03, 0x0c, 0x84, 0x0c, + 0x05, 0x01, 0x7a, 0xf4, 0xc0, 0x00, 0x00, 0x46, 0xcf, 0xff, 0x32, 0x04, 0x7f, 0x26, 0x33, 0x76, + 0x26, 0x53, 0x73, 0xb6, 0x23, 0x5b, 0x31, 0x4d, 0xff, 0xc0, 0x20, 0x00, 0x32, 0x65, 0x40, 0x46, + 0xa5, 0xff, 0x32, 0x04, 0x7f, 0x66, 0x13, 0x1e, 0x0c, 0x02, 0x0c, 0x13, 0x0c, 0x14, 0x0c, 0x05, + 0x01, 0x6f, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x82, 0x0c, 0x03, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0x6b, + 0xf4, 0xc0, 0x00, 0x00, 0x06, 0xc0, 0xff, 0x56, 0xd3, 0xef, 0x0c, 0x12, 0x0c, 0x03, 0x0c, 0x14, + 0x0c, 0x05, 0x01, 0x66, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x83, 0x0c, 0x84, 0x0c, 0x05, + 0x01, 0x63, 0xf4, 0xc0, 0x00, 0x00, 0x86, 0xb7, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x65, 0x40, 0x46, + 0x91, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x65, 0x40, 0x06, 0x8f, 0xff, 0x91, 0x35, 0xff, 0xc0, 0x20, + 0x00, 0x92, 0x65, 0x40, 0x06, 0x8c, 0xff, 0xa1, 0x33, 0xff, 0xc0, 0x20, 0x00, 0xa2, 0x65, 0x40, + 0x06, 0x89, 0xff, 0x00, 0x23, 0xf3, 0xfe, 0x3f, 0x80, 0x3f, 0xe0, 0x0f, 0xff, 0xff, 0xcf, 0xff, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xfb, 0xff, 0x22, 0x00, 0x80, 0x56, 0x62, 0x08, 0x01, 0x14, + 0xf6, 0x22, 0xa0, 0x66, 0x08, 0x00, 0x0c, 0x33, 0x02, 0x20, 0x24, 0x0c, 0x14, 0xc0, 0x00, 0x00, + 0x31, 0x10, 0xf6, 0x22, 0x63, 0x96, 0x21, 0x01, 0xf5, 0xc0, 0x20, 0x00, 0x52, 0x22, 0xe5, 0x52, + 0x63, 0x97, 0xc0, 0x20, 0x00, 0x42, 0x22, 0xe6, 0x42, 0x63, 0x98, 0xc0, 0x20, 0x00, 0x0c, 0x14, + 0x0c, 0x55, 0x0c, 0x06, 0x3c, 0xc7, 0x22, 0x22, 0xe7, 0x22, 0x63, 0x99, 0x08, 0x03, 0x22, 0xa0, + 0x66, 0x02, 0x20, 0x27, 0x0c, 0x33, 0xc0, 0x00, 0x00, 0x01, 0xe6, 0xff, 0x21, 0xe7, 0xff, 0xc0, + 0x20, 0x00, 0x71, 0xf2, 0xf4, 0xb2, 0x27, 0xe7, 0x20, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x67, + 0xe7, 0xa1, 0xd6, 0xfd, 0xc0, 0x20, 0x00, 0x92, 0x27, 0xe6, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, + 0x92, 0x67, 0xe6, 0x81, 0xde, 0xff, 0xc0, 0x20, 0x00, 0x62, 0x27, 0xe5, 0x80, 0x66, 0x10, 0xc0, + 0x20, 0x00, 0x62, 0x67, 0xe5, 0x0c, 0x13, 0x32, 0x40, 0x80, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x28, 0xf3, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xfd, 0xff, + 0x22, 0x00, 0x7b, 0x66, 0x12, 0x38, 0x22, 0xa0, 0x66, 0x0c, 0x33, 0x01, 0xe9, 0xf5, 0x0c, 0x14, + 0x08, 0x00, 0x51, 0xf8, 0xff, 0x02, 0x20, 0x26, 0x52, 0x05, 0x80, 0xc0, 0x00, 0x00, 0x01, 0xf5, + 0xff, 0x31, 0xd6, 0xf4, 0x52, 0x20, 0x21, 0xc0, 0x20, 0x00, 0x52, 0x63, 0xe5, 0x42, 0x20, 0x22, + 0xc0, 0x20, 0x00, 0x42, 0x63, 0xe6, 0x22, 0x20, 0x23, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xe7, 0x0c, + 0x06, 0x62, 0x40, 0x7b, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x66, 0x12, 0x05, 0x85, 0xef, 0xff, 0x86, 0x00, 0x00, 0xc5, 0xf9, 0xff, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x40, 0x00, 0x13, 0xf3, 0xfe, 0x3f, 0x00, 0x78, 0x00, 0x00, + 0x12, 0xc1, 0xe0, 0x02, 0x61, 0x04, 0xc9, 0x51, 0x21, 0xe2, 0xf3, 0xc1, 0xcd, 0xf5, 0xc0, 0x20, + 0x00, 0x42, 0x22, 0x97, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x96, 0xc0, 0x20, 0x00, 0x10, 0x48, 0x40, + 0x0c, 0x13, 0x0c, 0x74, 0x0c, 0x35, 0x0c, 0x26, 0x0c, 0x07, 0x08, 0x0c, 0x22, 0x22, 0x97, 0x02, + 0x20, 0x27, 0x22, 0xa0, 0x61, 0xc0, 0x00, 0x00, 0x45, 0xa9, 0xff, 0x22, 0xa0, 0x77, 0x0c, 0x03, + 0x1c, 0x04, 0x0c, 0x05, 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, + 0x45, 0xce, 0x01, 0x31, 0x89, 0xf8, 0x2d, 0x03, 0x4b, 0x33, 0xc5, 0x0b, 0x01, 0x48, 0x4c, 0x67, + 0xf4, 0x0e, 0x0c, 0x02, 0x45, 0xd0, 0x06, 0x71, 0xe3, 0xff, 0x68, 0x4c, 0x70, 0x66, 0x20, 0x69, + 0x4c, 0x45, 0x21, 0xfe, 0x81, 0xe1, 0xff, 0x82, 0x08, 0x7f, 0x8c, 0x68, 0x0c, 0x02, 0x05, 0x80, + 0xfe, 0x46, 0x01, 0x00, 0x22, 0xa0, 0x01, 0x85, 0x7f, 0xfe, 0x52, 0xa0, 0x40, 0x0c, 0x07, 0x0c, + 0x06, 0x0c, 0x19, 0x0c, 0x0a, 0x41, 0xae, 0xf6, 0x21, 0x78, 0xf8, 0x82, 0x0c, 0x77, 0x32, 0xc2, + 0x14, 0x80, 0x88, 0x01, 0x42, 0x14, 0x01, 0xa9, 0x01, 0x99, 0x11, 0x80, 0x88, 0x31, 0x82, 0xc8, + 0x1f, 0x80, 0x88, 0x01, 0x80, 0x88, 0x31, 0x80, 0x68, 0xb3, 0x60, 0x60, 0x74, 0x85, 0xa0, 0x01, + 0x98, 0x4c, 0xb7, 0xf9, 0x04, 0x0c, 0x62, 0x45, 0x3b, 0x07, 0x22, 0xa0, 0x00, 0x05, 0x19, 0x03, + 0x85, 0x60, 0xff, 0x0c, 0x22, 0x01, 0x20, 0xf8, 0xc0, 0x20, 0x00, 0xb2, 0x20, 0x9c, 0x20, 0xbb, + 0x20, 0xc0, 0x20, 0x00, 0x0c, 0x12, 0x0c, 0x73, 0x0c, 0x54, 0x51, 0xc4, 0xff, 0x0c, 0x16, 0x0c, + 0x07, 0xb2, 0x60, 0x9c, 0xa1, 0x61, 0xf8, 0xa9, 0x01, 0xc5, 0xae, 0xfe, 0x85, 0x28, 0x02, 0x38, + 0x4c, 0xb7, 0x73, 0x27, 0x85, 0xdc, 0x06, 0x62, 0xab, 0xff, 0x51, 0xc7, 0xf3, 0xc0, 0x20, 0x00, + 0x42, 0x25, 0xd0, 0x60, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x65, 0xd0, 0x0c, 0x02, 0x05, 0x50, + 0xff, 0x08, 0x0c, 0x02, 0x20, 0x16, 0x22, 0x9c, 0x2e, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x32, + 0xa0, 0x00, 0x42, 0xa0, 0x0f, 0x52, 0xa0, 0x01, 0x0c, 0x16, 0x71, 0xaf, 0xff, 0x08, 0x0c, 0x72, + 0x07, 0x7e, 0x02, 0x20, 0x27, 0x70, 0x70, 0x04, 0xc0, 0x00, 0x00, 0x41, 0xab, 0xff, 0x22, 0x04, + 0x7f, 0x32, 0x04, 0x80, 0x42, 0x04, 0x81, 0x85, 0x61, 0x07, 0x0c, 0x02, 0xc8, 0x51, 0x08, 0x41, + 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x64, 0xf1, 0xfe, 0x3f, 0xdc, 0xf1, 0xfe, 0x3f, + 0x68, 0x84, 0xfe, 0x3f, 0x31, 0xfd, 0xff, 0x12, 0xc1, 0xe0, 0x22, 0x61, 0x05, 0x02, 0x61, 0x06, + 0x22, 0xc1, 0x10, 0x02, 0xa0, 0x00, 0x09, 0x41, 0xc5, 0xf8, 0x00, 0x0c, 0x02, 0x32, 0xc1, 0x10, + 0x81, 0x50, 0xfd, 0x0c, 0x09, 0x71, 0x6e, 0xf6, 0x51, 0xf5, 0xff, 0x41, 0x69, 0xf5, 0x62, 0xc5, + 0x9a, 0x42, 0x24, 0x74, 0x72, 0x07, 0x00, 0x99, 0x11, 0x99, 0x21, 0x99, 0x31, 0x89, 0x01, 0x1b, + 0x77, 0x70, 0x70, 0x74, 0x05, 0xb6, 0xfd, 0x21, 0x30, 0xf8, 0x0c, 0x04, 0x32, 0xc2, 0x6f, 0x05, + 0x52, 0xfd, 0x01, 0x5f, 0xf5, 0x58, 0x51, 0x22, 0x60, 0x78, 0xac, 0x45, 0x21, 0xe9, 0xff, 0x62, + 0x20, 0x42, 0x72, 0x20, 0x41, 0x42, 0x10, 0x0a, 0x70, 0x59, 0x84, 0x40, 0x30, 0x74, 0x60, 0x80, + 0x84, 0x40, 0x48, 0x74, 0x60, 0x69, 0x84, 0x70, 0x70, 0x84, 0x89, 0x01, 0x01, 0x1d, 0xf4, 0xc0, + 0x00, 0x00, 0x08, 0x61, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x04, 0x2f, 0x00, 0x40, + 0x12, 0xc1, 0xf0, 0x09, 0x11, 0x21, 0x62, 0xf3, 0xc0, 0x20, 0x00, 0x42, 0x22, 0x85, 0x49, 0x01, + 0x7c, 0xe3, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x85, 0x30, 0x00, 0x10, 0xc0, 0x20, 0x00, 0x02, 0x62, + 0x85, 0x5c, 0x02, 0x01, 0xf6, 0xff, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x01, 0xcc, 0xf7, 0xc0, 0x00, + 0x00, 0x0c, 0x87, 0x7c, 0x38, 0x61, 0x7c, 0xf3, 0xc0, 0x20, 0x00, 0x52, 0x26, 0xd0, 0x80, 0x55, + 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0xd0, 0x22, 0xa3, 0xe8, 0x01, 0xc3, 0xf7, + 0xc0, 0x00, 0x00, 0x0c, 0x4b, 0xc0, 0x20, 0x00, 0xa1, 0x74, 0xf3, 0x92, 0x2a, 0xd0, 0x7c, 0x30, + 0x00, 0x99, 0x10, 0xb0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x6a, 0xd0, 0x0c, 0x12, 0x01, 0xbb, + 0xf7, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x31, 0x46, 0xf3, 0x28, 0x01, 0x22, 0x63, 0x85, 0x07, + 0x62, 0x08, 0x22, 0xa0, 0xa0, 0x01, 0xdd, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x11, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0x88, 0x84, 0xfe, 0x3f, 0x90, 0x84, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x02, + 0x61, 0x01, 0x01, 0x38, 0xff, 0x02, 0x00, 0x70, 0x22, 0x61, 0x00, 0x17, 0xe0, 0x39, 0x21, 0xf9, + 0xff, 0x01, 0xeb, 0xf3, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x04, 0x45, 0xb4, 0x03, 0x21, 0x31, 0xff, + 0x22, 0x02, 0x90, 0xcc, 0x12, 0x85, 0xf3, 0xff, 0x22, 0x21, 0x00, 0x41, 0x2e, 0xff, 0x32, 0xa0, + 0x00, 0x32, 0x44, 0x90, 0xc5, 0xe9, 0xff, 0x22, 0xa0, 0x04, 0x0c, 0x03, 0x05, 0xc5, 0x03, 0x21, + 0xee, 0xff, 0x01, 0xdf, 0xf3, 0xc0, 0x00, 0x00, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0x34, 0xf3, 0xfe, 0x3f, 0x38, 0xf3, 0xfe, 0x3f, 0x3a, 0xf3, 0xfe, 0x3f, 0x3c, 0xf3, 0xfe, 0x3f, + 0x0c, 0x06, 0x91, 0xfb, 0xff, 0x42, 0x02, 0x00, 0x5d, 0x09, 0x82, 0xc9, 0xc0, 0x42, 0x49, 0x00, + 0x32, 0x02, 0x01, 0xfb, 0x79, 0x30, 0x31, 0x04, 0x32, 0x49, 0x02, 0x2a, 0xa6, 0x1b, 0x66, 0xa2, + 0x0a, 0x02, 0xa2, 0x45, 0x03, 0x1b, 0x55, 0x77, 0x95, 0xf0, 0x5d, 0x09, 0xa1, 0xeb, 0xfc, 0x0c, + 0x06, 0x2a, 0x36, 0x1b, 0x55, 0x1b, 0x66, 0x42, 0x03, 0x11, 0x42, 0x45, 0x11, 0x72, 0x03, 0x14, + 0x80, 0xb4, 0x01, 0x7a, 0x44, 0x42, 0x45, 0x14, 0x32, 0x03, 0x17, 0xb0, 0xb8, 0x31, 0x3a, 0xbb, + 0xb2, 0x45, 0x17, 0xa7, 0x95, 0xda, 0x5d, 0x09, 0x71, 0xe7, 0xff, 0x0c, 0x0a, 0x0c, 0x06, 0xb2, + 0x02, 0x1a, 0xb2, 0x48, 0x5c, 0x42, 0x02, 0x1b, 0x42, 0x48, 0x5d, 0x2a, 0x46, 0x32, 0x02, 0x1c, + 0xb2, 0x02, 0x1d, 0x30, 0x30, 0x54, 0x80, 0x33, 0x11, 0x30, 0xbb, 0x20, 0xb2, 0x58, 0x2f, 0x1b, + 0x66, 0x42, 0x04, 0x1e, 0x42, 0x45, 0x20, 0x80, 0x34, 0x01, 0x30, 0x38, 0x31, 0xe6, 0x63, 0x02, + 0x77, 0x64, 0x02, 0xa2, 0x45, 0x20, 0x2a, 0x46, 0x1b, 0x55, 0x77, 0x95, 0xe1, 0x5d, 0x09, 0x71, + 0xd6, 0xff, 0x0c, 0x06, 0x2a, 0xa6, 0x1b, 0x66, 0xa2, 0x0a, 0x22, 0xa2, 0x45, 0x24, 0x1b, 0x55, + 0x77, 0x95, 0xf0, 0x5d, 0x09, 0x71, 0xd1, 0xff, 0x0c, 0x06, 0x2a, 0xb6, 0x1b, 0x66, 0xb2, 0x0b, + 0x28, 0xb2, 0x45, 0x2a, 0x1b, 0x55, 0x77, 0x95, 0xf0, 0x0c, 0x55, 0x32, 0x02, 0x30, 0x32, 0x48, + 0x41, 0xb2, 0x02, 0x31, 0xb2, 0x48, 0x73, 0xa2, 0x02, 0x32, 0xa2, 0x48, 0x74, 0x92, 0x02, 0x33, + 0x92, 0x48, 0x75, 0x72, 0x02, 0x34, 0x72, 0x48, 0x76, 0x62, 0x02, 0x35, 0x62, 0x48, 0x77, 0x42, + 0x02, 0x36, 0x42, 0x48, 0x78, 0x32, 0x02, 0x37, 0x32, 0x48, 0x79, 0xb2, 0x02, 0x38, 0xb2, 0x48, + 0x7a, 0xa2, 0x02, 0x40, 0xa2, 0x48, 0x7b, 0x92, 0x02, 0x41, 0x92, 0x48, 0x7c, 0x72, 0x02, 0x42, + 0x62, 0x02, 0x43, 0x70, 0x70, 0x54, 0x80, 0x77, 0x11, 0x70, 0x66, 0x20, 0x62, 0x58, 0x3f, 0x42, + 0x02, 0x44, 0x42, 0x48, 0x80, 0x32, 0x02, 0x45, 0x32, 0x48, 0x81, 0xb2, 0x02, 0x47, 0xa2, 0x02, + 0x46, 0x80, 0xbb, 0x01, 0x80, 0xaa, 0x01, 0xa0, 0xa8, 0x31, 0xb0, 0xb8, 0x31, 0x80, 0xbb, 0x11, + 0xb0, 0xaa, 0x20, 0xa2, 0x58, 0x41, 0x92, 0x02, 0x49, 0x72, 0x02, 0x48, 0x80, 0x99, 0x01, 0x80, + 0x77, 0x01, 0x70, 0x78, 0x31, 0x90, 0x98, 0x31, 0x80, 0x99, 0x11, 0x90, 0x77, 0x20, 0x72, 0x58, + 0x42, 0x62, 0x02, 0x4a, 0x62, 0x48, 0x86, 0x42, 0x02, 0x4b, 0x6d, 0x05, 0x40, 0x40, 0x34, 0x42, + 0x48, 0x88, 0xf6, 0x64, 0x01, 0x6d, 0x04, 0x62, 0x48, 0x88, 0x92, 0x02, 0x4b, 0x90, 0x94, 0x24, + 0x92, 0x48, 0x8a, 0x72, 0x02, 0x4b, 0x70, 0x77, 0x04, 0x72, 0x48, 0x8c, 0x62, 0x02, 0x4c, 0x60, + 0x60, 0x34, 0x62, 0x48, 0x87, 0x67, 0x35, 0x01, 0x5d, 0x06, 0x52, 0x48, 0x87, 0x42, 0x02, 0x4c, + 0x40, 0x44, 0x24, 0x42, 0x48, 0x89, 0x32, 0x02, 0x4c, 0x30, 0x37, 0x04, 0x32, 0x48, 0x8b, 0xb2, + 0x02, 0x4d, 0xb0, 0xb0, 0x34, 0xb2, 0x48, 0x8e, 0xa2, 0x02, 0x4d, 0xa0, 0xa4, 0x34, 0xa2, 0x48, + 0x8d, 0x92, 0x02, 0x4e, 0x92, 0x48, 0x8f, 0x72, 0x02, 0x4f, 0x72, 0x48, 0x90, 0x62, 0x02, 0x50, + 0x62, 0x48, 0x91, 0x42, 0x02, 0x51, 0x42, 0x48, 0x92, 0x32, 0x02, 0x52, 0x32, 0x48, 0x93, 0xb2, + 0x02, 0x53, 0xb2, 0x48, 0x94, 0xa2, 0x02, 0x54, 0xa2, 0x48, 0x95, 0x92, 0x02, 0x55, 0x92, 0x48, + 0x96, 0x72, 0x02, 0x56, 0x72, 0x48, 0x97, 0x62, 0x02, 0x57, 0x62, 0x48, 0x98, 0x42, 0x02, 0x58, + 0x42, 0x48, 0x99, 0x32, 0x02, 0x59, 0x32, 0x48, 0x9a, 0xb2, 0x02, 0x5a, 0xb2, 0x48, 0x9b, 0xa2, + 0x02, 0x5b, 0xa2, 0x48, 0x9c, 0x92, 0x02, 0x5c, 0x92, 0x48, 0x9d, 0x72, 0x02, 0x5d, 0x72, 0x48, + 0x9e, 0x62, 0x02, 0x5e, 0x62, 0x48, 0x9f, 0x42, 0x02, 0x5f, 0x42, 0x48, 0xa0, 0x32, 0x02, 0x60, + 0x32, 0x48, 0xa1, 0xb2, 0x02, 0x61, 0xb2, 0x48, 0xa2, 0xa2, 0x02, 0x62, 0xa2, 0x48, 0xa3, 0x92, + 0x02, 0x63, 0x92, 0x48, 0xa4, 0x72, 0x02, 0x64, 0x72, 0x48, 0xa5, 0x62, 0x02, 0x65, 0x62, 0x48, + 0xa6, 0x42, 0x02, 0x66, 0x42, 0x48, 0xa7, 0x32, 0x02, 0x67, 0x32, 0x48, 0xa8, 0xb2, 0x02, 0x68, + 0xb2, 0x48, 0xa9, 0xa2, 0x02, 0x69, 0xa2, 0x48, 0xaa, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x80, 0x00, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x02, 0xc2, 0x61, 0x03, 0x7c, 0xf2, 0xc1, + 0xa7, 0xf2, 0x01, 0x6f, 0xf4, 0xc0, 0x20, 0x00, 0x0c, 0x23, 0x0c, 0x84, 0x0c, 0x05, 0x08, 0x00, + 0x22, 0x6c, 0x49, 0x02, 0x20, 0x26, 0x22, 0xa0, 0x6a, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0xc0, 0x20, + 0x00, 0x22, 0x6c, 0x43, 0x0c, 0x32, 0xc5, 0x0b, 0x03, 0xc0, 0x20, 0x00, 0x0c, 0x07, 0x72, 0x6c, + 0x50, 0xc0, 0x20, 0x00, 0x72, 0x6c, 0x51, 0x7c, 0xe6, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0x6a, 0x60, + 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, 0x6c, 0x6a, 0xc0, 0x20, 0x00, 0x42, 0x2c, 0x40, 0x49, 0x11, + 0x31, 0xe8, 0xff, 0xc0, 0x20, 0x00, 0x32, 0x6c, 0x40, 0x0c, 0x82, 0x0c, 0x03, 0x85, 0x15, 0x03, + 0x91, 0xa6, 0xf8, 0xc0, 0x20, 0x00, 0x82, 0x2c, 0x42, 0x01, 0x22, 0xf7, 0x90, 0x88, 0x20, 0x02, + 0x00, 0x80, 0x89, 0x01, 0x66, 0x10, 0x2c, 0x22, 0xa0, 0x67, 0x01, 0x51, 0xf4, 0x0c, 0x43, 0x08, + 0x00, 0x0c, 0x14, 0x02, 0x20, 0x26, 0x52, 0xa0, 0x88, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x67, 0x01, + 0x4c, 0xf4, 0x0c, 0x43, 0x08, 0x00, 0x0c, 0x24, 0x02, 0x20, 0x26, 0x52, 0xa0, 0x91, 0xc0, 0x00, + 0x00, 0x46, 0x07, 0x00, 0x66, 0x20, 0x1a, 0x22, 0xa0, 0x67, 0x32, 0xa0, 0x04, 0x42, 0xa0, 0x02, + 0x01, 0x44, 0xf4, 0x52, 0xa0, 0x07, 0x08, 0x00, 0x0c, 0x56, 0x02, 0x20, 0x27, 0x0c, 0x27, 0xc0, + 0x00, 0x00, 0xc0, 0x20, 0x00, 0x28, 0x01, 0x22, 0x6c, 0x42, 0x0c, 0x12, 0xc5, 0x3f, 0x03, 0xc0, + 0x20, 0x00, 0x38, 0x11, 0x08, 0x21, 0x32, 0x6c, 0x40, 0xc8, 0x31, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0xe7, 0xf2, 0xfe, 0x3f, 0x08, 0x6b, 0x00, 0x40, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0x02, 0x61, + 0x00, 0x05, 0x10, 0x03, 0x20, 0xc2, 0x20, 0x01, 0xfb, 0xff, 0xc0, 0x00, 0x00, 0x01, 0xf8, 0xff, + 0x22, 0x00, 0x4e, 0x02, 0x00, 0xb2, 0x9c, 0x12, 0x66, 0x10, 0x05, 0x85, 0xee, 0xff, 0x46, 0x02, + 0x00, 0xcc, 0x60, 0x26, 0x1c, 0x04, 0x8c, 0x1c, 0x85, 0xed, 0xff, 0xc8, 0x11, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x14, 0x3a, 0x00, 0x40, 0xa4, 0x38, 0x00, 0x40, 0xd8, 0x39, 0x00, 0x40, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xef, 0xf6, 0x21, 0x22, 0xf4, 0x02, 0x00, 0x80, 0x28, 0x42, + 0x16, 0x40, 0x04, 0xb7, 0xf2, 0x02, 0xc5, 0xea, 0xff, 0x01, 0x10, 0xf3, 0xc0, 0x20, 0x00, 0x32, + 0x20, 0x46, 0x27, 0x73, 0x32, 0xc0, 0x20, 0x00, 0x42, 0x20, 0x46, 0x40, 0x4d, 0x25, 0x66, 0x24, + 0x26, 0x51, 0x4e, 0xf2, 0xc0, 0x20, 0x00, 0x52, 0x25, 0x88, 0x87, 0x65, 0x1a, 0x0c, 0x12, 0x01, + 0xed, 0xff, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x01, 0xec, 0xff, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x32, + 0xa2, 0xb6, 0x01, 0xea, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0x10, 0x81, 0xfe, 0x3f, 0x30, 0x81, 0xfe, 0x3f, 0x98, 0x84, 0xfe, 0x3f, 0xa4, 0x84, 0xfe, 0x3f, + 0x20, 0x4e, 0x00, 0x00, 0x31, 0xfb, 0xff, 0x42, 0xa0, 0x1c, 0x12, 0xc1, 0xa0, 0xd2, 0x61, 0x13, + 0xe2, 0x61, 0x14, 0xf2, 0x61, 0x15, 0xc2, 0x61, 0x12, 0x02, 0x61, 0x11, 0x20, 0xc2, 0x20, 0x2d, + 0x01, 0x05, 0x62, 0x08, 0x22, 0xc1, 0x20, 0x31, 0xf3, 0xff, 0x1c, 0xc4, 0x45, 0x61, 0x08, 0xc0, + 0x20, 0x00, 0x21, 0x81, 0xf6, 0x0c, 0x0d, 0x22, 0x22, 0x80, 0x22, 0x61, 0x10, 0x8c, 0xcc, 0x22, + 0xa3, 0xe8, 0x01, 0x7e, 0xf6, 0xc0, 0x00, 0x00, 0x1b, 0xdd, 0xd7, 0x9c, 0xf1, 0xc2, 0xa0, 0x01, + 0xe2, 0xae, 0x78, 0xd2, 0xa0, 0x0e, 0xf2, 0xd1, 0xff, 0xc0, 0x2c, 0x20, 0x45, 0x14, 0x04, 0x62, + 0xaf, 0x60, 0xb2, 0xa1, 0x90, 0x0b, 0xdd, 0x52, 0xac, 0xe0, 0xf0, 0xac, 0x90, 0x20, 0x70, 0xf5, + 0x02, 0xd1, 0xff, 0x00, 0x82, 0x11, 0x80, 0x80, 0x31, 0x02, 0xc0, 0x20, 0x00, 0x77, 0x11, 0x70, + 0x70, 0x31, 0x00, 0x9c, 0x90, 0x82, 0x59, 0x7f, 0x72, 0x5a, 0x7f, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, + 0x57, 0x97, 0x0b, 0x72, 0xaf, 0x6a, 0x02, 0xaf, 0x6a, 0x02, 0x5a, 0x7f, 0x06, 0x05, 0x00, 0xe7, + 0xa7, 0x08, 0xe2, 0x5a, 0x7f, 0x72, 0xae, 0x78, 0x06, 0x02, 0x00, 0x77, 0xa6, 0x05, 0x62, 0x5a, + 0x7f, 0x72, 0xaf, 0x60, 0x00, 0x02, 0x11, 0x00, 0x00, 0x31, 0x57, 0x90, 0x0b, 0x82, 0xaf, 0x6a, + 0x22, 0xaf, 0x6a, 0x22, 0x59, 0x7f, 0x06, 0x05, 0x00, 0xe7, 0xa0, 0x08, 0xe2, 0x59, 0x7f, 0x82, + 0xae, 0x78, 0x06, 0x02, 0x00, 0x07, 0xa6, 0x05, 0x62, 0x59, 0x7f, 0x82, 0xaf, 0x60, 0x87, 0xa7, + 0x0b, 0x82, 0x5a, 0x7f, 0x72, 0x59, 0x7f, 0x3d, 0x07, 0x7d, 0x08, 0x8d, 0x03, 0xba, 0x08, 0xba, + 0x27, 0x22, 0x5a, 0x7f, 0x02, 0x59, 0x7f, 0x56, 0xed, 0xf5, 0xc1, 0x03, 0xf2, 0x32, 0x91, 0x10, + 0x52, 0x91, 0x12, 0x42, 0x91, 0x13, 0x50, 0x50, 0x74, 0x80, 0x44, 0x01, 0x00, 0x55, 0x11, 0x50, + 0x44, 0x20, 0x52, 0x91, 0x11, 0x30, 0x30, 0x74, 0x50, 0x50, 0x74, 0x80, 0x55, 0x11, 0x50, 0x33, + 0x20, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x91, 0x14, 0x32, 0x6c, 0x65, 0x22, 0x91, 0x17, + 0x32, 0x91, 0x16, 0x80, 0x22, 0x01, 0x30, 0x30, 0x74, 0x00, 0x33, 0x11, 0x30, 0x22, 0x20, 0x32, + 0x91, 0x15, 0x00, 0x00, 0x74, 0x30, 0x30, 0x74, 0x80, 0x33, 0x11, 0x30, 0x00, 0x20, 0x20, 0x00, + 0x20, 0xc0, 0x20, 0x00, 0x02, 0x6c, 0x66, 0xc0, 0x20, 0x00, 0x22, 0x91, 0x1a, 0xf2, 0xa0, 0xfe, + 0x02, 0x91, 0x1b, 0xe2, 0x91, 0x18, 0x80, 0x00, 0x01, 0xf0, 0xee, 0x10, 0x20, 0x20, 0x74, 0xf2, + 0x91, 0x19, 0x00, 0x22, 0x11, 0x20, 0x00, 0x20, 0xf0, 0xf0, 0x74, 0x80, 0xff, 0x11, 0xf0, 0xee, + 0x20, 0xf2, 0x2c, 0x69, 0x00, 0xee, 0x20, 0xf0, 0xf0, 0x04, 0xf0, 0xee, 0x20, 0xc0, 0x20, 0x00, + 0xe2, 0x6c, 0x69, 0xd2, 0x91, 0x1d, 0xb2, 0x91, 0x1c, 0xd0, 0xd0, 0x74, 0xb0, 0xb0, 0x74, 0x80, + 0xdd, 0x11, 0xd0, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x91, 0x00, 0xb2, 0x6c, 0x6a, 0xa2, 0x91, + 0x03, 0xb2, 0x91, 0x02, 0x80, 0xaa, 0x01, 0xb0, 0xb0, 0x74, 0x00, 0xbb, 0x11, 0xb0, 0xaa, 0x20, + 0xb2, 0x91, 0x01, 0x90, 0x90, 0x74, 0xb0, 0xb0, 0x74, 0x80, 0xbb, 0x11, 0xb0, 0x99, 0x20, 0xa0, + 0x99, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x91, 0x04, 0x92, 0x6c, 0x6f, 0x82, 0x91, 0x07, 0x92, 0x91, + 0x06, 0x80, 0x88, 0x01, 0x90, 0x90, 0x74, 0x00, 0x99, 0x11, 0x90, 0x88, 0x20, 0x92, 0x91, 0x05, + 0x70, 0x70, 0x74, 0x90, 0x90, 0x74, 0x80, 0x99, 0x11, 0x90, 0x77, 0x20, 0x80, 0x77, 0x20, 0xc0, + 0x20, 0x00, 0x52, 0x91, 0x08, 0x72, 0x6c, 0x7e, 0x62, 0x91, 0x0b, 0x72, 0x91, 0x0a, 0x80, 0x66, + 0x01, 0x70, 0x70, 0x74, 0x00, 0x77, 0x11, 0x70, 0x66, 0x20, 0x72, 0x91, 0x09, 0x50, 0x50, 0x74, + 0x70, 0x70, 0x74, 0x80, 0x77, 0x11, 0x70, 0x55, 0x20, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x42, + 0x91, 0x0c, 0x52, 0x6c, 0x7f, 0x62, 0x91, 0x0d, 0x51, 0x69, 0xf2, 0x60, 0x60, 0x74, 0x40, 0x40, + 0x74, 0x80, 0x66, 0x11, 0x60, 0x44, 0x20, 0x50, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x6c, 0x6e, + 0x21, 0x6a, 0xff, 0xc0, 0x20, 0x00, 0x31, 0xf8, 0xf5, 0x42, 0x21, 0x10, 0x32, 0x23, 0x80, 0x40, + 0x33, 0xc0, 0x01, 0x37, 0xf2, 0xc0, 0x00, 0x00, 0x21, 0x65, 0xff, 0xc0, 0x20, 0x00, 0x32, 0x2c, + 0x6e, 0x30, 0x30, 0xf5, 0x01, 0x33, 0xf2, 0xc0, 0x00, 0x00, 0x0c, 0x0d, 0xc1, 0x61, 0xff, 0x22, + 0xa3, 0xe8, 0x01, 0xee, 0xf5, 0xc0, 0x00, 0x00, 0x1b, 0xdd, 0xc7, 0x9d, 0xf1, 0xc2, 0x21, 0x12, + 0xd2, 0x21, 0x13, 0xe2, 0x21, 0x14, 0xf2, 0x21, 0x15, 0x02, 0x21, 0x11, 0x12, 0xc1, 0x60, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x50, 0x81, 0xfe, 0x3f, 0x70, 0x81, 0xfe, 0x3f, 0x90, 0x81, 0xfe, 0x3f, + 0xb0, 0x84, 0xfe, 0x3f, 0x04, 0x85, 0xfe, 0x3f, 0x31, 0xfb, 0xff, 0x1c, 0xc4, 0x22, 0xa0, 0xf0, + 0x20, 0x11, 0xc0, 0xc2, 0x61, 0x34, 0xd2, 0x61, 0x35, 0xe2, 0x61, 0x36, 0xf2, 0x61, 0x37, 0x22, + 0xc1, 0x50, 0x02, 0x61, 0x33, 0xc5, 0x36, 0x08, 0x22, 0xc1, 0x70, 0x31, 0xf3, 0xff, 0x1c, 0xc4, + 0x05, 0x36, 0x08, 0x31, 0xf2, 0xff, 0x1c, 0xc4, 0x22, 0xc1, 0x7f, 0x22, 0xc2, 0x11, 0x45, 0x35, + 0x08, 0x0c, 0x02, 0x85, 0x14, 0x05, 0xf1, 0x3d, 0xf2, 0xc0, 0x20, 0x00, 0x0c, 0x1c, 0x42, 0x2f, + 0xff, 0xd2, 0xd1, 0xff, 0xe2, 0xd1, 0xff, 0xe2, 0xce, 0x70, 0xd2, 0xcd, 0x50, 0x40, 0x30, 0xf5, + 0x40, 0x58, 0x75, 0x52, 0x61, 0x32, 0x80, 0x33, 0x01, 0x00, 0x44, 0x11, 0x30, 0x38, 0x31, 0x32, + 0x61, 0x31, 0x40, 0x40, 0x31, 0x42, 0x61, 0x30, 0xc0, 0x2c, 0x20, 0x85, 0xe7, 0x03, 0xc0, 0x20, + 0x00, 0xe0, 0x2c, 0x90, 0x02, 0x2f, 0xff, 0x02, 0x52, 0x7f, 0xd0, 0x2c, 0x90, 0x00, 0x00, 0xf5, + 0xc2, 0xcc, 0x01, 0xc0, 0xc0, 0x74, 0x02, 0x52, 0x7f, 0x22, 0xa0, 0x0f, 0x27, 0x9c, 0xd8, 0x0c, + 0x1c, 0xe1, 0x37, 0xf4, 0xd1, 0x33, 0xf3, 0x0c, 0xe3, 0x32, 0x61, 0x38, 0x08, 0x0d, 0x02, 0x20, + 0x28, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, 0x20, 0x30, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x22, 0x1e, + 0x01, 0x20, 0x20, 0xb4, 0x05, 0xe5, 0x05, 0x22, 0x1e, 0x01, 0x0c, 0x14, 0x32, 0xc1, 0x7f, 0x32, + 0xc3, 0x31, 0x45, 0x7d, 0x00, 0x08, 0x0d, 0x08, 0x60, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0x2d, 0x0c, + 0x0c, 0x13, 0xc5, 0x9f, 0xfd, 0x32, 0xc1, 0x90, 0x30, 0x3c, 0x90, 0xc0, 0x20, 0x00, 0x08, 0x0d, + 0x22, 0x2f, 0xff, 0x02, 0x20, 0x32, 0x22, 0x53, 0x7f, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, 0x20, + 0x31, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, 0x20, 0x2f, 0xc0, 0x00, 0x00, 0x22, 0x1e, 0x01, 0x0c, + 0x04, 0x32, 0xc1, 0x7f, 0x32, 0xc3, 0x31, 0x05, 0x79, 0x00, 0x22, 0x1e, 0x01, 0x32, 0xc1, 0x7f, + 0x32, 0xc3, 0x31, 0x85, 0x6e, 0x00, 0x0c, 0xe2, 0x32, 0xc1, 0x7f, 0x32, 0xc3, 0x39, 0x45, 0xb1, + 0xfd, 0x42, 0x21, 0x38, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x0b, 0x44, 0x42, 0x61, 0x38, 0x56, 0xa4, + 0xf6, 0xf2, 0x91, 0x29, 0xf9, 0x01, 0xe2, 0x91, 0x39, 0xe9, 0x11, 0xd2, 0x91, 0x2a, 0xd9, 0x21, + 0xc2, 0x91, 0x3a, 0xc9, 0x31, 0xb2, 0x91, 0x2b, 0xb9, 0x41, 0xa2, 0x91, 0x3b, 0xa9, 0x51, 0x92, + 0x91, 0x2c, 0x99, 0x61, 0x82, 0x91, 0x3c, 0x89, 0x71, 0x72, 0x91, 0x2d, 0x79, 0x81, 0x62, 0x91, + 0x3d, 0x69, 0x91, 0x52, 0x91, 0x2e, 0x59, 0xa1, 0x42, 0x91, 0x3e, 0x52, 0x21, 0x30, 0x49, 0xb1, + 0x42, 0x21, 0x31, 0x32, 0x91, 0x2f, 0x39, 0xc1, 0x22, 0x91, 0x3f, 0x32, 0x21, 0x32, 0x29, 0xd1, + 0x21, 0x9c, 0xff, 0x02, 0x91, 0x30, 0x09, 0xe1, 0xf2, 0x91, 0x40, 0xf9, 0xf1, 0xe2, 0x91, 0x31, + 0xe2, 0x61, 0x10, 0xd2, 0x91, 0x41, 0xd2, 0x61, 0x11, 0x62, 0x91, 0x28, 0x72, 0x91, 0x38, 0x01, + 0x9d, 0xf1, 0xc0, 0x00, 0x00, 0xc2, 0x21, 0x30, 0xd2, 0x21, 0x31, 0xe2, 0x21, 0x32, 0xf2, 0x91, + 0x32, 0x62, 0x91, 0x44, 0x69, 0x01, 0x52, 0x91, 0x35, 0x59, 0x11, 0x42, 0x91, 0x45, 0x49, 0x21, + 0x32, 0x91, 0x48, 0x39, 0x31, 0x22, 0x91, 0x49, 0x29, 0x41, 0x02, 0x91, 0x4a, 0x09, 0x51, 0xb2, + 0x91, 0x4b, 0xb9, 0x61, 0xa2, 0x91, 0x4c, 0xa9, 0x71, 0x92, 0x91, 0x4d, 0x99, 0x81, 0x82, 0x91, + 0x4e, 0x89, 0x91, 0x72, 0x91, 0x4f, 0x79, 0xa1, 0x62, 0x91, 0x50, 0x69, 0xb1, 0x52, 0x91, 0x51, + 0x59, 0xc1, 0x42, 0x91, 0x52, 0x49, 0xd1, 0x32, 0x91, 0x53, 0x39, 0xe1, 0x22, 0x91, 0x54, 0x3d, + 0x0f, 0x29, 0xf1, 0x21, 0x7c, 0xff, 0x02, 0x91, 0x55, 0x02, 0x61, 0x10, 0x42, 0x91, 0x42, 0x52, + 0x91, 0x33, 0x62, 0x91, 0x43, 0x72, 0x91, 0x34, 0x01, 0x7f, 0xf1, 0xc0, 0x00, 0x00, 0x22, 0x91, + 0x29, 0x29, 0x01, 0x02, 0x91, 0x39, 0x09, 0x11, 0xb2, 0x91, 0x2a, 0xb9, 0x21, 0xa2, 0x91, 0x3a, + 0xa9, 0x31, 0x92, 0x91, 0x2b, 0x99, 0x41, 0x82, 0x91, 0x3b, 0x89, 0x51, 0x72, 0x91, 0x2c, 0x79, + 0x61, 0x62, 0x91, 0x3c, 0x69, 0x71, 0x52, 0x91, 0x2d, 0x59, 0x81, 0x42, 0x91, 0x3d, 0x5d, 0x0c, + 0x49, 0x91, 0x4d, 0x0d, 0x32, 0x91, 0x2e, 0x39, 0xa1, 0x22, 0x91, 0x3e, 0x3d, 0x0e, 0x29, 0xb1, + 0x21, 0x64, 0xff, 0x02, 0x91, 0x2f, 0x09, 0xc1, 0xb2, 0x91, 0x3f, 0xb9, 0xd1, 0xa2, 0x91, 0x30, + 0xa9, 0xe1, 0x92, 0x91, 0x40, 0x99, 0xf1, 0x82, 0x91, 0x31, 0x82, 0x61, 0x10, 0x72, 0x91, 0x41, + 0x72, 0x61, 0x11, 0x62, 0x91, 0x28, 0x72, 0x91, 0x38, 0x01, 0x7d, 0xf1, 0xc0, 0x00, 0x00, 0x52, + 0x91, 0x44, 0x59, 0x01, 0x42, 0x91, 0x35, 0x49, 0x11, 0x32, 0x91, 0x45, 0x39, 0x21, 0x22, 0x91, + 0x48, 0x29, 0x31, 0x02, 0x91, 0x49, 0x21, 0x53, 0xff, 0x09, 0x41, 0xe2, 0x91, 0x4a, 0xe9, 0x51, + 0xd2, 0x91, 0x4b, 0xd9, 0x61, 0xc2, 0x91, 0x4c, 0xc9, 0x71, 0xb2, 0x91, 0x4d, 0xb9, 0x81, 0xa2, + 0x91, 0x4e, 0xa9, 0x91, 0x92, 0x91, 0x4f, 0x99, 0xa1, 0x82, 0x91, 0x50, 0x89, 0xb1, 0x72, 0x91, + 0x51, 0x79, 0xc1, 0x62, 0x91, 0x52, 0x69, 0xd1, 0x52, 0x91, 0x53, 0x59, 0xe1, 0x42, 0x91, 0x54, + 0x49, 0xf1, 0x32, 0x91, 0x55, 0x32, 0x61, 0x10, 0x3d, 0x0f, 0x42, 0x91, 0x42, 0x52, 0x91, 0x33, + 0x62, 0x91, 0x43, 0x72, 0x91, 0x34, 0x01, 0x62, 0xf1, 0xc0, 0x00, 0x00, 0xc2, 0x21, 0x34, 0xd2, + 0x21, 0x35, 0xe2, 0x21, 0x36, 0xf2, 0x21, 0x37, 0x22, 0xa0, 0xf0, 0x02, 0x21, 0x33, 0x2a, 0x11, + 0x0d, 0xf0, 0x00, 0x00, 0xea, 0xf2, 0xfe, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x01, 0x01, 0x04, 0x01, 0x04, 0x04, 0x01, 0xff, 0xc3, 0xff, 0xff, 0x00, 0x08, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x04, 0x04, 0x04, 0x04, 0x01, 0x71, 0xf7, 0xff, 0x31, 0xf9, 0xf3, 0x42, 0x07, + 0x7f, 0x51, 0xf5, 0xff, 0x26, 0x14, 0x68, 0x26, 0x34, 0x65, 0x61, 0xf4, 0xff, 0x26, 0x44, 0x71, + 0x26, 0x54, 0x6e, 0x42, 0x07, 0x81, 0x66, 0x24, 0x11, 0x21, 0xf1, 0xff, 0xc0, 0x20, 0x00, 0x22, + 0x63, 0xd8, 0xc0, 0x20, 0x00, 0x62, 0x63, 0xd9, 0x46, 0x04, 0x00, 0x66, 0x34, 0x0e, 0x41, 0xed, + 0xff, 0xc0, 0x20, 0x00, 0x42, 0x63, 0xd8, 0xc0, 0x20, 0x00, 0x52, 0x63, 0xd9, 0xa1, 0xa4, 0xf2, + 0xc0, 0x20, 0x00, 0x92, 0x23, 0x40, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x63, 0x40, 0x81, + 0xe6, 0xff, 0x71, 0xe6, 0xff, 0xc0, 0x20, 0x00, 0x62, 0x23, 0x42, 0x80, 0x66, 0x10, 0x70, 0x66, + 0x20, 0xc0, 0x20, 0x00, 0x62, 0x63, 0x42, 0x0c, 0x25, 0xc0, 0x20, 0x00, 0x59, 0xa3, 0x0d, 0xf0, + 0xc0, 0x20, 0x00, 0x52, 0x63, 0xd8, 0xb1, 0xde, 0xff, 0xc0, 0x20, 0x00, 0xb2, 0x63, 0xd9, 0x86, + 0xee, 0xff, 0xc0, 0x20, 0x00, 0x62, 0x63, 0xd8, 0x21, 0xdb, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x63, + 0xd9, 0x06, 0xea, 0xff, 0x60, 0x5e, 0x10, 0x40, 0xa0, 0x5c, 0x10, 0x40, 0xb4, 0x56, 0x10, 0x40, + 0xb4, 0x98, 0x10, 0x40, 0x90, 0x9b, 0x10, 0x40, 0xe8, 0x19, 0x10, 0x40, 0x34, 0x1a, 0x10, 0x40, + 0x90, 0x1a, 0x10, 0x40, 0x0c, 0x56, 0x10, 0x40, 0xe4, 0x9e, 0x10, 0x40, 0x54, 0x07, 0x10, 0x40, + 0x58, 0x07, 0x10, 0x40, 0xda, 0xf4, 0xfe, 0x3f, 0x14, 0x80, 0xfe, 0x3f, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x00, 0x1a, 0x47, 0x50, 0xf3, 0xfe, 0x3f, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xfe, 0xf1, 0x3f, + 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0xff, 0xff, 0xa4, 0x85, 0xfe, 0x3f, 0xcc, 0x85, 0xfe, 0x3f, + 0xc0, 0x0c, 0xf2, 0x3f, 0x6c, 0x85, 0xfe, 0x3f, 0x12, 0xc1, 0xd0, 0xd9, 0xb1, 0xc9, 0xa1, 0xc1, + 0x48, 0xf2, 0x09, 0x91, 0x08, 0x4c, 0xdd, 0x02, 0x97, 0xf0, 0x4d, 0x01, 0x0e, 0xfe, 0xc0, 0x00, + 0x00, 0x51, 0xe0, 0xff, 0x41, 0xe1, 0xff, 0x61, 0xe8, 0xff, 0x71, 0xe6, 0xff, 0x81, 0xe4, 0xff, + 0x91, 0xe3, 0xff, 0xa1, 0xe1, 0xff, 0xb1, 0xdf, 0xff, 0x01, 0xdd, 0xff, 0x29, 0x0c, 0x31, 0xdb, + 0xff, 0x32, 0x62, 0x3a, 0x02, 0x62, 0x28, 0xb2, 0x62, 0x22, 0xa9, 0xa2, 0x92, 0x62, 0x16, 0x82, + 0x62, 0x19, 0x79, 0x92, 0x62, 0x62, 0x36, 0x42, 0x62, 0x12, 0x52, 0x62, 0x43, 0x41, 0xdc, 0xff, + 0x51, 0xdb, 0xff, 0x52, 0x62, 0x1e, 0x42, 0x62, 0x1d, 0x61, 0xda, 0xff, 0x82, 0x0c, 0x5e, 0x62, + 0x06, 0x00, 0x80, 0x88, 0x01, 0xcc, 0xc6, 0x2d, 0x0d, 0x45, 0x47, 0xff, 0xdd, 0x02, 0x0c, 0xe7, + 0x79, 0x81, 0x06, 0x02, 0x00, 0xd2, 0xa0, 0x00, 0x80, 0x88, 0x31, 0x82, 0x61, 0x08, 0x05, 0x81, + 0xff, 0x45, 0xe7, 0xff, 0x05, 0xcf, 0xfe, 0x05, 0x0e, 0xff, 0x21, 0xcf, 0xff, 0x85, 0x7e, 0x05, + 0x01, 0xcd, 0xff, 0x92, 0x00, 0x00, 0x38, 0x4c, 0x66, 0x19, 0x0a, 0xb7, 0xf3, 0x27, 0x28, 0x81, + 0x85, 0x5b, 0x06, 0xc6, 0x07, 0x00, 0x0c, 0x04, 0xa1, 0xc9, 0xff, 0x21, 0xeb, 0xf4, 0xa0, 0xa3, + 0x20, 0xa9, 0x4c, 0x32, 0xc2, 0x6f, 0x85, 0x80, 0xfc, 0x4d, 0x02, 0x21, 0xe9, 0xf6, 0x42, 0x6c, + 0x78, 0x9b, 0x32, 0xc5, 0x7f, 0xfc, 0x31, 0xc2, 0xff, 0xc1, 0xc2, 0xff, 0x21, 0xfc, 0xf1, 0xc0, + 0x20, 0x00, 0x02, 0x22, 0x9f, 0x00, 0x00, 0xf4, 0x30, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, + 0x9f, 0xb2, 0x0c, 0x3d, 0x66, 0x2b, 0x40, 0x52, 0x0c, 0x3c, 0x22, 0x0c, 0x4a, 0x62, 0x0c, 0x4d, + 0x42, 0x0c, 0x3a, 0x32, 0x0c, 0x39, 0x80, 0x44, 0x11, 0x40, 0x33, 0x20, 0x42, 0x0c, 0x4b, 0x80, + 0x66, 0x01, 0x80, 0x44, 0x11, 0x40, 0x22, 0x20, 0x42, 0x0c, 0x3b, 0x80, 0x55, 0x01, 0x00, 0x44, + 0x11, 0x50, 0x44, 0x20, 0x52, 0x0c, 0x4c, 0x40, 0x33, 0x20, 0x00, 0x55, 0x11, 0x60, 0x55, 0x20, + 0x50, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x29, 0x03, 0x02, 0x0c, 0x34, 0x0c, 0x02, 0x66, 0x10, 0x54, + 0x45, 0xa8, 0xff, 0x0c, 0x02, 0x22, 0x4c, 0x34, 0x52, 0x0c, 0x35, 0x01, 0x7f, 0xf4, 0x66, 0x15, + 0x4f, 0x62, 0x0c, 0x36, 0x62, 0xc6, 0xff, 0x56, 0x36, 0x11, 0xd1, 0x7b, 0xf4, 0x22, 0xa0, 0x01, + 0x85, 0x06, 0xff, 0x22, 0x0c, 0x37, 0x45, 0x75, 0x05, 0x0c, 0xa2, 0x0c, 0x03, 0x41, 0x9e, 0xff, + 0x51, 0x62, 0xf3, 0x62, 0xa0, 0xbf, 0x0c, 0x07, 0x79, 0x01, 0x79, 0x11, 0x79, 0x21, 0x79, 0x31, + 0x79, 0x41, 0x71, 0x5d, 0xf3, 0x45, 0x45, 0x03, 0xc0, 0x20, 0x00, 0x0c, 0x08, 0x82, 0x6d, 0xf0, + 0x0c, 0x0d, 0x06, 0x42, 0x00, 0x66, 0x20, 0xaf, 0x22, 0xa7, 0xd0, 0x85, 0x77, 0xff, 0x46, 0xe8, + 0xff, 0x92, 0x0c, 0x3e, 0x66, 0x19, 0x71, 0xb1, 0x91, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x6b, 0x9b, + 0x7c, 0xd5, 0xc0, 0x20, 0x00, 0x42, 0x20, 0xa2, 0x50, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x60, + 0xa2, 0x7c, 0x73, 0xc0, 0x20, 0x00, 0xa2, 0x20, 0xa2, 0x30, 0xaa, 0x10, 0xc0, 0x20, 0x00, 0xa2, + 0x60, 0xa2, 0x6c, 0xf9, 0xc0, 0x20, 0x00, 0x82, 0x20, 0xa2, 0x90, 0x88, 0x10, 0xc0, 0x20, 0x00, + 0x82, 0x60, 0xa2, 0x71, 0x98, 0xf9, 0xc0, 0x20, 0x00, 0x62, 0x20, 0xa2, 0x70, 0x66, 0x10, 0xc0, + 0x20, 0x00, 0x62, 0x60, 0xa2, 0x51, 0x7e, 0xff, 0xc0, 0x20, 0x00, 0x42, 0x2b, 0x80, 0x50, 0x44, + 0x20, 0xc0, 0x20, 0x00, 0x42, 0x6b, 0x80, 0x31, 0x7b, 0xff, 0xc0, 0x20, 0x00, 0xa2, 0x2b, 0x9c, + 0x30, 0xaa, 0x10, 0xc0, 0x20, 0x00, 0xa2, 0x6b, 0x9c, 0x62, 0x0c, 0x3d, 0x66, 0x16, 0x39, 0x32, + 0x0c, 0x39, 0x42, 0x0c, 0x3b, 0x52, 0x0c, 0x3c, 0x80, 0x44, 0x11, 0x50, 0x44, 0x20, 0x52, 0x0c, + 0x3a, 0x80, 0x33, 0x01, 0x00, 0x55, 0x11, 0x50, 0x33, 0x20, 0x40, 0x33, 0x20, 0x8c, 0xf3, 0x21, + 0x6e, 0xff, 0xc0, 0x20, 0x00, 0x48, 0x03, 0x01, 0x82, 0xf0, 0xc0, 0x00, 0x00, 0x06, 0x02, 0x00, + 0x21, 0x6b, 0xff, 0x01, 0x7f, 0xf0, 0xc0, 0x00, 0x00, 0x08, 0x91, 0xc8, 0xa1, 0x61, 0x5d, 0xff, + 0x2d, 0x0d, 0x0c, 0x15, 0xd8, 0xb1, 0x52, 0x46, 0x00, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x22, 0xa0, + 0x00, 0x85, 0xf5, 0xfe, 0x22, 0x0c, 0x37, 0x45, 0x64, 0x05, 0x22, 0xa0, 0x0a, 0x32, 0xa0, 0x00, + 0x42, 0xa4, 0x00, 0x0c, 0x45, 0x0c, 0x06, 0x72, 0xa3, 0xfc, 0x0c, 0x08, 0x89, 0x11, 0x89, 0x21, + 0x89, 0x31, 0x79, 0x01, 0x89, 0x41, 0x0c, 0x07, 0x05, 0x34, 0x03, 0xd2, 0xa7, 0xd0, 0x85, 0x66, + 0x05, 0x21, 0x57, 0xff, 0x0c, 0x03, 0xc5, 0x2d, 0x03, 0x21, 0x56, 0xff, 0x32, 0x0c, 0x37, 0x42, + 0x0c, 0x38, 0x01, 0x67, 0xf0, 0xc0, 0x00, 0x00, 0x0c, 0xa2, 0x32, 0x0c, 0x38, 0x0c, 0x14, 0x5d, + 0x0d, 0x85, 0x73, 0x03, 0x06, 0xfc, 0xff, 0x00, 0x26, 0x42, 0x14, 0x26, 0xb2, 0x09, 0x1c, 0x23, + 0x37, 0x12, 0x10, 0x1c, 0x44, 0x47, 0x12, 0x03, 0x0c, 0x12, 0x0d, 0xf0, 0x0c, 0x32, 0x0d, 0xf0, + 0x0c, 0x02, 0x0d, 0xf0, 0x0c, 0x22, 0x0d, 0xf0, 0x8c, 0xf2, 0x26, 0x12, 0x05, 0x26, 0x22, 0x0e, + 0x26, 0x32, 0x03, 0x1c, 0x02, 0x0d, 0xf0, 0x1c, 0x42, 0x0d, 0xf0, 0x0c, 0x42, 0x0d, 0xf0, 0x1c, + 0x22, 0x0d, 0xf0, 0x00, 0x12, 0x80, 0xfe, 0x3f, 0x12, 0xc1, 0xe0, 0xd9, 0x31, 0xf9, 0x51, 0xc9, + 0x21, 0xe9, 0x41, 0x09, 0x11, 0xed, 0x03, 0x08, 0x02, 0xcd, 0x02, 0x00, 0x03, 0x05, 0x56, 0xe0, + 0x08, 0xf1, 0x83, 0xf1, 0x21, 0xf8, 0xff, 0x08, 0x0f, 0x22, 0x12, 0x00, 0x02, 0x20, 0x29, 0x20, + 0x20, 0x44, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x08, 0x0f, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x1c, 0xf4, + 0xc0, 0x00, 0x00, 0x0c, 0x0d, 0xd0, 0x2d, 0x20, 0xc5, 0xf9, 0xff, 0x42, 0xa1, 0xf4, 0x52, 0xa0, + 0x0c, 0x10, 0x61, 0x20, 0x08, 0x0f, 0x3d, 0x02, 0x02, 0x20, 0x3a, 0x0c, 0x02, 0xc0, 0x00, 0x00, + 0x02, 0x01, 0x00, 0x22, 0x01, 0x01, 0x80, 0x00, 0x01, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x00, + 0x08, 0x31, 0x80, 0x22, 0x11, 0x20, 0x00, 0x20, 0xe0, 0x2d, 0x90, 0x02, 0x52, 0x00, 0x1b, 0xdd, + 0xd0, 0xd0, 0x74, 0x66, 0x4d, 0xbe, 0x3d, 0x01, 0x21, 0xdf, 0xff, 0x0c, 0x14, 0x22, 0x12, 0x00, + 0x45, 0x0d, 0x00, 0x21, 0xdc, 0xff, 0x3d, 0x01, 0x22, 0x12, 0x00, 0x05, 0x03, 0x00, 0x08, 0x0f, + 0x02, 0x20, 0x2a, 0xd1, 0x51, 0xf0, 0xc0, 0x00, 0x00, 0x28, 0x0c, 0xd0, 0x22, 0x20, 0x29, 0x0c, + 0xc8, 0x21, 0xd8, 0x31, 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, + 0xff, 0x00, 0xf0, 0xff, 0xff, 0x3f, 0x00, 0xf0, 0x00, 0xc0, 0xff, 0xff, 0x80, 0x92, 0x11, 0x81, + 0xfc, 0xff, 0x71, 0x4a, 0xf0, 0xb1, 0xfb, 0xff, 0xa1, 0xfc, 0xff, 0x12, 0xc1, 0xf0, 0xc9, 0x11, + 0xe9, 0x31, 0x09, 0x01, 0xd9, 0x21, 0x0c, 0x00, 0x1c, 0x8d, 0x70, 0x50, 0xa0, 0xc0, 0x20, 0x00, + 0x42, 0x25, 0xc1, 0x80, 0x44, 0x10, 0x90, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, 0xc1, 0x00, + 0x21, 0x41, 0x70, 0x22, 0xa0, 0x62, 0x03, 0x01, 0x52, 0x03, 0x00, 0x80, 0x66, 0x01, 0x80, 0x55, + 0x01, 0x50, 0x58, 0x31, 0x60, 0x68, 0x31, 0x07, 0x60, 0x1d, 0x20, 0xe5, 0x11, 0xb0, 0x46, 0x01, + 0xc0, 0x20, 0x00, 0xc2, 0x22, 0x81, 0xb0, 0xcc, 0x10, 0x40, 0xcc, 0x20, 0xe0, 0xcc, 0x20, 0xc0, + 0x20, 0x00, 0xc2, 0x62, 0x81, 0xc6, 0x05, 0x00, 0x90, 0x46, 0x11, 0xc0, 0x20, 0x00, 0xe2, 0x22, + 0x81, 0xa0, 0xee, 0x10, 0x40, 0xee, 0x20, 0x50, 0xee, 0x20, 0xc0, 0x20, 0x00, 0xe2, 0x62, 0x81, + 0x1b, 0x00, 0x00, 0x00, 0x74, 0xd7, 0x90, 0x91, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0x08, 0x01, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x20, 0x20, 0x44, 0x12, 0xc1, 0xf0, 0x49, 0x01, + 0xc9, 0x21, 0x09, 0x11, 0xcd, 0x03, 0x05, 0xe5, 0xff, 0x41, 0xfb, 0xf3, 0x40, 0x22, 0x90, 0x32, + 0x12, 0x02, 0x32, 0x4c, 0x00, 0x22, 0x12, 0x02, 0x08, 0x01, 0x20, 0x28, 0x41, 0x22, 0x4c, 0x01, + 0xbc, 0x40, 0x0c, 0x02, 0x0c, 0x23, 0x42, 0x0c, 0x00, 0x01, 0x25, 0xf1, 0x80, 0x44, 0x01, 0x08, + 0x00, 0x40, 0x48, 0x31, 0x02, 0x20, 0x2b, 0x40, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x0c, + 0x23, 0x42, 0x0c, 0x01, 0x01, 0x1f, 0xf1, 0x80, 0x44, 0x01, 0x08, 0x00, 0x40, 0x48, 0x31, 0x02, + 0x20, 0x2b, 0x40, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x26, 0x12, 0x14, 0x26, 0x22, 0x15, 0x26, 0x32, 0x16, 0x26, 0x42, 0x17, + 0x42, 0xc2, 0xfb, 0x0c, 0x63, 0x0c, 0x52, 0x40, 0x23, 0x83, 0x0d, 0xf0, 0x0c, 0xe2, 0x0d, 0xf0, + 0x0c, 0xa2, 0x0d, 0xf0, 0x0c, 0x82, 0x0d, 0xf0, 0x0c, 0x72, 0x0d, 0xf0, 0x12, 0xc1, 0xe0, 0x09, + 0x01, 0x39, 0x51, 0xc9, 0x11, 0xd9, 0x21, 0xf9, 0x41, 0xe9, 0x31, 0xfd, 0x03, 0xed, 0x02, 0xd2, + 0x13, 0x00, 0x22, 0x02, 0x00, 0xd0, 0xc9, 0x24, 0xd0, 0x30, 0x34, 0x80, 0x02, 0x01, 0x00, 0x08, + 0x31, 0xd0, 0xd4, 0x04, 0xd0, 0xdd, 0x90, 0x30, 0xdd, 0x90, 0xd0, 0xd0, 0x74, 0xa6, 0x10, 0x7c, + 0x66, 0x4d, 0x10, 0x02, 0xc0, 0xf8, 0x2b, 0xdd, 0xd0, 0xd0, 0x74, 0x02, 0x4e, 0x00, 0x80, 0x00, + 0x01, 0x00, 0x08, 0x31, 0xa6, 0x10, 0x3e, 0xf6, 0x7c, 0x1e, 0x2d, 0x0c, 0x45, 0xf8, 0xff, 0x02, + 0x0e, 0x00, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x20, 0x00, 0xc0, 0x02, 0x4e, 0x00, 0x80, 0x00, 0x01, + 0x00, 0x08, 0x31, 0xa6, 0x10, 0x1f, 0x66, 0x7c, 0xe0, 0xa6, 0x10, 0x19, 0xf6, 0x9d, 0x16, 0x02, + 0xc0, 0xf8, 0x2b, 0xdd, 0xd0, 0xd0, 0x74, 0x02, 0x4e, 0x00, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, + 0xa6, 0x10, 0x02, 0xb6, 0x9d, 0xe8, 0xc0, 0xec, 0x11, 0x08, 0x01, 0xc8, 0x11, 0xfb, 0xee, 0xe0, + 0xe0, 0x74, 0xb0, 0xee, 0x11, 0xb6, 0x6d, 0x04, 0xab, 0xdd, 0xd0, 0xd0, 0x74, 0xea, 0xed, 0xe2, + 0x5f, 0x00, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x77, 0x62, 0xd5, + 0xb6, 0x7d, 0x16, 0xd2, 0xcd, 0xfe, 0x8b, 0x20, 0x22, 0x4e, 0x00, 0xd0, 0xd0, 0x74, 0x80, 0x02, + 0x01, 0x00, 0x08, 0x31, 0x77, 0x62, 0x02, 0xf6, 0x7d, 0xe8, 0xd6, 0x80, 0xfb, 0xb6, 0x2c, 0x1d, + 0x0b, 0xcc, 0xc0, 0xc0, 0x74, 0x2d, 0x0c, 0xc5, 0xef, 0xff, 0x32, 0x0e, 0x00, 0x2a, 0x23, 0x22, + 0x4e, 0x00, 0x80, 0x02, 0x01, 0x00, 0x08, 0x31, 0x77, 0x62, 0x02, 0x66, 0x1c, 0xe1, 0xd6, 0x40, + 0xf9, 0x66, 0x6d, 0x91, 0xd2, 0xcd, 0xfe, 0x8b, 0x20, 0x22, 0x4e, 0x00, 0xd0, 0xd0, 0x74, 0xc6, + 0xe0, 0xff, 0x00, 0x00, 0x12, 0xc1, 0xe0, 0x29, 0x41, 0x09, 0x71, 0x2d, 0x01, 0x85, 0x10, 0x01, + 0x0c, 0x33, 0x52, 0x11, 0x03, 0xb2, 0x11, 0x02, 0x82, 0x11, 0x01, 0xa2, 0x11, 0x07, 0x72, 0x11, + 0x06, 0x92, 0x11, 0x05, 0x62, 0x11, 0x04, 0x01, 0xc2, 0xf0, 0x0c, 0x04, 0x2d, 0x04, 0x08, 0x00, + 0x9a, 0x66, 0xaa, 0x77, 0xba, 0x88, 0x08, 0xe0, 0x8a, 0x55, 0x70, 0x77, 0x90, 0x60, 0x66, 0x90, + 0x70, 0x66, 0xc0, 0x70, 0x55, 0xd0, 0x00, 0x55, 0x11, 0x00, 0x66, 0x11, 0x60, 0x60, 0x31, 0x50, + 0x50, 0x31, 0x50, 0x25, 0xb3, 0x60, 0x46, 0xb3, 0x00, 0x44, 0x11, 0x00, 0x22, 0x11, 0x20, 0x20, + 0x31, 0x40, 0x40, 0x31, 0x49, 0x51, 0xc0, 0x00, 0x00, 0x01, 0xb1, 0xf0, 0x0c, 0x33, 0x08, 0x00, + 0x29, 0x61, 0x08, 0xe0, 0x28, 0x51, 0xc0, 0x00, 0x00, 0x38, 0x61, 0x08, 0x71, 0x20, 0x33, 0xc0, + 0x28, 0x41, 0x12, 0xc1, 0x20, 0x3a, 0x22, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x0d, 0xf0, 0x00, + 0xf0, 0x0b, 0x00, 0x00, 0xcd, 0xf1, 0xfe, 0x3f, 0xa2, 0xf3, 0xfe, 0x3f, 0x0c, 0x13, 0x5c, 0xf4, + 0x21, 0xfc, 0xff, 0x12, 0xc1, 0xe0, 0xc9, 0x61, 0x09, 0x51, 0xc1, 0x16, 0xff, 0x01, 0xa0, 0xf0, + 0x22, 0x5c, 0x00, 0x08, 0x00, 0x22, 0x5c, 0x00, 0x02, 0x20, 0x2b, 0x0c, 0x72, 0xc0, 0x00, 0x00, + 0x0c, 0x02, 0x01, 0x9b, 0xf0, 0x0c, 0x13, 0x08, 0x00, 0x42, 0x1c, 0x00, 0x02, 0x20, 0x2b, 0x40, + 0x40, 0x44, 0xc0, 0x00, 0x00, 0x22, 0x1c, 0x00, 0x32, 0xc1, 0x10, 0x0c, 0x14, 0x85, 0xd8, 0xff, + 0x4c, 0x02, 0x31, 0xec, 0xff, 0x0c, 0x14, 0x1c, 0xf5, 0x72, 0xc1, 0x12, 0x81, 0xeb, 0xff, 0x62, + 0x1c, 0x00, 0x92, 0xa1, 0x38, 0x60, 0x60, 0x44, 0x99, 0x01, 0x82, 0x08, 0x00, 0x89, 0x11, 0x85, + 0x4f, 0x01, 0x02, 0x01, 0x12, 0x2c, 0x47, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0x07, 0x27, 0x02, + 0xe6, 0xa0, 0x39, 0x1c, 0x82, 0x3d, 0x0c, 0x00, 0x22, 0xc0, 0x22, 0x41, 0x12, 0x22, 0xc1, 0x12, + 0x85, 0xdd, 0xff, 0x0c, 0x72, 0x01, 0x82, 0xf0, 0x0c, 0x13, 0x08, 0x00, 0x42, 0x1c, 0x00, 0x02, + 0x20, 0x2b, 0x40, 0x45, 0x41, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x01, 0x7d, 0xf0, 0x0c, 0x13, 0x08, + 0x00, 0x42, 0x1c, 0x00, 0x02, 0x20, 0x2b, 0x40, 0x40, 0x44, 0xc0, 0x00, 0x00, 0x22, 0x1c, 0x00, + 0x32, 0xc1, 0x10, 0x0c, 0x14, 0x05, 0xd1, 0xff, 0x22, 0x1c, 0x00, 0x32, 0xc1, 0x10, 0xc5, 0xc6, + 0xff, 0x08, 0x51, 0x22, 0x1c, 0x00, 0x31, 0x40, 0xf3, 0xc8, 0x61, 0x22, 0x53, 0x3b, 0x12, 0xc1, + 0x20, 0x0d, 0xf0, 0x00, 0x0c, 0x05, 0x0c, 0x06, 0x0c, 0x07, 0x20, 0x40, 0x74, 0x0c, 0x03, 0x12, + 0xc1, 0xe0, 0xc9, 0x51, 0xd9, 0x61, 0x09, 0x41, 0xe9, 0x71, 0x39, 0x21, 0x39, 0x11, 0xe1, 0x68, + 0xf0, 0x39, 0x01, 0x08, 0x0e, 0x0c, 0x12, 0x02, 0x20, 0x1a, 0x4c, 0x03, 0xc0, 0x00, 0x00, 0x0c, + 0x0d, 0x0c, 0x0c, 0x08, 0x0e, 0x08, 0xb0, 0x22, 0xa1, 0x38, 0xc0, 0x00, 0x00, 0x1b, 0xdd, 0xca, + 0xc2, 0x00, 0xcc, 0x11, 0xc0, 0xc0, 0x31, 0x66, 0x4d, 0xe8, 0x08, 0x0e, 0x02, 0x20, 0x1b, 0x0c, + 0x12, 0xc0, 0x00, 0x00, 0x08, 0x41, 0xd8, 0x61, 0x4b, 0x3c, 0xbb, 0x2c, 0xe8, 0x71, 0xc8, 0x51, + 0x30, 0x23, 0xb3, 0x20, 0x23, 0x21, 0x12, 0xc1, 0x20, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x0c, 0x14, 0x1c, 0xf5, 0x82, 0xa1, 0x38, 0x61, 0xc6, 0xfe, 0x12, 0xc1, + 0xc0, 0xc9, 0x61, 0xd9, 0x71, 0xe9, 0x81, 0xf9, 0x91, 0x72, 0xc1, 0x10, 0x29, 0xc1, 0x09, 0x51, + 0x4c, 0x02, 0x38, 0xc1, 0x01, 0xa5, 0xff, 0x62, 0x16, 0x00, 0x89, 0x01, 0x60, 0x60, 0x44, 0x02, + 0x00, 0x00, 0x09, 0x11, 0x05, 0x3e, 0x01, 0x0c, 0x0e, 0x0c, 0x00, 0xf2, 0xa0, 0x6f, 0x72, 0x01, + 0x10, 0x68, 0xc1, 0x0c, 0x0a, 0xa9, 0xd1, 0x82, 0x06, 0x05, 0x80, 0x77, 0x01, 0x62, 0x06, 0x00, + 0x70, 0x78, 0x31, 0x72, 0xc7, 0x1f, 0x72, 0x41, 0x10, 0x80, 0x66, 0xc0, 0x00, 0x66, 0x11, 0x60, + 0x60, 0x31, 0xf0, 0x76, 0x11, 0x82, 0xc7, 0xf9, 0x89, 0xb1, 0x72, 0xc7, 0xf8, 0x00, 0x77, 0x11, + 0x70, 0x70, 0x31, 0x79, 0xa1, 0x32, 0x01, 0x10, 0x2d, 0x0f, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, + 0x0a, 0x03, 0x02, 0x41, 0x10, 0x0a, 0xc6, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0x07, 0x2f, 0x01, + 0x2d, 0x00, 0x22, 0x41, 0x10, 0x69, 0xf1, 0xc5, 0xef, 0xff, 0x80, 0x4c, 0x01, 0xdd, 0x02, 0x0c, + 0x1c, 0x40, 0x48, 0x31, 0x49, 0xe1, 0x47, 0x2f, 0x01, 0x0c, 0x0c, 0x28, 0xe1, 0xc0, 0x2f, 0x93, + 0x05, 0xee, 0xff, 0x58, 0xb1, 0x20, 0x7d, 0xc0, 0x00, 0x07, 0x11, 0x00, 0x00, 0x31, 0x57, 0x20, + 0x05, 0x32, 0xa0, 0xa8, 0xd7, 0xa3, 0x51, 0x8c, 0xee, 0x48, 0xd1, 0x58, 0xa1, 0x07, 0x24, 0x08, + 0x57, 0x20, 0x05, 0x62, 0xa0, 0xa8, 0xd7, 0xa6, 0x3f, 0x5c, 0x08, 0x87, 0x22, 0x3a, 0x98, 0xe1, + 0x68, 0xf1, 0xc0, 0x9f, 0x93, 0xf7, 0x19, 0x30, 0x1b, 0xee, 0x00, 0x27, 0x11, 0x0c, 0x2a, 0x1b, + 0x90, 0x2b, 0x80, 0x90, 0x89, 0xb3, 0x0d, 0x0a, 0x80, 0x81, 0x21, 0x80, 0x86, 0xc0, 0x0b, 0x88, + 0x80, 0x88, 0x01, 0x80, 0x88, 0x31, 0xa6, 0x28, 0x01, 0x0d, 0x08, 0xe0, 0xe0, 0x74, 0x20, 0x20, + 0x31, 0x29, 0xd1, 0xa2, 0xce, 0xf6, 0x56, 0xba, 0xf5, 0x08, 0xc1, 0xc8, 0x61, 0x02, 0x00, 0x00, + 0xf8, 0x91, 0xf0, 0x30, 0x11, 0x37, 0xad, 0x1f, 0x9c, 0xce, 0xd0, 0x20, 0xd0, 0x1b, 0x32, 0x2b, + 0x22, 0x30, 0x23, 0xb3, 0x20, 0x21, 0x21, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0xd8, 0x71, 0xe8, + 0x81, 0x08, 0x51, 0x12, 0xc1, 0x40, 0x0d, 0xf0, 0x0c, 0x02, 0xc6, 0xfb, 0xff, 0x00, 0x00, 0x00, + 0x8c, 0xa2, 0x26, 0x23, 0x0c, 0x26, 0x33, 0x09, 0x26, 0x63, 0x06, 0x26, 0x73, 0x03, 0x0c, 0x02, + 0x0d, 0xf0, 0x21, 0xe7, 0xfa, 0x41, 0xc8, 0xf2, 0x32, 0x02, 0x4e, 0x42, 0x04, 0x4e, 0x22, 0x02, + 0x4d, 0x80, 0x44, 0x01, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x40, 0x48, 0x31, 0x80, 0x22, 0x01, + 0x20, 0x28, 0x31, 0xe6, 0x74, 0xd9, 0x2d, 0x03, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xd0, 0x09, + 0x11, 0x39, 0x61, 0x69, 0x71, 0x29, 0x01, 0x49, 0x81, 0xf9, 0x51, 0xd9, 0x31, 0xc9, 0x21, 0xe9, + 0x41, 0x0c, 0x0c, 0x1c, 0x8e, 0xd1, 0xdd, 0xee, 0xf8, 0x81, 0x2d, 0x0c, 0x38, 0x01, 0x05, 0x75, + 0x00, 0xfa, 0x02, 0x02, 0x00, 0x00, 0x48, 0x61, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xf6, 0x8c, + 0x04, 0x4a, 0x40, 0x06, 0x02, 0x00, 0x58, 0x71, 0x4d, 0x05, 0x07, 0xa5, 0x01, 0x4d, 0x00, 0x02, + 0xaf, 0x00, 0xd0, 0x3c, 0xa0, 0x40, 0x80, 0x60, 0x4d, 0x0e, 0x80, 0x88, 0x01, 0x80, 0x88, 0x31, + 0x87, 0x2e, 0x01, 0x4d, 0x08, 0x40, 0x50, 0x74, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xc1, 0x00, 0x22, + 0x10, 0x50, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xc1, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0xe7, + 0x9c, 0xa7, 0xc8, 0x21, 0xd8, 0x31, 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x30, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xf0, + 0x91, 0xfe, 0xff, 0x60, 0x82, 0x01, 0x12, 0xc1, 0xf0, 0x72, 0xa1, 0x00, 0x30, 0x77, 0xc0, 0x69, + 0x11, 0x59, 0x01, 0xc9, 0x31, 0x09, 0x21, 0xcd, 0x02, 0x01, 0xc5, 0xef, 0x51, 0xb8, 0xee, 0x61, + 0xf5, 0xff, 0x70, 0x70, 0x74, 0x60, 0x77, 0x11, 0x60, 0x64, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x25, + 0xee, 0x90, 0x22, 0x10, 0x80, 0x22, 0x20, 0x70, 0x22, 0x20, 0x60, 0x22, 0x20, 0xc0, 0x20, 0x00, + 0x0c, 0xa3, 0x08, 0x00, 0x22, 0x65, 0xee, 0x02, 0x20, 0x1c, 0x0c, 0x42, 0xc0, 0x00, 0x00, 0xd0, + 0x5c, 0x11, 0xc0, 0x70, 0x04, 0x0c, 0x16, 0x88, 0x01, 0x0c, 0x04, 0x22, 0x58, 0x00, 0x70, 0x46, + 0x83, 0x50, 0x44, 0x20, 0x80, 0x44, 0x01, 0x51, 0xe5, 0xff, 0xc0, 0x20, 0x00, 0x31, 0xa3, 0xee, + 0x22, 0x23, 0xee, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x01, 0xad, 0xef, 0x08, + 0x00, 0x22, 0x63, 0xee, 0x0c, 0x42, 0x02, 0x20, 0x1c, 0x0c, 0xa3, 0xc0, 0x00, 0x00, 0x08, 0x21, + 0x98, 0x11, 0xc8, 0x31, 0x22, 0x59, 0x00, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x5c, 0xf1, 0xfe, 0x3f, + 0xe4, 0x85, 0xfe, 0x3f, 0x9d, 0x03, 0x0c, 0x0b, 0x12, 0xc1, 0xb0, 0x69, 0x91, 0x52, 0x61, 0x10, + 0xf9, 0x61, 0x29, 0xc1, 0x09, 0x21, 0xc9, 0x31, 0xd9, 0x41, 0xe9, 0x51, 0xdd, 0x04, 0x0c, 0x0e, + 0x0c, 0x0c, 0xb9, 0xe1, 0x99, 0x11, 0x0c, 0x00, 0x0c, 0x02, 0xf2, 0x21, 0x10, 0x38, 0xc1, 0x29, + 0xf1, 0x09, 0xd1, 0x0c, 0x72, 0x0c, 0x30, 0x32, 0xc3, 0xf4, 0x70, 0x02, 0x93, 0x30, 0x30, 0x74, + 0x39, 0xb1, 0x09, 0xa1, 0xf6, 0x3c, 0x45, 0x4d, 0x0f, 0x01, 0x91, 0xef, 0x32, 0xa0, 0x80, 0xe0, + 0x2e, 0xd1, 0x3a, 0x22, 0x08, 0x00, 0x38, 0xf1, 0x20, 0x28, 0x21, 0x29, 0x81, 0x02, 0x20, 0x42, + 0x3a, 0x22, 0x0c, 0x13, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0xc0, 0x00, 0x00, 0x4d, 0x0f, 0x38, + 0x81, 0x01, 0x87, 0xef, 0x30, 0x32, 0xc0, 0x08, 0x00, 0x2d, 0x0e, 0x80, 0x33, 0x01, 0x30, 0x38, + 0x31, 0x39, 0xf1, 0x02, 0x20, 0x42, 0x0c, 0x03, 0xc0, 0x00, 0x00, 0xed, 0x02, 0x22, 0xa0, 0x01, + 0x32, 0x21, 0x0b, 0x48, 0x11, 0x5d, 0x01, 0x2b, 0x61, 0x45, 0xec, 0xff, 0x72, 0x91, 0x01, 0x52, + 0x91, 0x00, 0x0d, 0x07, 0x77, 0xa5, 0x01, 0x0d, 0x05, 0x0c, 0x14, 0x00, 0x30, 0x11, 0x50, 0x27, + 0xc0, 0x50, 0x22, 0x11, 0x30, 0x30, 0x31, 0x00, 0x34, 0x83, 0xc5, 0x4f, 0x07, 0x02, 0xc2, 0x10, + 0x00, 0x05, 0x21, 0x02, 0x4d, 0x00, 0x8c, 0x9f, 0x28, 0xf1, 0xd6, 0x52, 0x00, 0x00, 0x30, 0x60, + 0x32, 0x4d, 0x00, 0x0c, 0x02, 0x38, 0xc1, 0x48, 0x11, 0x5d, 0x01, 0x2b, 0x61, 0x05, 0xe8, 0xff, + 0x32, 0x91, 0x01, 0x42, 0x91, 0x00, 0x30, 0x24, 0xc0, 0x4a, 0x33, 0x40, 0x22, 0x11, 0x0c, 0x14, + 0x00, 0x33, 0x11, 0x30, 0x30, 0x31, 0x30, 0x34, 0x83, 0xc5, 0x4b, 0x07, 0x52, 0xc2, 0x10, 0x50, + 0x55, 0x21, 0x52, 0x4d, 0x01, 0x8c, 0x7f, 0xd6, 0x5e, 0x00, 0x50, 0x50, 0x60, 0x52, 0x4d, 0x01, + 0x02, 0x0d, 0x00, 0x28, 0xf1, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xf6, 0x3c, 0x16, 0x50, 0xee, + 0xc0, 0x00, 0x32, 0xc0, 0x80, 0x33, 0x01, 0x80, 0xee, 0x01, 0xe0, 0xe8, 0x31, 0x30, 0x28, 0x31, + 0x29, 0xf1, 0x46, 0x1a, 0x00, 0x28, 0xd1, 0x48, 0xe1, 0x2a, 0x35, 0x4a, 0x60, 0x80, 0x66, 0x01, + 0x80, 0x33, 0x01, 0x30, 0x28, 0x31, 0x60, 0x48, 0x31, 0x49, 0xe1, 0x29, 0xd1, 0x66, 0x6c, 0x4e, + 0x38, 0xf1, 0x28, 0xe1, 0x01, 0x4f, 0xef, 0x2b, 0x22, 0x08, 0x00, 0x20, 0x22, 0x21, 0x20, 0x43, + 0xc0, 0x80, 0x44, 0x01, 0x40, 0x38, 0x31, 0x39, 0xf1, 0x38, 0xd1, 0x08, 0x00, 0x2b, 0x33, 0x30, + 0x32, 0x21, 0x39, 0x71, 0x30, 0xee, 0xc0, 0x80, 0xee, 0x01, 0xe0, 0xe8, 0x31, 0xc0, 0x00, 0x00, + 0xe6, 0x52, 0x0e, 0x01, 0x43, 0xef, 0x08, 0x00, 0x08, 0x00, 0x28, 0x71, 0xc0, 0x00, 0x00, 0xa6, + 0x52, 0x0c, 0x31, 0x9a, 0xff, 0x41, 0x4f, 0xf8, 0x28, 0x03, 0x40, 0x22, 0x20, 0x29, 0x03, 0x58, + 0x91, 0x9c, 0x95, 0x21, 0x97, 0xff, 0x42, 0x0d, 0x01, 0x32, 0x0d, 0x00, 0x80, 0x44, 0x01, 0x80, + 0x33, 0x01, 0x30, 0x38, 0x31, 0x40, 0x48, 0x31, 0x01, 0xfe, 0xed, 0xc0, 0x00, 0x00, 0x58, 0xa1, + 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0xc0, 0x55, 0xc0, 0x56, 0x85, 0xe7, 0x0c, 0x13, 0x4d, 0x0f, 0x01, + 0x30, 0xef, 0x28, 0xf1, 0x08, 0x00, 0x80, 0x22, 0x01, 0x02, 0x20, 0x42, 0x20, 0x28, 0x31, 0xc0, + 0x00, 0x00, 0x4d, 0x0f, 0x01, 0x2b, 0xef, 0x0c, 0x03, 0x08, 0x00, 0x80, 0x2e, 0x01, 0x02, 0x20, + 0x42, 0x20, 0x28, 0x31, 0xc0, 0x00, 0x00, 0x08, 0x21, 0xc8, 0x31, 0xf8, 0x61, 0xe2, 0x4d, 0x01, + 0x28, 0xf1, 0x22, 0x4d, 0x00, 0xe8, 0x51, 0xd8, 0x41, 0x12, 0xc1, 0x50, 0x0d, 0xf0, 0x00, 0x00, + 0xf0, 0x85, 0xfe, 0x3f, 0xff, 0xff, 0x00, 0xe0, 0x30, 0x93, 0x20, 0x12, 0xc1, 0xc0, 0xc2, 0x61, + 0x09, 0xf2, 0x61, 0x0c, 0x59, 0xd1, 0x69, 0x31, 0x49, 0x21, 0x09, 0x81, 0xd9, 0xa1, 0xe9, 0xb1, + 0xdd, 0x02, 0xed, 0x07, 0x08, 0x02, 0x99, 0x11, 0x00, 0x01, 0x05, 0x56, 0xa0, 0x18, 0xf8, 0xd1, + 0x22, 0xa0, 0x77, 0x0c, 0x03, 0xc1, 0x12, 0xef, 0x1c, 0x04, 0x08, 0x0c, 0x0c, 0x05, 0x02, 0x20, + 0x25, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x0c, 0xf4, 0x0c, 0x65, 0x0c, 0x66, 0x08, 0x0c, + 0x29, 0x51, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x0c, 0x94, 0x0c, + 0x75, 0x0c, 0x06, 0x08, 0x0c, 0x29, 0x61, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, + 0x08, 0x0c, 0x02, 0x20, 0x28, 0x29, 0x71, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x30, 0x0c, + 0x12, 0xc0, 0x00, 0x00, 0x28, 0x21, 0x20, 0x20, 0xb4, 0xc5, 0xd9, 0x04, 0x28, 0x21, 0x3d, 0x01, + 0x0c, 0x14, 0x45, 0x72, 0xff, 0x08, 0x0c, 0x08, 0x60, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0x08, 0x0c, + 0x08, 0xf0, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0x94, 0x0c, 0x75, + 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, + 0x03, 0x1c, 0x04, 0x0c, 0x25, 0x08, 0x0c, 0x0c, 0x26, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, + 0x00, 0x28, 0x31, 0x72, 0x01, 0x44, 0x3d, 0x0f, 0x2b, 0x41, 0xf2, 0x01, 0x40, 0x5d, 0x0e, 0x6d, + 0x0f, 0x05, 0xd1, 0xff, 0x08, 0x0c, 0x02, 0x20, 0x1b, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x22, 0xa0, + 0x77, 0x0c, 0x03, 0x1c, 0x04, 0x0c, 0x05, 0x0c, 0x06, 0x08, 0x0c, 0x78, 0x51, 0x02, 0x20, 0x27, + 0x79, 0x41, 0xc0, 0x00, 0x00, 0x78, 0x61, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0xf4, 0x08, 0x0c, + 0x0c, 0x65, 0x02, 0x20, 0x27, 0x0c, 0x66, 0xc0, 0x00, 0x00, 0x78, 0x71, 0x22, 0xa0, 0x77, 0x0c, + 0x03, 0x0c, 0x94, 0x08, 0x0c, 0x0c, 0x75, 0x02, 0x20, 0x27, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x22, + 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x04, 0x0c, 0x25, 0x08, 0x0c, 0x0c, 0x26, 0x02, 0x20, 0x27, 0x0c, + 0x07, 0xc0, 0x00, 0x00, 0x0c, 0xf2, 0x42, 0x01, 0x02, 0x7c, 0x10, 0x80, 0x44, 0x01, 0x40, 0x48, + 0x31, 0x07, 0x24, 0x01, 0x0d, 0x04, 0x42, 0x01, 0x03, 0x07, 0x22, 0x01, 0x2d, 0x00, 0x6c, 0x10, + 0x22, 0x41, 0x02, 0x80, 0x44, 0x01, 0x80, 0x32, 0x01, 0x30, 0x38, 0x31, 0x40, 0x48, 0x31, 0x1c, + 0xf2, 0x07, 0x24, 0x01, 0x0d, 0x04, 0x07, 0x22, 0x01, 0x2d, 0x00, 0x22, 0x41, 0x03, 0x80, 0x42, + 0x01, 0x40, 0x48, 0x31, 0x8c, 0xee, 0x58, 0x41, 0x8c, 0xa5, 0x30, 0x30, 0x60, 0x32, 0x41, 0x02, + 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x8c, 0xdf, 0x21, 0x9a, 0xff, 0x01, 0x81, 0xed, 0xc0, 0x00, + 0x00, 0x42, 0x01, 0x03, 0x32, 0x01, 0x02, 0x30, 0x57, 0x04, 0x80, 0xe3, 0x01, 0xe0, 0xe8, 0x31, + 0x16, 0x65, 0x08, 0xe2, 0xc3, 0x20, 0x06, 0x20, 0x00, 0xc2, 0x13, 0x00, 0xc0, 0xe8, 0x41, 0x80, + 0xcc, 0x01, 0xc0, 0xc8, 0x31, 0x61, 0x1e, 0xf0, 0x80, 0xae, 0x01, 0xb1, 0x1e, 0xf0, 0xe0, 0x9c, + 0x01, 0xb0, 0x99, 0x20, 0xe1, 0x71, 0xf3, 0xb1, 0x8b, 0xff, 0xc0, 0x20, 0x00, 0x82, 0x2e, 0x98, + 0xb0, 0x88, 0x10, 0xa0, 0x88, 0x20, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x6e, 0x98, 0x2c, + 0x07, 0xc0, 0x20, 0x00, 0x58, 0xa6, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x59, 0xa6, 0x7c, 0x04, + 0x0c, 0x23, 0xc0, 0x20, 0x00, 0x22, 0x2e, 0x8f, 0x40, 0x22, 0x10, 0x30, 0x22, 0x20, 0xc0, 0x20, + 0x00, 0x22, 0x6e, 0x8f, 0x02, 0xae, 0x0e, 0x0c, 0x1f, 0xc0, 0x20, 0x00, 0xd2, 0x2e, 0x99, 0x00, + 0xdd, 0x10, 0xf0, 0xdd, 0x20, 0xc0, 0x20, 0x00, 0xc8, 0x91, 0xd2, 0x6e, 0x99, 0xf8, 0xc1, 0xd8, + 0xa1, 0xe8, 0xb1, 0x08, 0x81, 0x12, 0xc1, 0x40, 0x0d, 0xf0, 0x80, 0xf4, 0x01, 0xf0, 0xf8, 0x31, + 0x77, 0x64, 0x02, 0xf2, 0xc4, 0x40, 0x08, 0x0c, 0x80, 0xcf, 0x01, 0x02, 0x20, 0x2a, 0xc0, 0xc8, + 0x31, 0xc0, 0x00, 0x00, 0x31, 0xae, 0xed, 0x28, 0x0d, 0x80, 0x4f, 0x01, 0x80, 0x5e, 0x11, 0x40, + 0x48, 0x31, 0x50, 0x44, 0x20, 0x58, 0x11, 0x30, 0x22, 0x20, 0x42, 0x55, 0x00, 0x29, 0x0d, 0x86, + 0xd4, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x12, 0xc1, 0xf0, 0xd9, 0x21, 0xc9, 0x11, 0xe9, + 0x31, 0xe1, 0x4d, 0xf1, 0x09, 0x01, 0x08, 0x0e, 0xc1, 0x7e, 0xee, 0x77, 0xf0, 0x35, 0x22, 0xa0, + 0x6a, 0x0c, 0x23, 0x0c, 0x04, 0x0c, 0x55, 0x08, 0x0c, 0x0c, 0x46, 0x02, 0x20, 0x27, 0x0c, 0x07, + 0xc0, 0x00, 0x00, 0x91, 0x63, 0xf9, 0xa8, 0x0c, 0x22, 0x09, 0x01, 0xa2, 0x2a, 0x27, 0x16, 0xd2, + 0x04, 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x0c, 0x44, 0x0c, 0x75, 0x0c, 0x46, 0x0c, 0x17, 0xc0, 0x0a, + 0x00, 0x86, 0x12, 0x00, 0xd2, 0x0e, 0x4a, 0x22, 0xa0, 0x61, 0x0c, 0x13, 0x0c, 0x24, 0x0c, 0x45, + 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x7d, 0x0d, 0xc0, 0x00, 0x00, 0x72, 0x0e, 0x4b, 0x22, + 0xa0, 0x66, 0x0c, 0x33, 0x0c, 0x14, 0x08, 0x0c, 0x0c, 0x55, 0x02, 0x20, 0x27, 0x0c, 0x06, 0xc0, + 0x00, 0x00, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x22, + 0xa0, 0x6a, 0x0c, 0x23, 0x0c, 0x44, 0x0c, 0x75, 0x0c, 0x46, 0x0c, 0x27, 0xc0, 0x0a, 0x00, 0x22, + 0xa0, 0x68, 0x0c, 0x33, 0x0c, 0x14, 0x0c, 0x05, 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, + 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x0c, 0x64, 0x0c, 0x45, 0x08, 0x0c, 0x0c, + 0x06, 0x02, 0x20, 0x27, 0x0c, 0x87, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x0c, 0x44, + 0x0c, 0x05, 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, + 0x6a, 0x0c, 0x23, 0x0c, 0x34, 0x0c, 0x65, 0x08, 0x0c, 0x0c, 0x66, 0x02, 0x20, 0x27, 0x0c, 0x17, + 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x0c, 0x44, 0x0c, 0x35, 0x08, 0x0c, 0x0c, 0x36, + 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x0c, 0x44, 0x0c, + 0x35, 0x08, 0x0c, 0x0c, 0x36, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x64, + 0x01, 0xc3, 0xf0, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x0c, 0x54, 0x08, 0x0c, 0x0c, + 0x55, 0x02, 0x20, 0x25, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x0c, 0x33, 0x0c, 0x14, 0x0c, 0x05, 0x0c, + 0x06, 0x0c, 0x07, 0x08, 0x0c, 0xdd, 0x02, 0x02, 0x20, 0x27, 0x22, 0xa0, 0x68, 0xc0, 0x00, 0x00, + 0x01, 0x1c, 0xf9, 0x41, 0x8a, 0xfe, 0x62, 0x00, 0x01, 0xb6, 0x3d, 0x04, 0x3c, 0xc2, 0xd7, 0xb2, + 0x0b, 0x51, 0xa8, 0xff, 0x32, 0x24, 0x00, 0x50, 0x33, 0x20, 0x32, 0x64, 0x00, 0xbc, 0x56, 0x1c, + 0xe3, 0xc0, 0x2d, 0x11, 0x22, 0xc2, 0xd9, 0x05, 0xfc, 0x06, 0xd0, 0x3d, 0xf0, 0x20, 0xd0, 0x74, + 0xd2, 0x4e, 0x4a, 0xe0, 0x23, 0x11, 0x20, 0x20, 0xf4, 0x0c, 0x93, 0x05, 0x06, 0x07, 0x61, 0x4c, + 0xee, 0x58, 0x0e, 0x20, 0x40, 0x74, 0x2b, 0x44, 0x40, 0x42, 0x21, 0x42, 0x4e, 0x4b, 0x60, 0x55, + 0x20, 0x59, 0x0e, 0x06, 0xac, 0xff, 0x1c, 0x43, 0xd0, 0x2d, 0xa0, 0xd0, 0x22, 0x90, 0x22, 0xc2, + 0xf2, 0x45, 0xf8, 0x06, 0x86, 0xf0, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0x4f, 0x10, 0x40, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xc9, 0x11, 0xd9, 0x21, 0xcd, 0x02, 0xdd, 0x03, 0x21, 0xde, 0xf0, + 0x3d, 0x0c, 0x22, 0x02, 0x6e, 0x85, 0x83, 0xff, 0x01, 0xdc, 0xf0, 0x61, 0xf9, 0xf8, 0xf6, 0xbc, + 0x3a, 0x41, 0xf6, 0xff, 0xc0, 0x3c, 0x90, 0x4a, 0x33, 0xa0, 0x03, 0x00, 0x46, 0x23, 0x00, 0x86, + 0x22, 0x00, 0xc6, 0x2d, 0x00, 0x06, 0x2d, 0x00, 0x46, 0x20, 0x00, 0x86, 0x1f, 0x00, 0xc6, 0x2a, + 0x00, 0x06, 0x2a, 0x00, 0xc6, 0x27, 0x00, 0x86, 0x25, 0x00, 0x46, 0x23, 0x00, 0x86, 0x1c, 0x00, + 0x46, 0x20, 0x00, 0x06, 0x1e, 0x00, 0xc6, 0x1b, 0x00, 0x86, 0x19, 0x00, 0xda, 0x3c, 0x32, 0xd3, + 0xff, 0x32, 0x03, 0xf0, 0x02, 0x00, 0x4e, 0xf6, 0x8c, 0x0a, 0x42, 0x06, 0x61, 0xfc, 0xb4, 0x32, + 0x0d, 0x00, 0x86, 0x0d, 0x00, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0x26, 0x10, 0x17, 0x0c, 0xb2, + 0x27, 0x10, 0x2d, 0x0c, 0xd4, 0x47, 0x10, 0x2e, 0x72, 0xc0, 0xf2, 0x52, 0x06, 0x23, 0x0c, 0x02, + 0x70, 0x25, 0x83, 0x86, 0x00, 0x00, 0x22, 0x06, 0x20, 0xc8, 0x11, 0xd8, 0x21, 0x30, 0x00, 0x74, + 0x07, 0xb2, 0x01, 0x2d, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x3a, 0x32, 0xc6, 0xf0, + 0xff, 0x22, 0x06, 0x21, 0x46, 0xf8, 0xff, 0x22, 0x06, 0x22, 0xc6, 0xf6, 0xff, 0x32, 0x06, 0x63, + 0x06, 0xe8, 0xff, 0x32, 0x0d, 0x00, 0x86, 0xe6, 0xff, 0x32, 0x0d, 0x02, 0x06, 0xe5, 0xff, 0x32, + 0x0d, 0x04, 0x86, 0xe3, 0xff, 0x32, 0x0d, 0x06, 0x06, 0xe2, 0xff, 0x32, 0x0d, 0x01, 0x86, 0xe0, + 0xff, 0x32, 0x0d, 0x03, 0x06, 0xdf, 0xff, 0x32, 0x0d, 0x05, 0x86, 0xdd, 0xff, 0x32, 0x06, 0x62, + 0x06, 0xdc, 0xff, 0x00, 0x2b, 0x64, 0x82, 0x93, 0x00, 0x00, 0x04, 0x40, 0x80, 0x90, 0xb1, 0x90, + 0x88, 0xc0, 0x00, 0x16, 0x40, 0x8a, 0x82, 0x00, 0x25, 0xa1, 0x00, 0x88, 0x11, 0x80, 0x80, 0x31, + 0x82, 0x53, 0x00, 0x27, 0x28, 0x14, 0x20, 0x48, 0xc0, 0x50, 0x20, 0x60, 0x80, 0x22, 0x01, 0x20, + 0x28, 0x31, 0x42, 0x53, 0x00, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x20, 0x40, 0x60, 0x87, 0x24, + 0xf5, 0x2a, 0x48, 0x80, 0x25, 0x01, 0x20, 0x28, 0x31, 0x46, 0xf9, 0xff, 0xdc, 0xf4, 0xfe, 0x3f, + 0x10, 0x86, 0xfe, 0x3f, 0xf3, 0x0f, 0x00, 0x00, 0xe0, 0xf2, 0xfe, 0x3f, 0x30, 0x86, 0xfe, 0x3f, + 0x12, 0xc1, 0x90, 0xf2, 0x61, 0x18, 0x02, 0x61, 0x14, 0x22, 0x61, 0x11, 0x52, 0x61, 0x12, 0x62, + 0x61, 0x19, 0xc2, 0x61, 0x15, 0xe2, 0x61, 0x17, 0xd2, 0x61, 0x16, 0xdd, 0x04, 0xed, 0x03, 0xc1, + 0xf2, 0xeb, 0xc0, 0x20, 0x00, 0xc2, 0x2c, 0xd8, 0x22, 0xa1, 0x38, 0xc0, 0xc8, 0x45, 0x45, 0x3a, + 0xff, 0x22, 0x61, 0x13, 0xf6, 0x8c, 0x0a, 0x7c, 0xf2, 0x20, 0x2c, 0x30, 0x20, 0x20, 0x24, 0x46, + 0x00, 0x00, 0x2d, 0x0c, 0x3d, 0x0e, 0x85, 0xe6, 0xff, 0xf1, 0xe8, 0xff, 0xe1, 0x7b, 0xf0, 0x6c, + 0x03, 0x42, 0x21, 0x13, 0x0d, 0x02, 0x52, 0x21, 0x11, 0x2c, 0x0a, 0x5a, 0x52, 0x52, 0x61, 0x10, + 0x52, 0x05, 0x00, 0x2d, 0x0a, 0xe0, 0x55, 0x11, 0x50, 0x44, 0xc0, 0x00, 0x44, 0x11, 0x40, 0x40, + 0x31, 0x37, 0x24, 0x01, 0x3d, 0x04, 0x09, 0xe1, 0x68, 0x0e, 0x37, 0x2a, 0x01, 0x2d, 0x03, 0x00, + 0x82, 0x11, 0x80, 0x80, 0x31, 0xd7, 0x76, 0x19, 0x09, 0xe1, 0xdc, 0x40, 0x2d, 0x08, 0x89, 0xc1, + 0x3d, 0x0f, 0x0c, 0x44, 0x0c, 0x25, 0xd9, 0xd1, 0x85, 0xf0, 0xff, 0x0d, 0x02, 0x0c, 0x0d, 0x06, + 0x11, 0x00, 0x3d, 0x0d, 0x2d, 0x08, 0x89, 0xc1, 0xd9, 0xd1, 0x0c, 0x44, 0x0c, 0x25, 0x45, 0xef, + 0xff, 0x98, 0xe1, 0xdd, 0x02, 0x56, 0x49, 0x19, 0xa8, 0xc1, 0xe6, 0x1a, 0x02, 0x06, 0x63, 0x00, + 0xa6, 0xba, 0x02, 0x86, 0x61, 0x00, 0x56, 0x32, 0x18, 0x02, 0x0f, 0x02, 0x1b, 0x00, 0x00, 0x00, + 0x74, 0x02, 0x4f, 0x02, 0x1c, 0x42, 0x27, 0x90, 0x0b, 0x7c, 0xed, 0x48, 0xd1, 0x0c, 0x03, 0x32, + 0x4f, 0x02, 0x32, 0x54, 0x00, 0x0c, 0x00, 0x62, 0x21, 0x19, 0x8c, 0x6d, 0x0c, 0x05, 0x52, 0x4f, + 0x03, 0x52, 0x5f, 0x00, 0x02, 0x61, 0x1a, 0xbc, 0x36, 0x21, 0xbd, 0xff, 0x3d, 0x0c, 0x48, 0xc1, + 0x62, 0x9f, 0x00, 0x71, 0x72, 0xec, 0x58, 0xd1, 0x70, 0x7c, 0xa0, 0x52, 0x95, 0x00, 0xc0, 0x20, + 0x00, 0x82, 0x0e, 0x4e, 0x72, 0x27, 0xc1, 0x80, 0x88, 0x01, 0x80, 0x77, 0x01, 0x70, 0x78, 0x31, + 0x80, 0x88, 0x31, 0x89, 0x01, 0x01, 0x3e, 0xec, 0xc0, 0x00, 0x00, 0x02, 0x21, 0x1a, 0x62, 0x21, + 0x12, 0x16, 0x46, 0x10, 0xc9, 0xf1, 0xcc, 0x3d, 0xc9, 0xf1, 0x16, 0xb0, 0x0f, 0x0c, 0x05, 0xfd, + 0x0d, 0xa1, 0xaa, 0xff, 0x22, 0x0e, 0x78, 0xc2, 0xa0, 0x7f, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, + 0x50, 0x95, 0x90, 0x80, 0x7c, 0x01, 0x70, 0x78, 0x31, 0x1b, 0x55, 0xe0, 0x99, 0x90, 0x92, 0x09, + 0x55, 0x50, 0x50, 0x74, 0x80, 0x99, 0x01, 0x90, 0x98, 0x31, 0x77, 0xa9, 0x01, 0xcd, 0x09, 0x66, + 0x45, 0xdd, 0x51, 0xd8, 0xfb, 0xca, 0xc2, 0x80, 0xcc, 0x01, 0xc0, 0xc8, 0x31, 0x16, 0x8d, 0x09, + 0x2c, 0x44, 0xd0, 0x9c, 0xc0, 0x80, 0x99, 0x01, 0x90, 0x98, 0x31, 0x97, 0xa4, 0x0b, 0x02, 0x61, + 0x1a, 0x22, 0x15, 0x00, 0xb2, 0xa3, 0xe4, 0x27, 0x3b, 0x0e, 0xe6, 0xa9, 0x7b, 0x42, 0x15, 0x00, + 0x31, 0x95, 0xff, 0x02, 0x61, 0x1a, 0x47, 0x33, 0x6f, 0x22, 0xc1, 0x20, 0x31, 0xca, 0xfb, 0x1c, + 0x85, 0x90, 0x55, 0xc0, 0x52, 0x41, 0x20, 0x45, 0x11, 0xff, 0x62, 0x0e, 0x79, 0x72, 0x01, 0x20, + 0x41, 0x8e, 0xff, 0x21, 0xc4, 0xfb, 0xc0, 0x8d, 0xc0, 0x82, 0xc8, 0x18, 0x22, 0x12, 0x00, 0x32, + 0x04, 0x4a, 0x80, 0x77, 0x01, 0x80, 0x66, 0x01, 0x60, 0x68, 0x31, 0x70, 0x78, 0x31, 0x80, 0x33, + 0x01, 0x70, 0x58, 0xc0, 0x5a, 0x66, 0x30, 0x38, 0x31, 0x80, 0x77, 0xc0, 0x7a, 0xff, 0x5a, 0x33, + 0x62, 0x4e, 0x79, 0x32, 0x44, 0x4a, 0x32, 0xc1, 0x22, 0x0c, 0x04, 0xc5, 0x03, 0xff, 0x21, 0xb5, + 0xfb, 0x32, 0xc1, 0x22, 0x22, 0x12, 0x00, 0x45, 0xf9, 0xfe, 0x02, 0x21, 0x1a, 0x51, 0xb1, 0xfb, + 0xa1, 0x77, 0xff, 0x32, 0x15, 0x00, 0x32, 0x5e, 0x3b, 0xf0, 0x9c, 0xc0, 0x00, 0xf0, 0x93, 0x80, + 0x99, 0x01, 0x90, 0x98, 0x31, 0x80, 0x4f, 0x01, 0x40, 0xf8, 0x31, 0xd6, 0x4f, 0x00, 0x4c, 0x6b, + 0x97, 0xab, 0x1e, 0xa6, 0x1f, 0x02, 0xe6, 0xa9, 0x18, 0xc2, 0x21, 0x15, 0xd2, 0x21, 0x16, 0xe2, + 0x21, 0x17, 0xf2, 0x21, 0x18, 0x02, 0x21, 0x14, 0x12, 0xc1, 0x70, 0x0d, 0xf0, 0x0c, 0x00, 0x86, + 0x9f, 0xff, 0xac, 0x90, 0x0c, 0x8d, 0xb2, 0x0a, 0x03, 0x7c, 0x89, 0x80, 0xbb, 0x01, 0xb0, 0xb8, + 0x31, 0x00, 0xbb, 0xc0, 0xb2, 0x4a, 0x03, 0x80, 0xbb, 0x01, 0xb0, 0xb8, 0x31, 0x97, 0x2b, 0x01, + 0x9d, 0x0b, 0x0d, 0x0d, 0x97, 0x2d, 0x01, 0x0d, 0x09, 0x02, 0x4a, 0x03, 0xc6, 0x0b, 0x00, 0x32, + 0x0e, 0x78, 0x01, 0x5d, 0xff, 0x22, 0x0e, 0x79, 0xd2, 0x00, 0x4a, 0x80, 0x22, 0x01, 0x80, 0x33, + 0x01, 0x30, 0x38, 0x31, 0x20, 0x28, 0x31, 0x80, 0xdd, 0x01, 0xf0, 0x22, 0x80, 0xf0, 0x33, 0xc0, + 0x32, 0x4e, 0x78, 0x22, 0x4e, 0x79, 0xd0, 0xd8, 0x31, 0xf0, 0xdd, 0x80, 0xd2, 0x40, 0x4a, 0x22, + 0x0e, 0x4e, 0x32, 0xc1, 0x28, 0xc5, 0x31, 0xfc, 0x45, 0xe9, 0x00, 0xf2, 0x21, 0x19, 0x16, 0x7f, + 0xf7, 0x21, 0x4e, 0xff, 0x52, 0x0e, 0x78, 0x32, 0x0e, 0x79, 0x41, 0x4b, 0xff, 0x80, 0x33, 0x01, + 0x42, 0x04, 0x4a, 0x80, 0x55, 0x01, 0x50, 0x58, 0x31, 0x80, 0x44, 0x01, 0x30, 0x38, 0x31, 0x40, + 0x48, 0x31, 0xc0, 0x20, 0x00, 0x88, 0xf1, 0xb2, 0x21, 0x10, 0xd8, 0xc1, 0x71, 0x7a, 0xfb, 0xa1, + 0xf7, 0xeb, 0x72, 0x17, 0x00, 0x62, 0x2a, 0xd8, 0xd9, 0x01, 0xb2, 0x0b, 0x00, 0xb9, 0x11, 0x89, + 0x21, 0x92, 0x0e, 0x4e, 0x80, 0x66, 0x01, 0x80, 0x99, 0x01, 0x90, 0x98, 0x31, 0x99, 0x31, 0x60, + 0x68, 0x31, 0x60, 0x60, 0x60, 0xa0, 0x88, 0xa0, 0xc0, 0x20, 0x00, 0x82, 0x28, 0xc1, 0x01, 0x33, + 0xff, 0x80, 0x88, 0x01, 0x80, 0x88, 0x31, 0x89, 0x41, 0x02, 0x00, 0x03, 0xc9, 0x61, 0x80, 0x00, + 0x01, 0x00, 0x08, 0x31, 0x09, 0x51, 0x01, 0xba, 0xeb, 0xc0, 0x00, 0x00, 0x46, 0xbe, 0xff, 0x00, + 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x41, 0xfe, 0xff, 0x7c, 0xe6, 0x31, 0x26, 0xeb, + 0xc0, 0x20, 0x00, 0x22, 0x23, 0xd7, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xd7, 0xb1, + 0xf9, 0xff, 0xc0, 0x20, 0x00, 0xa2, 0x23, 0xd7, 0xb0, 0xaa, 0x10, 0xc0, 0x20, 0x00, 0xa2, 0x63, + 0xd7, 0xc0, 0x20, 0x00, 0x92, 0x23, 0xd4, 0x60, 0x99, 0x10, 0xc0, 0x20, 0x00, 0x92, 0x63, 0xd4, + 0x0c, 0x28, 0xc0, 0x20, 0x00, 0x72, 0x23, 0xd8, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x63, + 0xd8, 0xc0, 0x20, 0x00, 0x52, 0x23, 0xd8, 0x60, 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, 0x63, 0xd8, + 0x0c, 0x14, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xd8, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, + 0xd8, 0x0d, 0xf0, 0x00, 0x2c, 0xf3, 0xfe, 0x3f, 0x94, 0x86, 0xfe, 0x3f, 0x12, 0xc1, 0xe0, 0x02, + 0x61, 0x06, 0x01, 0xbb, 0xf7, 0xc2, 0x61, 0x07, 0x02, 0x00, 0x64, 0x30, 0xc3, 0x20, 0x00, 0x00, + 0x04, 0x56, 0x50, 0x0b, 0x01, 0x99, 0xef, 0x31, 0x04, 0xeb, 0xc0, 0x20, 0x00, 0x42, 0x23, 0xd4, + 0xf7, 0xf4, 0x5f, 0xc0, 0x20, 0x00, 0x62, 0x23, 0xd4, 0x71, 0x00, 0xff, 0x60, 0x68, 0x25, 0x56, + 0x06, 0x05, 0x72, 0x07, 0x04, 0x56, 0xa7, 0x04, 0x32, 0x00, 0x4e, 0x29, 0x51, 0xb6, 0x73, 0x02, + 0xc6, 0x23, 0x00, 0x41, 0x8d, 0xef, 0x0b, 0x23, 0x52, 0x94, 0x06, 0x42, 0x94, 0x07, 0x59, 0x41, + 0x50, 0x34, 0xc0, 0x30, 0x22, 0x82, 0x0c, 0x53, 0xc5, 0xa0, 0x06, 0x08, 0x41, 0x2a, 0x00, 0x86, + 0x00, 0x00, 0x60, 0x06, 0x20, 0x10, 0x21, 0x20, 0x31, 0x0f, 0xf0, 0x00, 0x40, 0x11, 0x40, 0x40, + 0x31, 0x85, 0xfe, 0xfb, 0x2d, 0x01, 0x31, 0x66, 0xf0, 0x41, 0xde, 0xff, 0x58, 0x51, 0x6d, 0x0c, + 0xc5, 0xbb, 0xff, 0x45, 0xf0, 0xff, 0x31, 0xe9, 0xfe, 0x0c, 0x02, 0x01, 0xad, 0xec, 0x22, 0x43, + 0x04, 0x21, 0xe9, 0xfe, 0x08, 0x00, 0x22, 0x02, 0x4a, 0x08, 0x00, 0x80, 0x22, 0x01, 0x20, 0x28, + 0x31, 0xc0, 0x00, 0x00, 0xa6, 0x82, 0x22, 0x2d, 0x0c, 0x51, 0xe3, 0xfe, 0x0c, 0x04, 0x42, 0x45, + 0x4a, 0x85, 0xde, 0xfd, 0x61, 0x71, 0xef, 0x32, 0x26, 0x1c, 0x1b, 0x33, 0x32, 0x66, 0x1c, 0x8c, + 0x7c, 0x21, 0xcd, 0xff, 0x01, 0x67, 0xeb, 0xc0, 0x00, 0x00, 0xc8, 0x71, 0x08, 0x61, 0x12, 0xc1, + 0x20, 0x0d, 0xf0, 0xf6, 0xa3, 0x22, 0x41, 0x68, 0xef, 0x22, 0xc3, 0xfa, 0x52, 0x94, 0x07, 0x42, + 0x94, 0x08, 0x52, 0x61, 0x03, 0x50, 0x34, 0xc0, 0x30, 0x22, 0x82, 0x32, 0xa0, 0x05, 0x85, 0x97, + 0x06, 0x02, 0x21, 0x03, 0x2a, 0x00, 0xc6, 0xda, 0xff, 0x62, 0x90, 0x09, 0x22, 0xa0, 0x0d, 0x37, + 0xb2, 0x02, 0x06, 0xd7, 0xff, 0x30, 0x23, 0xa0, 0x31, 0x5c, 0xef, 0x22, 0xc2, 0xc9, 0x32, 0x93, + 0x08, 0x32, 0x61, 0x02, 0x30, 0x36, 0xc0, 0x30, 0x22, 0x82, 0x32, 0xa0, 0x16, 0x85, 0x94, 0x06, + 0x08, 0x21, 0x2a, 0x00, 0x46, 0xcf, 0xff, 0x00, 0x91, 0xc0, 0xea, 0x81, 0x0a, 0xec, 0x0c, 0x0b, + 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xd9, 0x21, 0x0c, 0x00, 0xd2, 0xa0, 0xff, 0x7c, 0xfc, + 0x90, 0x60, 0xa0, 0x20, 0x70, 0x90, 0x5d, 0x0d, 0xad, 0x0b, 0xc0, 0x20, 0x00, 0x32, 0xa1, 0x17, + 0x62, 0x26, 0xe0, 0x1b, 0x00, 0x00, 0x00, 0x74, 0xc0, 0x66, 0x30, 0x60, 0x40, 0x74, 0x42, 0xc4, + 0xeb, 0x60, 0x60, 0xa4, 0x62, 0x57, 0x00, 0x40, 0xa4, 0xb3, 0x30, 0xaa, 0x82, 0x80, 0x36, 0x10, + 0xa0, 0xa8, 0x21, 0xa7, 0x2d, 0x01, 0x5d, 0x0a, 0x3a, 0x35, 0x32, 0x57, 0x00, 0x66, 0x80, 0xbf, + 0xc8, 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xe0, 0x09, + 0x61, 0x39, 0x41, 0x29, 0x51, 0x7c, 0xd5, 0x21, 0xa4, 0xea, 0xc0, 0x20, 0x00, 0x42, 0x22, 0xd4, + 0x50, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x62, 0xd4, 0x0c, 0x23, 0xc0, 0x20, 0x00, 0x02, 0x22, + 0xd4, 0x30, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0xd4, 0x1c, 0x92, 0x01, 0xe8, 0xee, 0xc0, + 0x00, 0x00, 0x2d, 0x01, 0x05, 0xf6, 0xff, 0x28, 0x51, 0x02, 0x11, 0x03, 0x42, 0x11, 0x02, 0x32, + 0x11, 0x01, 0x92, 0x11, 0x07, 0x72, 0x11, 0x05, 0x62, 0x11, 0x04, 0x82, 0x11, 0x06, 0x7a, 0x66, + 0x9a, 0x88, 0x4a, 0x33, 0x3a, 0x00, 0x80, 0x88, 0x90, 0x60, 0x66, 0x90, 0x60, 0x60, 0xf4, 0x80, + 0x70, 0xf4, 0xf0, 0x90, 0x11, 0x90, 0x90, 0xf4, 0x77, 0x39, 0x05, 0x80, 0x80, 0xd0, 0x46, 0x00, + 0x00, 0x0c, 0x08, 0x82, 0x52, 0x00, 0x08, 0x41, 0x77, 0x36, 0x05, 0x70, 0x26, 0xc0, 0x46, 0x00, + 0x00, 0x0c, 0x02, 0x22, 0x50, 0x00, 0x08, 0x61, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0xf1, 0x3c, 0x11, 0x01, 0xf3, 0x3c, 0x11, 0x01, 0x00, 0x00, 0x00, 0x40, 0xf0, 0x3c, 0x11, 0x01, + 0xff, 0xff, 0x03, 0x00, 0x30, 0x40, 0xf4, 0x12, 0xc1, 0xc0, 0xc9, 0x61, 0xe9, 0x81, 0xf9, 0x91, + 0x59, 0xd1, 0x69, 0x41, 0x0c, 0x13, 0xd9, 0x71, 0xd1, 0x3e, 0xec, 0x09, 0x51, 0x08, 0x0d, 0x29, + 0x31, 0x02, 0x20, 0x2b, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0x28, 0xd1, 0xc1, 0x73, 0xea, 0x16, 0x52, + 0x12, 0x4c, 0x0f, 0x0c, 0x1e, 0xd2, 0xc2, 0xfc, 0x4c, 0x07, 0x1c, 0xc8, 0x0c, 0x09, 0x0c, 0x0a, + 0x0c, 0x0b, 0xb9, 0x21, 0xa9, 0xb1, 0x99, 0xc1, 0x89, 0x11, 0x79, 0x01, 0xd9, 0xa1, 0x0c, 0x0d, + 0x0c, 0x12, 0x01, 0x2f, 0xec, 0x0c, 0x23, 0x08, 0x00, 0x48, 0x01, 0x02, 0x20, 0x2b, 0x40, 0x40, + 0xf4, 0xc0, 0x00, 0x00, 0x01, 0x2b, 0xec, 0x0c, 0x02, 0x08, 0x00, 0x0c, 0x23, 0x02, 0x20, 0x2b, + 0xf0, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x31, 0xdd, 0xff, 0x32, 0x6c, 0xd3, 0xc0, + 0x20, 0x00, 0x21, 0xdc, 0xff, 0x22, 0x6c, 0xd3, 0x0c, 0x22, 0x01, 0xa8, 0xee, 0xc0, 0x00, 0x00, + 0x08, 0x01, 0x38, 0x11, 0x88, 0x21, 0x71, 0xd8, 0xff, 0x52, 0xa0, 0x7f, 0x4d, 0x0d, 0xc0, 0x20, + 0x00, 0x62, 0x2c, 0xd3, 0x60, 0x68, 0x75, 0x60, 0x4e, 0x83, 0x56, 0xe4, 0xfe, 0xc0, 0x20, 0x00, + 0x92, 0x2c, 0xd3, 0x0c, 0x1b, 0x90, 0x9f, 0x05, 0xb0, 0x99, 0x30, 0xc0, 0x20, 0x00, 0x22, 0x2c, + 0xd3, 0x0c, 0x0a, 0x70, 0x22, 0x10, 0x20, 0xab, 0x83, 0x9c, 0x29, 0x9d, 0x05, 0xfa, 0xf3, 0x00, + 0xff, 0x11, 0xf0, 0xf0, 0x31, 0xf7, 0x25, 0x01, 0x9d, 0x0f, 0xfd, 0x09, 0x46, 0x03, 0x00, 0x30, + 0x2f, 0xc0, 0xfd, 0x0d, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x20, 0xf2, 0xb3, 0x9c, 0x2a, 0x9d, + 0x05, 0x0a, 0x03, 0x00, 0x00, 0x11, 0x00, 0x00, 0x31, 0x07, 0x25, 0x01, 0x9d, 0x00, 0x0d, 0x09, + 0x46, 0x03, 0x00, 0x30, 0x20, 0xc0, 0x0d, 0x0d, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x20, 0x02, + 0xb3, 0x09, 0x01, 0x48, 0xa1, 0x72, 0xc3, 0xfe, 0x30, 0x61, 0x21, 0x1b, 0x66, 0x0c, 0x13, 0x80, + 0x66, 0x01, 0x60, 0x68, 0x31, 0x70, 0x36, 0x93, 0x39, 0x11, 0x47, 0x28, 0x17, 0x78, 0xb1, 0xa8, + 0xc1, 0x0a, 0x97, 0xfa, 0xba, 0x00, 0xbb, 0x11, 0x00, 0x99, 0x11, 0x90, 0x70, 0x31, 0xb0, 0xa0, + 0x31, 0xa9, 0xc1, 0x79, 0xb1, 0xa8, 0xd1, 0x1b, 0x88, 0x80, 0x80, 0x74, 0x89, 0x21, 0x80, 0xaa, + 0xc0, 0x56, 0xba, 0xef, 0xc6, 0x01, 0x00, 0x0c, 0x09, 0x0c, 0x0a, 0xa9, 0xb1, 0x99, 0xc1, 0x0c, + 0x12, 0x0c, 0x23, 0xf8, 0xb1, 0xd1, 0xea, 0xeb, 0x2b, 0xff, 0x08, 0x0d, 0xf0, 0x42, 0xf4, 0x02, + 0x20, 0x2b, 0xf0, 0xf2, 0x21, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x23, 0xe8, 0xc1, 0x08, 0x0d, + 0x2b, 0xee, 0xe0, 0x42, 0xf4, 0x02, 0x20, 0x2b, 0xe0, 0xe2, 0x21, 0xc0, 0x00, 0x00, 0x0c, 0x12, + 0x08, 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa0, 0x7f, 0xc0, 0x00, 0x00, 0x41, 0x97, 0xff, + 0xc0, 0x20, 0x00, 0x28, 0x31, 0x38, 0x41, 0x42, 0x6c, 0xd3, 0xe2, 0x43, 0x00, 0xf2, 0x43, 0x01, + 0x9c, 0xf2, 0x91, 0x93, 0xff, 0xe0, 0x7e, 0x01, 0x70, 0x8f, 0x01, 0x61, 0x9b, 0xf0, 0xc0, 0x20, + 0x00, 0x52, 0x26, 0x99, 0x90, 0x55, 0x10, 0x80, 0x55, 0x20, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, + 0x52, 0x66, 0x99, 0xc8, 0x61, 0xd8, 0x71, 0xe8, 0x81, 0xf8, 0x91, 0x08, 0x51, 0x12, 0xc1, 0x40, + 0x0d, 0xf0, 0x00, 0x00, 0x0c, 0x04, 0x8b, 0x52, 0x22, 0xa0, 0x7f, 0x30, 0x55, 0xe0, 0x00, 0x55, + 0x11, 0x50, 0x50, 0x31, 0x50, 0x45, 0xb3, 0x00, 0x44, 0x11, 0x40, 0x30, 0x31, 0xe6, 0xe3, 0x01, + 0x2d, 0x03, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x0d, 0xf0, 0x00, 0x00, 0xac, 0x86, 0xfe, 0x3f, + 0xc8, 0x86, 0xfe, 0x3f, 0x0c, 0x07, 0x12, 0xc1, 0xb0, 0xe9, 0x81, 0xf9, 0x91, 0xd9, 0x71, 0x09, + 0x51, 0xc9, 0x61, 0x69, 0xa1, 0x49, 0xe1, 0x52, 0x61, 0x10, 0x0c, 0x94, 0x0c, 0x75, 0x0c, 0x06, + 0xcd, 0x03, 0x01, 0xb7, 0xeb, 0xdd, 0x02, 0x08, 0x00, 0x22, 0xa0, 0x77, 0x02, 0x20, 0x27, 0x0c, + 0x03, 0xc0, 0x00, 0x00, 0x4d, 0x0c, 0x3d, 0x0d, 0x0c, 0x05, 0x0c, 0x06, 0x01, 0xb1, 0xeb, 0x0c, + 0x02, 0x29, 0x01, 0x29, 0x11, 0x29, 0x21, 0x08, 0x00, 0x0c, 0x07, 0x02, 0x20, 0x1a, 0x0c, 0x12, + 0xc0, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x33, 0x52, 0x01, 0x10, 0x59, 0xb1, 0x39, 0xc1, 0x0c, 0x0d, + 0x0c, 0x0f, 0x98, 0xa1, 0x0c, 0x08, 0x8c, 0x4c, 0x26, 0x1c, 0x09, 0x66, 0x2c, 0x0a, 0x0c, 0x76, + 0x69, 0xb1, 0xc6, 0x00, 0x00, 0x0c, 0xf7, 0x79, 0xb1, 0xa8, 0xb1, 0xca, 0x99, 0x99, 0xd1, 0x82, + 0x49, 0x00, 0x1b, 0xaa, 0xa9, 0xf1, 0xbc, 0xac, 0x26, 0x1c, 0x1d, 0x66, 0x2c, 0x53, 0x22, 0xa0, + 0x6b, 0x0c, 0x23, 0x0c, 0x24, 0x01, 0x9a, 0xeb, 0x0c, 0x65, 0x08, 0x00, 0x0c, 0x46, 0x02, 0x20, + 0x27, 0x7d, 0x0d, 0xc0, 0x00, 0x00, 0x06, 0x0e, 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x24, + 0x01, 0x94, 0xeb, 0x0c, 0x35, 0x08, 0x00, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x7d, 0x0d, 0xc0, 0x00, + 0x00, 0x46, 0x07, 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x14, 0x0c, 0x35, 0x0c, 0x06, 0x01, + 0x8c, 0xeb, 0x0c, 0x17, 0x08, 0x00, 0x70, 0x7d, 0x90, 0x02, 0x20, 0x27, 0x70, 0x70, 0x74, 0xc0, + 0x00, 0x00, 0x01, 0x87, 0xeb, 0x08, 0x00, 0x28, 0xe1, 0x02, 0x20, 0x1c, 0x0c, 0xa3, 0xc0, 0x00, + 0x00, 0xed, 0x02, 0x22, 0x21, 0x10, 0x8c, 0xb2, 0x21, 0xc1, 0xff, 0x3d, 0x0d, 0x4d, 0x0e, 0x01, + 0x48, 0xea, 0xc0, 0x00, 0x00, 0xe7, 0xaf, 0x0e, 0xfd, 0x0e, 0x48, 0xd1, 0x0c, 0x13, 0x30, 0x3d, + 0x90, 0xc0, 0x3d, 0x93, 0x32, 0x44, 0x00, 0x48, 0xf1, 0x1b, 0xdd, 0xd0, 0xd0, 0x74, 0xd0, 0x44, + 0xc0, 0x56, 0x14, 0xf6, 0xe2, 0x21, 0x10, 0x8c, 0xee, 0x21, 0xb5, 0xff, 0x48, 0xd1, 0x3d, 0x0c, + 0x42, 0x04, 0x00, 0x01, 0x3b, 0xea, 0xc0, 0x00, 0x00, 0xac, 0x2c, 0x26, 0x1c, 0x65, 0x66, 0x2c, + 0x38, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x24, 0x0c, 0x65, 0x01, 0x6d, 0xeb, 0x0c, 0x46, 0x08, + 0x00, 0x78, 0xd1, 0x02, 0x20, 0x27, 0x72, 0x07, 0x00, 0xc0, 0x00, 0x00, 0x86, 0x06, 0x00, 0x22, + 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x14, 0x0c, 0x35, 0x01, 0x66, 0xeb, 0x0c, 0x06, 0x08, 0x00, 0x78, + 0xd1, 0x02, 0x20, 0x27, 0x72, 0x07, 0x00, 0xc0, 0x00, 0x00, 0x28, 0xc1, 0x1b, 0xcc, 0xc0, 0xc0, + 0x74, 0x0b, 0x22, 0x29, 0xc1, 0x56, 0x52, 0xed, 0x01, 0x5e, 0xeb, 0x08, 0x00, 0x02, 0x20, 0x1b, + 0x0c, 0x12, 0xc0, 0x00, 0x00, 0xc8, 0x61, 0xd8, 0x71, 0xe8, 0x81, 0xf8, 0x91, 0x08, 0x51, 0x12, + 0xc1, 0x50, 0x0d, 0xf0, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x24, 0x0c, 0x35, 0x01, 0x54, 0xeb, + 0x0c, 0x06, 0x08, 0x00, 0x78, 0xd1, 0x02, 0x20, 0x27, 0x72, 0x07, 0x00, 0xc0, 0x00, 0x00, 0xc6, + 0xed, 0xff, 0x00, 0x00, 0xe0, 0x86, 0xfe, 0x3f, 0x12, 0xc1, 0xa0, 0xf9, 0x81, 0x09, 0x41, 0xd9, + 0x61, 0xc9, 0x51, 0xe9, 0x71, 0x79, 0xd1, 0x59, 0xe1, 0x39, 0xb1, 0x49, 0xc1, 0x0c, 0x03, 0x0c, + 0x94, 0x0c, 0x75, 0x0c, 0x07, 0xed, 0x06, 0xc1, 0x46, 0xeb, 0xdd, 0x02, 0x08, 0x0c, 0x22, 0xa0, + 0x77, 0x02, 0x20, 0x27, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x28, 0xc1, 0x16, 0x72, 0x15, 0xf2, 0xaf, + 0x80, 0x0c, 0x0b, 0xe0, 0x60, 0x24, 0xe0, 0x53, 0x14, 0xd9, 0x91, 0x32, 0x11, 0x30, 0x42, 0x01, + 0x64, 0x0c, 0x08, 0x82, 0x61, 0x15, 0x49, 0xa1, 0x32, 0x61, 0x14, 0xd2, 0xa0, 0x7f, 0x50, 0x55, + 0x90, 0x0c, 0x0e, 0x60, 0x55, 0x90, 0x50, 0x50, 0x74, 0x59, 0xf1, 0xa2, 0x21, 0x15, 0x98, 0xb1, + 0xb2, 0x61, 0x12, 0xaa, 0x99, 0xa8, 0xe1, 0x92, 0x09, 0x00, 0x92, 0x61, 0x11, 0xa0, 0x99, 0xc0, + 0x92, 0x61, 0x10, 0x32, 0x21, 0x10, 0x28, 0xf1, 0xe0, 0x33, 0xc0, 0x80, 0x33, 0x01, 0x30, 0x38, + 0x31, 0x05, 0xd8, 0xff, 0x0c, 0x00, 0x20, 0x02, 0xb3, 0x80, 0xc0, 0x01, 0xc0, 0xc8, 0x31, 0xc7, + 0xad, 0x04, 0x0b, 0xcd, 0x06, 0x01, 0x00, 0xf7, 0xac, 0x01, 0x1b, 0xcf, 0x0c, 0x12, 0x38, 0x91, + 0xc0, 0x40, 0x74, 0x0c, 0x05, 0x01, 0x22, 0xeb, 0x0c, 0x06, 0x69, 0x01, 0x69, 0x11, 0x69, 0x21, + 0x08, 0x00, 0x0c, 0x07, 0x02, 0x20, 0x1a, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x01, 0x1d, 0xeb, 0x08, + 0x00, 0x08, 0xb0, 0x22, 0x21, 0x14, 0xc0, 0x00, 0x00, 0x01, 0x19, 0xeb, 0x08, 0x00, 0x22, 0x61, + 0x13, 0x08, 0xb0, 0x22, 0x21, 0x14, 0xc0, 0x00, 0x00, 0x02, 0x21, 0x13, 0x62, 0x21, 0x11, 0x2a, + 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x31, 0x4b, 0x00, 0x00, 0x03, 0x21, 0x60, 0x60, 0xc0, 0x00, + 0x66, 0x11, 0x60, 0x60, 0x31, 0xe6, 0x16, 0x08, 0x80, 0xdc, 0x01, 0xd0, 0xd8, 0x31, 0x46, 0x01, + 0x00, 0x80, 0xfc, 0x01, 0xf0, 0xf8, 0x31, 0xac, 0x46, 0x26, 0x06, 0x22, 0x80, 0x2c, 0x01, 0x20, + 0x28, 0x31, 0xcc, 0x12, 0x96, 0x76, 0x01, 0x1b, 0x3f, 0x37, 0x1d, 0x12, 0x42, 0x21, 0x12, 0xea, + 0xe6, 0x1b, 0x54, 0x50, 0x40, 0x74, 0x42, 0x61, 0x12, 0x42, 0xc4, 0xf6, 0x56, 0x34, 0xf4, 0x98, + 0xa1, 0xb2, 0x21, 0x15, 0x78, 0xe1, 0xa8, 0xd1, 0x70, 0x7c, 0xc0, 0xba, 0xaa, 0x80, 0x67, 0x01, + 0x60, 0x68, 0x31, 0x72, 0x4a, 0x00, 0x6c, 0x87, 0x77, 0xa6, 0x06, 0x6c, 0x86, 0x6c, 0x88, 0x82, + 0x4a, 0x00, 0x9c, 0x39, 0x42, 0x21, 0x11, 0x21, 0xa7, 0xff, 0x32, 0x21, 0x15, 0x80, 0x50, 0x01, + 0x50, 0x58, 0x31, 0x01, 0xa0, 0xe9, 0xc0, 0x00, 0x00, 0xf2, 0xaf, 0x80, 0xd2, 0xa0, 0x7f, 0x0c, + 0x0e, 0x0c, 0x0b, 0x72, 0x21, 0x15, 0x68, 0xc1, 0x1b, 0x87, 0x80, 0x70, 0x74, 0x72, 0x61, 0x15, + 0x70, 0x66, 0xc0, 0x56, 0x46, 0xed, 0xc1, 0xea, 0xea, 0x3c, 0x29, 0x38, 0xd1, 0x28, 0xc1, 0xa2, + 0x03, 0x00, 0x3a, 0x22, 0x80, 0xaa, 0x01, 0x22, 0xc2, 0x80, 0x02, 0x02, 0x7f, 0xa0, 0xa8, 0x31, + 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xa0, 0xa0, 0xc0, 0xa7, 0xa9, 0x05, 0x42, 0xc0, 0xce, 0x42, + 0x43, 0x00, 0x61, 0xcb, 0xf5, 0x62, 0x06, 0x5e, 0xbc, 0x66, 0x58, 0xc1, 0x0b, 0x55, 0xa6, 0x15, + 0x30, 0x61, 0xa9, 0xed, 0x0c, 0x07, 0x48, 0xc1, 0x72, 0x61, 0x15, 0x6a, 0x44, 0x82, 0x21, 0x15, + 0xb2, 0x04, 0x67, 0x6a, 0xd8, 0xd2, 0x0d, 0x68, 0xa2, 0x02, 0x7f, 0xd0, 0xbb, 0xc0, 0xba, 0xaa, + 0xb8, 0xd1, 0x1b, 0x98, 0x8a, 0xbb, 0xa2, 0x4b, 0x00, 0x90, 0x80, 0x74, 0x82, 0x61, 0x15, 0x87, + 0x95, 0xda, 0x08, 0x0c, 0x02, 0x20, 0x1b, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0xc8, 0x51, 0xd8, 0x61, + 0xe8, 0x71, 0xf8, 0x81, 0x08, 0x41, 0x12, 0xc1, 0x60, 0x0d, 0xf0, 0x00, 0x28, 0x87, 0xfe, 0x3f, + 0x82, 0xc2, 0xfe, 0x12, 0xc1, 0xa0, 0xc2, 0x61, 0x0a, 0xe2, 0x61, 0x0c, 0xf9, 0xd1, 0x09, 0x91, + 0x69, 0xe1, 0x52, 0x61, 0x13, 0xd9, 0xb1, 0x89, 0x11, 0xd1, 0xb4, 0xe9, 0xc0, 0x20, 0x00, 0x92, + 0x2d, 0xe0, 0x00, 0x08, 0x40, 0x90, 0x90, 0xb1, 0xc0, 0x20, 0x00, 0xa2, 0x2d, 0xe3, 0x00, 0x08, + 0x40, 0xa0, 0xa0, 0xb1, 0xa0, 0xf9, 0xc0, 0xc0, 0x20, 0x00, 0x62, 0x2d, 0xe2, 0x00, 0x08, 0x40, + 0x60, 0x60, 0xb1, 0xc0, 0x20, 0x00, 0x79, 0x01, 0x02, 0x2d, 0xe1, 0x00, 0x08, 0x40, 0xaa, 0x99, + 0x2d, 0x09, 0x88, 0xe1, 0x00, 0x00, 0xb1, 0x0a, 0xe6, 0x80, 0x85, 0x30, 0x60, 0x00, 0xc0, 0xcd, + 0x00, 0x40, 0x63, 0x30, 0x80, 0x66, 0x30, 0x60, 0x60, 0x74, 0x8c, 0x66, 0xcd, 0x0e, 0x2d, 0x0f, + 0xed, 0x00, 0xfd, 0x09, 0x22, 0x61, 0x10, 0xc0, 0xdf, 0x31, 0x4d, 0x02, 0x20, 0x5f, 0x31, 0x59, + 0xf1, 0x3d, 0x05, 0x85, 0x72, 0x05, 0x5d, 0x0d, 0x4d, 0x0c, 0x39, 0x31, 0x29, 0x41, 0x3d, 0x0d, + 0x2d, 0x0c, 0x85, 0x71, 0x05, 0x0c, 0x06, 0x0c, 0x10, 0x0c, 0x07, 0x58, 0x31, 0xb8, 0x41, 0x3a, + 0x55, 0x2a, 0x4b, 0x40, 0x70, 0x83, 0xb7, 0xb4, 0x01, 0x1b, 0x55, 0xbd, 0x04, 0xad, 0x05, 0x50, + 0x60, 0x83, 0x77, 0x06, 0x03, 0xbd, 0x00, 0x0c, 0x0a, 0xf0, 0x4f, 0x20, 0xf2, 0x61, 0x06, 0xe2, + 0x61, 0x12, 0x38, 0xf1, 0x22, 0x21, 0x10, 0xa2, 0x61, 0x14, 0xb2, 0x61, 0x15, 0xe0, 0x8f, 0x31, + 0xf0, 0x5f, 0x31, 0x59, 0x51, 0x82, 0x61, 0x11, 0x05, 0x6d, 0x05, 0xe2, 0x21, 0x15, 0xf2, 0x21, + 0x14, 0x52, 0x21, 0x11, 0x42, 0x21, 0x12, 0x39, 0x71, 0x29, 0x81, 0x3d, 0x0d, 0x2d, 0x0c, 0xc5, + 0x6b, 0x05, 0x08, 0x71, 0x30, 0x00, 0xc0, 0x38, 0x81, 0x20, 0xa3, 0xc0, 0xa7, 0xb3, 0x01, 0x0b, + 0x00, 0x70, 0x2a, 0x11, 0xf0, 0x5f, 0x20, 0x4d, 0x0e, 0x10, 0x47, 0x40, 0xa0, 0x30, 0x81, 0x45, + 0x6d, 0x05, 0x38, 0x01, 0x80, 0x42, 0x01, 0x58, 0xe1, 0x40, 0x48, 0x31, 0x1b, 0x44, 0x40, 0x41, + 0x21, 0x40, 0x20, 0x60, 0x50, 0x24, 0x83, 0x58, 0x51, 0x48, 0x61, 0x22, 0x43, 0x00, 0x29, 0x21, + 0x3d, 0x0d, 0x2d, 0x0c, 0x45, 0x67, 0x05, 0x52, 0x21, 0x11, 0x42, 0x21, 0x12, 0xdd, 0x03, 0xcd, + 0x02, 0x38, 0xf1, 0x22, 0x21, 0x10, 0x45, 0x66, 0x05, 0x3a, 0x0d, 0x2a, 0x2c, 0xc7, 0xb2, 0x01, + 0x1b, 0x00, 0xe0, 0x4e, 0x20, 0xf0, 0x5f, 0x20, 0xc2, 0x21, 0x00, 0x10, 0x47, 0x40, 0xd2, 0x21, + 0x13, 0x20, 0x30, 0x81, 0x70, 0x22, 0x11, 0xc5, 0x67, 0x05, 0x52, 0x01, 0x60, 0x80, 0x62, 0x01, + 0x60, 0x68, 0x31, 0x1b, 0x66, 0x60, 0x61, 0x21, 0x60, 0x00, 0x60, 0xd0, 0x06, 0x83, 0x02, 0x4c, + 0x01, 0xac, 0x65, 0x21, 0x9e, 0xff, 0xc0, 0x20, 0x00, 0x31, 0x58, 0xe9, 0x48, 0x11, 0x80, 0x50, + 0x01, 0x50, 0x58, 0x31, 0x00, 0x04, 0x40, 0x32, 0x23, 0xf9, 0x48, 0x21, 0x30, 0x30, 0xb1, 0x80, + 0x44, 0x01, 0x40, 0x48, 0x31, 0x01, 0x0b, 0xe9, 0xc0, 0x00, 0x00, 0xc8, 0xa1, 0xd8, 0xb1, 0xe8, + 0xc1, 0xf8, 0xd1, 0x08, 0x91, 0x12, 0xc1, 0x60, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x9d, 0x03, 0x12, 0xc1, 0xb0, 0x79, 0x71, 0x49, 0x51, 0x62, 0x61, 0x12, 0x52, 0x61, 0x11, 0x09, + 0x81, 0x22, 0x61, 0x10, 0xf9, 0xc1, 0xd9, 0xa1, 0xe9, 0xb1, 0xc9, 0x91, 0x0c, 0x0e, 0x0c, 0x0c, + 0xd1, 0x50, 0xea, 0xf2, 0x01, 0x54, 0x99, 0x61, 0x0c, 0x22, 0x02, 0x21, 0x10, 0x22, 0x61, 0x13, + 0x52, 0x21, 0x12, 0x62, 0x21, 0x11, 0x62, 0x41, 0x10, 0x52, 0x41, 0x11, 0x0c, 0x12, 0x00, 0x10, + 0x40, 0x00, 0x22, 0xa1, 0x02, 0x01, 0x58, 0x09, 0xe1, 0x20, 0x20, 0xf4, 0x29, 0xd1, 0x0c, 0x14, + 0x5d, 0x0f, 0x32, 0xa0, 0x80, 0x08, 0x0d, 0xc0, 0x2c, 0xd1, 0x02, 0x20, 0x3e, 0x3a, 0x22, 0x20, + 0x28, 0x21, 0x32, 0xc1, 0x10, 0x29, 0xf1, 0x20, 0x2e, 0xc0, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, + 0xc0, 0x00, 0x00, 0x32, 0xc1, 0x11, 0x0c, 0x04, 0x5d, 0x0f, 0x08, 0x0d, 0xed, 0x02, 0x02, 0x20, + 0x3e, 0x2d, 0x0c, 0xc0, 0x00, 0x00, 0x38, 0xd1, 0x08, 0x0d, 0xcd, 0x02, 0x08, 0xd0, 0x0c, 0x12, + 0xc0, 0x00, 0x00, 0x22, 0x21, 0x10, 0x38, 0x61, 0x52, 0x01, 0x11, 0x82, 0x21, 0x11, 0x62, 0x01, + 0x10, 0x0c, 0x19, 0x80, 0x66, 0xc0, 0x82, 0x21, 0x12, 0x60, 0x69, 0x93, 0x62, 0x41, 0x10, 0x80, + 0x55, 0xc0, 0x88, 0xe1, 0x50, 0x59, 0x93, 0x52, 0x41, 0x11, 0x89, 0x01, 0x08, 0x0d, 0x48, 0x51, + 0x02, 0x20, 0x12, 0x72, 0xc1, 0x12, 0xc0, 0x00, 0x00, 0x28, 0xf1, 0x02, 0x01, 0x12, 0x2a, 0x2e, + 0x80, 0xe0, 0x01, 0x02, 0x01, 0x13, 0xe0, 0xe8, 0x31, 0x2a, 0xee, 0x80, 0x00, 0x01, 0x80, 0xee, + 0x01, 0xe0, 0xe8, 0x31, 0x00, 0x08, 0x31, 0x00, 0xcc, 0xc0, 0x08, 0x0d, 0x80, 0xcc, 0x01, 0x08, + 0xc0, 0xc0, 0xc8, 0x31, 0xc0, 0x00, 0x00, 0x32, 0x21, 0x13, 0x0b, 0x33, 0x32, 0x61, 0x13, 0x56, + 0xb3, 0xf4, 0x22, 0x01, 0x12, 0x08, 0x0d, 0x80, 0x22, 0x01, 0x08, 0x00, 0x20, 0x28, 0x31, 0xc0, + 0x00, 0x00, 0xe6, 0x52, 0x12, 0x22, 0x01, 0x13, 0x08, 0x0d, 0x80, 0x22, 0x01, 0x08, 0x00, 0x20, + 0x28, 0x31, 0xc0, 0x00, 0x00, 0xa6, 0x52, 0x17, 0x71, 0xb5, 0xff, 0x41, 0x68, 0xfa, 0x61, 0x47, + 0xfc, 0x38, 0x04, 0x52, 0x06, 0x05, 0x70, 0x33, 0x20, 0x1b, 0x55, 0x52, 0x46, 0x05, 0x39, 0x04, + 0x0c, 0xf2, 0x7c, 0x10, 0x07, 0x2e, 0x01, 0x0d, 0x0e, 0x07, 0x22, 0x01, 0x2d, 0x00, 0x6c, 0x10, + 0x80, 0xe2, 0x01, 0xe0, 0xe8, 0x31, 0x1c, 0xf2, 0x07, 0x2c, 0x01, 0x0d, 0x0c, 0x07, 0x22, 0x01, + 0x2d, 0x00, 0x32, 0xc1, 0x10, 0x0c, 0x14, 0x5d, 0x0f, 0x80, 0xc2, 0x01, 0x08, 0x0d, 0xc0, 0xc8, + 0x31, 0x02, 0x20, 0x3e, 0x2d, 0x0e, 0xc0, 0x00, 0x00, 0x5d, 0x0f, 0x2d, 0x0c, 0x08, 0x0d, 0x32, + 0xc1, 0x11, 0x02, 0x20, 0x3e, 0x0c, 0x04, 0xc0, 0x00, 0x00, 0x08, 0x81, 0xd8, 0xa1, 0xf8, 0xc1, + 0x38, 0x71, 0x22, 0x21, 0x14, 0xe2, 0x43, 0x00, 0xc2, 0x42, 0x00, 0xe8, 0xb1, 0xc8, 0x91, 0x12, + 0xc1, 0x50, 0x0d, 0xf0, 0x9d, 0x05, 0xad, 0x03, 0x12, 0xc1, 0xb0, 0xd9, 0xe1, 0xe9, 0xf1, 0x79, + 0x81, 0x0c, 0x03, 0x0c, 0x05, 0xf2, 0x61, 0x10, 0x09, 0xc1, 0xc9, 0xd1, 0x62, 0x61, 0x13, 0x29, + 0x51, 0x49, 0x61, 0x22, 0xa0, 0x77, 0x1c, 0x04, 0x0c, 0x06, 0xc1, 0xe5, 0xe9, 0xa2, 0x61, 0x11, + 0x08, 0x0c, 0x92, 0x61, 0x12, 0x02, 0x20, 0x25, 0xf2, 0x21, 0x13, 0xc0, 0x00, 0x00, 0x0c, 0x03, + 0x0c, 0xf4, 0x0c, 0x65, 0x0c, 0x66, 0x08, 0x0c, 0xed, 0x02, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x77, + 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x1c, 0x84, 0x0c, 0x55, 0x0c, 0x56, 0x08, 0x0c, 0xdd, 0x02, 0x02, + 0x20, 0x25, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x1c, 0x84, 0x0c, 0x35, 0x0c, 0x36, + 0x08, 0x0c, 0x29, 0x91, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x0c, + 0x94, 0x0c, 0x75, 0x0c, 0x06, 0x08, 0x0c, 0x29, 0xa1, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x77, 0xc0, + 0x00, 0x00, 0x08, 0x0c, 0x29, 0x71, 0x02, 0x20, 0x10, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0xe2, 0x41, + 0x10, 0xd2, 0x41, 0x11, 0x8c, 0xcf, 0x08, 0x0c, 0x22, 0xc1, 0x10, 0x02, 0x20, 0x45, 0x32, 0xc1, + 0x11, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x04, 0x0c, 0x25, 0x08, 0x0c, 0x0c, + 0x26, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0xe9, 0xb1, 0x22, 0xa0, 0x77, 0x0c, 0x03, + 0x1c, 0x84, 0x0c, 0x75, 0x08, 0x0c, 0x0c, 0x17, 0x92, 0x01, 0x10, 0x82, 0x01, 0x11, 0xe0, 0x99, + 0xc0, 0xd0, 0x88, 0xc0, 0x80, 0x87, 0x93, 0x90, 0x97, 0x93, 0x92, 0x41, 0x10, 0x82, 0x41, 0x11, + 0x02, 0x20, 0x27, 0x0c, 0x76, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0xe2, 0x21, 0x11, 0x02, 0x20, 0x14, + 0x28, 0x61, 0xc0, 0x00, 0x00, 0x0c, 0x05, 0x0c, 0x06, 0x0c, 0x07, 0x4d, 0x02, 0x0c, 0x03, 0x39, + 0x21, 0x39, 0x11, 0x39, 0x01, 0x08, 0x0c, 0x0c, 0x12, 0x02, 0x20, 0x1a, 0x3d, 0x0e, 0xc0, 0x00, + 0x00, 0x28, 0x51, 0x78, 0x81, 0x62, 0xc1, 0x13, 0x42, 0x01, 0x11, 0x58, 0x91, 0x32, 0x01, 0x10, + 0xed, 0x05, 0xf9, 0x11, 0x69, 0x01, 0x79, 0x21, 0x72, 0xc1, 0x12, 0x08, 0x0c, 0x68, 0xa1, 0x02, + 0x20, 0x43, 0xfd, 0x06, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x1b, 0x0c, 0x12, 0xc0, 0x00, + 0x00, 0x78, 0xb1, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x04, 0x08, 0x0c, 0x0c, 0x05, 0x02, 0x20, + 0x27, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x7d, 0x0d, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0xf4, 0x08, + 0x0c, 0x0c, 0x65, 0x02, 0x20, 0x27, 0x0c, 0x66, 0xc0, 0x00, 0x00, 0x7d, 0x0e, 0x22, 0xa0, 0x77, + 0x0c, 0x03, 0x1c, 0x84, 0x08, 0x0c, 0x0c, 0x55, 0x02, 0x20, 0x27, 0x0c, 0x56, 0xc0, 0x00, 0x00, + 0x7d, 0x0f, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x84, 0x0c, 0x35, 0x08, 0x0c, 0x0c, 0x36, 0x02, + 0x20, 0x27, 0xd8, 0x71, 0xc0, 0x00, 0x00, 0x7d, 0x0d, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0x94, + 0x08, 0x0c, 0x0c, 0x75, 0x02, 0x20, 0x27, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, + 0x03, 0x1c, 0x84, 0x0c, 0x75, 0x08, 0x0c, 0x0c, 0x76, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, + 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x04, 0x0c, 0x25, 0x08, 0x0c, 0x0c, 0x26, 0x02, 0x20, + 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0xd2, 0x21, 0x12, 0x02, 0x20, 0x10, 0x0c, 0x02, + 0xc0, 0x00, 0x00, 0x08, 0xc1, 0xc8, 0xd1, 0xe8, 0xf1, 0x32, 0x01, 0x12, 0xf2, 0x21, 0x10, 0x32, + 0x4d, 0x00, 0x22, 0x01, 0x13, 0x22, 0x4d, 0x01, 0xd8, 0xe1, 0x12, 0xc1, 0x50, 0x0d, 0xf0, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x51, 0x5d, 0xe8, 0xc0, 0x20, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, + 0x0c, 0x84, 0x52, 0x25, 0xd8, 0x61, 0x34, 0xec, 0x01, 0x66, 0xe9, 0x62, 0x06, 0x6f, 0x08, 0x00, + 0x50, 0x50, 0x60, 0x80, 0x55, 0x01, 0x02, 0x20, 0x26, 0x50, 0x58, 0x31, 0x80, 0x66, 0x01, 0x60, + 0x68, 0x31, 0x60, 0x55, 0xc0, 0x52, 0xc5, 0xe8, 0x50, 0x50, 0x74, 0xc0, 0x00, 0x00, 0x08, 0x01, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x5d, 0x03, 0x12, 0xc1, 0xf0, 0x0c, 0x03, 0x09, + 0x01, 0xe9, 0x31, 0xd9, 0x21, 0xc9, 0x11, 0xdd, 0x04, 0xc1, 0x55, 0xe9, 0xed, 0x02, 0x08, 0x0c, + 0x22, 0xa0, 0x77, 0x02, 0x20, 0x26, 0x1c, 0xb4, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, + 0x08, 0x0c, 0x0c, 0x54, 0x02, 0x20, 0x26, 0xe0, 0x54, 0x74, 0xc0, 0x00, 0x00, 0xe0, 0x50, 0x34, + 0x22, 0xa0, 0x77, 0x08, 0x0c, 0x0c, 0x03, 0x02, 0x20, 0x26, 0x0c, 0x64, 0xc0, 0x00, 0x00, 0x22, + 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0xf4, 0x0c, 0x45, 0x08, 0x0c, 0x50, 0x5d, 0x20, 0x02, 0x20, 0x26, + 0x50, 0x50, 0x74, 0xc0, 0x00, 0x00, 0x5d, 0x0d, 0x22, 0xa0, 0x77, 0x08, 0x0c, 0x0c, 0x03, 0x02, + 0x20, 0x26, 0x0c, 0xf4, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x4c, 0x87, 0xfe, 0x3f, 0x60, 0x80, 0xfe, 0x3f, 0xc0, 0x80, 0xfe, 0x3f, + 0x32, 0xa0, 0xf0, 0x30, 0x11, 0xc0, 0x02, 0x61, 0x2b, 0xe2, 0x61, 0x2e, 0xd2, 0x61, 0x2d, 0xf2, + 0x61, 0x2f, 0x22, 0x61, 0x30, 0xc2, 0x61, 0x2c, 0xc1, 0x32, 0xe9, 0x21, 0xb7, 0xeb, 0xf1, 0xfe, + 0xeb, 0xc0, 0x20, 0x00, 0x02, 0x2f, 0x00, 0x22, 0x22, 0x80, 0x00, 0x0c, 0x05, 0x56, 0x30, 0x26, + 0x22, 0xa0, 0x06, 0x3d, 0x01, 0xc5, 0x37, 0xfb, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0xf4, 0x0c, + 0x15, 0x08, 0x0c, 0x0c, 0x16, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6b, + 0x0c, 0x23, 0x0c, 0xa4, 0x08, 0x0c, 0x0c, 0x55, 0x02, 0x20, 0x25, 0x0c, 0x46, 0xc0, 0x00, 0x00, + 0x0c, 0x23, 0x0c, 0xa4, 0x0c, 0x55, 0x0c, 0x46, 0x0c, 0x27, 0x08, 0x0c, 0x22, 0x61, 0x2a, 0x02, + 0x20, 0x27, 0x22, 0xa0, 0x6b, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x28, 0xc0, 0x00, 0x00, + 0x08, 0x0c, 0x02, 0x20, 0x30, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x21, 0x8a, 0xf7, 0x22, 0x12, 0x00, + 0x45, 0x5f, 0x03, 0x08, 0x0c, 0x08, 0x60, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0xd1, 0x04, 0xe8, 0xc0, + 0x20, 0x00, 0xe2, 0xc1, 0x70, 0x5c, 0xf4, 0xd2, 0x2d, 0xd8, 0x3c, 0x02, 0x0c, 0x08, 0x0c, 0x09, + 0xc2, 0xd1, 0xff, 0xc2, 0xcc, 0x10, 0x92, 0x61, 0x32, 0x82, 0x61, 0x33, 0x22, 0x61, 0x35, 0xd0, + 0xd0, 0x60, 0xd2, 0x4f, 0x6f, 0xd2, 0xcd, 0x1f, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0xd2, 0x61, + 0x34, 0x0c, 0x0d, 0x32, 0x21, 0x34, 0x0d, 0x04, 0xd0, 0x33, 0xc0, 0x80, 0x33, 0x01, 0x30, 0x38, + 0x31, 0x37, 0x24, 0x01, 0x0d, 0x03, 0x0c, 0x02, 0x00, 0x20, 0xb3, 0x80, 0x22, 0x01, 0x20, 0x28, + 0x31, 0x22, 0x61, 0x36, 0xc5, 0x22, 0xfe, 0x4d, 0x02, 0x02, 0x21, 0x34, 0x22, 0x21, 0x36, 0xc0, + 0xfd, 0x90, 0x20, 0x00, 0xc0, 0xf0, 0x00, 0x11, 0xf6, 0x4d, 0x18, 0x42, 0x5f, 0x80, 0x32, 0x21, + 0x33, 0x00, 0x54, 0xc0, 0x5a, 0x53, 0x00, 0x55, 0x11, 0x50, 0x30, 0x31, 0x32, 0x61, 0x33, 0x5d, + 0x04, 0x46, 0x08, 0x00, 0x66, 0x4d, 0x10, 0x62, 0x21, 0x33, 0x2b, 0x76, 0x70, 0x72, 0x21, 0x00, + 0x77, 0x11, 0x70, 0x60, 0x31, 0x62, 0x61, 0x33, 0x52, 0x21, 0x33, 0x5a, 0x50, 0x00, 0x55, 0x11, + 0x50, 0x50, 0x31, 0x52, 0x5f, 0x80, 0x62, 0x21, 0x32, 0x40, 0x05, 0xc0, 0xdc, 0x16, 0x00, 0x60, + 0x11, 0x60, 0x60, 0x31, 0xa6, 0x26, 0x09, 0x0c, 0x17, 0x0b, 0x86, 0x82, 0x61, 0x31, 0x72, 0x61, + 0x32, 0x72, 0x21, 0x30, 0x0c, 0x02, 0x62, 0x21, 0x31, 0x0c, 0x89, 0x60, 0x60, 0xc0, 0x0d, 0x09, + 0x00, 0x66, 0x11, 0x60, 0x60, 0x31, 0x67, 0x29, 0x01, 0x0d, 0x06, 0x00, 0x20, 0xb3, 0x00, 0x02, + 0x11, 0x00, 0x00, 0x31, 0x02, 0x61, 0x29, 0x8c, 0xf7, 0x21, 0x9a, 0xff, 0x32, 0x21, 0x36, 0x6d, + 0x00, 0x01, 0x80, 0xe7, 0xc0, 0x00, 0x00, 0x02, 0x21, 0x29, 0x02, 0x5f, 0x80, 0x31, 0x96, 0xff, + 0x22, 0x21, 0x36, 0x5c, 0xf4, 0x3a, 0x22, 0xea, 0x3d, 0x22, 0x02, 0x00, 0x1b, 0xdd, 0x22, 0x43, + 0x00, 0x32, 0x21, 0x35, 0xd0, 0xd0, 0xf4, 0x0b, 0x33, 0x32, 0x61, 0x35, 0x56, 0x33, 0xf1, 0xc6, + 0x6a, 0x00, 0x1b, 0x6d, 0xc0, 0x5d, 0x90, 0x42, 0x95, 0x80, 0x60, 0xd0, 0xf4, 0x20, 0x44, 0x90, + 0x42, 0x94, 0x00, 0x42, 0x55, 0x80, 0x07, 0x9d, 0xe8, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0xf4, + 0x0c, 0x15, 0x08, 0x0f, 0x0c, 0x16, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, + 0x77, 0x0c, 0x03, 0x08, 0x0f, 0x0c, 0x74, 0x02, 0x20, 0x26, 0x0c, 0x05, 0xc0, 0x00, 0x00, 0x22, + 0xa0, 0x77, 0x08, 0x0f, 0x0c, 0x03, 0x02, 0x20, 0x24, 0x0c, 0xf4, 0xc0, 0x00, 0x00, 0xf2, 0x11, + 0x50, 0x0c, 0x0c, 0x0c, 0x0d, 0x32, 0xa0, 0xfb, 0x42, 0xa1, 0x00, 0xa2, 0x01, 0x70, 0xa2, 0x61, + 0x37, 0x42, 0x61, 0x39, 0x30, 0x22, 0x10, 0x22, 0x61, 0x38, 0xb2, 0x21, 0x37, 0x22, 0x01, 0x9f, + 0xb7, 0x3d, 0x02, 0x46, 0x28, 0x00, 0xf2, 0xa4, 0x00, 0x02, 0xa4, 0x00, 0x22, 0xa7, 0xff, 0x5d, + 0x02, 0x3d, 0x00, 0xf7, 0x32, 0x01, 0x5d, 0x0f, 0x07, 0x35, 0x01, 0x3d, 0x05, 0x30, 0xf0, 0xf4, + 0x42, 0x21, 0x38, 0xd0, 0x30, 0x74, 0x2d, 0x0f, 0xc5, 0xd1, 0xff, 0x02, 0x21, 0x39, 0x1b, 0xdd, + 0xd0, 0xd0, 0xf4, 0x0b, 0x00, 0x02, 0x61, 0x39, 0x56, 0xe0, 0xfb, 0x72, 0x21, 0x2a, 0x22, 0xa0, + 0x6b, 0x0c, 0x23, 0x01, 0x9b, 0xe8, 0x0c, 0xa4, 0x08, 0x00, 0x0c, 0x55, 0x02, 0x20, 0x27, 0x0c, + 0x46, 0xc0, 0x00, 0x00, 0x31, 0x65, 0xeb, 0x41, 0x57, 0xf0, 0x28, 0x03, 0xc1, 0x95, 0xe8, 0x40, + 0x22, 0x20, 0x29, 0x03, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0xf4, 0x0c, 0x15, 0x08, 0x0c, 0x0c, + 0x16, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x45, 0xc8, 0xff, 0x22, 0xa0, 0x77, 0x0c, + 0x03, 0x1c, 0xb4, 0x0c, 0x75, 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x72, 0xa0, 0xff, 0xc0, + 0x00, 0x00, 0xc2, 0x21, 0x2c, 0xd2, 0x21, 0x2d, 0xe2, 0x21, 0x2e, 0xf2, 0x21, 0x2f, 0x22, 0xa0, + 0xf0, 0x02, 0x21, 0x2b, 0x2a, 0x11, 0x0d, 0xf0, 0xd7, 0xb2, 0x05, 0xf2, 0x11, 0x37, 0xc6, 0xd5, + 0xff, 0x22, 0xc1, 0xf0, 0x2a, 0x2c, 0x02, 0x02, 0x80, 0xea, 0x3c, 0xd7, 0xb0, 0x1d, 0x32, 0x03, + 0x00, 0xd7, 0xb3, 0x56, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0xea, 0x4c, 0x42, 0x04, 0x00, 0xd7, 0x34, + 0xf2, 0x02, 0xc1, 0xf0, 0x0a, 0x0c, 0x02, 0x00, 0x80, 0x86, 0x0f, 0x00, 0x02, 0x61, 0x3a, 0x07, + 0xbd, 0x38, 0x52, 0xa0, 0x01, 0x42, 0x02, 0x7f, 0x22, 0xd1, 0xff, 0x40, 0x30, 0xc0, 0x22, 0xc2, + 0x10, 0x40, 0x4d, 0xc0, 0x20, 0x2c, 0x90, 0x30, 0x30, 0x74, 0xf2, 0x92, 0x7f, 0x22, 0x92, 0x80, + 0x30, 0x35, 0x83, 0xf0, 0x22, 0xc0, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x40, 0x22, 0x82, 0x85, + 0x8c, 0x05, 0x02, 0x21, 0x3a, 0x20, 0xff, 0x80, 0xf0, 0xf0, 0xf4, 0xd0, 0x20, 0xc0, 0x56, 0x72, + 0xee, 0x32, 0xa0, 0x2e, 0xf2, 0xd1, 0xff, 0xf2, 0xcf, 0x10, 0xf0, 0xfc, 0x90, 0xf2, 0x1f, 0x80, + 0xc7, 0xb3, 0x02, 0x86, 0xb4, 0xff, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x86, 0xb2, 0xff, 0xf1, 0x5c, + 0xe8, 0x08, 0x0f, 0x02, 0x20, 0x32, 0xc0, 0x00, 0x00, 0x08, 0x0f, 0x02, 0x20, 0x31, 0xc0, 0x00, + 0x00, 0x08, 0x0f, 0x02, 0x20, 0x2f, 0xc0, 0x00, 0x00, 0x2c, 0xfd, 0xc0, 0xfd, 0x90, 0x22, 0x9f, + 0x7f, 0x0b, 0xdd, 0x52, 0x9f, 0x80, 0xd0, 0xd0, 0xf4, 0x27, 0xa5, 0x02, 0x52, 0x5f, 0x7f, 0x56, + 0x8d, 0xfe, 0x3c, 0x00, 0xf1, 0x4f, 0xe8, 0x0c, 0x0d, 0x21, 0x14, 0xff, 0x86, 0x84, 0xff, 0x00, + 0x60, 0x87, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0x02, 0x61, 0x00, 0x20, 0xc2, 0x20, + 0xdc, 0x13, 0x21, 0xfb, 0xff, 0x01, 0x0e, 0xe7, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x0c, 0x53, 0xc5, + 0x8e, 0x05, 0xc6, 0x05, 0x00, 0x01, 0xa1, 0xee, 0x37, 0xb0, 0x0b, 0x05, 0x8e, 0x05, 0x40, 0x22, + 0x11, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x22, 0x11, 0x05, 0x8d, 0x05, 0xc2, 0x21, 0x01, + 0x02, 0x21, 0x00, 0x12, 0xc1, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x22, 0x82, 0x20, + 0x2c, 0x41, 0x0d, 0xf0, 0x41, 0x6e, 0xe6, 0xc0, 0x20, 0x00, 0x32, 0x24, 0x47, 0x3a, 0x32, 0xc0, + 0x20, 0x00, 0x32, 0x64, 0x41, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x39, 0x01, 0x09, 0x11, 0x01, + 0x1c, 0xf3, 0xc9, 0x21, 0x02, 0x00, 0x39, 0xc1, 0x65, 0xe6, 0xdc, 0x20, 0x7c, 0xc5, 0xc0, 0x20, + 0x00, 0x32, 0x2c, 0x59, 0x50, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, 0x6c, 0x59, 0x86, 0x07, 0x00, + 0x66, 0x10, 0x07, 0x2c, 0x06, 0x60, 0x44, 0x20, 0xc6, 0x04, 0x00, 0x66, 0x20, 0x10, 0x0c, 0x38, + 0xc0, 0x20, 0x00, 0x72, 0x2c, 0x59, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x6c, 0x59, 0x0c, + 0x03, 0x01, 0x1f, 0xe8, 0xc0, 0x20, 0x00, 0x32, 0x6c, 0x50, 0xc0, 0x20, 0x00, 0x22, 0x6c, 0x51, + 0xc0, 0x20, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x55, 0x0c, 0x56, 0x0c, 0x17, 0x08, 0x00, 0x42, 0x6c, + 0x40, 0x02, 0x20, 0x27, 0x1c, 0xc4, 0xc0, 0x00, 0x00, 0x51, 0x88, 0xe9, 0x41, 0x89, 0xe9, 0x31, + 0x07, 0xe7, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xf2, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, + 0x00, 0x22, 0x63, 0xf2, 0x0c, 0x12, 0x01, 0x95, 0xea, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, + 0x03, 0x1c, 0xc4, 0x01, 0x0b, 0xe8, 0x0c, 0x55, 0x08, 0x00, 0x0c, 0x56, 0x02, 0x20, 0x27, 0x0c, + 0x07, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x28, 0x01, 0x08, 0x11, 0x22, 0x6c, 0x44, 0xc8, 0x21, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x20, 0x90, 0x54, 0xa2, 0xaf, 0xc0, 0x51, 0x37, + 0xe6, 0xc0, 0x20, 0x00, 0x82, 0x25, 0x46, 0xa0, 0x88, 0x10, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, + 0x82, 0x65, 0x46, 0x30, 0x60, 0x04, 0x7c, 0xe7, 0xc0, 0x20, 0x00, 0x42, 0x25, 0x6a, 0x70, 0x44, + 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x6a, 0x0d, 0xf0, 0xf0, 0x80, 0xfe, 0x3f, + 0x00, 0x00, 0x00, 0x0f, 0x61, 0xfe, 0xff, 0x28, 0x06, 0x66, 0x02, 0x25, 0x51, 0x15, 0xe7, 0x41, + 0xfc, 0xff, 0x21, 0x03, 0xe6, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x96, 0x50, 0x33, 0x10, 0x30, 0x3f, + 0x41, 0x66, 0x13, 0x0f, 0xc0, 0x20, 0x00, 0x22, 0x22, 0x95, 0x40, 0x22, 0x10, 0x20, 0x28, 0x75, + 0x29, 0x06, 0x0d, 0xf0, 0xc0, 0x20, 0x00, 0x22, 0x22, 0x97, 0x06, 0xfb, 0xff, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x80, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x85, 0xfb, 0xff, 0x26, 0x22, 0x0c, 0x0c, + 0x42, 0x0c, 0x03, 0x41, 0xfb, 0xff, 0x05, 0xeb, 0xff, 0xc6, 0x07, 0x00, 0x01, 0xc9, 0xf2, 0x02, + 0x00, 0x65, 0x66, 0x20, 0x0c, 0x0c, 0x42, 0x0c, 0x03, 0x41, 0xf5, 0xff, 0x85, 0xe9, 0xff, 0x46, + 0x02, 0x00, 0x0c, 0x42, 0x0c, 0x03, 0x41, 0x02, 0xe8, 0xc5, 0xe8, 0xff, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x85, 0xf7, 0xff, 0x26, 0x22, 0x0c, 0x0c, + 0x02, 0x0c, 0x03, 0x41, 0xeb, 0xff, 0x05, 0xe7, 0xff, 0xc6, 0x07, 0x00, 0x01, 0xb9, 0xf2, 0x02, + 0x00, 0x65, 0x66, 0x20, 0x0c, 0x0c, 0x02, 0x0c, 0x03, 0x41, 0xe5, 0xff, 0x85, 0xe5, 0xff, 0x46, + 0x02, 0x00, 0x0c, 0x02, 0x0c, 0x03, 0x41, 0xf2, 0xe7, 0xc5, 0xe4, 0xff, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xd9, 0x21, 0xc9, + 0x11, 0x51, 0x84, 0xef, 0xcd, 0x02, 0xd1, 0xb1, 0xe6, 0xc0, 0x20, 0x00, 0x42, 0x2d, 0x5c, 0x50, + 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x6d, 0x5c, 0x32, 0xa1, 0x01, 0xc0, 0x20, 0x00, 0x32, 0x6d, + 0x5b, 0x21, 0xf4, 0xff, 0xc0, 0x20, 0x00, 0x02, 0x2d, 0x5b, 0x20, 0x00, 0x20, 0xc0, 0x20, 0x00, + 0x22, 0xa0, 0x64, 0x02, 0x6d, 0x5b, 0x01, 0x39, 0xea, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x62, + 0x2d, 0x5c, 0x96, 0x86, 0x00, 0xc0, 0x20, 0x00, 0x72, 0x2d, 0x5c, 0xd6, 0x67, 0xff, 0x31, 0x87, + 0xef, 0xc0, 0x20, 0x00, 0x01, 0x97, 0xf2, 0x22, 0x2d, 0x5c, 0x02, 0x00, 0x01, 0x30, 0x22, 0x10, + 0x8c, 0x40, 0x26, 0x10, 0x07, 0x26, 0x20, 0x3f, 0x2c, 0x83, 0x86, 0x00, 0x00, 0x32, 0xa0, 0x1a, + 0xc0, 0x22, 0x11, 0x85, 0x66, 0x05, 0xd2, 0x21, 0x02, 0x16, 0x22, 0x02, 0x08, 0x1c, 0x9c, 0xb0, + 0x42, 0xa1, 0xff, 0x27, 0xb0, 0x05, 0x00, 0x32, 0xc0, 0x86, 0x00, 0x00, 0x20, 0x30, 0xc0, 0x37, + 0x34, 0x0c, 0x20, 0x32, 0xa0, 0x00, 0x20, 0x90, 0x3a, 0x22, 0x20, 0x23, 0x41, 0x29, 0x1c, 0xc8, + 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x1c, 0x83, 0x86, 0xf0, 0xff, 0x00, 0x00, 0x00, + 0x28, 0xe0, 0x01, 0x00, 0x3c, 0x20, 0x03, 0x00, 0x64, 0x80, 0x0c, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x05, 0xe7, 0xff, 0x01, 0xc6, 0xe5, 0x26, 0x12, 0x2b, 0xac, 0x82, 0x21, 0x79, 0xf2, 0x32, + 0x02, 0x01, 0x42, 0x02, 0x65, 0x9c, 0x13, 0x26, 0x24, 0x0f, 0x51, 0xf5, 0xff, 0xc0, 0x20, 0x00, + 0x52, 0x60, 0x43, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x61, 0xf2, 0xff, 0xc0, 0x20, 0x00, + 0x62, 0x60, 0x43, 0x06, 0xfb, 0xff, 0x71, 0xf0, 0xff, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x43, 0x06, + 0xf8, 0xff, 0x00, 0x00, 0x31, 0x6b, 0xf2, 0x22, 0x03, 0x39, 0x32, 0x03, 0x3a, 0x26, 0x22, 0x10, + 0x26, 0x13, 0x0d, 0x26, 0x33, 0x0a, 0x0c, 0x23, 0x41, 0xb1, 0xe5, 0xc0, 0x20, 0x00, 0x32, 0x64, + 0x68, 0x0d, 0xf0, 0x00, 0xff, 0xff, 0xef, 0xff, 0x11, 0x20, 0x00, 0x00, 0x71, 0xfe, 0xff, 0x81, + 0x88, 0xe5, 0xc0, 0x20, 0x00, 0x62, 0x28, 0x86, 0x21, 0x65, 0xe6, 0x70, 0x66, 0x10, 0xc0, 0x20, + 0x00, 0x22, 0x22, 0x46, 0x71, 0xf9, 0xff, 0x27, 0x72, 0x51, 0x51, 0xa7, 0xe5, 0xc0, 0x20, 0x00, + 0x92, 0x25, 0x56, 0x77, 0x19, 0x03, 0x0c, 0x12, 0x0d, 0xf0, 0xc0, 0x20, 0x00, 0x22, 0x25, 0x4f, + 0x20, 0xa2, 0x15, 0x66, 0x3a, 0xef, 0x20, 0xb4, 0x25, 0x66, 0x2b, 0xe9, 0x20, 0x37, 0x85, 0x92, + 0xa0, 0x7f, 0x37, 0x89, 0xe0, 0xc0, 0x20, 0x00, 0x22, 0x25, 0x4f, 0x20, 0x42, 0x15, 0x66, 0x34, + 0xd4, 0x20, 0xa4, 0x25, 0x66, 0x2a, 0xce, 0x20, 0xb7, 0x85, 0xb7, 0x89, 0xc8, 0xc0, 0x20, 0x00, + 0x22, 0x25, 0x56, 0x77, 0x92, 0xbf, 0xc0, 0x20, 0x00, 0x62, 0x68, 0x86, 0x0c, 0x02, 0x0d, 0xf0, + 0xe4, 0xf4, 0xfe, 0x3f, 0xb8, 0xf3, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x26, 0x12, 0x0b, + 0x26, 0x22, 0x08, 0x0c, 0x12, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0xc5, 0xf6, 0xff, 0x01, + 0xf8, 0xff, 0x22, 0x40, 0x00, 0x56, 0xa2, 0xfe, 0xb1, 0xf7, 0xff, 0x0c, 0x1a, 0xa2, 0x4b, 0x00, + 0x31, 0x86, 0xe5, 0x7c, 0xf9, 0x71, 0x81, 0xe5, 0xc0, 0x20, 0x00, 0x92, 0x67, 0x49, 0x81, 0x96, + 0xeb, 0xc0, 0x20, 0x00, 0x62, 0x27, 0x42, 0x80, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x67, 0x42, + 0x0c, 0x84, 0x7c, 0x35, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xd0, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, + 0xc0, 0x20, 0x00, 0x22, 0x63, 0xd0, 0x0c, 0x02, 0x46, 0xea, 0xff, 0x00, 0x26, 0x12, 0x02, 0x66, + 0x22, 0x2f, 0x51, 0xe3, 0xff, 0x22, 0x05, 0x00, 0xec, 0x62, 0x21, 0x70, 0xe5, 0xc0, 0x20, 0x00, + 0x32, 0x22, 0x4a, 0x30, 0x30, 0x14, 0xcc, 0xa3, 0xc0, 0x20, 0x00, 0x42, 0x22, 0x4a, 0x40, 0x40, + 0x14, 0x16, 0x34, 0xff, 0x0c, 0x27, 0xc0, 0x20, 0x00, 0x62, 0x22, 0x4a, 0x70, 0x66, 0x10, 0x62, + 0x45, 0x01, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0xfe, 0x81, 0xff, 0xff, 0x31, 0x20, 0xe6, 0x61, 0x63, + 0xe5, 0xc0, 0x20, 0x00, 0x82, 0x66, 0x44, 0x0c, 0x07, 0xc0, 0x20, 0x00, 0x72, 0x66, 0x51, 0x51, + 0xa5, 0xf8, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x40, 0x41, 0x99, 0xe8, 0xc0, 0x20, 0x00, 0x22, 0x23, + 0xf2, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xf2, 0x0d, 0xf0, 0x33, 0x33, 0x00, 0x00, + 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0x3f, + 0xa1, 0xfb, 0xff, 0x31, 0xca, 0xf4, 0x61, 0xa0, 0xe9, 0xc0, 0x20, 0x00, 0xa2, 0x66, 0xf8, 0x91, + 0xf8, 0xff, 0x81, 0x43, 0xe7, 0xc0, 0x20, 0x00, 0x72, 0x26, 0x9d, 0x90, 0x77, 0x10, 0x80, 0x77, + 0x20, 0xc0, 0x20, 0x00, 0x72, 0x66, 0x9d, 0x51, 0xf3, 0xff, 0x41, 0xbc, 0xf4, 0xc0, 0x20, 0x00, + 0x22, 0x26, 0x9d, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x66, 0x9d, 0xb1, + 0xee, 0xff, 0xa1, 0x66, 0xea, 0xc0, 0x20, 0x00, 0x92, 0x26, 0x9d, 0xb0, 0x99, 0x10, 0xa0, 0x99, + 0x20, 0xc0, 0x20, 0x00, 0x92, 0x66, 0x9d, 0x81, 0xe9, 0xff, 0x71, 0x42, 0xff, 0xc0, 0x20, 0x00, + 0x52, 0x26, 0x9d, 0x80, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x9d, 0x41, + 0xc5, 0xee, 0xc0, 0x20, 0x00, 0x22, 0x23, 0x81, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x63, + 0x81, 0x0d, 0xf0, 0x00, 0x41, 0xe7, 0xf1, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0x02, 0x04, + 0x35, 0xc1, 0x7d, 0xe9, 0x26, 0x10, 0x76, 0x26, 0x30, 0x73, 0x26, 0x40, 0x70, 0x26, 0x50, 0x6d, + 0x0c, 0x00, 0xc0, 0x20, 0x00, 0x02, 0x6c, 0xf8, 0x01, 0xd5, 0xff, 0x31, 0xa0, 0xf4, 0xc0, 0x20, + 0x00, 0xb2, 0x2c, 0x9d, 0x00, 0xbb, 0x10, 0xc0, 0x20, 0x00, 0xb2, 0x6c, 0x9d, 0xa1, 0xce, 0xff, + 0xc0, 0x20, 0x00, 0x92, 0x2c, 0x9d, 0xa0, 0x99, 0x10, 0xc0, 0x20, 0x00, 0x92, 0x6c, 0x9d, 0x81, + 0xc9, 0xff, 0xc0, 0x20, 0x00, 0x72, 0x2c, 0x9d, 0x80, 0x77, 0x10, 0xc0, 0x20, 0x00, 0x72, 0x6c, + 0x9d, 0x61, 0xc3, 0xff, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0x9d, 0x60, 0x55, 0x10, 0xc0, 0x20, 0x00, + 0x52, 0x6c, 0x9d, 0x41, 0x1c, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x23, 0x81, 0x40, 0x22, 0x20, 0xc0, + 0x20, 0x00, 0x22, 0x63, 0x81, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x22, 0x04, + 0x36, 0xc5, 0x2e, 0x00, 0x06, 0xe4, 0xff, 0x00, 0x87, 0x13, 0x00, 0x00, 0x00, 0x02, 0xf2, 0x3f, + 0x1c, 0x42, 0x12, 0xc1, 0xe0, 0xc9, 0x11, 0xd9, 0x21, 0xe9, 0x31, 0xf9, 0x41, 0x09, 0x01, 0x01, + 0x57, 0xe9, 0xc0, 0x00, 0x00, 0x0c, 0x0c, 0xe1, 0xf8, 0xff, 0xd1, 0xf8, 0xff, 0xf1, 0x7b, 0xf4, + 0xc0, 0x20, 0x00, 0x02, 0x2d, 0x84, 0x00, 0x00, 0x34, 0xcc, 0x90, 0xc0, 0x20, 0x00, 0x22, 0x2f, + 0xf4, 0x20, 0x2c, 0x34, 0x9c, 0x02, 0x0c, 0x22, 0x01, 0x4d, 0xe9, 0xc0, 0x00, 0x00, 0x3d, 0x0c, + 0x1b, 0xcc, 0xc0, 0xc0, 0xf4, 0x37, 0xbe, 0xd7, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, + 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x31, 0xa9, 0xf1, 0x09, 0x01, + 0x02, 0x03, 0x35, 0x42, 0xae, 0xcf, 0x26, 0x10, 0x0f, 0x26, 0x30, 0x0c, 0x26, 0x40, 0x09, 0x26, + 0x50, 0x06, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x3c, 0x06, 0x21, 0xec, 0xe4, 0xc0, 0x20, + 0x00, 0x52, 0x22, 0x85, 0x40, 0x55, 0x10, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x62, 0x85, + 0xc0, 0x20, 0x00, 0x02, 0x22, 0x8d, 0x40, 0x00, 0x10, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x8d, 0x02, + 0x03, 0x35, 0x26, 0x10, 0x2d, 0x26, 0x30, 0x2a, 0x26, 0x40, 0x02, 0x66, 0x50, 0xc3, 0x62, 0x03, + 0x36, 0xb6, 0x26, 0xbd, 0x0c, 0x02, 0x0c, 0x13, 0x0c, 0x14, 0x0c, 0x05, 0x01, 0xe0, 0xe4, 0xc0, + 0x00, 0x00, 0x0c, 0x82, 0x0c, 0x03, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0xdc, 0xe4, 0xc0, 0x00, 0x00, + 0x86, 0xe7, 0xff, 0x72, 0x03, 0x36, 0xb6, 0x27, 0x98, 0x0c, 0x12, 0x0c, 0x03, 0x0c, 0x14, 0x0c, + 0x05, 0x01, 0xd6, 0xe4, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x83, 0x0c, 0x84, 0x0c, 0x05, 0x01, + 0xd3, 0xe4, 0xc0, 0x00, 0x00, 0x46, 0xde, 0xff, 0x12, 0xc1, 0xf0, 0x31, 0x81, 0xf1, 0x09, 0x01, + 0x02, 0x03, 0x35, 0x52, 0xae, 0xcf, 0x26, 0x10, 0x0f, 0x26, 0x30, 0x0c, 0x26, 0x40, 0x09, 0x26, + 0x50, 0x06, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x22, 0x03, 0x36, 0x01, 0xc4, 0xe4, 0xb6, + 0x22, 0x28, 0x2c, 0x06, 0xc0, 0x20, 0x00, 0x72, 0x20, 0x85, 0x50, 0x77, 0x10, 0x60, 0x77, 0x20, + 0xc0, 0x20, 0x00, 0x72, 0x60, 0x85, 0xc0, 0x20, 0x00, 0x42, 0x20, 0x8d, 0x50, 0x44, 0x10, 0x60, + 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x60, 0x8d, 0x86, 0x08, 0x00, 0x3c, 0x0a, 0xc0, 0x20, 0x00, + 0x92, 0x20, 0x85, 0x50, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x60, 0x85, 0xc0, + 0x20, 0x00, 0x82, 0x20, 0x8d, 0x50, 0x88, 0x10, 0xc0, 0x20, 0x00, 0x82, 0x60, 0x8d, 0x02, 0x03, + 0x35, 0x26, 0x10, 0x4f, 0x26, 0x30, 0x4c, 0x26, 0x40, 0x02, 0x66, 0x50, 0x94, 0x02, 0x03, 0x36, + 0x66, 0x10, 0x1e, 0x0c, 0x02, 0x0c, 0x13, 0x0c, 0x14, 0x0c, 0x05, 0x01, 0xac, 0xe4, 0xc0, 0x00, + 0x00, 0x0c, 0x82, 0x0c, 0x03, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0xa8, 0xe4, 0xc0, 0x00, 0x00, 0xc6, + 0xdb, 0xff, 0x56, 0xc0, 0xf6, 0x0c, 0x12, 0x0c, 0x03, 0x0c, 0x14, 0x0c, 0x05, 0x01, 0xa3, 0xe4, + 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x83, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0xa0, 0xe4, 0xc0, 0x00, + 0x00, 0x46, 0xd3, 0xff, 0x02, 0x03, 0x36, 0x66, 0x10, 0x1e, 0x0c, 0x12, 0x0c, 0x03, 0x0c, 0x14, + 0x0c, 0x05, 0x01, 0x9a, 0xe4, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x83, 0x0c, 0x84, 0x0c, 0x05, + 0x01, 0x97, 0xe4, 0xc0, 0x00, 0x00, 0x06, 0xca, 0xff, 0x56, 0x50, 0xf2, 0x0c, 0x02, 0x0c, 0x13, + 0x0c, 0x14, 0x0c, 0x05, 0x01, 0x92, 0xe4, 0xc0, 0x00, 0x00, 0x0c, 0x82, 0x0c, 0x03, 0x0c, 0x84, + 0x0c, 0x05, 0x01, 0x8e, 0xe4, 0xc0, 0x00, 0x00, 0x86, 0xc1, 0xff, 0x00, 0xff, 0xff, 0x70, 0xfc, + 0x32, 0xa0, 0x00, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0x02, 0x61, 0x00, 0xcd, 0x02, 0x0c, 0x12, + 0x45, 0xc7, 0xfa, 0x31, 0x00, 0xe9, 0x21, 0xba, 0xe7, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x42, 0x30, + 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x42, 0x05, 0xad, 0xff, 0x26, 0x4c, 0x11, 0x66, 0x1c, + 0x05, 0x05, 0x98, 0xff, 0x06, 0x02, 0x00, 0x26, 0x2c, 0x02, 0x66, 0x8c, 0x02, 0x45, 0x9b, 0xff, + 0x31, 0xf2, 0xea, 0x0c, 0x22, 0x51, 0xc4, 0xe8, 0xc0, 0x20, 0x00, 0x02, 0x25, 0x85, 0x30, 0x00, + 0x10, 0x20, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x65, 0x85, 0xb1, 0x61, 0xeb, 0xc0, 0x20, 0x00, + 0xa2, 0x25, 0x85, 0xb0, 0xaa, 0x10, 0xc0, 0x20, 0x00, 0xa2, 0x65, 0x85, 0x91, 0x72, 0xfe, 0xc0, + 0x20, 0x00, 0x82, 0x25, 0x85, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x65, 0x85, 0x71, 0x10, + 0xff, 0x61, 0x5b, 0xe6, 0xc0, 0x20, 0x00, 0x42, 0x25, 0x9d, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, + 0xc0, 0x20, 0x00, 0x42, 0x65, 0x9d, 0x05, 0xdb, 0xff, 0x45, 0xc3, 0xff, 0x05, 0xd5, 0xff, 0x66, + 0x8c, 0x14, 0x61, 0xd6, 0xff, 0x51, 0x3a, 0xe4, 0xc0, 0x20, 0x00, 0x42, 0x25, 0x86, 0x60, 0x44, + 0x10, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x86, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x60, 0x36, 0x00, 0x40, 0x10, 0x11, 0x00, 0x40, 0x50, 0x15, 0x00, 0x40, 0x30, 0x33, 0x00, 0x40, + 0x41, 0xa2, 0xe8, 0x9c, 0x82, 0x26, 0x12, 0x20, 0x26, 0x22, 0x28, 0x26, 0x32, 0x30, 0x26, 0x42, + 0x38, 0x66, 0x52, 0x08, 0x21, 0xf7, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x64, 0xf8, 0x0d, 0xf0, 0x0c, + 0x03, 0xc0, 0x20, 0x00, 0x32, 0x64, 0xf8, 0x0d, 0xf0, 0x51, 0xf0, 0xfe, 0xc0, 0x20, 0x00, 0x52, + 0x64, 0xf8, 0x0d, 0xf0, 0x61, 0xf0, 0xff, 0xc0, 0x20, 0x00, 0x62, 0x64, 0xf8, 0x0d, 0xf0, 0x71, + 0xee, 0xff, 0xc0, 0x20, 0x00, 0x72, 0x64, 0xf8, 0x0d, 0xf0, 0x81, 0xec, 0xff, 0xc0, 0x20, 0x00, + 0x82, 0x64, 0xf8, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0x03, 0xff, 0x0f, 0x00, 0x80, + 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0x26, 0x22, 0x02, 0x66, 0x12, 0x18, 0x56, 0x53, 0x01, + 0x01, 0xa8, 0xfe, 0x32, 0x00, 0x00, 0x56, 0xc3, 0x00, 0x42, 0x00, 0x01, 0x22, 0x61, 0x02, 0xcc, + 0x34, 0x45, 0x71, 0xfc, 0x28, 0x21, 0x7c, 0x3b, 0x0c, 0x4a, 0x61, 0x0d, 0xe4, 0x91, 0x32, 0xe4, + 0xc0, 0x20, 0x00, 0x82, 0x29, 0xd0, 0xb0, 0x88, 0x10, 0xa0, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, + 0x69, 0xd0, 0x71, 0x41, 0xea, 0xc0, 0x20, 0x00, 0x52, 0x26, 0x86, 0x70, 0x55, 0x20, 0xc0, 0x20, + 0x00, 0x52, 0x66, 0x86, 0x66, 0x82, 0x11, 0x01, 0xe8, 0xff, 0xc0, 0x20, 0x00, 0xc2, 0x26, 0x86, + 0x00, 0xcc, 0x20, 0xc0, 0x20, 0x00, 0xc2, 0x66, 0x86, 0x71, 0xe4, 0xff, 0xc1, 0x8d, 0xe8, 0x51, + 0x6e, 0xe8, 0xc0, 0x20, 0x00, 0x72, 0x65, 0x85, 0x61, 0xc6, 0xfe, 0xc0, 0x20, 0x00, 0x42, 0x25, + 0x9d, 0x60, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x9d, 0x0b, 0x32, 0x16, 0xf3, 0x09, 0x82, + 0xc2, 0xfe, 0x16, 0x98, 0x09, 0x92, 0xc2, 0xf8, 0x16, 0x39, 0x09, 0x22, 0xa1, 0x2c, 0x01, 0x63, + 0xe8, 0xc0, 0x00, 0x00, 0x01, 0x4b, 0xe7, 0xc0, 0x20, 0x00, 0x52, 0x20, 0x42, 0xc0, 0x55, 0x10, + 0xc0, 0x20, 0x00, 0x52, 0x60, 0x42, 0x0c, 0x14, 0xc0, 0x20, 0x00, 0x32, 0x20, 0x58, 0x40, 0x33, + 0x20, 0xc0, 0x20, 0x00, 0x32, 0x60, 0x58, 0x7c, 0xe2, 0xc0, 0x20, 0x00, 0xb2, 0x20, 0x58, 0x20, + 0xbb, 0x10, 0xc0, 0x20, 0x00, 0xb2, 0x60, 0x58, 0xc0, 0x20, 0x00, 0xa1, 0x53, 0xe8, 0xa2, 0x2a, + 0x9c, 0x17, 0x6a, 0x3b, 0x0c, 0x22, 0x01, 0x51, 0xe8, 0xc0, 0x00, 0x00, 0xb2, 0xa0, 0xf1, 0x92, + 0xac, 0x00, 0xc0, 0x20, 0x00, 0x71, 0x36, 0xe7, 0xa8, 0xd7, 0x90, 0xaa, 0x10, 0xb0, 0xaa, 0x20, + 0xc0, 0x20, 0x00, 0xa9, 0xd7, 0x82, 0xa0, 0xf0, 0xc0, 0x20, 0x00, 0x68, 0xd7, 0x90, 0x66, 0x10, + 0x80, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x69, 0xd7, 0x0c, 0x22, 0x01, 0x44, 0xe8, 0xc0, 0x00, 0x00, + 0x45, 0xc9, 0xff, 0x05, 0xb0, 0xff, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x85, + 0xa2, 0xff, 0x01, 0x85, 0xe8, 0x31, 0x6b, 0xe8, 0xb2, 0x20, 0x00, 0x22, 0xa0, 0x00, 0x30, 0xbb, + 0x20, 0xb2, 0x60, 0x00, 0x05, 0xda, 0xfc, 0x22, 0xa0, 0xc8, 0x01, 0x38, 0xe8, 0xc0, 0x00, 0x00, + 0x51, 0x7e, 0xe8, 0x48, 0x05, 0xc0, 0x44, 0x10, 0x49, 0x05, 0x86, 0xd1, 0xff, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0xc5, 0x8b, 0x02, 0x21, 0x79, 0xe8, 0x45, 0xd4, 0x02, 0x0c, + 0x02, 0x05, 0x92, 0x02, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x06, 0xf2, 0x3f, + 0x0c, 0x02, 0x31, 0xfe, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x63, 0x80, 0xc0, 0x20, 0x00, 0x22, 0x63, + 0x83, 0x0d, 0xf0, 0x00, 0x84, 0x71, 0x10, 0x40, 0xc4, 0x0d, 0xf2, 0x3f, 0xf0, 0x0c, 0xf2, 0x3f, + 0x1c, 0x0d, 0xf2, 0x3f, 0x34, 0x0d, 0xf2, 0x3f, 0x4c, 0x0d, 0xf2, 0x3f, 0x64, 0x0d, 0xf2, 0x3f, + 0x7c, 0x0d, 0xf2, 0x3f, 0x94, 0x0d, 0xf2, 0x3f, 0xac, 0x0d, 0xf2, 0x3f, 0xc8, 0x0c, 0xf2, 0x3f, + 0xdc, 0x0c, 0xf2, 0x3f, 0x1c, 0xc3, 0x37, 0xb2, 0x5e, 0x51, 0xf2, 0xff, 0x20, 0x42, 0x90, 0x5a, + 0x44, 0xa0, 0x04, 0x00, 0x06, 0x14, 0x00, 0x86, 0x14, 0x00, 0x06, 0x1f, 0x00, 0x06, 0x1d, 0x00, + 0x06, 0x11, 0x00, 0x46, 0x10, 0x00, 0x86, 0x0f, 0x00, 0xc6, 0x0e, 0x00, 0x06, 0x0e, 0x00, 0x46, + 0x0d, 0x00, 0x86, 0x0c, 0x00, 0xc6, 0x15, 0x00, 0xc6, 0x13, 0x00, 0xc6, 0x11, 0x00, 0xc6, 0x0f, + 0x00, 0xc6, 0x0d, 0x00, 0xc6, 0x0b, 0x00, 0xc6, 0x09, 0x00, 0x86, 0x06, 0x00, 0xc6, 0x05, 0x00, + 0x06, 0x05, 0x00, 0x46, 0x0e, 0x00, 0x46, 0x0c, 0x00, 0x46, 0x0a, 0x00, 0x46, 0x08, 0x00, 0x46, + 0x06, 0x00, 0x46, 0x04, 0x00, 0x46, 0x02, 0x00, 0x21, 0xdc, 0xff, 0x0d, 0xf0, 0x21, 0xdb, 0xff, + 0x0d, 0xf0, 0x21, 0xdb, 0xff, 0x0d, 0xf0, 0x21, 0xdb, 0xff, 0x0d, 0xf0, 0x21, 0xdb, 0xff, 0x0d, + 0xf0, 0x21, 0xda, 0xff, 0x0d, 0xf0, 0x21, 0xda, 0xff, 0x0d, 0xf0, 0x21, 0xda, 0xff, 0x0d, 0xf0, + 0x21, 0xda, 0xff, 0x0d, 0xf0, 0x21, 0xd9, 0xff, 0x0d, 0xf0, 0x21, 0xd9, 0xff, 0x0d, 0xf0, 0x00, + 0x50, 0x72, 0x10, 0x40, 0xc8, 0x0d, 0xf2, 0x3f, 0xf4, 0x0c, 0xf2, 0x3f, 0x20, 0x0d, 0xf2, 0x3f, + 0x38, 0x0d, 0xf2, 0x3f, 0x50, 0x0d, 0xf2, 0x3f, 0x68, 0x0d, 0xf2, 0x3f, 0x80, 0x0d, 0xf2, 0x3f, + 0x98, 0x0d, 0xf2, 0x3f, 0xb0, 0x0d, 0xf2, 0x3f, 0xcc, 0x0c, 0xf2, 0x3f, 0xe0, 0x0c, 0xf2, 0x3f, + 0x1c, 0xc3, 0x37, 0xb2, 0x5e, 0x51, 0xf2, 0xff, 0x20, 0x42, 0x90, 0x5a, 0x44, 0xa0, 0x04, 0x00, + 0x06, 0x14, 0x00, 0x86, 0x14, 0x00, 0x06, 0x1f, 0x00, 0x06, 0x1d, 0x00, 0x06, 0x11, 0x00, 0x46, + 0x10, 0x00, 0x86, 0x0f, 0x00, 0xc6, 0x0e, 0x00, 0x06, 0x0e, 0x00, 0x46, 0x0d, 0x00, 0x86, 0x0c, + 0x00, 0xc6, 0x15, 0x00, 0xc6, 0x13, 0x00, 0xc6, 0x11, 0x00, 0xc6, 0x0f, 0x00, 0xc6, 0x0d, 0x00, + 0xc6, 0x0b, 0x00, 0xc6, 0x09, 0x00, 0x86, 0x06, 0x00, 0xc6, 0x05, 0x00, 0x06, 0x05, 0x00, 0x46, + 0x0e, 0x00, 0x46, 0x0c, 0x00, 0x46, 0x0a, 0x00, 0x46, 0x08, 0x00, 0x46, 0x06, 0x00, 0x46, 0x04, + 0x00, 0x46, 0x02, 0x00, 0x21, 0xdc, 0xff, 0x0d, 0xf0, 0x21, 0xdb, 0xff, 0x0d, 0xf0, 0x21, 0xdb, + 0xff, 0x0d, 0xf0, 0x21, 0xdb, 0xff, 0x0d, 0xf0, 0x21, 0xdb, 0xff, 0x0d, 0xf0, 0x21, 0xda, 0xff, + 0x0d, 0xf0, 0x21, 0xda, 0xff, 0x0d, 0xf0, 0x21, 0xda, 0xff, 0x0d, 0xf0, 0x21, 0xda, 0xff, 0x0d, + 0xf0, 0x21, 0xd9, 0xff, 0x0d, 0xf0, 0x21, 0xd9, 0xff, 0x0d, 0xf0, 0x00, 0x1c, 0x73, 0x10, 0x40, + 0xcc, 0x0d, 0xf2, 0x3f, 0xf8, 0x0c, 0xf2, 0x3f, 0x24, 0x0d, 0xf2, 0x3f, 0x3c, 0x0d, 0xf2, 0x3f, + 0x54, 0x0d, 0xf2, 0x3f, 0x6c, 0x0d, 0xf2, 0x3f, 0x84, 0x0d, 0xf2, 0x3f, 0x9c, 0x0d, 0xf2, 0x3f, + 0xb4, 0x0d, 0xf2, 0x3f, 0xd0, 0x0c, 0xf2, 0x3f, 0xe4, 0x0c, 0xf2, 0x3f, 0x1c, 0xc3, 0x37, 0xb2, + 0x5e, 0x51, 0xf2, 0xff, 0x20, 0x42, 0x90, 0x5a, 0x44, 0xa0, 0x04, 0x00, 0x06, 0x14, 0x00, 0x86, + 0x14, 0x00, 0x06, 0x1f, 0x00, 0x06, 0x1d, 0x00, 0x06, 0x11, 0x00, 0x46, 0x10, 0x00, 0x86, 0x0f, + 0x00, 0xc6, 0x0e, 0x00, 0x06, 0x0e, 0x00, 0x46, 0x0d, 0x00, 0x86, 0x0c, 0x00, 0xc6, 0x15, 0x00, + 0xc6, 0x13, 0x00, 0xc6, 0x11, 0x00, 0xc6, 0x0f, 0x00, 0xc6, 0x0d, 0x00, 0xc6, 0x0b, 0x00, 0xc6, + 0x09, 0x00, 0x86, 0x06, 0x00, 0xc6, 0x05, 0x00, 0x06, 0x05, 0x00, 0x46, 0x0e, 0x00, 0x46, 0x0c, + 0x00, 0x46, 0x0a, 0x00, 0x46, 0x08, 0x00, 0x46, 0x06, 0x00, 0x46, 0x04, 0x00, 0x46, 0x02, 0x00, + 0x21, 0xdc, 0xff, 0x0d, 0xf0, 0x21, 0xdb, 0xff, 0x0d, 0xf0, 0x21, 0xdb, 0xff, 0x0d, 0xf0, 0x21, + 0xdb, 0xff, 0x0d, 0xf0, 0x21, 0xdb, 0xff, 0x0d, 0xf0, 0x21, 0xda, 0xff, 0x0d, 0xf0, 0x21, 0xda, + 0xff, 0x0d, 0xf0, 0x21, 0xda, 0xff, 0x0d, 0xf0, 0x21, 0xda, 0xff, 0x0d, 0xf0, 0x21, 0xd9, 0xff, + 0x0d, 0xf0, 0x21, 0xd9, 0xff, 0x0d, 0xf0, 0x00, 0xc0, 0x0d, 0xf2, 0x3f, 0x18, 0x0d, 0xf2, 0x3f, + 0xa8, 0x0d, 0xf2, 0x3f, 0x90, 0x0d, 0xf2, 0x3f, 0x78, 0x0d, 0xf2, 0x3f, 0x60, 0x0d, 0xf2, 0x3f, + 0x48, 0x0d, 0xf2, 0x3f, 0x30, 0x0d, 0xf2, 0x3f, 0x26, 0x92, 0x1e, 0x0c, 0xb3, 0x37, 0x12, 0x23, + 0x26, 0xa2, 0x25, 0x0c, 0xd4, 0x47, 0x12, 0x25, 0x0c, 0xe5, 0x57, 0x12, 0x25, 0x0c, 0xf6, 0x67, + 0x12, 0x25, 0x26, 0xb2, 0x27, 0x1c, 0x17, 0x77, 0x12, 0x04, 0x21, 0xef, 0xff, 0x0d, 0xf0, 0x21, + 0xef, 0xff, 0x0d, 0xf0, 0x21, 0xef, 0xff, 0x0d, 0xf0, 0x21, 0xee, 0xff, 0x0d, 0xf0, 0x21, 0xee, + 0xff, 0x0d, 0xf0, 0x21, 0xee, 0xff, 0x0d, 0xf0, 0x21, 0xee, 0xff, 0x0d, 0xf0, 0x21, 0xed, 0xff, + 0x0d, 0xf0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x39, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0xb9, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x07, 0x00, 0x90, 0x02, 0x00, 0x00, 0x90, 0xfe, 0x3f, 0x04, 0x90, 0xfe, 0x3f, + 0x00, 0x94, 0xfe, 0x3f, 0x08, 0x90, 0xfe, 0x3f, 0x10, 0x90, 0xfe, 0x3f, 0x14, 0x90, 0xfe, 0x3f, + 0x00, 0x9c, 0xfe, 0x3f, 0x18, 0x90, 0xfe, 0x3f, 0x20, 0x90, 0xfe, 0x3f, 0x24, 0x90, 0xfe, 0x3f, + 0x00, 0xa2, 0xfe, 0x3f, 0x28, 0x90, 0xfe, 0x3f, 0x30, 0x90, 0xfe, 0x3f, 0x34, 0x90, 0xfe, 0x3f, + 0x00, 0x9d, 0xfe, 0x3f, 0x38, 0x90, 0xfe, 0x3f, 0xb0, 0x81, 0xfe, 0x3f, 0x82, 0xa0, 0xf0, 0x80, + 0x11, 0xc0, 0xe2, 0x61, 0x33, 0xf2, 0x61, 0x34, 0x22, 0x61, 0x36, 0x32, 0x61, 0x39, 0x72, 0x61, + 0x2f, 0x62, 0x61, 0x2e, 0x02, 0x61, 0x30, 0xc2, 0x61, 0x31, 0xd2, 0x61, 0x32, 0xcd, 0x05, 0xdd, + 0x04, 0xc5, 0xc9, 0xff, 0xe2, 0x21, 0x36, 0xe0, 0xe0, 0x74, 0x2d, 0x0e, 0x45, 0xcd, 0xff, 0xfd, + 0x02, 0x2d, 0x0e, 0xc5, 0xd9, 0xff, 0x22, 0x61, 0x35, 0xf2, 0x61, 0x2d, 0x2d, 0x0e, 0xc5, 0xe5, + 0xff, 0xfd, 0x02, 0x2d, 0x0e, 0x05, 0xf1, 0xff, 0x0c, 0x03, 0xf2, 0x61, 0x2c, 0x45, 0xf5, 0xff, + 0x80, 0x5d, 0x11, 0x02, 0x21, 0x39, 0xf2, 0x21, 0x40, 0x42, 0x21, 0x3d, 0x32, 0x21, 0x3e, 0x00, + 0x44, 0x11, 0x90, 0x33, 0x01, 0x10, 0xff, 0x01, 0x00, 0x20, 0x34, 0x5a, 0x22, 0x2a, 0xff, 0xf6, + 0xb0, 0x1c, 0x22, 0x21, 0x35, 0x3a, 0x34, 0x40, 0x50, 0x11, 0xd0, 0x40, 0xb4, 0x5a, 0x44, 0x4a, + 0x33, 0x05, 0xf2, 0xff, 0x3d, 0x0f, 0x22, 0x21, 0x2c, 0x85, 0xf1, 0xff, 0x06, 0x1d, 0x00, 0x30, + 0x74, 0x20, 0x81, 0xc6, 0xff, 0x31, 0xba, 0xfc, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x21, + 0x35, 0x1c, 0x36, 0x79, 0x08, 0xe7, 0xb6, 0x1e, 0x6c, 0xfe, 0x3a, 0x3f, 0x22, 0x21, 0x2c, 0x45, + 0xef, 0xff, 0xc0, 0x20, 0x00, 0xa1, 0x2c, 0xe7, 0x92, 0x2a, 0xa2, 0xe0, 0x99, 0x10, 0xc0, 0x20, + 0x00, 0x92, 0x6a, 0xa2, 0x06, 0x0f, 0x00, 0xa2, 0x21, 0x36, 0xa0, 0xa8, 0x74, 0xec, 0x0a, 0x6c, + 0xfe, 0x31, 0xb7, 0xff, 0x22, 0x21, 0x2c, 0x3a, 0x3f, 0x85, 0xec, 0xff, 0xc0, 0x20, 0x00, 0x51, + 0x22, 0xe7, 0x42, 0x25, 0xa2, 0xe0, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x65, 0xa2, 0x86, 0x04, + 0x00, 0x3a, 0x3f, 0x22, 0x21, 0x2c, 0xc5, 0xea, 0xff, 0x1c, 0x05, 0xc0, 0x20, 0x00, 0x61, 0x1a, + 0xe7, 0x52, 0x66, 0xa2, 0xfc, 0x5c, 0x72, 0x21, 0x2e, 0xfc, 0x07, 0x92, 0x21, 0x3c, 0x82, 0x21, + 0x2f, 0x92, 0x61, 0x37, 0xec, 0xb8, 0xec, 0x99, 0x41, 0x4a, 0xf8, 0x32, 0x21, 0x3f, 0x22, 0x21, + 0x2d, 0x40, 0x33, 0x10, 0xc5, 0xe7, 0xff, 0xc2, 0x21, 0x31, 0xd2, 0x21, 0x32, 0xe2, 0x21, 0x33, + 0xf2, 0x21, 0x34, 0x22, 0xa0, 0xf0, 0x02, 0x21, 0x30, 0x2a, 0x11, 0x0d, 0xf0, 0x42, 0x21, 0x3c, + 0x42, 0x61, 0x37, 0x22, 0x21, 0x2d, 0x31, 0x9b, 0xff, 0x85, 0xe5, 0xff, 0x52, 0x21, 0x37, 0x16, + 0x35, 0x11, 0x0c, 0x4e, 0x86, 0x00, 0x00, 0xe2, 0xa0, 0x03, 0x21, 0x97, 0xff, 0x40, 0x4c, 0x11, + 0x52, 0xce, 0xff, 0xf1, 0xdb, 0xea, 0x31, 0xb7, 0xfc, 0x32, 0x61, 0x38, 0x50, 0x3f, 0x83, 0x40, + 0x33, 0x80, 0x3a, 0x3c, 0xc5, 0xe2, 0xff, 0x21, 0x91, 0xff, 0x31, 0x91, 0xff, 0x45, 0xe2, 0xff, + 0x21, 0x91, 0xff, 0x31, 0x91, 0xff, 0xc5, 0xe1, 0xff, 0x21, 0x8f, 0xff, 0x62, 0xce, 0xfe, 0x32, + 0x21, 0x2e, 0x42, 0x21, 0x38, 0x40, 0x53, 0x11, 0x60, 0x4f, 0x83, 0x5a, 0x44, 0x4a, 0x33, 0x45, + 0xe0, 0xff, 0x21, 0x8a, 0xff, 0x31, 0x8a, 0xff, 0x85, 0xdf, 0xff, 0x21, 0x8a, 0xff, 0x31, 0x8a, + 0xff, 0x05, 0xdf, 0xff, 0x21, 0x89, 0xff, 0x62, 0xce, 0xfd, 0x32, 0x21, 0x2f, 0x42, 0x21, 0x38, + 0x40, 0x53, 0x11, 0x60, 0x4f, 0x83, 0x5a, 0x44, 0x4a, 0x33, 0x85, 0xdd, 0xff, 0x21, 0x83, 0xff, + 0x31, 0x84, 0xff, 0x05, 0xdd, 0xff, 0x21, 0x83, 0xff, 0x31, 0x83, 0xff, 0x45, 0xdc, 0xff, 0x21, + 0x82, 0xff, 0x62, 0xce, 0xfc, 0x32, 0x21, 0x37, 0x42, 0x21, 0x38, 0x40, 0x53, 0x11, 0x60, 0x4f, + 0x83, 0x5a, 0x44, 0x4a, 0x33, 0xc5, 0xda, 0xff, 0x21, 0x7d, 0xff, 0x31, 0x7d, 0xff, 0x45, 0xda, + 0xff, 0x21, 0x7c, 0xff, 0x0c, 0x03, 0xc5, 0xd9, 0xff, 0x2d, 0x01, 0x31, 0x7b, 0xff, 0x42, 0xa0, + 0xb0, 0x05, 0x76, 0x04, 0x16, 0xfd, 0xf0, 0x2d, 0x01, 0x0c, 0x00, 0xb1, 0x75, 0xff, 0xa1, 0x70, + 0xff, 0x51, 0x6b, 0xff, 0x41, 0x67, 0xff, 0x62, 0x21, 0x2e, 0x72, 0x21, 0x2f, 0x6a, 0x6c, 0x7a, + 0x76, 0xc7, 0xb0, 0x09, 0x88, 0x02, 0x82, 0x44, 0x00, 0x1b, 0x44, 0x46, 0x07, 0x00, 0x00, 0x30, + 0x74, 0x67, 0xb0, 0x07, 0x32, 0x45, 0x00, 0x1b, 0x55, 0xc6, 0x03, 0x00, 0x77, 0xb0, 0x07, 0x32, + 0x4a, 0x00, 0x1b, 0xaa, 0x06, 0x01, 0x00, 0x32, 0x4b, 0x00, 0x1b, 0xbb, 0x4b, 0x22, 0x1b, 0x00, + 0x07, 0x9d, 0xcd, 0x06, 0xb0, 0xff, 0x92, 0x21, 0x2f, 0x56, 0xa9, 0xee, 0xb2, 0x21, 0x2e, 0x0c, + 0x2a, 0x0c, 0x1e, 0xb0, 0xea, 0x93, 0x06, 0xb8, 0xff, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, + 0x68, 0x87, 0xfe, 0x3f, 0x9c, 0x87, 0xfe, 0x3f, 0xb8, 0x87, 0xfe, 0x3f, 0xe8, 0x87, 0xfe, 0x3f, + 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0x02, 0x61, 0x00, 0x20, 0xc2, 0x20, 0x85, 0x08, 0x02, 0x2d, + 0x0c, 0x05, 0xa6, 0xff, 0xa1, 0xf6, 0xff, 0x0d, 0x02, 0xc1, 0xaf, 0xe6, 0x21, 0x15, 0xef, 0xc0, + 0x20, 0x00, 0xa2, 0x6c, 0x82, 0x0c, 0x49, 0xc0, 0x20, 0x00, 0x82, 0x2c, 0x86, 0x90, 0x88, 0x20, + 0xc0, 0x20, 0x00, 0x82, 0x6c, 0x86, 0x0c, 0x37, 0xc0, 0x20, 0x00, 0x62, 0x2c, 0x89, 0x70, 0x66, + 0x20, 0xc0, 0x20, 0x00, 0x62, 0x6c, 0x89, 0x7c, 0x05, 0xc0, 0x20, 0x00, 0x42, 0x2c, 0x86, 0x50, + 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x6c, 0x86, 0x32, 0x02, 0x59, 0x66, 0x13, 0x45, 0x09, 0x21, + 0x32, 0x02, 0x55, 0x42, 0x02, 0x57, 0x52, 0x02, 0x58, 0x80, 0x44, 0x11, 0x50, 0x44, 0x20, 0x52, + 0x02, 0x56, 0x80, 0x33, 0x01, 0x00, 0x55, 0x11, 0x50, 0x33, 0x20, 0x40, 0x33, 0x20, 0x9c, 0x43, + 0x21, 0xdc, 0xff, 0xc0, 0x20, 0x00, 0x48, 0x03, 0x01, 0xd6, 0xe2, 0xc0, 0x00, 0x00, 0x08, 0x21, + 0x21, 0xf8, 0xee, 0x46, 0x03, 0x00, 0x21, 0xd7, 0xff, 0x01, 0xd1, 0xe2, 0xc0, 0x00, 0x00, 0x08, + 0x21, 0x21, 0xf3, 0xee, 0x0c, 0x06, 0x0c, 0x23, 0x91, 0xb5, 0xf1, 0xc0, 0x20, 0x00, 0x62, 0x69, + 0x9b, 0x7c, 0xd5, 0xc0, 0x20, 0x00, 0x42, 0x2c, 0xa2, 0x50, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, + 0x6c, 0xa2, 0x7c, 0x7b, 0xc0, 0x20, 0x00, 0xa2, 0x2c, 0xa2, 0xb0, 0xaa, 0x10, 0xc0, 0x20, 0x00, + 0xa2, 0x6c, 0xa2, 0x6c, 0xf8, 0xc0, 0x20, 0x00, 0x72, 0x2c, 0xa2, 0x80, 0x77, 0x10, 0xc0, 0x20, + 0x00, 0x72, 0x6c, 0xa2, 0x61, 0xbc, 0xeb, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0xa2, 0x60, 0x55, 0x10, + 0xc0, 0x20, 0x00, 0x52, 0x6c, 0xa2, 0x41, 0xa2, 0xf1, 0xc0, 0x20, 0x00, 0xb2, 0x29, 0x80, 0x40, + 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x69, 0x80, 0xa1, 0x9f, 0xf1, 0xc0, 0x20, 0x00, 0x82, 0x29, + 0x9c, 0xa0, 0x88, 0x10, 0xc0, 0x20, 0x00, 0x82, 0x69, 0x9c, 0x71, 0x49, 0xea, 0xc0, 0x20, 0x00, + 0x68, 0x00, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x69, 0x00, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0x87, + 0x17, 0xe5, 0x08, 0xc0, 0x20, 0x00, 0x72, 0x2c, 0x87, 0x37, 0x07, 0xf6, 0x82, 0x02, 0x59, 0x66, + 0x18, 0x39, 0x32, 0x02, 0x55, 0x42, 0x02, 0x57, 0x52, 0x02, 0x58, 0x80, 0x44, 0x11, 0x50, 0x44, + 0x20, 0x52, 0x02, 0x56, 0x80, 0x33, 0x01, 0x00, 0x55, 0x11, 0x50, 0x33, 0x20, 0x40, 0x33, 0x20, + 0x8c, 0xf3, 0x21, 0xa5, 0xff, 0xc0, 0x20, 0x00, 0x48, 0x03, 0x01, 0x9d, 0xe2, 0xc0, 0x00, 0x00, + 0x06, 0x02, 0x00, 0x21, 0xa2, 0xff, 0x01, 0x9a, 0xe2, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0x08, 0x01, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x12, 0xc1, 0xe0, 0xc9, + 0x21, 0xf9, 0x51, 0x59, 0x01, 0x39, 0x61, 0x09, 0x11, 0xe9, 0x41, 0xd9, 0x31, 0xed, 0x04, 0xdd, + 0x02, 0xc5, 0x99, 0xff, 0xcd, 0x02, 0xf8, 0x61, 0x2d, 0x0d, 0x05, 0xa6, 0xff, 0x41, 0xa5, 0xfc, + 0x31, 0xd3, 0xec, 0xf0, 0x00, 0x34, 0xf6, 0xbf, 0x22, 0x40, 0x60, 0x11, 0xc0, 0x20, 0x00, 0x58, + 0x0c, 0x30, 0x55, 0x10, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x59, 0x0c, 0xc0, 0x20, 0x00, 0x28, + 0x0c, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x29, 0x0c, 0xc6, 0x0d, 0x00, 0xa1, 0xeb, 0xff, 0xc0, + 0x20, 0x00, 0x98, 0x0c, 0x30, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x99, 0x0c, 0x91, + 0x31, 0xf5, 0xc0, 0x20, 0x00, 0x88, 0x0c, 0x40, 0x88, 0x10, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, + 0x89, 0x0c, 0x7c, 0x07, 0xc0, 0x20, 0x00, 0x68, 0x02, 0x70, 0x66, 0x10, 0x00, 0x66, 0x20, 0xc0, + 0x20, 0x00, 0x69, 0x02, 0x9c, 0x7e, 0xf8, 0x01, 0x0c, 0x0c, 0xf0, 0xf0, 0xf4, 0x2d, 0x0d, 0x05, + 0xde, 0xff, 0x2d, 0x0f, 0x01, 0x2e, 0xe6, 0xc0, 0x00, 0x00, 0x1b, 0xcc, 0xe7, 0x9c, 0xed, 0xc8, + 0x21, 0xd8, 0x31, 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, + 0x00, 0x60, 0x09, 0x00, 0x12, 0xc1, 0xe0, 0xc2, 0x61, 0x01, 0xd2, 0x61, 0x02, 0xe9, 0x31, 0xf9, + 0x41, 0x09, 0x01, 0x0c, 0xe0, 0x27, 0x30, 0x04, 0x8c, 0x12, 0x05, 0xdf, 0x01, 0x0c, 0x0c, 0xe1, + 0x1e, 0xe6, 0xc0, 0x20, 0x00, 0x0c, 0x72, 0x0c, 0x53, 0x51, 0xf5, 0xff, 0x42, 0x2e, 0x80, 0x05, + 0x87, 0xf9, 0x8c, 0x42, 0x22, 0xac, 0xe0, 0x46, 0x02, 0x00, 0x01, 0x91, 0xe3, 0x08, 0x00, 0x08, + 0xa0, 0xc0, 0x00, 0x00, 0xcc, 0x5c, 0xfd, 0x02, 0xdd, 0x02, 0x06, 0x05, 0x00, 0x27, 0xad, 0x04, + 0xdd, 0x02, 0x06, 0x03, 0x00, 0x0d, 0x0f, 0xf7, 0xa2, 0x01, 0x0d, 0x02, 0x00, 0xf0, 0x11, 0xf0, + 0xf0, 0x31, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x66, 0x5c, 0xb7, 0x00, 0x3d, 0x11, 0xe1, 0x70, 0xee, + 0xf0, 0x20, 0xf4, 0xe2, 0x0e, 0x50, 0x30, 0x22, 0x20, 0x66, 0x1e, 0x08, 0xf1, 0x74, 0xe2, 0xc0, + 0x20, 0x00, 0x22, 0x6f, 0xff, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, + 0xc1, 0x20, 0x0d, 0xf0, 0x32, 0xa0, 0x0e, 0x12, 0xc1, 0xe0, 0xd2, 0x61, 0x02, 0x02, 0x61, 0x00, + 0xf9, 0x41, 0xe9, 0x31, 0xc9, 0x11, 0x0c, 0x1e, 0xc1, 0xfc, 0xe5, 0x0c, 0xff, 0xe7, 0x33, 0x06, + 0x8c, 0x3e, 0x2d, 0x0e, 0x45, 0xd5, 0x01, 0x0c, 0x0d, 0xc0, 0x20, 0x00, 0x22, 0xa0, 0x07, 0x32, + 0xa0, 0x05, 0x42, 0x2c, 0x80, 0x51, 0xce, 0xff, 0x45, 0x7d, 0xf9, 0x20, 0x40, 0x74, 0x16, 0x54, + 0x00, 0x22, 0xac, 0xe0, 0x46, 0x02, 0x00, 0x01, 0x6a, 0xe3, 0x08, 0x00, 0x08, 0xa0, 0xc0, 0x00, + 0x00, 0x1b, 0xdd, 0xd0, 0xd0, 0x74, 0x66, 0x5d, 0xcf, 0x0c, 0xe3, 0x1b, 0xee, 0xe0, 0xe0, 0x74, + 0xf7, 0x9e, 0xb9, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, + 0x0d, 0xf0, 0x00, 0x00, 0x21, 0x52, 0xe2, 0xc0, 0x20, 0x00, 0x22, 0x22, 0xff, 0x0d, 0xf0, 0x00, + 0xb0, 0x82, 0xfe, 0x3f, 0x12, 0xc1, 0xd0, 0xf2, 0x61, 0x08, 0x02, 0x61, 0x04, 0xe9, 0x71, 0xc9, + 0x51, 0xd9, 0x61, 0xcd, 0x04, 0xdd, 0x02, 0xed, 0x03, 0x2d, 0x01, 0x31, 0xf9, 0xff, 0x1c, 0x04, + 0x05, 0x37, 0x04, 0xf6, 0x3c, 0x12, 0x2d, 0x0d, 0x3d, 0x0e, 0x0c, 0x34, 0xc0, 0x44, 0xc0, 0x85, + 0x56, 0x04, 0xed, 0x03, 0xdd, 0x02, 0x06, 0x04, 0x00, 0xd0, 0x2d, 0x20, 0xe0, 0x3e, 0x20, 0x42, + 0xcc, 0xfd, 0x45, 0x58, 0x04, 0x30, 0xe3, 0x20, 0xdd, 0x02, 0x3c, 0xfc, 0x0c, 0x1f, 0xf0, 0x2f, + 0x20, 0x32, 0xa0, 0x00, 0x4d, 0x0c, 0x05, 0x54, 0x04, 0x20, 0x2d, 0x10, 0x30, 0x3e, 0x10, 0x4d, + 0x0c, 0x45, 0x56, 0x04, 0x0c, 0x17, 0x30, 0x37, 0x93, 0x20, 0x27, 0x93, 0x30, 0x62, 0x20, 0xcc, + 0x66, 0x0b, 0xcc, 0xc0, 0xc0, 0x74, 0x66, 0x2c, 0xd4, 0xc2, 0xcc, 0xfd, 0x80, 0xcc, 0x01, 0xc0, + 0xc8, 0x31, 0xe6, 0x2c, 0x26, 0x08, 0x41, 0xe8, 0x71, 0xf8, 0x81, 0xb0, 0x4c, 0x11, 0xd0, 0x20, + 0x34, 0xc0, 0x3c, 0x11, 0xd8, 0x61, 0x1a, 0x22, 0xc8, 0x51, 0x22, 0x02, 0x00, 0x4a, 0x33, 0x3a, + 0x22, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0xd0, 0x2d, 0x20, 0xe0, + 0x3e, 0x20, 0x42, 0xcc, 0xff, 0x05, 0x51, 0x04, 0xdd, 0x02, 0xc6, 0xf1, 0xff, 0x00, 0x00, 0x00, + 0x04, 0x88, 0xfe, 0x3f, 0x2c, 0x88, 0xfe, 0x3f, 0x54, 0x88, 0xfe, 0x3f, 0x6c, 0x88, 0xfe, 0x3f, + 0xe4, 0xfb, 0x07, 0x00, 0x78, 0x88, 0xfe, 0x3f, 0xa0, 0x88, 0xfe, 0x3f, 0xc8, 0x88, 0xfe, 0x3f, + 0x52, 0xa0, 0xd0, 0x50, 0x11, 0xc0, 0xd2, 0x61, 0x1b, 0xe2, 0x61, 0x1c, 0x02, 0x61, 0x19, 0x22, + 0x61, 0x21, 0x32, 0x61, 0x11, 0x42, 0x61, 0x32, 0xc2, 0x61, 0x1a, 0xf2, 0x61, 0x1d, 0xc1, 0x0f, + 0xe2, 0xfd, 0x04, 0x16, 0x54, 0x06, 0x21, 0xee, 0xff, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xe0, 0xc0, + 0x20, 0x00, 0x42, 0x2c, 0xe1, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0xe2, 0xc0, 0x20, 0x00, 0x62, 0x2c, + 0xe3, 0x01, 0xc0, 0xe1, 0xc0, 0x00, 0x00, 0x21, 0xe7, 0xff, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xf3, + 0xc0, 0x20, 0x00, 0x42, 0x2c, 0xf4, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0xf5, 0xc0, 0x20, 0x00, 0x62, + 0x2c, 0xf6, 0x01, 0xb8, 0xe1, 0xc0, 0x00, 0x00, 0x21, 0xe0, 0xff, 0xc0, 0x20, 0x00, 0x32, 0x2c, + 0xf7, 0xc0, 0x20, 0x00, 0x42, 0x2c, 0xf8, 0x01, 0xb3, 0xe1, 0xc0, 0x00, 0x00, 0x21, 0xdb, 0xff, + 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xf9, 0x01, 0xaf, 0xe1, 0xc0, 0x00, 0x00, 0xd1, 0xd9, 0xff, 0x0c, + 0x0e, 0xc0, 0x20, 0x00, 0x42, 0x2c, 0xe3, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xe0, 0x5d, 0x0e, 0x4a, + 0x33, 0x10, 0x23, 0x11, 0x4d, 0x0d, 0x30, 0x31, 0x31, 0x85, 0x8a, 0x03, 0x39, 0xf1, 0x22, 0x61, + 0x26, 0xc0, 0x20, 0x00, 0x42, 0x2c, 0xe2, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xe1, 0x5d, 0x0e, 0x40, + 0x33, 0xc0, 0x10, 0x23, 0x11, 0x4d, 0x0d, 0x30, 0x31, 0x31, 0x85, 0x88, 0x03, 0x32, 0x61, 0x10, + 0x29, 0xe1, 0xc0, 0x20, 0x00, 0x42, 0x2c, 0xf6, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xf3, 0x5d, 0x0e, + 0x4a, 0x33, 0x10, 0x23, 0x11, 0x4d, 0x0d, 0x30, 0x31, 0x31, 0x85, 0x86, 0x03, 0x32, 0x61, 0x1e, + 0x22, 0x61, 0x31, 0xc0, 0x20, 0x00, 0x42, 0x2c, 0xf5, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xf4, 0x5d, + 0x0e, 0x40, 0x33, 0xc0, 0x10, 0x23, 0x11, 0x4d, 0x0d, 0x30, 0x31, 0x31, 0x45, 0x84, 0x03, 0x08, + 0xe1, 0x42, 0x21, 0x31, 0xa2, 0x21, 0x10, 0x58, 0xf1, 0x72, 0x21, 0x26, 0xbd, 0x05, 0x1b, 0x67, + 0x77, 0xb6, 0x01, 0x1b, 0xb5, 0x7d, 0x0a, 0x1b, 0x50, 0x07, 0xb5, 0x01, 0x1b, 0x7a, 0xa2, 0x21, + 0x1e, 0x1b, 0x04, 0x1b, 0x82, 0x82, 0x61, 0x12, 0x47, 0xb0, 0x01, 0x1b, 0xaa, 0x4d, 0x03, 0x27, + 0xb8, 0x01, 0x1b, 0x43, 0x22, 0x21, 0x12, 0x00, 0x41, 0x40, 0x50, 0x57, 0x81, 0x00, 0x3a, 0x81, + 0x60, 0x9b, 0x81, 0x92, 0x61, 0x23, 0x32, 0x61, 0x2e, 0x52, 0x61, 0x2c, 0x20, 0x24, 0x81, 0x70, + 0x01, 0x21, 0x02, 0x61, 0x2b, 0x22, 0x61, 0x1f, 0xb0, 0x51, 0x21, 0x52, 0x61, 0x22, 0x3d, 0x05, + 0xa0, 0xb1, 0x21, 0x2d, 0x09, 0x40, 0xa1, 0x21, 0xb2, 0x61, 0x2d, 0x4d, 0x09, 0xa2, 0x61, 0x20, + 0x85, 0x79, 0x03, 0x22, 0x61, 0x28, 0x32, 0x61, 0x27, 0x52, 0x21, 0x2b, 0x42, 0x21, 0x2c, 0x3d, + 0x05, 0x2d, 0x04, 0x85, 0x78, 0x03, 0x22, 0x61, 0x2a, 0x32, 0x61, 0x29, 0x52, 0x21, 0x2d, 0x42, + 0x21, 0x2e, 0x3d, 0x05, 0x2d, 0x04, 0x45, 0x77, 0x03, 0x22, 0x61, 0x2f, 0x32, 0x61, 0x30, 0x52, + 0x21, 0x20, 0x42, 0x21, 0x1f, 0x3d, 0x05, 0x2d, 0x04, 0x05, 0x76, 0x03, 0x72, 0x21, 0x2f, 0x62, + 0x21, 0x28, 0x02, 0x21, 0x29, 0xa2, 0x21, 0x27, 0xb2, 0x21, 0x30, 0x0a, 0xaa, 0x02, 0x21, 0x2a, + 0x3a, 0xbb, 0x0a, 0x06, 0x67, 0xb0, 0x01, 0x1b, 0xaa, 0x2a, 0x67, 0x77, 0xb6, 0x01, 0x1b, 0xbb, + 0xba, 0xaa, 0x6a, 0xb0, 0xb9, 0xc1, 0x07, 0xbb, 0x01, 0x1b, 0xaa, 0xa9, 0xd1, 0xac, 0xff, 0x52, + 0x21, 0x22, 0x42, 0x21, 0x23, 0x72, 0x21, 0x2b, 0x62, 0x21, 0x2c, 0x02, 0x21, 0x2e, 0x22, 0x21, + 0x2d, 0x88, 0xc1, 0x98, 0xd1, 0xa2, 0x21, 0x1f, 0xb2, 0x21, 0x20, 0xb9, 0x31, 0xa9, 0x21, 0x99, + 0x51, 0x89, 0x41, 0x29, 0x11, 0x09, 0x01, 0x21, 0x77, 0xff, 0x01, 0x4a, 0xe1, 0xc0, 0x00, 0x00, + 0xc0, 0x20, 0x00, 0x42, 0x2c, 0xe3, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xe0, 0x5d, 0x0e, 0x40, 0x33, + 0xc0, 0x10, 0x23, 0x11, 0x4d, 0x0d, 0x30, 0x31, 0x31, 0x85, 0x71, 0x03, 0x39, 0xf1, 0x22, 0x61, + 0x26, 0xc0, 0x20, 0x00, 0x42, 0x2c, 0xe2, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xe1, 0x5d, 0x0e, 0x4a, + 0x33, 0x10, 0x23, 0x11, 0x4d, 0x0d, 0x30, 0x31, 0x31, 0x85, 0x6f, 0x03, 0x32, 0x61, 0x10, 0x29, + 0xe1, 0xc0, 0x20, 0x00, 0x42, 0x2c, 0xf6, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xf3, 0x5d, 0x0e, 0x40, + 0x33, 0xc0, 0x10, 0x23, 0x11, 0x4d, 0x0d, 0x30, 0x31, 0x31, 0x85, 0x6d, 0x03, 0x32, 0x61, 0x1e, + 0x22, 0x61, 0x31, 0x5d, 0x0e, 0xc0, 0x20, 0x00, 0x42, 0x2c, 0xf5, 0xc0, 0x20, 0x00, 0x32, 0x2c, + 0xf4, 0x4a, 0x33, 0x10, 0x23, 0x11, 0x4d, 0x0d, 0x30, 0x31, 0x31, 0x85, 0x6b, 0x03, 0x02, 0x21, + 0x1e, 0x42, 0x21, 0x10, 0xd2, 0x21, 0x31, 0xa8, 0xe1, 0x58, 0xf1, 0x72, 0x21, 0x26, 0xbd, 0x05, + 0x1b, 0x67, 0x77, 0xb6, 0x01, 0x1b, 0xb5, 0x7d, 0x04, 0x1b, 0x5a, 0xa7, 0xb5, 0x01, 0x1b, 0x74, + 0xad, 0x00, 0xed, 0x03, 0x1b, 0x4d, 0xd7, 0xb4, 0x01, 0x1b, 0xa0, 0x0d, 0x04, 0x1b, 0xd2, 0x27, + 0xbd, 0x01, 0x1b, 0xe3, 0x00, 0x41, 0x40, 0xa0, 0x81, 0x21, 0x70, 0x91, 0x21, 0x92, 0x61, 0x2b, + 0x82, 0x61, 0x2d, 0x50, 0x27, 0x81, 0x00, 0x0a, 0x81, 0xd0, 0xde, 0x81, 0x60, 0x4b, 0x81, 0x42, + 0x61, 0x23, 0xe0, 0xe1, 0x21, 0x02, 0x61, 0x2e, 0x22, 0x61, 0x2c, 0xb0, 0x51, 0x21, 0x52, 0x61, + 0x22, 0x3d, 0x05, 0x2d, 0x04, 0x45, 0x61, 0x03, 0x22, 0x61, 0x28, 0x32, 0x61, 0x27, 0x52, 0x21, + 0x2b, 0x42, 0x21, 0x2c, 0x3d, 0x05, 0x2d, 0x04, 0x05, 0x60, 0x03, 0x22, 0x61, 0x2a, 0x32, 0x61, + 0x29, 0x52, 0x21, 0x2d, 0x42, 0x21, 0x2e, 0x3d, 0x05, 0x2d, 0x04, 0x05, 0x5f, 0x03, 0x5d, 0x0e, + 0x4d, 0x0d, 0x32, 0x61, 0x30, 0x22, 0x61, 0x2f, 0x3d, 0x0e, 0x2d, 0x0d, 0xc5, 0x5d, 0x03, 0xb2, + 0x21, 0x2f, 0x72, 0x21, 0x30, 0x68, 0xc1, 0x02, 0x21, 0x29, 0xa2, 0x21, 0x27, 0x42, 0x21, 0x28, + 0x0a, 0xaa, 0x02, 0x21, 0x2a, 0x58, 0xd1, 0x0a, 0x04, 0x47, 0xb0, 0x01, 0x1b, 0xaa, 0x3a, 0x77, + 0x2a, 0x4b, 0xb7, 0xb4, 0x01, 0x1b, 0x77, 0x7a, 0xba, 0x4a, 0xa0, 0x07, 0xba, 0x01, 0x1b, 0xbb, + 0x22, 0x21, 0x21, 0x5a, 0x3b, 0xb9, 0x72, 0xa9, 0x62, 0x6a, 0x2a, 0xa7, 0xb2, 0x01, 0x1b, 0x33, + 0x22, 0x61, 0x25, 0x32, 0x61, 0x24, 0xac, 0xaf, 0xe9, 0x31, 0xd9, 0x21, 0x52, 0x21, 0x22, 0x42, + 0x21, 0x23, 0x72, 0x21, 0x2b, 0x62, 0x21, 0x2c, 0x21, 0x17, 0xff, 0x82, 0x21, 0x25, 0x9d, 0x03, + 0xa2, 0x21, 0x2e, 0xb2, 0x21, 0x2d, 0xb9, 0x11, 0xa9, 0x01, 0x99, 0x51, 0x89, 0x41, 0x01, 0xe5, + 0xe0, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0xd2, 0x2c, 0xf7, 0xd0, 0xd3, 0x21, 0xd0, 0x7f, 0x31, + 0xc0, 0x20, 0x00, 0xa2, 0x2c, 0xf8, 0x1b, 0x6d, 0xa0, 0xa3, 0x21, 0xa0, 0x4f, 0x31, 0xd7, 0xb6, + 0x01, 0x1b, 0x77, 0x0d, 0x04, 0x1b, 0x5a, 0xa7, 0xb5, 0x01, 0x1b, 0x04, 0x00, 0xd1, 0x21, 0x00, + 0x41, 0x40, 0x50, 0xe0, 0x81, 0x60, 0x47, 0x81, 0x42, 0x61, 0x0b, 0x40, 0x24, 0x20, 0x70, 0x51, + 0x21, 0x59, 0xa1, 0x3d, 0x05, 0x45, 0x52, 0x03, 0x5d, 0x0d, 0x4d, 0x0e, 0x32, 0x61, 0x13, 0x22, + 0x61, 0x14, 0x3d, 0x0d, 0x2d, 0x0e, 0x45, 0x51, 0x03, 0x02, 0x21, 0x13, 0xd9, 0x91, 0x3a, 0x00, + 0x32, 0x21, 0x14, 0xe9, 0x81, 0x2a, 0xa3, 0x37, 0xba, 0x01, 0x1b, 0x00, 0xa0, 0xda, 0x20, 0x00, + 0xe0, 0x20, 0x16, 0x4f, 0x02, 0x21, 0xf4, 0xfe, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xf7, 0xc0, 0x20, + 0x00, 0x78, 0xa1, 0x58, 0x81, 0x68, 0x91, 0x42, 0x2c, 0xf8, 0xa9, 0x21, 0x09, 0x31, 0x69, 0x11, + 0x59, 0x01, 0x68, 0xb1, 0x01, 0xc0, 0xe0, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xf9, + 0x42, 0x21, 0x11, 0x2d, 0x03, 0x6b, 0x44, 0x30, 0x3f, 0x31, 0xc5, 0x05, 0x04, 0x0d, 0x02, 0x4d, + 0x03, 0xe0, 0x53, 0xc0, 0xd0, 0x72, 0xc0, 0x77, 0xb2, 0x01, 0x0b, 0x55, 0x32, 0x21, 0x24, 0x62, + 0x21, 0x25, 0x30, 0x35, 0xc0, 0x60, 0x67, 0xc0, 0x67, 0xb7, 0x01, 0x0b, 0x33, 0x0c, 0x07, 0x0c, + 0x05, 0xe6, 0x13, 0x07, 0xcc, 0x03, 0xcc, 0x26, 0x6d, 0x05, 0x3d, 0x07, 0x62, 0x61, 0x17, 0x32, + 0x61, 0x18, 0x42, 0x61, 0x16, 0x02, 0x61, 0x15, 0x9c, 0xff, 0x21, 0xd8, 0xfe, 0xc0, 0x20, 0x00, + 0x32, 0x2c, 0xf9, 0x52, 0x21, 0x16, 0x42, 0x21, 0x15, 0x72, 0x21, 0x18, 0x62, 0x21, 0x17, 0x01, + 0xa5, 0xe0, 0xc0, 0x00, 0x00, 0x02, 0x21, 0x15, 0x42, 0x21, 0x16, 0xc2, 0x21, 0x17, 0xf2, 0x21, + 0x18, 0x22, 0x21, 0x25, 0x82, 0x21, 0x21, 0x32, 0x21, 0x24, 0xe9, 0x58, 0xd9, 0x48, 0x39, 0x38, + 0x29, 0x28, 0x49, 0x18, 0x09, 0x08, 0x0c, 0x34, 0x85, 0xa4, 0xff, 0x3d, 0x0f, 0xdd, 0x02, 0x0c, + 0x34, 0x2d, 0x0c, 0x05, 0xa4, 0xff, 0x02, 0x21, 0x19, 0xc2, 0x21, 0x1a, 0xe2, 0x21, 0x1c, 0xf2, + 0x21, 0x1d, 0x20, 0x2d, 0xc0, 0x32, 0xa0, 0xd0, 0xd2, 0x21, 0x1b, 0x00, 0x22, 0x11, 0x20, 0x20, + 0x31, 0x3a, 0x11, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0xc0, 0x82, 0xfe, 0x3f, 0x08, 0x00, 0x24, 0x00, + 0x07, 0x00, 0x24, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x88, 0x13, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x32, + 0xa0, 0x00, 0x42, 0xa0, 0x12, 0x52, 0xa0, 0x07, 0x0c, 0x06, 0x12, 0xc1, 0xa0, 0xd9, 0xf1, 0xc9, + 0xe1, 0xc1, 0xd7, 0xe1, 0x09, 0xd1, 0x08, 0x0c, 0xe2, 0x61, 0x10, 0x02, 0x20, 0x25, 0xf2, 0x61, + 0x11, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x28, 0x29, 0xc1, 0xc0, 0x00, 0x00, 0x08, 0x0c, + 0x02, 0x20, 0x34, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0x0c, 0x72, 0x08, 0x0c, 0x0c, 0x13, 0x02, 0x20, + 0x2b, 0x0c, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x22, 0x08, 0x0c, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, + 0xa1, 0x04, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x03, 0x42, 0xa1, 0xf4, 0x08, 0x0c, 0x0c, 0xc5, + 0x02, 0x20, 0x3a, 0x6d, 0x01, 0xc0, 0x00, 0x00, 0x6c, 0xf3, 0xd1, 0xb4, 0xe0, 0xc0, 0x20, 0x00, + 0x22, 0x2d, 0xe4, 0x30, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x0c, 0x03, 0x0c, 0x94, 0x0c, 0x75, 0x0c, + 0x06, 0x0c, 0x07, 0x08, 0x0c, 0x22, 0x6d, 0xe4, 0x02, 0x20, 0x27, 0x22, 0xa0, 0x77, 0xc0, 0x00, + 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x24, 0x0c, 0x75, 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, + 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x04, 0x0c, 0x25, 0x08, + 0x0c, 0x0c, 0x26, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, + 0x1c, 0x84, 0x0c, 0x75, 0x08, 0x0c, 0x0c, 0x76, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, + 0x0c, 0x0d, 0x0c, 0x6f, 0x0c, 0x0e, 0x0c, 0x0a, 0xb1, 0x31, 0xec, 0xb2, 0x61, 0x12, 0xa2, 0x61, + 0x13, 0x61, 0xc1, 0xff, 0x52, 0x21, 0x13, 0x6a, 0x55, 0x52, 0x05, 0x00, 0x42, 0xa1, 0x00, 0x80, + 0x55, 0x01, 0x50, 0x58, 0x31, 0x50, 0x44, 0xc0, 0x40, 0x40, 0x74, 0x60, 0x44, 0x11, 0xc0, 0x20, + 0x00, 0x31, 0x8e, 0xe0, 0x51, 0x74, 0xe9, 0x62, 0x23, 0xee, 0x71, 0xb8, 0xff, 0x50, 0x66, 0x10, + 0x40, 0x66, 0x20, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x63, 0xee, 0xc0, 0x20, 0x00, 0x22, + 0x23, 0xef, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0x41, 0xb2, 0xff, 0x40, 0x22, 0x20, 0xc0, 0x20, + 0x00, 0x4d, 0x0e, 0x08, 0x0c, 0x22, 0x63, 0xef, 0x0c, 0x32, 0x02, 0x20, 0x2b, 0x0c, 0x13, 0xc0, + 0x00, 0x00, 0x0c, 0x32, 0x08, 0x0c, 0x0c, 0x23, 0x02, 0x20, 0x2b, 0x4d, 0x0f, 0xc0, 0x00, 0x00, + 0x2d, 0x0e, 0x3d, 0x0f, 0x42, 0x21, 0x12, 0xc5, 0x61, 0xf8, 0x08, 0x0c, 0x08, 0xf0, 0x0c, 0x12, + 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x10, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x0c, + 0x12, 0x08, 0xd0, 0x32, 0xa4, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x21, 0x70, 0xe0, 0x08, + 0x0c, 0x22, 0x22, 0xf9, 0x08, 0xc0, 0x22, 0x61, 0x14, 0xc0, 0x00, 0x00, 0x31, 0xa2, 0xe6, 0x02, + 0x21, 0x14, 0x1b, 0xdd, 0x37, 0x20, 0x08, 0x21, 0x97, 0xff, 0x07, 0xa2, 0x36, 0x37, 0xa0, 0x1f, + 0x66, 0x6f, 0x04, 0x1c, 0xef, 0x86, 0x08, 0x00, 0x0c, 0x6f, 0xcc, 0x3e, 0x4c, 0x0e, 0xc6, 0x02, + 0x00, 0x42, 0xa0, 0x60, 0x52, 0xce, 0xc0, 0xe0, 0xe0, 0xf4, 0x50, 0xe4, 0x83, 0x86, 0x02, 0x00, + 0x62, 0x21, 0x13, 0x1b, 0x76, 0x70, 0x60, 0x74, 0x62, 0x61, 0x13, 0xd0, 0xd0, 0x74, 0x82, 0xcd, + 0xfb, 0x56, 0xc8, 0xf0, 0x0c, 0x0e, 0x0c, 0x0d, 0x08, 0x0c, 0x0c, 0x12, 0x08, 0xd0, 0x31, 0x0b, + 0xf7, 0xc0, 0x00, 0x00, 0x22, 0xc1, 0x10, 0x0c, 0xe3, 0x0c, 0x04, 0x45, 0x8f, 0xff, 0x08, 0x0c, + 0x08, 0xc0, 0xfd, 0x02, 0xc0, 0x00, 0x00, 0x1b, 0xdd, 0xd0, 0xd0, 0x74, 0xe7, 0xaf, 0x01, 0xfd, + 0x0e, 0x00, 0xef, 0x11, 0xe0, 0xe0, 0x31, 0x66, 0x4d, 0xcd, 0x32, 0xa0, 0x23, 0x41, 0x7a, 0xff, + 0x52, 0xa0, 0x07, 0x22, 0xce, 0x08, 0x20, 0x24, 0x21, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x45, + 0xf1, 0xf8, 0xd1, 0x46, 0xe0, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x24, 0x0c, 0x75, 0x0c, 0x06, + 0x08, 0x0c, 0x78, 0xc1, 0x02, 0x20, 0x27, 0x70, 0x70, 0x74, 0xc0, 0x00, 0x00, 0x1c, 0x04, 0xc0, + 0x20, 0x00, 0x22, 0x2d, 0xe4, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x0c, 0x03, 0x0c, 0x25, 0x0c, + 0x26, 0x0c, 0x07, 0x08, 0x0c, 0x22, 0x6d, 0xe4, 0x02, 0x20, 0x27, 0x22, 0xa0, 0x77, 0xc0, 0x00, + 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x84, 0x0c, 0x75, 0x08, 0x0c, 0x0c, 0x76, 0x02, 0x20, + 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x1b, 0x0c, 0x02, 0xc0, 0x00, 0x00, + 0x08, 0x0c, 0x02, 0x20, 0x10, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x08, 0xc0, 0xc0, 0x00, + 0x00, 0x08, 0x0c, 0x02, 0x20, 0x32, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x31, 0xc0, 0x00, + 0x00, 0x08, 0x0c, 0x02, 0x20, 0x2f, 0xc0, 0x00, 0x00, 0xc8, 0xe1, 0xd8, 0xf1, 0xe2, 0x21, 0x10, + 0xf2, 0x21, 0x11, 0x08, 0xd1, 0x12, 0xc1, 0x60, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x13, 0x40, 0x12, + 0xc1, 0xf0, 0x49, 0x01, 0xc9, 0x21, 0x09, 0x11, 0xcd, 0x03, 0x01, 0x29, 0xe1, 0x0c, 0x13, 0x08, + 0x00, 0x00, 0x33, 0xa1, 0x08, 0xd0, 0x30, 0x30, 0xf4, 0xc0, 0x00, 0x00, 0x21, 0x18, 0xe0, 0x6b, + 0x5c, 0x0b, 0x6c, 0x0c, 0x14, 0x00, 0x16, 0x40, 0x00, 0x44, 0xa1, 0xc0, 0x20, 0x00, 0x38, 0x01, + 0x62, 0x22, 0xf7, 0x00, 0x05, 0x40, 0x4a, 0x66, 0x60, 0x60, 0xb1, 0x62, 0x53, 0x00, 0xc0, 0x20, + 0x00, 0x00, 0x05, 0x40, 0x22, 0x22, 0xf8, 0x01, 0x1a, 0xe1, 0x4a, 0x22, 0x08, 0x00, 0x20, 0x20, + 0xb1, 0x08, 0xc0, 0x22, 0x53, 0x01, 0xc0, 0x00, 0x00, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x24, 0x0c, 0x75, 0x0c, 0x06, 0x12, + 0xc1, 0xb0, 0xc9, 0x41, 0xd9, 0x51, 0xd1, 0x0e, 0xe1, 0x09, 0x31, 0x08, 0x0d, 0xe9, 0x61, 0x02, + 0x20, 0x25, 0xf9, 0x71, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x1c, 0x24, 0x0c, 0x75, 0x0c, 0x06, 0x0c, + 0x07, 0x08, 0x0d, 0xed, 0x02, 0x02, 0x20, 0x27, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x6c, 0xf3, + 0xc1, 0xf7, 0xdf, 0xc0, 0x20, 0x00, 0x22, 0x2c, 0xe4, 0x30, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x08, + 0x0d, 0xe2, 0x61, 0x13, 0x02, 0x20, 0x28, 0x22, 0x6c, 0xe4, 0xc0, 0x00, 0x00, 0x0c, 0x22, 0x08, + 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x0c, 0x04, 0xc0, 0x00, 0x00, 0x0c, 0x32, 0x08, 0x0d, 0x0c, + 0x13, 0x02, 0x20, 0x2b, 0x0c, 0x04, 0xc0, 0x00, 0x00, 0x0c, 0x32, 0x08, 0x0d, 0x0c, 0x23, 0x02, + 0x20, 0x2b, 0x0c, 0x64, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, 0x20, 0x10, 0x0c, 0x12, 0xc0, 0x00, + 0x00, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c, 0x0e, 0x22, 0xa2, 0x00, 0x0c, 0x15, 0x0c, 0x16, 0x0c, 0x17, + 0x0c, 0x18, 0x0c, 0x09, 0x0c, 0x0a, 0xa9, 0x21, 0x99, 0x11, 0x89, 0xc1, 0x79, 0xd1, 0x69, 0xe1, + 0x59, 0xf1, 0x22, 0x61, 0x12, 0x0c, 0x42, 0x08, 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x4d, 0x0c, + 0xc0, 0x00, 0x00, 0x0c, 0x42, 0x08, 0x0d, 0x0c, 0x23, 0x02, 0x20, 0x2b, 0x4d, 0x0c, 0xc0, 0x00, + 0x00, 0x0c, 0x52, 0x08, 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x4d, 0x0c, 0xc0, 0x00, 0x00, 0x0c, + 0x52, 0x08, 0x0d, 0x0c, 0x23, 0x02, 0x20, 0x2b, 0x4d, 0x0c, 0xc0, 0x00, 0x00, 0x0c, 0xa2, 0x01, + 0x5f, 0xe3, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x0c, 0x63, 0x4d, 0x01, 0x05, 0xea, 0xff, 0x08, 0x11, + 0x48, 0x21, 0x92, 0xaf, 0x00, 0xa2, 0xa0, 0xff, 0x78, 0xe1, 0x28, 0xf1, 0x62, 0x91, 0x00, 0x8c, + 0xc2, 0x67, 0xa9, 0x0a, 0x0b, 0x3c, 0x0c, 0x05, 0x59, 0xf1, 0x30, 0x30, 0xf4, 0x39, 0xb1, 0x28, + 0xd1, 0x52, 0x91, 0x01, 0x8c, 0xc7, 0x57, 0xa9, 0x0a, 0x0b, 0x8c, 0x0c, 0x0b, 0xb9, 0xe1, 0x80, + 0x80, 0xf4, 0x89, 0xa1, 0x88, 0xc1, 0x8c, 0x72, 0xa7, 0x96, 0x05, 0xc9, 0x91, 0x0c, 0x03, 0x39, + 0xd1, 0x8c, 0x78, 0xa7, 0x95, 0x05, 0xc9, 0x81, 0x0c, 0x0b, 0xb9, 0xc1, 0x16, 0x7c, 0x04, 0x82, + 0x21, 0x10, 0x80, 0x86, 0xc0, 0x00, 0x88, 0x11, 0x80, 0x80, 0x31, 0x7d, 0x08, 0xe7, 0xa8, 0x01, + 0x7d, 0x0e, 0xb2, 0x21, 0x11, 0x00, 0xe7, 0x11, 0xe0, 0xe0, 0x31, 0xb0, 0xb5, 0xc0, 0x87, 0xa0, + 0x01, 0x8d, 0x00, 0x00, 0x08, 0x11, 0x00, 0x00, 0x31, 0x00, 0x8b, 0x11, 0x80, 0x80, 0x31, 0x7d, + 0x08, 0xf7, 0xa8, 0x01, 0x7d, 0x0f, 0x00, 0xf7, 0x11, 0xf0, 0xf0, 0x31, 0x87, 0xa4, 0x01, 0x8d, + 0x04, 0x00, 0x48, 0x11, 0x40, 0x40, 0x31, 0x52, 0x61, 0x11, 0x62, 0x61, 0x10, 0x49, 0x21, 0x09, + 0x11, 0x72, 0x21, 0x12, 0x1b, 0xcc, 0xc0, 0xc0, 0xf4, 0x0b, 0x77, 0x72, 0x61, 0x12, 0x56, 0x37, + 0xf0, 0x08, 0x0d, 0x02, 0x20, 0x10, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0x42, 0x21, 0x13, 0x51, 0xff, + 0xf0, 0x01, 0x74, 0xe3, 0xe6, 0x6e, 0x04, 0x28, 0x11, 0xd6, 0x62, 0x00, 0x38, 0x05, 0x00, 0x33, + 0x20, 0x39, 0x05, 0x88, 0xb1, 0xe6, 0x6f, 0x04, 0x68, 0x21, 0xd6, 0x66, 0x00, 0x78, 0x05, 0x00, + 0x77, 0x20, 0x79, 0x05, 0x02, 0xa0, 0x6d, 0x87, 0xb0, 0x11, 0x98, 0xa1, 0xa8, 0x91, 0x97, 0xb0, + 0x0a, 0x02, 0xa1, 0x90, 0xa7, 0x30, 0x04, 0xb8, 0x81, 0xb7, 0xb0, 0x09, 0xe1, 0x83, 0xdf, 0xc8, + 0x05, 0xe0, 0xcc, 0x20, 0xc9, 0x05, 0xc1, 0x85, 0xdf, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0x75, + 0x0c, 0x06, 0x08, 0x0d, 0x40, 0x70, 0x74, 0x02, 0x20, 0x27, 0x1c, 0x24, 0xc0, 0x00, 0x00, 0x1c, + 0x03, 0xc0, 0x20, 0x00, 0x22, 0x2c, 0xe4, 0x30, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x08, 0x0d, 0x02, + 0x20, 0x2f, 0x22, 0x6c, 0xe4, 0xc0, 0x00, 0x00, 0xc8, 0x41, 0xd8, 0x51, 0xe8, 0x61, 0xf8, 0x71, + 0x08, 0x31, 0x12, 0xc1, 0x50, 0x0d, 0xf0, 0x00, 0xd0, 0x82, 0xfe, 0x3f, 0xe0, 0x82, 0xfe, 0x3f, + 0xf0, 0x82, 0xfe, 0x3f, 0x31, 0xfd, 0xff, 0x42, 0xa0, 0x0e, 0x22, 0xa0, 0xa0, 0x20, 0x11, 0xc0, + 0xd2, 0x61, 0x1e, 0xe2, 0x61, 0x1f, 0xf2, 0x61, 0x20, 0x22, 0xc1, 0x10, 0xc2, 0x61, 0x1d, 0x02, + 0x61, 0x1c, 0xc1, 0x77, 0xe0, 0xc5, 0x7f, 0x03, 0x02, 0x2c, 0x00, 0x02, 0x20, 0x28, 0xc0, 0x00, + 0x00, 0xd1, 0xe8, 0xee, 0x08, 0x0c, 0x22, 0x1d, 0x00, 0x02, 0x20, 0x34, 0x20, 0x20, 0x44, 0xc0, + 0x00, 0x00, 0x22, 0x1d, 0x00, 0x32, 0xc1, 0x20, 0x0c, 0x14, 0xc5, 0xce, 0xfb, 0x0c, 0x22, 0x08, + 0x0c, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x0c, 0x04, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x31, + 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x10, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x0c, 0xf7, 0x0c, + 0xea, 0x51, 0xe2, 0xff, 0x31, 0xe3, 0xff, 0x0c, 0x00, 0x0c, 0x08, 0x82, 0x61, 0x21, 0xf0, 0xd0, + 0x11, 0x30, 0x30, 0x90, 0x5a, 0x50, 0x02, 0x61, 0x22, 0x72, 0x61, 0x25, 0x32, 0x13, 0x00, 0x98, + 0x0c, 0x52, 0x05, 0x00, 0x92, 0x29, 0x15, 0xa7, 0x90, 0x09, 0x0c, 0x02, 0x4c, 0x04, 0xc0, 0x09, + 0x00, 0xc6, 0x02, 0x00, 0x50, 0x45, 0x20, 0x22, 0xa0, 0x00, 0x52, 0xa0, 0x06, 0xc0, 0x09, 0x00, + 0x21, 0xc6, 0xe1, 0x32, 0xc1, 0x50, 0x0c, 0xa4, 0x08, 0x0c, 0x0c, 0x05, 0x02, 0x20, 0x3b, 0x0c, + 0x06, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x4c, 0x03, 0x1c, 0x44, 0x0c, 0x05, 0x0c, 0x07, 0xe2, 0xd1, + 0xff, 0x0c, 0x06, 0x69, 0x01, 0x69, 0x11, 0x69, 0x21, 0x08, 0x0c, 0xe2, 0xce, 0x30, 0x02, 0x20, + 0x1a, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x0c, 0x0f, 0xea, 0x0d, 0x02, 0x61, 0x23, 0xd2, 0xa0, 0x80, + 0xf2, 0x61, 0x24, 0xf2, 0xaf, 0x80, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0x94, 0x0c, 0x75, 0x08, + 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x7d, 0x0d, 0xc0, 0x00, 0x00, 0x0c, 0x52, 0x01, 0xc3, 0xe2, + 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x0c, 0x12, 0x08, 0xd0, 0x32, 0xa4, 0x00, 0xc0, 0x00, 0x00, 0x22, + 0xc1, 0x60, 0x0c, 0xa3, 0xc5, 0x9b, 0xf8, 0x08, 0x0c, 0x08, 0xc0, 0xc0, 0x00, 0x00, 0x08, 0x0c, + 0x22, 0x21, 0x18, 0x08, 0xe0, 0x0c, 0x03, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x08, 0x0c, 0xed, 0x02, + 0x08, 0xe0, 0x22, 0x21, 0x19, 0xc0, 0x00, 0x00, 0x7c, 0x10, 0x42, 0x21, 0x23, 0x4b, 0x22, 0x4b, + 0x3e, 0x30, 0x33, 0x21, 0x20, 0x23, 0x21, 0x22, 0x54, 0x80, 0x00, 0x33, 0x11, 0x30, 0x30, 0x31, + 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x30, 0x22, 0xc0, 0x27, 0x20, 0x04, 0x1c, 0xe4, 0x47, 0xa3, + 0x1d, 0x52, 0xa0, 0x3c, 0x57, 0xa3, 0x29, 0xf0, 0x33, 0x11, 0x30, 0x3f, 0xc0, 0x32, 0xc3, 0x78, + 0x00, 0xf3, 0x11, 0xf0, 0xf0, 0x31, 0xa6, 0xef, 0x02, 0x06, 0x53, 0x00, 0x30, 0xd0, 0x74, 0x42, + 0x21, 0x24, 0x52, 0xc4, 0x01, 0x50, 0x40, 0x74, 0x42, 0x61, 0x24, 0x42, 0xc4, 0xf8, 0x56, 0x44, + 0xf5, 0xd0, 0x7d, 0x20, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0x94, 0x08, 0x0c, 0x0c, 0x75, 0x02, + 0x20, 0x27, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x0c, 0x52, 0x01, 0x98, 0xe2, 0xc0, 0x00, 0x00, 0x08, + 0x0c, 0x0c, 0x12, 0x08, 0xd0, 0x31, 0x1e, 0xe9, 0xc0, 0x00, 0x00, 0x22, 0xc1, 0x60, 0x0c, 0xc3, + 0x05, 0x91, 0xf8, 0x08, 0x0c, 0x08, 0xc0, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x22, 0x21, 0x19, 0x08, + 0xe0, 0x0c, 0x03, 0xc0, 0x00, 0x00, 0x32, 0x21, 0x23, 0x02, 0xcf, 0x50, 0x4b, 0xe2, 0xd2, 0xcf, + 0x51, 0x22, 0x21, 0x22, 0xe0, 0xe3, 0x21, 0x00, 0xd0, 0xb3, 0xd0, 0xd1, 0x21, 0xd0, 0x0e, 0xc0, + 0x02, 0x53, 0x80, 0xbc, 0x02, 0xf6, 0x42, 0x02, 0xc6, 0x25, 0x00, 0x42, 0xc1, 0x90, 0x22, 0x21, + 0x23, 0x32, 0x21, 0x22, 0x22, 0x92, 0x7f, 0x4a, 0x33, 0x32, 0x03, 0x7f, 0x20, 0x20, 0xc0, 0x30, + 0x22, 0xc0, 0x08, 0x0c, 0x80, 0x22, 0x01, 0x08, 0x00, 0x20, 0x28, 0x31, 0xc0, 0x00, 0x00, 0xa6, + 0x52, 0x70, 0x0c, 0x13, 0x32, 0x61, 0x21, 0x08, 0x0c, 0x08, 0xc0, 0xc0, 0x00, 0x00, 0x08, 0x0c, + 0x02, 0x20, 0x1b, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x0c, 0xea, 0x51, 0x6c, 0xff, 0x31, 0x6c, 0xff, + 0x72, 0x21, 0x25, 0x02, 0x21, 0x22, 0x0b, 0x77, 0x1b, 0x20, 0x20, 0x00, 0x74, 0xf0, 0xd0, 0x11, + 0x30, 0x30, 0x90, 0x5a, 0x50, 0x56, 0xd7, 0xe1, 0x08, 0x0c, 0x02, 0x20, 0x10, 0x0c, 0x02, 0xc0, + 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x32, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x31, 0xc0, + 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x2f, 0xc0, 0x00, 0x00, 0x22, 0x21, 0x21, 0xc2, 0x21, 0x1d, + 0xd2, 0x21, 0x1e, 0xe2, 0x21, 0x1f, 0xf2, 0x21, 0x20, 0x32, 0xa0, 0xa0, 0x02, 0x21, 0x1c, 0x3a, + 0x11, 0x0d, 0xf0, 0x22, 0x21, 0x22, 0xb6, 0x22, 0x8d, 0xd0, 0x2e, 0xc0, 0x52, 0xc1, 0x90, 0x32, + 0x21, 0x22, 0x08, 0x0c, 0x42, 0x21, 0x23, 0x08, 0x00, 0x42, 0x94, 0x7f, 0x5a, 0x33, 0x32, 0x03, + 0x7f, 0x40, 0x22, 0xc0, 0x30, 0x22, 0xc0, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0xc0, 0x00, 0x00, + 0xa6, 0x72, 0x02, 0xc6, 0xd6, 0xff, 0x46, 0xd7, 0xff, 0xd2, 0xa0, 0x7f, 0xf2, 0xa0, 0x7f, 0x86, + 0xaf, 0xff, 0x00, 0x00, 0x10, 0x83, 0xfe, 0x3f, 0x80, 0xf1, 0xfe, 0x3f, 0xa0, 0xf3, 0xfe, 0x3f, + 0x41, 0xfd, 0xff, 0x32, 0xa0, 0x00, 0x12, 0xc1, 0xd0, 0xd9, 0x71, 0x22, 0xc1, 0x10, 0x09, 0x51, + 0xe9, 0x81, 0xf9, 0x91, 0xc9, 0x61, 0xf1, 0x89, 0xe2, 0x0c, 0x0c, 0xe1, 0xf7, 0xff, 0x0c, 0x20, + 0x4a, 0x33, 0x4a, 0x00, 0x02, 0x00, 0x00, 0x32, 0x13, 0x00, 0x32, 0x52, 0x00, 0x02, 0x42, 0x02, + 0x7d, 0x0f, 0x0c, 0x04, 0x61, 0x85, 0xe2, 0x0c, 0x10, 0x22, 0xa0, 0x64, 0x31, 0xa1, 0xea, 0x51, + 0xef, 0xff, 0xc0, 0xdc, 0xa0, 0x1b, 0xdd, 0x52, 0x95, 0x00, 0x32, 0x03, 0x01, 0x29, 0x01, 0x09, + 0x11, 0x80, 0x2d, 0x01, 0x20, 0x28, 0x31, 0x45, 0xaa, 0x01, 0xc0, 0x2c, 0x11, 0xc0, 0x22, 0xc0, + 0x2a, 0x2e, 0x05, 0x55, 0x01, 0xd0, 0x20, 0x74, 0x85, 0xca, 0xff, 0x42, 0xc1, 0x10, 0x4a, 0x4c, + 0x22, 0x44, 0x00, 0x32, 0x01, 0x10, 0x52, 0x01, 0x11, 0x9c, 0x03, 0x8c, 0xe5, 0x62, 0x01, 0x12, + 0x8c, 0x96, 0x0c, 0x12, 0x0c, 0x23, 0x0c, 0x24, 0x0c, 0x55, 0x85, 0x84, 0xf8, 0x1b, 0xcc, 0xc0, + 0xc0, 0x74, 0x66, 0x3c, 0x9a, 0xc8, 0x61, 0xd8, 0x71, 0xe8, 0x81, 0xf8, 0x91, 0x08, 0x51, 0x12, + 0xc1, 0x30, 0x0d, 0xf0, 0xf6, 0x93, 0x03, 0x2c, 0x72, 0x0d, 0xf0, 0x0c, 0xc4, 0x37, 0x34, 0x03, + 0x2c, 0x42, 0x0d, 0xf0, 0x66, 0x22, 0x03, 0x2c, 0x12, 0x0d, 0xf0, 0x66, 0x32, 0x03, 0x1c, 0xe2, + 0x0d, 0xf0, 0x66, 0x42, 0x03, 0x1c, 0xb2, 0x0d, 0xf0, 0xf6, 0x72, 0x06, 0xb6, 0x52, 0x03, 0x1c, + 0x82, 0x0d, 0xf0, 0xf6, 0x92, 0x06, 0xb6, 0x72, 0x03, 0x1c, 0x52, 0x0d, 0xf0, 0x0c, 0xd3, 0x27, + 0x33, 0x06, 0xb6, 0x92, 0x03, 0x1c, 0x22, 0x0d, 0xf0, 0x1c, 0x66, 0x27, 0x36, 0x06, 0x27, 0xb3, + 0x03, 0x0c, 0xf2, 0x0d, 0xf0, 0x2c, 0x93, 0x27, 0x33, 0x06, 0x27, 0xb6, 0x03, 0x0c, 0xc2, 0x0d, + 0xf0, 0x5c, 0x86, 0x27, 0x36, 0x06, 0x27, 0xb3, 0x03, 0x0c, 0x92, 0x0d, 0xf0, 0x32, 0xa1, 0x0a, + 0x27, 0x33, 0x06, 0x27, 0xb6, 0x03, 0x0c, 0x62, 0x0d, 0xf0, 0x52, 0xa3, 0x20, 0x27, 0x35, 0x06, + 0x27, 0xb3, 0x03, 0x0c, 0x32, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x24, 0x10, + 0x00, 0x00, 0x00, 0xe0, 0x12, 0xc1, 0xa0, 0xf9, 0xf1, 0x39, 0xa1, 0x49, 0x81, 0x69, 0x91, 0xd9, + 0xd1, 0x09, 0xb1, 0xc9, 0xc1, 0xe9, 0xe1, 0xe1, 0x72, 0xdf, 0xcd, 0x05, 0x08, 0x0e, 0xdd, 0x02, + 0x08, 0xf0, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0xf1, 0xf5, 0xff, 0xd2, 0x61, 0x17, 0x01, 0x5f, 0xde, + 0x41, 0xf4, 0xff, 0x0c, 0x03, 0x0c, 0x15, 0x2d, 0x03, 0xc0, 0x20, 0x00, 0xb2, 0x20, 0xf1, 0x40, + 0xbb, 0x10, 0x48, 0xa1, 0x40, 0xbb, 0x20, 0xf0, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x61, 0x10, + 0x0c, 0x0f, 0x00, 0x1d, 0x40, 0x0c, 0x06, 0x0c, 0x07, 0x0c, 0x08, 0x0c, 0x09, 0xb2, 0x60, 0xf1, + 0x39, 0x1c, 0x39, 0x0c, 0x39, 0x3c, 0x39, 0x2c, 0x39, 0x5c, 0x39, 0x4c, 0x39, 0x7c, 0x39, 0x6c, + 0x92, 0x61, 0x11, 0x82, 0x61, 0x14, 0x72, 0x61, 0x12, 0x62, 0x61, 0x13, 0x00, 0x45, 0xa1, 0x42, + 0x61, 0x16, 0xe6, 0x14, 0x02, 0x06, 0x2b, 0x00, 0xf8, 0x81, 0x0c, 0x0d, 0x00, 0x1f, 0x40, 0x00, + 0x65, 0xa1, 0x60, 0x60, 0xf4, 0x62, 0x61, 0x15, 0x08, 0x0e, 0x0c, 0x12, 0x08, 0xd0, 0x32, 0x21, + 0x15, 0xc0, 0x00, 0x00, 0x3d, 0x0f, 0x2d, 0x01, 0x0c, 0x04, 0x45, 0x0a, 0xff, 0x48, 0x2c, 0x58, + 0x21, 0x38, 0x31, 0x08, 0x1c, 0x28, 0x0c, 0x3a, 0x00, 0x5a, 0x52, 0x27, 0xb5, 0x01, 0x1b, 0x00, + 0x38, 0x4c, 0x09, 0x1c, 0x59, 0x0c, 0x08, 0x3c, 0x28, 0x11, 0x58, 0x01, 0x2a, 0x00, 0x5a, 0x54, + 0x47, 0xb5, 0x01, 0x1b, 0x00, 0x09, 0x3c, 0x59, 0x2c, 0x08, 0x5c, 0x28, 0x51, 0x58, 0x41, 0x2a, + 0x00, 0x5a, 0x53, 0x37, 0xb5, 0x01, 0x1b, 0x00, 0x38, 0x6c, 0x09, 0x5c, 0x59, 0x4c, 0x08, 0x7c, + 0x28, 0x71, 0x58, 0x61, 0x2a, 0x00, 0x5a, 0x53, 0x37, 0xb5, 0x01, 0x1b, 0x00, 0x28, 0x0e, 0x09, + 0x7c, 0x08, 0xc2, 0x59, 0x6c, 0xc0, 0x00, 0x00, 0x32, 0x21, 0x16, 0x1b, 0xdd, 0xd0, 0xd0, 0x74, + 0xd0, 0x33, 0xc0, 0x56, 0x13, 0xf8, 0x38, 0x1c, 0x28, 0x0c, 0xf8, 0x4c, 0x08, 0x6c, 0x48, 0x7c, + 0x58, 0x5c, 0x68, 0x2c, 0x78, 0x3c, 0x72, 0x61, 0x10, 0x62, 0x61, 0x11, 0x52, 0x61, 0x14, 0x42, + 0x61, 0x12, 0x02, 0x61, 0x13, 0xd2, 0x21, 0x17, 0xd0, 0x4d, 0x20, 0xc5, 0x4f, 0x03, 0x22, 0x6c, + 0x00, 0x32, 0x6c, 0x01, 0x42, 0x21, 0x14, 0x32, 0x21, 0x10, 0x82, 0x21, 0x11, 0x40, 0x33, 0xc0, + 0xf0, 0x28, 0xc0, 0x27, 0xb8, 0x01, 0x0b, 0x33, 0xd0, 0x4d, 0x20, 0xc5, 0x4d, 0x03, 0x4d, 0x0d, + 0x29, 0x2c, 0x39, 0x3c, 0x2d, 0x0f, 0x32, 0x21, 0x14, 0xc5, 0x4c, 0x03, 0x4d, 0x0d, 0x39, 0x5c, + 0x29, 0x4c, 0x32, 0x21, 0x12, 0x22, 0x21, 0x13, 0xc5, 0x4b, 0x03, 0x39, 0x7c, 0x29, 0x6c, 0x0c, + 0x34, 0x05, 0xef, 0xfe, 0x58, 0x0c, 0x48, 0x7c, 0x38, 0x1c, 0xdd, 0x02, 0x28, 0x6c, 0x40, 0x33, + 0xc0, 0x20, 0x25, 0xc0, 0x27, 0xb5, 0x01, 0x0b, 0x33, 0xc8, 0x91, 0xf1, 0x04, 0xde, 0x0c, 0x34, + 0x05, 0xed, 0xfe, 0x20, 0x4d, 0xc0, 0x00, 0x44, 0x11, 0x40, 0x40, 0x31, 0x8b, 0x44, 0x40, 0x44, + 0x21, 0x42, 0x5c, 0x00, 0xc0, 0x20, 0x00, 0x31, 0x92, 0xff, 0x22, 0x2f, 0xf1, 0x30, 0x22, 0x10, + 0xc0, 0x20, 0x00, 0x08, 0x0e, 0x22, 0x6f, 0xf1, 0x08, 0xf0, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0xc8, + 0xc1, 0xd8, 0xd1, 0xe8, 0xe1, 0xf8, 0xf1, 0x08, 0xb1, 0x12, 0xc1, 0x60, 0x0d, 0xf0, 0x00, 0x00, + 0xff, 0xff, 0x1f, 0x00, 0xf4, 0x88, 0xfe, 0x3f, 0x6c, 0x89, 0xfe, 0x3f, 0xd3, 0x09, 0x00, 0x00, + 0x14, 0x89, 0xfe, 0x3f, 0x3c, 0x89, 0xfe, 0x3f, 0x4c, 0x89, 0xfe, 0x3f, 0x1c, 0x24, 0x0c, 0x75, + 0x0c, 0x06, 0x32, 0xa1, 0x10, 0x30, 0x11, 0xc0, 0xd2, 0x61, 0x35, 0xe2, 0x61, 0x36, 0xf2, 0x61, + 0x37, 0x0c, 0x03, 0xc2, 0x61, 0x34, 0xc1, 0xf2, 0xde, 0x02, 0x61, 0x33, 0x08, 0x0c, 0x22, 0x61, + 0x3d, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x6c, 0xf4, 0xed, 0x02, 0xd1, 0xdf, + 0xdd, 0x21, 0xd7, 0xe9, 0xc0, 0x20, 0x00, 0x32, 0x2d, 0xe4, 0x40, 0x33, 0x10, 0xc0, 0x20, 0x00, + 0x32, 0x6d, 0xe4, 0x0c, 0x04, 0x31, 0xb5, 0xe1, 0x22, 0x02, 0x01, 0x45, 0x4e, 0xfe, 0x22, 0xa0, + 0x77, 0x0c, 0x03, 0x1c, 0x24, 0x0c, 0x75, 0x0c, 0x06, 0x08, 0x0c, 0x0c, 0x07, 0x02, 0x20, 0x27, + 0xe2, 0x61, 0x41, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x04, 0x0c, 0x25, 0x08, + 0x0c, 0x0c, 0x26, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, + 0x1c, 0x84, 0x0c, 0x75, 0x08, 0x0c, 0x0c, 0x76, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, + 0x0c, 0x0f, 0x3c, 0x3d, 0xe0, 0x8d, 0x11, 0xc0, 0x20, 0x00, 0xe1, 0x41, 0xe0, 0x78, 0xde, 0x92, + 0xac, 0x00, 0x90, 0x77, 0x10, 0x80, 0x77, 0x20, 0x0c, 0x18, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, + 0x79, 0xde, 0x0c, 0x52, 0x01, 0x52, 0xe1, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x0c, 0x12, 0x08, 0xd0, + 0x32, 0xa4, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x08, 0x0c, 0xe1, 0xb8, 0xdd, 0x08, 0xc0, + 0xe2, 0x2e, 0xf9, 0xc0, 0x00, 0x00, 0x01, 0xc2, 0xff, 0x1b, 0xff, 0xe7, 0xa0, 0x0e, 0xe2, 0x61, + 0x30, 0x21, 0xeb, 0xde, 0xd2, 0x61, 0x2f, 0xe7, 0xa2, 0x1c, 0xe7, 0x20, 0x13, 0x3b, 0x3d, 0x30, + 0xd0, 0x74, 0xf0, 0xf0, 0x74, 0x66, 0x4f, 0x9b, 0xe2, 0x61, 0x30, 0xd2, 0x61, 0x2f, 0x46, 0x01, + 0x00, 0x32, 0xcd, 0xfd, 0xc6, 0xf9, 0xff, 0x0c, 0x0d, 0x0c, 0x0f, 0x0c, 0x0e, 0x0c, 0x0c, 0x0c, + 0x04, 0x0c, 0x05, 0x0c, 0x06, 0x62, 0x61, 0x40, 0x52, 0x61, 0x3e, 0x42, 0x61, 0x3f, 0x0c, 0x62, + 0x0c, 0x94, 0x52, 0xc1, 0x60, 0x32, 0xcd, 0x2f, 0x62, 0xc1, 0x7f, 0x1b, 0x66, 0x00, 0x33, 0x11, + 0x30, 0x30, 0x31, 0x05, 0xcd, 0xff, 0x0c, 0x93, 0x0c, 0x00, 0x62, 0x21, 0x18, 0xa2, 0x21, 0x19, + 0x42, 0xc1, 0x10, 0x40, 0x7d, 0xb0, 0xa9, 0x17, 0x69, 0x07, 0xe7, 0x3a, 0x07, 0xe7, 0x9a, 0x02, + 0x67, 0xbc, 0x01, 0x0c, 0x10, 0x9c, 0xa0, 0xed, 0x0a, 0xcd, 0x06, 0x00, 0xfd, 0x11, 0x02, 0x91, + 0x40, 0x22, 0x21, 0x1a, 0x52, 0x21, 0x1b, 0x52, 0x61, 0x3e, 0x22, 0x61, 0x3f, 0x02, 0x61, 0x40, + 0xf0, 0xf0, 0x31, 0x1b, 0xdd, 0xd0, 0xd0, 0x74, 0x37, 0x9d, 0xa2, 0x22, 0x21, 0x3f, 0x72, 0x21, + 0x3e, 0x0c, 0x00, 0x4d, 0x00, 0xe0, 0x77, 0xc0, 0xc0, 0x62, 0xc0, 0x67, 0xb2, 0x01, 0x0b, 0x77, + 0x3d, 0x07, 0x77, 0x20, 0x09, 0x07, 0x97, 0x02, 0x67, 0x34, 0x03, 0x6d, 0x04, 0x3d, 0x00, 0xdd, + 0x06, 0x2d, 0x0c, 0x32, 0x61, 0x3c, 0x0c, 0x34, 0x3d, 0x0e, 0x85, 0xcc, 0xfe, 0x32, 0x21, 0x3c, + 0x22, 0x61, 0x39, 0x0c, 0x34, 0x2d, 0x0d, 0xc5, 0xcb, 0xfe, 0x82, 0x21, 0x3d, 0x22, 0x61, 0x3a, + 0xac, 0x38, 0x6d, 0x0d, 0x72, 0x21, 0x3c, 0x5d, 0x0e, 0x92, 0x21, 0x39, 0x4d, 0x0c, 0x20, 0x99, + 0xc0, 0x21, 0x84, 0xff, 0x00, 0x99, 0x11, 0x90, 0x90, 0x31, 0x8b, 0x99, 0x90, 0x94, 0x21, 0x99, + 0x01, 0x01, 0x2c, 0xdd, 0xc0, 0x00, 0x00, 0xd1, 0x7e, 0xde, 0x08, 0x0d, 0x08, 0x00, 0x22, 0xcf, + 0xfc, 0xc0, 0x00, 0x00, 0x4c, 0xe0, 0x00, 0x0f, 0xd1, 0x02, 0x61, 0x28, 0x66, 0x42, 0x19, 0xa6, + 0x4f, 0x02, 0x46, 0xd7, 0x00, 0x02, 0xa1, 0x11, 0xd2, 0x21, 0x28, 0x0c, 0x0e, 0xd0, 0xd0, 0xc0, + 0x00, 0xdd, 0x11, 0xd0, 0xd0, 0x31, 0xc6, 0x0b, 0x00, 0x72, 0x21, 0x3a, 0x62, 0x21, 0x39, 0x22, + 0xa0, 0x1e, 0x70, 0x66, 0xc0, 0x00, 0x56, 0x11, 0x50, 0x50, 0x31, 0x32, 0xc5, 0x08, 0x30, 0x34, + 0x21, 0x37, 0x22, 0x02, 0x86, 0x49, 0x00, 0x82, 0xa1, 0x48, 0x00, 0x08, 0xc0, 0x00, 0xe3, 0x11, + 0x00, 0xd0, 0x11, 0xd0, 0xd0, 0x31, 0xe0, 0xe0, 0x31, 0xf2, 0x21, 0x3d, 0x8c, 0x9f, 0x21, 0x66, + 0xff, 0x3d, 0x0d, 0x01, 0x10, 0xdd, 0xc0, 0x00, 0x00, 0x22, 0x21, 0x30, 0x01, 0x61, 0xff, 0x27, + 0xa0, 0x02, 0x06, 0xb3, 0x00, 0x02, 0x21, 0x2f, 0x02, 0xc0, 0x14, 0x2c, 0xa3, 0x3c, 0x64, 0x1c, + 0x15, 0x00, 0xc0, 0x74, 0x2d, 0x0c, 0xc5, 0x32, 0xf8, 0x31, 0x5c, 0xff, 0xc2, 0x61, 0x31, 0x22, + 0xa3, 0xe8, 0xd0, 0x22, 0xd1, 0x05, 0x08, 0x03, 0x7c, 0x63, 0x0c, 0xa4, 0x0c, 0x85, 0xf2, 0xc2, + 0xfc, 0x80, 0xff, 0x01, 0xf0, 0xf8, 0x31, 0x2d, 0x0f, 0x85, 0x30, 0xf8, 0x2d, 0x0e, 0x1c, 0x13, + 0x41, 0x72, 0xfc, 0x0c, 0x95, 0xc5, 0x2f, 0xf8, 0x22, 0x21, 0x40, 0x32, 0xaf, 0x38, 0x6c, 0x24, + 0x0c, 0xa5, 0xc2, 0x21, 0x41, 0xc5, 0x2e, 0xf8, 0x7d, 0x0c, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x01, + 0x48, 0xde, 0x1c, 0x24, 0x08, 0x00, 0x0c, 0x75, 0x02, 0x20, 0x27, 0x0c, 0x06, 0xc0, 0x00, 0x00, + 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x04, 0xc1, 0x42, 0xde, 0x0c, 0x25, 0x08, 0x0c, 0x0c, 0x26, + 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x84, 0x0c, + 0x75, 0x08, 0x0c, 0x0c, 0x76, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x1c, 0x03, 0xc0, + 0x20, 0x00, 0xc1, 0x2a, 0xdd, 0x22, 0x2c, 0xe4, 0x30, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x6c, + 0xe4, 0x0c, 0xe2, 0x85, 0x60, 0x01, 0x41, 0x1e, 0xe9, 0x42, 0x04, 0x50, 0x1c, 0x00, 0x66, 0x14, + 0x1d, 0xf0, 0x60, 0x74, 0xe0, 0x50, 0xf4, 0x00, 0x66, 0x11, 0x60, 0x55, 0x20, 0x62, 0x21, 0x31, + 0x80, 0x66, 0x01, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x61, 0x1c, 0xdd, 0x52, 0x66, 0xff, 0xc2, + 0x21, 0x34, 0xe2, 0x21, 0x36, 0xf2, 0x21, 0x37, 0xd0, 0x20, 0xc0, 0x32, 0xa1, 0x10, 0x02, 0x21, + 0x33, 0xd2, 0x21, 0x35, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x3a, 0x11, 0x0d, 0xf0, 0x0c, 0x03, + 0x52, 0x61, 0x29, 0x02, 0x61, 0x28, 0xa2, 0xd1, 0xfe, 0xa2, 0xca, 0x18, 0xa0, 0xaf, 0xb0, 0x72, + 0x2a, 0x81, 0x42, 0x2a, 0x7c, 0xb2, 0x2a, 0x80, 0xb2, 0x61, 0x2b, 0xa2, 0x2a, 0x7d, 0x72, 0x61, + 0x2a, 0x77, 0x3a, 0x07, 0x77, 0x9a, 0x02, 0x47, 0xbb, 0x01, 0x0c, 0x13, 0xa2, 0x61, 0x26, 0x42, + 0x61, 0x25, 0x62, 0x61, 0x24, 0x82, 0x21, 0x28, 0x72, 0xa1, 0x38, 0x0c, 0x12, 0x7c, 0xf0, 0x10, + 0x4c, 0x40, 0xb2, 0xcf, 0x2f, 0x0c, 0x05, 0xc0, 0x9c, 0x11, 0x92, 0x61, 0x2d, 0x52, 0x61, 0x38, + 0x00, 0xbb, 0x11, 0xc0, 0xde, 0x81, 0xd2, 0x61, 0x2c, 0xb0, 0xb0, 0x31, 0x30, 0x02, 0x93, 0x02, + 0x61, 0x3b, 0xb2, 0x61, 0x2e, 0x80, 0x77, 0xc0, 0x72, 0x61, 0x27, 0xa2, 0x21, 0x3b, 0x42, 0x21, + 0x2b, 0x66, 0x1a, 0x08, 0x52, 0x21, 0x26, 0x42, 0x21, 0x25, 0x86, 0x00, 0x00, 0x52, 0x21, 0x2a, + 0x32, 0x21, 0x2c, 0x22, 0x21, 0x2d, 0xc5, 0x96, 0x02, 0xb2, 0x21, 0x3d, 0x20, 0xd0, 0xf4, 0xd2, + 0xcd, 0x01, 0xd0, 0xd1, 0xf4, 0xc2, 0xcd, 0x04, 0xc0, 0xc3, 0xf4, 0x16, 0xeb, 0x00, 0x3d, 0x0f, + 0x21, 0xfc, 0xfe, 0x4d, 0x0c, 0x5d, 0x0d, 0x01, 0xa3, 0xdc, 0xc0, 0x00, 0x00, 0x3d, 0x0d, 0x2d, + 0x0c, 0x05, 0x96, 0xff, 0xe2, 0xa1, 0x38, 0xc2, 0x21, 0x3b, 0xd2, 0x21, 0x28, 0xc0, 0xc2, 0xd1, + 0x00, 0x3c, 0x11, 0x30, 0x30, 0x31, 0xd0, 0xd3, 0xc0, 0xea, 0xdd, 0xe2, 0x21, 0x3d, 0x8c, 0x7e, + 0x21, 0xf1, 0xfe, 0x01, 0x98, 0xdc, 0xc0, 0x00, 0x00, 0x31, 0xb8, 0xe0, 0x21, 0xd5, 0xe8, 0xc0, + 0x40, 0x60, 0x00, 0x44, 0x11, 0x40, 0x40, 0x31, 0x22, 0x02, 0x01, 0x45, 0x0e, 0xfe, 0x0c, 0x62, + 0x32, 0x21, 0x2e, 0x0c, 0x94, 0x52, 0xc1, 0x60, 0x62, 0xc1, 0x7f, 0x1b, 0x66, 0x45, 0x9a, 0xff, + 0x0c, 0x0b, 0x72, 0x21, 0x1a, 0x32, 0x21, 0x1b, 0x0c, 0x05, 0x02, 0x21, 0x18, 0x42, 0x21, 0x19, + 0x42, 0x61, 0x23, 0x02, 0x61, 0x22, 0xad, 0x05, 0x40, 0x33, 0xc0, 0x00, 0x67, 0xc0, 0x67, 0xb7, + 0x01, 0x0b, 0x33, 0x7d, 0x03, 0xe6, 0x13, 0x07, 0xcc, 0x03, 0xcc, 0x26, 0x6d, 0x0b, 0x7d, 0x0a, + 0xcd, 0x07, 0xed, 0x06, 0x32, 0x21, 0x23, 0x22, 0x21, 0x22, 0x0c, 0x34, 0x45, 0x9d, 0xfe, 0xe2, + 0x61, 0x21, 0x3d, 0x0c, 0x22, 0x61, 0x32, 0x0c, 0x34, 0x2d, 0x0e, 0x85, 0x9c, 0xfe, 0xe2, 0x21, + 0x32, 0x62, 0x21, 0x3d, 0x20, 0xee, 0xc0, 0xe2, 0x61, 0x42, 0x00, 0xee, 0x11, 0xe0, 0xe0, 0x31, + 0x9c, 0x96, 0x7d, 0x0c, 0x52, 0x21, 0x23, 0x42, 0x21, 0x22, 0x62, 0x21, 0x21, 0x21, 0xca, 0xfe, + 0x8b, 0x0e, 0x00, 0x04, 0x21, 0x09, 0x01, 0x01, 0x6f, 0xdc, 0xc0, 0x00, 0x00, 0x22, 0x21, 0x42, + 0x32, 0x21, 0x29, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x37, 0xa2, 0x34, 0x32, 0x21, 0x38, 0x02, + 0x21, 0x38, 0x42, 0x21, 0x3b, 0x1b, 0x20, 0x40, 0x50, 0x60, 0x80, 0x55, 0x01, 0x20, 0x00, 0x74, + 0x02, 0x61, 0x38, 0x50, 0x48, 0x31, 0x42, 0x61, 0x3b, 0x66, 0x13, 0x0b, 0xe2, 0x21, 0x24, 0xd2, + 0x21, 0x27, 0x00, 0xee, 0x11, 0xe0, 0xe0, 0x31, 0x02, 0xc0, 0xfe, 0x56, 0xc0, 0xea, 0x46, 0x01, + 0x00, 0x32, 0x91, 0x40, 0x32, 0x61, 0x40, 0x02, 0xcd, 0x10, 0x8b, 0x3e, 0x30, 0x34, 0x21, 0x86, + 0x42, 0xff, 0x01, 0xab, 0xdd, 0x08, 0x00, 0x20, 0x28, 0x21, 0x08, 0xe0, 0x0c, 0x03, 0xc0, 0x00, + 0x00, 0x01, 0xa7, 0xdd, 0x0c, 0x03, 0x08, 0x00, 0xcd, 0x02, 0x08, 0xe0, 0x21, 0xb6, 0xe6, 0xc0, + 0x00, 0x00, 0x02, 0x21, 0x2f, 0x20, 0x2c, 0xc0, 0x8b, 0x22, 0x20, 0x24, 0x21, 0x20, 0x00, 0xc0, + 0xc6, 0x41, 0xff, 0x02, 0xa1, 0x5f, 0x86, 0x27, 0xff, 0x00, 0x00, 0x00, 0x0c, 0x68, 0xb2, 0xa0, + 0x70, 0x92, 0xa0, 0x60, 0x1c, 0xe7, 0xa2, 0x13, 0x00, 0xbc, 0x54, 0x26, 0x6a, 0x29, 0x42, 0x12, + 0x00, 0xcc, 0x84, 0x7d, 0x08, 0x4c, 0x06, 0x62, 0x52, 0x00, 0x86, 0x06, 0x00, 0x26, 0xd4, 0x04, + 0x97, 0x94, 0x09, 0x9d, 0x0b, 0x92, 0x52, 0x00, 0x7d, 0x08, 0x86, 0x02, 0x00, 0xb7, 0x94, 0x0f, + 0x72, 0xa0, 0x78, 0x72, 0x52, 0x00, 0x7d, 0x08, 0x72, 0x53, 0x00, 0x0d, 0xf0, 0x26, 0xd4, 0x25, + 0x0d, 0xf0, 0x77, 0x1a, 0x27, 0x42, 0x12, 0x00, 0x82, 0xa0, 0x78, 0x87, 0x94, 0x07, 0x8d, 0x07, + 0xb2, 0x52, 0x00, 0x86, 0x05, 0x00, 0xb7, 0x14, 0x04, 0x97, 0x94, 0xe0, 0x4c, 0x09, 0x8d, 0x07, + 0x92, 0x52, 0x00, 0x86, 0x01, 0x00, 0x8d, 0x07, 0x0c, 0x09, 0x92, 0x52, 0x00, 0x82, 0x53, 0x00, + 0x0d, 0xf0, 0x00, 0x00, 0x20, 0x83, 0xfe, 0x3f, 0x32, 0xa0, 0x00, 0x42, 0xa0, 0x12, 0x52, 0xa0, + 0x07, 0x0c, 0x06, 0x12, 0xc1, 0x90, 0xd2, 0x61, 0x15, 0xf2, 0x61, 0x17, 0xc2, 0x61, 0x14, 0xe2, + 0x61, 0x16, 0xe1, 0x77, 0xdd, 0x02, 0x61, 0x13, 0x08, 0x0e, 0xcd, 0x02, 0x02, 0x20, 0x25, 0x22, + 0xa0, 0x77, 0xc0, 0x00, 0x00, 0xdd, 0x02, 0x31, 0x5e, 0xe8, 0x4d, 0x0c, 0x22, 0x03, 0x01, 0x31, + 0x3f, 0xe0, 0xc5, 0xf0, 0xfd, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x24, 0x0c, 0x75, 0x0c, 0x06, + 0x08, 0x0e, 0x0c, 0x07, 0x02, 0x20, 0x27, 0xd2, 0x61, 0x12, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, + 0x0c, 0x03, 0x1c, 0x04, 0x0c, 0x25, 0x08, 0x0e, 0x0c, 0x26, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, + 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x84, 0x0c, 0x75, 0x08, 0x0e, 0x0c, 0x76, 0x02, + 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x6c, 0xf3, 0xc1, 0x50, 0xdc, 0xc0, 0x20, 0x00, 0x22, + 0x2c, 0xe4, 0x30, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x08, 0x0e, 0x02, 0x20, 0x28, 0x22, 0x6c, 0xe4, + 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x3c, 0x33, 0x0c, 0x04, 0x0c, 0x05, 0x0c, 0x06, 0x69, 0x21, 0x69, + 0x11, 0x69, 0x01, 0x08, 0x0e, 0x0c, 0x07, 0x02, 0x20, 0x1a, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x61, + 0xd1, 0xff, 0x0c, 0x57, 0x0c, 0x00, 0x21, 0xd9, 0xe7, 0x22, 0x61, 0x18, 0x02, 0x61, 0x10, 0x72, + 0x61, 0x11, 0x0c, 0x22, 0x0c, 0x13, 0x08, 0x0e, 0xc2, 0x21, 0x10, 0x02, 0x20, 0x2b, 0x60, 0x4c, + 0x90, 0x42, 0x14, 0x00, 0xf0, 0xcc, 0x11, 0xc0, 0x00, 0x00, 0x52, 0x21, 0x10, 0x1c, 0xe0, 0x22, + 0xc1, 0x20, 0x32, 0xc1, 0x10, 0x3a, 0xdc, 0x2a, 0xfc, 0x02, 0x5f, 0x00, 0xb6, 0x25, 0x02, 0x86, + 0x5d, 0x00, 0x62, 0xa0, 0x78, 0x62, 0x5d, 0x00, 0x0c, 0x0c, 0x0c, 0x32, 0x08, 0x0e, 0x0c, 0x13, + 0x02, 0x20, 0x2b, 0x42, 0x1d, 0x00, 0xc0, 0x00, 0x00, 0x0c, 0x32, 0x08, 0x0e, 0x0c, 0x23, 0x02, + 0x20, 0x2b, 0x42, 0x1f, 0x00, 0xc0, 0x00, 0x00, 0x22, 0x1d, 0x00, 0x32, 0x1f, 0x00, 0x42, 0x21, + 0x18, 0x05, 0x4d, 0xf7, 0x08, 0x0e, 0x0c, 0x12, 0x08, 0xd0, 0x32, 0xa4, 0x00, 0xc0, 0x00, 0x00, + 0xc0, 0x20, 0x00, 0x21, 0x22, 0xdc, 0x08, 0x0e, 0x22, 0x22, 0xf9, 0x08, 0xc0, 0x22, 0x61, 0x19, + 0xc0, 0x00, 0x00, 0x02, 0x21, 0x19, 0x21, 0x2a, 0xfe, 0x31, 0x55, 0xdd, 0x07, 0xa2, 0x02, 0x07, + 0xa3, 0x3b, 0x32, 0x1d, 0x00, 0x07, 0x22, 0x19, 0x42, 0xa0, 0x78, 0x47, 0x93, 0x07, 0x52, 0x1f, + 0x00, 0x1c, 0xe6, 0x67, 0x15, 0x27, 0x2d, 0x0d, 0x3d, 0x0f, 0x0c, 0x14, 0xc5, 0xe0, 0xff, 0x06, + 0x04, 0x00, 0xcc, 0x43, 0x72, 0x1f, 0x00, 0x26, 0x67, 0x13, 0x2d, 0x0d, 0x3d, 0x0f, 0x0c, 0x04, + 0x85, 0xdf, 0xff, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x26, 0x5c, 0x02, 0xc6, 0xda, 0xff, 0xf2, 0x21, + 0x10, 0x0c, 0x0d, 0x0c, 0x0c, 0x02, 0x2e, 0x00, 0x22, 0xa0, 0x01, 0x08, 0xd0, 0x32, 0xa2, 0x00, + 0xc0, 0x00, 0x00, 0x22, 0xc1, 0x30, 0x0c, 0x93, 0x85, 0xd2, 0xf7, 0x08, 0x0e, 0x08, 0xc0, 0xc0, + 0x00, 0x00, 0x28, 0xd1, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0xda, 0xd2, 0x66, 0xcc, 0xd6, 0x08, 0x0e, + 0x28, 0xc1, 0x08, 0xe0, 0x0c, 0x03, 0xc0, 0x00, 0x00, 0x2d, 0x0d, 0x08, 0x0e, 0xc2, 0x21, 0x11, + 0x08, 0xe0, 0x0c, 0x53, 0xc0, 0x00, 0x00, 0x61, 0x87, 0xff, 0x1b, 0xff, 0x0b, 0xcc, 0xc2, 0x61, + 0x11, 0xf0, 0xf0, 0x74, 0xf2, 0x61, 0x10, 0x56, 0x7c, 0xed, 0x08, 0x0e, 0x02, 0x20, 0x1b, 0x0c, + 0x02, 0xc0, 0x00, 0x00, 0x08, 0x0e, 0x02, 0x20, 0x2f, 0xc0, 0x00, 0x00, 0x72, 0x21, 0x12, 0x22, + 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x24, 0x08, 0x0e, 0x0c, 0x75, 0x02, 0x20, 0x27, 0x0c, 0x06, 0xc0, + 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x04, 0x0c, 0x25, 0x08, 0x0e, 0x0c, 0x26, 0x02, + 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0xc1, 0xe5, 0xdb, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, + 0x84, 0x0c, 0x75, 0x08, 0x0e, 0x0c, 0x76, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x1c, + 0x03, 0xc0, 0x20, 0x00, 0x22, 0x2c, 0xe4, 0x30, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x6c, 0xe4, + 0x0c, 0xe2, 0x85, 0x0d, 0x01, 0xc2, 0x21, 0x14, 0xd2, 0x21, 0x15, 0xe2, 0x21, 0x16, 0xf2, 0x21, + 0x17, 0x02, 0x21, 0x13, 0x12, 0xc1, 0x70, 0x0d, 0xf0, 0x42, 0xa0, 0x60, 0x42, 0x5d, 0x00, 0x46, + 0xa1, 0xff, 0x00, 0x00, 0x12, 0xc1, 0x90, 0x42, 0x61, 0x12, 0x02, 0x61, 0x0d, 0xf2, 0x61, 0x11, + 0xe2, 0x61, 0x10, 0xc2, 0x61, 0x0e, 0xd2, 0x61, 0x0f, 0x7d, 0x02, 0x5d, 0x03, 0xd1, 0x48, 0xde, + 0xc0, 0x20, 0x00, 0x81, 0x8c, 0xdf, 0xe8, 0xbd, 0xc0, 0x20, 0x00, 0x62, 0x2d, 0x42, 0x80, 0x66, + 0x20, 0xc0, 0x20, 0x00, 0x62, 0x6d, 0x42, 0x41, 0x88, 0xdf, 0xc0, 0x20, 0x00, 0x38, 0xbd, 0x40, + 0x33, 0x10, 0x4d, 0x05, 0xc0, 0x20, 0x00, 0x39, 0xbd, 0x21, 0xb9, 0xe7, 0x3d, 0x07, 0x22, 0x02, + 0x01, 0xc5, 0xc7, 0xfd, 0xc1, 0xcb, 0xdc, 0x08, 0x0c, 0x02, 0x20, 0x28, 0xe2, 0x61, 0x18, 0xc0, + 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x10, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x32, 0xa1, + 0xf4, 0x08, 0x0c, 0x0c, 0x04, 0x02, 0x20, 0x15, 0x0c, 0x65, 0xc0, 0x00, 0x00, 0x0c, 0x22, 0x08, + 0x0c, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa1, 0x84, 0xc0, 0x00, 0x00, 0x21, 0x2f, 0xde, 0x32, + 0xc1, 0x10, 0x0c, 0xa4, 0x08, 0x0c, 0x0c, 0x05, 0x02, 0x20, 0x3b, 0x0c, 0x06, 0xc0, 0x00, 0x00, + 0x0c, 0x22, 0x08, 0x0c, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa1, 0xf4, 0xc0, 0x00, 0x00, 0x0c, + 0x02, 0x05, 0x62, 0xf9, 0x0c, 0x22, 0x42, 0xaf, 0x9c, 0x52, 0xa0, 0x79, 0x62, 0xa0, 0x7b, 0x0c, + 0x07, 0x72, 0x61, 0x15, 0x62, 0x61, 0x14, 0x52, 0x61, 0x16, 0x49, 0xc1, 0x22, 0x61, 0x13, 0x1c, + 0x00, 0x0c, 0x0d, 0x0c, 0x08, 0x82, 0x61, 0x17, 0x92, 0x21, 0x15, 0x22, 0xcd, 0x70, 0xcc, 0xa9, + 0x20, 0xf0, 0x74, 0xe2, 0xa0, 0x7b, 0x02, 0x61, 0x19, 0x06, 0x02, 0x00, 0xf2, 0x21, 0x16, 0x20, + 0xe0, 0x74, 0x02, 0x61, 0x19, 0x22, 0xa0, 0x64, 0x32, 0xa0, 0x00, 0x02, 0x2c, 0x00, 0x42, 0xa0, + 0x04, 0x02, 0x20, 0x26, 0x5d, 0x0f, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x64, 0x0c, 0x03, 0x08, 0x0c, + 0x0c, 0x74, 0x02, 0x20, 0x26, 0x5d, 0x0e, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x4c, 0x03, 0x0c, 0x04, + 0x0c, 0x05, 0x0c, 0x06, 0x69, 0x01, 0x69, 0x11, 0x69, 0x21, 0x08, 0x0c, 0x0c, 0x07, 0x02, 0x20, + 0x1a, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x0c, 0x52, 0x01, 0x19, 0xdf, 0xc0, 0x00, 0x00, 0x08, 0x0c, + 0x0c, 0x12, 0x08, 0xd0, 0x32, 0xa4, 0x00, 0xc0, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x0c, 0xa3, 0x45, + 0xb1, 0xf7, 0x08, 0x0c, 0x08, 0xc0, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x28, 0x81, 0x08, 0xe0, 0x0c, + 0x03, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x28, 0x91, 0x08, 0xe0, 0x0c, 0x03, 0xc0, 0x00, 0x00, 0x08, + 0xc1, 0x4b, 0x22, 0x20, 0x23, 0x21, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x27, 0xa0, 0x0f, 0xe2, + 0x61, 0x14, 0xf2, 0x61, 0x16, 0x29, 0xc1, 0x0c, 0x03, 0x32, 0x61, 0x17, 0x06, 0x04, 0x00, 0x00, + 0x92, 0xc0, 0x72, 0x21, 0x17, 0x0c, 0x18, 0x70, 0x70, 0x74, 0x90, 0x78, 0x83, 0x72, 0x61, 0x17, + 0x08, 0x0c, 0x08, 0xc0, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x1b, 0x0c, 0x12, 0xc0, 0x00, + 0x00, 0x1b, 0xdd, 0x02, 0x21, 0x19, 0xd0, 0xd0, 0x74, 0x0b, 0x00, 0x56, 0x90, 0xf1, 0xe2, 0x21, + 0x15, 0x0c, 0x1f, 0x0c, 0x02, 0x62, 0x21, 0x15, 0x02, 0x21, 0x17, 0x1b, 0x76, 0x0b, 0x00, 0x00, + 0x2f, 0x83, 0x70, 0x60, 0x74, 0xdc, 0x3e, 0x32, 0x21, 0x16, 0x42, 0x21, 0x12, 0x30, 0x30, 0x34, + 0xf0, 0x33, 0x11, 0x30, 0x32, 0x20, 0x32, 0x44, 0x00, 0x46, 0x04, 0x00, 0x42, 0x21, 0x14, 0x52, + 0x21, 0x12, 0x40, 0x40, 0x34, 0xf0, 0x44, 0x11, 0x40, 0x42, 0x20, 0x42, 0x45, 0x01, 0x52, 0x21, + 0x13, 0x62, 0x61, 0x15, 0x0b, 0x55, 0x52, 0x61, 0x13, 0x56, 0x25, 0xec, 0x08, 0x0c, 0x02, 0x20, + 0x10, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0xd2, 0x21, 0x18, 0x02, 0x20, 0x2f, 0xe1, 0xc8, + 0xdd, 0xc0, 0x00, 0x00, 0x71, 0xfb, 0xde, 0xc0, 0x20, 0x00, 0x62, 0x2e, 0x42, 0x70, 0x66, 0x10, + 0xc0, 0x20, 0x00, 0x62, 0x6e, 0x42, 0xc0, 0x20, 0x00, 0x42, 0x2e, 0x58, 0x0c, 0x15, 0x50, 0x44, + 0x20, 0xc0, 0x20, 0x00, 0x42, 0x6e, 0x58, 0x7c, 0xe3, 0xc0, 0x20, 0x00, 0x22, 0x2e, 0x58, 0x30, + 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x6e, 0x58, 0xc0, 0x20, 0x00, 0xc8, 0xe1, 0xd9, 0xbe, 0xf2, + 0x21, 0x11, 0xd8, 0xf1, 0xe2, 0x21, 0x10, 0x08, 0xd1, 0x12, 0xc1, 0x70, 0x0d, 0xf0, 0x00, 0x00, + 0xe8, 0xf4, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xfd, 0xff, 0x08, 0x00, 0x80, 0x42, + 0x01, 0x08, 0x00, 0x40, 0x28, 0x31, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xf6, 0xff, 0x08, 0x00, 0x08, 0x60, 0xc0, 0x00, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xcd, + 0x03, 0x01, 0xef, 0xff, 0x80, 0x32, 0x01, 0x08, 0x00, 0x30, 0x28, 0x31, 0x08, 0x00, 0x3d, 0x0c, + 0xc0, 0x00, 0x00, 0x01, 0xeb, 0xff, 0x08, 0x00, 0x08, 0x60, 0x2d, 0x0c, 0xc0, 0x00, 0x00, 0xc8, + 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x0c, 0x03, 0x12, 0xc1, 0xf0, 0x5d, 0x02, 0x09, + 0x01, 0x01, 0xe3, 0xff, 0x0c, 0x12, 0x59, 0x00, 0xc5, 0xfb, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xdd, 0xff, 0x08, 0x00, 0x08, 0x10, + 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x01, 0xd7, 0xff, 0x08, 0x00, 0x80, 0x32, 0x01, 0x08, 0x20, 0x30, 0x28, 0x31, 0xc0, 0x00, + 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xd0, 0xff, + 0x08, 0x00, 0x08, 0x30, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xca, 0xff, 0x08, 0x00, 0x08, 0x40, 0xc0, 0x00, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xc4, 0xff, + 0x08, 0x00, 0x08, 0x50, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xbe, 0xff, 0x08, 0x00, 0x08, 0x60, 0xc0, 0x00, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xb8, 0xff, + 0x08, 0x00, 0x08, 0x70, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x21, 0x7e, 0xde, 0xc0, 0x20, 0x00, 0x22, 0x22, 0x80, 0x0d, 0xf0, 0x00, 0x0c, 0x23, 0x12, 0xc1, + 0xe0, 0xc9, 0x31, 0xd9, 0x41, 0xd1, 0xf2, 0xdb, 0x09, 0x21, 0x08, 0x0d, 0xcd, 0x02, 0x02, 0x20, + 0x2c, 0x0c, 0x32, 0xc0, 0x00, 0x00, 0x0c, 0x13, 0x08, 0x0d, 0x29, 0x01, 0x02, 0x20, 0x2c, 0x0c, + 0x22, 0xc0, 0x00, 0x00, 0x0c, 0x13, 0xc0, 0x49, 0x04, 0x08, 0x0d, 0xc0, 0x58, 0x04, 0xc0, 0x66, + 0x04, 0x29, 0x11, 0xc0, 0x77, 0x04, 0x0c, 0x32, 0xe0, 0x77, 0x11, 0xd0, 0x66, 0x11, 0xf0, 0x55, + 0x11, 0x02, 0x20, 0x2b, 0x50, 0x44, 0x20, 0x70, 0x66, 0x20, 0xc0, 0x53, 0x04, 0xc0, 0x74, 0x04, + 0xa0, 0x55, 0x11, 0xb0, 0x77, 0x11, 0x70, 0x55, 0x20, 0xc0, 0x75, 0x04, 0xc0, 0x77, 0x11, 0x70, + 0x55, 0x20, 0x60, 0x55, 0x20, 0x50, 0x44, 0x20, 0x40, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x32, + 0x0c, 0x23, 0x08, 0x0d, 0x48, 0x01, 0x52, 0xa1, 0xc7, 0x50, 0x44, 0x10, 0x02, 0x20, 0x2b, 0xc0, + 0x50, 0x24, 0xd0, 0x55, 0x11, 0x50, 0x44, 0x20, 0x40, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x22, + 0x0c, 0x13, 0x08, 0x0d, 0x48, 0x11, 0x52, 0xa1, 0x85, 0x50, 0x44, 0x10, 0x02, 0x20, 0x2b, 0xc0, + 0x5b, 0x34, 0xd0, 0x55, 0x11, 0x50, 0x44, 0x20, 0xc0, 0x5a, 0x04, 0xf0, 0x55, 0x11, 0x50, 0x44, + 0x20, 0x40, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0xc8, 0x31, 0xd8, 0x41, 0x08, 0x21, 0x12, 0xc1, 0x20, + 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xe0, 0xd9, 0x21, 0xe9, 0x31, 0x09, 0x01, 0xc9, 0x11, 0xf9, + 0x41, 0x4d, 0x00, 0xf1, 0x45, 0xde, 0xc1, 0xb1, 0xda, 0xc0, 0x20, 0x00, 0x22, 0x2c, 0xe5, 0x07, + 0xe2, 0x41, 0xc0, 0x20, 0x00, 0x52, 0x2f, 0x9c, 0x17, 0x65, 0x38, 0xd1, 0xb9, 0xdb, 0x08, 0x0d, + 0x02, 0x20, 0x1d, 0xc0, 0x00, 0x00, 0x0c, 0x52, 0x01, 0x3d, 0xde, 0xc0, 0x00, 0x00, 0xe2, 0xa1, + 0x84, 0x08, 0x0d, 0x0c, 0x22, 0x02, 0x20, 0x2c, 0x0c, 0x13, 0xc0, 0x00, 0x00, 0xe7, 0xc2, 0xf0, + 0x08, 0x0d, 0x0c, 0x32, 0x02, 0x20, 0x2c, 0x0c, 0x23, 0xc0, 0x00, 0x00, 0x0c, 0x63, 0x30, 0x22, + 0x10, 0x66, 0x62, 0xdc, 0x91, 0x60, 0xde, 0x81, 0x1a, 0xdd, 0xc0, 0x20, 0x00, 0x72, 0x28, 0x42, + 0x90, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x68, 0x42, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0xe5, 0x0c, + 0x16, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x6c, 0xe5, 0xc0, 0x20, 0x00, 0x42, 0x2f, 0x9c, + 0x01, 0x5a, 0xef, 0x17, 0x64, 0x11, 0xc0, 0x20, 0x00, 0xa2, 0x2c, 0xe8, 0xe7, 0xfa, 0x08, 0xc0, + 0x20, 0x00, 0xb2, 0x2c, 0xe8, 0x07, 0x0b, 0xf6, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, + 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x0c, 0x13, 0x42, 0xa0, 0x81, 0x12, 0xc1, 0xf0, + 0xc9, 0x11, 0xd9, 0x21, 0xd1, 0x93, 0xdb, 0x09, 0x01, 0x08, 0x0d, 0xcd, 0x02, 0x02, 0x20, 0x2b, + 0x0c, 0x22, 0xc0, 0x00, 0x00, 0x0c, 0x72, 0x08, 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0xc0, 0x45, + 0x41, 0xc0, 0x00, 0x00, 0xc0, 0x40, 0x44, 0x08, 0x0d, 0x0c, 0x02, 0x02, 0x20, 0x2b, 0x0c, 0x13, + 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x08, 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa0, 0x7f, 0xc0, + 0x00, 0x00, 0x0c, 0x62, 0x08, 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa0, 0x7f, 0xc0, 0x00, + 0x00, 0xc8, 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0xf0, 0x00, + 0xff, 0xff, 0x0f, 0xff, 0x12, 0xc1, 0xe0, 0x29, 0x11, 0x39, 0x21, 0x09, 0x41, 0x49, 0x31, 0x41, + 0xfb, 0xff, 0x01, 0x77, 0xdb, 0x31, 0x69, 0xda, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xf2, 0x40, 0x22, + 0x20, 0xc0, 0x20, 0x00, 0x08, 0x00, 0x02, 0x20, 0x37, 0x22, 0x63, 0xf2, 0xc0, 0x00, 0x00, 0x28, + 0x21, 0x38, 0x11, 0x48, 0x31, 0x5d, 0x01, 0xc5, 0x5b, 0x00, 0x01, 0x6d, 0xdb, 0x08, 0x00, 0x02, + 0x20, 0x38, 0x2d, 0x01, 0xc0, 0x00, 0x00, 0x01, 0x6a, 0xdb, 0x08, 0x00, 0x02, 0x20, 0x36, 0xc0, + 0x00, 0x00, 0xc5, 0x52, 0x00, 0x41, 0xea, 0xff, 0xc0, 0x20, 0x00, 0x31, 0x58, 0xda, 0x22, 0x23, + 0xf2, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xf2, 0x08, 0x41, 0x12, 0xc1, 0x20, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x32, 0xa0, 0x01, 0x42, 0xa0, 0x05, 0x0c, 0x75, 0x0c, 0x06, 0x12, 0xc1, + 0xe0, 0xd9, 0x21, 0xf9, 0x41, 0xc9, 0x11, 0xe9, 0x31, 0xe1, 0x59, 0xdb, 0x09, 0x01, 0x08, 0x0e, + 0xcd, 0x02, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x62, 0xc0, 0x00, 0x00, 0x0c, 0x0d, 0xfd, 0x02, 0x32, + 0xae, 0xac, 0x20, 0x22, 0x90, 0x30, 0x22, 0xb0, 0x32, 0xa0, 0xe3, 0xc5, 0x46, 0x02, 0x00, 0x52, + 0x11, 0x0c, 0xf4, 0x0d, 0x04, 0x50, 0x50, 0x31, 0x2d, 0x0d, 0x50, 0x25, 0xb3, 0xe6, 0xb2, 0x01, + 0x0d, 0x02, 0x32, 0xa0, 0xcf, 0xf0, 0x2f, 0x90, 0xf0, 0x22, 0xf0, 0x22, 0xc2, 0x1d, 0x00, 0xf0, + 0x11, 0xf0, 0xf0, 0x31, 0x05, 0x44, 0x02, 0x98, 0x0e, 0x00, 0x42, 0x11, 0x0c, 0xf3, 0x0d, 0x03, + 0x40, 0x40, 0x31, 0x92, 0x29, 0x27, 0x40, 0xd4, 0xb3, 0xe6, 0xbd, 0x01, 0x0d, 0x0d, 0x00, 0xd0, + 0x11, 0xd0, 0xd0, 0x31, 0xb6, 0x3c, 0x1c, 0x0c, 0x82, 0xa6, 0x8f, 0x01, 0x7c, 0x82, 0x0c, 0x03, + 0x0c, 0x44, 0x0c, 0x35, 0x0c, 0x06, 0x2a, 0x7f, 0x70, 0x70, 0x74, 0x22, 0xa0, 0x64, 0xc0, 0x09, + 0x00, 0x06, 0x04, 0x00, 0xf0, 0x70, 0x74, 0x22, 0xa0, 0x64, 0x0c, 0x03, 0x0c, 0x44, 0x0c, 0x35, + 0x0c, 0x06, 0xc0, 0x09, 0x00, 0x98, 0x0e, 0x0c, 0x80, 0x92, 0x29, 0x27, 0xb6, 0x2c, 0x1a, 0xa6, + 0x8d, 0x01, 0x7c, 0x80, 0x22, 0xa0, 0x64, 0x0c, 0x03, 0x0c, 0x74, 0x0c, 0x35, 0x0c, 0x06, 0x0a, + 0x7d, 0x70, 0x70, 0x74, 0xc0, 0x09, 0x00, 0x06, 0x04, 0x00, 0xd0, 0x70, 0x74, 0x22, 0xa0, 0x64, + 0x0c, 0x03, 0x0c, 0x74, 0x0c, 0x35, 0x0c, 0x06, 0xc0, 0x09, 0x00, 0x98, 0x0e, 0x92, 0x29, 0x27, + 0xac, 0x6c, 0x22, 0xa0, 0x61, 0x0c, 0x13, 0x0c, 0x54, 0x0c, 0x35, 0x0c, 0x26, 0x0c, 0x37, 0xc0, + 0x09, 0x00, 0x22, 0xa0, 0x61, 0x0c, 0x13, 0x0c, 0x54, 0x0c, 0x15, 0x08, 0x0e, 0x0c, 0x06, 0x02, + 0x20, 0x27, 0x0c, 0x37, 0xc0, 0x00, 0x00, 0x06, 0x09, 0x00, 0x22, 0xa0, 0x61, 0x0c, 0x13, 0x0c, + 0x54, 0x0c, 0x35, 0x0c, 0x26, 0x0c, 0x07, 0xc0, 0x09, 0x00, 0x22, 0xa0, 0x61, 0x0c, 0x13, 0x0c, + 0x54, 0x0c, 0x15, 0x08, 0x0e, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0xc8, + 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, + 0x22, 0xa0, 0x61, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x0a, 0xdb, 0x0c, 0x13, 0x08, 0x00, 0x0c, + 0x84, 0x02, 0x20, 0x26, 0x1c, 0x15, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x85, 0xe9, 0xff, 0x08, 0x01, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x72, 0xaf, 0xdf, + 0x21, 0x3a, 0xd9, 0xc0, 0x20, 0x00, 0x62, 0x22, 0xd4, 0x70, 0x66, 0x10, 0xc0, 0x20, 0x00, 0x62, + 0x62, 0xd4, 0x51, 0x24, 0xe0, 0xc0, 0x20, 0x00, 0x42, 0x22, 0xd7, 0x50, 0x44, 0x20, 0xc0, 0x20, + 0x00, 0x42, 0x62, 0xd7, 0x31, 0x08, 0xee, 0xc0, 0x20, 0x00, 0x02, 0x22, 0xd7, 0x30, 0x00, 0x10, + 0xc0, 0x20, 0x00, 0x02, 0x62, 0xd7, 0x22, 0xa0, 0xc8, 0x01, 0x78, 0xdd, 0xc0, 0x00, 0x00, 0x22, + 0xa0, 0x6c, 0x0c, 0x23, 0x0c, 0x04, 0x01, 0xee, 0xda, 0x0c, 0x65, 0x08, 0x00, 0x0c, 0x66, 0x02, + 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6c, 0x0c, 0x23, 0x0c, 0x04, 0x01, 0xe8, + 0xda, 0x0c, 0x65, 0x08, 0x00, 0x0c, 0x66, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x2c, + 0x04, 0xc0, 0x20, 0x00, 0x31, 0x1d, 0xd9, 0x22, 0x23, 0xd4, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, + 0x0c, 0x24, 0x0c, 0x75, 0x01, 0xdf, 0xda, 0x0c, 0x06, 0x08, 0x00, 0x22, 0x63, 0xd4, 0x22, 0xa0, + 0x6c, 0x02, 0x20, 0x25, 0x0c, 0x23, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x12, 0xc1, 0xd0, 0xd2, 0x61, 0x07, 0xd1, 0xd6, 0xda, 0x02, 0x61, 0x05, 0x02, 0x2d, 0x00, 0xc9, + 0x61, 0x02, 0x20, 0x28, 0xe9, 0x81, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x0c, 0x62, 0x02, 0x20, 0x2c, + 0x0c, 0x13, 0xc0, 0x00, 0x00, 0x0c, 0x23, 0x0c, 0x94, 0x0c, 0x25, 0x0c, 0x06, 0x08, 0x0d, 0xed, + 0x02, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x6b, 0xc0, 0x00, 0x00, 0x0c, 0x23, 0x0c, 0x04, 0x0c, 0x55, + 0x0c, 0x56, 0x08, 0x0d, 0x29, 0x41, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x6c, 0xc0, 0x00, 0x00, 0x0c, + 0x13, 0x08, 0x0d, 0xcd, 0x02, 0x0c, 0x24, 0x0c, 0x62, 0x40, 0x4e, 0x20, 0x02, 0x20, 0x2b, 0x40, + 0x40, 0xf4, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x94, 0x0c, 0x75, 0x0c, 0x76, + 0x08, 0x0d, 0x0c, 0x17, 0x02, 0x20, 0x27, 0xc9, 0x91, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6b, 0x0c, + 0x23, 0x0c, 0x94, 0x0c, 0x25, 0x08, 0x0d, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, + 0x00, 0x0c, 0x2c, 0x22, 0xa0, 0x6c, 0x0c, 0x23, 0x0c, 0x04, 0x0c, 0x55, 0x08, 0x0d, 0x0c, 0x56, + 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x91, 0xda, 0xda, 0x31, 0xe7, 0xd8, 0xc0, 0x20, + 0x00, 0x82, 0x23, 0xd7, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x63, 0xd7, 0x71, 0xb8, 0xed, + 0xc0, 0x20, 0x00, 0x62, 0x23, 0xd7, 0x70, 0x66, 0x10, 0xc0, 0x20, 0x00, 0x62, 0x63, 0xd7, 0x7c, + 0xd5, 0xc0, 0x20, 0x00, 0x42, 0x23, 0xd4, 0x50, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x63, 0xd4, + 0xc0, 0x20, 0x00, 0x22, 0x23, 0xd4, 0xc0, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xd4, 0x1c, + 0x92, 0x01, 0x22, 0xdd, 0xc0, 0x00, 0x00, 0x2d, 0x01, 0xc5, 0x84, 0xfb, 0x0c, 0x00, 0x0c, 0x0c, + 0x2d, 0x01, 0x1b, 0x40, 0x20, 0x30, 0x90, 0x32, 0x13, 0x00, 0x40, 0x00, 0x74, 0xca, 0xc3, 0xc0, + 0xc0, 0xf4, 0x66, 0x80, 0xec, 0xe0, 0x40, 0xf4, 0x08, 0x0d, 0x0c, 0x62, 0x02, 0x20, 0x2b, 0x0c, + 0x13, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x94, 0x0c, 0x75, 0x08, 0x0d, 0x0c, + 0x76, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0xe8, 0x91, 0x22, 0xa0, 0x6b, 0x0c, 0x23, + 0x0c, 0x94, 0x0c, 0x25, 0x0c, 0x06, 0x08, 0x0d, 0x78, 0x41, 0x02, 0x20, 0x27, 0x70, 0x70, 0x74, + 0xc0, 0x00, 0x00, 0xe0, 0x70, 0x74, 0x22, 0xa0, 0x6c, 0x0c, 0x23, 0x0c, 0x04, 0x08, 0x0d, 0x0c, + 0x55, 0x02, 0x20, 0x27, 0x0c, 0x56, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, 0x20, 0x2f, 0xc0, 0x00, + 0x00, 0x08, 0x51, 0xd8, 0x71, 0x60, 0x2c, 0x11, 0xe8, 0x81, 0xc8, 0x61, 0x22, 0xd2, 0x08, 0x20, + 0x2c, 0xf4, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x00, 0x33, 0x0d, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, + 0x21, 0x29, 0x01, 0x09, 0x11, 0x85, 0xe6, 0xff, 0x01, 0xfc, 0xff, 0x0c, 0x0c, 0x07, 0x32, 0x02, + 0x86, 0x0a, 0x00, 0xc1, 0x6f, 0xda, 0x08, 0x0c, 0x08, 0xe0, 0x0c, 0x33, 0xc0, 0x00, 0x00, 0x0c, + 0x33, 0x08, 0x0c, 0xcd, 0x02, 0x08, 0xe0, 0x21, 0xf4, 0xff, 0xc0, 0x00, 0x00, 0x20, 0xcc, 0xc0, + 0xf0, 0xcc, 0x11, 0x00, 0xcc, 0x11, 0xc0, 0xc0, 0x31, 0x2b, 0xcc, 0xc0, 0xc2, 0x21, 0x85, 0xd8, + 0xff, 0x0c, 0x00, 0x51, 0x31, 0xdd, 0x28, 0x01, 0x41, 0x4e, 0xe5, 0xca, 0xc2, 0x00, 0xcc, 0x11, + 0xc0, 0xc0, 0x31, 0x2d, 0x0c, 0x5a, 0x60, 0x1b, 0x70, 0x4a, 0x30, 0x32, 0x03, 0x24, 0x70, 0x00, + 0x74, 0x3a, 0x3c, 0x32, 0x46, 0x68, 0x66, 0x60, 0xeb, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xc9, 0x11, 0xd9, 0x21, 0xcd, 0x02, 0x0c, + 0x0d, 0x16, 0x1d, 0x04, 0x26, 0x1d, 0x20, 0x66, 0x2d, 0x56, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, + 0x24, 0x0c, 0x65, 0x01, 0x4f, 0xda, 0x0c, 0x46, 0x08, 0x00, 0xda, 0x7c, 0x02, 0x20, 0x27, 0x72, + 0x07, 0x00, 0xc0, 0x00, 0x00, 0x06, 0x0e, 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x24, 0x0c, + 0x35, 0x01, 0x47, 0xda, 0x0c, 0x06, 0x08, 0x00, 0xda, 0x7c, 0x02, 0x20, 0x27, 0x72, 0x07, 0x00, + 0xc0, 0x00, 0x00, 0x86, 0x06, 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x14, 0x0c, 0x35, 0x01, + 0x40, 0xda, 0x0c, 0x06, 0x08, 0x00, 0xda, 0x7c, 0x02, 0x20, 0x27, 0x72, 0x07, 0x00, 0xc0, 0x00, + 0x00, 0x1b, 0xdd, 0xd0, 0xd0, 0x74, 0x66, 0x3d, 0x97, 0xc8, 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x22, 0xa0, 0x62, 0x0c, 0x13, 0x0c, 0x04, 0x0c, 0x65, 0x12, 0xc1, 0xf0, + 0xc9, 0x11, 0xc1, 0x33, 0xda, 0x09, 0x01, 0x08, 0x0c, 0x0c, 0x66, 0x02, 0x20, 0x27, 0x0c, 0x17, + 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x62, 0x0c, 0x13, 0x0c, 0x04, 0x0c, 0x55, 0x08, 0x0c, 0x0c, 0x56, + 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x62, 0x0c, 0x13, 0x0c, 0x04, 0x0c, + 0x55, 0x08, 0x0c, 0x0c, 0x56, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x62, + 0x0c, 0x13, 0x0c, 0x04, 0x0c, 0x65, 0x08, 0x0c, 0x0c, 0x66, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, + 0x00, 0x00, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x84, 0x89, 0xfe, 0x3f, + 0x12, 0xc1, 0xe0, 0x09, 0x01, 0xd9, 0x21, 0xe9, 0x31, 0xc9, 0x11, 0xf9, 0x41, 0x0c, 0x0c, 0xf2, + 0xa0, 0x63, 0xe2, 0xa0, 0x64, 0xd1, 0x16, 0xda, 0x1c, 0x42, 0x01, 0x9c, 0xdc, 0xc0, 0x00, 0x00, + 0x22, 0xa0, 0x62, 0x0c, 0x13, 0x0c, 0x74, 0x08, 0x0d, 0x0c, 0x75, 0x02, 0x20, 0x25, 0x0c, 0x76, + 0xc0, 0x00, 0x00, 0xdc, 0x22, 0xf7, 0x9c, 0x08, 0x21, 0xf1, 0xff, 0x01, 0xba, 0xd8, 0xc0, 0x00, + 0x00, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0xe7, 0x9c, 0xce, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, + 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x20, 0x42, 0x00, 0x00, 0xc0, 0x41, + 0x00, 0x00, 0xd0, 0x41, 0x00, 0x00, 0x80, 0x43, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x80, 0x44, + 0x00, 0x00, 0x00, 0xc2, 0x12, 0xc1, 0xe0, 0xd9, 0x31, 0x09, 0x11, 0xc9, 0x21, 0xe9, 0x41, 0xcd, + 0x05, 0xe1, 0xf5, 0xff, 0x8c, 0xd3, 0x26, 0x13, 0x08, 0x66, 0x23, 0x08, 0xe1, 0xf4, 0xff, 0x86, + 0x00, 0x00, 0xe1, 0xf3, 0xff, 0xd1, 0xf3, 0xff, 0x60, 0x22, 0x11, 0x20, 0x24, 0x80, 0xe0, 0x22, + 0x11, 0x05, 0x08, 0x02, 0x51, 0xf1, 0xff, 0x0c, 0x04, 0x45, 0x24, 0x01, 0xc5, 0x3a, 0x01, 0x29, + 0x01, 0x31, 0xee, 0xff, 0x2d, 0x0e, 0x05, 0xc0, 0x00, 0x3d, 0x02, 0x28, 0x01, 0xc5, 0xd5, 0x00, + 0x31, 0xec, 0xff, 0x85, 0x99, 0x00, 0xed, 0x02, 0xc5, 0xe4, 0x00, 0x22, 0x4c, 0x00, 0x20, 0x20, + 0x74, 0x45, 0x01, 0x02, 0x3d, 0x02, 0x2d, 0x0e, 0x85, 0xa6, 0x00, 0x3d, 0x0d, 0x85, 0xbd, 0x00, + 0xed, 0x02, 0x45, 0xe3, 0x00, 0x22, 0x4c, 0x01, 0x20, 0x20, 0x74, 0xc5, 0xff, 0x01, 0x3d, 0x02, + 0x2d, 0x0e, 0x05, 0xa5, 0x00, 0x3d, 0x0d, 0x05, 0xbc, 0x00, 0xc5, 0xe1, 0x00, 0x08, 0x11, 0xd8, + 0x31, 0x22, 0x4c, 0x02, 0xe8, 0x41, 0xc8, 0x21, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x01, 0xa1, 0x10, 0x40, 0xb4, 0x09, 0x00, 0x00, 0x5f, 0xa1, 0x10, 0x40, 0x18, 0xa2, 0x10, 0x40, + 0x6c, 0x09, 0x00, 0x00, 0xa8, 0x09, 0x00, 0x00, 0xa3, 0x09, 0x00, 0x00, 0x9e, 0x09, 0x00, 0x00, + 0x99, 0x09, 0x00, 0x00, 0x94, 0x09, 0x00, 0x00, 0x8f, 0x09, 0x00, 0x00, 0x8a, 0x09, 0x00, 0x00, + 0x85, 0x09, 0x00, 0x00, 0x80, 0x09, 0x00, 0x00, 0x7b, 0x09, 0x00, 0x00, 0x76, 0x09, 0x00, 0x00, + 0x71, 0x09, 0x00, 0x00, 0x12, 0xc1, 0xd0, 0xc9, 0x41, 0x49, 0x81, 0x69, 0x21, 0x09, 0x31, 0xf9, + 0x71, 0xd9, 0x51, 0xe9, 0x61, 0xdd, 0x02, 0xed, 0x03, 0xfd, 0x04, 0xa6, 0x12, 0x0e, 0x0c, 0xd0, + 0x27, 0x20, 0x09, 0x0b, 0x22, 0x20, 0x20, 0x74, 0x29, 0x11, 0xc6, 0x00, 0x00, 0x0c, 0xd3, 0x39, + 0x11, 0x41, 0x3e, 0xfe, 0xc1, 0xbb, 0xd9, 0x31, 0xad, 0xd8, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xf2, + 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x37, 0x22, 0x63, 0xf2, 0xc0, 0x00, + 0x00, 0x0c, 0xe5, 0x57, 0xbd, 0x34, 0x71, 0xda, 0xff, 0xd0, 0x6d, 0x90, 0x7a, 0x66, 0xa0, 0x06, + 0x00, 0x86, 0x09, 0x00, 0x46, 0x5b, 0x00, 0x86, 0x6c, 0x00, 0x46, 0x6a, 0x00, 0x06, 0x68, 0x00, + 0xc6, 0x65, 0x00, 0x86, 0x63, 0x00, 0x46, 0x61, 0x00, 0x06, 0x5f, 0x00, 0xc6, 0x5c, 0x00, 0x86, + 0x5a, 0x00, 0x46, 0x58, 0x00, 0x06, 0x56, 0x00, 0xc6, 0x53, 0x00, 0xc1, 0xce, 0xff, 0x56, 0x7f, + 0x05, 0xf6, 0x2e, 0x54, 0x3c, 0xb0, 0x0b, 0x8e, 0x56, 0x98, 0x0b, 0x42, 0xaf, 0xb7, 0xb2, 0xaf, + 0x83, 0xa2, 0xa0, 0x76, 0x5c, 0xe3, 0x5c, 0xd9, 0x5c, 0xc6, 0x5c, 0xb8, 0x0c, 0xee, 0xe7, 0x3d, + 0x02, 0x86, 0x5f, 0x00, 0x21, 0xc5, 0xff, 0xd0, 0xfd, 0x90, 0x2a, 0xff, 0xa0, 0x0f, 0x00, 0x06, + 0x5c, 0x00, 0x06, 0x40, 0x00, 0x86, 0x5e, 0x00, 0x46, 0x89, 0x00, 0xc6, 0x85, 0x00, 0x06, 0x82, + 0x00, 0x06, 0x5f, 0x00, 0x86, 0x7e, 0x00, 0x46, 0x7a, 0x00, 0x46, 0x76, 0x00, 0xc6, 0x72, 0x00, + 0x86, 0x6e, 0x00, 0x06, 0x6b, 0x00, 0x86, 0x67, 0x00, 0x4d, 0x0f, 0x3d, 0x0e, 0xd8, 0x11, 0x2d, + 0x0c, 0x5d, 0x01, 0x05, 0xe3, 0xff, 0x32, 0x01, 0x02, 0x52, 0x01, 0x00, 0x48, 0x21, 0x62, 0x01, + 0x01, 0x40, 0x4d, 0xa0, 0x80, 0x66, 0x11, 0x00, 0x55, 0x11, 0x60, 0x55, 0x20, 0x50, 0x33, 0x20, + 0x39, 0x04, 0xd1, 0x83, 0xd9, 0x08, 0x0d, 0x02, 0x20, 0x38, 0x2d, 0x01, 0xc0, 0x00, 0x00, 0x08, + 0x0d, 0x02, 0x20, 0x36, 0xc0, 0x00, 0x00, 0x22, 0x01, 0x30, 0x8c, 0x12, 0x05, 0xd8, 0xff, 0x2d, + 0x0c, 0x51, 0xff, 0xfd, 0xc0, 0x20, 0x00, 0x41, 0x6d, 0xd8, 0x32, 0x24, 0xf2, 0x50, 0x33, 0x10, + 0xc0, 0x20, 0x00, 0x32, 0x64, 0xf2, 0xc8, 0x41, 0xd8, 0x51, 0xe8, 0x61, 0xf8, 0x71, 0x08, 0x31, + 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x3c, 0x04, 0x3c, 0x1a, 0x3c, 0x22, 0x32, 0xa0, 0x66, 0xb2, 0xaf, + 0x91, 0x62, 0xaf, 0xbb, 0x6c, 0x69, 0x1c, 0x18, 0x0c, 0xe7, 0x77, 0xbd, 0x34, 0xf1, 0x97, 0xff, + 0xd0, 0xed, 0x90, 0xfa, 0xee, 0xa0, 0x0e, 0x00, 0x86, 0x09, 0x00, 0x06, 0x0f, 0x00, 0xc6, 0x09, + 0x00, 0x06, 0x3a, 0x00, 0x46, 0x3a, 0x00, 0x86, 0x3d, 0x00, 0x46, 0x08, 0x00, 0x86, 0x24, 0x00, + 0xc6, 0x24, 0x00, 0xc6, 0x38, 0x00, 0x46, 0x24, 0x00, 0x86, 0x30, 0x00, 0xc6, 0x30, 0x00, 0x86, + 0x05, 0x00, 0x4d, 0x02, 0x82, 0xaf, 0xcc, 0xbd, 0x08, 0x6d, 0x08, 0x0d, 0x0b, 0xad, 0x04, 0x3d, + 0x06, 0x4d, 0x0a, 0x02, 0x41, 0x01, 0x06, 0x01, 0x00, 0x4d, 0x02, 0x32, 0x41, 0x01, 0x0d, 0x03, + 0x42, 0x41, 0x00, 0x06, 0x02, 0x00, 0x82, 0x41, 0x00, 0x22, 0xaf, 0xb1, 0x22, 0x41, 0x01, 0x02, + 0x41, 0x02, 0x06, 0xcf, 0xff, 0xc1, 0x7e, 0xff, 0x86, 0xac, 0xff, 0xc1, 0x7e, 0xff, 0x06, 0xab, + 0xff, 0xc1, 0x7d, 0xff, 0x86, 0xa9, 0xff, 0xc1, 0x7d, 0xff, 0x06, 0xa8, 0xff, 0xc1, 0x7c, 0xff, + 0x86, 0xa6, 0xff, 0xc1, 0x7c, 0xff, 0x06, 0xa5, 0xff, 0xc1, 0x7b, 0xff, 0x86, 0xa3, 0xff, 0xc1, + 0x7b, 0xff, 0x06, 0xa2, 0xff, 0xc1, 0x7a, 0xff, 0x86, 0xa0, 0xff, 0xc1, 0x7a, 0xff, 0x06, 0x9f, + 0xff, 0xc1, 0x79, 0xff, 0x86, 0x9d, 0xff, 0xc1, 0x79, 0xff, 0x06, 0x9c, 0xff, 0xc1, 0x78, 0xff, + 0x86, 0x9a, 0xff, 0x8d, 0x03, 0xbd, 0x08, 0x3d, 0x08, 0x9d, 0x0b, 0x4d, 0x0a, 0x92, 0x41, 0x01, + 0x86, 0xe2, 0xff, 0x0d, 0x0a, 0x22, 0xa0, 0x62, 0x5c, 0xf3, 0x32, 0x41, 0x00, 0x22, 0x41, 0x01, + 0xc6, 0xe2, 0xff, 0x82, 0x41, 0x00, 0x02, 0xaf, 0xdf, 0x7c, 0x24, 0x42, 0x41, 0x01, 0x46, 0xdf, + 0xff, 0x62, 0x41, 0x00, 0x02, 0xa0, 0x6f, 0x7c, 0x95, 0x52, 0x41, 0x01, 0xc6, 0xdb, 0xff, 0x6d, + 0x08, 0x0d, 0x06, 0x3d, 0x06, 0x4d, 0x02, 0x02, 0x41, 0x01, 0x06, 0xd4, 0xff, 0x3d, 0x06, 0x9d, + 0x03, 0x6d, 0x03, 0x0d, 0x09, 0xad, 0x04, 0x06, 0xcd, 0xff, 0x3d, 0x06, 0x9d, 0x03, 0x46, 0xea, + 0xff, 0x6d, 0x08, 0x0d, 0x06, 0x86, 0xc9, 0xff, 0x32, 0x41, 0x00, 0x22, 0xaf, 0xc4, 0x6c, 0xc0, + 0x06, 0xce, 0xff, 0x32, 0x41, 0x00, 0xb2, 0x41, 0x01, 0x4c, 0x80, 0x06, 0xcc, 0xff, 0x32, 0x41, + 0x00, 0x02, 0xaf, 0xa4, 0x4c, 0x16, 0x62, 0x41, 0x01, 0x86, 0xc8, 0xff, 0x0c, 0x00, 0x02, 0x41, + 0x01, 0x32, 0x41, 0x00, 0xc6, 0xc5, 0xff, 0x0d, 0x08, 0x3d, 0x09, 0x72, 0xaf, 0xbe, 0x72, 0x41, + 0x01, 0x06, 0xfb, 0xff, 0x92, 0x41, 0x00, 0x02, 0xa0, 0x7c, 0x02, 0x41, 0x01, 0x0d, 0x04, 0x06, + 0xbf, 0xff, 0x92, 0x41, 0x00, 0x1c, 0x34, 0xc6, 0xfb, 0xff, 0x62, 0x41, 0x00, 0x42, 0x41, 0x01, + 0x02, 0xaf, 0xcb, 0x06, 0xba, 0xff, 0x62, 0x41, 0x00, 0xa2, 0x41, 0x01, 0x2c, 0x70, 0x46, 0xb7, + 0xff, 0x0d, 0x0b, 0x62, 0x41, 0x00, 0x3c, 0x48, 0x82, 0x41, 0x01, 0x06, 0xb4, 0xff, 0x00, 0x00, + 0xde, 0xa3, 0x10, 0x40, 0x08, 0x52, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x81, 0xd3, 0xdb, 0x4d, + 0x05, 0x12, 0xc1, 0xe0, 0x09, 0x41, 0xc9, 0x51, 0x5d, 0x06, 0xcd, 0x02, 0x22, 0x48, 0x4e, 0x6d, + 0x07, 0x02, 0x01, 0x24, 0x72, 0x11, 0x10, 0x09, 0x01, 0x85, 0xcd, 0xff, 0x3d, 0x02, 0x0c, 0xe9, + 0x97, 0xbc, 0x34, 0xb1, 0xf3, 0xff, 0xc0, 0xac, 0x90, 0xba, 0xaa, 0xa0, 0x0a, 0x00, 0x86, 0x09, + 0x00, 0x06, 0x17, 0x00, 0x46, 0x28, 0x00, 0x06, 0x26, 0x00, 0xc6, 0x23, 0x00, 0x86, 0x21, 0x00, + 0x46, 0x1f, 0x00, 0x06, 0x1d, 0x00, 0xc6, 0x1a, 0x00, 0x86, 0x18, 0x00, 0x46, 0x16, 0x00, 0x06, + 0x14, 0x00, 0xc6, 0x11, 0x00, 0x86, 0x0f, 0x00, 0x02, 0xa0, 0x6a, 0x41, 0xe7, 0xff, 0x51, 0xe5, + 0xff, 0x21, 0x5b, 0xda, 0x50, 0x50, 0x80, 0xf0, 0x55, 0x01, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x45, + 0x00, 0x00, 0xc4, 0x50, 0x00, 0x20, 0x40, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x45, 0xc0, + 0x2c, 0x20, 0x05, 0xd1, 0xf7, 0x45, 0xff, 0xf7, 0xc8, 0x51, 0x08, 0x41, 0x12, 0xc1, 0x20, 0x0d, + 0xf0, 0x02, 0xa2, 0xe1, 0xc6, 0xf0, 0xff, 0x02, 0xa0, 0xd1, 0x46, 0xef, 0xff, 0x02, 0xa0, 0xfc, + 0xc6, 0xed, 0xff, 0x02, 0xa1, 0x27, 0x46, 0xec, 0xff, 0x02, 0xa1, 0x53, 0xc6, 0xea, 0xff, 0x02, + 0xa1, 0x7e, 0x46, 0xe9, 0xff, 0x02, 0xa1, 0xaa, 0xc6, 0xe7, 0xff, 0x02, 0xa1, 0xd6, 0x46, 0xe6, + 0xff, 0x02, 0xa2, 0x02, 0xc6, 0xe4, 0xff, 0x02, 0xa2, 0x2e, 0x46, 0xe3, 0xff, 0x02, 0xa2, 0x5a, + 0xc6, 0xe1, 0xff, 0x02, 0xa2, 0x87, 0x46, 0xe0, 0xff, 0x02, 0xa2, 0xb4, 0xc6, 0xde, 0xff, 0x00, + 0xa4, 0x89, 0xfe, 0x3f, 0x42, 0xc2, 0xff, 0x12, 0xc1, 0xe0, 0x02, 0x61, 0x04, 0xd2, 0x61, 0x06, + 0x00, 0x14, 0x40, 0xc9, 0x51, 0x7c, 0xf4, 0xcd, 0x02, 0xdd, 0x03, 0x21, 0x93, 0xdb, 0x0c, 0x13, + 0x00, 0x33, 0xa1, 0x40, 0x33, 0x30, 0x08, 0x02, 0x4d, 0x0d, 0x30, 0x00, 0x10, 0x09, 0x02, 0x3d, + 0x0c, 0x21, 0xf3, 0xff, 0x01, 0x6c, 0xd7, 0xc0, 0x00, 0x00, 0x5d, 0x0d, 0x61, 0x8b, 0xdb, 0x2d, + 0x0c, 0x0c, 0x04, 0x82, 0xa0, 0x64, 0x31, 0xa6, 0xe3, 0x0c, 0x17, 0x32, 0x03, 0x01, 0x79, 0x11, + 0x89, 0x01, 0x71, 0x82, 0xdb, 0x45, 0xec, 0xff, 0x2d, 0x0c, 0x85, 0xbd, 0xf7, 0xc8, 0x51, 0xd8, + 0x61, 0x08, 0x41, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0xe0, 0xf4, 0xfe, 0x3f, 0x41, 0xff, 0xff, 0x32, + 0xa0, 0x01, 0x12, 0xc1, 0xe0, 0xc2, 0x61, 0x06, 0x02, 0x61, 0x05, 0x01, 0x7b, 0xdb, 0xcd, 0x02, + 0x08, 0x00, 0x32, 0x44, 0x00, 0x57, 0x70, 0x07, 0x0c, 0x42, 0x45, 0x96, 0xfc, 0x46, 0x01, 0x00, + 0x85, 0xd7, 0xf6, 0x22, 0x61, 0x04, 0x61, 0x74, 0xdb, 0x71, 0x70, 0xdb, 0x42, 0xa0, 0x64, 0x0c, + 0x12, 0x51, 0xde, 0xf8, 0x31, 0x8f, 0xe3, 0x52, 0x95, 0x00, 0x32, 0x03, 0x01, 0x29, 0x11, 0x49, + 0x01, 0x2d, 0x0c, 0x0c, 0x04, 0x45, 0xe6, 0xff, 0x2d, 0x0c, 0x85, 0xb7, 0xf7, 0x61, 0x6a, 0xdb, + 0x68, 0x06, 0x57, 0x76, 0x09, 0x0c, 0x42, 0x0c, 0x03, 0x45, 0xa5, 0xfc, 0x46, 0x01, 0x00, 0x22, + 0x21, 0x04, 0x05, 0xcf, 0xf6, 0xc2, 0x21, 0x06, 0x02, 0x21, 0x05, 0x12, 0xc1, 0x20, 0x0d, 0xf0, + 0x12, 0xc1, 0xe0, 0x02, 0x61, 0x06, 0xc2, 0x61, 0x07, 0x82, 0xa4, 0x00, 0x71, 0xcb, 0xd6, 0x20, + 0xc2, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x27, 0xd0, 0x80, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x0c, 0x04, + 0x0c, 0x00, 0x22, 0xa0, 0x64, 0x31, 0x76, 0xe3, 0x62, 0x67, 0xd0, 0x51, 0xc4, 0xf8, 0x61, 0x56, + 0xdb, 0x71, 0x52, 0xdb, 0x52, 0x95, 0x00, 0x32, 0x03, 0x01, 0x29, 0x01, 0x09, 0x11, 0x2d, 0x0c, + 0x85, 0xdf, 0xff, 0x31, 0xdb, 0xdb, 0xc0, 0x2c, 0x90, 0x3a, 0x22, 0x85, 0x8a, 0xff, 0xc0, 0x20, + 0x74, 0x32, 0xc1, 0x10, 0xc5, 0x0c, 0xf7, 0xc8, 0x71, 0x08, 0x61, 0x12, 0xc1, 0x20, 0x0d, 0xf0, + 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x0c, 0x61, 0x1d, 0xdb, 0x12, + 0xc1, 0xf0, 0x09, 0x11, 0x29, 0x01, 0xc9, 0x21, 0xd9, 0x31, 0x51, 0x68, 0xd7, 0xd1, 0xab, 0xd6, + 0xc1, 0x74, 0xd8, 0xc0, 0x20, 0x00, 0x42, 0x25, 0xfa, 0x60, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, + 0x65, 0xfa, 0x31, 0x1a, 0xe6, 0xc0, 0x20, 0x00, 0x22, 0x2d, 0x44, 0x30, 0x22, 0x20, 0xc0, 0x20, + 0x00, 0x0c, 0x23, 0x0c, 0x04, 0x2c, 0x75, 0x08, 0x0c, 0x22, 0x6d, 0x44, 0x02, 0x20, 0x26, 0x22, + 0xa0, 0x6a, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x35, 0xc0, 0x00, 0x00, 0x21, 0x14, 0xe6, + 0x31, 0xea, 0xda, 0xc0, 0x20, 0x00, 0x02, 0x2d, 0x44, 0x20, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, + 0x6d, 0x44, 0xb1, 0xe3, 0xff, 0xa1, 0xe3, 0xff, 0xc0, 0x20, 0x00, 0x61, 0x50, 0xd7, 0x92, 0x26, + 0xe8, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x66, 0xe8, 0x81, 0x3a, 0xf1, + 0x71, 0x19, 0xe0, 0xc0, 0x20, 0x00, 0x52, 0x26, 0xe6, 0x80, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, + 0x20, 0x00, 0x52, 0x66, 0xe6, 0x7c, 0xd4, 0xc0, 0x20, 0x00, 0x22, 0x23, 0x9c, 0x40, 0x22, 0x10, + 0xc0, 0x20, 0x00, 0x22, 0x63, 0x9c, 0x0c, 0x22, 0x01, 0xd5, 0xda, 0xc0, 0x00, 0x00, 0x08, 0x0c, + 0x02, 0x20, 0x28, 0xc0, 0x00, 0x00, 0x0c, 0x22, 0x08, 0x0c, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, + 0xa0, 0x81, 0xc0, 0x00, 0x00, 0x31, 0xcc, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x2d, 0x44, 0x30, 0x22, + 0x20, 0xc0, 0x20, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x32, 0x22, 0x6d, 0x44, 0xc0, 0x00, 0x00, 0x22, + 0xa0, 0x6a, 0x0c, 0x23, 0x08, 0x0c, 0x0c, 0x04, 0x02, 0x20, 0x26, 0x2c, 0x45, 0xc0, 0x00, 0x00, + 0x08, 0x0c, 0x02, 0x20, 0x31, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x08, 0x0c, 0x0c, + 0x04, 0x02, 0x20, 0x26, 0x2c, 0x55, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x2f, 0xc0, 0x00, + 0x00, 0x42, 0xa9, 0xff, 0x31, 0x6d, 0xd6, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xd0, 0x40, 0x22, 0x10, + 0xc0, 0x20, 0x00, 0x0c, 0x04, 0x0c, 0x45, 0x0c, 0x06, 0x0c, 0x87, 0x08, 0x0c, 0x22, 0x63, 0xd0, + 0x22, 0xa0, 0x62, 0x02, 0x20, 0x27, 0x0c, 0x13, 0xc0, 0x00, 0x00, 0x01, 0xf7, 0xda, 0x58, 0x00, + 0xb7, 0xf5, 0x07, 0x28, 0x01, 0x45, 0xdd, 0xff, 0xc6, 0x02, 0x00, 0x22, 0x00, 0x4e, 0x80, 0x22, + 0x01, 0x20, 0x28, 0x31, 0x85, 0xe3, 0xff, 0x08, 0x0c, 0x02, 0x20, 0x23, 0xc0, 0x00, 0x00, 0x22, + 0xa0, 0x6b, 0x0c, 0x23, 0x08, 0x0c, 0x0c, 0x14, 0x02, 0x20, 0x26, 0x4c, 0x85, 0xc0, 0x00, 0x00, + 0x08, 0x0c, 0x02, 0x20, 0x22, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6c, 0x0c, 0x23, 0x0c, 0x04, 0x0c, + 0x05, 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6c, + 0x0c, 0x23, 0x0c, 0x04, 0x0c, 0x25, 0x08, 0x0c, 0x0c, 0x26, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, + 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x13, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, + 0xa4, 0x0c, 0x45, 0x08, 0x0c, 0x0c, 0x46, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, + 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0xa4, 0x0c, 0x55, 0x08, 0x0c, 0x0c, 0x56, 0x02, 0x20, 0x27, 0x0c, + 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0xa4, 0x0c, 0x45, 0x08, 0x0c, 0x0c, + 0x46, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0xa4, + 0x0c, 0x55, 0x08, 0x0c, 0x0c, 0x56, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x0c, 0x02, + 0xc8, 0x21, 0xd8, 0x31, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x1f, 0xfe, 0xff, + 0x61, 0xc2, 0xda, 0x1c, 0x8b, 0x92, 0x06, 0x78, 0x71, 0xe5, 0xd6, 0x80, 0x99, 0x01, 0x90, 0x98, + 0x31, 0x90, 0x94, 0xc0, 0xbc, 0x22, 0x0c, 0x02, 0x30, 0xa3, 0x11, 0x31, 0xf8, 0xff, 0x70, 0x62, + 0xa0, 0xc0, 0x20, 0x00, 0x82, 0x26, 0xc1, 0x30, 0x58, 0x10, 0x90, 0x88, 0xc0, 0x50, 0x5a, 0x20, + 0x80, 0x80, 0x74, 0x80, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0xc1, 0x1b, 0x22, 0x20, 0x20, + 0x74, 0xb7, 0x92, 0xd9, 0x91, 0xb1, 0xda, 0x42, 0x49, 0x78, 0x0d, 0xf0, 0x58, 0x87, 0xfe, 0x3f, + 0x12, 0xc1, 0xd0, 0xd9, 0x71, 0xe9, 0x81, 0xf9, 0x91, 0x29, 0x41, 0xc9, 0x61, 0x09, 0x51, 0x41, + 0x05, 0xdd, 0x0c, 0x70, 0xc1, 0x15, 0xd6, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xd7, 0x40, 0x33, 0x20, + 0xc0, 0x20, 0x00, 0x32, 0x6c, 0xd7, 0xc0, 0x20, 0x00, 0x22, 0x2c, 0xd4, 0x20, 0x28, 0x75, 0x27, + 0x00, 0x0b, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0xd4, 0x50, 0x58, 0x25, 0x56, 0x35, 0xff, 0x7c, 0xd8, + 0xc0, 0x20, 0x00, 0x72, 0x2c, 0xd4, 0x80, 0x77, 0x10, 0xc0, 0x20, 0x00, 0x72, 0x6c, 0xd4, 0x0c, + 0x22, 0xc0, 0x20, 0x00, 0x62, 0x2c, 0xd4, 0x20, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x6c, 0xd4, + 0x01, 0x4f, 0xda, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0xa2, 0x2c, 0xd4, 0x0c, 0x79, 0xa0, 0xa8, + 0x75, 0xa7, 0x09, 0x0b, 0xc0, 0x20, 0x00, 0xb2, 0x2c, 0xd4, 0xb0, 0xb8, 0x25, 0x56, 0x3b, 0xff, + 0xf8, 0x41, 0x0c, 0x0d, 0x5d, 0x01, 0x7c, 0xfe, 0xc0, 0x3d, 0xa0, 0x50, 0x0d, 0x90, 0xc0, 0x20, + 0x00, 0x32, 0x23, 0xe0, 0xe0, 0x33, 0x30, 0x30, 0x30, 0xa4, 0x32, 0x50, 0x00, 0x8c, 0x9f, 0x21, + 0xd7, 0xff, 0x01, 0x64, 0xd6, 0xc0, 0x00, 0x00, 0x5d, 0x01, 0xd2, 0xcd, 0x01, 0xd0, 0xd0, 0x74, + 0x66, 0x8d, 0xd4, 0x10, 0x21, 0x20, 0x05, 0xcb, 0xfa, 0x10, 0x01, 0x20, 0x0c, 0x0d, 0x0c, 0x0e, + 0x00, 0x3d, 0x90, 0x32, 0x13, 0x00, 0xea, 0xe3, 0xe0, 0xe0, 0xf4, 0x8c, 0x9f, 0x21, 0xcb, 0xff, + 0x01, 0x59, 0xd6, 0xc0, 0x00, 0x00, 0x0d, 0x01, 0x1b, 0xdd, 0xd0, 0xd0, 0x74, 0x66, 0x8d, 0xdf, + 0xc0, 0x20, 0x00, 0x02, 0x2c, 0xd4, 0x0c, 0x7f, 0x00, 0x08, 0x75, 0x07, 0x0f, 0x0b, 0xc0, 0x20, + 0x00, 0x22, 0x2c, 0xd4, 0x20, 0x28, 0x25, 0x56, 0x32, 0xff, 0x81, 0xb1, 0xea, 0xc0, 0x20, 0x00, + 0x72, 0x2c, 0xd7, 0x80, 0x77, 0x10, 0xc0, 0x20, 0x00, 0x72, 0x6c, 0xd7, 0x7c, 0xe6, 0xc0, 0x20, + 0x00, 0x52, 0x2c, 0xd8, 0x60, 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, 0x6c, 0xd8, 0x0c, 0x14, 0xc0, + 0x20, 0x00, 0x32, 0x2c, 0xd8, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x08, 0x51, 0xd8, 0x71, 0xf8, + 0x91, 0x32, 0x6c, 0xd8, 0x8b, 0x2e, 0xc8, 0x61, 0xe8, 0x81, 0x20, 0x24, 0xf4, 0x12, 0xc1, 0x30, + 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00, 0x00, 0x38, + 0x67, 0xc3, 0x04, 0x70, 0x72, 0x11, 0x8c, 0x07, 0x0d, 0xf0, 0x2d, 0x03, 0x0d, 0xf0, 0x00, 0x00, + 0x80, 0x76, 0x11, 0x70, 0x33, 0x30, 0xc6, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x61, 0xf6, 0xff, 0x30, + 0x72, 0x30, 0x96, 0xa7, 0xfe, 0x67, 0x42, 0xd7, 0x67, 0x43, 0xde, 0x20, 0x77, 0x85, 0x30, 0x87, + 0x85, 0x87, 0x37, 0x4c, 0x67, 0x03, 0x28, 0x60, 0x33, 0x20, 0x80, 0x33, 0x11, 0x30, 0x38, 0x41, + 0x80, 0xa7, 0xc0, 0xf6, 0xca, 0x29, 0x00, 0x0a, 0x40, 0x0c, 0x09, 0x90, 0x93, 0x81, 0x30, 0x30, + 0x91, 0x3a, 0x22, 0x20, 0xa7, 0x85, 0x77, 0x1a, 0x4a, 0x8d, 0x07, 0x46, 0x15, 0x00, 0x00, 0x00, + 0x70, 0x33, 0x11, 0x30, 0x39, 0x41, 0x67, 0x02, 0x04, 0x1b, 0x88, 0x46, 0xf4, 0xff, 0x3a, 0x22, + 0x0d, 0xf0, 0x00, 0x00, 0x70, 0x22, 0x11, 0x20, 0x29, 0x41, 0x1b, 0x77, 0x46, 0x03, 0x00, 0x00, + 0x00, 0x67, 0x02, 0xef, 0x60, 0x22, 0x20, 0x80, 0x22, 0x11, 0x20, 0x28, 0x41, 0x70, 0xa8, 0xc0, + 0xf6, 0xca, 0x1c, 0x00, 0x0a, 0x40, 0x00, 0x92, 0xa1, 0x20, 0x20, 0x91, 0x3a, 0x22, 0x20, 0xa7, + 0x85, 0x87, 0x9a, 0x0f, 0xd6, 0x69, 0x00, 0x1b, 0x22, 0xf0, 0x99, 0x11, 0xac, 0xc9, 0x0d, 0xf0, + 0x2d, 0x03, 0x0d, 0xf0, 0xad, 0x02, 0x20, 0x21, 0x41, 0x1b, 0x88, 0xa0, 0x88, 0x01, 0x8a, 0x22, + 0x67, 0x42, 0x08, 0x07, 0x6a, 0x03, 0x1b, 0x22, 0x9c, 0x09, 0x0d, 0xf0, 0x20, 0x27, 0x85, 0x90, + 0x22, 0x01, 0xf0, 0x88, 0x11, 0x80, 0x22, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x20, 0x21, 0x41, 0xf0, + 0x22, 0x11, 0x0d, 0xf0, 0x67, 0xc3, 0x05, 0x41, 0x7f, 0xe1, 0x40, 0x22, 0x20, 0x0d, 0xf0, 0x00, + 0x80, 0x76, 0x11, 0x70, 0x23, 0x30, 0x0d, 0xf0, 0x80, 0x76, 0x11, 0x70, 0x33, 0x30, 0xc6, 0xc8, + 0xff, 0x00, 0x00, 0x00, 0x61, 0xbc, 0xff, 0x30, 0x72, 0x30, 0x96, 0xa7, 0xfe, 0x67, 0x42, 0xd3, + 0x67, 0x43, 0xdc, 0x20, 0x77, 0x75, 0x30, 0x87, 0x75, 0x37, 0x32, 0x4b, 0x67, 0x03, 0x2d, 0x60, + 0x33, 0x20, 0x80, 0x33, 0x11, 0x30, 0x38, 0x41, 0x80, 0xa7, 0xc0, 0xf6, 0xca, 0x37, 0x00, 0x0a, + 0x40, 0x0c, 0x09, 0x90, 0x93, 0x81, 0x30, 0x30, 0x91, 0x30, 0x22, 0xc0, 0x90, 0x90, 0x60, 0x0b, + 0xa2, 0x90, 0x2a, 0x93, 0x20, 0xa7, 0x75, 0x77, 0x1a, 0x51, 0xc6, 0x1b, 0x00, 0x37, 0x12, 0x68, + 0x70, 0x33, 0x11, 0x30, 0x39, 0x41, 0x67, 0x02, 0xce, 0x1b, 0x88, 0x46, 0xf2, 0xff, 0x00, 0x00, + 0x80, 0x76, 0x11, 0x70, 0x23, 0x30, 0x0d, 0xf0, 0x67, 0x02, 0x3c, 0x60, 0x22, 0x20, 0x80, 0x22, + 0x11, 0x20, 0x28, 0x41, 0x70, 0xa8, 0xc0, 0xf6, 0xca, 0xe5, 0x00, 0x0a, 0x40, 0x0c, 0x09, 0x90, + 0x92, 0x81, 0x20, 0x20, 0x91, 0x80, 0xb6, 0x11, 0xb0, 0x33, 0x30, 0x20, 0x23, 0xc0, 0x90, 0x90, + 0x60, 0x0b, 0xa2, 0x90, 0x2a, 0x93, 0x20, 0xa7, 0x75, 0x87, 0x9a, 0x20, 0xd6, 0x69, 0x00, 0x1b, + 0x22, 0xf0, 0x99, 0x11, 0xbc, 0xc9, 0x0d, 0xf0, 0x37, 0x12, 0x0d, 0x70, 0x22, 0x11, 0x20, 0x29, + 0x41, 0x67, 0x03, 0xbf, 0x1b, 0x77, 0x86, 0xee, 0xff, 0x0c, 0x02, 0x0d, 0xf0, 0x70, 0x82, 0x11, + 0xac, 0x88, 0x60, 0xf8, 0x40, 0x80, 0x89, 0x41, 0xa7, 0xa6, 0x2e, 0x1b, 0x66, 0x00, 0x16, 0x40, + 0x90, 0x88, 0x81, 0x00, 0x99, 0xa1, 0x20, 0x27, 0x85, 0x60, 0x22, 0xc0, 0x90, 0x22, 0x01, 0x8a, + 0x22, 0xc6, 0xed, 0xff, 0x20, 0x21, 0x41, 0xf0, 0x22, 0x11, 0x0d, 0xf0, 0x16, 0x99, 0xfc, 0xb2, + 0xca, 0xe8, 0x1c, 0x86, 0xb0, 0x6a, 0xa3, 0x86, 0xf4, 0xff, 0x6d, 0x0a, 0x46, 0xf3, 0xff, 0x00, + 0xf0, 0x22, 0x11, 0x20, 0x21, 0x41, 0xac, 0xe2, 0xa0, 0xf2, 0x40, 0xa2, 0xca, 0xf8, 0x00, 0x1a, + 0x40, 0x00, 0x22, 0xa1, 0x0c, 0x18, 0xa0, 0x88, 0xc0, 0xc6, 0x1e, 0x00, 0xf0, 0x33, 0x11, 0x30, + 0x31, 0x41, 0x9c, 0x23, 0xa0, 0xf3, 0x40, 0xa2, 0xca, 0xf8, 0x00, 0x1a, 0x40, 0x00, 0x33, 0xa1, + 0x0c, 0x19, 0xa0, 0x99, 0xc0, 0x86, 0x18, 0x00, 0x70, 0x2f, 0x05, 0x10, 0x22, 0x01, 0x06, 0x34, + 0x00, 0xf0, 0x83, 0x11, 0xcc, 0x88, 0x41, 0x27, 0xe1, 0x40, 0x22, 0x20, 0x86, 0x30, 0x00, 0x00, + 0x67, 0xc3, 0x06, 0x70, 0x83, 0x11, 0x8c, 0x08, 0x2d, 0x03, 0x70, 0x7f, 0x05, 0xf0, 0x22, 0x11, + 0x00, 0x41, 0x40, 0x20, 0x27, 0x81, 0x06, 0x2a, 0x00, 0xf0, 0x82, 0x11, 0x56, 0x88, 0xfe, 0x71, + 0x1d, 0xe1, 0x70, 0x23, 0x20, 0x46, 0x26, 0x00, 0x12, 0xc1, 0xe0, 0xc9, 0x41, 0xd9, 0x51, 0xe9, + 0x61, 0xf9, 0x71, 0x61, 0x5c, 0xff, 0x30, 0x72, 0x30, 0x67, 0x42, 0xb4, 0x67, 0x43, 0xd9, 0x20, + 0x87, 0x75, 0x30, 0x97, 0x75, 0x16, 0x78, 0xf6, 0x16, 0x09, 0xf8, 0x9a, 0x88, 0xa1, 0xad, 0xde, + 0x60, 0x22, 0x20, 0xa0, 0x22, 0x10, 0x60, 0x33, 0x20, 0xa0, 0x33, 0x10, 0x20, 0x40, 0xf5, 0x30, + 0x50, 0xf5, 0x50, 0x62, 0xc1, 0x30, 0xb4, 0xc1, 0x0c, 0x09, 0xba, 0x66, 0xb7, 0xb6, 0x01, 0x1b, + 0x99, 0x10, 0x40, 0x40, 0x60, 0x99, 0x81, 0x30, 0xb2, 0xc1, 0x00, 0x66, 0xa1, 0xba, 0x66, 0xb7, + 0xb6, 0x01, 0x1b, 0x99, 0x50, 0x24, 0xc1, 0x9a, 0x22, 0x0c, 0x94, 0x20, 0x5f, 0x41, 0x8c, 0x25, + 0x0b, 0x44, 0x1b, 0x88, 0x00, 0x14, 0x40, 0x60, 0x22, 0x81, 0x00, 0x66, 0xa1, 0x42, 0xa0, 0x80, + 0x40, 0x88, 0xc0, 0x42, 0xa0, 0xfe, 0x47, 0xb8, 0x2f, 0xd6, 0x76, 0x00, 0x1b, 0x22, 0xf0, 0x66, + 0x11, 0x16, 0xb6, 0x01, 0x90, 0x88, 0x01, 0x8a, 0x22, 0x70, 0x7f, 0x05, 0x10, 0x77, 0x01, 0x70, + 0x22, 0x20, 0xc8, 0x41, 0xd8, 0x51, 0xe8, 0x61, 0xf8, 0x71, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, + 0x20, 0x21, 0x41, 0xf0, 0x22, 0x11, 0x86, 0xf6, 0xff, 0x96, 0x88, 0x00, 0x82, 0xa0, 0xff, 0x90, + 0x28, 0x01, 0xc6, 0xf4, 0xff, 0x80, 0x80, 0x60, 0x9d, 0x06, 0x00, 0x08, 0x40, 0xf6, 0xc8, 0x13, + 0x00, 0x62, 0xa1, 0x20, 0x20, 0x91, 0x0c, 0x08, 0x16, 0xd9, 0xfa, 0x0c, 0x19, 0x90, 0x66, 0x20, + 0x46, 0xe9, 0xff, 0x00, 0x70, 0x2f, 0x05, 0x10, 0x22, 0x01, 0x06, 0xed, 0xff, 0x00, 0x00, 0x00, + 0xf0, 0x33, 0x11, 0x30, 0x31, 0x41, 0x9c, 0x33, 0xa0, 0xf3, 0x40, 0xa2, 0xca, 0xf8, 0x00, 0x1a, + 0x40, 0x00, 0x33, 0xa1, 0x0c, 0x19, 0xa0, 0x99, 0xc0, 0x06, 0x1d, 0x00, 0x00, 0xf0, 0x42, 0x11, + 0x40, 0x41, 0x41, 0x70, 0x2f, 0x05, 0x10, 0x22, 0x01, 0x60, 0x22, 0x20, 0xcc, 0x44, 0x41, 0xd5, + 0xe0, 0x40, 0x22, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0xf0, 0x22, 0x11, 0x20, 0x21, 0x41, 0x9c, 0x22, + 0xa0, 0xf2, 0x40, 0xa2, 0xca, 0xf8, 0x00, 0x1a, 0x40, 0x00, 0x22, 0xa1, 0x0c, 0x18, 0xa0, 0x88, + 0xc0, 0xc6, 0x0f, 0x00, 0x70, 0x2f, 0x05, 0x10, 0x22, 0x01, 0x0d, 0xf0, 0x30, 0x7f, 0x05, 0x10, + 0x77, 0x01, 0x70, 0x22, 0x30, 0x67, 0xc3, 0x05, 0x41, 0xc7, 0xe0, 0x40, 0x22, 0x20, 0x0d, 0xf0, + 0x70, 0x83, 0x11, 0x16, 0xd8, 0xfd, 0x2d, 0x03, 0x0d, 0xf0, 0x00, 0x00, 0x61, 0x06, 0xff, 0x30, + 0x72, 0x30, 0x67, 0x42, 0xd6, 0x67, 0x43, 0xe7, 0x20, 0x87, 0x75, 0x30, 0x97, 0x75, 0x16, 0xe9, + 0xf6, 0x16, 0x38, 0xfa, 0x90, 0x88, 0xc0, 0xa1, 0x57, 0xde, 0x60, 0x22, 0x20, 0xa0, 0x22, 0x10, + 0x60, 0x33, 0x20, 0xa0, 0x33, 0x10, 0x27, 0x33, 0x04, 0xf0, 0x22, 0x11, 0x0b, 0x88, 0x30, 0x22, + 0xc0, 0xf0, 0x22, 0x11, 0x0c, 0x1a, 0x92, 0xa0, 0x17, 0xf0, 0xaa, 0x11, 0x37, 0x32, 0x04, 0x1b, + 0xaa, 0x30, 0x22, 0xc0, 0xf0, 0x22, 0x11, 0x0b, 0x99, 0x56, 0xc9, 0xfe, 0x82, 0xc8, 0x7e, 0x42, + 0xa0, 0xfe, 0x47, 0xb8, 0x17, 0x37, 0x32, 0x04, 0x1b, 0xaa, 0x37, 0x12, 0x1a, 0x90, 0x88, 0x01, + 0x8a, 0x2a, 0x70, 0x7f, 0x05, 0x10, 0x77, 0x01, 0x70, 0x22, 0x20, 0x0d, 0xf0, 0x96, 0x08, 0x01, + 0x1b, 0x84, 0x90, 0x28, 0x01, 0x46, 0xfa, 0xff, 0xa0, 0xa1, 0x41, 0xf0, 0xaa, 0x11, 0xc6, 0xf6, + 0xff, 0x80, 0x80, 0x60, 0x00, 0x08, 0x40, 0xf6, 0xc8, 0x22, 0x00, 0x6a, 0xa1, 0xa0, 0xa0, 0x91, + 0x0c, 0x08, 0x8c, 0x32, 0x0c, 0x19, 0x90, 0x66, 0x20, 0xd6, 0x06, 0xfc, 0x1b, 0xaa, 0xf0, 0x66, + 0x11, 0x56, 0x86, 0xfb, 0xa0, 0xa1, 0x41, 0xf0, 0xaa, 0x11, 0xc6, 0xeb, 0xff, 0x70, 0x2f, 0x05, + 0x10, 0x22, 0x01, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x61, 0xd7, 0xfe, 0x67, 0x42, 0x22, 0x20, 0x47, + 0x75, 0x42, 0xc4, 0x82, 0xe6, 0xc4, 0x20, 0xa6, 0x14, 0x29, 0x60, 0x72, 0x20, 0x80, 0x57, 0x11, + 0x00, 0x14, 0x40, 0x50, 0x50, 0x91, 0x50, 0x20, 0x60, 0x70, 0x25, 0xb3, 0x0d, 0xf0, 0x00, 0x00, + 0x00, 0x70, 0x42, 0x11, 0x8c, 0x04, 0x0c, 0x02, 0x80, 0x46, 0x11, 0x0b, 0x54, 0x20, 0x45, 0xb3, + 0x2d, 0x04, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x61, 0xc7, 0xfe, 0x67, 0x42, 0x25, 0x20, 0x47, + 0x75, 0x42, 0xc4, 0x81, 0xe6, 0xc4, 0x25, 0x96, 0xe4, 0x02, 0x60, 0x72, 0x20, 0x80, 0x57, 0x11, + 0x1b, 0x44, 0x26, 0xc4, 0x27, 0x00, 0x14, 0x40, 0x50, 0x50, 0x91, 0x50, 0x20, 0x60, 0x70, 0x25, + 0xb3, 0x0d, 0xf0, 0x00, 0x70, 0x42, 0x11, 0x8c, 0x24, 0x7c, 0xf2, 0x0d, 0xf0, 0x80, 0x46, 0x11, + 0x7c, 0xf5, 0x20, 0x45, 0xb3, 0x2d, 0x04, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x96, 0x32, 0x00, + 0x2d, 0x05, 0x0d, 0xf0, 0x80, 0x26, 0x11, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x33, 0x11, 0x30, + 0x31, 0x41, 0x20, 0xa3, 0x20, 0x16, 0x4a, 0x08, 0x9c, 0x53, 0xa0, 0xf3, 0x40, 0xa2, 0xca, 0xf5, + 0x00, 0x1a, 0x40, 0x20, 0x33, 0x81, 0x00, 0x22, 0xa1, 0x0c, 0x18, 0xa0, 0x88, 0xc0, 0x86, 0x36, + 0x00, 0xa0, 0xf2, 0x40, 0xa2, 0xca, 0xf5, 0x6c, 0x18, 0xa0, 0x88, 0xc0, 0x00, 0x1a, 0x40, 0x96, + 0x9a, 0x00, 0x00, 0x32, 0xa1, 0x0c, 0x02, 0x46, 0x30, 0x00, 0x00, 0x00, 0x20, 0x30, 0x91, 0x00, + 0x22, 0xa1, 0x86, 0x2d, 0x00, 0xf0, 0x55, 0x11, 0x50, 0x51, 0x41, 0x40, 0xa5, 0x20, 0xbc, 0xba, + 0x9c, 0x55, 0xa0, 0xf5, 0x40, 0xa2, 0xca, 0xf5, 0x00, 0x1a, 0x40, 0x40, 0x55, 0x81, 0x00, 0x44, + 0xa1, 0x0c, 0x19, 0xa0, 0x99, 0xc0, 0x46, 0x25, 0x00, 0xa0, 0xf4, 0x40, 0xa2, 0xca, 0xf5, 0x6c, + 0x19, 0xa0, 0x99, 0xc0, 0x00, 0x1a, 0x40, 0x96, 0x9a, 0x00, 0x00, 0x54, 0xa1, 0x0c, 0x04, 0x06, + 0x1f, 0x00, 0x00, 0x00, 0x40, 0x50, 0x91, 0x00, 0x44, 0xa1, 0x46, 0x1c, 0x00, 0x70, 0x3f, 0x05, + 0x10, 0x33, 0x01, 0x0c, 0x02, 0x46, 0x64, 0x00, 0xcc, 0xd4, 0xf0, 0x85, 0x11, 0xcc, 0x88, 0x41, + 0x06, 0xd5, 0x40, 0x33, 0x20, 0x46, 0x60, 0x00, 0x00, 0x67, 0xc5, 0x0b, 0x40, 0x85, 0x11, 0x40, + 0x88, 0x20, 0x8c, 0x28, 0x3d, 0x05, 0x2d, 0x04, 0x70, 0x7f, 0x05, 0xf0, 0x33, 0x11, 0x00, 0x41, + 0x40, 0x30, 0x37, 0x81, 0x86, 0x58, 0x00, 0x00, 0x56, 0x82, 0xfe, 0xf0, 0x83, 0x11, 0x56, 0x28, + 0xfe, 0x71, 0xf9, 0xd4, 0x70, 0x35, 0x20, 0xc6, 0x53, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xe0, 0xc9, + 0x41, 0xd9, 0x51, 0xe9, 0x61, 0xf9, 0x71, 0x61, 0x78, 0xfe, 0x50, 0x73, 0x30, 0x67, 0x43, 0xa7, + 0x67, 0x45, 0xd4, 0x30, 0x84, 0xa5, 0x50, 0x94, 0xa5, 0x16, 0xf8, 0xef, 0x16, 0x59, 0xf4, 0x9a, + 0x88, 0xa1, 0xff, 0xf6, 0x60, 0x33, 0x20, 0xa0, 0x33, 0x10, 0x60, 0x55, 0x20, 0xa0, 0x55, 0x10, + 0x79, 0x11, 0x20, 0xc0, 0xf5, 0x40, 0xd0, 0xf5, 0x30, 0xe0, 0xf5, 0x50, 0xf0, 0xf5, 0xd0, 0xa2, + 0xc1, 0x40, 0xbc, 0xc1, 0x0c, 0x09, 0xba, 0xaa, 0xb7, 0xba, 0x01, 0x1b, 0x99, 0x10, 0x40, 0x40, + 0xa0, 0x69, 0x81, 0x40, 0xb2, 0xc1, 0x00, 0xaa, 0xa1, 0xba, 0xaa, 0xb7, 0xba, 0x02, 0x62, 0xc6, + 0x01, 0x0c, 0x09, 0x50, 0xb2, 0xc1, 0xba, 0x66, 0xb7, 0xb6, 0x01, 0x1b, 0x99, 0xd0, 0xbc, 0xc1, + 0xb0, 0x66, 0x80, 0xb7, 0xb6, 0x01, 0x1b, 0x99, 0x40, 0xb3, 0xc1, 0xba, 0x66, 0xb7, 0xb6, 0x01, + 0x1b, 0x99, 0x8c, 0x3a, 0x0c, 0x1b, 0xb0, 0x66, 0x20, 0xf0, 0x72, 0xc1, 0x40, 0xbe, 0xc1, 0x0c, + 0x0a, 0x7a, 0xbb, 0x77, 0xbb, 0x02, 0xa2, 0xca, 0x01, 0x50, 0x7c, 0xc1, 0x70, 0xbb, 0x80, 0x77, + 0xbb, 0x02, 0xa2, 0xca, 0x01, 0xd0, 0x73, 0xc1, 0x70, 0xbb, 0x80, 0x77, 0xbb, 0x02, 0xa2, 0xca, + 0x01, 0xb0, 0xaa, 0x81, 0x9a, 0xaa, 0x00, 0xbb, 0xa1, 0xba, 0x66, 0xb7, 0xb6, 0x02, 0xa2, 0xca, + 0x01, 0x0c, 0x09, 0xf0, 0x2c, 0xc1, 0xaa, 0x22, 0xa7, 0xb2, 0x01, 0x1b, 0x99, 0x50, 0xa3, 0xc1, + 0xa0, 0x22, 0x80, 0xa7, 0xb2, 0x02, 0x92, 0xc9, 0x01, 0xd0, 0xae, 0xc1, 0xaa, 0x22, 0xa7, 0xb2, + 0x02, 0x92, 0xc9, 0x01, 0xf0, 0xb3, 0xc1, 0x50, 0x7e, 0xc1, 0x0c, 0x0a, 0x70, 0xbb, 0x80, 0x77, + 0xbb, 0x02, 0xa2, 0xca, 0x01, 0xb0, 0xaa, 0x81, 0x9a, 0xaa, 0x00, 0xbb, 0xa1, 0xba, 0x22, 0xb7, + 0xb2, 0x01, 0x1b, 0xaa, 0xf0, 0x3e, 0xc1, 0xaa, 0x33, 0x78, 0x11, 0x0c, 0xb4, 0x30, 0x59, 0x41, + 0xcc, 0x45, 0x42, 0xc4, 0x01, 0x82, 0xc8, 0xff, 0x00, 0x14, 0x40, 0x20, 0x33, 0x81, 0x60, 0x22, + 0x81, 0x00, 0x66, 0xa1, 0x42, 0xa3, 0xff, 0x40, 0x88, 0xc0, 0xf0, 0x44, 0x11, 0x47, 0xb8, 0x37, + 0xd6, 0x86, 0x00, 0x1b, 0x22, 0xac, 0x82, 0xf0, 0x66, 0x11, 0x9c, 0xa6, 0xc0, 0x88, 0x01, 0x8a, + 0x33, 0x70, 0x7f, 0x05, 0x10, 0x77, 0x01, 0x70, 0x33, 0x20, 0xc8, 0x41, 0xd8, 0x51, 0xe8, 0x61, + 0xf8, 0x71, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x20, 0x21, 0x41, 0xf0, 0x22, 0x11, 0x86, 0xf6, + 0xff, 0x1b, 0x33, 0x46, 0xf5, 0xff, 0x00, 0x00, 0x96, 0x98, 0x00, 0x1b, 0x84, 0xc0, 0x38, 0x01, + 0x0c, 0x02, 0xc6, 0xf2, 0xff, 0x80, 0x80, 0x60, 0x9d, 0x06, 0x00, 0x08, 0x40, 0xf6, 0xc8, 0x0b, + 0x00, 0x62, 0xa1, 0x20, 0x23, 0x81, 0x30, 0x30, 0x91, 0x06, 0x04, 0x00, 0xf6, 0xd8, 0x1c, 0x00, + 0xa2, 0xa1, 0x20, 0x63, 0x81, 0x30, 0x20, 0x91, 0x0c, 0x03, 0xa0, 0x99, 0x20, 0x0c, 0x08, 0x16, + 0xd9, 0xf8, 0x0c, 0x19, 0x90, 0x66, 0x20, 0x46, 0xe1, 0xff, 0x00, 0x00, 0x70, 0x3f, 0x05, 0x10, + 0x33, 0x01, 0x0c, 0x02, 0x86, 0xe4, 0xff, 0x00, 0xf0, 0x55, 0x11, 0x50, 0x51, 0x41, 0x40, 0xa5, + 0x20, 0xbc, 0xba, 0x9c, 0x55, 0xa0, 0xf5, 0x40, 0xa2, 0xca, 0xf5, 0x00, 0x1a, 0x40, 0x40, 0x55, + 0x81, 0x00, 0x44, 0xa1, 0x0c, 0x19, 0xa0, 0x99, 0xc0, 0x06, 0x36, 0x00, 0xa0, 0xf4, 0x40, 0xa2, + 0xca, 0xf5, 0x6c, 0x19, 0xa0, 0x99, 0xc0, 0x00, 0x1a, 0x40, 0x96, 0x7a, 0x00, 0x00, 0x54, 0xa1, + 0x0c, 0x04, 0xc6, 0x2f, 0x00, 0x40, 0x50, 0x91, 0x00, 0x44, 0xa1, 0x86, 0x2d, 0x00, 0x00, 0x00, + 0xf0, 0x33, 0x11, 0x30, 0x31, 0x41, 0x30, 0x22, 0x20, 0x70, 0x3f, 0x05, 0x10, 0x33, 0x01, 0x60, + 0x33, 0x20, 0xcc, 0x42, 0x41, 0x71, 0xd4, 0x40, 0x33, 0x20, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, + 0xf0, 0x33, 0x11, 0x30, 0x31, 0x41, 0x20, 0xa3, 0x20, 0xbc, 0xba, 0x9c, 0x53, 0xa0, 0xf3, 0x40, + 0xa2, 0xca, 0xf5, 0x00, 0x1a, 0x40, 0x20, 0x33, 0x81, 0x00, 0x22, 0xa1, 0x0c, 0x18, 0xa0, 0x88, + 0xc0, 0xc6, 0x1c, 0x00, 0xa0, 0xf2, 0x40, 0xa2, 0xca, 0xf5, 0x6c, 0x18, 0xa0, 0x88, 0xc0, 0x00, + 0x1a, 0x40, 0x96, 0x7a, 0x00, 0x00, 0x32, 0xa1, 0x0c, 0x02, 0x86, 0x16, 0x00, 0x20, 0x30, 0x91, + 0x00, 0x22, 0xa1, 0x46, 0x14, 0x00, 0x00, 0x00, 0x70, 0x3f, 0x05, 0x10, 0x33, 0x01, 0x0c, 0x02, + 0x0d, 0xf0, 0x00, 0x00, 0x50, 0x7f, 0x05, 0x10, 0x77, 0x01, 0x70, 0x33, 0x30, 0x67, 0xc5, 0x05, + 0x41, 0x56, 0xd4, 0x40, 0x33, 0x20, 0x0d, 0xf0, 0x40, 0x85, 0x11, 0x40, 0x88, 0x20, 0x16, 0x68, + 0xfd, 0x3d, 0x05, 0x2d, 0x04, 0x0d, 0xf0, 0x00, 0x47, 0x32, 0x37, 0x46, 0x0f, 0x00, 0x00, 0x00, + 0x61, 0xd2, 0xfd, 0x50, 0x73, 0x30, 0x67, 0x43, 0xca, 0x67, 0x45, 0xdb, 0x30, 0x84, 0xa5, 0x50, + 0x94, 0xa5, 0x16, 0x29, 0xf0, 0x16, 0x78, 0xf6, 0x90, 0x88, 0xc0, 0xa1, 0x59, 0xf6, 0x60, 0x33, + 0x20, 0xa0, 0x33, 0x10, 0x60, 0x55, 0x20, 0xa0, 0x55, 0x10, 0x10, 0x4f, 0x40, 0x37, 0x35, 0x0b, + 0x37, 0x15, 0xc4, 0x20, 0x33, 0x81, 0x00, 0x22, 0xa1, 0x82, 0xc8, 0xff, 0x50, 0x33, 0xc0, 0x47, + 0xb2, 0x02, 0x32, 0xc3, 0xff, 0x40, 0x22, 0xc0, 0x20, 0x33, 0x81, 0x00, 0x22, 0xa1, 0x0c, 0x0a, + 0x0c, 0x1b, 0x3c, 0x49, 0xb0, 0xaa, 0x81, 0x00, 0xbb, 0xa1, 0x57, 0x33, 0x0f, 0x57, 0x13, 0x3f, + 0x1b, 0xbb, 0x50, 0x33, 0xc0, 0x47, 0xb2, 0x01, 0x0b, 0x33, 0x40, 0x22, 0xc0, 0x20, 0x33, 0x81, + 0x00, 0x22, 0xa1, 0x0b, 0x99, 0x56, 0xb9, 0xfd, 0x92, 0xa3, 0xfe, 0x9a, 0x88, 0x92, 0xd9, 0x04, + 0x97, 0xb8, 0x38, 0x57, 0x33, 0x07, 0x57, 0x13, 0x1e, 0x1b, 0xbb, 0x16, 0x5b, 0x08, 0x2d, 0x0b, + 0xc0, 0x88, 0x01, 0x8a, 0x3a, 0x70, 0x7f, 0x05, 0x10, 0x77, 0x01, 0x70, 0x33, 0x20, 0x0d, 0xf0, + 0x47, 0xb2, 0xbc, 0x86, 0xf1, 0xff, 0x00, 0x00, 0x47, 0x32, 0xe2, 0x47, 0x92, 0xda, 0x1b, 0xbb, + 0x16, 0x0b, 0x06, 0xb0, 0xb1, 0x41, 0xf0, 0xbb, 0x11, 0x46, 0xf4, 0xff, 0x96, 0x98, 0x00, 0x1b, + 0x89, 0xc0, 0x38, 0x01, 0x0c, 0x02, 0xc6, 0xf2, 0xff, 0x80, 0x80, 0x60, 0x00, 0x08, 0x40, 0xf6, + 0xc8, 0x0d, 0x00, 0x6b, 0xa1, 0xb0, 0xba, 0x81, 0xa0, 0xa0, 0x91, 0x86, 0x04, 0x00, 0x00, 0x00, + 0xf6, 0xd8, 0x35, 0x00, 0x9b, 0xa1, 0xb0, 0x6a, 0x81, 0xa0, 0xb0, 0x91, 0x0c, 0x0a, 0x90, 0x22, + 0x20, 0x0c, 0x08, 0x20, 0x33, 0x20, 0x8c, 0x33, 0x0c, 0x19, 0x90, 0x66, 0x20, 0xd6, 0xd6, 0xf8, + 0x1b, 0xbb, 0x8c, 0xeb, 0xf0, 0x66, 0x11, 0x56, 0x36, 0xf8, 0xb0, 0xb1, 0x41, 0xf0, 0xbb, 0x11, + 0x86, 0xde, 0xff, 0x00, 0x1b, 0xaa, 0x06, 0xdd, 0xff, 0x70, 0x3f, 0x05, 0x10, 0x33, 0x01, 0x0c, + 0x02, 0x0d, 0xf0, 0x00, 0x61, 0x89, 0xfd, 0x67, 0x43, 0x25, 0x30, 0x44, 0xa5, 0x60, 0x53, 0x95, + 0x50, 0x44, 0xc0, 0xe6, 0xc4, 0x25, 0xa6, 0x14, 0x2e, 0x60, 0x73, 0x20, 0x10, 0x45, 0x40, 0x20, + 0x57, 0x81, 0x00, 0x14, 0x40, 0x50, 0x50, 0x91, 0x50, 0x20, 0x60, 0x70, 0x25, 0xb3, 0x0d, 0xf0, + 0x40, 0x43, 0x11, 0x20, 0x44, 0x20, 0x16, 0x24, 0x00, 0x32, 0xa0, 0x00, 0x50, 0x46, 0x11, 0x0b, + 0x54, 0x30, 0x45, 0xb3, 0x2d, 0x04, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x41, 0x78, 0xfd, 0x40, + 0x53, 0xc0, 0x50, 0x63, 0x30, 0x96, 0x36, 0x05, 0x50, 0x64, 0xa5, 0x16, 0xd6, 0x04, 0x42, 0xa0, + 0xff, 0x47, 0xa6, 0x27, 0x10, 0x4d, 0x40, 0x20, 0x55, 0x81, 0x00, 0x42, 0xa1, 0x30, 0x6f, 0x05, + 0x10, 0x66, 0x01, 0x50, 0x26, 0x20, 0xd6, 0x64, 0x00, 0x1b, 0x22, 0xf0, 0x44, 0x11, 0x8c, 0x24, + 0x0d, 0xf0, 0x00, 0x00, 0x20, 0x21, 0x41, 0xf0, 0x22, 0x11, 0x0d, 0xf0, 0x41, 0x67, 0xfd, 0x47, + 0xc3, 0x0a, 0x40, 0x53, 0x11, 0x20, 0x55, 0x20, 0x8c, 0x15, 0x40, 0x41, 0x41, 0xc0, 0x44, 0x11, + 0x30, 0x6f, 0x05, 0x00, 0x41, 0x40, 0x40, 0x26, 0x81, 0x0d, 0xf0, 0x00, 0x30, 0x64, 0xa5, 0x52, + 0xa3, 0x80, 0x60, 0x65, 0xc0, 0x1b, 0x66, 0xf6, 0xc6, 0x29, 0x30, 0x55, 0x11, 0x30, 0x55, 0x20, + 0x50, 0x55, 0x11, 0x50, 0x5b, 0x41, 0x10, 0x4d, 0x40, 0x20, 0x55, 0x81, 0x00, 0x42, 0xa1, 0x00, + 0x06, 0x40, 0x00, 0x74, 0xa1, 0x40, 0x45, 0x81, 0x50, 0x50, 0x91, 0x16, 0xe7, 0xf8, 0x60, 0x44, + 0x20, 0x06, 0xe2, 0xff, 0x30, 0x2f, 0x05, 0x10, 0x22, 0x01, 0x0d, 0xf0, 0x12, 0xc1, 0xd0, 0x22, + 0x61, 0x00, 0x52, 0x61, 0x03, 0x42, 0x61, 0x02, 0x09, 0x61, 0x39, 0x11, 0xc9, 0x71, 0xd9, 0x81, + 0xcd, 0x02, 0xdd, 0x04, 0x3d, 0x04, 0x05, 0xc8, 0x00, 0x48, 0x31, 0x08, 0x11, 0xc0, 0x44, 0x82, + 0xd0, 0x00, 0x82, 0xc8, 0x71, 0xd8, 0x81, 0x4a, 0x00, 0x0a, 0x33, 0x08, 0x61, 0x12, 0xc1, 0x30, + 0x0d, 0xf0, 0x00, 0x00, 0x8d, 0x04, 0x7d, 0x05, 0x62, 0xa0, 0xf0, 0x60, 0x11, 0xc0, 0x39, 0x11, + 0x29, 0x01, 0x59, 0x31, 0x49, 0x21, 0xd2, 0x61, 0x2b, 0x02, 0x61, 0x29, 0xc2, 0x61, 0x2a, 0x0d, + 0x02, 0xcd, 0x03, 0x96, 0x53, 0x19, 0x0c, 0x0d, 0xc9, 0x51, 0x9d, 0x00, 0x28, 0x31, 0x99, 0x41, + 0xd6, 0x02, 0x01, 0x40, 0x80, 0x60, 0x72, 0xaf, 0xff, 0x70, 0xdd, 0x30, 0x70, 0x75, 0x30, 0x1b, + 0x37, 0x40, 0x73, 0x83, 0x79, 0x71, 0x89, 0x61, 0x5d, 0x00, 0x3d, 0x08, 0x0d, 0x08, 0x16, 0xa7, + 0x17, 0x77, 0xbc, 0x27, 0x0c, 0x0c, 0x0c, 0x00, 0x3d, 0x00, 0x16, 0xed, 0x43, 0xd2, 0x21, 0x2b, + 0x42, 0xa0, 0xf0, 0xc0, 0x20, 0x60, 0x7c, 0xf9, 0x90, 0x30, 0x30, 0x1b, 0x83, 0xc0, 0x38, 0x83, + 0x02, 0x21, 0x29, 0xc2, 0x21, 0x2a, 0x4a, 0x11, 0x0d, 0xf0, 0x00, 0x00, 0x82, 0x61, 0x26, 0xa0, + 0xf7, 0x40, 0xa2, 0x61, 0x27, 0xcc, 0xca, 0xc7, 0x37, 0x05, 0x87, 0xb5, 0x02, 0x46, 0x07, 0x01, + 0x0c, 0x1c, 0x06, 0xf0, 0xff, 0x52, 0x61, 0x14, 0x32, 0x21, 0x26, 0x52, 0x21, 0x27, 0x2c, 0x06, + 0x50, 0x66, 0xc0, 0x00, 0x06, 0x40, 0x62, 0x61, 0x1e, 0xc0, 0x20, 0x91, 0x00, 0x15, 0x40, 0x22, + 0x61, 0x1f, 0x30, 0x37, 0x81, 0x32, 0x61, 0x24, 0x30, 0x30, 0xf5, 0x32, 0x61, 0x25, 0xc5, 0xa5, + 0x00, 0x02, 0x21, 0x14, 0x32, 0x21, 0x1e, 0x22, 0x61, 0x23, 0x42, 0x21, 0x27, 0x22, 0x61, 0x35, + 0x00, 0x14, 0x40, 0x22, 0x21, 0x1f, 0x00, 0xcc, 0xa1, 0x00, 0x03, 0x40, 0x00, 0x00, 0x91, 0x32, + 0x21, 0x25, 0x00, 0xcc, 0x20, 0xc2, 0x61, 0x20, 0xc0, 0xc0, 0xf5, 0x05, 0xb4, 0x00, 0x00, 0x42, + 0x11, 0x02, 0x21, 0x35, 0x22, 0x21, 0x24, 0x40, 0x4c, 0x20, 0xcd, 0x04, 0x20, 0x20, 0xf4, 0x22, + 0x61, 0x21, 0x00, 0x22, 0x82, 0x27, 0xb4, 0x1a, 0x0b, 0x60, 0x52, 0x21, 0x24, 0x62, 0x61, 0x23, + 0x4a, 0xc5, 0x57, 0x3c, 0x0d, 0x27, 0xbc, 0x0a, 0x82, 0xc0, 0xfe, 0x72, 0x21, 0x24, 0x82, 0x61, + 0x23, 0xca, 0xc7, 0x32, 0x21, 0x25, 0x20, 0xcc, 0xc0, 0x2d, 0x0c, 0x05, 0x9f, 0x00, 0x32, 0x21, + 0x25, 0x22, 0x61, 0x37, 0x22, 0x61, 0x36, 0x92, 0x21, 0x20, 0x2d, 0x0c, 0x90, 0x90, 0xf4, 0x92, + 0x61, 0x22, 0x85, 0xae, 0x00, 0x02, 0x21, 0x37, 0x52, 0x21, 0x36, 0x00, 0xa2, 0x11, 0x92, 0x21, + 0x22, 0x22, 0x21, 0x21, 0xa0, 0x99, 0x20, 0x4d, 0x09, 0x50, 0x22, 0x82, 0x27, 0xb9, 0x13, 0xb2, + 0x21, 0x24, 0x0b, 0x05, 0x90, 0x4b, 0x80, 0xb7, 0x34, 0x08, 0x27, 0xb4, 0x05, 0x40, 0x4b, 0x80, + 0x02, 0xc5, 0xfe, 0x32, 0x21, 0x26, 0x52, 0x21, 0x27, 0x20, 0x44, 0xc0, 0x42, 0x61, 0x38, 0x22, + 0x21, 0x23, 0x00, 0x15, 0x40, 0x00, 0x33, 0xa1, 0x00, 0x22, 0x11, 0x20, 0x20, 0x20, 0x22, 0x61, + 0x1b, 0xcd, 0x02, 0x45, 0xad, 0x00, 0x02, 0x21, 0x38, 0x37, 0x30, 0x17, 0x30, 0x40, 0xc0, 0x56, + 0x34, 0xeb, 0x62, 0x21, 0x27, 0x52, 0x21, 0x14, 0x00, 0x16, 0x40, 0x00, 0x55, 0xa1, 0x27, 0x35, + 0x02, 0x46, 0xa8, 0xff, 0xc2, 0x21, 0x1b, 0x0b, 0xcc, 0x46, 0xa6, 0xff, 0x7c, 0xfd, 0xd0, 0xc3, + 0x30, 0x1b, 0x0c, 0x20, 0xc0, 0x83, 0x20, 0x00, 0x60, 0xc6, 0x96, 0xff, 0x92, 0x61, 0x15, 0x87, + 0x3c, 0x02, 0x86, 0x39, 0x00, 0xc2, 0x61, 0x28, 0x82, 0x61, 0x1c, 0x40, 0xf8, 0x40, 0x9c, 0x34, + 0x00, 0x14, 0x40, 0x00, 0x25, 0xa1, 0x50, 0x6c, 0x81, 0x00, 0x78, 0xa1, 0x72, 0x61, 0x1c, 0x62, + 0x61, 0x28, 0x22, 0x61, 0x15, 0xc2, 0x21, 0x15, 0x32, 0x21, 0x1c, 0x22, 0x21, 0x28, 0x30, 0x30, + 0xf5, 0x32, 0x61, 0x18, 0x45, 0x91, 0x00, 0x32, 0x21, 0x18, 0x22, 0x61, 0x10, 0x22, 0x61, 0x2f, + 0xc0, 0x40, 0xf5, 0x42, 0x61, 0x16, 0x22, 0x21, 0x28, 0x05, 0xa1, 0x00, 0x42, 0x21, 0x2f, 0x00, + 0x62, 0x11, 0x02, 0x21, 0x1c, 0x52, 0x21, 0x16, 0x00, 0x00, 0xf4, 0x60, 0x55, 0x20, 0x52, 0x61, + 0x19, 0x02, 0x61, 0x1d, 0x40, 0x00, 0x82, 0x07, 0xb5, 0x27, 0x82, 0x21, 0x1c, 0x0b, 0x94, 0x92, + 0x61, 0x10, 0x80, 0x75, 0x80, 0x72, 0x61, 0x19, 0x87, 0x37, 0x16, 0xa2, 0x21, 0x19, 0x07, 0xba, + 0x10, 0xb2, 0x21, 0x19, 0x32, 0xc4, 0xfe, 0x22, 0x21, 0x1c, 0x32, 0x61, 0x10, 0xba, 0xb2, 0xb2, + 0x61, 0x19, 0x22, 0x21, 0x19, 0x32, 0x21, 0x18, 0x00, 0x22, 0xc0, 0x22, 0x61, 0x19, 0xc5, 0x8a, + 0x00, 0x32, 0x21, 0x18, 0x22, 0x61, 0x31, 0x22, 0x61, 0x30, 0xc0, 0x40, 0xf4, 0x42, 0x61, 0x17, + 0x22, 0x21, 0x19, 0x85, 0x9a, 0x00, 0x02, 0x21, 0x31, 0x42, 0x21, 0x10, 0x32, 0x21, 0x30, 0x00, + 0x62, 0x11, 0x52, 0x21, 0x17, 0x82, 0x21, 0x1d, 0x60, 0x55, 0x20, 0x30, 0x88, 0x82, 0x87, 0xb5, + 0x0f, 0x72, 0x21, 0x1c, 0x0b, 0x03, 0x7a, 0x55, 0x77, 0x35, 0x05, 0x87, 0xb5, 0x02, 0x02, 0xc3, + 0xfe, 0x00, 0xc4, 0x11, 0xc0, 0xc0, 0x20, 0x0c, 0x00, 0xc6, 0x66, 0xff, 0x56, 0xe8, 0x00, 0x52, + 0x61, 0x14, 0x22, 0xa0, 0x01, 0x45, 0x85, 0x00, 0x20, 0x02, 0x20, 0x52, 0x21, 0x14, 0x02, 0x61, + 0x1c, 0x30, 0xf0, 0x40, 0xec, 0x03, 0x02, 0x61, 0x1c, 0x00, 0x40, 0xf5, 0x0c, 0x12, 0x00, 0x30, + 0xf4, 0x00, 0x5c, 0xc0, 0x52, 0x61, 0x28, 0x32, 0x61, 0x1d, 0x22, 0x61, 0x11, 0x42, 0x61, 0x18, + 0xc2, 0x21, 0x18, 0x06, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x13, 0x40, 0x2c, 0x0a, 0x30, 0xaa, 0xc0, + 0x00, 0x60, 0xa1, 0x62, 0x61, 0x1c, 0x00, 0x0a, 0x40, 0xc0, 0x20, 0x91, 0x00, 0x13, 0x40, 0x29, + 0xc1, 0x60, 0x30, 0xf5, 0x00, 0x75, 0xa1, 0x50, 0x8c, 0x81, 0x82, 0x61, 0x28, 0x72, 0x61, 0x15, + 0x32, 0x61, 0x18, 0x85, 0x7f, 0x00, 0xb2, 0x21, 0x28, 0x29, 0xf1, 0x22, 0x61, 0x2c, 0xc2, 0x21, + 0x18, 0x28, 0xc1, 0x3d, 0x0c, 0xb0, 0xb0, 0xf5, 0xb9, 0xd1, 0x05, 0x8f, 0x00, 0x02, 0x21, 0x2c, + 0x00, 0x52, 0x11, 0x32, 0x21, 0x1c, 0x48, 0xd1, 0x30, 0x30, 0xf4, 0x50, 0x44, 0x20, 0x42, 0x61, + 0x13, 0x32, 0x61, 0x1d, 0x00, 0x33, 0x82, 0x37, 0xb4, 0x24, 0x72, 0x21, 0x1c, 0x0b, 0x80, 0x89, + 0xf1, 0x7a, 0x64, 0x62, 0x61, 0x13, 0x77, 0x36, 0x15, 0x92, 0x21, 0x13, 0x37, 0xb9, 0x0f, 0xa2, + 0x21, 0x13, 0x22, 0xc0, 0xfe, 0xb2, 0x21, 0x1c, 0x29, 0xf1, 0xaa, 0xab, 0xa2, 0x61, 0x13, 0x22, + 0x21, 0x13, 0x30, 0x22, 0xc0, 0x22, 0x61, 0x13, 0x3d, 0x0c, 0x05, 0x79, 0x00, 0x22, 0x61, 0x2e, + 0x32, 0x21, 0x28, 0x22, 0x61, 0x2d, 0x30, 0x30, 0xf4, 0x22, 0x21, 0x13, 0x39, 0xe1, 0x3d, 0x0c, + 0x85, 0x88, 0x00, 0x02, 0x21, 0x2e, 0x32, 0x21, 0x2d, 0x52, 0x21, 0x1d, 0x88, 0xe1, 0x00, 0x92, + 0x11, 0x90, 0x88, 0x20, 0x4d, 0x08, 0x30, 0x55, 0x82, 0x57, 0xb8, 0x11, 0xa2, 0x21, 0x1c, 0x0b, + 0x03, 0xaa, 0x48, 0xa7, 0x34, 0x07, 0x57, 0xb4, 0x04, 0x02, 0xc3, 0xfe, 0x4a, 0x4a, 0x50, 0x34, + 0xc0, 0x28, 0xf1, 0x32, 0x61, 0x28, 0x00, 0x22, 0x11, 0x20, 0x20, 0x20, 0x22, 0x61, 0x11, 0x22, + 0x21, 0x28, 0x3d, 0x0c, 0x45, 0x73, 0x00, 0xc0, 0x3c, 0x20, 0x22, 0x61, 0x12, 0x22, 0x61, 0x32, + 0x42, 0x21, 0x15, 0x22, 0x21, 0x28, 0x40, 0x40, 0xf5, 0x42, 0x61, 0x16, 0xc5, 0x82, 0x00, 0x42, + 0x21, 0x32, 0x02, 0x21, 0x1d, 0x52, 0x21, 0x16, 0x00, 0x62, 0x11, 0x60, 0x55, 0x20, 0x52, 0x61, + 0x1a, 0x40, 0x00, 0x82, 0x07, 0xb5, 0x27, 0x82, 0x21, 0x1c, 0x0b, 0x94, 0x92, 0x61, 0x12, 0x8a, + 0x75, 0x72, 0x61, 0x1a, 0x87, 0x37, 0x17, 0xa2, 0x21, 0x1a, 0x07, 0xba, 0x11, 0xb2, 0x21, 0x1a, + 0x32, 0xc4, 0xfe, 0x22, 0x21, 0x1c, 0x32, 0x61, 0x12, 0xb0, 0xb2, 0x80, 0xb2, 0x61, 0x1a, 0x22, + 0x21, 0x1a, 0x3d, 0x0c, 0x00, 0x22, 0xc0, 0x22, 0x61, 0x1a, 0x05, 0x6d, 0x00, 0xc0, 0x3c, 0x20, + 0x22, 0x61, 0x34, 0x22, 0x61, 0x33, 0x42, 0x21, 0x15, 0x22, 0x21, 0x1a, 0x40, 0x40, 0xf4, 0x42, + 0x61, 0x17, 0x85, 0x7c, 0x00, 0x42, 0x21, 0x34, 0x02, 0x21, 0x33, 0x82, 0x21, 0x17, 0x00, 0x92, + 0x11, 0x90, 0x88, 0x20, 0x92, 0x21, 0x1d, 0x52, 0x21, 0x12, 0x00, 0x99, 0x82, 0x97, 0xb8, 0x0f, + 0xa2, 0x21, 0x1c, 0x0b, 0x40, 0xaa, 0x88, 0xa7, 0x38, 0x05, 0x97, 0xb8, 0x02, 0x42, 0xc0, 0xfe, + 0x02, 0x21, 0x11, 0x00, 0xc5, 0x11, 0xc0, 0xc4, 0x20, 0xc6, 0xee, 0xfe, 0x02, 0x21, 0x29, 0xd2, + 0x21, 0x2b, 0x2d, 0x0c, 0x42, 0xa0, 0xf0, 0xc2, 0x21, 0x2a, 0x4a, 0x11, 0x0d, 0xf0, 0x0c, 0x0c, + 0x86, 0xe8, 0xfe, 0x00, 0x8d, 0x02, 0x62, 0xa0, 0xc0, 0x60, 0x11, 0xc0, 0x89, 0x01, 0x59, 0x31, + 0x49, 0x21, 0x39, 0x11, 0x02, 0x61, 0x1e, 0xd2, 0x61, 0x20, 0xe2, 0x61, 0x21, 0xc2, 0x61, 0x1f, + 0xed, 0x02, 0xcd, 0x03, 0xdd, 0x03, 0x0d, 0x04, 0x3d, 0x04, 0x16, 0xb5, 0x17, 0x57, 0xbc, 0x17, + 0x0c, 0x03, 0x0c, 0x02, 0xe2, 0x21, 0x21, 0xd2, 0x21, 0x20, 0xc2, 0x21, 0x1f, 0x42, 0xa0, 0xc0, + 0x02, 0x21, 0x1e, 0x4a, 0x11, 0x0d, 0xf0, 0x00, 0x42, 0x61, 0x2e, 0xd0, 0xf5, 0x40, 0xdc, 0xed, + 0xc7, 0x35, 0x05, 0x47, 0xb2, 0x02, 0xc6, 0xfc, 0x00, 0x0c, 0x03, 0x0c, 0x12, 0xe2, 0x21, 0x21, + 0xd2, 0x21, 0x20, 0xc2, 0x21, 0x1f, 0x42, 0xa0, 0xc0, 0x02, 0x21, 0x1e, 0x4a, 0x11, 0x0d, 0xf0, + 0x82, 0x61, 0x12, 0xe2, 0x21, 0x2e, 0x2c, 0x04, 0xd0, 0x44, 0xc0, 0x00, 0x04, 0x40, 0x42, 0x61, + 0x16, 0xc0, 0x20, 0x91, 0x00, 0x1d, 0x40, 0x22, 0x61, 0x17, 0xe0, 0x35, 0x81, 0x32, 0x61, 0x1c, + 0x30, 0x30, 0xf5, 0x32, 0x61, 0x1d, 0x45, 0x5d, 0x00, 0x02, 0x21, 0x12, 0x32, 0x21, 0x16, 0x22, + 0x61, 0x1b, 0x22, 0x61, 0x2b, 0x00, 0x1d, 0x40, 0x00, 0xcc, 0xa1, 0x22, 0x21, 0x17, 0x00, 0x03, + 0x40, 0x00, 0x00, 0x91, 0x32, 0x21, 0x1d, 0x00, 0xcc, 0x20, 0xc2, 0x61, 0x18, 0xc0, 0xc0, 0xf5, + 0x85, 0x6b, 0x00, 0x00, 0x42, 0x11, 0x02, 0x21, 0x2b, 0x22, 0x21, 0x1c, 0x40, 0x4c, 0x20, 0xcd, + 0x04, 0x20, 0x20, 0xf4, 0x22, 0x61, 0x19, 0x00, 0x22, 0x82, 0x27, 0xb4, 0x1b, 0x0b, 0x60, 0x52, + 0x21, 0x1c, 0x62, 0x61, 0x1b, 0x40, 0xc5, 0x80, 0x57, 0x3c, 0x0d, 0x27, 0xbc, 0x0a, 0x82, 0xc0, + 0xfe, 0x72, 0x21, 0x1c, 0x82, 0x61, 0x1b, 0xca, 0xc7, 0x32, 0x21, 0x1d, 0x20, 0xcc, 0xc0, 0x2d, + 0x0c, 0x85, 0x56, 0x00, 0x32, 0x21, 0x1d, 0x22, 0x61, 0x2d, 0x22, 0x61, 0x2c, 0x92, 0x21, 0x18, + 0x2d, 0x0c, 0x90, 0x90, 0xf4, 0x92, 0x61, 0x1a, 0x05, 0x66, 0x00, 0x02, 0x21, 0x2d, 0x32, 0x21, + 0x2c, 0x00, 0x52, 0x11, 0x42, 0x21, 0x1a, 0x22, 0x21, 0x19, 0x50, 0x44, 0x20, 0xcd, 0x04, 0x30, + 0x22, 0x82, 0x27, 0xb4, 0x11, 0x62, 0x21, 0x1c, 0x0b, 0x03, 0x4a, 0xc6, 0x67, 0x3c, 0x07, 0x27, + 0xbc, 0x04, 0xca, 0xc6, 0x02, 0xc3, 0xfe, 0x20, 0xcc, 0xc0, 0x00, 0x1d, 0x40, 0x22, 0x21, 0x1b, + 0x00, 0x3e, 0xa1, 0x00, 0x22, 0x11, 0x20, 0x20, 0x20, 0x22, 0x61, 0x15, 0xed, 0x02, 0x85, 0x65, + 0x00, 0x37, 0x3c, 0x0e, 0x37, 0x9c, 0x28, 0x32, 0x21, 0x12, 0x00, 0x1d, 0x40, 0x00, 0x33, 0xa1, + 0x27, 0xb3, 0x1c, 0x0c, 0x03, 0x02, 0x21, 0x1e, 0xc2, 0x21, 0x1f, 0xd2, 0x21, 0x20, 0xe2, 0x21, + 0x15, 0x42, 0xa0, 0xc0, 0x0b, 0xee, 0x2d, 0x0e, 0xe2, 0x21, 0x21, 0x4a, 0x11, 0x0d, 0xf0, 0x00, + 0x0c, 0x03, 0x02, 0x21, 0x1e, 0xc2, 0x21, 0x1f, 0xd2, 0x21, 0x20, 0x2d, 0x0e, 0x42, 0xa0, 0xc0, + 0xe2, 0x21, 0x21, 0x4a, 0x11, 0x0d, 0xf0, 0x00, 0x00, 0x47, 0x3c, 0x02, 0x86, 0x36, 0x00, 0x09, + 0xd1, 0x40, 0xf4, 0x40, 0x16, 0xe4, 0x00, 0x00, 0x14, 0x40, 0x20, 0xdc, 0x81, 0x00, 0xe2, 0xa1, + 0x00, 0x03, 0xa1, 0x02, 0x61, 0x0d, 0xc8, 0xd1, 0x2d, 0x0d, 0xc0, 0x30, 0xf5, 0x32, 0x61, 0x13, + 0x85, 0x49, 0x00, 0x29, 0xc1, 0x22, 0x61, 0x25, 0xe0, 0x30, 0xf5, 0x32, 0x61, 0x10, 0x2d, 0x0d, + 0x32, 0x21, 0x13, 0x85, 0x59, 0x00, 0x42, 0x21, 0x25, 0x00, 0x32, 0x11, 0xc0, 0x00, 0xf4, 0x22, + 0x21, 0x10, 0x09, 0xe1, 0x30, 0x22, 0x20, 0xdd, 0x02, 0x40, 0x00, 0x82, 0x07, 0xb2, 0x12, 0xca, + 0xd2, 0x0b, 0x54, 0x59, 0xc1, 0xc7, 0x3d, 0x09, 0x07, 0xbd, 0x06, 0xda, 0xdc, 0x62, 0xc4, 0xfe, + 0x69, 0xc1, 0x32, 0x21, 0x13, 0x00, 0xdd, 0xc0, 0x2d, 0x0d, 0x05, 0x45, 0x00, 0xe0, 0xe0, 0xf4, + 0x22, 0x61, 0x27, 0x22, 0x61, 0x26, 0x32, 0x21, 0x13, 0x2d, 0x0d, 0x05, 0x55, 0x00, 0x02, 0x21, + 0x27, 0x32, 0x21, 0x26, 0x00, 0x22, 0x11, 0x48, 0xe1, 0x20, 0x2e, 0x20, 0x30, 0x44, 0x82, 0x47, + 0xb2, 0x29, 0x0b, 0x03, 0xca, 0x22, 0xc7, 0x32, 0x22, 0x47, 0xb2, 0x1f, 0xc2, 0x21, 0x1f, 0xd2, + 0x21, 0x20, 0xe2, 0x21, 0x21, 0x42, 0xa0, 0xc0, 0x02, 0xc3, 0xfe, 0x28, 0xc1, 0x0c, 0x03, 0x00, + 0x22, 0x11, 0x20, 0x20, 0x20, 0x02, 0x21, 0x1e, 0x4a, 0x11, 0x0d, 0xf0, 0x0c, 0x03, 0xc2, 0x21, + 0x1f, 0xd2, 0x21, 0x20, 0xe2, 0x21, 0x21, 0x28, 0xc1, 0x42, 0xa0, 0xc0, 0x00, 0x22, 0x11, 0x20, + 0x20, 0x20, 0x02, 0x21, 0x1e, 0x4a, 0x11, 0x0d, 0xf0, 0x00, 0xcc, 0xb4, 0x82, 0x61, 0x12, 0x0c, + 0x12, 0x85, 0x3d, 0x00, 0x82, 0x21, 0x12, 0x0d, 0x02, 0x09, 0xd1, 0x30, 0xf0, 0x40, 0xdc, 0x33, + 0x09, 0xd1, 0x0c, 0x13, 0x00, 0xdc, 0xc0, 0x00, 0x40, 0xf4, 0x00, 0xc0, 0xf5, 0x49, 0xe1, 0x39, + 0xb1, 0x86, 0x32, 0x00, 0x00, 0x00, 0x13, 0x40, 0x58, 0xd1, 0x2c, 0x00, 0x30, 0x00, 0xc0, 0x00, + 0x55, 0xa1, 0x59, 0xd1, 0x00, 0x00, 0x40, 0xc0, 0x20, 0x91, 0x29, 0x81, 0x00, 0x13, 0x40, 0x80, + 0xdc, 0x81, 0x00, 0xe8, 0xa1, 0x50, 0xc0, 0xf5, 0x3d, 0x0c, 0x05, 0x39, 0x00, 0x29, 0xa1, 0x22, + 0x61, 0x22, 0xd0, 0x30, 0xf5, 0x39, 0x91, 0x28, 0x81, 0x3d, 0x0c, 0x05, 0x49, 0x00, 0x02, 0x21, + 0x22, 0x00, 0x52, 0x11, 0x38, 0xd1, 0x48, 0x91, 0x30, 0x30, 0xf4, 0x50, 0x44, 0x20, 0x42, 0x61, + 0x11, 0x39, 0xe1, 0x00, 0x33, 0x82, 0x37, 0xb4, 0x22, 0x78, 0xd1, 0x0b, 0x80, 0x89, 0xa1, 0x7a, + 0x64, 0x62, 0x61, 0x11, 0x77, 0x36, 0x14, 0x92, 0x21, 0x11, 0x37, 0xb9, 0x0e, 0xa2, 0x21, 0x11, + 0x22, 0xc0, 0xfe, 0xb8, 0xd1, 0x29, 0xa1, 0xaa, 0xab, 0xa2, 0x61, 0x11, 0x22, 0x21, 0x11, 0x30, + 0x22, 0xc0, 0x22, 0x61, 0x11, 0x3d, 0x0c, 0x45, 0x33, 0x00, 0xd0, 0xd0, 0xf4, 0x22, 0x61, 0x24, + 0x22, 0x61, 0x23, 0x3d, 0x0c, 0x22, 0x21, 0x11, 0x05, 0x43, 0x00, 0x02, 0x21, 0x24, 0x32, 0x21, + 0x23, 0x58, 0xe1, 0x00, 0x82, 0x11, 0x80, 0x8d, 0x20, 0x4d, 0x08, 0x30, 0x55, 0x82, 0x57, 0xb8, + 0x10, 0x98, 0xd1, 0x0b, 0x03, 0x9a, 0x48, 0x97, 0x34, 0x07, 0x57, 0xb4, 0x04, 0x02, 0xc3, 0xfe, + 0x4a, 0x49, 0xb8, 0xa1, 0x50, 0xd4, 0xc0, 0x00, 0xbb, 0x11, 0xb0, 0xb0, 0x20, 0xb9, 0xb1, 0x2d, + 0x0d, 0x3d, 0x0c, 0x85, 0x2e, 0x00, 0x3d, 0x0c, 0x29, 0xf1, 0x22, 0x61, 0x28, 0xe0, 0x00, 0xf5, + 0x02, 0x61, 0x10, 0x2d, 0x0d, 0x45, 0x3e, 0x00, 0x42, 0x21, 0x28, 0xd8, 0xe1, 0x52, 0x21, 0x10, + 0x00, 0x62, 0x11, 0x60, 0x55, 0x20, 0x52, 0x61, 0x14, 0x40, 0x0d, 0x82, 0x07, 0xb5, 0x22, 0x88, + 0xd1, 0x0b, 0x94, 0x99, 0xf1, 0x8a, 0x75, 0x72, 0x61, 0x14, 0x87, 0x37, 0x14, 0xa2, 0x21, 0x14, + 0x07, 0xba, 0x0e, 0xb2, 0x21, 0x14, 0x32, 0xc4, 0xfe, 0x28, 0xd1, 0x39, 0xf1, 0xba, 0xb2, 0xb2, + 0x61, 0x14, 0x22, 0x21, 0x14, 0x3d, 0x0c, 0x00, 0x22, 0xc0, 0x22, 0x61, 0x14, 0xc5, 0x28, 0x00, + 0xe0, 0xe0, 0xf4, 0x22, 0x61, 0x2a, 0x22, 0x61, 0x29, 0x3d, 0x0c, 0x22, 0x21, 0x14, 0xc5, 0x38, + 0x00, 0x02, 0x21, 0x2a, 0x00, 0x52, 0x11, 0x42, 0x21, 0x29, 0x50, 0x5e, 0x20, 0x40, 0x8d, 0x82, + 0x87, 0xb5, 0x2c, 0x68, 0xd1, 0x0b, 0x04, 0x6a, 0x55, 0x67, 0x35, 0x23, 0x87, 0xb5, 0x20, 0x38, + 0xb1, 0xc2, 0x21, 0x1f, 0xd2, 0x21, 0x20, 0xe2, 0x21, 0x21, 0x02, 0xc4, 0xfe, 0x28, 0xf1, 0x42, + 0xa0, 0xc0, 0x00, 0x22, 0x11, 0x20, 0x20, 0x20, 0x02, 0x21, 0x1e, 0x4a, 0x11, 0x0d, 0xf0, 0x00, + 0x38, 0xb1, 0xc2, 0x21, 0x1f, 0xd2, 0x21, 0x20, 0xe2, 0x21, 0x21, 0x28, 0xf1, 0x42, 0xa0, 0xc0, + 0x00, 0x22, 0x11, 0x20, 0x20, 0x20, 0x02, 0x21, 0x1e, 0x4a, 0x11, 0x0d, 0xf0, 0x0c, 0x02, 0x0c, + 0x03, 0xc2, 0x21, 0x1f, 0xd2, 0x21, 0x20, 0xe2, 0x21, 0x21, 0x42, 0xa0, 0xc0, 0x02, 0x21, 0x1e, + 0x4a, 0x11, 0x0d, 0xf0, 0x0d, 0xf0, 0x00, 0x00, 0x0d, 0xf0, 0x00, 0x00, 0x0c, 0x02, 0x0d, 0xf0, + 0x00, 0x8c, 0xd4, 0x4a, 0x73, 0x62, 0x03, 0x00, 0x1b, 0x33, 0x62, 0x45, 0x00, 0x1b, 0x55, 0x77, + 0x23, 0xf2, 0x0d, 0xf0, 0xb6, 0x74, 0xe9, 0x62, 0x03, 0x00, 0x1b, 0x33, 0x42, 0xc4, 0xff, 0x62, + 0x45, 0x00, 0x52, 0xc5, 0x01, 0x17, 0x65, 0x24, 0xb6, 0x64, 0xd5, 0x62, 0x03, 0x00, 0x72, 0x03, + 0x01, 0x2b, 0x33, 0x42, 0xc4, 0xfe, 0x62, 0x45, 0x00, 0x72, 0x45, 0x01, 0x2b, 0x55, 0xc6, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x52, 0x20, 0x07, 0xe2, 0xc9, 0x17, 0xe2, 0xda, 0x40, 0x74, 0x41, + 0x0c, 0x38, 0x87, 0x83, 0x62, 0x9c, 0xc7, 0xc0, 0x87, 0x11, 0x3a, 0x88, 0x68, 0x03, 0x78, 0x13, + 0x69, 0x05, 0x68, 0x23, 0x79, 0x15, 0x78, 0x33, 0x69, 0x25, 0x32, 0xc3, 0x10, 0x79, 0x35, 0x52, + 0xc5, 0x10, 0x87, 0x23, 0xe6, 0x37, 0x64, 0x0b, 0x68, 0x03, 0x78, 0x13, 0x8b, 0x33, 0x69, 0x05, + 0x79, 0x15, 0x8b, 0x55, 0x27, 0xe4, 0x08, 0x17, 0xe4, 0x15, 0x07, 0xe4, 0x22, 0x0d, 0xf0, 0x00, + 0x68, 0x03, 0x4b, 0x33, 0x69, 0x05, 0x4b, 0x55, 0x17, 0xe4, 0x04, 0x07, 0xe4, 0x11, 0x0d, 0xf0, + 0x62, 0x13, 0x00, 0x2b, 0x33, 0x62, 0x55, 0x00, 0x2b, 0x55, 0x07, 0xe4, 0x02, 0x0d, 0xf0, 0x00, + 0x62, 0x03, 0x00, 0x62, 0x45, 0x00, 0x0d, 0xf0, 0x16, 0xa4, 0xff, 0x00, 0x23, 0x40, 0x80, 0xb3, + 0x10, 0xb0, 0x33, 0xc0, 0x68, 0x03, 0xac, 0xa7, 0xc0, 0xa7, 0x11, 0x30, 0xaa, 0x80, 0x78, 0x13, + 0x88, 0x23, 0x60, 0x67, 0x81, 0x69, 0x05, 0x98, 0x33, 0x70, 0x78, 0x81, 0x79, 0x15, 0x68, 0x43, + 0x80, 0x89, 0x81, 0x89, 0x25, 0x32, 0xc3, 0x10, 0x90, 0x96, 0x81, 0x92, 0x65, 0x03, 0x52, 0xc5, + 0x10, 0xa7, 0x23, 0xd9, 0x37, 0x64, 0x14, 0x78, 0x13, 0x88, 0x23, 0x60, 0x67, 0x81, 0x69, 0x05, + 0x8b, 0x33, 0x70, 0x78, 0x81, 0x79, 0x15, 0x8b, 0x55, 0x80, 0x68, 0x20, 0x27, 0x64, 0x0c, 0x78, + 0x13, 0x4b, 0x33, 0x60, 0x67, 0x81, 0x69, 0x05, 0x4b, 0x55, 0x6d, 0x07, 0xba, 0x33, 0x17, 0xe4, + 0x06, 0x07, 0xe4, 0x18, 0x0d, 0xf0, 0x00, 0x00, 0x62, 0x03, 0x00, 0x72, 0x03, 0x01, 0x2b, 0x33, + 0x62, 0x45, 0x00, 0x72, 0x45, 0x01, 0x2b, 0x55, 0x07, 0xe4, 0x01, 0x0d, 0xf0, 0x62, 0x03, 0x00, + 0x62, 0x45, 0x00, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x30, 0x72, 0x30, 0x20, 0x61, 0x60, 0x30, 0x31, + 0x60, 0xb6, 0x23, 0x37, 0x60, 0x51, 0x41, 0x37, 0x35, 0x3d, 0x50, 0xf6, 0x40, 0x40, 0xf3, 0x40, + 0x50, 0x44, 0xc0, 0x00, 0x14, 0x40, 0x00, 0x33, 0xa1, 0x22, 0xa0, 0x00, 0x37, 0x36, 0x04, 0x30, + 0x66, 0xc0, 0x1b, 0x22, 0xf0, 0x22, 0x11, 0x30, 0x31, 0x41, 0x0b, 0x44, 0x56, 0xc4, 0xfe, 0x37, + 0x36, 0x01, 0x1b, 0x22, 0x20, 0x50, 0x60, 0x70, 0x25, 0xa3, 0x0d, 0xf0, 0x9c, 0x53, 0x60, 0x20, + 0x60, 0x70, 0x26, 0xb3, 0x0d, 0xf0, 0x00, 0x00, 0x37, 0x36, 0x10, 0x0c, 0x12, 0x7c, 0xf4, 0x70, + 0x24, 0xa3, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x44, 0x49, 0x56, 0x30, 0x0c, 0x02, 0x0d, 0xf0, + 0x7d, 0x02, 0x20, 0x21, 0x60, 0x30, 0x31, 0x60, 0xb6, 0x23, 0x30, 0x50, 0xf2, 0x40, 0x40, 0xf3, + 0x40, 0x47, 0xb5, 0x17, 0x50, 0x44, 0xc0, 0x00, 0x14, 0x40, 0x00, 0x33, 0xa1, 0x37, 0x32, 0x02, + 0x30, 0x22, 0xc0, 0x30, 0x31, 0x41, 0x42, 0xc4, 0xff, 0x56, 0x04, 0xff, 0x37, 0x32, 0x02, 0x30, + 0x22, 0xc0, 0xd6, 0x27, 0x00, 0x20, 0x20, 0x60, 0x0d, 0xf0, 0x00, 0x00, 0xcc, 0x53, 0x00, 0x00, + 0x00, 0x44, 0x49, 0x56, 0x30, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0xb6, 0x23, 0x30, 0x6d, + 0x02, 0x50, 0xf6, 0x40, 0x40, 0xf3, 0x40, 0x47, 0xb5, 0x29, 0x50, 0x44, 0xc0, 0x00, 0x14, 0x40, + 0x00, 0x33, 0xa1, 0x0c, 0x02, 0x37, 0x36, 0x04, 0x30, 0x66, 0xc0, 0x1b, 0x22, 0xf0, 0x22, 0x11, + 0x30, 0x31, 0x41, 0x0b, 0x44, 0x56, 0xc4, 0xfe, 0x37, 0x36, 0x01, 0x1b, 0x22, 0x0d, 0xf0, 0x00, + 0x8c, 0x93, 0x0d, 0xf0, 0x37, 0x36, 0x0c, 0x0c, 0x12, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x44, 0x49, 0x56, 0x30, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x14, 0x40, 0xe6, 0xc4, 0x09, 0x20, 0x33, + 0x81, 0x00, 0x22, 0xa1, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x32, 0xa1, 0x0c, 0x02, 0x0d, 0xf0, 0x00, + 0x00, 0x04, 0x40, 0xe6, 0xc4, 0x09, 0x20, 0x23, 0x81, 0x30, 0x30, 0xb1, 0x0d, 0xf0, 0x00, 0x00, + 0x30, 0x20, 0xb1, 0x30, 0x3f, 0x31, 0x0d, 0xf0, 0x00, 0x04, 0x40, 0xe6, 0xc4, 0x09, 0x20, 0x23, + 0x81, 0x30, 0x30, 0x91, 0x0d, 0xf0, 0x00, 0x00, 0x30, 0x20, 0x91, 0x0c, 0x03, 0x0d, 0xf0, 0x00, + 0xbc, 0x62, 0x0c, 0x07, 0x06, 0x02, 0x00, 0x00, 0xac, 0xe2, 0x20, 0x7f, 0x05, 0x20, 0x21, 0x60, + 0x40, 0xf2, 0x40, 0x00, 0x14, 0x40, 0x00, 0x52, 0xa1, 0x50, 0x28, 0x41, 0x80, 0x65, 0x01, 0x52, + 0xa0, 0x9d, 0x40, 0x55, 0xc0, 0x90, 0x55, 0x01, 0x5a, 0x22, 0x10, 0x77, 0x01, 0x70, 0x22, 0x20, + 0xd6, 0x66, 0x00, 0x1b, 0x22, 0xf0, 0x66, 0x11, 0x8c, 0x06, 0x0d, 0xf0, 0x20, 0x21, 0x41, 0xf0, + 0x22, 0x11, 0x0d, 0xf0, 0xac, 0xe2, 0x0c, 0x07, 0x06, 0x02, 0x00, 0x00, 0xac, 0x62, 0x20, 0x7f, + 0x05, 0x20, 0x21, 0x60, 0x40, 0xf2, 0x40, 0x00, 0x14, 0x40, 0x00, 0x52, 0xa1, 0x50, 0x3b, 0x41, + 0xb0, 0x25, 0x01, 0x52, 0xa4, 0x1d, 0x40, 0x55, 0xc0, 0xc0, 0x55, 0x01, 0x5a, 0x33, 0x10, 0x77, + 0x01, 0x70, 0x33, 0x20, 0x0d, 0xf0, 0x0c, 0x03, 0x0d, 0xf0, 0x00, 0x00, 0xb6, 0x23, 0x28, 0x50, + 0xf2, 0x40, 0x40, 0xf3, 0x40, 0x47, 0xb5, 0x17, 0x50, 0x44, 0xc0, 0x00, 0x14, 0x40, 0x00, 0x33, + 0xa1, 0x37, 0x32, 0x02, 0x30, 0x22, 0xc0, 0x30, 0x31, 0x41, 0x42, 0xc4, 0xff, 0x56, 0x04, 0xff, + 0x37, 0x32, 0x02, 0x30, 0x22, 0xc0, 0x0d, 0xf0, 0xcc, 0x53, 0x00, 0x00, 0x00, 0x44, 0x49, 0x56, + 0x30, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xe0, 0xc9, 0x41, 0xd9, 0x51, 0xe9, + 0x61, 0xf9, 0x71, 0x20, 0x40, 0xf5, 0x30, 0x50, 0xf5, 0x50, 0x62, 0xc1, 0x30, 0xb4, 0xc1, 0x0c, + 0x09, 0xba, 0x66, 0xb7, 0xb6, 0x02, 0x92, 0xc9, 0x01, 0x10, 0x40, 0x40, 0x60, 0x99, 0x81, 0x30, + 0xb2, 0xc1, 0x00, 0x66, 0xa1, 0xba, 0x66, 0xb7, 0xb6, 0x01, 0x1b, 0x99, 0x50, 0x34, 0xc1, 0x9a, + 0x33, 0x2d, 0x06, 0xc8, 0x41, 0xd8, 0x51, 0xe8, 0x61, 0xf8, 0x71, 0x12, 0xc1, 0x20, 0x0d, 0xf0, + 0x00, 0x80, 0xfe, 0x3f, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0xf0, 0x0b, 0xdc, 0xa5, 0x10, 0x40, + 0xc8, 0x12, 0x10, 0x40, 0xfc, 0xa4, 0x10, 0x40, 0x9c, 0xbd, 0x10, 0x40, 0xec, 0x60, 0x00, 0x40, + 0xd0, 0x60, 0x00, 0x40, 0x80, 0x30, 0x10, 0x40, 0x94, 0xbd, 0x10, 0x40, 0x01, 0x00, 0x00, 0x00, + 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x20, 0x00, 0x24, + 0x00, 0x28, 0x00, 0x2c, 0x00, 0x30, 0x00, 0x34, 0x00, 0x40, 0x00, 0x60, 0x00, 0x64, 0x00, 0x68, + 0x00, 0x70, 0x00, 0x74, 0x00, 0x78, 0x00, 0x7c, 0xff, 0xf0, 0xe3, 0xd6, 0xca, 0xbf, 0xb4, 0xaa, + 0xa1, 0x98, 0x8f, 0x87, 0x80, 0x78, 0x72, 0x6b, 0x65, 0x60, 0x5a, 0x55, 0x51, 0x4c, 0x48, 0x44, + 0x40, 0x3c, 0x39, 0x36, 0x33, 0x30, 0x2d, 0x2b, 0x28, 0x26, 0x24, 0x22, 0x20, 0x1e, 0x1d, 0x1b, + 0x19, 0x18, 0x17, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, 0x0f, 0x0e, 0x0e, 0x0d, 0x0c, 0x0b, 0x0b, + 0x0a, 0x0a, 0x09, 0x09, 0x08, 0x08, 0x07, 0x07, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x04, + 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x04, 0x0f, 0x04, 0x1e, 0x04, 0x2d, 0x04, + 0x3d, 0x04, 0x4c, 0x04, 0x5c, 0x04, 0x6d, 0x04, 0x7d, 0x04, 0x8e, 0x04, 0x9e, 0x04, 0xb0, 0x04, + 0xc1, 0x04, 0xd3, 0x04, 0xe5, 0x04, 0xf7, 0x04, 0x09, 0x05, 0x1c, 0x05, 0x2f, 0x05, 0x42, 0x05, + 0x56, 0x05, 0x69, 0x05, 0x7d, 0x05, 0x92, 0x05, 0xff, 0xff, 0xff, 0xff, 0x00, 0x81, 0xfe, 0x3f, + 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x41, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x9d, 0xff, 0x9d, 0xff, 0x9d, 0xff, 0x9d, 0xff, 0x9d, 0xff, 0x9d, 0xff, + 0x9d, 0xff, 0x9d, 0xff, 0x9d, 0xff, 0x9d, 0xff, 0x9d, 0xff, 0x9d, 0xff, 0x9d, 0xff, 0x9d, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, + 0xa9, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, + 0xa9, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, + 0x6c, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, + 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x0c, 0x10, 0x13, 0x16, 0x19, 0x1c, 0x1f, 0x22, 0x24, + 0x27, 0x29, 0x2c, 0x2e, 0x18, 0x24, 0x30, 0x3c, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfb, 0x3a, 0xe8, 0xee, 0x0d, 0x0c, 0xe4, 0x0c, 0x00, 0x00, 0x00, 0xf4, + 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x60, 0x50, 0x18, 0x44, + 0x06, 0x07, 0x2e, 0x00, 0x84, 0x01, 0xa4, 0x01, 0xe4, 0x01, 0xb4, 0x01, 0xa6, 0x01, 0xac, 0x01, + 0xae, 0x01, 0xa4, 0x01, 0xa4, 0x01, 0xa4, 0x01, 0xa4, 0x01, 0xa4, 0x01, 0xa4, 0x01, 0xa4, 0x01, + 0xa4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0xa4, 0x01, 0xb6, 0x01, 0xc4, 0x01, 0xe4, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x42, 0x00, 0x00, 0x80, 0x43, 0x25, 0x73, 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, + 0x0a, 0x00, 0x00, 0x00, 0x65, 0x38, 0x32, 0x36, 0x63, 0x32, 0x62, 0x33, 0x63, 0x39, 0x66, 0x64, + 0x00, 0x00, 0x00, 0x00, 0x65, 0x74, 0x73, 0x20, 0x25, 0x73, 0x20, 0x25, 0x73, 0x0a, 0x00, 0x00, + 0x4e, 0x6f, 0x76, 0x20, 0x32, 0x31, 0x20, 0x32, 0x30, 0x31, 0x34, 0x00, 0x31, 0x37, 0x3a, 0x34, + 0x33, 0x3a, 0x30, 0x39, 0x00, 0x00, 0x00, 0x00, 0x63, 0x68, 0x69, 0x70, 0x20, 0x6f, 0x6e, 0x0a, + 0x00, 0x00, 0x00, 0x00, 0x6f, 0x6f, 0x62, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x61, 0x70, 0x70, 0x5f, + 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x63, 0x00, 0x00, 0x25, 0x73, 0x20, 0x25, 0x75, 0x0a, 0x00, 0x00, + 0x73, 0x65, 0x74, 0x5f, 0x72, 0x78, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x3a, 0x20, 0x72, 0x66, 0x74, + 0x78, 0x3d, 0x25, 0x78, 0x2c, 0x20, 0x72, 0x66, 0x72, 0x78, 0x3d, 0x78, 0x25, 0x78, 0x2c, 0x20, + 0x61, 0x74, 0x74, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x74, 0x78, 0x62, 0x62, 0x3d, 0x30, 0x78, 0x25, + 0x78, 0x2c, 0x20, 0x62, 0x62, 0x72, 0x78, 0x31, 0x3d, 0x30, 0x78, 0x25, 0x78, 0x2c, 0x20, 0x62, + 0x62, 0x72, 0x78, 0x32, 0x3d, 0x30, 0x78, 0x25, 0x78, 0x2c, 0x20, 0x74, 0x64, 0x63, 0x3a, 0x25, + 0x64, 0x2c, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x77, + 0x72, 0x3d, 0x25, 0x6c, 0x64, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x3d, 0x25, 0x6c, 0x64, 0x2c, 0x20, + 0x0a, 0x00, 0x00, 0x00, 0x25, 0x64, 0x5f, 0x25, 0x64, 0x5f, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, + 0x72, 0x78, 0x69, 0x71, 0x5f, 0x72, 0x65, 0x67, 0x3a, 0x20, 0x69, 0x3d, 0x25, 0x64, 0x2c, 0x20, + 0x61, 0x5f, 0x6d, 0x69, 0x73, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x70, 0x5f, 0x6d, 0x69, 0x73, 0x3d, + 0x25, 0x64, 0x0a, 0x00, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x20, 0x25, 0x64, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x30, + 0x78, 0x25, 0x78, 0x20, 0x30, 0x78, 0x25, 0x78, 0x0a, 0x00, 0x00, 0x00, 0x74, 0x78, 0x64, 0x63, + 0x3a, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x3b, 0x20, 0x72, 0x78, 0x64, 0x63, 0x3a, 0x25, 0x64, 0x2c, + 0x25, 0x64, 0x2c, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x54, 0x50, 0x31, 0x0a, + 0x00, 0x00, 0x00, 0x00, 0x54, 0x50, 0x32, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x74, 0x69, 0x6d, 0x65, + 0x3a, 0x25, 0x64, 0x75, 0x73, 0x0a, 0x00, 0x00, 0x30, 0x78, 0x33, 0x38, 0x3a, 0x25, 0x78, 0x0a, + 0x00, 0x00, 0x00, 0x00, 0x41, 0x50, 0x53, 0x54, 0x0a, 0x46, 0x54, 0x3a, 0x25, 0x64, 0x2c, 0x25, + 0x64, 0x2c, 0x25, 0x64, 0x0a, 0x52, 0x4e, 0x3a, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x3b, 0x25, 0x64, + 0x2c, 0x25, 0x64, 0x3b, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x3b, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x3b, + 0x25, 0x64, 0x2c, 0x25, 0x64, 0x3b, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x3b, 0x25, 0x64, 0x2c, 0x25, + 0x64, 0x3b, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x3b, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x3b, 0x25, 0x64, + 0x2c, 0x25, 0x64, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x3b, 0x25, 0x64, + 0x2c, 0x25, 0x64, 0x3b, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x3b, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x0a, + 0x54, 0x42, 0x3a, 0x25, 0x30, 0x32, 0x78, 0x2c, 0x25, 0x30, 0x32, 0x78, 0x2c, 0x25, 0x30, 0x32, + 0x78, 0x2c, 0x25, 0x30, 0x32, 0x78, 0x2c, 0x25, 0x30, 0x32, 0x78, 0x2c, 0x25, 0x30, 0x32, 0x78, + 0x2c, 0x25, 0x30, 0x32, 0x78, 0x2c, 0x25, 0x30, 0x32, 0x78, 0x2c, 0x25, 0x30, 0x32, 0x78, 0x2c, + 0x25, 0x30, 0x32, 0x78, 0x2c, 0x25, 0x30, 0x32, 0x78, 0x2c, 0x25, 0x30, 0x32, 0x78, 0x2c, 0x25, + 0x30, 0x32, 0x78, 0x2c, 0x25, 0x30, 0x32, 0x78, 0x0a, 0x41, 0x50, 0x45, 0x44, 0x0a, 0x00, 0x00, + 0x0a, 0x74, 0x78, 0x20, 0x20, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x20, 0x20, 0x0a, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3a, 0x20, 0x25, + 0x64, 0x20, 0x20, 0x0a, 0x20, 0x72, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x3a, 0x20, 0x25, 0x64, 0x20, 0x0a, 0x00, 0x00, 0x72, 0x65, 0x61, 0x64, 0x20, 0x72, 0x65, 0x67, + 0x61, 0x64, 0x64, 0x72, 0x20, 0x3a, 0x20, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x20, 0x20, 0x20, + 0x3b, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x3a, 0x20, 0x30, 0x78, 0x25, 0x78, 0x0a, 0x00, 0x00, + 0x72, 0x65, 0x61, 0x64, 0x20, 0x72, 0x65, 0x67, 0x20, 0x61, 0x64, 0x64, 0x72, 0x20, 0x3d, 0x3d, + 0x30, 0x20, 0x0a, 0x20, 0x00, 0x00, 0x00, 0x00, 0x25, 0x33, 0x64, 0x2c, 0x25, 0x33, 0x64, 0x3b, + 0x20, 0x00, 0x00, 0x00, 0x74, 0x78, 0x69, 0x71, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x3d, 0x25, 0x64, + 0x2c, 0x20, 0x74, 0x78, 0x69, 0x71, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x3d, 0x25, 0x64, 0x0a, + 0x00, 0x00, 0x00, 0x00, 0x54, 0x58, 0x50, 0x57, 0x31, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, + 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, + 0x64, 0x0a, 0x00, 0x00, 0x54, 0x58, 0x5f, 0x50, 0x57, 0x43, 0x54, 0x52, 0x4c, 0x2c, 0x20, 0x74, + 0x6f, 0x74, 0x5f, 0x70, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x64, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, + 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x63, 0x6f, 0x61, 0x74, 0x74, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x61, + 0x74, 0x74, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x72, 0x66, 0x5f, 0x67, 0x3d, 0x25, 0x78, 0x2c, 0x20, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, + 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x68, 0x70, 0x63, 0x3d, 0x25, 0x64, + 0x2c, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, + 0x5f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x75, 0x6d, 0x3a, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, + 0x6e, 0x75, 0x6d, 0x5f, 0x6b, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, + 0x6f, 0x75, 0x74, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x72, 0x65, 0x67, 0x5f, + 0x69, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x3d, 0x25, 0x64, 0x2c, + 0x20, 0x00, 0x00, 0x00, 0x70, 0x77, 0x63, 0x74, 0x72, 0x6c, 0x3a, 0x20, 0x72, 0x61, 0x74, 0x65, + 0x5f, 0x69, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, + 0x77, 0x65, 0x72, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x5f, 0x70, + 0x6f, 0x77, 0x65, 0x72, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, + 0x74, 0x65, 0x6e, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x72, 0x78, 0x69, 0x71, + 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x73, 0x3a, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x70, 0x77, 0x72, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2d, 0x25, 0x64, 0x2c, 0x20, 0x00, + 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x54, 0x53, 0x2f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x62, 0x65, 0x66, 0x6f, + 0x72, 0x65, 0x20, 0x74, 0x78, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x72, 0x65, 0x67, 0x61, 0x64, + 0x64, 0x72, 0x20, 0x3a, 0x20, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x20, 0x20, 0x20, 0x3b, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x73, 0x3a, 0x20, 0x30, 0x78, 0x25, 0x78, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x78, 0x20, 0x72, 0x65, 0x67, 0x20, 0x61, 0x64, + 0x64, 0x72, 0x20, 0x3d, 0x3d, 0x30, 0x20, 0x0a, 0x20, 0x00, 0x00, 0x00, 0x61, 0x66, 0x74, 0x65, + 0x72, 0x20, 0x74, 0x78, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x72, 0x65, 0x67, 0x61, 0x64, 0x64, + 0x72, 0x20, 0x3a, 0x20, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x20, 0x20, 0x20, 0x3b, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x73, 0x3a, 0x20, 0x30, 0x78, 0x25, 0x78, 0x0a, 0x00, 0x61, 0x66, 0x74, 0x65, + 0x72, 0x20, 0x74, 0x78, 0x20, 0x72, 0x65, 0x67, 0x20, 0x61, 0x64, 0x64, 0x72, 0x20, 0x3d, 0x3d, + 0x30, 0x20, 0x0a, 0x20, 0x00, 0x00, 0x00, 0x00, 0x69, 0x69, 0x31, 0x3d, 0x25, 0x6c, 0x64, 0x3b, + 0x20, 0x69, 0x71, 0x31, 0x3d, 0x25, 0x6c, 0x64, 0x3b, 0x20, 0x71, 0x69, 0x31, 0x3d, 0x25, 0x6c, + 0x64, 0x3b, 0x20, 0x71, 0x71, 0x31, 0x3d, 0x25, 0x6c, 0x64, 0x3b, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x69, 0x69, 0x32, 0x3d, 0x25, 0x6c, 0x64, 0x3b, 0x20, 0x69, 0x71, 0x32, 0x3d, 0x25, 0x6c, 0x64, + 0x3b, 0x20, 0x71, 0x69, 0x32, 0x3d, 0x25, 0x6c, 0x64, 0x3b, 0x20, 0x71, 0x71, 0x32, 0x3d, 0x25, + 0x6c, 0x64, 0x3b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x64, 0x63, 0x5f, 0x69, 0x3d, 0x25, 0x6c, 0x64, + 0x3b, 0x20, 0x64, 0x63, 0x5f, 0x71, 0x3d, 0x25, 0x6c, 0x64, 0x3b, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x77, 0x72, 0x3d, 0x25, 0x6c, 0x64, 0x3b, 0x0a, 0x00, 0x00, 0x00, 0x25, 0x6c, 0x6c, 0x64, + 0x2c, 0x20, 0x25, 0x6c, 0x6c, 0x64, 0x2c, 0x20, 0x25, 0x6c, 0x6c, 0x64, 0x2c, 0x20, 0x25, 0x6c, + 0x6c, 0x64, 0x2c, 0x20, 0x73, 0x69, 0x67, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x3d, 0x25, 0x6c, + 0x6c, 0x64, 0x0a, 0x00, 0x25, 0x6c, 0x64, 0x2c, 0x20, 0x25, 0x6c, 0x64, 0x2c, 0x20, 0x25, 0x6c, + 0x6c, 0x64, 0x2c, 0x20, 0x25, 0x6c, 0x6c, 0x64, 0x2c, 0x20, 0x64, 0x63, 0x5f, 0x70, 0x6f, 0x77, + 0x65, 0x72, 0x3d, 0x25, 0x6c, 0x6c, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x25, 0x6c, 0x64, 0x2c, + 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x3d, 0x25, 0x6c, 0x6c, + 0x64, 0x2c, 0x20, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x3d, 0x25, + 0x6c, 0x6c, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x70, 0x77, 0x72, 0x31, 0x3d, 0x25, 0x6c, 0x6c, + 0x64, 0x2c, 0x20, 0x70, 0x77, 0x72, 0x32, 0x3d, 0x25, 0x6c, 0x6c, 0x64, 0x2c, 0x20, 0x53, 0x4e, + 0x52, 0x31, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x00, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x64, 0x3d, + 0x25, 0x64, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x69, 0x76, 0x3d, 0x25, 0x64, 0x2c, 0x20, + 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x69, 0x76, 0x33, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x00, 0x00, 0x00, + 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x00, + 0x70, 0x77, 0x72, 0x31, 0x3d, 0x25, 0x6c, 0x6c, 0x64, 0x2c, 0x20, 0x70, 0x77, 0x72, 0x32, 0x3d, + 0x25, 0x6c, 0x6c, 0x64, 0x2c, 0x20, 0x53, 0x4e, 0x52, 0x32, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x00, + 0x46, 0x52, 0x45, 0x51, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x3d, 0x25, 0x64, 0x6b, 0x48, + 0x7a, 0x2c, 0x20, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x20, 0x70, + 0x6c, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x73, 0x20, 0x32, + 0x6d, 0x73, 0x21, 0x21, 0x21, 0x0a, 0x00, 0x00, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3d, + 0x25, 0x64, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x71, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3d, + 0x25, 0x64, 0x2c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x01, 0x7c, 0x00, 0x0c, 0x01, 0x00, 0x08, 0x01, 0x08, 0x0c, 0x08, 0x0d, 0x08, 0x0e, + 0x08, 0x0f, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x84, 0xb4, 0x10, 0x40, + 0xaf, 0x04, 0x00, 0x00, 0x0e, 0xf0, 0x01, 0x80, 0x13, 0x8c, 0x12, 0x8d, 0x11, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x34, 0xb9, 0x10, 0x40, 0x60, 0x04, 0x00, 0x00, + 0x0e, 0xc0, 0x01, 0x80, 0x12, 0x8c, 0x11, 0x8d, 0x10, 0x8e, 0x0f, 0x00, 0x20, 0x8a, 0xfe, 0x3f, + 0xf0, 0xf4, 0xfe, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, + + }; + + // const static int eagle_fw1_size = 52080; diff --git a/drivers/net/wireless/esp8089/eagle_fw2.h b/drivers/net/wireless/esp8089/eagle_fw2.h new file mode 100755 index 000000000000..f16556d61325 --- /dev/null +++ b/drivers/net/wireless/esp8089/eagle_fw2.h @@ -0,0 +1,4197 @@ +/* + * Copyright (c) Espressif System + + * Apr 13 2013 16:44:24 + */ + + +static u8 eagle_fw2[] = +{ + 0xe9, 0x03, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x10, 0x40, 0xc8, 0xfc, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x45, 0x45, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0x00, 0xfe, 0xef, 0x3f, 0x0c, 0x09, 0x51, 0xfe, 0xff, 0xc0, 0x20, 0x00, 0x62, 0x25, 0x97, 0xc0, + 0x20, 0x00, 0x72, 0x25, 0x96, 0xc0, 0x20, 0x00, 0x42, 0x25, 0x95, 0xc0, 0x20, 0x00, 0x70, 0x8f, + 0x04, 0x60, 0xa0, 0xf5, 0x52, 0x25, 0x94, 0x92, 0x42, 0x01, 0x92, 0x42, 0x02, 0xf7, 0x67, 0x16, + 0x66, 0x18, 0x13, 0x40, 0x78, 0x41, 0x72, 0x42, 0x03, 0x42, 0x42, 0x04, 0xa2, 0x42, 0x00, 0x50, + 0x88, 0x75, 0x82, 0x42, 0x05, 0x0d, 0xf0, 0x5d, 0x07, 0x4d, 0x06, 0x60, 0x78, 0x41, 0x06, 0xf9, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x60, 0x00, 0x80, 0xfe, 0x3f, 0x28, 0x03, 0x00, 0x60, + 0x00, 0x0a, 0x00, 0x60, 0xd0, 0x4c, 0x00, 0x40, 0x04, 0x4d, 0x00, 0x40, 0xc0, 0x5d, 0x00, 0x40, + 0xb8, 0x5d, 0x00, 0x40, 0x12, 0xc1, 0xe0, 0xe9, 0x41, 0xf9, 0x51, 0x39, 0x01, 0x09, 0x11, 0xd9, + 0x31, 0xc9, 0x21, 0xdd, 0x02, 0x20, 0xc0, 0x75, 0xb6, 0x8c, 0x06, 0x0c, 0x10, 0x0c, 0x1c, 0x46, + 0x00, 0x00, 0x0c, 0x00, 0x9c, 0xfc, 0x26, 0x1c, 0x1f, 0xf6, 0x4c, 0x02, 0xf6, 0x2c, 0x0e, 0x22, + 0xcc, 0xfc, 0x16, 0xa2, 0x14, 0x26, 0x5c, 0x05, 0x32, 0xcc, 0xfa, 0x16, 0x13, 0x14, 0x0c, 0x04, + 0x49, 0x61, 0x0c, 0x04, 0xc6, 0x01, 0x00, 0x0c, 0x10, 0x0c, 0x14, 0x0c, 0x05, 0x59, 0x61, 0x0c, + 0x12, 0xd0, 0xe0, 0x34, 0x00, 0x1e, 0x40, 0x00, 0xf2, 0xa1, 0x9c, 0x64, 0x4d, 0x0f, 0x0c, 0x05, + 0x0c, 0x03, 0x00, 0x32, 0x83, 0x00, 0x33, 0xa1, 0x00, 0x20, 0xa1, 0x01, 0xe2, 0xff, 0xc0, 0x00, + 0x00, 0x46, 0x03, 0x00, 0x0c, 0x02, 0x0c, 0x03, 0x0c, 0x04, 0x5d, 0x0f, 0x01, 0xde, 0xff, 0xc0, + 0x00, 0x00, 0x21, 0xd8, 0xff, 0xd0, 0x09, 0x54, 0xa2, 0xae, 0xcf, 0x2a, 0x00, 0xc0, 0x20, 0x00, + 0x92, 0x20, 0x80, 0xa0, 0x99, 0x10, 0xc0, 0x20, 0x00, 0x92, 0x60, 0x80, 0x0c, 0x48, 0xd0, 0x74, + 0x24, 0xd0, 0x64, 0x14, 0x80, 0x77, 0x10, 0xe0, 0x77, 0x11, 0x70, 0x66, 0x20, 0xc0, 0x66, 0x11, + 0xc0, 0x20, 0x00, 0x52, 0x20, 0x80, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x48, 0x61, 0x52, 0x60, + 0x80, 0xdc, 0x34, 0x42, 0xaf, 0x7f, 0xc0, 0x20, 0x00, 0x32, 0x20, 0x80, 0x40, 0x33, 0x10, 0xc0, + 0x20, 0x00, 0x32, 0x60, 0x80, 0x46, 0x04, 0x00, 0x62, 0xa0, 0x80, 0xc0, 0x20, 0x00, 0x52, 0x20, + 0x80, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x60, 0x80, 0x21, 0xbf, 0xff, 0xb6, 0x2c, 0x44, + 0x26, 0x5c, 0x44, 0x41, 0xbe, 0xff, 0xe0, 0x3e, 0x11, 0x4a, 0x33, 0xc0, 0x20, 0x00, 0x42, 0xa8, + 0x7f, 0x38, 0x03, 0x68, 0x01, 0x40, 0x33, 0x10, 0x42, 0xcc, 0xfe, 0x90, 0x44, 0x11, 0x40, 0x33, + 0x20, 0x26, 0x2c, 0x05, 0x52, 0xa4, 0x00, 0x50, 0x33, 0x20, 0x16, 0x96, 0x06, 0x72, 0x12, 0x01, + 0x09, 0x71, 0xf0, 0x77, 0x20, 0x72, 0x52, 0x01, 0x2d, 0x0e, 0x01, 0xb3, 0xff, 0xc0, 0x00, 0x00, + 0x08, 0x71, 0xc6, 0x02, 0x00, 0x66, 0x5c, 0x08, 0x82, 0x12, 0x03, 0x80, 0x8f, 0x20, 0x82, 0x52, + 0x03, 0xa2, 0xaf, 0xbf, 0xc0, 0x20, 0x00, 0x92, 0x20, 0x80, 0xa0, 0x99, 0x10, 0xc0, 0x20, 0x00, + 0x92, 0x60, 0x80, 0xdc, 0xac, 0x2d, 0x0e, 0x01, 0xa9, 0xff, 0xc0, 0x00, 0x00, 0xd0, 0x27, 0x14, + 0x01, 0xa8, 0xff, 0xc0, 0x00, 0x00, 0x0c, 0x0b, 0xc1, 0xa2, 0xff, 0xc0, 0x20, 0x00, 0xb2, 0x6c, + 0x6d, 0xc8, 0x21, 0xd8, 0x31, 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, + 0x0c, 0x1e, 0xe9, 0x61, 0x86, 0xae, 0xff, 0x42, 0x12, 0x00, 0x26, 0x2c, 0x0a, 0x40, 0x4f, 0x20, + 0x42, 0x52, 0x00, 0x09, 0x71, 0xc6, 0xe3, 0xff, 0x7c, 0xf5, 0x62, 0x12, 0x03, 0x50, 0x5f, 0x30, + 0x40, 0x45, 0x10, 0x60, 0x55, 0x10, 0x52, 0x52, 0x03, 0xc6, 0xf8, 0xff, 0x12, 0xc1, 0xf0, 0x02, + 0x61, 0x00, 0x01, 0x8d, 0xff, 0x82, 0xaf, 0xff, 0x62, 0x10, 0x04, 0x72, 0x10, 0x01, 0x80, 0x56, + 0x30, 0x50, 0x52, 0x10, 0x50, 0x50, 0xf4, 0x16, 0xb5, 0x06, 0x57, 0x07, 0x19, 0x85, 0xd6, 0x04, + 0x71, 0x85, 0xff, 0xc0, 0x20, 0x00, 0x82, 0xa0, 0x00, 0x82, 0x67, 0xc1, 0x3c, 0xd6, 0xc0, 0x20, + 0x00, 0x62, 0x67, 0xc0, 0x06, 0xff, 0xff, 0x80, 0x97, 0x30, 0xa2, 0x10, 0x02, 0x50, 0x99, 0x10, + 0x90, 0x7a, 0x20, 0x90, 0x96, 0x20, 0x70, 0x70, 0xf4, 0x72, 0x50, 0x02, 0x92, 0x50, 0x04, 0x91, + 0x7c, 0xff, 0xc0, 0x20, 0x00, 0xa2, 0x10, 0x00, 0x52, 0x10, 0x03, 0x62, 0x29, 0x69, 0x00, 0xb5, + 0x11, 0xb0, 0x55, 0x20, 0x80, 0xb5, 0x30, 0xb0, 0xb6, 0x10, 0xb7, 0x8a, 0x18, 0x60, 0xa5, 0x10, + 0xa0, 0xa7, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x69, 0x69, 0x0c, 0xb2, 0x05, 0xaa, 0x0b, 0x01, 0x6e, + 0xff, 0x0c, 0x0b, 0xb2, 0x50, 0x02, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0xcc, 0x4d, 0x00, 0x40, 0x12, 0xc1, 0xf0, 0x09, 0x21, 0x71, 0x69, 0xff, 0xc0, 0x20, 0x00, 0x0c, + 0x05, 0x72, 0x27, 0x68, 0x79, 0x01, 0x70, 0x60, 0xf5, 0x70, 0x30, 0xf5, 0x39, 0x11, 0x4d, 0x03, + 0x70, 0x66, 0x10, 0x60, 0x60, 0xf4, 0x2d, 0x06, 0x60, 0x33, 0x30, 0x01, 0x62, 0xff, 0xc0, 0x00, + 0x00, 0x28, 0x01, 0x38, 0x11, 0x7c, 0xf0, 0x00, 0x33, 0x30, 0x30, 0x22, 0x10, 0x20, 0x20, 0xf4, + 0x9c, 0x32, 0x51, 0x59, 0xff, 0x42, 0x15, 0x04, 0x00, 0x62, 0x30, 0x60, 0x44, 0x10, 0x42, 0x55, + 0x04, 0x01, 0xeb, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x08, 0x84, 0xfe, 0x3f, 0x14, 0x84, 0xfe, 0x3f, 0x1a, 0x47, 0x00, 0x00, 0x20, 0xb2, 0xff, 0x3f, + 0x60, 0xe0, 0x10, 0x40, 0x24, 0x84, 0xfe, 0x3f, 0xb8, 0x1c, 0x00, 0x40, 0x14, 0x1d, 0x00, 0x40, + 0x68, 0x2e, 0x00, 0x40, 0x04, 0x2f, 0x00, 0x40, 0x88, 0x0f, 0x00, 0x40, 0xa8, 0x0f, 0x00, 0x40, + 0xcc, 0x24, 0x00, 0x40, 0x48, 0x1d, 0x00, 0x40, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x03, 0x02, 0x61, + 0x02, 0x20, 0xc2, 0x20, 0x45, 0x7a, 0x0d, 0x01, 0xf4, 0xff, 0xc0, 0x00, 0x00, 0x21, 0xec, 0xff, + 0x31, 0xed, 0xff, 0x3c, 0x94, 0x51, 0xec, 0xff, 0x01, 0xf1, 0xff, 0xc0, 0x00, 0x00, 0x2d, 0x0c, + 0x45, 0x7e, 0x03, 0x01, 0xef, 0xff, 0xc0, 0x00, 0x00, 0x0c, 0x13, 0x21, 0x21, 0xff, 0xc0, 0x20, + 0x00, 0x02, 0x22, 0x85, 0x30, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x85, 0x22, 0xa0, 0xa0, + 0x01, 0xe9, 0xff, 0xc0, 0x00, 0x00, 0x85, 0x28, 0x01, 0x45, 0x17, 0x0b, 0x02, 0x0c, 0x33, 0x66, + 0x20, 0x05, 0x85, 0x04, 0x0a, 0x02, 0x0c, 0x33, 0x26, 0x10, 0x02, 0x66, 0x30, 0x05, 0x22, 0x0c, + 0x34, 0x45, 0x10, 0x0a, 0x42, 0x0c, 0x39, 0x66, 0x14, 0x02, 0xc5, 0x03, 0x0a, 0x52, 0x0c, 0x3a, + 0x66, 0x15, 0x05, 0x22, 0xa0, 0x01, 0x85, 0x26, 0x09, 0x10, 0x21, 0x20, 0x45, 0xc3, 0xff, 0x21, + 0xd3, 0xff, 0xc5, 0x83, 0x0e, 0x85, 0x8c, 0x06, 0xc5, 0x93, 0x0d, 0x0c, 0x02, 0x31, 0xd0, 0xff, + 0x0c, 0x04, 0x01, 0xd5, 0xff, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x01, 0xd4, 0xff, 0xc0, 0x00, 0x00, + 0x05, 0x47, 0x00, 0xc5, 0xc6, 0x08, 0x05, 0x21, 0x01, 0x2d, 0x01, 0x05, 0x85, 0x00, 0x21, 0xc9, + 0xff, 0x01, 0xcf, 0xff, 0xc0, 0x00, 0x00, 0x01, 0xcf, 0xff, 0xc0, 0x00, 0x00, 0xc8, 0x31, 0x08, + 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x48, 0xb3, 0xff, 0x3f, 0x98, 0x88, 0xfe, 0x3f, + 0x30, 0x84, 0xfe, 0x3f, 0x3c, 0x84, 0xfe, 0x3f, 0x48, 0x84, 0xfe, 0x3f, 0x00, 0x08, 0x10, 0x40, + 0x2c, 0x02, 0x10, 0x40, 0x00, 0x00, 0x06, 0x00, 0x54, 0x84, 0xfe, 0x3f, 0x2c, 0x24, 0x00, 0x40, + 0x50, 0x4c, 0x00, 0x40, 0x28, 0x4e, 0x00, 0x40, 0xc4, 0x56, 0x00, 0x40, 0x51, 0xf3, 0xff, 0x12, + 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xf2, 0xff, 0xc9, 0x11, 0x57, 0xb0, 0x09, 0x0c, 0x02, 0x22, 0x40, + 0x00, 0x1b, 0x00, 0x57, 0x90, 0xf7, 0x21, 0xee, 0xff, 0x31, 0xee, 0xff, 0x41, 0xef, 0xff, 0x01, + 0xb4, 0xff, 0xc0, 0x00, 0x00, 0x21, 0xed, 0xff, 0x01, 0xf1, 0xff, 0xc0, 0x00, 0x00, 0x01, 0xf0, + 0xff, 0xc0, 0x00, 0x00, 0x21, 0xeb, 0xff, 0x0c, 0x03, 0x01, 0xee, 0xff, 0xc0, 0x00, 0x00, 0xc1, + 0xf4, 0xfe, 0xc0, 0x20, 0x00, 0xc2, 0x2c, 0x66, 0xac, 0x1c, 0xc0, 0x20, 0xf4, 0x8c, 0xb2, 0x0c, + 0x03, 0x05, 0xbd, 0xff, 0x21, 0xed, 0xfe, 0x0c, 0x10, 0x02, 0x42, 0x0a, 0xc0, 0x00, 0xf5, 0x16, + 0xa0, 0x00, 0x21, 0xe0, 0xff, 0x0c, 0x13, 0x20, 0x20, 0x20, 0x85, 0xbb, 0xff, 0x01, 0xe2, 0xff, + 0xc0, 0x00, 0x00, 0x22, 0xa2, 0x0c, 0x85, 0x44, 0x00, 0x05, 0x04, 0x00, 0x0c, 0x02, 0x45, 0x8b, + 0x00, 0x21, 0xd9, 0xff, 0x01, 0x9b, 0xff, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x98, 0x88, 0xfe, 0x3f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 0x00, + 0xe4, 0x05, 0x10, 0x40, 0x00, 0xde, 0xff, 0x3f, 0x00, 0xe1, 0xff, 0x3f, 0x00, 0x02, 0x00, 0x60, + 0x60, 0x84, 0xfe, 0x3f, 0xf9, 0x84, 0x2a, 0x00, 0xa8, 0x58, 0x00, 0x40, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x01, 0xfd, 0xff, 0xc0, 0x00, 0x00, 0x61, 0xf3, 0xff, 0x58, 0xc2, 0x59, 0x06, 0x41, 0xf2, + 0xff, 0x21, 0xcf, 0xfe, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x57, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, + 0x32, 0x62, 0x57, 0x31, 0xee, 0xff, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x51, 0x00, 0x00, 0xf4, 0x30, + 0x00, 0x20, 0xc0, 0x20, 0x00, 0x31, 0xea, 0xff, 0x02, 0x62, 0x51, 0x0c, 0x04, 0x0c, 0x12, 0x01, + 0x7a, 0xff, 0xc0, 0x00, 0x00, 0x71, 0xc0, 0xfe, 0x41, 0xe8, 0xff, 0x72, 0x07, 0x0a, 0x01, 0xe5, + 0xff, 0xac, 0x87, 0x02, 0x20, 0xfe, 0x31, 0xe5, 0xff, 0x66, 0x20, 0x0b, 0x22, 0x14, 0x7e, 0xc0, + 0x20, 0x00, 0x22, 0x63, 0x42, 0xc6, 0x02, 0x00, 0x66, 0x30, 0x08, 0x52, 0x14, 0x7e, 0xc0, 0x20, + 0x00, 0x52, 0x63, 0x41, 0x21, 0xdf, 0xff, 0x01, 0x6e, 0xff, 0xc0, 0x00, 0x00, 0x71, 0xdd, 0xff, + 0xc0, 0x20, 0x00, 0x61, 0xb3, 0xfe, 0x72, 0x66, 0x43, 0xc0, 0x20, 0x00, 0x62, 0x26, 0x43, 0x0c, + 0x22, 0x01, 0x66, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x04, 0x00, 0x02, 0x00, 0xf9, 0x04, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, + 0xff, 0xff, 0xfe, 0xff, 0xff, 0x01, 0x00, 0x02, 0x68, 0x84, 0xfe, 0x3f, 0x70, 0x84, 0xfe, 0x3f, + 0xf0, 0x4c, 0x00, 0x40, 0x0c, 0x08, 0x12, 0xc1, 0xe0, 0xc9, 0x11, 0x09, 0x01, 0xf9, 0x41, 0xd9, + 0x21, 0xe9, 0x31, 0x89, 0x51, 0xe1, 0xf2, 0xff, 0xd1, 0x9e, 0xfe, 0xf1, 0xf2, 0xff, 0xc0, 0x20, + 0x00, 0xc2, 0x2d, 0x42, 0x16, 0x6c, 0x1b, 0xc7, 0x0e, 0x6e, 0xc0, 0x20, 0x00, 0xb1, 0xb9, 0xff, + 0x02, 0xa0, 0xff, 0xa2, 0x0b, 0x04, 0x02, 0x6d, 0x6c, 0x1b, 0xaa, 0xa0, 0xa0, 0x74, 0xa2, 0x4b, + 0x04, 0xc0, 0x20, 0x00, 0x91, 0x91, 0xfe, 0xa2, 0x6d, 0x4b, 0x92, 0x09, 0x0a, 0x01, 0xb5, 0xff, + 0xac, 0x89, 0x02, 0x20, 0xfe, 0x66, 0x20, 0x11, 0x21, 0xb4, 0xff, 0x22, 0x12, 0x7e, 0xc0, 0x20, + 0x00, 0x31, 0xb2, 0xff, 0x22, 0x63, 0x42, 0x46, 0x04, 0x00, 0x66, 0x30, 0x0e, 0x31, 0xae, 0xff, + 0x32, 0x13, 0x7e, 0xc0, 0x20, 0x00, 0x41, 0xad, 0xff, 0x32, 0x64, 0x41, 0xc0, 0x20, 0x00, 0x31, + 0xda, 0xff, 0x32, 0x6d, 0x44, 0xc0, 0x20, 0x00, 0x21, 0xa3, 0xff, 0x0c, 0x43, 0x28, 0x02, 0x32, + 0x6d, 0x44, 0x08, 0x52, 0x28, 0x82, 0xc0, 0x00, 0x00, 0xf7, 0x6c, 0x22, 0xc0, 0x20, 0x00, 0x51, + 0xd3, 0xff, 0x52, 0x6d, 0x44, 0xc0, 0x20, 0x00, 0x42, 0x2d, 0x53, 0x48, 0x24, 0x8c, 0xa4, 0x21, + 0x99, 0xff, 0x28, 0x02, 0x08, 0x62, 0x28, 0x82, 0xc0, 0x00, 0x00, 0x0c, 0x13, 0x39, 0x51, 0x07, + 0x7c, 0x20, 0xc0, 0x20, 0x00, 0x51, 0xca, 0xff, 0x62, 0x2d, 0x43, 0x50, 0x66, 0x10, 0xc0, 0x20, + 0x00, 0x62, 0x6d, 0x43, 0xc0, 0x20, 0x00, 0x42, 0x2d, 0x44, 0x50, 0x44, 0x10, 0xc0, 0x20, 0x00, + 0x42, 0x6d, 0x44, 0xf7, 0x8c, 0x02, 0x06, 0xcd, 0xff, 0xc0, 0x73, 0x05, 0x56, 0xc7, 0x0d, 0xc0, + 0x85, 0x05, 0x56, 0x38, 0x10, 0xc0, 0x9a, 0x04, 0x56, 0xf9, 0x10, 0x07, 0x6c, 0x10, 0xc0, 0x20, + 0x00, 0x0c, 0x1b, 0xb2, 0x6d, 0x44, 0xc0, 0x20, 0x00, 0xa1, 0xba, 0xff, 0xa2, 0x6d, 0x6a, 0x37, + 0x6c, 0x3c, 0xc0, 0x20, 0x00, 0x0c, 0x80, 0x02, 0x6d, 0x44, 0x01, 0xb9, 0xff, 0xc0, 0x00, 0x00, + 0xc0, 0x20, 0x00, 0x42, 0x2d, 0x69, 0x61, 0x58, 0xfe, 0x7c, 0xf7, 0x82, 0x16, 0x03, 0x62, 0x16, + 0x00, 0x00, 0x38, 0x11, 0x70, 0x78, 0x30, 0x80, 0x52, 0x10, 0x50, 0x50, 0xf4, 0x70, 0x66, 0x10, + 0x60, 0x44, 0x10, 0x50, 0x33, 0x20, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x6d, 0x69, 0x47, + 0x6c, 0x12, 0xc0, 0x20, 0x00, 0x1c, 0x07, 0x72, 0x6d, 0x44, 0xc0, 0x20, 0x00, 0x22, 0x2d, 0x66, + 0x0c, 0x03, 0x05, 0x94, 0xff, 0x57, 0x6c, 0x0b, 0xc0, 0x20, 0x00, 0x82, 0xa0, 0x20, 0x82, 0x6d, + 0x44, 0x05, 0xb7, 0xff, 0x67, 0x6c, 0x36, 0xc0, 0x20, 0x00, 0x02, 0xa0, 0x40, 0x02, 0x6d, 0x44, + 0xc0, 0x20, 0x00, 0xb1, 0x41, 0xfe, 0x92, 0x1b, 0x02, 0xb2, 0x1b, 0x03, 0xa2, 0x2d, 0x69, 0x00, + 0x0b, 0x11, 0x00, 0xbb, 0x20, 0xb0, 0xaa, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x6d, + 0x69, 0x0c, 0xb2, 0x85, 0x5c, 0x0b, 0x41, 0x38, 0xfe, 0x0c, 0x03, 0x32, 0x54, 0x02, 0x77, 0x6c, + 0x0d, 0xc0, 0x20, 0x00, 0x0c, 0xa2, 0x52, 0xa0, 0x80, 0x52, 0x6d, 0x44, 0xc5, 0x5a, 0x0b, 0xc0, + 0x20, 0x00, 0x72, 0x2d, 0x44, 0x0c, 0x16, 0x69, 0x51, 0x46, 0x94, 0xff, 0x21, 0x8b, 0xff, 0x31, + 0x8b, 0xff, 0x42, 0xa2, 0x60, 0x01, 0xe6, 0xfe, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x82, 0x21, + 0x05, 0x16, 0x58, 0x00, 0x22, 0xa0, 0x02, 0x85, 0xd0, 0x08, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, + 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x21, 0x7f, 0xff, 0x31, 0x80, 0xff, 0x42, + 0xa2, 0x67, 0x01, 0xdb, 0xfe, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x21, 0x7b, 0xff, 0x31, 0x7b, + 0xff, 0x42, 0xa2, 0x6e, 0x01, 0xd7, 0xfe, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x66, 0x92, 0x0c, 0x0c, 0xd2, 0x45, 0x02, 0x00, 0x0c, 0xa2, 0x05, + 0x02, 0x00, 0xc6, 0x01, 0x00, 0x0c, 0xd0, 0x07, 0x12, 0x02, 0x45, 0x01, 0x00, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x5f, 0x4c, 0x3f, 0x00, 0x40, + 0x12, 0xc1, 0xf0, 0x29, 0x11, 0x09, 0x01, 0x01, 0xfd, 0xff, 0xc0, 0x00, 0x00, 0x42, 0x02, 0x40, + 0x08, 0x11, 0x21, 0xf8, 0xff, 0x31, 0xf8, 0xff, 0x40, 0x22, 0xd1, 0x3a, 0x22, 0xc0, 0x20, 0x00, + 0x32, 0x22, 0x87, 0x77, 0x73, 0x08, 0xc0, 0x20, 0x00, 0x52, 0x22, 0x87, 0x77, 0xf5, 0xf6, 0xc0, + 0x20, 0x00, 0x02, 0x62, 0x80, 0x0c, 0x02, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xec, 0xff, 0xc0, 0x00, 0x00, 0x01, + 0xfc, 0xff, 0x72, 0x02, 0x40, 0x51, 0xe7, 0xff, 0x61, 0xe8, 0xff, 0x70, 0x55, 0xd1, 0x6a, 0x55, + 0xc0, 0x20, 0x00, 0x22, 0x25, 0x87, 0x27, 0x00, 0x08, 0xc0, 0x20, 0x00, 0x82, 0x25, 0x87, 0x07, + 0x88, 0xf6, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0xa0, 0x88, 0xfe, 0x3f, + 0x30, 0x8d, 0xfe, 0x3f, 0x80, 0x61, 0x00, 0x00, 0x40, 0x4f, 0x00, 0x40, 0x94, 0x5e, 0x00, 0x40, + 0x51, 0xfd, 0xff, 0x0c, 0x07, 0x21, 0xf9, 0xff, 0x12, 0xc1, 0xe0, 0x32, 0xa1, 0x04, 0x6d, 0x03, + 0x09, 0x61, 0x48, 0x02, 0x02, 0xc1, 0x14, 0x22, 0xc2, 0x10, 0x32, 0x54, 0x02, 0x41, 0xf4, 0xff, + 0x32, 0xc1, 0x10, 0x09, 0x11, 0x39, 0x01, 0x32, 0xa4, 0x80, 0x01, 0xf3, 0xff, 0xc0, 0x00, 0x00, + 0x28, 0x41, 0x38, 0x51, 0x42, 0xa0, 0x60, 0x01, 0xf1, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x61, 0x12, + 0xc1, 0x20, 0x0d, 0xf0, 0x10, 0x0e, 0x10, 0x40, 0x68, 0xe6, 0x10, 0x40, 0x70, 0xe7, 0x10, 0x40, + 0x88, 0x09, 0x10, 0x40, 0x4c, 0x54, 0x00, 0x40, 0x5c, 0x54, 0x00, 0x40, 0x8c, 0x60, 0x00, 0x40, + 0x12, 0xc1, 0xf0, 0x29, 0x01, 0x09, 0x11, 0x01, 0xfc, 0xfe, 0xc0, 0x00, 0x00, 0x01, 0xdf, 0xff, + 0x29, 0x00, 0x21, 0xf4, 0xff, 0x01, 0xf7, 0xff, 0xc0, 0x00, 0x00, 0x31, 0xdc, 0xff, 0x41, 0xf2, + 0xff, 0x38, 0x03, 0x21, 0xf2, 0xff, 0x22, 0x63, 0x13, 0x42, 0x63, 0x12, 0x21, 0xf1, 0xff, 0x01, + 0xf2, 0xff, 0xc0, 0x00, 0x00, 0x51, 0xd5, 0xff, 0x58, 0x05, 0x48, 0x01, 0x42, 0x55, 0x03, 0x01, + 0xef, 0xff, 0xc0, 0x00, 0x00, 0x85, 0xf5, 0xff, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0xff, 0xff, 0xff, 0x00, 0xff, 0x0f, 0x00, 0xff, 0x00, 0x0a, 0xf2, 0x3f, 0x00, 0x00, 0x04, 0x00, + 0xc0, 0x31, 0x00, 0x40, 0xc0, 0x52, 0x00, 0x40, 0x30, 0x53, 0x20, 0x12, 0xc1, 0xe0, 0xc2, 0x61, + 0x01, 0xf2, 0x61, 0x04, 0x09, 0x01, 0x31, 0xc5, 0xff, 0xe9, 0x31, 0xd9, 0x21, 0x59, 0x51, 0xdd, + 0x02, 0xe8, 0x12, 0x38, 0x03, 0x42, 0x0e, 0x02, 0x22, 0x0e, 0x03, 0x32, 0x13, 0x02, 0x80, 0x22, + 0x11, 0x40, 0x22, 0x20, 0x01, 0xf3, 0xff, 0xc0, 0x00, 0x00, 0xfd, 0x02, 0x28, 0x1d, 0x45, 0xa7, + 0x05, 0x08, 0x51, 0xcd, 0x02, 0xcc, 0xe2, 0x2d, 0x0d, 0xf0, 0x40, 0xf4, 0x3d, 0x00, 0x01, 0xed, + 0xff, 0xc0, 0x00, 0x00, 0x86, 0x51, 0x00, 0x02, 0x62, 0x01, 0xd2, 0x62, 0x00, 0x62, 0x2d, 0x01, + 0xf2, 0x52, 0x04, 0xcb, 0x66, 0x69, 0x1d, 0x22, 0xa0, 0xf0, 0x0c, 0x1f, 0x61, 0xe1, 0xff, 0xc0, + 0x20, 0x00, 0x52, 0x1d, 0x01, 0x00, 0x55, 0x11, 0xc0, 0x20, 0x00, 0x72, 0x1d, 0x00, 0x70, 0x55, + 0x20, 0x60, 0x55, 0x10, 0x50, 0x5c, 0x41, 0x52, 0xc5, 0xf4, 0x50, 0x50, 0xb4, 0x61, 0xd9, 0xff, + 0x40, 0x55, 0x11, 0xc0, 0x20, 0x00, 0x42, 0x1d, 0x01, 0x00, 0x44, 0x11, 0xc0, 0x20, 0x00, 0x72, + 0x1d, 0x00, 0x70, 0x44, 0x20, 0x60, 0x44, 0x10, 0x50, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x5d, + 0x00, 0x40, 0x40, 0xf5, 0xc0, 0x20, 0x00, 0xb2, 0xa0, 0x8f, 0x2b, 0x3e, 0x98, 0x7c, 0x42, 0x5d, + 0x01, 0x02, 0x03, 0x01, 0x32, 0x03, 0x00, 0x80, 0x00, 0x11, 0x30, 0x00, 0x20, 0x02, 0xc0, 0xf4, + 0x02, 0x5c, 0x08, 0x82, 0x09, 0x06, 0xa2, 0x0e, 0x05, 0xb0, 0x88, 0x10, 0xa0, 0xa0, 0x24, 0xc0, + 0xaa, 0x11, 0xa0, 0x88, 0x20, 0x82, 0x49, 0x06, 0x68, 0x7c, 0x72, 0x0e, 0x04, 0x52, 0x06, 0x04, + 0x70, 0x70, 0x34, 0x20, 0x55, 0x10, 0x70, 0x55, 0x20, 0x52, 0x46, 0x04, 0x41, 0xbf, 0xff, 0xb8, + 0x7c, 0xc0, 0x20, 0x00, 0x92, 0xa0, 0xfe, 0xa2, 0x0b, 0x0d, 0x42, 0x24, 0x80, 0x49, 0x4b, 0x32, + 0x0e, 0x07, 0x32, 0x4b, 0x0c, 0x02, 0x0e, 0x06, 0x20, 0xaa, 0x10, 0x00, 0x01, 0x34, 0x00, 0xaa, + 0x20, 0xa2, 0x4b, 0x0d, 0x78, 0x7c, 0x82, 0x0e, 0x06, 0x62, 0x07, 0x00, 0x80, 0x80, 0x04, 0x90, + 0x66, 0x10, 0x80, 0x66, 0x20, 0x62, 0x47, 0x00, 0x48, 0x7c, 0x52, 0xa0, 0xfd, 0x32, 0x04, 0x00, + 0x22, 0x0e, 0x00, 0x50, 0x33, 0x10, 0x20, 0x57, 0x04, 0x20, 0x24, 0x24, 0xf0, 0x55, 0x11, 0x50, + 0x33, 0x20, 0x32, 0x44, 0x00, 0x45, 0xc3, 0x0c, 0x29, 0x5c, 0x72, 0x0e, 0x06, 0x98, 0x7c, 0x70, + 0x71, 0x41, 0x9c, 0x17, 0x88, 0x09, 0x80, 0xa6, 0x41, 0x80, 0x80, 0x54, 0xf0, 0xaa, 0x20, 0xa0, + 0xaa, 0x11, 0xa0, 0x88, 0x20, 0x89, 0x09, 0xb2, 0x0e, 0x00, 0xb0, 0xb0, 0x34, 0x66, 0x2b, 0x17, + 0xe8, 0x7c, 0xf8, 0x0e, 0x01, 0x9e, 0xff, 0xf0, 0xd0, 0x54, 0xf0, 0xf6, 0x41, 0x00, 0xff, 0x20, + 0xa0, 0xff, 0x11, 0xf0, 0xdd, 0x20, 0xd9, 0x0e, 0xc0, 0x2c, 0x20, 0x85, 0x22, 0x09, 0xc2, 0x21, + 0x01, 0xd2, 0x21, 0x02, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, + 0xe8, 0x2a, 0x00, 0x40, 0x08, 0x58, 0x00, 0x40, 0x32, 0xa0, 0x0c, 0x12, 0xc1, 0xf0, 0xc2, 0x61, + 0x01, 0x02, 0x61, 0x00, 0xcd, 0x02, 0x08, 0x02, 0x28, 0x32, 0x29, 0x10, 0x01, 0xf9, 0xff, 0xc0, + 0x00, 0x00, 0xa1, 0x87, 0xff, 0x58, 0x0c, 0xb8, 0x1c, 0x58, 0x15, 0xc0, 0x20, 0x00, 0x82, 0x1b, + 0x01, 0x00, 0x88, 0x11, 0xc0, 0x20, 0x00, 0x7c, 0x04, 0x38, 0x7c, 0x2b, 0x75, 0xb2, 0x1b, 0x00, + 0x62, 0x1c, 0x04, 0x91, 0x4e, 0xff, 0x0b, 0x66, 0x98, 0x09, 0xb0, 0x88, 0x20, 0xa0, 0x88, 0x10, + 0x92, 0x19, 0x03, 0x80, 0x8c, 0x41, 0x90, 0x66, 0xd1, 0x8a, 0x66, 0x62, 0x47, 0x00, 0x60, 0x68, + 0x41, 0x62, 0x47, 0x01, 0x22, 0x05, 0x00, 0x32, 0x13, 0x00, 0x40, 0x22, 0x10, 0x30, 0x30, 0xb4, + 0x47, 0x63, 0x21, 0x0c, 0x20, 0x00, 0x62, 0x20, 0x62, 0x45, 0x00, 0x28, 0x0c, 0x38, 0x1c, 0x01, + 0xe1, 0xff, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x0c, 0x73, 0x85, 0x99, 0x05, 0xc8, 0x11, 0x08, 0x01, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x0c, 0x10, 0x86, 0xf6, 0xff, 0x00, 0x00, 0x80, 0x51, 0x00, 0x40, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x35, 0xff, 0x08, 0x00, 0x22, 0x00, 0x44, 0xdc, 0x42, 0x28, + 0xe0, 0xdc, 0x02, 0x0c, 0x02, 0x0c, 0x53, 0x01, 0xf9, 0xff, 0xc0, 0x00, 0x00, 0x3d, 0x02, 0x01, + 0xd1, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x41, 0x2c, 0xff, 0x48, + 0x04, 0x0c, 0x12, 0x32, 0x04, 0x44, 0x58, 0xe4, 0xcc, 0x73, 0xcc, 0x55, 0x78, 0x84, 0x0c, 0x06, + 0x70, 0x26, 0x83, 0x20, 0x20, 0x74, 0x0d, 0xf0, 0xb4, 0x18, 0x00, 0x40, 0x12, 0xc1, 0xf0, 0x09, + 0x31, 0x29, 0x01, 0x39, 0x11, 0x3c, 0x42, 0x0c, 0xc3, 0x01, 0xe8, 0xff, 0xc0, 0x00, 0x00, 0x38, + 0x11, 0x29, 0x21, 0x48, 0x01, 0x28, 0x12, 0x40, 0x58, 0x41, 0x42, 0x42, 0x0c, 0x52, 0x42, 0x0d, + 0xe0, 0x44, 0x11, 0xeb, 0x22, 0x01, 0xf4, 0xff, 0xc0, 0x00, 0x00, 0x38, 0x21, 0x2d, 0x03, 0x01, + 0xb9, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x31, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xe0, 0x22, + 0x61, 0x00, 0x02, 0x61, 0x04, 0x01, 0x2c, 0xfe, 0xc0, 0x00, 0x00, 0x22, 0x61, 0x01, 0x0c, 0x13, + 0x1c, 0x02, 0x01, 0xd6, 0xff, 0xc0, 0x00, 0x00, 0x38, 0x01, 0x0c, 0x25, 0x0c, 0x36, 0x29, 0x21, + 0x78, 0x11, 0x28, 0x12, 0x82, 0x17, 0x02, 0x82, 0x42, 0x0c, 0xcb, 0x42, 0x49, 0x31, 0x80, 0x98, + 0x41, 0x0c, 0x64, 0x92, 0x42, 0x0d, 0x72, 0x17, 0x03, 0x62, 0x42, 0x16, 0x72, 0x42, 0x14, 0x52, + 0x42, 0x17, 0x70, 0x78, 0x41, 0x72, 0x42, 0x15, 0xeb, 0x22, 0x01, 0xdb, 0xff, 0xc0, 0x00, 0x00, + 0x45, 0x35, 0x01, 0x38, 0x21, 0xb8, 0x31, 0x2b, 0xa2, 0xa0, 0xa2, 0x21, 0xa2, 0x4b, 0x0c, 0x2d, + 0x03, 0xa0, 0xa8, 0x41, 0xa2, 0x4b, 0x0d, 0x01, 0x9b, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x41, 0x12, + 0xc1, 0x20, 0x0d, 0xf0, 0x0c, 0x03, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xcd, 0x02, 0x85, + 0x10, 0x0e, 0x2d, 0x0c, 0x0c, 0x03, 0x05, 0x11, 0x0e, 0x2d, 0x0c, 0x45, 0xcd, 0x0d, 0x3d, 0x0c, + 0x0c, 0x12, 0x0c, 0x04, 0x85, 0x79, 0x0d, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x7c, 0x84, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0x7f, 0x00, 0xfe, 0xf1, 0x3f, 0x12, 0xc1, 0xf0, 0xc2, + 0x61, 0x01, 0x02, 0x61, 0x00, 0x20, 0xc2, 0x20, 0x21, 0xfa, 0xff, 0x3d, 0x0c, 0x01, 0x8c, 0xfd, + 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x3d, 0x0c, 0x0c, 0x04, 0x45, 0x76, 0x0d, 0x2d, 0x0c, 0x45, 0x02, + 0x0e, 0xdc, 0xe2, 0x31, 0xf4, 0xff, 0x21, 0xf4, 0xff, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x81, 0x30, + 0x00, 0x10, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x81, 0x05, 0x67, 0x08, 0x0c, 0x12, 0x85, 0x8e, 0x08, + 0x05, 0x51, 0x07, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0xc2, + 0x61, 0x01, 0x02, 0x61, 0x00, 0xc5, 0x6a, 0x09, 0x16, 0x62, 0x01, 0x05, 0x9c, 0x0c, 0xcd, 0x02, + 0x96, 0x72, 0x01, 0x85, 0x03, 0x0e, 0x9c, 0x12, 0x45, 0xbc, 0x08, 0xcc, 0xc2, 0x2d, 0x0c, 0x05, + 0x83, 0x07, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x45, 0x72, 0x07, 0x06, 0xfc, + 0xff, 0x00, 0x00, 0x00, 0x3d, 0x02, 0x12, 0xc1, 0xf0, 0x0c, 0x02, 0x09, 0x01, 0x01, 0x8b, 0xff, + 0xc0, 0x00, 0x00, 0x3d, 0x02, 0x01, 0x63, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0xb0, 0xee, 0xfe, 0x3f, 0xa8, 0x84, 0xfe, 0x3f, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x00, 0x74, 0x85, 0xfe, 0x3f, 0x88, 0x84, 0xfe, 0x3f, 0x98, 0x84, 0xfe, 0x3f, + 0xe4, 0x84, 0xfe, 0x3f, 0xec, 0x84, 0xfe, 0x3f, 0x5c, 0x85, 0xfe, 0x3f, 0x68, 0x85, 0xfe, 0x3f, + 0x00, 0x00, 0x00, 0x80, 0xf4, 0x84, 0xfe, 0x3f, 0xfc, 0x84, 0xfe, 0x3f, 0x30, 0x85, 0xfe, 0x3f, + 0xcc, 0x84, 0xfe, 0x3f, 0xdc, 0x84, 0xfe, 0x3f, 0xd4, 0x84, 0xfe, 0x3f, 0xb4, 0x84, 0xfe, 0x3f, + 0xc0, 0x84, 0xfe, 0x3f, 0xac, 0x60, 0x00, 0x40, 0x74, 0x0f, 0x00, 0x40, 0x80, 0x0f, 0x00, 0x40, + 0x12, 0xc1, 0x90, 0x02, 0x61, 0x19, 0x88, 0x12, 0xc2, 0x61, 0x1a, 0x02, 0x08, 0x07, 0x32, 0x08, + 0x06, 0x80, 0x00, 0x11, 0x30, 0x00, 0x20, 0x32, 0x08, 0x05, 0x80, 0x00, 0x11, 0x30, 0x00, 0x20, + 0x32, 0x08, 0x04, 0x80, 0x00, 0x11, 0x30, 0x00, 0x20, 0x32, 0xc0, 0xf9, 0x16, 0xa3, 0x48, 0x0c, + 0x17, 0x0c, 0x56, 0x32, 0xc0, 0xf7, 0x16, 0x23, 0x09, 0xc1, 0x38, 0xfd, 0x42, 0xc0, 0xf6, 0x16, + 0x54, 0x3c, 0x52, 0xc0, 0xf5, 0x16, 0xc5, 0x0a, 0x62, 0xc0, 0xf3, 0x16, 0x96, 0x4c, 0x72, 0xc0, + 0xf2, 0x16, 0x87, 0x22, 0x92, 0xc0, 0xec, 0x16, 0xc9, 0x41, 0xa2, 0xc0, 0xea, 0x16, 0xba, 0x24, + 0xb2, 0xc0, 0xe9, 0x16, 0x4b, 0x2d, 0x1c, 0xbc, 0xc7, 0x90, 0x55, 0xc1, 0xce, 0xff, 0x28, 0x0c, + 0xcc, 0x62, 0x01, 0xa5, 0xfd, 0xc0, 0x00, 0x00, 0x29, 0x0c, 0x28, 0xc2, 0x28, 0x12, 0x16, 0x42, + 0x0f, 0x0c, 0x00, 0x28, 0x22, 0x1b, 0x00, 0x56, 0x82, 0xff, 0x86, 0x3a, 0x00, 0x32, 0x21, 0x16, + 0x45, 0xf5, 0x0d, 0x21, 0xc5, 0xff, 0x32, 0x0c, 0x09, 0x01, 0x29, 0xfd, 0xc0, 0x00, 0x00, 0x22, + 0x21, 0x16, 0x62, 0x0c, 0x09, 0x42, 0x0c, 0x08, 0x32, 0x0c, 0x00, 0x52, 0x0c, 0x0b, 0x72, 0xcc, + 0x0c, 0x59, 0x01, 0x1b, 0x5c, 0x05, 0x99, 0x0d, 0x22, 0x0c, 0x00, 0x32, 0x0c, 0x07, 0x05, 0xab, + 0x0d, 0xc2, 0x21, 0x1a, 0x02, 0x21, 0x19, 0x12, 0xc1, 0x70, 0x0d, 0xf0, 0xcb, 0xc8, 0x92, 0x08, + 0x16, 0x32, 0x08, 0x15, 0x16, 0xe9, 0x47, 0x42, 0x08, 0x13, 0x16, 0x64, 0x0c, 0x0b, 0xa4, 0x16, + 0xba, 0x42, 0xb2, 0xc4, 0xfe, 0x16, 0xab, 0x42, 0x52, 0xc4, 0xfd, 0x0c, 0x42, 0x0c, 0x00, 0x50, + 0x02, 0x83, 0x46, 0x2e, 0x00, 0x32, 0x08, 0x18, 0x22, 0x08, 0x12, 0xcb, 0xa8, 0x02, 0x08, 0x13, + 0xa2, 0x61, 0x18, 0x80, 0x00, 0x11, 0x20, 0x00, 0x20, 0x92, 0xc0, 0xfe, 0x56, 0x49, 0x0e, 0x22, + 0x08, 0x17, 0x42, 0x08, 0x16, 0x80, 0x22, 0x11, 0x40, 0x22, 0x20, 0x42, 0x08, 0x15, 0x80, 0x22, + 0x11, 0x40, 0x22, 0x20, 0x42, 0x08, 0x14, 0x80, 0x22, 0x11, 0x40, 0x22, 0x20, 0x16, 0x42, 0x39, + 0x0c, 0x22, 0x4d, 0x0a, 0x85, 0x54, 0x0d, 0x22, 0x21, 0x18, 0x32, 0x02, 0x0b, 0x42, 0x02, 0x0a, + 0x80, 0x33, 0x11, 0x40, 0x33, 0x20, 0x42, 0x02, 0x09, 0x80, 0x33, 0x11, 0x40, 0x33, 0x20, 0x80, + 0x33, 0x11, 0x42, 0x02, 0x08, 0x22, 0x02, 0x0c, 0x40, 0x33, 0x20, 0x60, 0x33, 0x11, 0xc5, 0xc1, + 0x0c, 0x22, 0x21, 0x18, 0x22, 0x02, 0x0c, 0x45, 0x9b, 0x08, 0x22, 0x21, 0x18, 0x22, 0x02, 0x0c, + 0x05, 0xbc, 0x0c, 0x46, 0xd9, 0x00, 0x0c, 0x00, 0x21, 0x8d, 0xff, 0x31, 0x39, 0xfc, 0xc0, 0x20, + 0x00, 0xc1, 0x8b, 0xff, 0x22, 0x63, 0x4d, 0xc0, 0xc0, 0x20, 0xc0, 0xc0, 0xf4, 0x2d, 0x0c, 0x01, + 0x99, 0xff, 0xc0, 0x00, 0x00, 0xc0, 0x30, 0xa4, 0x21, 0x87, 0xff, 0x01, 0xe9, 0xfc, 0xc0, 0x00, + 0x00, 0x06, 0xc7, 0xff, 0x52, 0x08, 0x17, 0x52, 0xc5, 0xf3, 0x50, 0x76, 0x83, 0x0d, 0x07, 0x22, + 0x0c, 0x00, 0x02, 0x61, 0x16, 0xb6, 0x63, 0x16, 0x3d, 0x00, 0xc5, 0xe1, 0x0d, 0x21, 0x7e, 0xff, + 0x32, 0x0c, 0x09, 0x01, 0xdf, 0xfc, 0xc0, 0x00, 0x00, 0x86, 0xb4, 0xff, 0x00, 0x00, 0x00, 0x02, + 0x61, 0x16, 0x56, 0x74, 0xeb, 0x3d, 0x00, 0x05, 0xe0, 0x0d, 0x22, 0x0c, 0x00, 0x32, 0x21, 0x16, + 0x45, 0xe0, 0x0d, 0x21, 0x76, 0xff, 0x32, 0x0c, 0x08, 0x01, 0xd5, 0xfc, 0xc0, 0x00, 0x00, 0x06, + 0xab, 0xff, 0x00, 0x00, 0x72, 0x61, 0x17, 0x82, 0xc0, 0xff, 0x56, 0x78, 0x12, 0x22, 0xa0, 0x02, + 0x42, 0x21, 0x18, 0xc5, 0x47, 0x0d, 0x21, 0x6e, 0xff, 0x92, 0xa0, 0x05, 0x99, 0x1c, 0x01, 0xcc, + 0xfc, 0xc0, 0x00, 0x00, 0x01, 0x79, 0xff, 0xc0, 0x00, 0x00, 0x45, 0xfd, 0x0d, 0x22, 0x6c, 0x37, + 0x01, 0x77, 0xff, 0xc0, 0x00, 0x00, 0x22, 0x21, 0x18, 0x22, 0x02, 0x0c, 0x05, 0x63, 0x0c, 0x16, + 0xe2, 0xe8, 0x42, 0x21, 0x18, 0x32, 0x04, 0x0b, 0x52, 0x04, 0x0a, 0x80, 0x33, 0x11, 0x50, 0x33, + 0x20, 0x52, 0x04, 0x09, 0x80, 0x33, 0x11, 0x42, 0x04, 0x08, 0x50, 0x33, 0x20, 0x80, 0x33, 0x11, + 0x40, 0x33, 0x20, 0x32, 0x52, 0x10, 0x21, 0x5b, 0xff, 0x01, 0xb9, 0xfc, 0xc0, 0x00, 0x00, 0x22, + 0x21, 0x18, 0xc5, 0x42, 0x08, 0x16, 0x82, 0xe5, 0x32, 0x21, 0x18, 0x22, 0x03, 0x09, 0x32, 0x03, + 0x08, 0x80, 0x22, 0x11, 0x30, 0x22, 0x20, 0x05, 0x5f, 0x07, 0xc6, 0x90, 0xff, 0x02, 0x08, 0x0c, + 0xc2, 0xc8, 0x0c, 0x16, 0x50, 0x2f, 0x42, 0xc0, 0xff, 0x16, 0x04, 0x31, 0x52, 0xc0, 0xfe, 0x16, + 0x65, 0x31, 0x62, 0xc0, 0xfd, 0x56, 0x86, 0xe2, 0x22, 0x08, 0x0d, 0x32, 0xc8, 0x12, 0x05, 0x5f, + 0x0c, 0x42, 0x0c, 0x02, 0x0c, 0x13, 0xc5, 0xa2, 0x0b, 0x06, 0x85, 0xff, 0xcb, 0xc8, 0x02, 0x08, + 0x13, 0x32, 0x08, 0x0c, 0x66, 0x20, 0x1a, 0x21, 0x44, 0xff, 0x01, 0xa1, 0xfc, 0xc0, 0x00, 0x00, + 0x22, 0x0c, 0x00, 0x32, 0x0c, 0x08, 0x42, 0x0c, 0x09, 0x05, 0xcc, 0x0d, 0x46, 0x7c, 0xff, 0x00, + 0x00, 0x00, 0x72, 0xc0, 0xff, 0x56, 0x77, 0x12, 0x21, 0x3d, 0xff, 0x01, 0x99, 0xfc, 0xc0, 0x00, + 0x00, 0x22, 0x0c, 0x00, 0x32, 0xcc, 0x01, 0x32, 0x61, 0x11, 0x05, 0x29, 0x0d, 0x32, 0x21, 0x11, + 0x22, 0x0c, 0x00, 0x42, 0x0c, 0x08, 0x52, 0x0c, 0x09, 0xc5, 0xbd, 0x0d, 0x66, 0x12, 0x14, 0xa1, + 0x34, 0xff, 0x91, 0xfd, 0xfe, 0xc0, 0x20, 0x00, 0x82, 0x29, 0x81, 0xa0, 0x88, 0x20, 0xc0, 0x20, + 0x00, 0x82, 0x69, 0x81, 0x22, 0x0c, 0x00, 0xc5, 0xba, 0xff, 0x0c, 0x02, 0x85, 0x50, 0x08, 0x86, + 0x67, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x03, 0xc5, 0xb9, 0xff, 0x21, 0x2a, 0xff, 0xb2, 0x21, 0x17, + 0xb9, 0x1c, 0x01, 0x83, 0xfc, 0xc0, 0x00, 0x00, 0x46, 0x61, 0xff, 0xcb, 0xc8, 0x22, 0x08, 0x0c, + 0x32, 0xc8, 0x10, 0x02, 0x08, 0x0e, 0x42, 0x08, 0x0d, 0x16, 0x00, 0x08, 0x52, 0x08, 0x17, 0x62, + 0x08, 0x16, 0x80, 0x55, 0x11, 0x60, 0x55, 0x20, 0x45, 0x3b, 0x0c, 0x32, 0x0c, 0x00, 0x42, 0x0c, + 0x01, 0x72, 0x0c, 0x05, 0xb2, 0x0c, 0x06, 0x62, 0x0c, 0x0a, 0x22, 0x61, 0x15, 0x52, 0x0c, 0x0b, + 0x21, 0x1a, 0xff, 0x80, 0x55, 0x11, 0x60, 0x55, 0x20, 0x62, 0x0c, 0x04, 0xb9, 0x01, 0xa2, 0x0c, + 0x07, 0xa9, 0x11, 0x92, 0x0c, 0x08, 0x99, 0x21, 0x82, 0x0c, 0x09, 0x89, 0x31, 0x01, 0x6c, 0xfc, + 0xc0, 0x00, 0x00, 0x62, 0x21, 0x15, 0x16, 0x06, 0x06, 0x22, 0x0c, 0x00, 0x85, 0xc5, 0x0d, 0x32, + 0x0c, 0x03, 0x42, 0x0c, 0x0c, 0x22, 0x61, 0x1b, 0x52, 0x0c, 0x0d, 0x22, 0x21, 0x15, 0x45, 0x1a, + 0x0b, 0xc2, 0x21, 0x1b, 0x01, 0x11, 0xff, 0xc0, 0x00, 0x00, 0x4d, 0x0c, 0x22, 0x21, 0x15, 0x0c, + 0x03, 0x05, 0x20, 0x0b, 0x01, 0x0e, 0xff, 0xc0, 0x00, 0x00, 0x06, 0x0b, 0x00, 0x05, 0x41, 0x0c, + 0x22, 0x0c, 0x00, 0x45, 0x2b, 0x09, 0x21, 0x01, 0xff, 0x32, 0x0c, 0x00, 0x42, 0x0c, 0x04, 0x52, + 0x0c, 0x05, 0x62, 0x0c, 0x06, 0x72, 0x0c, 0x07, 0x92, 0x0c, 0x08, 0x92, 0x61, 0x00, 0x82, 0x0c, + 0x09, 0x82, 0x61, 0x01, 0x01, 0x53, 0xfc, 0xc0, 0x00, 0x00, 0x05, 0xb5, 0xff, 0x06, 0x30, 0xff, + 0x2d, 0x03, 0x85, 0xaf, 0xff, 0x06, 0x2e, 0xff, 0xa2, 0xc8, 0x0c, 0xa2, 0x61, 0x12, 0x05, 0xde, + 0x0d, 0x20, 0xb2, 0x20, 0x22, 0x21, 0x12, 0x32, 0x02, 0x00, 0x22, 0x02, 0x01, 0xb2, 0x1b, 0x02, + 0x80, 0x22, 0x11, 0x30, 0x22, 0x20, 0x20, 0xbb, 0xc0, 0x16, 0x4b, 0xc9, 0x32, 0xa0, 0x80, 0xc5, + 0xa0, 0x0d, 0x22, 0x61, 0x10, 0x85, 0xdb, 0x0d, 0x02, 0x21, 0x10, 0x00, 0x00, 0x90, 0xc0, 0x00, + 0xa0, 0x02, 0x61, 0x13, 0x02, 0xc0, 0x28, 0x02, 0x61, 0x14, 0x07, 0x12, 0x08, 0x00, 0x20, 0x20, + 0x45, 0xda, 0x0d, 0x02, 0x21, 0x14, 0x22, 0x2c, 0x37, 0x00, 0x22, 0xc0, 0x56, 0x92, 0x0d, 0x22, + 0xa0, 0x69, 0x05, 0x12, 0x08, 0x32, 0x21, 0x13, 0x21, 0xde, 0xfe, 0x32, 0x03, 0x2e, 0x01, 0x34, + 0xfc, 0xc0, 0x00, 0x00, 0x46, 0x12, 0xff, 0x22, 0xc8, 0x0c, 0x32, 0xc1, 0x14, 0x42, 0x08, 0x0f, + 0x52, 0x08, 0x0e, 0x80, 0x44, 0x11, 0x50, 0x44, 0x20, 0x52, 0x08, 0x0d, 0x80, 0x44, 0x11, 0x50, + 0x44, 0x20, 0x52, 0x08, 0x0c, 0x80, 0x44, 0x11, 0x50, 0x44, 0x20, 0x42, 0x61, 0x04, 0x45, 0x16, + 0x00, 0x02, 0xa0, 0x0c, 0x1b, 0x22, 0x20, 0x20, 0xf4, 0x27, 0x30, 0x01, 0x0d, 0x02, 0x32, 0xc1, + 0x10, 0x00, 0x20, 0xf4, 0x45, 0x95, 0xff, 0x86, 0x01, 0xff, 0xcb, 0x28, 0x85, 0x08, 0xff, 0x86, + 0xff, 0xfe, 0x00, 0x00, 0x00, 0x2d, 0x03, 0xc5, 0x9f, 0xff, 0x22, 0x21, 0x18, 0x22, 0x02, 0x0c, + 0x45, 0x67, 0x08, 0x22, 0x21, 0x18, 0x22, 0x02, 0x0c, 0xc5, 0x87, 0x0c, 0xc5, 0xa6, 0xff, 0x42, + 0x21, 0x18, 0x21, 0xc0, 0xfe, 0x32, 0x04, 0x0b, 0x52, 0x04, 0x0a, 0x80, 0x33, 0x11, 0x50, 0x33, + 0x20, 0x80, 0x33, 0x11, 0x52, 0x04, 0x09, 0x42, 0x04, 0x08, 0x50, 0x33, 0x20, 0x80, 0x33, 0x11, + 0x40, 0x33, 0x20, 0x01, 0x0f, 0xfc, 0xc0, 0x00, 0x00, 0x06, 0xed, 0xfe, 0x00, 0x00, 0x0c, 0x20, + 0xc6, 0x26, 0xff, 0x0c, 0x30, 0x86, 0x25, 0xff, 0x22, 0x08, 0x0c, 0x32, 0x08, 0x0d, 0x42, 0x08, + 0x0e, 0x52, 0x08, 0x0f, 0x62, 0x08, 0x11, 0x72, 0x08, 0x10, 0x80, 0x66, 0x11, 0x70, 0x66, 0x20, + 0x85, 0x8c, 0x05, 0x86, 0xe2, 0xfe, 0x00, 0x00, 0x00, 0x85, 0x01, 0x08, 0x22, 0xa0, 0xcd, 0x45, + 0x04, 0x08, 0x32, 0x21, 0x13, 0x21, 0xa8, 0xfe, 0x32, 0x03, 0x2e, 0x01, 0xfd, 0xfb, 0xc0, 0x00, + 0x00, 0x06, 0xdb, 0xfe, 0x00, 0x00, 0x2d, 0x03, 0x05, 0x5c, 0x0d, 0x32, 0x0c, 0x09, 0xf6, 0x63, + 0x0e, 0x21, 0xa2, 0xfe, 0x01, 0xf7, 0xfb, 0xc0, 0x00, 0x00, 0xc6, 0xd4, 0xfe, 0x00, 0x00, 0x00, + 0x21, 0xa0, 0xfe, 0x01, 0xf3, 0xfb, 0xc0, 0x00, 0x00, 0x06, 0xd1, 0xfe, 0x22, 0x08, 0x0d, 0x32, + 0xc8, 0x12, 0x42, 0x08, 0x0e, 0x52, 0x08, 0x11, 0x62, 0x08, 0x10, 0x80, 0x55, 0x11, 0x60, 0x55, + 0x20, 0x62, 0x08, 0x0f, 0x85, 0x65, 0x0d, 0x86, 0xc9, 0xfe, 0x00, 0x00, 0x00, 0x22, 0x08, 0x0d, + 0xc5, 0x6f, 0x0d, 0x86, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x22, 0x08, 0x0d, 0x32, 0xc8, 0x12, 0x05, + 0x2e, 0x0c, 0x42, 0x0c, 0x02, 0x0c, 0x23, 0xc5, 0x71, 0x0b, 0xc6, 0xc0, 0xfe, 0x00, 0x00, 0x00, + 0x0c, 0x80, 0xfe, 0x3f, 0x21, 0xff, 0xff, 0x28, 0x02, 0x0d, 0xf0, 0x00, 0x21, 0xfd, 0xff, 0x28, + 0x12, 0x0d, 0xf0, 0x00, 0x31, 0xfb, 0xff, 0x0c, 0x02, 0x29, 0x13, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x21, 0xf8, 0xff, 0x28, 0x22, 0x0d, 0xf0, 0x00, 0xff, 0xff, 0xff, 0x2f, 0xff, 0xff, 0xff, 0x6f, + 0x31, 0xfe, 0xff, 0x41, 0xfe, 0xff, 0x27, 0xb3, 0x06, 0x27, 0x34, 0x03, 0x0c, 0x12, 0x0d, 0xf0, + 0x0c, 0x02, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x29, 0x11, 0x09, 0x21, 0x39, 0x01, 0x02, 0x02, 0x03, + 0x42, 0x02, 0x02, 0x80, 0x00, 0x11, 0x40, 0x00, 0x20, 0x42, 0x02, 0x01, 0x80, 0x00, 0x11, 0x40, + 0x00, 0x20, 0x42, 0x02, 0x00, 0x80, 0x00, 0x11, 0x40, 0x00, 0x20, 0x9c, 0xf0, 0x26, 0x10, 0x6f, + 0x0c, 0xb2, 0x27, 0x10, 0x0a, 0x0c, 0x02, 0x29, 0x03, 0x08, 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x2d, 0x03, 0x05, 0xf9, 0x0b, 0x20, 0x20, 0xf4, 0x46, 0xfb, 0xff, 0x00, 0x00, 0x00, 0x38, 0x11, + 0x22, 0x03, 0x0b, 0x42, 0x03, 0x0a, 0x80, 0x22, 0x11, 0x40, 0x22, 0x20, 0x80, 0x22, 0x11, 0x42, + 0x03, 0x09, 0x32, 0x03, 0x08, 0x40, 0x22, 0x20, 0x80, 0x22, 0x11, 0x30, 0x22, 0x20, 0x05, 0xf8, + 0xff, 0x16, 0xd2, 0x0b, 0x48, 0x11, 0x32, 0x04, 0x0b, 0x52, 0x04, 0x0a, 0x80, 0x33, 0x11, 0x50, + 0x33, 0x20, 0x52, 0x04, 0x09, 0x80, 0x33, 0x11, 0x42, 0x04, 0x08, 0x50, 0x33, 0x20, 0x80, 0x33, + 0x11, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x48, 0x01, 0x38, 0x03, 0x39, 0x04, 0x46, 0x24, 0x00, + 0x38, 0x11, 0x22, 0x03, 0x0b, 0x42, 0x03, 0x0a, 0x80, 0x22, 0x11, 0x40, 0x22, 0x20, 0x80, 0x22, + 0x11, 0x42, 0x03, 0x09, 0x32, 0x03, 0x08, 0x40, 0x22, 0x20, 0x80, 0x22, 0x11, 0x30, 0x22, 0x20, + 0xc5, 0xf2, 0xff, 0x16, 0xb2, 0x06, 0x48, 0x11, 0x72, 0x04, 0x0a, 0x82, 0x04, 0x0d, 0x52, 0x04, + 0x0f, 0x62, 0x04, 0x0e, 0x80, 0x55, 0x11, 0x60, 0x55, 0x20, 0x80, 0x55, 0x11, 0x62, 0x04, 0x0b, + 0x80, 0x55, 0x20, 0x82, 0x04, 0x0c, 0x80, 0x66, 0x11, 0x80, 0x55, 0x11, 0x70, 0x66, 0x20, 0x72, + 0x04, 0x09, 0x80, 0x66, 0x11, 0x80, 0x55, 0x20, 0x70, 0x66, 0x20, 0x72, 0x04, 0x08, 0x80, 0x66, + 0x11, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x59, 0x06, 0x8b, 0x44, 0x32, 0x04, 0x03, 0x52, 0x04, + 0x02, 0x80, 0x33, 0x11, 0x50, 0x33, 0x20, 0x52, 0x04, 0x01, 0x80, 0x33, 0x11, 0x42, 0x04, 0x00, + 0x50, 0x33, 0x20, 0x80, 0x33, 0x11, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x48, 0x01, 0x38, 0x03, + 0x39, 0x04, 0x0c, 0x12, 0x46, 0xc0, 0xff, 0x00, 0xb4, 0xee, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x01, 0xfd, 0xff, 0x08, 0x00, 0x80, 0x42, 0x01, 0x08, 0x00, 0x40, 0x28, 0x31, 0xc0, 0x00, + 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xf6, 0xff, + 0x08, 0x00, 0x08, 0x60, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xcd, 0x03, 0x01, 0xef, 0xff, 0x80, 0x32, 0x01, 0x08, + 0x00, 0x30, 0x28, 0x31, 0x08, 0x00, 0x3d, 0x0c, 0xc0, 0x00, 0x00, 0x01, 0xeb, 0xff, 0x08, 0x00, + 0x08, 0x60, 0x2d, 0x0c, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x0c, 0x03, 0x12, 0xc1, 0xf0, 0x5d, 0x02, 0x09, 0x01, 0x01, 0xe3, 0xff, 0x0c, 0x12, 0x59, 0x00, + 0xc5, 0xfb, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x01, 0xdd, 0xff, 0x08, 0x00, 0x08, 0x10, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xd7, 0xff, 0x08, 0x00, 0x80, 0x32, + 0x01, 0x08, 0x20, 0x30, 0x28, 0x31, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xd0, 0xff, 0x08, 0x00, 0x08, 0x30, 0xc0, 0x00, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xca, 0xff, + 0x08, 0x00, 0x08, 0x40, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xc4, 0xff, 0x08, 0x00, 0x08, 0x50, 0xc0, 0x00, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xbe, 0xff, + 0x08, 0x00, 0x08, 0x60, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xb8, 0xff, 0x08, 0x00, 0x08, 0x70, 0xc0, 0x00, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x21, 0xc0, 0xfc, 0xc0, 0x20, 0x00, 0x22, 0x22, + 0x80, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x45, 0x97, 0x0d, 0x22, 0x02, 0x06, + 0x32, 0xa0, 0x01, 0xc5, 0xee, 0xff, 0x02, 0x21, 0x00, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x0d, 0xf0, 0x00, 0x00, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x60, 0x20, 0x93, 0xc0, 0x3b, + 0x89, 0x90, 0x89, 0xb3, 0x80, 0x82, 0x21, 0x1b, 0x88, 0x9c, 0x88, 0x31, 0xfb, 0xff, 0x20, 0x78, + 0xa0, 0x3a, 0x34, 0xc0, 0x20, 0x00, 0x48, 0x02, 0xc0, 0x20, 0x00, 0x42, 0x63, 0x80, 0x4b, 0x22, + 0x4b, 0x33, 0x77, 0x92, 0xed, 0xe0, 0x28, 0x11, 0x0d, 0xf0, 0x00, 0x00, 0x20, 0x83, 0xc0, 0x3b, + 0x78, 0x80, 0x78, 0xb3, 0x70, 0x72, 0x21, 0x1b, 0x77, 0x9c, 0xa7, 0xa1, 0xef, 0xff, 0x40, 0x97, + 0xa0, 0xaa, 0x34, 0xaa, 0x49, 0xc0, 0x20, 0x00, 0xb2, 0x23, 0x80, 0xc0, 0x20, 0x00, 0xb9, 0x02, + 0x4b, 0x33, 0x4b, 0x22, 0x47, 0x93, 0xed, 0xe0, 0x27, 0x11, 0x0d, 0xf0, 0x80, 0x85, 0xfe, 0x3f, + 0x20, 0x80, 0xfe, 0x3f, 0x12, 0xc1, 0xc0, 0xc9, 0x21, 0xd9, 0x31, 0xe9, 0x41, 0xf9, 0x51, 0x09, + 0x11, 0x59, 0xa1, 0x79, 0x91, 0x29, 0x71, 0x49, 0x81, 0x22, 0xa0, 0x7f, 0x80, 0x43, 0x01, 0x40, + 0x48, 0x31, 0x40, 0x32, 0xa3, 0x39, 0x61, 0xe6, 0x13, 0x02, 0x46, 0x40, 0x00, 0x0c, 0x0c, 0x0c, + 0x00, 0x0c, 0x0f, 0x58, 0xa1, 0x0b, 0x76, 0xdd, 0x05, 0x7a, 0x55, 0x59, 0xb1, 0x1c, 0x83, 0xa2, + 0x0d, 0x00, 0xf0, 0x6c, 0xc0, 0x80, 0xe6, 0x01, 0xe0, 0xe8, 0x31, 0x80, 0xaa, 0x01, 0xa0, 0xa8, + 0x31, 0xa7, 0x2e, 0x3e, 0x80, 0x66, 0x01, 0x28, 0xb1, 0x60, 0x68, 0x31, 0x27, 0xad, 0x33, 0xa0, + 0x70, 0x74, 0xcc, 0xa7, 0x82, 0x0d, 0x01, 0x80, 0x88, 0x01, 0x80, 0x88, 0x31, 0x87, 0x26, 0x22, + 0xd8, 0xa1, 0x1b, 0x00, 0xa0, 0x20, 0x74, 0x2a, 0xff, 0x00, 0x00, 0x74, 0x0a, 0xdd, 0xf0, 0x6c, + 0xc0, 0x80, 0xe6, 0x01, 0xa2, 0x0d, 0x00, 0xe0, 0xe8, 0x31, 0x80, 0xaa, 0x01, 0xa0, 0xa8, 0x31, + 0xa7, 0xae, 0xc0, 0x09, 0xc1, 0x37, 0x2e, 0x0d, 0x62, 0xce, 0xe8, 0x0c, 0xfe, 0x80, 0x66, 0x01, + 0x60, 0x68, 0x31, 0x86, 0x09, 0x00, 0xe0, 0x2e, 0x20, 0x32, 0xa0, 0x06, 0x05, 0x35, 0x0e, 0x0d, + 0x02, 0x0c, 0x63, 0x2d, 0x0e, 0x00, 0x10, 0x40, 0x0c, 0x1e, 0x00, 0xee, 0xa1, 0x0b, 0xee, 0xe0, + 0xe0, 0xf4, 0x45, 0x3a, 0x0e, 0x08, 0xc1, 0x80, 0x62, 0x01, 0x60, 0x68, 0x31, 0xa6, 0x56, 0x04, + 0x0c, 0x56, 0x86, 0x00, 0x00, 0x60, 0x60, 0xf4, 0x09, 0xc1, 0x69, 0x01, 0x78, 0x91, 0x98, 0x81, + 0x88, 0x71, 0x90, 0x90, 0x90, 0x42, 0x19, 0x00, 0x80, 0x8c, 0x90, 0x40, 0x4e, 0xb0, 0x4a, 0x46, + 0x40, 0x40, 0xf4, 0x42, 0x58, 0x00, 0x9c, 0x47, 0x52, 0x19, 0x00, 0x21, 0xc0, 0xff, 0x3d, 0x0c, + 0x6d, 0x0e, 0x78, 0x01, 0x01, 0xca, 0xfa, 0xc0, 0x00, 0x00, 0x08, 0xc1, 0x68, 0x01, 0x0c, 0xfa, + 0xa7, 0x9e, 0x0b, 0x66, 0x56, 0x08, 0xb1, 0xba, 0xff, 0xc2, 0x4b, 0x00, 0xc6, 0x03, 0x00, 0xe8, + 0x61, 0x1b, 0xcc, 0x80, 0xcc, 0x01, 0xc0, 0xc8, 0x31, 0xe0, 0xec, 0xc0, 0x56, 0xde, 0xf0, 0xc8, + 0x21, 0xd8, 0x31, 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x40, 0x0d, 0xf0, 0x00, 0x00, + 0x00, 0x9a, 0x00, 0x60, 0xc0, 0xee, 0xfe, 0x3f, 0x00, 0x00, 0x03, 0x00, 0xa0, 0x0f, 0x00, 0x00, + 0xff, 0xff, 0xfc, 0xff, 0x00, 0x00, 0x01, 0x00, 0x00, 0x9e, 0x00, 0x60, 0x4d, 0x06, 0x12, 0xc1, + 0xc0, 0xc9, 0x51, 0x09, 0x41, 0x59, 0xb1, 0x39, 0x21, 0xd9, 0x61, 0xe9, 0x71, 0xf9, 0x81, 0xed, + 0x07, 0xf1, 0xf4, 0xff, 0xd1, 0xf3, 0xff, 0x22, 0x0f, 0x00, 0x49, 0xd1, 0x8c, 0x82, 0x88, 0x03, + 0x39, 0x21, 0x80, 0x80, 0x05, 0x56, 0xe8, 0x1b, 0x41, 0xf0, 0xff, 0x31, 0x1c, 0xfb, 0xc0, 0x20, + 0x00, 0x22, 0x23, 0xf2, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xf2, 0xc0, 0x20, 0x00, + 0x08, 0x1f, 0xc2, 0xa1, 0xe0, 0x02, 0x20, 0x28, 0xc2, 0x6d, 0x1a, 0xc0, 0x00, 0x00, 0x22, 0xa0, + 0x77, 0x0c, 0x03, 0x1c, 0x24, 0x08, 0x1f, 0x0c, 0x75, 0x02, 0x20, 0x25, 0x0c, 0x06, 0xc0, 0x00, + 0x00, 0x0c, 0x03, 0x1c, 0x84, 0x0c, 0x55, 0x0c, 0x56, 0x08, 0x1f, 0x29, 0x31, 0x02, 0x20, 0x25, + 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x1c, 0x84, 0x0c, 0x55, 0x0c, 0x56, 0x0c, 0x07, + 0x08, 0x1f, 0xcd, 0x02, 0x02, 0x20, 0x27, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, + 0x0c, 0x03, 0x1c, 0x24, 0x0c, 0x75, 0x08, 0x1f, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, + 0x00, 0x00, 0xc9, 0xc1, 0x16, 0x4e, 0x0d, 0x0c, 0x0b, 0x0c, 0x42, 0x0c, 0x0c, 0x02, 0x01, 0x4c, + 0xf2, 0x21, 0x10, 0x09, 0x91, 0xf0, 0x3c, 0x90, 0x32, 0x13, 0x00, 0x20, 0x02, 0x20, 0x30, 0x80, + 0xe4, 0x30, 0x94, 0x04, 0x30, 0x57, 0x04, 0x30, 0x76, 0x04, 0x30, 0x45, 0x04, 0x30, 0x69, 0x04, + 0x30, 0xa8, 0x04, 0x60, 0xaa, 0x80, 0x70, 0x44, 0x80, 0x5a, 0xaa, 0x4a, 0xaa, 0x1c, 0xd4, 0x30, + 0x33, 0x04, 0x9a, 0x33, 0x3a, 0xaa, 0xa0, 0xa0, 0x74, 0xf6, 0x5a, 0x01, 0x0d, 0x0a, 0xb9, 0xe1, + 0x80, 0xa0, 0x24, 0x00, 0x90, 0x74, 0x0d, 0x04, 0x90, 0x99, 0x90, 0xa0, 0x99, 0x90, 0x90, 0x90, + 0xf4, 0x97, 0x34, 0x01, 0x0d, 0x09, 0x00, 0x20, 0xf4, 0x29, 0xa1, 0x00, 0x02, 0x40, 0xb0, 0xa0, + 0x91, 0x07, 0xea, 0x57, 0x80, 0x20, 0xb4, 0x05, 0xc4, 0x03, 0x21, 0xb4, 0xff, 0x3d, 0x01, 0x01, + 0xb1, 0xff, 0x0c, 0xa4, 0x08, 0x10, 0x58, 0x91, 0x02, 0x20, 0x3b, 0x0c, 0x06, 0xc0, 0x00, 0x00, + 0xb8, 0xe1, 0x0c, 0x17, 0x38, 0xb1, 0x42, 0x91, 0x00, 0x22, 0x91, 0x01, 0x88, 0xa1, 0x52, 0x91, + 0x02, 0x62, 0x91, 0x03, 0x50, 0x50, 0x84, 0x60, 0x60, 0x84, 0x00, 0x18, 0x40, 0x20, 0x20, 0x84, + 0x40, 0x40, 0x84, 0x30, 0x38, 0xb0, 0x70, 0x44, 0x11, 0x70, 0x22, 0x11, 0x00, 0x77, 0xa1, 0x70, + 0xbb, 0x20, 0x60, 0x22, 0x20, 0x50, 0x44, 0x20, 0x49, 0x03, 0x29, 0x13, 0x0c, 0x42, 0x1b, 0xcc, + 0xc0, 0xc0, 0x74, 0xf0, 0x3c, 0x90, 0xc0, 0x4e, 0xc0, 0x56, 0xb4, 0xf3, 0x41, 0x9d, 0xff, 0xc0, + 0x20, 0x00, 0x31, 0xc6, 0xfa, 0x22, 0x23, 0xf2, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x78, 0xc1, + 0x1c, 0x84, 0x0c, 0x55, 0x0c, 0x56, 0xf1, 0x93, 0xff, 0x22, 0x63, 0xf2, 0x08, 0x1f, 0x22, 0xa0, + 0x77, 0x02, 0x20, 0x27, 0x0c, 0x03, 0xc0, 0x00, 0x00, 0x78, 0x31, 0x22, 0xa0, 0x77, 0x0c, 0x03, + 0x1c, 0x24, 0x08, 0x1f, 0x0c, 0x75, 0x02, 0x20, 0x27, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x08, 0x1f, + 0x02, 0x20, 0x32, 0xc0, 0x00, 0x00, 0x08, 0x1f, 0x02, 0x20, 0x31, 0xc0, 0x00, 0x00, 0x08, 0x1f, + 0x02, 0x20, 0x2f, 0xc1, 0x88, 0xff, 0xc0, 0x00, 0x00, 0x48, 0x21, 0x38, 0x04, 0x0c, 0x12, 0xc0, + 0x33, 0x20, 0x39, 0x04, 0x22, 0x4f, 0x00, 0x16, 0xbe, 0x0d, 0xf2, 0x21, 0x10, 0x71, 0x82, 0xff, + 0x0c, 0x0c, 0x38, 0xd1, 0x08, 0xb1, 0x0c, 0x49, 0xf0, 0x8c, 0x90, 0x82, 0x18, 0x00, 0x5d, 0x09, + 0x80, 0xa8, 0x04, 0x80, 0x24, 0x04, 0x80, 0xb3, 0x04, 0x2a, 0xbb, 0x80, 0x46, 0x04, 0x80, 0x25, + 0x04, 0x4a, 0x22, 0x80, 0x49, 0x04, 0x4a, 0xaa, 0x80, 0x47, 0x04, 0x80, 0x80, 0xe4, 0x4a, 0xaa, + 0x2a, 0xaa, 0xba, 0xaa, 0x80, 0xb0, 0x24, 0xa0, 0xa0, 0x74, 0xf6, 0x5a, 0x01, 0x5d, 0x0a, 0x50, + 0x60, 0x74, 0x60, 0xa6, 0x90, 0xb0, 0xaa, 0x90, 0xa0, 0xa0, 0xf4, 0x1c, 0xdb, 0x5d, 0x0b, 0xa7, + 0x3b, 0x01, 0x5d, 0x0a, 0x50, 0xb0, 0xf4, 0x00, 0xbb, 0xb0, 0x98, 0x1b, 0xb8, 0x0b, 0x90, 0x29, + 0x84, 0xb0, 0x50, 0x84, 0x90, 0x90, 0x84, 0xb0, 0xb9, 0x84, 0xc0, 0x20, 0x00, 0x80, 0xbb, 0x11, + 0xf0, 0xa8, 0x01, 0x1c, 0xe4, 0x42, 0x6d, 0x1a, 0xba, 0xaa, 0x50, 0xb1, 0x41, 0x70, 0x4c, 0xa0, + 0xba, 0xaa, 0xc0, 0x20, 0x00, 0xa9, 0x04, 0xc0, 0x20, 0x00, 0x1c, 0xfb, 0xb2, 0x6d, 0x1a, 0xc0, + 0x20, 0x00, 0x10, 0x55, 0x01, 0xa0, 0x22, 0x01, 0xa9, 0x04, 0x5a, 0x22, 0x30, 0x56, 0x90, 0x52, + 0x15, 0x00, 0x30, 0x99, 0x11, 0x50, 0x50, 0xa4, 0x90, 0x55, 0xa0, 0x5a, 0x22, 0xc0, 0x20, 0x00, + 0x92, 0xa1, 0xe0, 0x92, 0x6d, 0x1a, 0xc0, 0x20, 0x00, 0x29, 0x04, 0xc0, 0x20, 0x00, 0x52, 0xa1, + 0xe1, 0x52, 0x6d, 0x1a, 0xc0, 0x20, 0x00, 0x29, 0x04, 0x58, 0xf1, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, + 0xc0, 0x9e, 0xc0, 0x56, 0xf9, 0xf2, 0xc8, 0x51, 0xd8, 0x61, 0xe8, 0x71, 0xf8, 0x81, 0x08, 0x41, + 0x12, 0xc1, 0x40, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf7, 0x91, 0xff, 0xff, 0x31, + 0x40, 0xff, 0xc0, 0x20, 0x00, 0x82, 0x23, 0x42, 0x90, 0x88, 0x10, 0xc0, 0x20, 0x00, 0x82, 0x63, + 0x42, 0x0c, 0x17, 0xc0, 0x20, 0x00, 0x62, 0x23, 0x58, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, + 0x63, 0x58, 0x7c, 0xe5, 0xc0, 0x20, 0x00, 0x42, 0x23, 0x58, 0x50, 0x44, 0x10, 0xc0, 0x20, 0x00, + 0x42, 0x63, 0x58, 0xc0, 0x20, 0x00, 0x29, 0xb3, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0xff, 0xff, 0xf7, 0xff, 0x41, 0x2f, 0xff, 0xc0, 0x20, 0x00, 0x71, 0xfc, 0xff, 0x28, 0xb4, 0xc0, + 0x20, 0x00, 0x62, 0x24, 0x42, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x64, 0x42, 0x51, 0xf8, + 0xff, 0xc0, 0x20, 0x00, 0x38, 0xb4, 0x50, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x39, 0xb4, 0x0d, 0xf0, + 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x01, 0x23, 0xff, 0x02, 0x20, 0x01, 0x02, 0x20, 0x11, 0x32, + 0xa0, 0x80, 0xc0, 0x00, 0x00, 0x45, 0x38, 0x04, 0x22, 0xa0, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x01, 0x1a, 0xff, 0x22, 0x20, 0x02, + 0x27, 0x72, 0x1d, 0x32, 0xc0, 0x25, 0x22, 0x00, 0x56, 0x42, 0x00, 0x56, 0x80, 0x22, 0x01, 0x20, + 0x28, 0x31, 0x80, 0x44, 0x01, 0x40, 0x48, 0x31, 0x40, 0x22, 0x90, 0x30, 0x22, 0x80, 0xc5, 0xd0, + 0x03, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x1c, 0x08, 0x62, 0x03, 0x00, 0x1c, 0xc5, 0x47, + 0xa5, 0x04, 0x0c, 0xc7, 0x86, 0x02, 0x00, 0x47, 0xa8, 0x05, 0x72, 0xc4, 0xf0, 0x46, 0x00, 0x00, + 0x0c, 0x07, 0x70, 0x66, 0xc0, 0x62, 0x42, 0x00, 0x7d, 0x08, 0x47, 0x28, 0x01, 0x7d, 0x04, 0x0c, + 0x14, 0x4a, 0x92, 0x1b, 0xa4, 0x4a, 0x83, 0x82, 0x08, 0x00, 0xa0, 0x40, 0x74, 0x70, 0x88, 0xc0, + 0x82, 0x49, 0x00, 0x66, 0x64, 0xea, 0x0d, 0xf0, 0xc8, 0xee, 0xfe, 0x3f, 0x47, 0xf2, 0xfe, 0x3f, + 0x7f, 0xf0, 0xfe, 0x3f, 0xc6, 0xf0, 0xfe, 0x3f, 0x42, 0xc2, 0xfa, 0x20, 0x52, 0xa0, 0x12, 0xc1, + 0xc0, 0xd2, 0x61, 0x05, 0x32, 0x61, 0x0c, 0x02, 0x61, 0x03, 0xe9, 0x61, 0xf9, 0x71, 0xc9, 0x41, + 0x52, 0xc5, 0xc9, 0xcd, 0x02, 0x59, 0x21, 0x49, 0x81, 0x0c, 0x0f, 0x0c, 0x6e, 0x01, 0xf2, 0xff, + 0x0b, 0x32, 0x39, 0xb1, 0xdd, 0x00, 0x02, 0xc0, 0xf8, 0xf6, 0x7c, 0x2a, 0x0c, 0x53, 0x28, 0xb1, + 0x42, 0x0d, 0x56, 0x52, 0x0d, 0x50, 0x59, 0xa1, 0x80, 0x44, 0x01, 0x80, 0x55, 0x01, 0x50, 0x58, + 0x31, 0x40, 0x48, 0x31, 0x50, 0x44, 0xc0, 0x40, 0x22, 0x82, 0x45, 0xe5, 0x0d, 0x58, 0xa1, 0x01, + 0xe5, 0xfe, 0x5a, 0x22, 0x06, 0x18, 0x00, 0xf6, 0xac, 0x2d, 0x32, 0xa0, 0x05, 0x22, 0x21, 0x08, + 0x42, 0x0d, 0x5c, 0x52, 0x0d, 0x56, 0x52, 0x61, 0x09, 0x80, 0x44, 0x01, 0x80, 0x55, 0x01, 0x50, + 0x58, 0x31, 0x40, 0x48, 0x31, 0x50, 0x44, 0xc0, 0x40, 0x22, 0x82, 0x45, 0xe2, 0x0d, 0x58, 0x91, + 0x01, 0xd9, 0xfe, 0x5a, 0x22, 0xc6, 0x0b, 0x00, 0x22, 0x0d, 0x62, 0x62, 0xa0, 0x0d, 0x80, 0x22, + 0x01, 0x20, 0x28, 0x31, 0xc7, 0x36, 0x20, 0x42, 0x0d, 0x5c, 0x42, 0x61, 0x01, 0x80, 0x44, 0x01, + 0x40, 0x48, 0x31, 0x40, 0x42, 0xc0, 0x22, 0x21, 0x02, 0x1c, 0x63, 0x40, 0x22, 0x82, 0x05, 0xdf, + 0x0d, 0x58, 0x11, 0x01, 0xcc, 0xfe, 0x5a, 0x22, 0xd2, 0xcd, 0x01, 0xe2, 0xce, 0xff, 0x72, 0x21, + 0x0c, 0x62, 0x00, 0x80, 0x7a, 0x7f, 0x80, 0x66, 0x01, 0x1b, 0xff, 0x60, 0x68, 0x31, 0x2a, 0x66, + 0x62, 0x47, 0x00, 0x56, 0x2e, 0xf5, 0x21, 0xc6, 0xff, 0x91, 0xc4, 0xff, 0xa8, 0xc1, 0x92, 0x09, + 0x00, 0xb2, 0x0a, 0x00, 0x80, 0x99, 0x01, 0x90, 0x98, 0x31, 0xba, 0x99, 0x92, 0x4a, 0x00, 0x82, + 0x02, 0x6c, 0xa2, 0x02, 0x89, 0x26, 0x18, 0x28, 0x26, 0x1a, 0x25, 0x0c, 0x05, 0xd2, 0xaf, 0x80, + 0x6d, 0x0d, 0x21, 0xbc, 0xff, 0x0c, 0xd3, 0x48, 0xc1, 0xd2, 0x40, 0x57, 0x52, 0x40, 0x76, 0x85, + 0x34, 0x02, 0xc8, 0x41, 0xd8, 0x51, 0xe8, 0x61, 0xf8, 0x71, 0x08, 0x31, 0x12, 0xc1, 0x40, 0x0d, + 0xf0, 0xb2, 0x02, 0x63, 0xe2, 0x02, 0x67, 0xdc, 0x5b, 0xb6, 0x3c, 0x02, 0x86, 0x45, 0x00, 0x21, + 0xae, 0xff, 0x22, 0x02, 0x52, 0x0c, 0x15, 0x80, 0xd2, 0x01, 0xd0, 0xd8, 0x31, 0xc6, 0xef, 0xff, + 0xc7, 0x3e, 0x5d, 0xf1, 0xa9, 0xff, 0xd2, 0x02, 0x65, 0xf0, 0xdd, 0x80, 0xd2, 0x0d, 0x50, 0xf2, + 0x02, 0x68, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0x66, 0x1f, 0x40, 0xc1, 0xa2, 0xfe, 0x32, 0xa0, + 0x05, 0x22, 0x0c, 0x5e, 0xc2, 0x0c, 0x58, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x80, 0xcc, 0x01, + 0xc0, 0xc8, 0x31, 0xc0, 0x22, 0xc0, 0x20, 0x2e, 0x82, 0x45, 0xd2, 0x0d, 0x2a, 0x3c, 0x80, 0x33, + 0x01, 0x28, 0xb1, 0x30, 0x38, 0x31, 0xd0, 0x33, 0xc0, 0x30, 0x22, 0x82, 0x3d, 0x0e, 0x05, 0xd1, + 0x0d, 0x01, 0x94, 0xfe, 0x2a, 0xdd, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0x0c, 0x15, 0x86, 0xd7, + 0xff, 0x32, 0x02, 0x66, 0xf2, 0xa0, 0x0f, 0x30, 0xff, 0xc0, 0xf7, 0x2c, 0x49, 0xf1, 0x8e, 0xff, + 0xd2, 0x02, 0x64, 0xf0, 0xdd, 0x80, 0xd2, 0x0d, 0x62, 0x42, 0x02, 0x68, 0x80, 0xdd, 0x01, 0xd0, + 0xd8, 0x31, 0x66, 0x14, 0xd6, 0xf2, 0x00, 0x64, 0x80, 0xff, 0x01, 0xf0, 0xf8, 0x31, 0xf6, 0xac, + 0x2d, 0x21, 0x84, 0xfe, 0x32, 0xa0, 0x08, 0x22, 0x02, 0x5e, 0xe0, 0x33, 0xc0, 0x80, 0x22, 0x01, + 0x20, 0x28, 0x31, 0x29, 0x01, 0x20, 0x2f, 0xc0, 0x30, 0x22, 0x82, 0x0c, 0x53, 0x05, 0xcb, 0x0d, + 0x08, 0x01, 0x2a, 0x00, 0x86, 0x0a, 0x00, 0x0c, 0x05, 0xd2, 0xaf, 0x80, 0x06, 0xc0, 0xff, 0x21, + 0x79, 0xfe, 0x32, 0xa0, 0x03, 0x22, 0x02, 0x6a, 0xe0, 0x33, 0xc0, 0x80, 0x22, 0x01, 0x20, 0x28, + 0x31, 0xf0, 0x22, 0xc0, 0x30, 0x22, 0x82, 0x20, 0x22, 0xa0, 0x32, 0xa0, 0x16, 0x05, 0xc8, 0x0d, + 0x2a, 0x0f, 0x0c, 0xe3, 0x80, 0x20, 0x01, 0x20, 0x28, 0x31, 0xc0, 0x33, 0xc0, 0xd0, 0x22, 0xc0, + 0x30, 0x22, 0x82, 0x3d, 0x0e, 0x85, 0xc6, 0x0d, 0x01, 0x6b, 0xfe, 0x2a, 0xdd, 0x80, 0xdd, 0x01, + 0xd0, 0xd8, 0x31, 0x46, 0xd5, 0xff, 0xb6, 0x9c, 0x08, 0x21, 0x67, 0xff, 0x22, 0x02, 0x5e, 0x86, + 0xb8, 0xff, 0xd2, 0xaf, 0x80, 0x0c, 0x05, 0x46, 0xa9, 0xff, 0x00, 0x00, 0x12, 0xc1, 0xe0, 0x02, + 0x61, 0x04, 0x01, 0x60, 0xfe, 0x02, 0x20, 0x02, 0x47, 0x70, 0x22, 0x0c, 0x04, 0x21, 0x5d, 0xfe, + 0x31, 0x0c, 0xfe, 0x22, 0x12, 0x3f, 0x22, 0x53, 0x01, 0x3d, 0x01, 0x85, 0xf7, 0x01, 0x21, 0x08, + 0xfe, 0x3d, 0x01, 0x22, 0x12, 0x01, 0x05, 0xed, 0x01, 0x01, 0x56, 0xfe, 0x08, 0x20, 0xb7, 0xf0, + 0x06, 0x0c, 0xe2, 0x8b, 0x31, 0x05, 0xd6, 0xff, 0x08, 0x41, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, + 0x21, 0x50, 0xfe, 0xc0, 0x20, 0x00, 0x22, 0x22, 0x59, 0x20, 0x24, 0xb5, 0x1b, 0x22, 0x20, 0x21, + 0x41, 0x22, 0xd2, 0xf8, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x01, 0x48, 0xfe, 0x08, 0x10, 0x08, 0xa0, 0xc0, 0x00, 0x00, 0x52, 0xae, 0xac, 0x02, 0xae, + 0x78, 0x07, 0x22, 0x01, 0x0d, 0x02, 0x2d, 0x05, 0x07, 0x25, 0x01, 0x2d, 0x00, 0x08, 0x01, 0x00, + 0x22, 0x11, 0x20, 0x20, 0x31, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0xfd, 0x7f, 0xfd, 0xff, + 0x7c, 0xda, 0x41, 0x3b, 0xfe, 0xc0, 0x20, 0x00, 0x92, 0x24, 0x58, 0xa0, 0x99, 0x10, 0xc0, 0x20, + 0x00, 0x92, 0x64, 0x58, 0x1b, 0xa2, 0x2b, 0x82, 0xa0, 0x8a, 0xb3, 0x80, 0x81, 0x21, 0x92, 0xae, + 0x00, 0x82, 0xd8, 0x02, 0x80, 0x80, 0x84, 0xc0, 0x20, 0x00, 0x72, 0x24, 0x59, 0x90, 0x77, 0x10, + 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x64, 0x59, 0x61, 0xf0, 0xff, 0x0c, 0x25, 0xc0, 0x20, + 0x00, 0x32, 0x24, 0x58, 0x60, 0x33, 0x10, 0x50, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x64, 0x58, + 0x0d, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x02, 0x80, 0x02, 0x00, 0x71, 0x25, 0xfe, 0xc0, + 0x20, 0x00, 0x32, 0x27, 0x58, 0x82, 0xa1, 0xa0, 0x17, 0xe3, 0x2f, 0x20, 0x90, 0x24, 0xa1, 0xf9, + 0xff, 0x70, 0x99, 0x11, 0xc0, 0x20, 0x00, 0x62, 0x27, 0x59, 0xa0, 0x66, 0x10, 0x90, 0x66, 0x20, + 0x80, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x67, 0x59, 0x51, 0xf3, 0xff, 0xc0, 0x20, 0x00, 0x42, + 0x27, 0x58, 0x50, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x67, 0x58, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x01, 0xf0, 0xff, 0xff, 0x00, 0x96, 0x00, 0x60, 0x31, 0xfe, 0xff, 0x21, 0xfe, 0xff, 0xc0, 0x20, + 0x00, 0x22, 0x22, 0x89, 0x20, 0x20, 0xb4, 0x3a, 0x22, 0x20, 0x21, 0x41, 0x00, 0x22, 0x11, 0x20, + 0x20, 0x31, 0x0d, 0xf0, 0xff, 0xf1, 0xff, 0xff, 0x40, 0xf2, 0xfe, 0x3f, 0x38, 0xef, 0xfe, 0x3f, + 0x89, 0xf0, 0xfe, 0x3f, 0x71, 0xfc, 0xff, 0x62, 0xa2, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xc9, + 0x11, 0xd9, 0x21, 0x51, 0x03, 0xfe, 0xdd, 0x02, 0xc1, 0x03, 0xfe, 0xc0, 0x20, 0x00, 0x42, 0x25, + 0x59, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x59, 0x0c, 0x54, 0xc0, + 0x20, 0x00, 0x02, 0x25, 0x58, 0x00, 0x0f, 0x41, 0x40, 0x00, 0x10, 0x26, 0x50, 0x0a, 0x08, 0x1c, + 0x02, 0x20, 0x19, 0xc0, 0x00, 0x00, 0x86, 0x05, 0x00, 0x01, 0xeb, 0xff, 0x22, 0x10, 0x00, 0xc0, + 0x20, 0x00, 0x42, 0x25, 0x58, 0x17, 0x64, 0x1d, 0xf6, 0x92, 0x1f, 0x1b, 0x22, 0x22, 0x50, 0x00, + 0x21, 0xe7, 0xff, 0x42, 0x2c, 0x76, 0x9b, 0x32, 0x05, 0x61, 0xff, 0xc8, 0x11, 0xd8, 0x21, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x39, 0x31, 0xb6, 0x92, 0x05, 0x22, 0xae, 0xb0, 0xc6, 0x02, + 0x00, 0x08, 0x1c, 0x08, 0xa0, 0xc0, 0x00, 0x00, 0x38, 0x31, 0x01, 0xdb, 0xff, 0x42, 0xae, 0x6c, + 0x27, 0xa4, 0x6f, 0x52, 0x10, 0x00, 0x62, 0xae, 0x78, 0xf6, 0x95, 0x14, 0x72, 0xae, 0xac, 0x67, + 0x22, 0x01, 0x6d, 0x02, 0x2d, 0x07, 0x67, 0x27, 0x01, 0x2d, 0x06, 0x00, 0x22, 0x11, 0x20, 0x20, + 0x31, 0x71, 0xd3, 0xff, 0x62, 0x9c, 0x3e, 0x72, 0x07, 0x80, 0x27, 0xa6, 0x61, 0x60, 0x46, 0x90, + 0x4a, 0x22, 0x42, 0xc2, 0xfe, 0x1b, 0x22, 0x40, 0x24, 0xb3, 0x20, 0x22, 0x21, 0x00, 0x62, 0x11, + 0x60, 0x60, 0x31, 0x62, 0x5c, 0x3e, 0x16, 0x47, 0x05, 0x22, 0xae, 0x7c, 0x67, 0xa2, 0x35, 0x2a, + 0x46, 0x1b, 0x24, 0x40, 0x24, 0xb3, 0x20, 0x21, 0x21, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x22, + 0x5c, 0x2a, 0x06, 0x09, 0x00, 0x0c, 0x05, 0x8c, 0x83, 0x8c, 0x65, 0x08, 0x1c, 0x02, 0x20, 0x16, + 0xc0, 0x00, 0x00, 0x08, 0x1c, 0x02, 0x20, 0x19, 0x2d, 0x0d, 0xc0, 0x00, 0x00, 0x01, 0xba, 0xff, + 0x0c, 0x02, 0xc6, 0xd1, 0xff, 0x2d, 0x06, 0x62, 0x5c, 0x2a, 0x0c, 0x15, 0xc6, 0xf5, 0xff, 0x67, + 0xa2, 0xb3, 0x42, 0xc6, 0xf0, 0x47, 0xa2, 0x1b, 0x22, 0xc6, 0xf4, 0x86, 0xe7, 0xff, 0x22, 0x9c, + 0x2a, 0x8b, 0x52, 0x67, 0x25, 0x05, 0x72, 0xc2, 0xf8, 0x77, 0xa6, 0xb8, 0x2d, 0x06, 0x62, 0x5c, + 0x2a, 0x46, 0xf5, 0xff, 0x20, 0x22, 0x90, 0x2a, 0x26, 0x42, 0xc2, 0xfe, 0x1b, 0x22, 0x40, 0x24, + 0xb3, 0x20, 0x22, 0x21, 0x46, 0xdd, 0xff, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x38, 0x41, 0x01, + 0xb1, 0xfd, 0x38, 0x03, 0x22, 0x90, 0x2a, 0x57, 0xf3, 0x05, 0x22, 0x50, 0x3e, 0x46, 0x0d, 0x00, + 0x08, 0x10, 0x02, 0x20, 0x16, 0xc0, 0x00, 0x00, 0x72, 0xac, 0x00, 0x62, 0xa0, 0xc9, 0x21, 0xa8, + 0xfd, 0xc0, 0x20, 0x00, 0x58, 0xd2, 0x70, 0x55, 0x10, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x59, + 0xd2, 0x7c, 0xe4, 0xc0, 0x20, 0x00, 0x38, 0xd2, 0x40, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x39, 0xd2, + 0xc0, 0x20, 0x00, 0x22, 0x22, 0x58, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x03, 0x10, 0x31, 0x20, 0x20, 0xc2, 0x20, 0x21, 0x9a, 0xfd, 0x09, + 0x21, 0x22, 0x02, 0x56, 0x05, 0xa7, 0xff, 0x01, 0x97, 0xfd, 0x0c, 0x02, 0x5d, 0x01, 0x1b, 0x62, + 0x5a, 0x42, 0x32, 0x04, 0x00, 0x60, 0x20, 0x74, 0xca, 0x33, 0x32, 0x44, 0x00, 0x66, 0x62, 0xed, + 0x21, 0x95, 0xfe, 0x0c, 0xd3, 0x4d, 0x01, 0x62, 0x00, 0x57, 0x52, 0x00, 0x76, 0x80, 0x66, 0x01, + 0x60, 0x68, 0x31, 0x45, 0xea, 0x01, 0xc8, 0x31, 0x08, 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0xe0, 0x83, 0xfe, 0x3f, 0x32, 0xf0, 0xfe, 0x3f, 0xff, 0x03, 0xfc, 0xff, 0x42, 0xa0, 0x00, 0x12, + 0xc1, 0xe0, 0xe2, 0x61, 0x05, 0xd2, 0x61, 0x04, 0x09, 0x21, 0xc9, 0x31, 0x01, 0xfa, 0xff, 0xcd, + 0x02, 0xdd, 0x03, 0x0c, 0x22, 0x31, 0xf6, 0xff, 0xe2, 0x00, 0x7d, 0x3a, 0x44, 0x80, 0xee, 0x01, + 0x3a, 0x22, 0x42, 0x14, 0x00, 0x42, 0x51, 0x00, 0x22, 0x02, 0x00, 0xe0, 0xe8, 0x31, 0x22, 0x41, + 0x02, 0x0c, 0xd2, 0xe6, 0x7c, 0x20, 0x0c, 0x53, 0x4d, 0x00, 0x42, 0x04, 0x7c, 0x0b, 0x2c, 0x80, + 0x44, 0x01, 0x40, 0x48, 0x31, 0x49, 0x11, 0x40, 0x4e, 0xc0, 0x40, 0x22, 0x82, 0x05, 0x88, 0x0d, + 0xe8, 0x11, 0x2a, 0xee, 0x06, 0x08, 0x00, 0x32, 0x00, 0x7e, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, + 0xe0, 0x33, 0xc0, 0xc7, 0xa2, 0x02, 0x46, 0x42, 0x00, 0x22, 0xcc, 0xfa, 0x20, 0x23, 0x82, 0x32, + 0xa0, 0x05, 0xc5, 0x85, 0x0d, 0x20, 0xee, 0x80, 0x66, 0x1d, 0x0b, 0xd2, 0xaf, 0xfa, 0xd2, 0x41, + 0x00, 0xd2, 0x41, 0x02, 0xc6, 0x08, 0x00, 0x32, 0xcd, 0xfe, 0x56, 0x93, 0x0b, 0x01, 0xd9, 0xff, + 0x32, 0x00, 0x7f, 0x32, 0x41, 0x00, 0x22, 0x00, 0x80, 0x22, 0x41, 0x01, 0x02, 0x00, 0x81, 0x02, + 0x41, 0x02, 0xd2, 0x01, 0x01, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0xe6, 0x7c, 0x2c, 0x32, 0x01, + 0x00, 0x22, 0xcc, 0xff, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, + 0x30, 0x3d, 0xc0, 0x30, 0x22, 0x82, 0x32, 0xa0, 0x05, 0x45, 0x80, 0x0d, 0x02, 0x01, 0x00, 0x80, + 0x00, 0x01, 0x00, 0x08, 0x31, 0x20, 0x00, 0x80, 0x06, 0x08, 0x00, 0x02, 0x01, 0x02, 0x22, 0xa0, + 0x0d, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xd0, 0x00, 0xc0, 0xc7, 0x22, 0x74, 0x32, 0xa0, 0x05, + 0x22, 0xcc, 0xfa, 0x20, 0x20, 0x82, 0x85, 0x7d, 0x0d, 0xd0, 0x02, 0x80, 0xa1, 0xbf, 0xff, 0x0a, + 0x9e, 0x41, 0x43, 0xfd, 0x90, 0x90, 0x74, 0x60, 0x99, 0x11, 0xc0, 0x20, 0x00, 0x82, 0x24, 0xda, + 0xa0, 0x88, 0x10, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x64, 0xda, 0x0c, 0x17, 0xc0, 0x20, + 0x00, 0x68, 0xd4, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x69, 0xd4, 0x7c, 0xe5, 0xc0, 0x20, 0x00, + 0x38, 0xd4, 0x50, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x39, 0xd4, 0xc8, 0x31, 0xd8, 0x41, 0xe8, 0x51, + 0x08, 0x21, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0xa2, 0xcd, 0xfd, 0x56, 0x4a, 0xf5, 0x01, 0xa9, 0xff, + 0x32, 0x00, 0x82, 0x32, 0x41, 0x00, 0x22, 0x00, 0x83, 0x22, 0x41, 0x01, 0x02, 0x00, 0x84, 0x06, + 0xcf, 0xff, 0x0c, 0x53, 0x22, 0xcc, 0xfe, 0x20, 0x20, 0x82, 0x45, 0x76, 0x0d, 0x06, 0xe2, 0xff, + 0x00, 0x00, 0x00, 0x22, 0xcc, 0xfe, 0x20, 0x23, 0x82, 0x0c, 0x53, 0x45, 0x75, 0x0d, 0xc6, 0xbc, + 0xff, 0x00, 0x00, 0x00, 0xcc, 0x2e, 0x00, 0x40, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x03, 0x01, 0x21, + 0xfd, 0x08, 0x20, 0x29, 0x21, 0x27, 0x70, 0x0f, 0x31, 0x1f, 0xfd, 0x20, 0x22, 0x90, 0x32, 0xc3, + 0x25, 0x3a, 0x22, 0x85, 0x53, 0x03, 0x28, 0x21, 0x41, 0x64, 0xf9, 0xc0, 0x20, 0x00, 0x42, 0x24, + 0x9c, 0x17, 0x64, 0x25, 0x20, 0x20, 0x74, 0x3d, 0x01, 0xc5, 0x86, 0xff, 0xc5, 0x6a, 0x02, 0x0c, + 0x02, 0x05, 0x5a, 0x00, 0x21, 0x14, 0xfd, 0x08, 0x12, 0x02, 0x20, 0x16, 0x22, 0x92, 0x2a, 0xc0, + 0x00, 0x00, 0x1c, 0xe2, 0x01, 0xec, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x31, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x3e, 0xf0, 0xfe, 0x3f, 0xe4, 0x83, 0xfe, 0x3f, 0xc0, 0x5d, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x40, 0x99, 0x99, 0x49, 0x40, 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0xe9, 0x40, + 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x12, 0xc1, 0xb0, 0xe9, 0xd1, 0xf9, 0xe1, 0x29, + 0x71, 0xd9, 0xc1, 0xc9, 0xb1, 0xc1, 0xf3, 0xff, 0x09, 0xa1, 0x02, 0x0c, 0x5f, 0xdd, 0x03, 0xcc, + 0x30, 0x2c, 0x8e, 0xc6, 0x04, 0x00, 0x66, 0x10, 0x04, 0x1c, 0xae, 0xc6, 0x02, 0x00, 0x32, 0xc0, + 0xfe, 0x22, 0xa0, 0x18, 0xe2, 0xa0, 0x28, 0x30, 0xe2, 0x83, 0x2d, 0x0d, 0x3d, 0x0e, 0x85, 0x6f, + 0x0d, 0xe6, 0x92, 0x17, 0x2d, 0x0d, 0x3d, 0x0e, 0x45, 0x68, 0x0d, 0x20, 0x0e, 0x82, 0xd0, 0x00, + 0xc0, 0x00, 0x00, 0xa0, 0xf0, 0x20, 0x11, 0x29, 0x61, 0xc6, 0x08, 0x00, 0x20, 0x4e, 0xc0, 0xe6, + 0x94, 0x17, 0xd0, 0x2d, 0x20, 0xe0, 0x3e, 0x20, 0x45, 0x66, 0x0d, 0x02, 0xc2, 0x01, 0x00, 0x0e, + 0x82, 0xd0, 0x00, 0xc0, 0x00, 0x00, 0xa0, 0x46, 0xf6, 0xff, 0x22, 0xa0, 0x00, 0x22, 0x61, 0x06, + 0x32, 0x0c, 0x7b, 0x22, 0x0c, 0x9e, 0x16, 0xa3, 0x06, 0x32, 0x61, 0x05, 0xf2, 0x0c, 0x7a, 0x80, + 0x22, 0x11, 0x2a, 0xff, 0x16, 0xcf, 0x05, 0x2d, 0x03, 0x7c, 0x6e, 0xd0, 0xee, 0x82, 0xd0, 0x22, + 0xc1, 0x30, 0x33, 0xa0, 0xf0, 0x33, 0x11, 0x22, 0x61, 0x10, 0x32, 0x61, 0x12, 0x3d, 0x0f, 0x85, + 0x68, 0x0d, 0x02, 0x21, 0x12, 0x42, 0x21, 0x10, 0x07, 0x22, 0x02, 0xc6, 0x48, 0x00, 0x2d, 0x04, + 0x3d, 0x0f, 0xc5, 0x60, 0x0d, 0xc5, 0x74, 0x0d, 0x29, 0x21, 0x2d, 0x0f, 0x45, 0x74, 0x0d, 0xfd, + 0x02, 0x28, 0x51, 0x85, 0x73, 0x0d, 0x3d, 0x02, 0x2d, 0x0f, 0x85, 0xf0, 0x0c, 0x3d, 0x02, 0x28, + 0x21, 0xc5, 0xd9, 0x0c, 0xf1, 0xc1, 0xff, 0x38, 0x0f, 0x45, 0xd9, 0x0c, 0x05, 0xfb, 0x0c, 0x2a, + 0xfe, 0x06, 0x02, 0x00, 0xf2, 0xa0, 0x00, 0xe2, 0xaf, 0xf6, 0xd0, 0xee, 0x82, 0x02, 0x0c, 0x9a, + 0xf2, 0x61, 0x13, 0x16, 0x70, 0x06, 0x02, 0x61, 0x04, 0x22, 0x0c, 0x9f, 0xf2, 0x0c, 0x99, 0x80, + 0x22, 0x11, 0x2a, 0xff, 0x16, 0x6f, 0x05, 0x3d, 0x0f, 0xd0, 0x20, 0xc1, 0x22, 0x61, 0x11, 0x00, + 0xd0, 0xa0, 0xf0, 0xdd, 0x11, 0x05, 0x61, 0x0d, 0x02, 0x21, 0x11, 0xd7, 0x22, 0x02, 0x46, 0x3c, + 0x00, 0x3d, 0x0f, 0x2d, 0x00, 0x85, 0x59, 0x0d, 0x85, 0x6d, 0x0d, 0x29, 0x31, 0xd8, 0x41, 0x2d, + 0x0f, 0x05, 0x6d, 0x0d, 0xfd, 0x02, 0x2d, 0x0d, 0x05, 0x6c, 0x0d, 0x3d, 0x02, 0xd8, 0x31, 0x2d, + 0x0f, 0x05, 0xe9, 0x0c, 0x3d, 0x02, 0x2d, 0x0d, 0x45, 0xd2, 0x0c, 0x31, 0xa3, 0xff, 0x38, 0x03, + 0xc5, 0xd1, 0x0c, 0xc5, 0xf3, 0x0c, 0xf2, 0x21, 0x13, 0x2a, 0x3e, 0x06, 0x01, 0x00, 0xf2, 0x21, + 0x13, 0x0c, 0x03, 0x39, 0xf1, 0x21, 0x9d, 0xff, 0xd2, 0x1c, 0x50, 0x01, 0xa6, 0xfc, 0xda, 0xde, + 0x08, 0x10, 0x2a, 0xdd, 0x08, 0x00, 0x2d, 0x0d, 0xc0, 0x00, 0x00, 0x01, 0x98, 0xff, 0x41, 0xa1, + 0xfc, 0x0c, 0x03, 0x52, 0xa0, 0x64, 0x57, 0x22, 0x01, 0xdd, 0x03, 0x32, 0x1c, 0x51, 0x28, 0x14, + 0x3a, 0xee, 0x0a, 0xee, 0x08, 0x02, 0x2d, 0x0e, 0xc0, 0x00, 0x00, 0x38, 0xf1, 0x08, 0x71, 0x42, + 0x1c, 0x3e, 0x0b, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0xb1, 0x07, 0x64, 0x02, 0x56, 0x6f, 0x11, + 0x42, 0x1c, 0x4e, 0x00, 0x00, 0x40, 0x40, 0x40, 0xb1, 0x07, 0x64, 0x02, 0x56, 0x93, 0x11, 0x56, + 0xfd, 0x08, 0x52, 0xa0, 0x64, 0x57, 0x22, 0x01, 0x0c, 0x0e, 0xc8, 0x61, 0xe0, 0xce, 0x93, 0x86, + 0x20, 0x00, 0x20, 0x6f, 0xc0, 0x07, 0x26, 0x02, 0x06, 0x3c, 0x00, 0x2d, 0x04, 0x3d, 0x0f, 0x05, + 0x4e, 0x0d, 0x1b, 0x22, 0xc5, 0x61, 0x0d, 0x29, 0x01, 0x2d, 0x0f, 0x85, 0x61, 0x0d, 0x29, 0x11, + 0x28, 0x51, 0x85, 0x60, 0x0d, 0x3d, 0x02, 0xf8, 0x01, 0x28, 0x11, 0x85, 0xdd, 0x0c, 0x3d, 0x02, + 0x2d, 0x0f, 0xc5, 0xc6, 0x0c, 0x31, 0x74, 0xff, 0x38, 0x03, 0x45, 0xc6, 0x0c, 0x05, 0xe8, 0x0c, + 0xc6, 0xb2, 0xff, 0x20, 0x4f, 0xc0, 0xd7, 0x24, 0x02, 0x06, 0x2d, 0x00, 0x3d, 0x0f, 0x2d, 0x00, + 0xc5, 0x49, 0x0d, 0x1b, 0x22, 0xc5, 0x5d, 0x0d, 0xdd, 0x02, 0x2d, 0x0f, 0x45, 0x5d, 0x0d, 0xfd, + 0x02, 0x28, 0x41, 0x85, 0x5c, 0x0d, 0x3d, 0x02, 0x2d, 0x0f, 0x85, 0xd9, 0x0c, 0x3d, 0x02, 0x2d, + 0x0d, 0xc5, 0xc2, 0x0c, 0x31, 0x65, 0xff, 0x38, 0x03, 0x45, 0xc2, 0x0c, 0x05, 0xe4, 0x0c, 0xc6, + 0xc0, 0xff, 0xd0, 0xcd, 0x20, 0xe1, 0x62, 0xff, 0x0c, 0x0d, 0x2d, 0x0c, 0x85, 0x5e, 0x0d, 0x29, + 0x91, 0x39, 0x81, 0x51, 0x60, 0xff, 0x41, 0x60, 0xff, 0x85, 0xf9, 0x0c, 0x5d, 0x0e, 0x4d, 0x0d, + 0x45, 0x23, 0x0d, 0x85, 0x35, 0x0d, 0x38, 0x81, 0x51, 0x5d, 0xff, 0xfd, 0x02, 0x41, 0x5a, 0xff, + 0x28, 0x91, 0x05, 0xf8, 0x0c, 0x4d, 0x0d, 0x5d, 0x0e, 0xc5, 0x21, 0x0d, 0xd1, 0x4a, 0xfe, 0xc5, + 0x33, 0x0d, 0x71, 0x58, 0xff, 0x51, 0x56, 0xff, 0xf0, 0x60, 0x94, 0x50, 0x52, 0x10, 0xc0, 0x66, + 0x01, 0x2d, 0x0c, 0xc0, 0x20, 0x00, 0x42, 0x2d, 0xa8, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0x50, + 0x44, 0x20, 0xc0, 0x20, 0x00, 0xc8, 0xb1, 0xe8, 0xd1, 0x42, 0x6d, 0xa8, 0xf8, 0xe1, 0xd8, 0xc1, + 0x08, 0xa1, 0x12, 0xc1, 0x50, 0x0d, 0xf0, 0xcd, 0x0f, 0x06, 0xe2, 0xff, 0x0c, 0x0f, 0xc6, 0x86, + 0xff, 0xf2, 0x21, 0x13, 0x0c, 0x03, 0x46, 0xa2, 0xff, 0xcd, 0x03, 0x86, 0xdd, 0xff, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0xc9, 0x21, 0x09, 0x11, 0xcc, 0x52, 0x0c, 0x00, 0x0c, 0x0c, 0x86, 0x10, 0x00, + 0xe6, 0x12, 0x02, 0xc6, 0x70, 0x00, 0x32, 0xa0, 0x64, 0xb0, 0xc2, 0x11, 0xc0, 0x2c, 0x20, 0x05, + 0x3c, 0x0d, 0x0d, 0x02, 0x0c, 0xa3, 0x2d, 0x0c, 0x80, 0xc0, 0x01, 0xc0, 0xc8, 0x31, 0x05, 0x3b, + 0x0d, 0x0c, 0xa3, 0x45, 0x41, 0x0d, 0xa6, 0x22, 0x02, 0x06, 0x73, 0x00, 0x0c, 0x10, 0x46, 0x04, + 0x00, 0xc2, 0x01, 0x01, 0x02, 0x01, 0x00, 0x80, 0xcc, 0x01, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, + 0xc0, 0xc8, 0x31, 0xe6, 0x1c, 0x05, 0x00, 0x41, 0x21, 0xc6, 0x01, 0x00, 0x0b, 0x2c, 0x00, 0x12, + 0x40, 0x00, 0x40, 0xa1, 0x21, 0x1c, 0xfe, 0xc0, 0x20, 0x00, 0x42, 0x62, 0xb5, 0x62, 0xcc, 0x1e, + 0x0c, 0x05, 0x00, 0x16, 0x40, 0x00, 0x30, 0xa1, 0xc0, 0x35, 0xb3, 0xc0, 0x20, 0x00, 0x32, 0x62, + 0xa7, 0xe6, 0x1c, 0x05, 0x00, 0x41, 0x21, 0xc6, 0x01, 0x00, 0x0b, 0x7c, 0x00, 0x17, 0x40, 0x00, + 0x40, 0xa1, 0xc0, 0x20, 0x00, 0x0c, 0x06, 0x42, 0x62, 0xec, 0xa2, 0xcc, 0x1e, 0x0c, 0x09, 0x00, + 0x1a, 0x40, 0x00, 0x80, 0xa1, 0xc0, 0x89, 0xb3, 0xc0, 0x20, 0x00, 0x82, 0x62, 0xa1, 0x26, 0x10, + 0x14, 0x66, 0x20, 0x04, 0x0c, 0x85, 0x86, 0x03, 0x00, 0x32, 0xc0, 0xfd, 0x0c, 0xab, 0x5d, 0x06, + 0x30, 0x5b, 0x83, 0x46, 0x00, 0x00, 0x0c, 0x25, 0xa6, 0xbc, 0x0d, 0x6c, 0x04, 0x40, 0x4c, 0x90, + 0x00, 0x14, 0x40, 0x00, 0x45, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x04, 0xc0, 0x20, 0x00, 0x42, 0x62, + 0xa3, 0x7c, 0x0b, 0xa6, 0x1c, 0x10, 0xe6, 0xbc, 0x0d, 0x7c, 0xe7, 0x70, 0x7c, 0x90, 0x00, 0x17, + 0x40, 0x00, 0x75, 0xa1, 0xc6, 0x01, 0x00, 0x0c, 0x08, 0x50, 0x72, 0x21, 0xc0, 0x78, 0x93, 0xc0, + 0x20, 0x00, 0x6c, 0x1a, 0x72, 0x62, 0xa2, 0x81, 0x06, 0xfc, 0xc7, 0xab, 0x10, 0xd6, 0xdc, 0x00, + 0x1c, 0xe9, 0x90, 0x9c, 0x90, 0x00, 0x19, 0x40, 0x00, 0x75, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x07, + 0x7c, 0x19, 0xc0, 0x20, 0x00, 0x72, 0x68, 0xc3, 0xc7, 0xaa, 0x10, 0x97, 0xac, 0x0d, 0x3c, 0xc3, + 0x30, 0x3c, 0x90, 0x00, 0x13, 0x40, 0x00, 0x45, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x04, 0xc0, 0x20, + 0x00, 0x42, 0x68, 0xc2, 0x26, 0x10, 0x14, 0x66, 0x20, 0x04, 0x0c, 0x40, 0x86, 0x03, 0x00, 0x52, + 0xc0, 0xfd, 0x0c, 0x54, 0x50, 0x64, 0x83, 0x0d, 0x06, 0x46, 0x00, 0x00, 0x0c, 0x10, 0xa6, 0xbc, + 0x0d, 0x6c, 0x06, 0x60, 0x6c, 0x90, 0x00, 0x16, 0x40, 0x00, 0x40, 0xa1, 0x46, 0x00, 0x00, 0x0c, + 0x04, 0xc0, 0x20, 0x00, 0x42, 0x62, 0xef, 0xa6, 0x1c, 0x10, 0xe6, 0xbc, 0x0d, 0x7c, 0xe7, 0x70, + 0x7c, 0x90, 0x00, 0x17, 0x40, 0x00, 0x50, 0xa1, 0xc6, 0x01, 0x00, 0x0c, 0x08, 0x00, 0x52, 0x21, + 0xc0, 0x58, 0x93, 0xc0, 0x20, 0x00, 0x52, 0x62, 0xee, 0xc7, 0xab, 0x10, 0xd6, 0xdc, 0x00, 0x1c, + 0xeb, 0xb0, 0xbc, 0x90, 0x00, 0x1b, 0x40, 0x00, 0x50, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x05, 0xc0, + 0x20, 0x00, 0x52, 0x62, 0xeb, 0xc7, 0xaa, 0x10, 0x97, 0xac, 0x0d, 0x3c, 0xc3, 0x30, 0x3c, 0x90, + 0x00, 0x13, 0x40, 0x00, 0x00, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x20, 0x00, 0xc8, 0x21, + 0x02, 0x62, 0xea, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0xd6, 0x32, 0xe6, 0x32, 0xa0, 0x64, + 0xb0, 0xc2, 0x11, 0xc0, 0x2c, 0x20, 0x85, 0x1f, 0x0d, 0x0d, 0x02, 0x0c, 0xa3, 0x2d, 0x0c, 0x0b, + 0xc0, 0x80, 0xcc, 0x01, 0xc0, 0xc8, 0x31, 0x85, 0x1e, 0x0d, 0x0c, 0xa3, 0x85, 0x24, 0x0d, 0x7c, + 0x83, 0x37, 0xa2, 0x11, 0x0c, 0x10, 0x46, 0x92, 0xff, 0x0c, 0x30, 0xe6, 0x82, 0x02, 0x46, 0x90, + 0xff, 0x0c, 0x20, 0x06, 0x8f, 0xff, 0x0c, 0x30, 0x7c, 0xe4, 0x47, 0xa2, 0x02, 0x86, 0x8c, 0xff, + 0x0c, 0x20, 0x46, 0x8b, 0xff, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xeb, 0xf6, + 0xdc, 0x22, 0x1c, 0x04, 0xc0, 0x20, 0x00, 0x32, 0x20, 0xe4, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, + 0x32, 0x60, 0xe4, 0x06, 0x04, 0x00, 0x6c, 0xf6, 0xc0, 0x20, 0x00, 0x52, 0x20, 0xe4, 0x60, 0x55, + 0x10, 0xc0, 0x20, 0x00, 0x52, 0x60, 0xe4, 0x41, 0xb3, 0xfb, 0x80, 0x32, 0x01, 0x22, 0x04, 0x56, + 0x30, 0x38, 0x31, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x05, 0x8a, 0xff, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0x02, 0x61, 0x00, 0x20, 0xc2, 0x20, + 0x45, 0xdf, 0x02, 0x2d, 0x0c, 0x05, 0xfa, 0xff, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xff, 0xff, 0x7f, 0x80, + 0x81, 0xbc, 0x14, 0x09, 0x98, 0x41, 0xc6, 0x5a, 0xff, 0xff, 0x00, 0xfc, 0x00, 0x00, 0x90, 0x01, + 0xff, 0xff, 0xff, 0xfb, 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0xff, 0x80, 0xff, 0x0f, 0xf0, 0xff, + 0x00, 0x20, 0x02, 0x00, 0xa6, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x54, 0x58, 0x38, 0x00, + 0x00, 0xff, 0x0f, 0xf0, 0xe6, 0x00, 0x20, 0x0b, 0x3f, 0xf0, 0xff, 0xdf, 0x40, 0x0c, 0x00, 0x20, + 0xff, 0xff, 0x80, 0xff, 0x00, 0x00, 0x13, 0x00, 0x3f, 0xf0, 0xff, 0xff, 0x80, 0x0d, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xfc, 0x24, 0x01, 0xfe, 0x03, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0xb0, + 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0x0b, 0xff, 0x00, 0x00, 0x24, 0x00, 0xff, 0xff, 0xbf, 0xff, + 0xff, 0x0f, 0x00, 0x00, 0x83, 0x00, 0x80, 0x00, 0xff, 0xf7, 0xff, 0xff, 0x30, 0xf1, 0xfe, 0x3f, + 0x50, 0x80, 0xfe, 0x3f, 0x9f, 0xf0, 0xfe, 0x3f, 0x61, 0xdb, 0xff, 0xb1, 0xdb, 0xff, 0x41, 0x2c, + 0xfb, 0x51, 0xc5, 0xf7, 0x12, 0xc1, 0xe0, 0xc9, 0x51, 0x09, 0x41, 0xd9, 0x61, 0x82, 0xaf, 0x80, + 0x21, 0x78, 0xfb, 0xd1, 0x64, 0xfd, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x58, 0x60, 0x33, 0x20, 0xc0, + 0x20, 0x00, 0x32, 0x62, 0x58, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x43, 0xb0, 0x00, 0x20, 0xc0, 0x20, + 0x00, 0x02, 0x62, 0x43, 0xc1, 0xce, 0xff, 0xc0, 0x20, 0x00, 0xa2, 0x22, 0xd0, 0xc0, 0xaa, 0x10, + 0xb0, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x62, 0xd0, 0x91, 0xc9, 0xff, 0xc0, 0x20, 0x00, 0x92, + 0x62, 0x5b, 0x71, 0xc8, 0xff, 0xc0, 0x20, 0x00, 0x72, 0x62, 0x5a, 0x61, 0x92, 0xf8, 0xc0, 0x20, + 0x00, 0x32, 0x22, 0x54, 0x60, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, 0x62, 0x54, 0xc0, 0x20, 0x00, + 0xc2, 0xa1, 0x90, 0x02, 0x22, 0xc6, 0xc0, 0x20, 0x00, 0xc2, 0x62, 0xc6, 0xb1, 0xbf, 0xff, 0xa1, + 0xbf, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x2d, 0xbb, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, + 0x00, 0x92, 0x6d, 0xbb, 0x71, 0xbb, 0xff, 0xc0, 0x20, 0x00, 0x62, 0x2d, 0xe2, 0x70, 0x66, 0x10, + 0xc0, 0x20, 0x00, 0x42, 0x04, 0x00, 0x62, 0x6d, 0xe2, 0x42, 0xc4, 0xf1, 0x40, 0x40, 0x64, 0xc0, + 0x20, 0x00, 0x32, 0x22, 0x52, 0x80, 0x33, 0x10, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x62, + 0x52, 0x01, 0x93, 0xf7, 0xc1, 0xb0, 0xff, 0xc0, 0x20, 0x00, 0xb2, 0x22, 0x4a, 0x00, 0xbb, 0x10, + 0xc0, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x62, 0x4a, 0xa1, 0xab, 0xff, 0xc0, 0x20, 0x00, 0x98, + 0xd2, 0xa0, 0x99, 0x10, 0xc0, 0x20, 0x00, 0x99, 0xd2, 0x2c, 0x67, 0xc0, 0x20, 0x00, 0x62, 0x22, + 0x51, 0x80, 0x66, 0x10, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x62, 0x51, 0x42, 0xaf, 0xc0, + 0x1c, 0x13, 0xc0, 0x20, 0x00, 0x02, 0x22, 0xdc, 0x40, 0x00, 0x10, 0x30, 0x00, 0x20, 0xc0, 0x20, + 0x00, 0x02, 0x62, 0xdc, 0xc1, 0x34, 0xfe, 0xc0, 0x20, 0x00, 0xb2, 0x2d, 0xa8, 0xc0, 0xbb, 0x20, + 0xc0, 0x20, 0x00, 0xb2, 0x6d, 0xa8, 0xa1, 0x99, 0xff, 0x91, 0x99, 0xff, 0xc0, 0x20, 0x00, 0x82, + 0x22, 0x59, 0xa0, 0x88, 0x10, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x62, 0x59, 0x71, 0x05, + 0xfd, 0x61, 0x94, 0xff, 0xc0, 0x20, 0x00, 0x42, 0x22, 0x59, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, + 0xc0, 0x20, 0x00, 0x42, 0x62, 0x59, 0x31, 0x90, 0xff, 0x01, 0x90, 0xff, 0xc0, 0x20, 0x00, 0xc2, + 0x22, 0x57, 0x30, 0xcc, 0x10, 0x00, 0xcc, 0x20, 0xc0, 0x20, 0x00, 0xc2, 0x62, 0x57, 0xb1, 0x8c, + 0xff, 0xa1, 0x8c, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x22, 0x54, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, + 0xc0, 0x20, 0x00, 0x92, 0x62, 0x54, 0xc0, 0x20, 0x00, 0x72, 0xa0, 0x80, 0x82, 0x22, 0xc6, 0xc0, + 0x20, 0x00, 0x72, 0x62, 0xc6, 0x0c, 0x46, 0xc0, 0x20, 0x00, 0x42, 0x22, 0xc4, 0x60, 0x44, 0x20, + 0xc0, 0x20, 0x00, 0x42, 0x62, 0xc4, 0x31, 0x80, 0xff, 0x01, 0x80, 0xff, 0xc0, 0x20, 0x00, 0xc2, + 0x22, 0xdc, 0x30, 0xcc, 0x10, 0x00, 0xcc, 0x20, 0xc0, 0x20, 0x00, 0xc2, 0x62, 0xdc, 0xb1, 0x7c, + 0xff, 0xa1, 0x7c, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x22, 0xc9, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, + 0xc0, 0x20, 0x00, 0x92, 0x62, 0xc9, 0x81, 0x78, 0xff, 0x71, 0x78, 0xff, 0xc0, 0x20, 0x00, 0x62, + 0x22, 0x56, 0x80, 0x66, 0x10, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x62, 0x56, 0x41, 0x74, + 0xff, 0x31, 0x74, 0xff, 0xc0, 0x20, 0x00, 0x02, 0x22, 0xd3, 0x40, 0x00, 0x10, 0x30, 0x00, 0x20, + 0xc0, 0x20, 0x00, 0x02, 0x62, 0xd3, 0xc1, 0x70, 0xff, 0xb1, 0x70, 0xff, 0xc0, 0x20, 0x00, 0xa2, + 0x22, 0xc8, 0xc0, 0xaa, 0x10, 0xb0, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x62, 0xc8, 0x91, 0x6c, + 0xff, 0xc0, 0x20, 0x00, 0x82, 0x2d, 0xe2, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x6d, 0xe2, + 0x71, 0x69, 0xff, 0x61, 0x69, 0xff, 0xc0, 0x20, 0x00, 0x42, 0x25, 0x9c, 0x70, 0x44, 0x10, 0x60, + 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x9c, 0x31, 0x65, 0xff, 0xc0, 0x20, 0x00, 0x02, 0x22, + 0xd1, 0x30, 0x00, 0x10, 0xc0, 0x20, 0x00, 0x02, 0x62, 0xd1, 0x0c, 0x02, 0x85, 0xc9, 0xff, 0xc1, + 0xe5, 0xfa, 0x08, 0x1c, 0x08, 0x30, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0xb2, 0xaf, 0xcf, 0x2c, 0x0a, + 0x31, 0x0f, 0xf6, 0x61, 0xcf, 0xf4, 0x21, 0x5a, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x2d, 0x8e, 0xb0, + 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x6d, 0x8e, 0xc0, 0x20, 0x00, 0xa1, 0xd8, + 0xfa, 0x71, 0x54, 0xff, 0x82, 0x2a, 0x92, 0xc0, 0x20, 0x00, 0x72, 0x6a, 0x92, 0x0c, 0x65, 0xc0, + 0x20, 0x00, 0x42, 0x2a, 0x93, 0x50, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x6a, 0x93, 0xc0, 0x20, + 0x00, 0x22, 0x6a, 0xc7, 0xc0, 0x20, 0x00, 0x02, 0x2a, 0xc7, 0x20, 0x00, 0x20, 0xc0, 0x20, 0x00, + 0x02, 0x6a, 0xc7, 0xb1, 0x49, 0xff, 0xc0, 0x20, 0x00, 0x98, 0xaa, 0xb0, 0x99, 0x10, 0xc0, 0x20, + 0x00, 0x99, 0xaa, 0x7c, 0x98, 0x0c, 0x27, 0xc0, 0x20, 0x00, 0x52, 0x26, 0x89, 0x80, 0x55, 0x10, + 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x89, 0x7c, 0xe4, 0xc0, 0x20, 0x00, 0x22, 0x23, + 0xf0, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x08, 0x1c, 0x02, 0x20, 0x28, 0x22, 0x63, 0xf0, 0xc0, + 0x00, 0x00, 0x0c, 0x12, 0x08, 0x1c, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x0c, 0xc4, 0xc0, 0x00, 0x00, + 0x0c, 0x22, 0x08, 0x1c, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa1, 0x84, 0xc0, 0x00, 0x00, 0x0c, + 0x32, 0x08, 0x1c, 0x0c, 0x23, 0x02, 0x20, 0x2b, 0x0c, 0x64, 0xc0, 0x00, 0x00, 0x08, 0x1c, 0x02, + 0x20, 0x2f, 0xc0, 0x00, 0x00, 0x28, 0x2c, 0x01, 0x2d, 0xff, 0xb7, 0xf2, 0x14, 0x32, 0xa0, 0x7f, + 0x41, 0x2c, 0xff, 0x51, 0x2c, 0xff, 0x1c, 0x06, 0x0c, 0x07, 0x2d, 0x00, 0x45, 0x96, 0xfe, 0x01, + 0x27, 0xff, 0x0c, 0x12, 0x42, 0x2c, 0x72, 0x0c, 0x08, 0x31, 0xa7, 0xfb, 0x71, 0x55, 0xfa, 0x52, + 0xc3, 0x7c, 0x62, 0xc3, 0x16, 0x72, 0x07, 0x00, 0x89, 0x11, 0x89, 0x21, 0x89, 0x31, 0x09, 0x01, + 0x1b, 0x77, 0x70, 0x70, 0x74, 0x45, 0xa9, 0xfe, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x24, 0x0c, + 0x75, 0x08, 0x1c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x72, 0xa0, 0xe8, 0xc0, 0x00, 0x00, 0x0c, 0x13, + 0xc0, 0x20, 0x00, 0x22, 0x2d, 0x98, 0x30, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x6d, 0x98, 0xc8, + 0x51, 0xd8, 0x61, 0x08, 0x41, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x02, + 0x61, 0x00, 0x05, 0xa6, 0xfd, 0x22, 0xa0, 0x64, 0x01, 0x6b, 0xfd, 0xc0, 0x00, 0x00, 0x02, 0x21, + 0x00, 0x12, 0xc1, 0x10, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1f, 0xf0, 0x00, 0x00, 0x80, 0x01, + 0xff, 0xff, 0xff, 0x1f, 0xff, 0x3f, 0xe0, 0xff, 0x00, 0x40, 0x1f, 0x00, 0xff, 0xff, 0x00, 0xff, + 0x00, 0x00, 0xab, 0x00, 0xff, 0x00, 0xff, 0xff, 0xb1, 0xf8, 0xff, 0xa1, 0xf8, 0xff, 0x31, 0xaf, + 0xf5, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xe6, 0xb0, 0x22, 0x10, 0xa0, 0x22, 0x20, 0xc0, 0x20, 0x00, + 0x22, 0x63, 0xe6, 0xc0, 0x20, 0x00, 0x92, 0x23, 0xe7, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, + 0x20, 0x00, 0x92, 0x63, 0xe7, 0x81, 0xee, 0xff, 0x71, 0x73, 0xfd, 0xc0, 0x20, 0x00, 0x62, 0x23, + 0xe5, 0x80, 0x66, 0x10, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x63, 0xe5, 0x51, 0xe9, 0xff, + 0x41, 0xea, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xe6, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, + 0x20, 0x00, 0x22, 0x63, 0xe6, 0xb1, 0xe5, 0xff, 0xa1, 0xe6, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x23, + 0xe8, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x63, 0xe8, 0x81, 0xe1, 0xff, + 0x72, 0xa1, 0x00, 0xc0, 0x20, 0x00, 0x62, 0x23, 0xf2, 0x80, 0x66, 0x10, 0x70, 0x66, 0x20, 0xc0, + 0x20, 0x00, 0x62, 0x63, 0xf2, 0x52, 0xaf, 0x80, 0x4c, 0x74, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xe6, + 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xe6, 0x0d, 0xf0, 0x00, 0x00, + 0x53, 0xf0, 0xfe, 0x3f, 0xff, 0x0f, 0xff, 0xff, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x01, + 0x00, 0x00, 0x0d, 0x01, 0x00, 0x00, 0xde, 0x03, 0x00, 0x00, 0xed, 0x03, 0x12, 0xc1, 0xf0, 0x41, + 0xf8, 0xff, 0x09, 0x01, 0x22, 0x04, 0x82, 0x01, 0x53, 0xf4, 0x66, 0x22, 0x17, 0x52, 0xa0, 0x69, + 0x62, 0xaf, 0x94, 0xc0, 0x20, 0x00, 0x32, 0x20, 0x68, 0x60, 0x33, 0x10, 0x50, 0x33, 0x20, 0xc0, + 0x20, 0x00, 0x32, 0x60, 0x68, 0x32, 0x04, 0x83, 0x26, 0x13, 0x02, 0x66, 0x33, 0x2a, 0x0c, 0x1a, + 0xb2, 0xaf, 0xbc, 0xc0, 0x20, 0x00, 0x92, 0x20, 0x68, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, + 0x20, 0x00, 0x92, 0x60, 0x68, 0x7c, 0xe8, 0xc0, 0x20, 0x00, 0x72, 0x20, 0x5d, 0x80, 0x77, 0x10, + 0xc0, 0x20, 0x00, 0x72, 0x60, 0x5d, 0x32, 0x04, 0x83, 0x52, 0xae, 0xff, 0x26, 0x23, 0x02, 0x66, + 0x33, 0x2b, 0xc0, 0x20, 0x00, 0x21, 0x3b, 0xf4, 0x02, 0x22, 0x8d, 0x32, 0xae, 0xff, 0x30, 0x00, + 0x10, 0xc0, 0x20, 0x00, 0x0c, 0x03, 0x0c, 0x04, 0x02, 0x62, 0x8d, 0x0c, 0x15, 0x0c, 0x02, 0x01, + 0x39, 0xf4, 0xc0, 0x00, 0x00, 0x01, 0x33, 0xf4, 0x41, 0xd6, 0xff, 0x52, 0xae, 0xff, 0x32, 0x04, + 0x7c, 0x26, 0x13, 0x11, 0xc0, 0x20, 0x00, 0x62, 0x20, 0x8d, 0x50, 0x66, 0x10, 0xc0, 0x20, 0x00, + 0x62, 0x60, 0x8d, 0x32, 0x04, 0x7c, 0x66, 0x23, 0x11, 0x82, 0xa1, 0x00, 0xc0, 0x20, 0x00, 0x72, + 0x20, 0x85, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x85, 0x62, 0xae, 0xcf, 0x32, 0x04, + 0x81, 0x3c, 0x07, 0x66, 0x13, 0x14, 0xc0, 0x20, 0x00, 0x92, 0x20, 0x86, 0x60, 0x99, 0x10, 0x70, + 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x60, 0x86, 0x46, 0x0d, 0x00, 0x66, 0x23, 0x11, 0xc0, 0x20, + 0x00, 0xa2, 0x20, 0x8e, 0x50, 0xaa, 0x10, 0xc0, 0x20, 0x00, 0xa2, 0x60, 0x8e, 0x06, 0x08, 0x00, + 0xc0, 0x20, 0x00, 0x22, 0x20, 0x86, 0x60, 0x22, 0x10, 0x70, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, + 0x60, 0x86, 0xc0, 0x20, 0x00, 0xb2, 0x20, 0x8e, 0x50, 0xbb, 0x10, 0xc0, 0x20, 0x00, 0xb2, 0x60, + 0x8e, 0x32, 0x04, 0x7e, 0x2c, 0x08, 0x26, 0x13, 0x26, 0x26, 0x33, 0x23, 0x26, 0x43, 0x20, 0x26, + 0x53, 0x1d, 0x32, 0x04, 0x80, 0x52, 0xc3, 0xfd, 0x56, 0x25, 0x10, 0xc0, 0x20, 0x00, 0x72, 0x20, + 0x8d, 0x60, 0x77, 0x10, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x8d, 0xc6, 0x2a, 0x00, + 0x51, 0x2f, 0xf5, 0x0c, 0x09, 0x0b, 0xa3, 0x16, 0xba, 0x0f, 0xb2, 0xc3, 0xfc, 0x16, 0x5b, 0x0f, + 0x22, 0xc3, 0xfd, 0x16, 0x72, 0x15, 0xa2, 0xc3, 0xfb, 0x16, 0x1a, 0x15, 0x32, 0xae, 0x0f, 0xc0, + 0x20, 0x00, 0x52, 0x20, 0x82, 0x30, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x60, + 0x82, 0xc0, 0x20, 0x00, 0x22, 0x20, 0x83, 0x30, 0x22, 0x10, 0x70, 0x22, 0x20, 0xc0, 0x20, 0x00, + 0x22, 0x60, 0x83, 0xb2, 0x04, 0x7f, 0xb6, 0x2b, 0x26, 0xc0, 0x20, 0x00, 0x92, 0x20, 0x85, 0x60, + 0x99, 0x10, 0x80, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x60, 0x85, 0xc0, 0x20, 0x00, 0x72, 0x20, + 0x8d, 0x60, 0x77, 0x10, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x8d, 0x06, 0x08, 0x00, + 0xc0, 0x20, 0x00, 0xb2, 0x20, 0x85, 0x60, 0xbb, 0x10, 0x70, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, + 0x60, 0x85, 0xc0, 0x20, 0x00, 0xa2, 0x20, 0x8d, 0x60, 0xaa, 0x10, 0xc0, 0x20, 0x00, 0xa2, 0x60, + 0x8d, 0x32, 0x04, 0x7e, 0x66, 0x13, 0x02, 0x06, 0x23, 0x00, 0x66, 0x33, 0x02, 0x86, 0x21, 0x00, + 0x02, 0xc3, 0xfc, 0x16, 0xf0, 0x0d, 0x22, 0xc3, 0xfb, 0x16, 0x92, 0x0d, 0x01, 0x7d, 0xff, 0x41, + 0xdc, 0xf3, 0x02, 0x00, 0x7d, 0x31, 0x7b, 0xff, 0x66, 0x10, 0x15, 0x51, 0x2c, 0xf7, 0xc0, 0x20, + 0x00, 0x28, 0x14, 0x30, 0x22, 0x10, 0x50, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x29, 0x14, 0x46, 0x05, + 0x00, 0x66, 0x20, 0x12, 0x61, 0x75, 0xff, 0xc0, 0x20, 0x00, 0x58, 0x14, 0x30, 0x55, 0x10, 0x60, + 0x55, 0x20, 0xc0, 0x20, 0x00, 0x59, 0x14, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x66, 0x23, + 0xba, 0xc0, 0x20, 0x00, 0x72, 0x20, 0x85, 0x60, 0x77, 0x10, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, + 0x72, 0x60, 0x85, 0x46, 0xe9, 0xff, 0x32, 0x04, 0x7f, 0xa2, 0xc3, 0xfd, 0x16, 0xfa, 0x0c, 0xb2, + 0xc3, 0xfb, 0x16, 0x9b, 0x0c, 0xf6, 0x23, 0x02, 0x46, 0x2c, 0x00, 0x21, 0x64, 0xff, 0xc0, 0x20, + 0x00, 0x22, 0x65, 0x40, 0x06, 0xbd, 0xff, 0x32, 0x04, 0x7f, 0x66, 0x13, 0x1e, 0x0c, 0x12, 0x0c, + 0x03, 0x0c, 0x14, 0x0c, 0x05, 0x01, 0xbb, 0xf3, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x83, 0x0c, + 0x84, 0x0c, 0x05, 0x01, 0xb8, 0xf3, 0xc0, 0x00, 0x00, 0xc6, 0xd7, 0xff, 0x56, 0xc3, 0xf5, 0x0c, + 0x02, 0x0c, 0x13, 0x0c, 0x14, 0x0c, 0x05, 0x01, 0xb3, 0xf3, 0xc0, 0x00, 0x00, 0x0c, 0x82, 0x0c, + 0x03, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0xaf, 0xf3, 0xc0, 0x00, 0x00, 0x46, 0xcf, 0xff, 0x32, 0x04, + 0x7f, 0x26, 0x33, 0x76, 0x26, 0x53, 0x73, 0xb6, 0x23, 0x5b, 0x31, 0x4d, 0xff, 0xc0, 0x20, 0x00, + 0x32, 0x65, 0x40, 0x46, 0xa5, 0xff, 0x32, 0x04, 0x7f, 0x66, 0x13, 0x1e, 0x0c, 0x02, 0x0c, 0x13, + 0x0c, 0x14, 0x0c, 0x05, 0x01, 0xa4, 0xf3, 0xc0, 0x00, 0x00, 0x0c, 0x82, 0x0c, 0x03, 0x0c, 0x84, + 0x0c, 0x05, 0x01, 0xa0, 0xf3, 0xc0, 0x00, 0x00, 0x06, 0xc0, 0xff, 0x56, 0xd3, 0xef, 0x0c, 0x12, + 0x0c, 0x03, 0x0c, 0x14, 0x0c, 0x05, 0x01, 0x9b, 0xf3, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x83, + 0x0c, 0x84, 0x0c, 0x05, 0x01, 0x98, 0xf3, 0xc0, 0x00, 0x00, 0x86, 0xb7, 0xff, 0xc0, 0x20, 0x00, + 0x92, 0x65, 0x40, 0x46, 0x91, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x65, 0x40, 0x06, 0x8f, 0xff, 0x91, + 0x35, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x65, 0x40, 0x06, 0x8c, 0xff, 0xa1, 0x33, 0xff, 0xc0, 0x20, + 0x00, 0xa2, 0x65, 0x40, 0x06, 0x89, 0xff, 0x00, 0x88, 0xf0, 0xfe, 0x3f, 0x80, 0x3f, 0xe0, 0x0f, + 0xff, 0xff, 0xcf, 0xff, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xfb, 0xff, 0x22, 0x00, 0x80, 0x56, + 0x62, 0x08, 0x01, 0x7c, 0xf9, 0x22, 0xa0, 0x66, 0x08, 0x10, 0x0c, 0x33, 0x02, 0x20, 0x24, 0x0c, + 0x14, 0xc0, 0x00, 0x00, 0x31, 0x78, 0xf9, 0x22, 0x63, 0x93, 0x21, 0xa4, 0xf4, 0xc0, 0x20, 0x00, + 0x52, 0x22, 0xe5, 0x52, 0x63, 0x94, 0xc0, 0x20, 0x00, 0x42, 0x22, 0xe6, 0x42, 0x63, 0x95, 0xc0, + 0x20, 0x00, 0x0c, 0x14, 0x0c, 0x55, 0x0c, 0x06, 0x3c, 0xc7, 0x22, 0x22, 0xe7, 0x22, 0x63, 0x96, + 0x08, 0x13, 0x22, 0xa0, 0x66, 0x02, 0x20, 0x27, 0x0c, 0x33, 0xc0, 0x00, 0x00, 0x01, 0xe6, 0xff, + 0x21, 0xe7, 0xff, 0xc0, 0x20, 0x00, 0x71, 0x95, 0xf4, 0xb2, 0x27, 0xe7, 0x20, 0xbb, 0x20, 0xc0, + 0x20, 0x00, 0xb2, 0x67, 0xe7, 0xa1, 0xd8, 0xfd, 0xc0, 0x20, 0x00, 0x92, 0x27, 0xe6, 0xa0, 0x99, + 0x20, 0xc0, 0x20, 0x00, 0x92, 0x67, 0xe6, 0x81, 0xde, 0xff, 0xc0, 0x20, 0x00, 0x62, 0x27, 0xe5, + 0x80, 0x66, 0x10, 0xc0, 0x20, 0x00, 0x62, 0x67, 0xe5, 0x0c, 0x13, 0x32, 0x40, 0x80, 0x08, 0x01, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x8c, 0xf0, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x01, 0xfd, 0xff, 0x22, 0x00, 0x7c, 0x66, 0x12, 0x38, 0x22, 0xa0, 0x66, 0x0c, 0x33, 0x01, + 0x51, 0xf9, 0x0c, 0x14, 0x08, 0x10, 0x51, 0xf8, 0xff, 0x02, 0x20, 0x26, 0x52, 0x05, 0x80, 0xc0, + 0x00, 0x00, 0x01, 0xf5, 0xff, 0x31, 0x79, 0xf4, 0x52, 0x20, 0x21, 0xc0, 0x20, 0x00, 0x52, 0x63, + 0xe5, 0x42, 0x20, 0x22, 0xc0, 0x20, 0x00, 0x42, 0x63, 0xe6, 0x22, 0x20, 0x23, 0xc0, 0x20, 0x00, + 0x22, 0x63, 0xe7, 0x0c, 0x06, 0x62, 0x40, 0x7c, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x66, 0x12, 0x05, 0x85, 0xef, 0xff, 0x86, 0x00, 0x00, 0xc5, 0xf9, + 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x7b, 0xf0, 0xfe, 0x3f, 0x00, 0x78, 0x00, 0x00, + 0x12, 0xc1, 0xe0, 0x02, 0x61, 0x04, 0xc2, 0x61, 0x05, 0x21, 0x25, 0xf3, 0xc1, 0x36, 0xf9, 0xc0, + 0x20, 0x00, 0x42, 0x22, 0x97, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x96, 0xc0, 0x20, 0x00, 0x10, 0x48, + 0x40, 0x0c, 0x13, 0x0c, 0x74, 0x0c, 0x35, 0x0c, 0x26, 0x0c, 0x07, 0x08, 0x1c, 0x22, 0x22, 0x97, + 0x02, 0x20, 0x27, 0x22, 0xa0, 0x61, 0xc0, 0x00, 0x00, 0xc5, 0xa9, 0xff, 0x22, 0xa0, 0x77, 0x0c, + 0x03, 0x1c, 0x04, 0x0c, 0x05, 0x08, 0x1c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, + 0x00, 0xc5, 0xe0, 0x00, 0x31, 0x25, 0xfa, 0x2d, 0x03, 0x4b, 0x33, 0x85, 0x93, 0x00, 0x45, 0x81, + 0xfe, 0x41, 0xe5, 0xff, 0x42, 0x04, 0x7f, 0x8c, 0x64, 0x0c, 0x02, 0x05, 0xaf, 0xfe, 0x46, 0x01, + 0x00, 0x22, 0xa0, 0x01, 0x45, 0xae, 0xfe, 0x52, 0xa0, 0x40, 0x72, 0xa0, 0x00, 0x0c, 0x06, 0x0c, + 0x19, 0x0c, 0x0a, 0x41, 0xc7, 0xf8, 0x21, 0x18, 0xfa, 0x82, 0x0c, 0x6f, 0x32, 0xc2, 0x14, 0x80, + 0x88, 0x01, 0x42, 0x14, 0x01, 0xa9, 0x01, 0x99, 0x11, 0x80, 0x88, 0x31, 0x82, 0xc8, 0x1f, 0x80, + 0x88, 0x01, 0x80, 0x88, 0x31, 0x80, 0x68, 0xb3, 0x60, 0x60, 0x74, 0x85, 0xd3, 0x00, 0x98, 0x2c, + 0xb7, 0xf9, 0x04, 0x0c, 0x62, 0x45, 0xb3, 0x02, 0x0c, 0x02, 0x85, 0x6c, 0x01, 0x85, 0x62, 0xff, + 0x0c, 0x22, 0x01, 0x51, 0xf5, 0xc0, 0x20, 0x00, 0xb2, 0x20, 0x9c, 0x20, 0xbb, 0x20, 0xc0, 0x20, + 0x00, 0x0c, 0x12, 0x0c, 0x73, 0x0c, 0x54, 0x51, 0xc9, 0xff, 0x0c, 0x16, 0x0c, 0x07, 0xb2, 0x60, + 0x9c, 0xa1, 0x01, 0xfa, 0xa9, 0x01, 0x05, 0xd3, 0xfe, 0x45, 0x25, 0x01, 0x38, 0x2c, 0xb7, 0x73, + 0x27, 0x45, 0x5a, 0x02, 0x62, 0xab, 0xff, 0x51, 0x02, 0xf3, 0xc0, 0x20, 0x00, 0x42, 0x25, 0xd0, + 0x60, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x65, 0xd0, 0x0c, 0x02, 0x85, 0x52, 0xff, 0x08, 0x1c, + 0x02, 0x20, 0x16, 0x22, 0x9c, 0x2a, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x32, 0xa0, 0x00, 0x42, + 0xa0, 0x0f, 0x52, 0xa0, 0x01, 0x0c, 0x16, 0x71, 0xb4, 0xff, 0x08, 0x1c, 0x72, 0x07, 0x7e, 0x02, + 0x20, 0x27, 0x70, 0x70, 0x04, 0xc0, 0x00, 0x00, 0x41, 0xb0, 0xff, 0x22, 0x04, 0x7f, 0x32, 0x04, + 0x80, 0x42, 0x04, 0x81, 0x05, 0xda, 0x02, 0x0c, 0x02, 0xc8, 0x51, 0x08, 0x41, 0x12, 0xc1, 0x20, + 0x0d, 0xf0, 0x00, 0x00, 0xcc, 0xee, 0xfe, 0x3f, 0x44, 0xef, 0xfe, 0x3f, 0xa8, 0x85, 0xfe, 0x3f, + 0x31, 0xfd, 0xff, 0x12, 0xc1, 0xe0, 0x22, 0x61, 0x05, 0x02, 0x61, 0x06, 0x22, 0xc1, 0x10, 0x02, + 0xa0, 0x00, 0x09, 0x41, 0xc5, 0x81, 0x00, 0x0c, 0x02, 0x32, 0xc1, 0x10, 0x81, 0x58, 0xfd, 0x0c, + 0x09, 0x71, 0x87, 0xf8, 0x51, 0xf5, 0xff, 0x41, 0xd7, 0xf8, 0x62, 0xc5, 0x9a, 0x42, 0x24, 0x72, + 0x72, 0x07, 0x00, 0x99, 0x11, 0x99, 0x21, 0x99, 0x31, 0x89, 0x01, 0x1b, 0x77, 0x70, 0x70, 0x74, + 0x85, 0x35, 0xfe, 0x21, 0xd1, 0xf9, 0x0c, 0x04, 0x32, 0xc2, 0x6f, 0x05, 0x19, 0xfe, 0x01, 0xcd, + 0xf8, 0x58, 0x51, 0x22, 0x60, 0x76, 0xac, 0x45, 0x21, 0xe9, 0xff, 0x62, 0x20, 0x40, 0x72, 0x20, + 0x3f, 0x42, 0x10, 0x06, 0x70, 0x59, 0x84, 0x40, 0x30, 0x74, 0x60, 0x80, 0x84, 0x40, 0x48, 0x74, + 0x60, 0x69, 0x84, 0x70, 0x70, 0x84, 0x89, 0x01, 0x01, 0x82, 0xf3, 0xc0, 0x00, 0x00, 0x08, 0x61, + 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x11, 0x21, 0xac, 0xf2, + 0xc0, 0x20, 0x00, 0x42, 0x22, 0x85, 0x49, 0x01, 0x7c, 0xe3, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x85, + 0x30, 0x00, 0x10, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x85, 0x5c, 0x02, 0x01, 0x72, 0xf3, 0xc0, 0x00, + 0x00, 0x0c, 0x12, 0x01, 0x90, 0xfb, 0xc0, 0x00, 0x00, 0x0c, 0x87, 0x7c, 0x38, 0x61, 0xb8, 0xf2, + 0xc0, 0x20, 0x00, 0x52, 0x26, 0xd0, 0x80, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, + 0x66, 0xd0, 0x22, 0xa3, 0xe8, 0x01, 0x87, 0xfb, 0xc0, 0x00, 0x00, 0x0c, 0x4b, 0xc0, 0x20, 0x00, + 0xa1, 0xb0, 0xf2, 0x92, 0x2a, 0xd0, 0x7c, 0x30, 0x00, 0x99, 0x10, 0xb0, 0x99, 0x20, 0xc0, 0x20, + 0x00, 0x92, 0x6a, 0xd0, 0x0c, 0x12, 0x01, 0x7f, 0xfb, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x31, + 0x90, 0xf2, 0x28, 0x01, 0x22, 0x63, 0x85, 0x07, 0x62, 0x08, 0x22, 0xa0, 0xa0, 0x01, 0x59, 0xf3, + 0xc0, 0x00, 0x00, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x8e, 0xf0, 0xfe, 0x3f, + 0xc8, 0x85, 0xfe, 0x3f, 0xd0, 0x85, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x01, 0x01, 0xfb, + 0xff, 0x02, 0x00, 0x72, 0x22, 0x61, 0x00, 0x17, 0xe0, 0x39, 0x21, 0xf9, 0xff, 0x01, 0x50, 0xf3, + 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x04, 0x05, 0xd2, 0x01, 0x21, 0xf4, 0xff, 0x22, 0x02, 0x8e, 0xcc, + 0x12, 0x45, 0xf3, 0xff, 0x22, 0x21, 0x00, 0x41, 0xf1, 0xff, 0x32, 0xa0, 0x00, 0x32, 0x44, 0x8e, + 0xc5, 0xe9, 0xff, 0x22, 0xa0, 0x04, 0x0c, 0x03, 0xc5, 0xe2, 0x01, 0x21, 0xee, 0xff, 0x01, 0x44, + 0xf3, 0xc0, 0x00, 0x00, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x9c, 0xf0, 0xfe, 0x3f, + 0xa0, 0xf0, 0xfe, 0x3f, 0xa2, 0xf0, 0xfe, 0x3f, 0xa4, 0xf0, 0xfe, 0x3f, 0x0c, 0x06, 0x91, 0xfb, + 0xff, 0x42, 0x02, 0x00, 0x5d, 0x09, 0x82, 0xc9, 0xc0, 0x42, 0x49, 0x00, 0x32, 0x02, 0x01, 0xfb, + 0x79, 0x30, 0x31, 0x04, 0x32, 0x49, 0x02, 0x2a, 0xa6, 0x1b, 0x66, 0xa2, 0x0a, 0x02, 0xa2, 0x45, + 0x03, 0x1b, 0x55, 0x77, 0x95, 0xf0, 0x5d, 0x09, 0xa1, 0xf3, 0xfc, 0x0c, 0x06, 0x2a, 0x36, 0x1b, + 0x55, 0x1b, 0x66, 0x42, 0x03, 0x11, 0x42, 0x45, 0x11, 0x72, 0x03, 0x14, 0x80, 0xb4, 0x01, 0x7a, + 0x44, 0x42, 0x45, 0x14, 0x32, 0x03, 0x17, 0xb0, 0xb8, 0x31, 0x3a, 0xbb, 0xb2, 0x45, 0x17, 0xa7, + 0x95, 0xda, 0x5d, 0x09, 0x71, 0xe7, 0xff, 0x0c, 0x0a, 0x0c, 0x06, 0xb2, 0x02, 0x1a, 0xb2, 0x48, + 0x5c, 0x42, 0x02, 0x1b, 0x42, 0x48, 0x5d, 0x2a, 0x46, 0x32, 0x02, 0x1c, 0xb2, 0x02, 0x1d, 0x30, + 0x30, 0x54, 0x80, 0x33, 0x11, 0x30, 0xbb, 0x20, 0xb2, 0x58, 0x2f, 0x1b, 0x66, 0x42, 0x04, 0x1e, + 0x42, 0x45, 0x20, 0x80, 0x34, 0x01, 0x30, 0x38, 0x31, 0xe6, 0x63, 0x02, 0x77, 0x64, 0x02, 0xa2, + 0x45, 0x20, 0x2a, 0x46, 0x1b, 0x55, 0x77, 0x95, 0xe1, 0x5d, 0x09, 0x71, 0xd6, 0xff, 0x0c, 0x06, + 0x2a, 0xa6, 0x1b, 0x66, 0xa2, 0x0a, 0x22, 0xa2, 0x45, 0x24, 0x1b, 0x55, 0x77, 0x95, 0xf0, 0x5d, + 0x09, 0x71, 0xd1, 0xff, 0x0c, 0x06, 0x2a, 0xb6, 0x1b, 0x66, 0xb2, 0x0b, 0x28, 0xb2, 0x45, 0x2a, + 0x1b, 0x55, 0x77, 0x95, 0xf0, 0x0c, 0x55, 0x32, 0x02, 0x30, 0x32, 0x48, 0x41, 0xb2, 0x02, 0x31, + 0xb2, 0x48, 0x73, 0xa2, 0x02, 0x32, 0xa2, 0x48, 0x74, 0x92, 0x02, 0x33, 0x92, 0x48, 0x75, 0x72, + 0x02, 0x34, 0x72, 0x48, 0x76, 0x62, 0x02, 0x35, 0x62, 0x48, 0x77, 0x42, 0x02, 0x36, 0x42, 0x48, + 0x78, 0x32, 0x02, 0x37, 0x32, 0x48, 0x79, 0xb2, 0x02, 0x38, 0xb2, 0x48, 0x7a, 0xa2, 0x02, 0x40, + 0xa2, 0x48, 0x7b, 0x92, 0x02, 0x41, 0x92, 0x48, 0x7c, 0x72, 0x02, 0x42, 0x62, 0x02, 0x43, 0x70, + 0x70, 0x54, 0x80, 0x77, 0x11, 0x70, 0x66, 0x20, 0x62, 0x58, 0x3f, 0x42, 0x02, 0x44, 0x42, 0x48, + 0x80, 0x32, 0x02, 0x45, 0x32, 0x48, 0x81, 0xb2, 0x02, 0x47, 0xa2, 0x02, 0x46, 0x80, 0xbb, 0x01, + 0x80, 0xaa, 0x01, 0xa0, 0xa8, 0x31, 0xb0, 0xb8, 0x31, 0x80, 0xbb, 0x11, 0xb0, 0xaa, 0x20, 0xa2, + 0x58, 0x41, 0x92, 0x02, 0x49, 0x72, 0x02, 0x48, 0x80, 0x99, 0x01, 0x80, 0x77, 0x01, 0x70, 0x78, + 0x31, 0x90, 0x98, 0x31, 0x80, 0x99, 0x11, 0x90, 0x77, 0x20, 0x72, 0x58, 0x42, 0x62, 0x02, 0x4a, + 0x62, 0x48, 0x86, 0x42, 0x02, 0x4b, 0x6d, 0x05, 0x40, 0x40, 0x34, 0x42, 0x48, 0x88, 0xf6, 0x64, + 0x01, 0x6d, 0x04, 0x62, 0x48, 0x88, 0x92, 0x02, 0x4b, 0x90, 0x94, 0x24, 0x92, 0x48, 0x8a, 0x72, + 0x02, 0x4b, 0x70, 0x77, 0x04, 0x72, 0x48, 0x8c, 0x62, 0x02, 0x4c, 0x60, 0x60, 0x34, 0x62, 0x48, + 0x87, 0x67, 0x35, 0x01, 0x5d, 0x06, 0x52, 0x48, 0x87, 0x42, 0x02, 0x4c, 0x40, 0x44, 0x24, 0x42, + 0x48, 0x89, 0x32, 0x02, 0x4c, 0x30, 0x37, 0x04, 0x32, 0x48, 0x8b, 0xb2, 0x02, 0x4d, 0xb0, 0xb0, + 0x34, 0xb2, 0x48, 0x8e, 0xa2, 0x02, 0x4d, 0xa0, 0xa4, 0x34, 0xa2, 0x48, 0x8d, 0x92, 0x02, 0x4e, + 0x92, 0x48, 0x8f, 0x72, 0x02, 0x4f, 0x72, 0x48, 0x90, 0x62, 0x02, 0x50, 0x62, 0x48, 0x91, 0x42, + 0x02, 0x51, 0x42, 0x48, 0x92, 0x32, 0x02, 0x52, 0x32, 0x48, 0x93, 0xb2, 0x02, 0x53, 0xb2, 0x48, + 0x94, 0xa2, 0x02, 0x54, 0xa2, 0x48, 0x95, 0x92, 0x02, 0x55, 0x92, 0x48, 0x96, 0x72, 0x02, 0x56, + 0x72, 0x48, 0x97, 0x62, 0x02, 0x57, 0x62, 0x48, 0x98, 0x42, 0x02, 0x58, 0x42, 0x48, 0x99, 0x32, + 0x02, 0x59, 0x32, 0x48, 0x9a, 0xb2, 0x02, 0x5a, 0xb2, 0x48, 0x9b, 0xa2, 0x02, 0x5b, 0xa2, 0x48, + 0x9c, 0x92, 0x02, 0x5c, 0x92, 0x48, 0x9d, 0x72, 0x02, 0x5d, 0x72, 0x48, 0x9e, 0x62, 0x02, 0x5e, + 0x62, 0x48, 0x9f, 0x42, 0x02, 0x5f, 0x42, 0x48, 0xa0, 0x32, 0x02, 0x60, 0x32, 0x48, 0xa1, 0xb2, + 0x02, 0x61, 0xb2, 0x48, 0xa2, 0xa2, 0x02, 0x62, 0xa2, 0x48, 0xa3, 0x92, 0x02, 0x63, 0x92, 0x48, + 0xa4, 0x72, 0x02, 0x64, 0x72, 0x48, 0xa5, 0x62, 0x02, 0x65, 0x62, 0x48, 0xa6, 0x42, 0x02, 0x66, + 0x42, 0x48, 0xa7, 0x32, 0x02, 0x67, 0x32, 0x48, 0xa8, 0xb2, 0x02, 0x68, 0xb2, 0x48, 0xa9, 0xa2, + 0x02, 0x69, 0xa2, 0x48, 0xaa, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x70, 0x00, 0x80, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x1d, 0xf0, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x02, 0xc2, 0x61, + 0x03, 0x7c, 0xf2, 0xc1, 0xe0, 0xf1, 0x01, 0xdb, 0xf7, 0xc0, 0x20, 0x00, 0x0c, 0x23, 0x0c, 0x84, + 0x0c, 0x05, 0x08, 0x10, 0x22, 0x6c, 0x49, 0x02, 0x20, 0x26, 0x22, 0xa0, 0x6a, 0xc0, 0x00, 0x00, + 0x0c, 0x02, 0xc0, 0x20, 0x00, 0x22, 0x6c, 0x43, 0x0c, 0x32, 0x85, 0x28, 0x01, 0xc0, 0x20, 0x00, + 0x0c, 0x07, 0x72, 0x6c, 0x50, 0xc0, 0x20, 0x00, 0x72, 0x6c, 0x51, 0x7c, 0xe6, 0xc0, 0x20, 0x00, + 0x52, 0x2c, 0x6a, 0x60, 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, 0x6c, 0x6a, 0xc0, 0x20, 0x00, 0x42, + 0x2c, 0x40, 0x49, 0x11, 0x31, 0xe6, 0xff, 0xc0, 0x20, 0x00, 0x32, 0x6c, 0x40, 0x0c, 0x82, 0x0c, + 0x03, 0x45, 0x32, 0x01, 0x91, 0xe3, 0xff, 0xc0, 0x20, 0x00, 0x82, 0x2c, 0x42, 0x01, 0xe1, 0xff, + 0x90, 0x88, 0x20, 0x02, 0x00, 0x80, 0x89, 0x01, 0x66, 0x10, 0x2c, 0x22, 0xa0, 0x67, 0x01, 0xbd, + 0xf7, 0x0c, 0x43, 0x08, 0x10, 0x0c, 0x14, 0x02, 0x20, 0x26, 0x52, 0xa0, 0x88, 0xc0, 0x00, 0x00, + 0x22, 0xa0, 0x67, 0x01, 0xb8, 0xf7, 0x0c, 0x43, 0x08, 0x10, 0x0c, 0x24, 0x02, 0x20, 0x26, 0x52, + 0xa0, 0x91, 0xc0, 0x00, 0x00, 0x46, 0x07, 0x00, 0x66, 0x20, 0x1a, 0x22, 0xa0, 0x67, 0x32, 0xa0, + 0x04, 0x42, 0xa0, 0x02, 0x01, 0xb0, 0xf7, 0x52, 0xa0, 0x07, 0x08, 0x10, 0x0c, 0x56, 0x02, 0x20, + 0x27, 0x0c, 0x27, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x28, 0x01, 0x22, 0x6c, 0x42, 0x0c, 0x12, + 0x45, 0x5c, 0x01, 0xc0, 0x20, 0x00, 0x38, 0x11, 0x08, 0x21, 0x32, 0x6c, 0x40, 0xc8, 0x31, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x4f, 0xf0, 0xfe, 0x3f, 0x08, 0x6b, 0x00, 0x40, 0x12, 0xc1, 0xf0, 0xc2, + 0x61, 0x01, 0x02, 0x61, 0x00, 0xc5, 0x2c, 0x01, 0x20, 0xc2, 0x20, 0x01, 0xfb, 0xff, 0xc0, 0x00, + 0x00, 0x01, 0xf8, 0xff, 0x22, 0x00, 0x4e, 0x02, 0x00, 0xb2, 0x9c, 0x12, 0x66, 0x10, 0x05, 0x85, + 0xee, 0xff, 0x46, 0x02, 0x00, 0xcc, 0x60, 0x26, 0x1c, 0x04, 0x8c, 0x1c, 0x85, 0xed, 0xff, 0xc8, + 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x14, 0x3a, 0x00, 0x40, 0xa4, 0x38, 0x00, 0x40, + 0xd8, 0x39, 0x00, 0x40, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xae, 0xff, 0x21, 0x8e, 0xf7, 0x02, + 0x00, 0x80, 0x28, 0x22, 0x16, 0x40, 0x04, 0xb7, 0xf2, 0x02, 0xc5, 0xea, 0xff, 0x01, 0xb7, 0xf2, + 0xc0, 0x20, 0x00, 0x32, 0x20, 0x46, 0x27, 0x73, 0x32, 0xc0, 0x20, 0x00, 0x42, 0x20, 0x46, 0x40, + 0x4d, 0x25, 0x66, 0x24, 0x26, 0x51, 0x87, 0xf1, 0xc0, 0x20, 0x00, 0x52, 0x25, 0x88, 0x87, 0x65, + 0x1a, 0x0c, 0x12, 0x01, 0xed, 0xff, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x01, 0xec, 0xff, 0xc0, 0x00, + 0x00, 0x0c, 0x12, 0x32, 0xa2, 0xb6, 0x01, 0xea, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x52, 0xf0, 0xfe, 0x3f, 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x01, 0x01, 0x04, 0x01, 0x04, 0x04, 0x01, 0x00, 0x00, 0x80, 0x00, 0xff, 0xc3, 0xff, 0xff, + 0x01, 0x01, 0x01, 0x04, 0x04, 0x04, 0x04, 0x01, 0x71, 0xf7, 0xff, 0x31, 0x6d, 0xf7, 0x42, 0x07, + 0x7f, 0x51, 0xf5, 0xff, 0x26, 0x14, 0x68, 0x26, 0x34, 0x65, 0x61, 0xf4, 0xff, 0x26, 0x44, 0x71, + 0x26, 0x54, 0x6e, 0x42, 0x07, 0x81, 0x66, 0x24, 0x11, 0x21, 0xf1, 0xff, 0xc0, 0x20, 0x00, 0x22, + 0x63, 0xd8, 0xc0, 0x20, 0x00, 0x62, 0x63, 0xd9, 0x46, 0x04, 0x00, 0x66, 0x34, 0x0e, 0x41, 0xed, + 0xff, 0xc0, 0x20, 0x00, 0x42, 0x63, 0xd8, 0xc0, 0x20, 0x00, 0x52, 0x63, 0xd9, 0xa1, 0xea, 0xff, + 0xc0, 0x20, 0x00, 0x92, 0x23, 0x40, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x63, 0x40, 0x81, + 0xe7, 0xff, 0x71, 0xb3, 0xf4, 0xc0, 0x20, 0x00, 0x62, 0x23, 0x42, 0x80, 0x66, 0x10, 0x70, 0x66, + 0x20, 0xc0, 0x20, 0x00, 0x62, 0x63, 0x42, 0x0c, 0x25, 0xc0, 0x20, 0x00, 0x59, 0xa3, 0x0d, 0xf0, + 0xc0, 0x20, 0x00, 0x52, 0x63, 0xd8, 0xb1, 0xde, 0xff, 0xc0, 0x20, 0x00, 0xb2, 0x63, 0xd9, 0x86, + 0xee, 0xff, 0xc0, 0x20, 0x00, 0x62, 0x63, 0xd8, 0x21, 0xdb, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x63, + 0xd9, 0x06, 0xea, 0xff, 0x42, 0xf2, 0xfe, 0x3f, 0xcc, 0x48, 0x10, 0x40, 0x90, 0x56, 0x10, 0x40, + 0xf4, 0x58, 0x10, 0x40, 0x10, 0x1f, 0x10, 0x40, 0x60, 0x1f, 0x10, 0x40, 0xbc, 0x1f, 0x10, 0x40, + 0x9c, 0x59, 0x10, 0x40, 0xa0, 0x16, 0x10, 0x40, 0xa4, 0x16, 0x10, 0x40, 0x24, 0x80, 0xfe, 0x3f, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x1a, 0x47, 0x12, 0xc1, 0xe0, 0xc9, 0x21, 0x09, 0x11, 0xe9, + 0x41, 0xd9, 0x31, 0xd1, 0xf0, 0xff, 0xed, 0x02, 0x02, 0x0d, 0x00, 0xc1, 0x36, 0xf7, 0xdc, 0x50, + 0x8b, 0x2c, 0x32, 0xcc, 0x77, 0x0c, 0x04, 0x45, 0xb5, 0xfd, 0x4d, 0x02, 0x21, 0x28, 0xf9, 0x42, + 0x6c, 0x76, 0x9b, 0x32, 0x45, 0xb4, 0xfd, 0x0c, 0x16, 0x31, 0x35, 0xf1, 0xc0, 0x20, 0x00, 0x52, + 0x23, 0xd2, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x63, 0xd2, 0x7c, 0xe4, 0xc0, 0x20, 0x00, + 0x22, 0x23, 0xd2, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xd2, 0x01, 0x83, 0xff, 0xc0, + 0x00, 0x00, 0x72, 0x0d, 0x00, 0x81, 0xe4, 0xff, 0x61, 0xdc, 0xff, 0x51, 0xdc, 0xff, 0x41, 0xdc, + 0xff, 0x31, 0xdc, 0xff, 0x01, 0xdd, 0xff, 0xb1, 0xdd, 0xff, 0xa1, 0xdd, 0xff, 0x29, 0x1c, 0x91, + 0xdd, 0xff, 0x92, 0x62, 0x1e, 0xa2, 0x62, 0x36, 0xb2, 0x62, 0x19, 0x02, 0x62, 0x16, 0x39, 0xa2, + 0x42, 0x62, 0x22, 0x52, 0x62, 0x28, 0x62, 0x62, 0x3a, 0x82, 0x62, 0x1d, 0xcc, 0xc7, 0x2d, 0x0e, + 0x85, 0xa5, 0xff, 0xed, 0x02, 0x0c, 0xe7, 0x79, 0x01, 0x86, 0x03, 0x00, 0x82, 0x0c, 0x56, 0xe2, + 0xa0, 0x00, 0x80, 0x88, 0x01, 0x80, 0x88, 0x31, 0x82, 0x61, 0x00, 0x85, 0xdf, 0xff, 0x85, 0xe7, + 0xff, 0x85, 0x2e, 0xff, 0x45, 0x6d, 0xff, 0x21, 0xcd, 0xff, 0x45, 0x98, 0xfd, 0x92, 0x0d, 0x00, + 0x08, 0x2c, 0x66, 0x19, 0x0a, 0xb7, 0xf0, 0x0f, 0x28, 0x01, 0x05, 0x32, 0x02, 0xc6, 0x01, 0x00, + 0xa1, 0xc8, 0xff, 0xa0, 0xa0, 0x20, 0xa9, 0x2c, 0x21, 0xc7, 0xff, 0x51, 0xc7, 0xfd, 0x01, 0x96, + 0xf6, 0xc0, 0x20, 0x00, 0xc2, 0x20, 0x9f, 0xc0, 0xc0, 0xf4, 0x20, 0xcc, 0x20, 0xc0, 0x20, 0x00, + 0xc2, 0x60, 0x9f, 0xb2, 0x05, 0x7a, 0x66, 0x2b, 0x40, 0x42, 0x05, 0x79, 0x02, 0x05, 0x87, 0x62, + 0x05, 0x8a, 0x32, 0x05, 0x77, 0x22, 0x05, 0x76, 0x80, 0x33, 0x11, 0x30, 0x22, 0x20, 0x32, 0x05, + 0x88, 0x80, 0x66, 0x01, 0x80, 0x33, 0x11, 0x30, 0x00, 0x20, 0x32, 0x05, 0x78, 0x80, 0x44, 0x01, + 0x00, 0x33, 0x11, 0x40, 0x33, 0x20, 0x42, 0x05, 0x89, 0x30, 0x22, 0x20, 0x00, 0x44, 0x11, 0x60, + 0x44, 0x20, 0x40, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x09, 0x02, 0x08, 0x11, 0xc8, 0x21, 0x2d, 0x0e, + 0x0c, 0x14, 0x42, 0x4d, 0x00, 0xe8, 0x41, 0xd8, 0x31, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, + 0x26, 0x42, 0x14, 0x26, 0xb2, 0x09, 0x1c, 0x23, 0x37, 0x12, 0x10, 0x1c, 0x44, 0x47, 0x12, 0x03, + 0x0c, 0x12, 0x0d, 0xf0, 0x0c, 0x32, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x0c, 0x22, 0x0d, 0xf0, + 0x8c, 0xf2, 0x26, 0x12, 0x05, 0x26, 0x22, 0x0e, 0x26, 0x32, 0x03, 0x1c, 0x02, 0x0d, 0xf0, 0x1c, + 0x42, 0x0d, 0xf0, 0x0c, 0x42, 0x0d, 0xf0, 0x1c, 0x22, 0x0d, 0xf0, 0x00, 0xc4, 0xee, 0xfe, 0x3f, + 0x22, 0x80, 0xfe, 0x3f, 0x12, 0xc1, 0xe0, 0xd9, 0x31, 0xf9, 0x51, 0xc9, 0x21, 0xe9, 0x41, 0x09, + 0x11, 0xed, 0x03, 0x08, 0x02, 0xcd, 0x02, 0x00, 0x03, 0x05, 0x56, 0xe0, 0x08, 0xf1, 0xf7, 0xff, + 0x21, 0xf8, 0xff, 0x08, 0x0f, 0x22, 0x12, 0x00, 0x02, 0x20, 0x29, 0x20, 0x20, 0x44, 0xc0, 0x00, + 0x00, 0x0c, 0x12, 0x08, 0x0f, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x1c, 0xf4, 0xc0, 0x00, 0x00, 0x0c, + 0x0d, 0xd0, 0x2d, 0x20, 0x85, 0xf9, 0xff, 0x42, 0xa1, 0xf4, 0x52, 0xa0, 0x0c, 0x10, 0x61, 0x20, + 0x08, 0x0f, 0x3d, 0x02, 0x02, 0x20, 0x3a, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0x02, 0x01, 0x00, 0x22, + 0x01, 0x01, 0x80, 0x00, 0x01, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x00, 0x08, 0x31, 0x80, 0x22, + 0x11, 0x20, 0x00, 0x20, 0xe0, 0x2d, 0x90, 0x02, 0x52, 0x00, 0x1b, 0xdd, 0xd0, 0xd0, 0x74, 0x66, + 0x4d, 0xbe, 0x3d, 0x01, 0x21, 0xdf, 0xff, 0x0c, 0x14, 0x22, 0x12, 0x00, 0x45, 0x0d, 0x00, 0x21, + 0xdc, 0xff, 0x3d, 0x01, 0x22, 0x12, 0x00, 0x05, 0x03, 0x00, 0x08, 0x0f, 0x02, 0x20, 0x2a, 0xd1, + 0xd6, 0xf1, 0xc0, 0x00, 0x00, 0x28, 0x0c, 0xd0, 0x22, 0x20, 0x29, 0x0c, 0xc8, 0x21, 0xd8, 0x31, + 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0xff, 0x00, 0xf0, 0xff, + 0xff, 0x3f, 0x00, 0xf0, 0x00, 0xc0, 0xff, 0xff, 0x80, 0x92, 0x11, 0x81, 0xfc, 0xff, 0x71, 0xcf, + 0xf1, 0xb1, 0xfb, 0xff, 0xa1, 0xfc, 0xff, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0xe9, 0x31, 0x09, 0x01, + 0xd9, 0x21, 0x0c, 0x00, 0x1c, 0x8d, 0x70, 0x50, 0xa0, 0xc0, 0x20, 0x00, 0x42, 0x25, 0xc1, 0x80, + 0x44, 0x10, 0x90, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, 0xc1, 0x00, 0x21, 0x41, 0x70, 0x22, + 0xa0, 0x62, 0x03, 0x01, 0x52, 0x03, 0x00, 0x80, 0x66, 0x01, 0x80, 0x55, 0x01, 0x50, 0x58, 0x31, + 0x60, 0x68, 0x31, 0x07, 0x60, 0x1d, 0x20, 0xe5, 0x11, 0xb0, 0x46, 0x01, 0xc0, 0x20, 0x00, 0xc2, + 0x22, 0x81, 0xb0, 0xcc, 0x10, 0x40, 0xcc, 0x20, 0xe0, 0xcc, 0x20, 0xc0, 0x20, 0x00, 0xc2, 0x62, + 0x81, 0xc6, 0x05, 0x00, 0x90, 0x46, 0x11, 0xc0, 0x20, 0x00, 0xe2, 0x22, 0x81, 0xa0, 0xee, 0x10, + 0x40, 0xee, 0x20, 0x50, 0xee, 0x20, 0xc0, 0x20, 0x00, 0xe2, 0x62, 0x81, 0x1b, 0x00, 0x00, 0x00, + 0x74, 0xd7, 0x90, 0x91, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x20, 0x20, 0x44, 0x12, 0xc1, 0xf0, 0x49, 0x01, 0xc9, 0x21, 0x09, 0x11, + 0xcd, 0x03, 0xc5, 0xe4, 0xff, 0x41, 0x78, 0xf7, 0x40, 0x22, 0x90, 0x32, 0x12, 0x02, 0x32, 0x4c, + 0x00, 0x22, 0x12, 0x02, 0x08, 0x01, 0x20, 0x28, 0x41, 0x22, 0x4c, 0x01, 0xbc, 0x40, 0x0c, 0x02, + 0x0c, 0x23, 0x42, 0x0c, 0x00, 0x01, 0x99, 0xff, 0x80, 0x44, 0x01, 0x08, 0x00, 0x40, 0x48, 0x31, + 0x02, 0x20, 0x2b, 0x40, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x0c, 0x23, 0x42, 0x0c, 0x01, + 0x01, 0x93, 0xff, 0x80, 0x44, 0x01, 0x08, 0x00, 0x40, 0x48, 0x31, 0x02, 0x20, 0x2b, 0x40, 0x40, + 0xf4, 0xc0, 0x00, 0x00, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x26, 0x12, 0x14, 0x26, 0x22, 0x15, 0x26, 0x32, 0x16, 0x26, 0x42, 0x17, 0x42, 0xc2, 0xfb, 0x0c, + 0x63, 0x0c, 0x52, 0x40, 0x23, 0x83, 0x0d, 0xf0, 0x0c, 0xe2, 0x0d, 0xf0, 0x0c, 0xa2, 0x0d, 0xf0, + 0x0c, 0x82, 0x0d, 0xf0, 0x0c, 0x72, 0x0d, 0xf0, 0x12, 0xc1, 0xe0, 0x09, 0x01, 0x39, 0x51, 0xc9, + 0x11, 0xd9, 0x21, 0xf9, 0x41, 0xe9, 0x31, 0xfd, 0x03, 0xed, 0x02, 0xd2, 0x13, 0x00, 0x22, 0x02, + 0x00, 0xd0, 0xc9, 0x24, 0xd0, 0x30, 0x34, 0x80, 0x02, 0x01, 0x00, 0x08, 0x31, 0xd0, 0xd4, 0x04, + 0xd0, 0xdd, 0x90, 0x30, 0xdd, 0x90, 0xd0, 0xd0, 0x74, 0xa6, 0x10, 0x7c, 0x66, 0x4d, 0x10, 0x02, + 0xc0, 0xf8, 0x2b, 0xdd, 0xd0, 0xd0, 0x74, 0x02, 0x4e, 0x00, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, + 0xa6, 0x10, 0x3e, 0xf6, 0x7c, 0x1e, 0x2d, 0x0c, 0x45, 0xf8, 0xff, 0x02, 0x0e, 0x00, 0x1b, 0xcc, + 0xc0, 0xc0, 0x74, 0x20, 0x00, 0xc0, 0x02, 0x4e, 0x00, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xa6, + 0x10, 0x1f, 0x66, 0x7c, 0xe0, 0xa6, 0x10, 0x19, 0xf6, 0x9d, 0x16, 0x02, 0xc0, 0xf8, 0x2b, 0xdd, + 0xd0, 0xd0, 0x74, 0x02, 0x4e, 0x00, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xa6, 0x10, 0x02, 0xb6, + 0x9d, 0xe8, 0xc0, 0xec, 0x11, 0x08, 0x01, 0xc8, 0x11, 0xfb, 0xee, 0xe0, 0xe0, 0x74, 0xb0, 0xee, + 0x11, 0xb6, 0x6d, 0x04, 0xab, 0xdd, 0xd0, 0xd0, 0x74, 0xea, 0xed, 0xe2, 0x5f, 0x00, 0xd8, 0x21, + 0xe8, 0x31, 0xf8, 0x41, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x77, 0x62, 0xd5, 0xb6, 0x7d, 0x16, 0xd2, + 0xcd, 0xfe, 0x8b, 0x20, 0x22, 0x4e, 0x00, 0xd0, 0xd0, 0x74, 0x80, 0x02, 0x01, 0x00, 0x08, 0x31, + 0x77, 0x62, 0x02, 0xf6, 0x7d, 0xe8, 0xd6, 0x80, 0xfb, 0xb6, 0x2c, 0x1d, 0x0b, 0xcc, 0xc0, 0xc0, + 0x74, 0x2d, 0x0c, 0xc5, 0xef, 0xff, 0x32, 0x0e, 0x00, 0x2a, 0x23, 0x22, 0x4e, 0x00, 0x80, 0x02, + 0x01, 0x00, 0x08, 0x31, 0x77, 0x62, 0x02, 0x66, 0x1c, 0xe1, 0xd6, 0x40, 0xf9, 0x66, 0x6d, 0x91, + 0xd2, 0xcd, 0xfe, 0x8b, 0x20, 0x22, 0x4e, 0x00, 0xd0, 0xd0, 0x74, 0xc6, 0xe0, 0xff, 0x00, 0x00, + 0x12, 0xc1, 0xe0, 0x29, 0x41, 0x09, 0x71, 0x2d, 0x01, 0x85, 0x84, 0x00, 0x0c, 0x33, 0x52, 0x11, + 0x03, 0xb2, 0x11, 0x02, 0x82, 0x11, 0x01, 0xa2, 0x11, 0x07, 0x72, 0x11, 0x06, 0x92, 0x11, 0x05, + 0x62, 0x11, 0x04, 0x01, 0x36, 0xff, 0x0c, 0x04, 0x2d, 0x04, 0x08, 0x00, 0x9a, 0x66, 0xaa, 0x77, + 0xba, 0x88, 0x08, 0xe0, 0x8a, 0x55, 0x70, 0x77, 0x90, 0x60, 0x66, 0x90, 0x70, 0x66, 0xc0, 0x70, + 0x55, 0xd0, 0x00, 0x55, 0x11, 0x00, 0x66, 0x11, 0x60, 0x60, 0x31, 0x50, 0x50, 0x31, 0x50, 0x25, + 0xb3, 0x60, 0x46, 0xb3, 0x00, 0x44, 0x11, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x40, 0x40, 0x31, + 0x49, 0x51, 0xc0, 0x00, 0x00, 0x01, 0x25, 0xff, 0x0c, 0x33, 0x08, 0x00, 0x29, 0x61, 0x08, 0xe0, + 0x28, 0x51, 0xc0, 0x00, 0x00, 0x38, 0x61, 0x08, 0x71, 0x20, 0x33, 0xc0, 0x28, 0x41, 0x12, 0xc1, + 0x20, 0x3a, 0x22, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x0d, 0xf0, 0x00, 0x8c, 0xa2, 0x26, 0x23, + 0x0c, 0x26, 0x33, 0x09, 0x26, 0x63, 0x06, 0x26, 0x73, 0x03, 0x0c, 0x02, 0x0d, 0xf0, 0x21, 0x6b, + 0xfd, 0x41, 0xed, 0xf6, 0x32, 0x02, 0x4e, 0x42, 0x04, 0x4e, 0x22, 0x02, 0x4d, 0x80, 0x44, 0x01, + 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x40, 0x48, 0x31, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0xe6, + 0x74, 0xd9, 0x2d, 0x03, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xd0, 0x09, 0x11, 0x39, 0x61, 0x69, + 0x71, 0x29, 0x01, 0x49, 0x81, 0xf9, 0x51, 0xd9, 0x31, 0xc9, 0x21, 0xe9, 0x41, 0x0c, 0x0c, 0x1c, + 0x8e, 0xd1, 0x0a, 0xf1, 0xf8, 0x81, 0x2d, 0x0c, 0x38, 0x01, 0xc5, 0x12, 0x00, 0xfa, 0x02, 0x02, + 0x00, 0x00, 0x48, 0x61, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xf6, 0x8c, 0x04, 0x4a, 0x40, 0x06, + 0x02, 0x00, 0x58, 0x71, 0x4d, 0x05, 0x07, 0xa5, 0x01, 0x4d, 0x00, 0x02, 0xaf, 0x00, 0xd0, 0x3c, + 0xa0, 0x40, 0x80, 0x60, 0x4d, 0x0e, 0x80, 0x88, 0x01, 0x80, 0x88, 0x31, 0x87, 0x2e, 0x01, 0x4d, + 0x08, 0x40, 0x50, 0x74, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xc1, 0x00, 0x22, 0x10, 0x50, 0x22, 0x20, + 0xc0, 0x20, 0x00, 0x22, 0x63, 0xc1, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0xe7, 0x9c, 0xa7, 0xc8, 0x21, + 0xd8, 0x31, 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xe0, 0x51, 0xac, 0xf7, 0x48, 0x02, 0xa1, 0xbf, 0xf5, 0x17, 0x74, 0x0b, 0x22, + 0x13, 0x00, 0x20, 0x38, 0x41, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x80, 0x93, 0x01, 0xe0, 0x82, + 0x01, 0x41, 0xb7, 0xf5, 0xa0, 0x88, 0x20, 0xa1, 0xf6, 0xff, 0xc0, 0x20, 0x00, 0x72, 0x25, 0x98, + 0xa0, 0x77, 0x10, 0x90, 0x77, 0x20, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x65, 0x98, 0x2c, + 0x06, 0xc0, 0x20, 0x00, 0xb8, 0xa4, 0x60, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb9, 0xa4, 0x7c, 0x0a, + 0x0c, 0x29, 0xc0, 0x20, 0x00, 0x82, 0x25, 0x8f, 0xa0, 0x88, 0x10, 0x90, 0x88, 0x20, 0xc0, 0x20, + 0x00, 0x82, 0x65, 0x8f, 0x72, 0xae, 0x0e, 0x0c, 0x16, 0xc0, 0x20, 0x00, 0x42, 0x25, 0x99, 0x70, + 0x44, 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x99, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x22, 0xa0, 0x61, 0x0c, 0x13, 0x0c, 0x24, 0x0c, 0x45, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xc7, + 0xfe, 0x0c, 0x06, 0x08, 0x00, 0x71, 0x9c, 0xf6, 0x02, 0x20, 0x27, 0x72, 0x07, 0x4a, 0xc0, 0x00, + 0x00, 0x22, 0xa0, 0x66, 0x0c, 0x33, 0x0c, 0x14, 0x0c, 0x55, 0x01, 0xc0, 0xfe, 0x0c, 0x06, 0x08, + 0x00, 0x71, 0x95, 0xf6, 0x02, 0x20, 0x27, 0x72, 0x07, 0x4b, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x44, 0x42, 0x10, 0x40, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xc9, 0x11, 0xd9, + 0x21, 0xcd, 0x02, 0xdd, 0x03, 0x21, 0x8c, 0xf6, 0x3d, 0x0c, 0x22, 0x02, 0x6e, 0xc5, 0xe5, 0xff, + 0x01, 0x8a, 0xf6, 0x61, 0x06, 0xfd, 0xf6, 0xbc, 0x3a, 0x41, 0xf6, 0xff, 0xc0, 0x3c, 0x90, 0x4a, + 0x33, 0xa0, 0x03, 0x00, 0x46, 0x23, 0x00, 0x86, 0x22, 0x00, 0xc6, 0x2d, 0x00, 0x06, 0x2d, 0x00, + 0x46, 0x20, 0x00, 0x86, 0x1f, 0x00, 0xc6, 0x2a, 0x00, 0x06, 0x2a, 0x00, 0xc6, 0x27, 0x00, 0x86, + 0x25, 0x00, 0x46, 0x23, 0x00, 0x86, 0x1c, 0x00, 0x46, 0x20, 0x00, 0x06, 0x1e, 0x00, 0xc6, 0x1b, + 0x00, 0x86, 0x19, 0x00, 0xda, 0x3c, 0x32, 0xd3, 0xff, 0x32, 0x03, 0xf0, 0x02, 0x00, 0x4e, 0xf6, + 0x8c, 0x0a, 0x42, 0x06, 0x61, 0xfc, 0xb4, 0x32, 0x0d, 0x00, 0x86, 0x0d, 0x00, 0x80, 0x00, 0x01, + 0x00, 0x08, 0x31, 0x26, 0x10, 0x17, 0x0c, 0xb2, 0x27, 0x10, 0x2d, 0x0c, 0xd4, 0x47, 0x10, 0x2e, + 0x72, 0xc0, 0xf2, 0x52, 0x06, 0x23, 0x0c, 0x02, 0x70, 0x25, 0x83, 0x86, 0x00, 0x00, 0x22, 0x06, + 0x20, 0xc8, 0x11, 0xd8, 0x21, 0x30, 0x00, 0x74, 0x07, 0xb2, 0x01, 0x2d, 0x00, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x3a, 0x32, 0xc6, 0xf0, 0xff, 0x22, 0x06, 0x21, 0x46, 0xf8, 0xff, 0x22, + 0x06, 0x22, 0xc6, 0xf6, 0xff, 0x32, 0x06, 0x63, 0x06, 0xe8, 0xff, 0x32, 0x0d, 0x00, 0x86, 0xe6, + 0xff, 0x32, 0x0d, 0x02, 0x06, 0xe5, 0xff, 0x32, 0x0d, 0x04, 0x86, 0xe3, 0xff, 0x32, 0x0d, 0x06, + 0x06, 0xe2, 0xff, 0x32, 0x0d, 0x01, 0x86, 0xe0, 0xff, 0x32, 0x0d, 0x03, 0x06, 0xdf, 0xff, 0x32, + 0x0d, 0x05, 0x86, 0xdd, 0xff, 0x32, 0x06, 0x62, 0x06, 0xdc, 0xff, 0x00, 0x2b, 0x64, 0x82, 0x93, + 0x00, 0x00, 0x04, 0x40, 0x80, 0x90, 0xb1, 0x90, 0x88, 0xc0, 0x00, 0x16, 0x40, 0x8a, 0x82, 0x00, + 0x25, 0xa1, 0x00, 0x88, 0x11, 0x80, 0x80, 0x31, 0x82, 0x53, 0x00, 0x27, 0x28, 0x14, 0x20, 0x48, + 0xc0, 0x50, 0x20, 0x60, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x42, 0x53, 0x00, 0x0d, 0xf0, 0x0c, + 0x02, 0x0d, 0xf0, 0x20, 0x40, 0x60, 0x87, 0x24, 0xf5, 0x2a, 0x48, 0x80, 0x25, 0x01, 0x20, 0x28, + 0x31, 0x46, 0xf9, 0xff, 0x44, 0xf2, 0xfe, 0x3f, 0xd8, 0x85, 0xfe, 0x3f, 0xf3, 0x0f, 0x00, 0x00, + 0x48, 0xf0, 0xfe, 0x3f, 0xf8, 0x85, 0xfe, 0x3f, 0x12, 0xc1, 0x90, 0xf2, 0x61, 0x18, 0x02, 0x61, + 0x14, 0x22, 0x61, 0x11, 0x52, 0x61, 0x12, 0x62, 0x61, 0x19, 0xc2, 0x61, 0x15, 0xe2, 0x61, 0x17, + 0xd2, 0x61, 0x16, 0xdd, 0x04, 0xed, 0x03, 0xc1, 0x3a, 0xef, 0xc0, 0x20, 0x00, 0xc2, 0x2c, 0xd8, + 0x22, 0xa1, 0x38, 0xc0, 0xc8, 0x45, 0x85, 0xc6, 0xff, 0x22, 0x61, 0x13, 0xf6, 0x8c, 0x0a, 0x7c, + 0xf2, 0x20, 0x2c, 0x30, 0x20, 0x20, 0x24, 0x46, 0x00, 0x00, 0x2d, 0x0c, 0x3d, 0x0e, 0x85, 0xe6, + 0xff, 0xf1, 0xe8, 0xff, 0xe1, 0x29, 0xf6, 0x6c, 0x03, 0x42, 0x21, 0x13, 0x0d, 0x02, 0x52, 0x21, + 0x11, 0x2c, 0x0a, 0x5a, 0x52, 0x52, 0x61, 0x10, 0x52, 0x05, 0x00, 0x2d, 0x0a, 0xe0, 0x55, 0x11, + 0x50, 0x44, 0xc0, 0x00, 0x44, 0x11, 0x40, 0x40, 0x31, 0x37, 0x24, 0x01, 0x3d, 0x04, 0x09, 0xe1, + 0x68, 0x0e, 0x37, 0x2a, 0x01, 0x2d, 0x03, 0x00, 0x82, 0x11, 0x80, 0x80, 0x31, 0xd7, 0x76, 0x19, + 0x09, 0xe1, 0xdc, 0x40, 0x2d, 0x08, 0x89, 0xc1, 0x3d, 0x0f, 0x0c, 0x44, 0x0c, 0x25, 0xd9, 0xd1, + 0x85, 0xf0, 0xff, 0x0d, 0x02, 0x0c, 0x0d, 0x06, 0x11, 0x00, 0x3d, 0x0d, 0x2d, 0x08, 0x89, 0xc1, + 0xd9, 0xd1, 0x0c, 0x44, 0x0c, 0x25, 0x45, 0xef, 0xff, 0x98, 0xe1, 0xdd, 0x02, 0x56, 0x49, 0x19, + 0xa8, 0xc1, 0xe6, 0x1a, 0x02, 0x06, 0x63, 0x00, 0xa6, 0xba, 0x02, 0x86, 0x61, 0x00, 0x56, 0x32, + 0x18, 0x02, 0x0f, 0x02, 0x1b, 0x00, 0x00, 0x00, 0x74, 0x02, 0x4f, 0x02, 0x1c, 0x42, 0x27, 0x90, + 0x0b, 0x7c, 0xed, 0x48, 0xd1, 0x0c, 0x03, 0x32, 0x4f, 0x02, 0x32, 0x54, 0x00, 0x0c, 0x00, 0x62, + 0x21, 0x19, 0x8c, 0x6d, 0x0c, 0x05, 0x52, 0x4f, 0x03, 0x52, 0x5f, 0x00, 0x02, 0x61, 0x1a, 0xbc, + 0x36, 0x21, 0xbd, 0xff, 0x3d, 0x0c, 0x48, 0xc1, 0x62, 0x9f, 0x00, 0x71, 0x28, 0xf0, 0x58, 0xd1, + 0x70, 0x7c, 0xa0, 0x52, 0x95, 0x00, 0xc0, 0x20, 0x00, 0x82, 0x0e, 0x4e, 0x72, 0x27, 0xc1, 0x80, + 0x88, 0x01, 0x80, 0x77, 0x01, 0x70, 0x78, 0x31, 0x80, 0x88, 0x31, 0x89, 0x01, 0x01, 0xb0, 0xef, + 0xc0, 0x00, 0x00, 0x02, 0x21, 0x1a, 0x62, 0x21, 0x12, 0x16, 0x46, 0x10, 0xc9, 0xf1, 0xcc, 0x3d, + 0xc9, 0xf1, 0x16, 0xb0, 0x0f, 0x0c, 0x05, 0xfd, 0x0d, 0xa1, 0xaa, 0xff, 0x22, 0x0e, 0x78, 0xc2, + 0xa0, 0x7f, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x50, 0x95, 0x90, 0x80, 0x7c, 0x01, 0x70, 0x78, + 0x31, 0x1b, 0x55, 0xe0, 0x99, 0x90, 0x92, 0x09, 0x55, 0x50, 0x50, 0x74, 0x80, 0x99, 0x01, 0x90, + 0x98, 0x31, 0x77, 0xa9, 0x01, 0xcd, 0x09, 0x66, 0x45, 0xdd, 0x51, 0x09, 0xfe, 0xca, 0xc2, 0x80, + 0xcc, 0x01, 0xc0, 0xc8, 0x31, 0x16, 0x8d, 0x09, 0x2c, 0x44, 0xd0, 0x9c, 0xc0, 0x80, 0x99, 0x01, + 0x90, 0x98, 0x31, 0x97, 0xa4, 0x0b, 0x02, 0x61, 0x1a, 0x22, 0x15, 0x00, 0xb2, 0xa3, 0xe4, 0x27, + 0x3b, 0x0e, 0xe6, 0xa9, 0x7b, 0x42, 0x15, 0x00, 0x31, 0x95, 0xff, 0x02, 0x61, 0x1a, 0x47, 0x33, + 0x6f, 0x22, 0xc1, 0x20, 0x31, 0xfb, 0xfd, 0x1c, 0x85, 0x90, 0x55, 0xc0, 0x52, 0x41, 0x20, 0x85, + 0x9d, 0xff, 0x62, 0x0e, 0x79, 0x72, 0x01, 0x20, 0x41, 0x8e, 0xff, 0x21, 0xf5, 0xfd, 0xc0, 0x8d, + 0xc0, 0x82, 0xc8, 0x18, 0x22, 0x12, 0x00, 0x32, 0x04, 0x4a, 0x80, 0x77, 0x01, 0x80, 0x66, 0x01, + 0x60, 0x68, 0x31, 0x70, 0x78, 0x31, 0x80, 0x33, 0x01, 0x70, 0x58, 0xc0, 0x5a, 0x66, 0x30, 0x38, + 0x31, 0x80, 0x77, 0xc0, 0x7a, 0xff, 0x5a, 0x33, 0x62, 0x4e, 0x79, 0x32, 0x44, 0x4a, 0x32, 0xc1, + 0x22, 0x0c, 0x04, 0x05, 0x90, 0xff, 0x21, 0xe6, 0xfd, 0x32, 0xc1, 0x22, 0x22, 0x12, 0x00, 0x85, + 0x85, 0xff, 0x02, 0x21, 0x1a, 0x51, 0xe2, 0xfd, 0xa1, 0x77, 0xff, 0x32, 0x15, 0x00, 0x32, 0x5e, + 0x3b, 0xf0, 0x9c, 0xc0, 0x00, 0xf0, 0x93, 0x80, 0x99, 0x01, 0x90, 0x98, 0x31, 0x80, 0x4f, 0x01, + 0x40, 0xf8, 0x31, 0xd6, 0x4f, 0x00, 0x4c, 0x6b, 0x97, 0xab, 0x1e, 0xa6, 0x1f, 0x02, 0xe6, 0xa9, + 0x18, 0xc2, 0x21, 0x15, 0xd2, 0x21, 0x16, 0xe2, 0x21, 0x17, 0xf2, 0x21, 0x18, 0x02, 0x21, 0x14, + 0x12, 0xc1, 0x70, 0x0d, 0xf0, 0x0c, 0x00, 0x86, 0x9f, 0xff, 0xac, 0x90, 0x0c, 0x8d, 0xb2, 0x0a, + 0x03, 0x7c, 0x89, 0x80, 0xbb, 0x01, 0xb0, 0xb8, 0x31, 0x00, 0xbb, 0xc0, 0xb2, 0x4a, 0x03, 0x80, + 0xbb, 0x01, 0xb0, 0xb8, 0x31, 0x97, 0x2b, 0x01, 0x9d, 0x0b, 0x0d, 0x0d, 0x97, 0x2d, 0x01, 0x0d, + 0x09, 0x02, 0x4a, 0x03, 0xc6, 0x0b, 0x00, 0x32, 0x0e, 0x78, 0x01, 0x5d, 0xff, 0x22, 0x0e, 0x79, + 0xd2, 0x00, 0x4a, 0x80, 0x22, 0x01, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x20, 0x28, 0x31, 0x80, + 0xdd, 0x01, 0xf0, 0x22, 0x80, 0xf0, 0x33, 0xc0, 0x32, 0x4e, 0x78, 0x22, 0x4e, 0x79, 0xd0, 0xd8, + 0x31, 0xf0, 0xdd, 0x80, 0xd2, 0x40, 0x4a, 0x22, 0x0e, 0x4e, 0x32, 0xc1, 0x28, 0x85, 0x64, 0xfd, + 0x85, 0x48, 0x00, 0xf2, 0x21, 0x19, 0x16, 0x7f, 0xf7, 0x21, 0x4e, 0xff, 0x52, 0x0e, 0x78, 0x32, + 0x0e, 0x79, 0x41, 0x4b, 0xff, 0x80, 0x33, 0x01, 0x42, 0x04, 0x4a, 0x80, 0x55, 0x01, 0x50, 0x58, + 0x31, 0x80, 0x44, 0x01, 0x30, 0x38, 0x31, 0x40, 0x48, 0x31, 0xc0, 0x20, 0x00, 0x88, 0xf1, 0xb2, + 0x21, 0x10, 0xd8, 0xc1, 0x71, 0xab, 0xfd, 0xa1, 0xad, 0xef, 0x72, 0x17, 0x00, 0x62, 0x2a, 0xd8, + 0xd9, 0x01, 0xb2, 0x0b, 0x00, 0xb9, 0x11, 0x89, 0x21, 0x92, 0x0e, 0x4e, 0x80, 0x66, 0x01, 0x80, + 0x99, 0x01, 0x90, 0x98, 0x31, 0x99, 0x31, 0x60, 0x68, 0x31, 0x60, 0x60, 0x60, 0xa0, 0x88, 0xa0, + 0xc0, 0x20, 0x00, 0x82, 0x28, 0xc1, 0x01, 0x33, 0xff, 0x80, 0x88, 0x01, 0x80, 0x88, 0x31, 0x89, + 0x41, 0x02, 0x00, 0x03, 0xc9, 0x61, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0x09, 0x51, 0x01, 0x2c, + 0xef, 0xc0, 0x00, 0x00, 0x46, 0xbe, 0xff, 0x00, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0x7f, 0xff, + 0x41, 0xfe, 0xff, 0x7c, 0xe6, 0x31, 0x6e, 0xee, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xd7, 0x40, 0x22, + 0x10, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xd7, 0xb1, 0xf9, 0xff, 0xc0, 0x20, 0x00, 0xa2, 0x23, 0xd7, + 0xb0, 0xaa, 0x10, 0xc0, 0x20, 0x00, 0xa2, 0x63, 0xd7, 0xc0, 0x20, 0x00, 0x92, 0x23, 0xd4, 0x60, + 0x99, 0x10, 0xc0, 0x20, 0x00, 0x92, 0x63, 0xd4, 0x0c, 0x28, 0xc0, 0x20, 0x00, 0x72, 0x23, 0xd8, + 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x63, 0xd8, 0xc0, 0x20, 0x00, 0x52, 0x23, 0xd8, 0x60, + 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, 0x63, 0xd8, 0x0c, 0x14, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xd8, + 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xd8, 0x0d, 0xf0, 0x00, 0x30, 0xef, 0xfe, 0x3f, + 0x94, 0xf0, 0xfe, 0x3f, 0x5c, 0x86, 0xfe, 0x3f, 0x12, 0xc1, 0xe0, 0x02, 0x61, 0x06, 0x01, 0xc7, + 0xfb, 0xc2, 0x61, 0x07, 0x02, 0x00, 0x64, 0x30, 0xc3, 0x20, 0x00, 0x00, 0x04, 0x56, 0x50, 0x0b, + 0x01, 0x46, 0xf5, 0x31, 0x4b, 0xee, 0xc0, 0x20, 0x00, 0x42, 0x23, 0xd4, 0xf7, 0xf4, 0x5f, 0xc0, + 0x20, 0x00, 0x62, 0x23, 0xd4, 0x71, 0xff, 0xfe, 0x60, 0x68, 0x25, 0x56, 0x06, 0x05, 0x72, 0x07, + 0x04, 0x56, 0xa7, 0x04, 0x32, 0x00, 0x4e, 0x29, 0x51, 0xb6, 0x73, 0x02, 0xc6, 0x23, 0x00, 0x41, + 0x3a, 0xf5, 0x0b, 0x23, 0x52, 0x94, 0x06, 0x42, 0x94, 0x07, 0x59, 0x41, 0x50, 0x34, 0xc0, 0x30, + 0x22, 0x82, 0x0c, 0x53, 0x85, 0x38, 0x0b, 0x08, 0x41, 0x2a, 0x00, 0x86, 0x00, 0x00, 0x60, 0x06, + 0x20, 0x10, 0x21, 0x20, 0x31, 0xe2, 0xff, 0x00, 0x40, 0x11, 0x40, 0x40, 0x31, 0x85, 0x47, 0xfd, + 0x2d, 0x01, 0x31, 0x30, 0xf5, 0x41, 0xde, 0xff, 0x58, 0x51, 0x6d, 0x0c, 0x85, 0xbb, 0xff, 0x05, + 0xf0, 0xff, 0x31, 0xe8, 0xfe, 0x0c, 0x02, 0x01, 0x51, 0xfd, 0x22, 0x43, 0x04, 0x21, 0xe8, 0xfe, + 0x08, 0x00, 0x22, 0x02, 0x4a, 0x08, 0x00, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0xc0, 0x00, 0x00, + 0xa6, 0x82, 0x22, 0x2d, 0x0c, 0x51, 0xe2, 0xfe, 0x0c, 0x04, 0x42, 0x45, 0x4a, 0x85, 0xe1, 0xfe, + 0x61, 0x1e, 0xf5, 0x32, 0x26, 0x1c, 0x1b, 0x33, 0x32, 0x66, 0x1c, 0x8c, 0x7c, 0x21, 0xcd, 0xff, + 0x01, 0xd8, 0xee, 0xc0, 0x00, 0x00, 0xc8, 0x71, 0x08, 0x61, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0xf6, + 0xa3, 0x22, 0x41, 0x15, 0xf5, 0x22, 0xc3, 0xfa, 0x52, 0x94, 0x07, 0x42, 0x94, 0x08, 0x52, 0x61, + 0x03, 0x50, 0x34, 0xc0, 0x30, 0x22, 0x82, 0x32, 0xa0, 0x05, 0x45, 0x2f, 0x0b, 0x02, 0x21, 0x03, + 0x2a, 0x00, 0xc6, 0xda, 0xff, 0x62, 0x90, 0x09, 0x22, 0xa0, 0x0d, 0x37, 0xb2, 0x02, 0x06, 0xd7, + 0xff, 0x30, 0x23, 0xa0, 0x31, 0x09, 0xf5, 0x22, 0xc2, 0xc9, 0x32, 0x93, 0x08, 0x32, 0x61, 0x02, + 0x30, 0x36, 0xc0, 0x30, 0x22, 0x82, 0x32, 0xa0, 0x16, 0x45, 0x2c, 0x0b, 0x08, 0x21, 0x2a, 0x00, + 0x46, 0xcf, 0xff, 0x00, 0x91, 0x07, 0xee, 0x81, 0xf3, 0xef, 0x0c, 0x0b, 0x12, 0xc1, 0xf0, 0xc9, + 0x11, 0x09, 0x01, 0xd9, 0x21, 0x0c, 0x00, 0xd2, 0xa0, 0xff, 0x7c, 0xfc, 0x90, 0x60, 0xa0, 0x20, + 0x70, 0x90, 0x5d, 0x0d, 0xad, 0x0b, 0xc0, 0x20, 0x00, 0x32, 0xa1, 0x17, 0x62, 0x26, 0xe0, 0x1b, + 0x00, 0x00, 0x00, 0x74, 0xc0, 0x66, 0x30, 0x60, 0x40, 0x74, 0x42, 0xc4, 0xeb, 0x60, 0x60, 0xa4, + 0x62, 0x57, 0x00, 0x40, 0xa4, 0xb3, 0x30, 0xaa, 0x82, 0x80, 0x36, 0x10, 0xa0, 0xa8, 0x21, 0xa7, + 0x2d, 0x01, 0x5d, 0x0a, 0x3a, 0x35, 0x32, 0x57, 0x00, 0x66, 0x80, 0xbf, 0xc8, 0x11, 0xd8, 0x21, + 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0xf1, 0x3c, 0x11, 0x01, 0xf3, 0x3c, 0x11, 0x01, + 0x00, 0x00, 0x00, 0x40, 0xf0, 0x3c, 0x11, 0x01, 0xff, 0xff, 0x03, 0x00, 0x30, 0x40, 0xf4, 0x12, + 0xc1, 0xc0, 0xc9, 0x61, 0xe9, 0x81, 0xf9, 0x91, 0x59, 0xd1, 0x69, 0x41, 0x0c, 0x13, 0xd9, 0x71, + 0xd1, 0x07, 0xfd, 0x09, 0x51, 0x08, 0x0d, 0x29, 0x31, 0x02, 0x20, 0x2b, 0x0c, 0x02, 0xc0, 0x00, + 0x00, 0x28, 0xd1, 0xc1, 0xdf, 0xed, 0x16, 0x52, 0x12, 0x4c, 0x0f, 0x0c, 0x1e, 0xd2, 0xc2, 0xfc, + 0x4c, 0x07, 0x1c, 0xc8, 0x0c, 0x09, 0x0c, 0x0a, 0x0c, 0x0b, 0xb9, 0x21, 0xa9, 0xb1, 0x99, 0xc1, + 0x89, 0x11, 0x79, 0x01, 0xd9, 0xa1, 0x0c, 0x0d, 0x0c, 0x12, 0x01, 0xf8, 0xfc, 0x0c, 0x23, 0x08, + 0x00, 0x48, 0x01, 0x02, 0x20, 0x2b, 0x40, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0x01, 0xf4, 0xfc, 0x0c, + 0x02, 0x08, 0x00, 0x0c, 0x23, 0x02, 0x20, 0x2b, 0xf0, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0xc0, 0x20, + 0x00, 0x31, 0xdd, 0xff, 0x32, 0x6c, 0xd3, 0xc0, 0x20, 0x00, 0x21, 0xdc, 0xff, 0x22, 0x6c, 0xd3, + 0x0c, 0x22, 0x01, 0x9c, 0xf6, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x38, 0x11, 0x88, 0x21, 0x71, 0xd8, + 0xff, 0x52, 0xa0, 0x7f, 0x4d, 0x0d, 0xc0, 0x20, 0x00, 0x62, 0x2c, 0xd3, 0x60, 0x68, 0x75, 0x60, + 0x4e, 0x83, 0x56, 0xe4, 0xfe, 0xc0, 0x20, 0x00, 0x92, 0x2c, 0xd3, 0x0c, 0x1b, 0x90, 0x9f, 0x05, + 0xb0, 0x99, 0x30, 0xc0, 0x20, 0x00, 0x22, 0x2c, 0xd3, 0x0c, 0x0a, 0x70, 0x22, 0x10, 0x20, 0xab, + 0x83, 0x9c, 0x29, 0x9d, 0x05, 0xfa, 0xf3, 0x00, 0xff, 0x11, 0xf0, 0xf0, 0x31, 0xf7, 0x25, 0x01, + 0x9d, 0x0f, 0xfd, 0x09, 0x46, 0x03, 0x00, 0x30, 0x2f, 0xc0, 0xfd, 0x0d, 0x00, 0x22, 0x11, 0x20, + 0x20, 0x31, 0x20, 0xf2, 0xb3, 0x9c, 0x2a, 0x9d, 0x05, 0x0a, 0x03, 0x00, 0x00, 0x11, 0x00, 0x00, + 0x31, 0x07, 0x25, 0x01, 0x9d, 0x00, 0x0d, 0x09, 0x46, 0x03, 0x00, 0x30, 0x20, 0xc0, 0x0d, 0x0d, + 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x20, 0x02, 0xb3, 0x09, 0x01, 0x48, 0xa1, 0x72, 0xc3, 0xfe, + 0x30, 0x61, 0x21, 0x1b, 0x66, 0x0c, 0x13, 0x80, 0x66, 0x01, 0x60, 0x68, 0x31, 0x70, 0x36, 0x93, + 0x39, 0x11, 0x47, 0x28, 0x17, 0x78, 0xb1, 0xa8, 0xc1, 0x0a, 0x97, 0xfa, 0xba, 0x00, 0xbb, 0x11, + 0x00, 0x99, 0x11, 0x90, 0x70, 0x31, 0xb0, 0xa0, 0x31, 0xa9, 0xc1, 0x79, 0xb1, 0xa8, 0xd1, 0x1b, + 0x88, 0x80, 0x80, 0x74, 0x89, 0x21, 0x80, 0xaa, 0xc0, 0x56, 0xba, 0xef, 0xc6, 0x01, 0x00, 0x0c, + 0x09, 0x0c, 0x0a, 0xa9, 0xb1, 0x99, 0xc1, 0x0c, 0x12, 0x0c, 0x23, 0xf8, 0xb1, 0xd1, 0xb3, 0xfc, + 0x2b, 0xff, 0x08, 0x0d, 0xf0, 0x42, 0xf4, 0x02, 0x20, 0x2b, 0xf0, 0xf2, 0x21, 0xc0, 0x00, 0x00, + 0x0c, 0x02, 0x0c, 0x23, 0xe8, 0xc1, 0x08, 0x0d, 0x2b, 0xee, 0xe0, 0x42, 0xf4, 0x02, 0x20, 0x2b, + 0xe0, 0xe2, 0x21, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x08, 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, + 0xa0, 0x7f, 0xc0, 0x00, 0x00, 0x41, 0x97, 0xff, 0xc0, 0x20, 0x00, 0x28, 0x31, 0x38, 0x41, 0x42, + 0x6c, 0xd3, 0xe2, 0x43, 0x00, 0xf2, 0x43, 0x01, 0x9c, 0xf2, 0x91, 0x93, 0xff, 0xe0, 0x7e, 0x01, + 0x70, 0x8f, 0x01, 0x61, 0x60, 0xf5, 0xc0, 0x20, 0x00, 0x52, 0x26, 0x99, 0x90, 0x55, 0x10, 0x80, + 0x55, 0x20, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x99, 0xc8, 0x61, 0xd8, 0x71, 0xe8, + 0x81, 0xf8, 0x91, 0x08, 0x51, 0x12, 0xc1, 0x40, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x51, 0x96, 0xee, 0xc0, 0x20, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0x84, 0x52, 0x25, + 0xd8, 0x61, 0x65, 0xf4, 0x01, 0x8e, 0xfc, 0x62, 0x06, 0x6f, 0x08, 0x00, 0x50, 0x50, 0x60, 0x80, + 0x55, 0x01, 0x02, 0x20, 0x26, 0x50, 0x58, 0x31, 0x80, 0x66, 0x01, 0x60, 0x68, 0x31, 0x60, 0x55, + 0xc0, 0x52, 0xc5, 0xe8, 0x50, 0x50, 0x74, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x21, 0x9f, 0xef, 0x01, 0x80, 0xfc, 0xc0, + 0x20, 0x00, 0x0c, 0x03, 0x0c, 0xf4, 0x0c, 0x15, 0x0c, 0x16, 0x0c, 0x07, 0x08, 0x00, 0x22, 0x22, + 0x80, 0x02, 0x20, 0x27, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x05, 0xf9, 0xff, 0x22, 0xa0, 0x77, + 0x0c, 0x03, 0x1c, 0xb4, 0x01, 0x76, 0xfc, 0x0c, 0x75, 0x08, 0x00, 0x0c, 0x06, 0x02, 0x20, 0x27, + 0x72, 0xa0, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x74, 0x86, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0x02, 0x61, 0x00, 0x20, 0xc2, 0x20, + 0xdc, 0x13, 0x21, 0xfb, 0xff, 0x01, 0xfe, 0xed, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x0c, 0x53, 0x45, + 0x06, 0x0b, 0xc6, 0x05, 0x00, 0x01, 0x36, 0xf6, 0x37, 0xb0, 0x0b, 0x85, 0x05, 0x0b, 0x40, 0x22, + 0x11, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x22, 0x11, 0x85, 0x04, 0x0b, 0xc2, 0x21, 0x01, + 0x02, 0x21, 0x00, 0x12, 0xc1, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x22, 0x82, 0x20, + 0x2c, 0x41, 0x0d, 0xf0, 0x41, 0x34, 0xed, 0xc0, 0x20, 0x00, 0x32, 0x24, 0x47, 0x3a, 0x32, 0xc0, + 0x20, 0x00, 0x32, 0x64, 0x41, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x39, 0x01, 0x09, 0x11, 0x01, + 0xa7, 0xfa, 0xc9, 0x21, 0x02, 0x00, 0x39, 0xc1, 0x2b, 0xed, 0xdc, 0x20, 0x7c, 0xc5, 0xc0, 0x20, + 0x00, 0x32, 0x2c, 0x59, 0x50, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, 0x6c, 0x59, 0x86, 0x07, 0x00, + 0x66, 0x10, 0x07, 0x2c, 0x06, 0x60, 0x44, 0x20, 0xc6, 0x04, 0x00, 0x66, 0x20, 0x10, 0x0c, 0x38, + 0xc0, 0x20, 0x00, 0x72, 0x2c, 0x59, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x6c, 0x59, 0x0c, + 0x03, 0x01, 0x42, 0xfc, 0xc0, 0x20, 0x00, 0x32, 0x6c, 0x50, 0xc0, 0x20, 0x00, 0x22, 0x6c, 0x51, + 0xc0, 0x20, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x55, 0x0c, 0x56, 0x0c, 0x17, 0x08, 0x00, 0x42, 0x6c, + 0x40, 0x02, 0x20, 0x27, 0x1c, 0xc4, 0xc0, 0x00, 0x00, 0x51, 0x11, 0xf3, 0x41, 0x12, 0xf3, 0x31, + 0x3b, 0xee, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xf2, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, + 0x00, 0x22, 0x63, 0xf2, 0x0c, 0x12, 0x01, 0xe3, 0xf5, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, + 0x03, 0x1c, 0xc4, 0x01, 0x2e, 0xfc, 0x0c, 0x55, 0x08, 0x00, 0x0c, 0x56, 0x02, 0x20, 0x27, 0x0c, + 0x07, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x28, 0x01, 0x08, 0x11, 0x22, 0x6c, 0x44, 0xc8, 0x21, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x20, 0x90, 0x54, 0xa2, 0xaf, 0xc0, 0x51, 0xfd, + 0xec, 0xc0, 0x20, 0x00, 0x82, 0x25, 0x46, 0xa0, 0x88, 0x10, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, + 0x82, 0x65, 0x46, 0x30, 0x60, 0x04, 0x7c, 0xe7, 0xc0, 0x20, 0x00, 0x42, 0x25, 0x6a, 0x70, 0x44, + 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x6a, 0x0d, 0xf0, 0x74, 0x80, 0xfe, 0x3f, + 0x00, 0x00, 0x00, 0x0f, 0x61, 0xfe, 0xff, 0x28, 0x06, 0x66, 0x02, 0x25, 0x51, 0x48, 0xee, 0x41, + 0xfc, 0xff, 0x21, 0xd7, 0xec, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x96, 0x50, 0x33, 0x10, 0x30, 0x3f, + 0x41, 0x66, 0x13, 0x0f, 0xc0, 0x20, 0x00, 0x22, 0x22, 0x95, 0x40, 0x22, 0x10, 0x20, 0x28, 0x75, + 0x29, 0x06, 0x0d, 0xf0, 0xc0, 0x20, 0x00, 0x22, 0x22, 0x97, 0x06, 0xfb, 0xff, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x80, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x85, 0xfb, 0xff, 0x26, 0x22, 0x0c, 0x0c, + 0x42, 0x0c, 0x03, 0x41, 0xfb, 0xff, 0x05, 0xeb, 0xff, 0xc6, 0x07, 0x00, 0x01, 0x54, 0xfa, 0x02, + 0x00, 0x65, 0x66, 0x20, 0x0c, 0x0c, 0x42, 0x0c, 0x03, 0x41, 0xf5, 0xff, 0x85, 0xe9, 0xff, 0x46, + 0x02, 0x00, 0x0c, 0x42, 0x0c, 0x03, 0x41, 0x5c, 0xfb, 0xc5, 0xe8, 0xff, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x85, 0xf7, 0xff, 0x26, 0x22, 0x0c, 0x0c, + 0x02, 0x0c, 0x03, 0x41, 0xeb, 0xff, 0x05, 0xe7, 0xff, 0xc6, 0x07, 0x00, 0x01, 0x44, 0xfa, 0x02, + 0x00, 0x65, 0x66, 0x20, 0x0c, 0x0c, 0x02, 0x0c, 0x03, 0x41, 0xe5, 0xff, 0x85, 0xe5, 0xff, 0x46, + 0x02, 0x00, 0x0c, 0x02, 0x0c, 0x03, 0x41, 0x4c, 0xfb, 0xc5, 0xe4, 0xff, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xd9, 0x21, 0xc9, 0x11, 0x51, 0xe5, 0xef, + 0xcd, 0x02, 0xd1, 0xe6, 0xed, 0xc0, 0x20, 0x00, 0x42, 0x2d, 0x5c, 0x50, 0x44, 0x10, 0xc0, 0x20, + 0x00, 0x42, 0x6d, 0x5c, 0x32, 0xa1, 0x01, 0xc0, 0x20, 0x00, 0x32, 0x6d, 0x5b, 0x21, 0x14, 0xf0, + 0xc0, 0x20, 0x00, 0x02, 0x2d, 0x5b, 0x20, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x22, 0xa0, 0x64, 0x02, + 0x6d, 0x5b, 0x01, 0x88, 0xf5, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x62, 0x2d, 0x5c, 0x96, 0x86, + 0x00, 0xc0, 0x20, 0x00, 0x72, 0x2d, 0x5c, 0xd6, 0x67, 0xff, 0x31, 0x1b, 0xf7, 0xc0, 0x20, 0x00, + 0x01, 0x23, 0xfa, 0x22, 0x2d, 0x5c, 0x02, 0x00, 0x01, 0x30, 0x22, 0x10, 0x8c, 0x40, 0x26, 0x10, + 0x07, 0x26, 0x20, 0x3f, 0x2c, 0x83, 0x86, 0x00, 0x00, 0x32, 0xa0, 0x1a, 0xc0, 0x22, 0x11, 0x45, + 0xde, 0x0a, 0xd2, 0x21, 0x02, 0x16, 0x22, 0x02, 0x08, 0x1c, 0x9c, 0xb0, 0x42, 0xa1, 0xff, 0x27, + 0xb0, 0x05, 0x00, 0x32, 0xc0, 0x86, 0x00, 0x00, 0x20, 0x30, 0xc0, 0x37, 0x34, 0x0c, 0x20, 0x32, + 0xa0, 0x00, 0x20, 0x90, 0x3a, 0x22, 0x20, 0x23, 0x41, 0x29, 0x1c, 0xc8, 0x11, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x1c, 0x83, 0x86, 0xf0, 0xff, 0x00, 0x00, 0x00, 0x28, 0xe0, 0x01, 0x00, + 0x3c, 0x20, 0x03, 0x00, 0x64, 0x80, 0x0c, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x45, 0xe7, 0xff, + 0x01, 0x8d, 0xec, 0x26, 0x12, 0x2b, 0xac, 0x82, 0x21, 0x05, 0xfa, 0x32, 0x02, 0x01, 0x42, 0x02, + 0x65, 0x9c, 0x13, 0x26, 0x24, 0x0f, 0x51, 0xf5, 0xff, 0xc0, 0x20, 0x00, 0x52, 0x60, 0x43, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x61, 0xf2, 0xff, 0xc0, 0x20, 0x00, 0x62, 0x60, 0x43, 0x06, + 0xfb, 0xff, 0x71, 0xf0, 0xff, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x43, 0x06, 0xf8, 0xff, 0x00, 0x00, + 0x31, 0xf7, 0xf9, 0x22, 0x03, 0x39, 0x32, 0x03, 0x3a, 0x26, 0x22, 0x10, 0x26, 0x13, 0x0d, 0x26, + 0x33, 0x0a, 0x0c, 0x23, 0x41, 0x78, 0xec, 0xc0, 0x20, 0x00, 0x32, 0x64, 0x68, 0x0d, 0xf0, 0x00, + 0xff, 0xff, 0xef, 0xff, 0x11, 0x20, 0x00, 0x00, 0x71, 0xfe, 0xff, 0x81, 0x5d, 0xec, 0xc0, 0x20, + 0x00, 0x62, 0x28, 0x86, 0x21, 0x9a, 0xed, 0x70, 0x66, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x22, 0x46, + 0x71, 0xf9, 0xff, 0x27, 0x72, 0x51, 0x51, 0x6e, 0xec, 0xc0, 0x20, 0x00, 0x92, 0x25, 0x56, 0x77, + 0x19, 0x03, 0x0c, 0x12, 0x0d, 0xf0, 0xc0, 0x20, 0x00, 0x22, 0x25, 0x4f, 0x20, 0xa2, 0x15, 0x66, + 0x3a, 0xef, 0x20, 0xb4, 0x25, 0x66, 0x2b, 0xe9, 0x20, 0x37, 0x85, 0x92, 0xa0, 0x7f, 0x37, 0x89, + 0xe0, 0xc0, 0x20, 0x00, 0x22, 0x25, 0x4f, 0x20, 0x42, 0x15, 0x66, 0x34, 0xd4, 0x20, 0xa4, 0x25, + 0x66, 0x2a, 0xce, 0x20, 0xb7, 0x85, 0xb7, 0x89, 0xc8, 0xc0, 0x20, 0x00, 0x22, 0x25, 0x56, 0x77, + 0x92, 0xbf, 0xc0, 0x20, 0x00, 0x62, 0x68, 0x86, 0x0c, 0x02, 0x0d, 0xf0, 0x4c, 0xf2, 0xfe, 0x3f, + 0x1c, 0xf1, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x26, 0x12, 0x0b, 0x26, 0x22, 0x08, 0x0c, + 0x12, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0xc5, 0xf6, 0xff, 0x01, 0xf8, 0xff, 0x22, 0x40, + 0x00, 0x56, 0xa2, 0xfe, 0xb1, 0xf7, 0xff, 0x0c, 0x1a, 0xa2, 0x4b, 0x00, 0x31, 0x4d, 0xec, 0x7c, + 0xf9, 0x71, 0x48, 0xec, 0xc0, 0x20, 0x00, 0x92, 0x67, 0x49, 0x81, 0x61, 0xfa, 0xc0, 0x20, 0x00, + 0x62, 0x27, 0x42, 0x80, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x67, 0x42, 0x0c, 0x84, 0x7c, 0x35, + 0xc0, 0x20, 0x00, 0x22, 0x23, 0xd0, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, + 0x63, 0xd0, 0x0c, 0x02, 0x46, 0xea, 0xff, 0x00, 0x26, 0x12, 0x02, 0x66, 0x22, 0x2f, 0x51, 0xe3, + 0xff, 0x22, 0x05, 0x00, 0xec, 0x62, 0x21, 0x37, 0xec, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x4a, 0x30, + 0x30, 0x14, 0xcc, 0xa3, 0xc0, 0x20, 0x00, 0x42, 0x22, 0x4a, 0x40, 0x40, 0x14, 0x16, 0x34, 0xff, + 0x0c, 0x27, 0xc0, 0x20, 0x00, 0x62, 0x22, 0x4a, 0x70, 0x66, 0x10, 0x62, 0x45, 0x01, 0x0d, 0xf0, + 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x81, 0xfe, 0xff, 0x31, 0x54, 0xed, 0x61, 0x29, + 0xec, 0xc0, 0x20, 0x00, 0x82, 0x66, 0x44, 0x0c, 0x07, 0xc0, 0x20, 0x00, 0x72, 0x66, 0x51, 0x51, + 0xf9, 0xff, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x40, 0x41, 0x22, 0xf2, 0xc0, 0x20, 0x00, 0x22, 0x23, + 0xf2, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xf2, 0x0d, 0xf0, 0x33, 0x33, 0x00, 0x00, + 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xcf, 0x00, 0x00, 0x00, 0x20, + 0xff, 0xff, 0xff, 0x3f, 0xa1, 0xfa, 0xff, 0x31, 0x40, 0xef, 0x61, 0x5b, 0xee, 0xc0, 0x20, 0x00, + 0xa2, 0x66, 0xf8, 0x91, 0xf7, 0xff, 0x81, 0x9c, 0xfa, 0xc0, 0x20, 0x00, 0x72, 0x26, 0x9d, 0x90, + 0x77, 0x10, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x66, 0x9d, 0x51, 0xf2, 0xff, 0x41, 0xcc, + 0xfa, 0xc0, 0x20, 0x00, 0x22, 0x26, 0x9d, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, + 0x22, 0x66, 0x9d, 0xb1, 0xed, 0xff, 0xa1, 0xed, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x26, 0x9d, 0xb0, + 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x66, 0x9d, 0x81, 0xe9, 0xff, 0x71, 0x60, + 0xef, 0xc0, 0x20, 0x00, 0x52, 0x26, 0x9d, 0x80, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, + 0x52, 0x66, 0x9d, 0x41, 0x24, 0xef, 0xc0, 0x20, 0x00, 0x22, 0x23, 0x81, 0x40, 0x22, 0x10, 0xc0, + 0x20, 0x00, 0x22, 0x63, 0x81, 0x0d, 0xf0, 0x00, 0x41, 0x71, 0xf9, 0x12, 0xc1, 0xf0, 0xc9, 0x11, + 0x09, 0x01, 0x02, 0x04, 0x35, 0xc1, 0x38, 0xee, 0x26, 0x10, 0x76, 0x26, 0x30, 0x73, 0x26, 0x40, + 0x70, 0x26, 0x50, 0x6d, 0x0c, 0x00, 0xc0, 0x20, 0x00, 0x02, 0x6c, 0xf8, 0x01, 0xd5, 0xff, 0x31, + 0x16, 0xef, 0xc0, 0x20, 0x00, 0xb2, 0x2c, 0x9d, 0x00, 0xbb, 0x10, 0xc0, 0x20, 0x00, 0xb2, 0x6c, + 0x9d, 0xa1, 0xcd, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x2c, 0x9d, 0xa0, 0x99, 0x10, 0xc0, 0x20, 0x00, + 0x92, 0x6c, 0x9d, 0x81, 0xc8, 0xff, 0xc0, 0x20, 0x00, 0x72, 0x2c, 0x9d, 0x80, 0x77, 0x10, 0xc0, + 0x20, 0x00, 0x72, 0x6c, 0x9d, 0x61, 0xc2, 0xff, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0x9d, 0x60, 0x55, + 0x10, 0xc0, 0x20, 0x00, 0x52, 0x6c, 0x9d, 0x41, 0x3a, 0xef, 0xc0, 0x20, 0x00, 0x22, 0x23, 0x81, + 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0x81, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x22, 0x04, 0x36, 0x05, 0x2f, 0x00, 0x06, 0xe4, 0xff, 0x00, 0x87, 0x13, 0x00, 0x00, + 0x00, 0x02, 0xf2, 0x3f, 0x1c, 0x42, 0x12, 0xc1, 0xe0, 0xc9, 0x11, 0xd9, 0x21, 0xe9, 0x31, 0xf9, + 0x41, 0x09, 0x01, 0x01, 0xa4, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x0c, 0xe1, 0xf8, 0xff, 0xd1, 0xf8, + 0xff, 0xf1, 0xf1, 0xee, 0xc0, 0x20, 0x00, 0x02, 0x2d, 0x84, 0x00, 0x00, 0x34, 0xcc, 0x90, 0xc0, + 0x20, 0x00, 0x22, 0x2f, 0xf4, 0x20, 0x2c, 0x34, 0x9c, 0x02, 0x0c, 0x22, 0x01, 0x9a, 0xf4, 0xc0, + 0x00, 0x00, 0x3d, 0x0c, 0x1b, 0xcc, 0xc0, 0xc0, 0xf4, 0x37, 0xbe, 0xd7, 0xc8, 0x11, 0xd8, 0x21, + 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x31, + 0x33, 0xf9, 0x09, 0x01, 0x02, 0x03, 0x35, 0x42, 0xae, 0xcf, 0x26, 0x10, 0x0f, 0x26, 0x30, 0x0c, + 0x26, 0x40, 0x09, 0x26, 0x50, 0x06, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x3c, 0x06, 0x21, + 0xb1, 0xeb, 0xc0, 0x20, 0x00, 0x52, 0x22, 0x85, 0x40, 0x55, 0x10, 0x60, 0x55, 0x20, 0xc0, 0x20, + 0x00, 0x52, 0x62, 0x85, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x8d, 0x40, 0x00, 0x10, 0xc0, 0x20, 0x00, + 0x02, 0x62, 0x8d, 0x02, 0x03, 0x35, 0x26, 0x10, 0x2d, 0x26, 0x30, 0x2a, 0x26, 0x40, 0x02, 0x66, + 0x50, 0xc3, 0x62, 0x03, 0x36, 0xb6, 0x26, 0xbd, 0x0c, 0x02, 0x0c, 0x13, 0x0c, 0x14, 0x0c, 0x05, + 0x01, 0xa5, 0xeb, 0xc0, 0x00, 0x00, 0x0c, 0x82, 0x0c, 0x03, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0xa1, + 0xeb, 0xc0, 0x00, 0x00, 0x86, 0xe7, 0xff, 0x72, 0x03, 0x36, 0xb6, 0x27, 0x98, 0x0c, 0x12, 0x0c, + 0x03, 0x0c, 0x14, 0x0c, 0x05, 0x01, 0x9b, 0xeb, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x83, 0x0c, + 0x84, 0x0c, 0x05, 0x01, 0x98, 0xeb, 0xc0, 0x00, 0x00, 0x46, 0xde, 0xff, 0x12, 0xc1, 0xf0, 0x31, + 0x0b, 0xf9, 0x09, 0x01, 0x02, 0x03, 0x35, 0x52, 0xae, 0xcf, 0x26, 0x10, 0x0f, 0x26, 0x30, 0x0c, + 0x26, 0x40, 0x09, 0x26, 0x50, 0x06, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x22, 0x03, 0x36, + 0x01, 0x89, 0xeb, 0xb6, 0x22, 0x28, 0x2c, 0x06, 0xc0, 0x20, 0x00, 0x72, 0x20, 0x85, 0x50, 0x77, + 0x10, 0x60, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x85, 0xc0, 0x20, 0x00, 0x42, 0x20, 0x8d, + 0x50, 0x44, 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x60, 0x8d, 0x86, 0x08, 0x00, 0x3c, + 0x0a, 0xc0, 0x20, 0x00, 0x92, 0x20, 0x85, 0x50, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, + 0x92, 0x60, 0x85, 0xc0, 0x20, 0x00, 0x82, 0x20, 0x8d, 0x50, 0x88, 0x10, 0xc0, 0x20, 0x00, 0x82, + 0x60, 0x8d, 0x02, 0x03, 0x35, 0x26, 0x10, 0x4f, 0x26, 0x30, 0x4c, 0x26, 0x40, 0x02, 0x66, 0x50, + 0x94, 0x02, 0x03, 0x36, 0x66, 0x10, 0x1e, 0x0c, 0x02, 0x0c, 0x13, 0x0c, 0x14, 0x0c, 0x05, 0x01, + 0x71, 0xeb, 0xc0, 0x00, 0x00, 0x0c, 0x82, 0x0c, 0x03, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0x6d, 0xeb, + 0xc0, 0x00, 0x00, 0xc6, 0xdb, 0xff, 0x56, 0xc0, 0xf6, 0x0c, 0x12, 0x0c, 0x03, 0x0c, 0x14, 0x0c, + 0x05, 0x01, 0x68, 0xeb, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x83, 0x0c, 0x84, 0x0c, 0x05, 0x01, + 0x65, 0xeb, 0xc0, 0x00, 0x00, 0x46, 0xd3, 0xff, 0x02, 0x03, 0x36, 0x66, 0x10, 0x1e, 0x0c, 0x12, + 0x0c, 0x03, 0x0c, 0x14, 0x0c, 0x05, 0x01, 0x5f, 0xeb, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x83, + 0x0c, 0x84, 0x0c, 0x05, 0x01, 0x5c, 0xeb, 0xc0, 0x00, 0x00, 0x06, 0xca, 0xff, 0x56, 0x50, 0xf2, + 0x0c, 0x02, 0x0c, 0x13, 0x0c, 0x14, 0x0c, 0x05, 0x01, 0x57, 0xeb, 0xc0, 0x00, 0x00, 0x0c, 0x82, + 0x0c, 0x03, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0x53, 0xeb, 0xc0, 0x00, 0x00, 0x86, 0xc1, 0xff, 0x00, + 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0x70, 0xfc, 0x32, 0xa0, 0x00, 0x12, 0xc1, 0xf0, 0xc2, 0x61, + 0x01, 0x02, 0x61, 0x00, 0xcd, 0x02, 0x0c, 0x12, 0x85, 0xce, 0xfc, 0x31, 0x10, 0xf2, 0x21, 0x40, + 0xf1, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x42, 0x30, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x42, + 0x45, 0xac, 0xff, 0x26, 0x4c, 0x11, 0x66, 0x1c, 0x05, 0x85, 0x97, 0xff, 0x06, 0x02, 0x00, 0x26, + 0x2c, 0x02, 0x66, 0x8c, 0x02, 0xc5, 0x9a, 0xff, 0x31, 0x0f, 0xf3, 0x0c, 0x22, 0x51, 0x7e, 0xed, + 0xc0, 0x20, 0x00, 0x02, 0x25, 0x85, 0x30, 0x00, 0x10, 0x20, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, + 0x65, 0x85, 0xb1, 0xe7, 0xff, 0xc0, 0x20, 0x00, 0xa2, 0x25, 0x85, 0xb0, 0xaa, 0x10, 0xc0, 0x20, + 0x00, 0xa2, 0x65, 0x85, 0x91, 0x8f, 0xee, 0xc0, 0x20, 0x00, 0x82, 0x25, 0x85, 0x90, 0x88, 0x20, + 0xc0, 0x20, 0x00, 0x82, 0x65, 0x85, 0x71, 0x0e, 0xff, 0x61, 0xb3, 0xf9, 0xc0, 0x20, 0x00, 0x42, + 0x25, 0x9d, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x9d, 0xc5, 0xda, + 0xff, 0x05, 0xc3, 0xff, 0xc5, 0xd4, 0xff, 0x66, 0x8c, 0x14, 0x61, 0xd6, 0xff, 0x51, 0x0c, 0xeb, + 0xc0, 0x20, 0x00, 0x42, 0x25, 0x86, 0x60, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x86, 0xc8, + 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x60, 0x36, 0x00, 0x40, 0x10, 0x11, 0x00, 0x40, + 0x50, 0x15, 0x00, 0x40, 0x30, 0x33, 0x00, 0x40, 0x41, 0x5c, 0xed, 0x9c, 0x82, 0x26, 0x12, 0x20, + 0x26, 0x22, 0x28, 0x26, 0x32, 0x30, 0x26, 0x42, 0x38, 0x66, 0x52, 0x08, 0x21, 0xf7, 0xff, 0xc0, + 0x20, 0x00, 0x22, 0x64, 0xf8, 0x0d, 0xf0, 0x0c, 0x03, 0xc0, 0x20, 0x00, 0x32, 0x64, 0xf8, 0x0d, + 0xf0, 0x51, 0xee, 0xfe, 0xc0, 0x20, 0x00, 0x52, 0x64, 0xf8, 0x0d, 0xf0, 0x61, 0xf0, 0xff, 0xc0, + 0x20, 0x00, 0x62, 0x64, 0xf8, 0x0d, 0xf0, 0x71, 0xee, 0xff, 0xc0, 0x20, 0x00, 0x72, 0x64, 0xf8, + 0x0d, 0xf0, 0x81, 0xec, 0xff, 0xc0, 0x20, 0x00, 0x82, 0x64, 0xf8, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x8f, 0x03, 0xff, 0x0f, 0x00, 0x80, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0x26, + 0x22, 0x02, 0x66, 0x12, 0x18, 0x56, 0x53, 0x01, 0x01, 0xa5, 0xfe, 0x32, 0x00, 0x00, 0x56, 0xc3, + 0x00, 0x42, 0x00, 0x01, 0x22, 0x61, 0x02, 0xcc, 0x34, 0x05, 0x54, 0xfe, 0x28, 0x21, 0x7c, 0x3b, + 0x0c, 0x4a, 0x61, 0xdf, 0xea, 0x91, 0xf6, 0xea, 0xc0, 0x20, 0x00, 0x82, 0x29, 0xd0, 0xb0, 0x88, + 0x10, 0xa0, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x69, 0xd0, 0x71, 0x09, 0xf9, 0xc0, 0x20, 0x00, + 0x52, 0x26, 0x86, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x86, 0x66, 0x82, 0x11, 0x01, + 0xe8, 0xff, 0xc0, 0x20, 0x00, 0xc2, 0x26, 0x86, 0x00, 0xcc, 0x20, 0xc0, 0x20, 0x00, 0xc2, 0x66, + 0x86, 0x71, 0xe4, 0xff, 0xc1, 0x9d, 0xf1, 0x51, 0x28, 0xed, 0xc0, 0x20, 0x00, 0x72, 0x65, 0x85, + 0x61, 0xc4, 0xfe, 0xc0, 0x20, 0x00, 0x42, 0x25, 0x9d, 0x60, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, + 0x65, 0x9d, 0x0b, 0x32, 0x16, 0xf3, 0x09, 0x82, 0xc2, 0xfe, 0x16, 0x98, 0x09, 0x92, 0xc2, 0xf8, + 0x16, 0x39, 0x09, 0x22, 0xa1, 0x2c, 0x01, 0xaf, 0xf3, 0xc0, 0x00, 0x00, 0x01, 0xd1, 0xf0, 0xc0, + 0x20, 0x00, 0x52, 0x20, 0x42, 0xc0, 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, 0x60, 0x42, 0x0c, 0x14, + 0xc0, 0x20, 0x00, 0x32, 0x20, 0x58, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x60, 0x58, 0x7c, + 0xe2, 0xc0, 0x20, 0x00, 0xb2, 0x20, 0x58, 0x20, 0xbb, 0x10, 0xc0, 0x20, 0x00, 0xb2, 0x60, 0x58, + 0xc0, 0x20, 0x00, 0xa1, 0x0d, 0xed, 0xa2, 0x2a, 0x9c, 0x17, 0x6a, 0x3b, 0x0c, 0x22, 0x01, 0x9d, + 0xf3, 0xc0, 0x00, 0x00, 0xb2, 0xa0, 0xf1, 0x92, 0xac, 0x00, 0xc0, 0x20, 0x00, 0x71, 0xbc, 0xf0, + 0xa8, 0xd7, 0x90, 0xaa, 0x10, 0xb0, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa9, 0xd7, 0x82, 0xa0, 0xf0, + 0xc0, 0x20, 0x00, 0x68, 0xd7, 0x90, 0x66, 0x10, 0x80, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x69, 0xd7, + 0x0c, 0x22, 0x01, 0x90, 0xf3, 0xc0, 0x00, 0x00, 0x05, 0xc9, 0xff, 0xc5, 0xaf, 0xff, 0xc8, 0x11, + 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x05, 0xa2, 0xff, 0x01, 0xaf, 0xf1, 0x31, 0x7b, 0xf1, + 0xb2, 0x20, 0x00, 0x22, 0xa0, 0x00, 0x30, 0xbb, 0x20, 0xb2, 0x60, 0x00, 0x85, 0x5b, 0xfe, 0x22, + 0xa0, 0xc8, 0x01, 0x84, 0xf3, 0xc0, 0x00, 0x00, 0x51, 0xa8, 0xf1, 0x48, 0x05, 0xc0, 0x44, 0x10, + 0x49, 0x05, 0x86, 0xd1, 0xff, 0x00, 0x00, 0x00, 0x0c, 0x23, 0x12, 0xc1, 0xe0, 0xc9, 0x31, 0xd9, + 0x41, 0xd1, 0xca, 0xf9, 0x09, 0x21, 0x08, 0x0d, 0xcd, 0x02, 0x02, 0x20, 0x2c, 0x0c, 0x32, 0xc0, + 0x00, 0x00, 0x0c, 0x13, 0x08, 0x0d, 0x29, 0x01, 0x02, 0x20, 0x2c, 0x0c, 0x22, 0xc0, 0x00, 0x00, + 0x0c, 0x13, 0xc0, 0x49, 0x04, 0x08, 0x0d, 0xc0, 0x58, 0x04, 0xc0, 0x66, 0x04, 0x29, 0x11, 0xc0, + 0x77, 0x04, 0x0c, 0x32, 0xe0, 0x77, 0x11, 0xd0, 0x66, 0x11, 0xf0, 0x55, 0x11, 0x02, 0x20, 0x2b, + 0x50, 0x44, 0x20, 0x70, 0x66, 0x20, 0xc0, 0x53, 0x04, 0xc0, 0x74, 0x04, 0xa0, 0x55, 0x11, 0xb0, + 0x77, 0x11, 0x70, 0x55, 0x20, 0xc0, 0x75, 0x04, 0xc0, 0x77, 0x11, 0x70, 0x55, 0x20, 0x60, 0x55, + 0x20, 0x50, 0x44, 0x20, 0x40, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x32, 0x0c, 0x23, 0x08, 0x0d, + 0x48, 0x01, 0x52, 0xa1, 0xc7, 0x50, 0x44, 0x10, 0x02, 0x20, 0x2b, 0xc0, 0x50, 0x24, 0xd0, 0x55, + 0x11, 0x50, 0x44, 0x20, 0x40, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x22, 0x0c, 0x13, 0x08, 0x0d, + 0x48, 0x11, 0x52, 0xa1, 0x85, 0x50, 0x44, 0x10, 0x02, 0x20, 0x2b, 0xc0, 0x5b, 0x34, 0xd0, 0x55, + 0x11, 0x50, 0x44, 0x20, 0xc0, 0x5a, 0x04, 0xf0, 0x55, 0x11, 0x50, 0x44, 0x20, 0x40, 0x40, 0xf4, + 0xc0, 0x00, 0x00, 0xc8, 0x31, 0xd8, 0x41, 0x08, 0x21, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xe0, 0xd9, 0x21, 0xe9, 0x31, 0x09, 0x01, 0xc9, 0x11, 0xf9, 0x41, 0x4d, 0x00, 0xf1, + 0xb6, 0xec, 0xc1, 0x9a, 0xeb, 0xc0, 0x20, 0x00, 0x22, 0x2c, 0xe5, 0x07, 0xe2, 0x41, 0xc0, 0x20, + 0x00, 0x52, 0x2f, 0x9c, 0x17, 0x65, 0x38, 0xd1, 0x91, 0xf9, 0x08, 0x0d, 0x02, 0x20, 0x1d, 0xc0, + 0x00, 0x00, 0x0c, 0x52, 0x01, 0x40, 0xf3, 0xc0, 0x00, 0x00, 0xe2, 0xa1, 0x84, 0x08, 0x0d, 0x0c, + 0x22, 0x02, 0x20, 0x2c, 0x0c, 0x13, 0xc0, 0x00, 0x00, 0xe7, 0xc2, 0xf0, 0x08, 0x0d, 0x0c, 0x32, + 0x02, 0x20, 0x2c, 0x0c, 0x23, 0xc0, 0x00, 0x00, 0x0c, 0x63, 0x30, 0x22, 0x10, 0x66, 0x62, 0xdc, + 0x91, 0x27, 0xf1, 0x81, 0x57, 0xf0, 0xc0, 0x20, 0x00, 0x72, 0x28, 0x42, 0x90, 0x77, 0x20, 0xc0, + 0x20, 0x00, 0x72, 0x68, 0x42, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0xe5, 0x0c, 0x16, 0x60, 0x55, 0x20, + 0xc0, 0x20, 0x00, 0x52, 0x6c, 0xe5, 0xc0, 0x20, 0x00, 0x42, 0x2f, 0x9c, 0x01, 0x69, 0xfc, 0x17, + 0x64, 0x11, 0xc0, 0x20, 0x00, 0xa2, 0x2c, 0xe8, 0xe7, 0xfa, 0x08, 0xc0, 0x20, 0x00, 0xb2, 0x2c, + 0xe8, 0x07, 0x0b, 0xf6, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, + 0x20, 0x0d, 0xf0, 0x00, 0x0c, 0x13, 0x42, 0xa0, 0x81, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0xd9, 0x21, + 0xd1, 0x6b, 0xf9, 0x09, 0x01, 0x08, 0x0d, 0xcd, 0x02, 0x02, 0x20, 0x2b, 0x0c, 0x22, 0xc0, 0x00, + 0x00, 0x0c, 0x72, 0x08, 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0xc0, 0x45, 0x41, 0xc0, 0x00, 0x00, + 0xc0, 0x40, 0x44, 0x08, 0x0d, 0x0c, 0x02, 0x02, 0x20, 0x2b, 0x0c, 0x13, 0xc0, 0x00, 0x00, 0x0c, + 0x12, 0x08, 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa0, 0x7f, 0xc0, 0x00, 0x00, 0x0c, 0x62, + 0x08, 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa0, 0x7f, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0xd8, + 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x32, 0xa0, 0x01, 0x42, 0xa0, 0x05, 0x0c, 0x75, + 0x0c, 0x06, 0x12, 0xc1, 0xe0, 0xd9, 0x21, 0xf9, 0x41, 0xc9, 0x11, 0xe9, 0x31, 0xe1, 0x4f, 0xf9, + 0x09, 0x01, 0x08, 0x0e, 0xcd, 0x02, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x62, 0xc0, 0x00, 0x00, 0x0c, + 0x0d, 0xfd, 0x02, 0x32, 0xae, 0xac, 0x20, 0x22, 0x90, 0x30, 0x22, 0xb0, 0x32, 0xa0, 0xe3, 0x05, + 0x33, 0x0a, 0x00, 0x52, 0x11, 0x0c, 0xf4, 0x0d, 0x04, 0x50, 0x50, 0x31, 0x2d, 0x0d, 0x50, 0x25, + 0xb3, 0xe6, 0xb2, 0x01, 0x0d, 0x02, 0x32, 0xa0, 0xcf, 0xf0, 0x2f, 0x90, 0xf0, 0x22, 0xf0, 0x22, + 0xc2, 0x1d, 0x00, 0xf0, 0x11, 0xf0, 0xf0, 0x31, 0x45, 0x30, 0x0a, 0x98, 0x0e, 0x00, 0x42, 0x11, + 0x0c, 0xf3, 0x0d, 0x03, 0x40, 0x40, 0x31, 0x92, 0x29, 0x27, 0x40, 0xd4, 0xb3, 0xe6, 0xbd, 0x01, + 0x0d, 0x0d, 0x00, 0xd0, 0x11, 0xd0, 0xd0, 0x31, 0xb6, 0x3c, 0x1c, 0x0c, 0x82, 0xa6, 0x8f, 0x01, + 0x7c, 0x82, 0x0c, 0x03, 0x0c, 0x44, 0x0c, 0x35, 0x0c, 0x06, 0x2a, 0x7f, 0x70, 0x70, 0x74, 0x22, + 0xa0, 0x64, 0xc0, 0x09, 0x00, 0x06, 0x04, 0x00, 0xf0, 0x70, 0x74, 0x22, 0xa0, 0x64, 0x0c, 0x03, + 0x0c, 0x44, 0x0c, 0x35, 0x0c, 0x06, 0xc0, 0x09, 0x00, 0x98, 0x0e, 0x0c, 0x80, 0x92, 0x29, 0x27, + 0xb6, 0x2c, 0x1a, 0xa6, 0x8d, 0x01, 0x7c, 0x80, 0x22, 0xa0, 0x64, 0x0c, 0x03, 0x0c, 0x74, 0x0c, + 0x35, 0x0c, 0x06, 0x0a, 0x7d, 0x70, 0x70, 0x74, 0xc0, 0x09, 0x00, 0x06, 0x04, 0x00, 0xd0, 0x70, + 0x74, 0x22, 0xa0, 0x64, 0x0c, 0x03, 0x0c, 0x74, 0x0c, 0x35, 0x0c, 0x06, 0xc0, 0x09, 0x00, 0x98, + 0x0e, 0x92, 0x29, 0x27, 0xac, 0x6c, 0x22, 0xa0, 0x61, 0x0c, 0x13, 0x0c, 0x54, 0x0c, 0x35, 0x0c, + 0x26, 0x0c, 0x37, 0xc0, 0x09, 0x00, 0x22, 0xa0, 0x61, 0x0c, 0x13, 0x0c, 0x54, 0x0c, 0x15, 0x08, + 0x0e, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x37, 0xc0, 0x00, 0x00, 0x06, 0x09, 0x00, 0x22, 0xa0, + 0x61, 0x0c, 0x13, 0x0c, 0x54, 0x0c, 0x35, 0x0c, 0x26, 0x0c, 0x07, 0xc0, 0x09, 0x00, 0x22, 0xa0, + 0x61, 0x0c, 0x13, 0x0c, 0x54, 0x0c, 0x15, 0x08, 0x0e, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x07, + 0xc0, 0x00, 0x00, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, + 0x0d, 0xf0, 0x00, 0x00, 0x22, 0xa0, 0x61, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x00, 0xf9, 0x0c, + 0x13, 0x08, 0x00, 0x0c, 0x84, 0x02, 0x20, 0x26, 0x1c, 0x15, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x85, + 0xe9, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0xc9, 0x11, 0xd9, 0x21, 0xcd, 0x02, 0x0c, 0x0d, 0x16, 0x1d, 0x04, 0x26, 0x1d, 0x20, 0x66, + 0x2d, 0x56, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x24, 0x0c, 0x65, 0x01, 0xf0, 0xf8, 0x0c, 0x46, + 0x08, 0x00, 0xda, 0x7c, 0x02, 0x20, 0x27, 0x72, 0x07, 0x00, 0xc0, 0x00, 0x00, 0x06, 0x0e, 0x00, + 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x24, 0x0c, 0x35, 0x01, 0xe8, 0xf8, 0x0c, 0x06, 0x08, 0x00, + 0xda, 0x7c, 0x02, 0x20, 0x27, 0x72, 0x07, 0x00, 0xc0, 0x00, 0x00, 0x86, 0x06, 0x00, 0x22, 0xa0, + 0x6b, 0x0c, 0x23, 0x0c, 0x14, 0x0c, 0x35, 0x01, 0xe1, 0xf8, 0x0c, 0x06, 0x08, 0x00, 0xda, 0x7c, + 0x02, 0x20, 0x27, 0x72, 0x07, 0x00, 0xc0, 0x00, 0x00, 0x1b, 0xdd, 0xd0, 0xd0, 0x74, 0x66, 0x3d, + 0x97, 0xc8, 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x22, 0xa0, 0x62, 0x0c, + 0x13, 0x0c, 0x04, 0x0c, 0x65, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0xc1, 0xd4, 0xf8, 0x09, 0x01, 0x08, + 0x0c, 0x0c, 0x66, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x62, 0x0c, 0x13, + 0x0c, 0x04, 0x0c, 0x55, 0x08, 0x0c, 0x0c, 0x56, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, + 0x22, 0xa0, 0x62, 0x0c, 0x13, 0x0c, 0x04, 0x0c, 0x55, 0x08, 0x0c, 0x0c, 0x56, 0x02, 0x20, 0x27, + 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x62, 0x0c, 0x13, 0x0c, 0x04, 0x0c, 0x65, 0x08, 0x0c, + 0x0c, 0x66, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x7c, 0x86, 0xfe, 0x3f, 0x12, 0xc1, 0xe0, 0x09, 0x01, 0xd9, 0x21, 0xe9, + 0x31, 0xc9, 0x11, 0xf9, 0x41, 0x0c, 0x0c, 0xf2, 0xa0, 0x63, 0xe2, 0xa0, 0x64, 0xd1, 0xb7, 0xf8, + 0x1c, 0x42, 0x01, 0x68, 0xf2, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x62, 0x0c, 0x13, 0x0c, 0x74, 0x08, + 0x0d, 0x0c, 0x75, 0x02, 0x20, 0x25, 0x0c, 0x76, 0xc0, 0x00, 0x00, 0xdc, 0x22, 0xf7, 0x9c, 0x08, + 0x21, 0xf1, 0xff, 0x01, 0x3e, 0xea, 0xc0, 0x00, 0x00, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0xe7, 0x9c, + 0xce, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, + 0x00, 0x00, 0x20, 0x42, 0x00, 0x00, 0xc0, 0x41, 0x00, 0x00, 0xd0, 0x41, 0x00, 0x00, 0x80, 0x43, + 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x80, 0x44, 0x00, 0x00, 0x00, 0xc2, 0x12, 0xc1, 0xe0, 0xd9, + 0x31, 0x09, 0x11, 0xc9, 0x21, 0xe9, 0x41, 0xcd, 0x05, 0xe1, 0xf5, 0xff, 0x8c, 0xd3, 0x26, 0x13, + 0x08, 0x66, 0x23, 0x08, 0xe1, 0xf4, 0xff, 0x86, 0x00, 0x00, 0xe1, 0xf3, 0xff, 0xd1, 0xf3, 0xff, + 0x60, 0x22, 0x11, 0x20, 0x24, 0x80, 0xe0, 0x22, 0x11, 0x45, 0x1e, 0x0a, 0x51, 0xf1, 0xff, 0x0c, + 0x04, 0x45, 0xe4, 0x09, 0xc5, 0xfa, 0x09, 0x29, 0x01, 0x31, 0xee, 0xff, 0x2d, 0x0e, 0x05, 0x80, + 0x09, 0x3d, 0x02, 0x28, 0x01, 0xc5, 0x95, 0x09, 0x31, 0xec, 0xff, 0x85, 0x59, 0x09, 0xed, 0x02, + 0xc5, 0xa4, 0x09, 0x22, 0x4c, 0x00, 0x20, 0x20, 0x74, 0x85, 0x17, 0x0a, 0x3d, 0x02, 0x2d, 0x0e, + 0x85, 0x66, 0x09, 0x3d, 0x0d, 0x85, 0x7d, 0x09, 0xed, 0x02, 0x45, 0xa3, 0x09, 0x22, 0x4c, 0x01, + 0x20, 0x20, 0x74, 0x05, 0x16, 0x0a, 0x3d, 0x02, 0x2d, 0x0e, 0x05, 0x65, 0x09, 0x3d, 0x0d, 0x05, + 0x7c, 0x09, 0xc5, 0xa1, 0x09, 0x08, 0x11, 0xd8, 0x31, 0x22, 0x4c, 0x02, 0xe8, 0x41, 0xc8, 0x21, + 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0xc1, 0x5b, 0x10, 0x40, + 0xb4, 0x09, 0x00, 0x00, 0x1f, 0x5c, 0x10, 0x40, 0xff, 0xff, 0x0f, 0xff, 0xd8, 0x5c, 0x10, 0x40, + 0x6c, 0x09, 0x00, 0x00, 0xa8, 0x09, 0x00, 0x00, 0xa3, 0x09, 0x00, 0x00, 0x9e, 0x09, 0x00, 0x00, + 0x99, 0x09, 0x00, 0x00, 0x94, 0x09, 0x00, 0x00, 0x8f, 0x09, 0x00, 0x00, 0x8a, 0x09, 0x00, 0x00, + 0x85, 0x09, 0x00, 0x00, 0x80, 0x09, 0x00, 0x00, 0x7b, 0x09, 0x00, 0x00, 0x76, 0x09, 0x00, 0x00, + 0x71, 0x09, 0x00, 0x00, 0x12, 0xc1, 0xd0, 0xc9, 0x41, 0x49, 0x81, 0x69, 0x21, 0x09, 0x31, 0xf9, + 0x71, 0xd9, 0x51, 0xe9, 0x61, 0xdd, 0x02, 0xed, 0x03, 0xfd, 0x04, 0xa6, 0x12, 0x0e, 0x0c, 0xd0, + 0x27, 0x20, 0x09, 0x0b, 0x22, 0x20, 0x20, 0x74, 0x29, 0x11, 0xc6, 0x00, 0x00, 0x0c, 0xd3, 0x39, + 0x11, 0x41, 0xe1, 0xff, 0xc1, 0x5a, 0xf8, 0x31, 0x5d, 0xea, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xf2, + 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x37, 0x22, 0x63, 0xf2, 0xc0, 0x00, + 0x00, 0x0c, 0xe5, 0x57, 0xbd, 0x34, 0x71, 0xd9, 0xff, 0xd0, 0x6d, 0x90, 0x7a, 0x66, 0xa0, 0x06, + 0x00, 0x86, 0x09, 0x00, 0x46, 0x5b, 0x00, 0x86, 0x6c, 0x00, 0x46, 0x6a, 0x00, 0x06, 0x68, 0x00, + 0xc6, 0x65, 0x00, 0x86, 0x63, 0x00, 0x46, 0x61, 0x00, 0x06, 0x5f, 0x00, 0xc6, 0x5c, 0x00, 0x86, + 0x5a, 0x00, 0x46, 0x58, 0x00, 0x06, 0x56, 0x00, 0xc6, 0x53, 0x00, 0xc1, 0xcd, 0xff, 0x56, 0x7f, + 0x05, 0xf6, 0x2e, 0x54, 0x3c, 0xb0, 0x0b, 0x8e, 0x56, 0x98, 0x0b, 0x42, 0xaf, 0xb7, 0xb2, 0xaf, + 0x83, 0xa2, 0xa0, 0x76, 0x5c, 0xe3, 0x5c, 0xd9, 0x5c, 0xc6, 0x5c, 0xb8, 0x0c, 0xee, 0xe7, 0x3d, + 0x02, 0x86, 0x5f, 0x00, 0x21, 0xc4, 0xff, 0xd0, 0xfd, 0x90, 0x2a, 0xff, 0xa0, 0x0f, 0x00, 0x06, + 0x5c, 0x00, 0x06, 0x40, 0x00, 0x86, 0x5e, 0x00, 0x46, 0x89, 0x00, 0xc6, 0x85, 0x00, 0x06, 0x82, + 0x00, 0x06, 0x5f, 0x00, 0x86, 0x7e, 0x00, 0x46, 0x7a, 0x00, 0x46, 0x76, 0x00, 0xc6, 0x72, 0x00, + 0x86, 0x6e, 0x00, 0x06, 0x6b, 0x00, 0x86, 0x67, 0x00, 0x4d, 0x0f, 0x3d, 0x0e, 0xd8, 0x11, 0x2d, + 0x0c, 0x5d, 0x01, 0x85, 0xe2, 0xff, 0x32, 0x01, 0x02, 0x52, 0x01, 0x00, 0x48, 0x21, 0x62, 0x01, + 0x01, 0x40, 0x4d, 0xa0, 0x80, 0x66, 0x11, 0x00, 0x55, 0x11, 0x60, 0x55, 0x20, 0x50, 0x33, 0x20, + 0x39, 0x04, 0xd1, 0x22, 0xf8, 0x08, 0x0d, 0x02, 0x20, 0x38, 0x2d, 0x01, 0xc0, 0x00, 0x00, 0x08, + 0x0d, 0x02, 0x20, 0x36, 0xc0, 0x00, 0x00, 0x22, 0x01, 0x30, 0x8c, 0x12, 0x85, 0xd7, 0xff, 0x2d, + 0x0c, 0x51, 0xa5, 0xff, 0xc0, 0x20, 0x00, 0x41, 0x1d, 0xea, 0x32, 0x24, 0xf2, 0x50, 0x33, 0x10, + 0xc0, 0x20, 0x00, 0x32, 0x64, 0xf2, 0xc8, 0x41, 0xd8, 0x51, 0xe8, 0x61, 0xf8, 0x71, 0x08, 0x31, + 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x3c, 0x04, 0x3c, 0x1a, 0x3c, 0x22, 0x32, 0xa0, 0x66, 0xb2, 0xaf, + 0x91, 0x62, 0xaf, 0xbb, 0x6c, 0x69, 0x1c, 0x18, 0x0c, 0xe7, 0x77, 0xbd, 0x34, 0xf1, 0x97, 0xff, + 0xd0, 0xed, 0x90, 0xfa, 0xee, 0xa0, 0x0e, 0x00, 0x86, 0x09, 0x00, 0x06, 0x0f, 0x00, 0xc6, 0x09, + 0x00, 0x06, 0x3a, 0x00, 0x46, 0x3a, 0x00, 0x86, 0x3d, 0x00, 0x46, 0x08, 0x00, 0x86, 0x24, 0x00, + 0xc6, 0x24, 0x00, 0xc6, 0x38, 0x00, 0x46, 0x24, 0x00, 0x86, 0x30, 0x00, 0xc6, 0x30, 0x00, 0x86, + 0x05, 0x00, 0x4d, 0x02, 0x82, 0xaf, 0xcc, 0xbd, 0x08, 0x6d, 0x08, 0x0d, 0x0b, 0xad, 0x04, 0x3d, + 0x06, 0x4d, 0x0a, 0x02, 0x41, 0x01, 0x06, 0x01, 0x00, 0x4d, 0x02, 0x32, 0x41, 0x01, 0x0d, 0x03, + 0x42, 0x41, 0x00, 0x06, 0x02, 0x00, 0x82, 0x41, 0x00, 0x22, 0xaf, 0xb1, 0x22, 0x41, 0x01, 0x02, + 0x41, 0x02, 0x06, 0xcf, 0xff, 0xc1, 0x7e, 0xff, 0x86, 0xac, 0xff, 0xc1, 0x7e, 0xff, 0x06, 0xab, + 0xff, 0xc1, 0x7d, 0xff, 0x86, 0xa9, 0xff, 0xc1, 0x7d, 0xff, 0x06, 0xa8, 0xff, 0xc1, 0x7c, 0xff, + 0x86, 0xa6, 0xff, 0xc1, 0x7c, 0xff, 0x06, 0xa5, 0xff, 0xc1, 0x7b, 0xff, 0x86, 0xa3, 0xff, 0xc1, + 0x7b, 0xff, 0x06, 0xa2, 0xff, 0xc1, 0x7a, 0xff, 0x86, 0xa0, 0xff, 0xc1, 0x7a, 0xff, 0x06, 0x9f, + 0xff, 0xc1, 0x79, 0xff, 0x86, 0x9d, 0xff, 0xc1, 0x79, 0xff, 0x06, 0x9c, 0xff, 0xc1, 0x78, 0xff, + 0x86, 0x9a, 0xff, 0x8d, 0x03, 0xbd, 0x08, 0x3d, 0x08, 0x9d, 0x0b, 0x4d, 0x0a, 0x92, 0x41, 0x01, + 0x86, 0xe2, 0xff, 0x0d, 0x0a, 0x22, 0xa0, 0x62, 0x5c, 0xf3, 0x32, 0x41, 0x00, 0x22, 0x41, 0x01, + 0xc6, 0xe2, 0xff, 0x82, 0x41, 0x00, 0x02, 0xaf, 0xdf, 0x7c, 0x24, 0x42, 0x41, 0x01, 0x46, 0xdf, + 0xff, 0x62, 0x41, 0x00, 0x02, 0xa0, 0x6f, 0x7c, 0x95, 0x52, 0x41, 0x01, 0xc6, 0xdb, 0xff, 0x6d, + 0x08, 0x0d, 0x06, 0x3d, 0x06, 0x4d, 0x02, 0x02, 0x41, 0x01, 0x06, 0xd4, 0xff, 0x3d, 0x06, 0x9d, + 0x03, 0x6d, 0x03, 0x0d, 0x09, 0xad, 0x04, 0x06, 0xcd, 0xff, 0x3d, 0x06, 0x9d, 0x03, 0x46, 0xea, + 0xff, 0x6d, 0x08, 0x0d, 0x06, 0x86, 0xc9, 0xff, 0x32, 0x41, 0x00, 0x22, 0xaf, 0xc4, 0x6c, 0xc0, + 0x06, 0xce, 0xff, 0x32, 0x41, 0x00, 0xb2, 0x41, 0x01, 0x4c, 0x80, 0x06, 0xcc, 0xff, 0x32, 0x41, + 0x00, 0x02, 0xaf, 0xa4, 0x4c, 0x16, 0x62, 0x41, 0x01, 0x86, 0xc8, 0xff, 0x0c, 0x00, 0x02, 0x41, + 0x01, 0x32, 0x41, 0x00, 0xc6, 0xc5, 0xff, 0x0d, 0x08, 0x3d, 0x09, 0x72, 0xaf, 0xbe, 0x72, 0x41, + 0x01, 0x06, 0xfb, 0xff, 0x92, 0x41, 0x00, 0x02, 0xa0, 0x7c, 0x02, 0x41, 0x01, 0x0d, 0x04, 0x06, + 0xbf, 0xff, 0x92, 0x41, 0x00, 0x1c, 0x34, 0xc6, 0xfb, 0xff, 0x62, 0x41, 0x00, 0x42, 0x41, 0x01, + 0x02, 0xaf, 0xcb, 0x06, 0xba, 0xff, 0x62, 0x41, 0x00, 0xa2, 0x41, 0x01, 0x2c, 0x70, 0x46, 0xb7, + 0xff, 0x0d, 0x0b, 0x62, 0x41, 0x00, 0x3c, 0x48, 0x82, 0x41, 0x01, 0x06, 0xb4, 0xff, 0x00, 0x00, + 0x9e, 0x5e, 0x10, 0x40, 0x08, 0x52, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x81, 0x7b, 0xef, 0x4d, + 0x05, 0x12, 0xc1, 0xe0, 0x09, 0x41, 0xc9, 0x51, 0x5d, 0x06, 0xcd, 0x02, 0x22, 0x48, 0x4e, 0x6d, + 0x07, 0x02, 0x01, 0x24, 0x72, 0x11, 0x10, 0x09, 0x01, 0x85, 0xcd, 0xff, 0x3d, 0x02, 0x0c, 0xe9, + 0x97, 0xbc, 0x34, 0xb1, 0xf3, 0xff, 0xc0, 0xac, 0x90, 0xba, 0xaa, 0xa0, 0x0a, 0x00, 0x86, 0x09, + 0x00, 0x06, 0x17, 0x00, 0x46, 0x28, 0x00, 0x06, 0x26, 0x00, 0xc6, 0x23, 0x00, 0x86, 0x21, 0x00, + 0x46, 0x1f, 0x00, 0x06, 0x1d, 0x00, 0xc6, 0x1a, 0x00, 0x86, 0x18, 0x00, 0x46, 0x16, 0x00, 0x06, + 0x14, 0x00, 0xc6, 0x11, 0x00, 0x86, 0x0f, 0x00, 0x02, 0xa0, 0x6a, 0x41, 0xe7, 0xff, 0x51, 0xe5, + 0xff, 0x21, 0x5f, 0xee, 0x50, 0x50, 0x80, 0xf0, 0x55, 0x01, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x45, + 0x00, 0x00, 0xc4, 0x50, 0x00, 0x20, 0x40, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x45, 0xc0, + 0x2c, 0x20, 0x45, 0x55, 0xfc, 0x85, 0x83, 0xfc, 0xc8, 0x51, 0x08, 0x41, 0x12, 0xc1, 0x20, 0x0d, + 0xf0, 0x02, 0xa2, 0xe1, 0xc6, 0xf0, 0xff, 0x02, 0xa0, 0xd1, 0x46, 0xef, 0xff, 0x02, 0xa0, 0xfc, + 0xc6, 0xed, 0xff, 0x02, 0xa1, 0x27, 0x46, 0xec, 0xff, 0x02, 0xa1, 0x53, 0xc6, 0xea, 0xff, 0x02, + 0xa1, 0x7e, 0x46, 0xe9, 0xff, 0x02, 0xa1, 0xaa, 0xc6, 0xe7, 0xff, 0x02, 0xa1, 0xd6, 0x46, 0xe6, + 0xff, 0x02, 0xa2, 0x02, 0xc6, 0xe4, 0xff, 0x02, 0xa2, 0x2e, 0x46, 0xe3, 0xff, 0x02, 0xa2, 0x5a, + 0xc6, 0xe1, 0xff, 0x02, 0xa2, 0x87, 0x46, 0xe0, 0xff, 0x02, 0xa2, 0xb4, 0xc6, 0xde, 0xff, 0x00, + 0x48, 0xf2, 0xfe, 0x3f, 0x24, 0xf1, 0xfe, 0x3f, 0x34, 0xf0, 0xfe, 0x3f, 0x41, 0xfd, 0xff, 0x32, + 0xa0, 0x01, 0x12, 0xc1, 0xe0, 0xc2, 0x61, 0x06, 0x02, 0x61, 0x05, 0x01, 0x3b, 0xef, 0xcd, 0x02, + 0x08, 0x00, 0x32, 0x44, 0x00, 0x57, 0x70, 0x07, 0x0c, 0x42, 0xc5, 0x3b, 0xff, 0x46, 0x01, 0x00, + 0x05, 0xc1, 0xfb, 0x22, 0x61, 0x04, 0x61, 0x34, 0xef, 0x71, 0xf3, 0xff, 0x42, 0xa0, 0x64, 0x0c, + 0x12, 0x51, 0xf0, 0xff, 0x31, 0xae, 0xf5, 0x52, 0x95, 0x00, 0x32, 0x03, 0x01, 0x29, 0x11, 0x49, + 0x01, 0x2d, 0x0c, 0x0c, 0x04, 0x45, 0xec, 0xff, 0x2d, 0x0c, 0xc5, 0x41, 0xfc, 0x61, 0x2a, 0xef, + 0x68, 0x06, 0x57, 0x76, 0x09, 0x0c, 0x42, 0x0c, 0x03, 0xc5, 0x4a, 0xff, 0x46, 0x01, 0x00, 0x22, + 0x21, 0x04, 0x85, 0xb8, 0xfb, 0xc2, 0x21, 0x06, 0x02, 0x21, 0x05, 0x12, 0xc1, 0x20, 0x0d, 0xf0, + 0xe5, 0xee, 0xfe, 0x3f, 0x12, 0xc1, 0xe0, 0x02, 0x61, 0x06, 0xc2, 0x61, 0x07, 0x82, 0xa4, 0x00, + 0x71, 0x24, 0xe8, 0x20, 0xc2, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x27, 0xd0, 0x80, 0x66, 0x20, 0xc0, + 0x20, 0x00, 0x0c, 0x04, 0x0c, 0x00, 0x22, 0xa0, 0x64, 0x31, 0x94, 0xf5, 0x62, 0x67, 0xd0, 0x51, + 0xd5, 0xff, 0x61, 0x15, 0xef, 0x71, 0xd4, 0xff, 0x52, 0x95, 0x00, 0x32, 0x03, 0x01, 0x29, 0x01, + 0x09, 0x11, 0x2d, 0x0c, 0x45, 0xe5, 0xff, 0x31, 0xee, 0xff, 0xc0, 0x2c, 0x90, 0x3a, 0x22, 0xc5, + 0x8f, 0xff, 0xc0, 0x20, 0x74, 0x32, 0xc1, 0x10, 0xc5, 0xc3, 0xfb, 0xc8, 0x71, 0x08, 0x61, 0x12, + 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x30, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x1c, + 0x00, 0x00, 0x00, 0x0c, 0x61, 0xc1, 0xee, 0x12, 0xc1, 0xf0, 0x09, 0x11, 0x29, 0x01, 0xc9, 0x21, + 0xd9, 0x31, 0x51, 0x2e, 0xe9, 0xd1, 0x03, 0xe8, 0xc1, 0x29, 0xf7, 0xc0, 0x20, 0x00, 0x42, 0x25, + 0xfa, 0x60, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x65, 0xfa, 0x31, 0xbd, 0xf6, 0xc0, 0x20, 0x00, + 0x22, 0x2d, 0x44, 0x30, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x0c, 0x23, 0x0c, 0x04, 0x2c, 0x75, 0x08, + 0x0c, 0x22, 0x6d, 0x44, 0x02, 0x20, 0x26, 0x22, 0xa0, 0x6a, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, + 0x20, 0x35, 0xc0, 0x00, 0x00, 0x21, 0xe7, 0xff, 0x31, 0x38, 0xea, 0xc0, 0x20, 0x00, 0x02, 0x2d, + 0x44, 0x20, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x6d, 0x44, 0xb1, 0xe3, 0xff, 0xa1, 0xe3, 0xff, + 0xc0, 0x20, 0x00, 0x61, 0x16, 0xe9, 0x92, 0x26, 0xe8, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, + 0x20, 0x00, 0x92, 0x66, 0xe8, 0x81, 0xcc, 0xfb, 0x71, 0x40, 0xf2, 0xc0, 0x20, 0x00, 0x52, 0x26, + 0xe6, 0x80, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0xe6, 0x7c, 0xd4, 0xc0, + 0x20, 0x00, 0x22, 0x23, 0x9c, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x63, 0x9c, 0x0c, 0x22, + 0x01, 0xb5, 0xf0, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x28, 0xc0, 0x00, 0x00, 0x0c, 0x22, + 0x08, 0x0c, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa0, 0x81, 0xc0, 0x00, 0x00, 0x31, 0xcc, 0xff, + 0xc0, 0x20, 0x00, 0x22, 0x2d, 0x44, 0x30, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x08, 0x0c, 0x02, 0x20, + 0x32, 0x22, 0x6d, 0x44, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x08, 0x0c, 0x0c, 0x04, + 0x02, 0x20, 0x26, 0x2c, 0x45, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x31, 0xc0, 0x00, 0x00, + 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x08, 0x0c, 0x0c, 0x04, 0x02, 0x20, 0x26, 0x2c, 0x55, 0xc0, 0x00, + 0x00, 0x08, 0x0c, 0x02, 0x20, 0x2f, 0xc0, 0x00, 0x00, 0x42, 0xa9, 0xff, 0x31, 0xc5, 0xe7, 0xc0, + 0x20, 0x00, 0x22, 0x23, 0xd0, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x0c, 0x04, 0x0c, 0x45, 0x0c, + 0x06, 0x0c, 0x87, 0x08, 0x0c, 0x22, 0x63, 0xd0, 0x22, 0xa0, 0x62, 0x02, 0x20, 0x27, 0x0c, 0x13, + 0xc0, 0x00, 0x00, 0x01, 0xb5, 0xee, 0x58, 0x00, 0xb7, 0xf5, 0x07, 0x28, 0x01, 0xc5, 0xdc, 0xff, + 0xc6, 0x02, 0x00, 0x22, 0x00, 0x4e, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x45, 0xe3, 0xff, 0x08, + 0x0c, 0x02, 0x20, 0x23, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x08, 0x0c, 0x0c, 0x14, + 0x02, 0x20, 0x26, 0x4c, 0x85, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x22, 0xc0, 0x00, 0x00, + 0x22, 0xa0, 0x6c, 0x0c, 0x23, 0x0c, 0x04, 0x0c, 0x05, 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, + 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6c, 0x0c, 0x23, 0x0c, 0x04, 0x0c, 0x25, 0x08, 0x0c, + 0x0c, 0x26, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x13, 0xc0, + 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0xa4, 0x0c, 0x45, 0x08, 0x0c, 0x0c, 0x46, 0x02, + 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0xa4, 0x0c, 0x55, + 0x08, 0x0c, 0x0c, 0x56, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, + 0x03, 0x1c, 0xa4, 0x0c, 0x45, 0x08, 0x0c, 0x0c, 0x46, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, + 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0xa4, 0x0c, 0x55, 0x08, 0x0c, 0x0c, 0x56, 0x02, 0x20, + 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0xc8, 0x21, 0xd8, 0x31, 0x08, 0x11, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x1f, 0xfe, 0xff, 0x61, 0x80, 0xee, 0x1c, 0x8b, 0x92, 0x06, 0x78, + 0x71, 0xab, 0xe8, 0x80, 0x99, 0x01, 0x90, 0x98, 0x31, 0x90, 0x94, 0xc0, 0xbc, 0x22, 0x0c, 0x02, + 0x30, 0xa3, 0x11, 0x31, 0xf8, 0xff, 0x70, 0x62, 0xa0, 0xc0, 0x20, 0x00, 0x82, 0x26, 0xc1, 0x30, + 0x58, 0x10, 0x90, 0x88, 0xc0, 0x50, 0x5a, 0x20, 0x80, 0x80, 0x74, 0x80, 0x55, 0x20, 0xc0, 0x20, + 0x00, 0x52, 0x66, 0xc1, 0x1b, 0x22, 0x20, 0x20, 0x74, 0xb7, 0x92, 0xd9, 0x91, 0x6f, 0xee, 0x42, + 0x49, 0x78, 0x0d, 0xf0, 0x00, 0x00, 0x20, 0x00, 0x9c, 0x86, 0xfe, 0x3f, 0x12, 0xc1, 0xd0, 0xd9, + 0x71, 0xe9, 0x81, 0xf9, 0x91, 0x29, 0x41, 0xc9, 0x61, 0x09, 0x51, 0x41, 0xfa, 0xff, 0x0c, 0x70, + 0xc1, 0x6c, 0xe7, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xd7, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, + 0x6c, 0xd7, 0xc0, 0x20, 0x00, 0x22, 0x2c, 0xd4, 0x20, 0x28, 0x75, 0x27, 0x00, 0x0b, 0xc0, 0x20, + 0x00, 0x52, 0x2c, 0xd4, 0x50, 0x58, 0x25, 0x56, 0x35, 0xff, 0x7c, 0xd8, 0xc0, 0x20, 0x00, 0x72, + 0x2c, 0xd4, 0x80, 0x77, 0x10, 0xc0, 0x20, 0x00, 0x72, 0x6c, 0xd4, 0x0c, 0x22, 0xc0, 0x20, 0x00, + 0x62, 0x2c, 0xd4, 0x20, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x6c, 0xd4, 0x01, 0x2e, 0xf0, 0xc0, + 0x00, 0x00, 0xc0, 0x20, 0x00, 0xa2, 0x2c, 0xd4, 0x0c, 0x79, 0xa0, 0xa8, 0x75, 0xa7, 0x09, 0x0b, + 0xc0, 0x20, 0x00, 0xb2, 0x2c, 0xd4, 0xb0, 0xb8, 0x25, 0x56, 0x3b, 0xff, 0xf8, 0x41, 0x0c, 0x0d, + 0x5d, 0x01, 0x7c, 0xfe, 0xc0, 0x3d, 0xa0, 0x50, 0x0d, 0x90, 0xc0, 0x20, 0x00, 0x32, 0x23, 0xe0, + 0xe0, 0x33, 0x30, 0x30, 0x30, 0xa4, 0x32, 0x50, 0x00, 0x8c, 0x9f, 0x21, 0xd7, 0xff, 0x01, 0xfb, + 0xe7, 0xc0, 0x00, 0x00, 0x5d, 0x01, 0xd2, 0xcd, 0x01, 0xd0, 0xd0, 0x74, 0x66, 0x8d, 0xd4, 0x10, + 0x21, 0x20, 0x05, 0x4f, 0xfe, 0x10, 0x01, 0x20, 0x0c, 0x0d, 0x0c, 0x0e, 0x00, 0x3d, 0x90, 0x32, + 0x13, 0x00, 0xea, 0xe3, 0xe0, 0xe0, 0xf4, 0x8c, 0x9f, 0x21, 0xcb, 0xff, 0x01, 0xf0, 0xe7, 0xc0, + 0x00, 0x00, 0x0d, 0x01, 0x1b, 0xdd, 0xd0, 0xd0, 0x74, 0x66, 0x8d, 0xdf, 0xc0, 0x20, 0x00, 0x02, + 0x2c, 0xd4, 0x0c, 0x7f, 0x00, 0x08, 0x75, 0x07, 0x0f, 0x0b, 0xc0, 0x20, 0x00, 0x22, 0x2c, 0xd4, + 0x20, 0x28, 0x25, 0x56, 0x32, 0xff, 0x81, 0xc0, 0xf8, 0xc0, 0x20, 0x00, 0x72, 0x2c, 0xd7, 0x80, + 0x77, 0x10, 0xc0, 0x20, 0x00, 0x72, 0x6c, 0xd7, 0x7c, 0xe6, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0xd8, + 0x60, 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, 0x6c, 0xd8, 0x0c, 0x14, 0xc0, 0x20, 0x00, 0x32, 0x2c, + 0xd8, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x08, 0x51, 0xd8, 0x71, 0xf8, 0x91, 0x32, 0x6c, 0xd8, + 0x8b, 0x2e, 0xc8, 0x61, 0xe8, 0x81, 0x20, 0x24, 0xf4, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x00, 0x00, + 0x50, 0xf2, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x66, 0x72, 0x0b, 0x01, 0xfd, 0xff, 0x08, + 0x40, 0x0c, 0x02, 0xcc, 0xc0, 0xc6, 0x00, 0x00, 0x0c, 0x00, 0x2d, 0x00, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x01, 0x7d, 0xea, 0xc0, 0x00, 0x00, 0x51, 0xf5, 0xff, 0x0c, 0x02, 0x38, 0x45, + 0x39, 0x11, 0x48, 0x63, 0x49, 0x45, 0x29, 0x63, 0x01, 0x79, 0xea, 0xc0, 0x00, 0x00, 0x08, 0x11, + 0x86, 0xf5, 0xff, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x21, 0x01, 0xed, 0xff, 0x29, 0x01, 0x08, 0x00, + 0x0c, 0x02, 0xcc, 0x10, 0x86, 0x0e, 0x00, 0x01, 0x70, 0xea, 0xc0, 0x00, 0x00, 0x51, 0xe8, 0xff, + 0x0c, 0x02, 0x38, 0x05, 0x39, 0x11, 0x48, 0x63, 0x49, 0x05, 0x29, 0x63, 0x01, 0x6c, 0xea, 0xc0, + 0x00, 0x00, 0x78, 0x11, 0x68, 0x01, 0x98, 0x77, 0xb1, 0xa4, 0xf2, 0xa8, 0x09, 0x2d, 0x07, 0xa0, + 0x80, 0x54, 0xa0, 0xa6, 0x41, 0xb0, 0xaa, 0x20, 0xa0, 0xaa, 0x11, 0xa0, 0x88, 0x20, 0x89, 0x09, + 0x69, 0x37, 0x08, 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x0c, 0x02, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xd6, 0xff, 0x66, 0x43, 0x42, 0x38, 0x10, 0x16, + 0xf3, 0x07, 0x01, 0x59, 0xea, 0xc0, 0x00, 0x00, 0x71, 0xd2, 0xff, 0x0c, 0x04, 0x58, 0x17, 0x59, + 0x11, 0x68, 0x65, 0x69, 0x17, 0x49, 0x65, 0x01, 0x55, 0xea, 0xc0, 0x00, 0x00, 0x08, 0x11, 0x98, + 0x00, 0x88, 0x30, 0x89, 0x19, 0x58, 0x70, 0x38, 0x05, 0x21, 0xf0, 0xff, 0x30, 0xa0, 0x54, 0x30, + 0xb6, 0x41, 0x20, 0xbb, 0x20, 0xa0, 0xbb, 0x11, 0xb0, 0xaa, 0x20, 0xa9, 0x05, 0xc6, 0x0f, 0x00, + 0x66, 0x53, 0x30, 0x38, 0x20, 0xbc, 0x93, 0x01, 0x48, 0xea, 0xc0, 0x00, 0x00, 0x71, 0xc0, 0xff, + 0x0c, 0x04, 0x58, 0x27, 0x59, 0x11, 0x68, 0x65, 0x69, 0x27, 0x49, 0x65, 0x01, 0x44, 0xea, 0xc0, + 0x00, 0x00, 0x08, 0x11, 0x98, 0x00, 0x88, 0x30, 0x89, 0x19, 0x58, 0x70, 0x21, 0x30, 0xe8, 0x38, + 0x05, 0xc6, 0xed, 0xff, 0x66, 0x63, 0x06, 0xa8, 0x30, 0x8c, 0x5a, 0x86, 0x02, 0x00, 0x0d, 0x02, + 0x2d, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x01, 0x37, 0xea, 0xc0, 0x00, 0x00, 0x31, + 0xb0, 0xff, 0x0c, 0x0b, 0x08, 0x33, 0x09, 0x11, 0x28, 0x60, 0x29, 0x33, 0xb9, 0x60, 0x01, 0x33, + 0xea, 0xc0, 0x00, 0x00, 0x08, 0x11, 0x58, 0x70, 0x21, 0x57, 0xff, 0x38, 0x05, 0xc6, 0xde, 0xff, + 0xa4, 0x18, 0x00, 0x40, 0x0b, 0x43, 0x12, 0xc1, 0xf0, 0x09, 0x11, 0x29, 0x01, 0x16, 0xd4, 0x0a, + 0x52, 0xc3, 0xfe, 0x16, 0x75, 0x0a, 0x66, 0x43, 0x25, 0x28, 0x72, 0x0c, 0x03, 0x1c, 0x84, 0x01, + 0xf8, 0xff, 0xc0, 0x00, 0x00, 0x01, 0x24, 0xea, 0xc0, 0x00, 0x00, 0x41, 0x9d, 0xff, 0x38, 0x01, + 0x58, 0x14, 0x59, 0x63, 0x39, 0x14, 0x01, 0x21, 0xea, 0xc0, 0x00, 0x00, 0xc6, 0x1d, 0x00, 0x66, + 0x53, 0x25, 0x28, 0x72, 0x0c, 0x03, 0x1c, 0x84, 0x01, 0xee, 0xff, 0xc0, 0x00, 0x00, 0x01, 0x1a, + 0xea, 0xc0, 0x00, 0x00, 0x41, 0x93, 0xff, 0x38, 0x01, 0x58, 0x24, 0x59, 0x63, 0x39, 0x24, 0x01, + 0x17, 0xea, 0xc0, 0x00, 0x00, 0x86, 0x13, 0x00, 0x66, 0x63, 0x25, 0x28, 0x72, 0x0c, 0x03, 0x1c, + 0x84, 0x01, 0xe3, 0xff, 0xc0, 0x00, 0x00, 0x01, 0x10, 0xea, 0xc0, 0x00, 0x00, 0x41, 0x88, 0xff, + 0x38, 0x01, 0x58, 0x34, 0x59, 0x63, 0x39, 0x34, 0x01, 0x0d, 0xea, 0xc0, 0x00, 0x00, 0x46, 0x09, + 0x00, 0x66, 0x73, 0x22, 0x28, 0x72, 0x0c, 0x03, 0x0c, 0xc4, 0x01, 0xd9, 0xff, 0xc0, 0x00, 0x00, + 0x01, 0x06, 0xea, 0xc0, 0x00, 0x00, 0x41, 0x7e, 0xff, 0x38, 0x01, 0x58, 0x44, 0x59, 0x63, 0x39, + 0x44, 0x01, 0x02, 0xea, 0xc0, 0x00, 0x00, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x0c, 0x03, + 0x28, 0x01, 0x1c, 0x84, 0x28, 0x72, 0x01, 0xce, 0xff, 0xc0, 0x00, 0x00, 0x01, 0xfb, 0xe9, 0xc0, + 0x00, 0x00, 0x41, 0x73, 0xff, 0x38, 0x01, 0x58, 0x04, 0x59, 0x63, 0x39, 0x04, 0x01, 0xf7, 0xe9, + 0xc0, 0x00, 0x00, 0x06, 0xf4, 0xff, 0x00, 0x00, 0xa0, 0x09, 0xff, 0x3f, 0x70, 0xf2, 0xfe, 0x3f, + 0x00, 0xf0, 0x00, 0x00, 0xf0, 0x07, 0xff, 0x3f, 0x00, 0x09, 0xff, 0x3f, 0x10, 0x14, 0xff, 0x3f, + 0x12, 0xc1, 0xe0, 0xf9, 0x41, 0x09, 0x01, 0xe9, 0x31, 0xd9, 0x21, 0xc9, 0x11, 0xd2, 0xa0, 0x68, + 0xc1, 0xf7, 0xff, 0xe1, 0xf5, 0xff, 0xe9, 0x7c, 0x2d, 0x0c, 0x0c, 0x13, 0x45, 0xee, 0xff, 0xc2, + 0xcc, 0x20, 0xe2, 0xce, 0x18, 0x0b, 0xdd, 0xe6, 0x1d, 0xeb, 0x42, 0xa1, 0x00, 0x51, 0xf0, 0xff, + 0x0c, 0x10, 0x21, 0xf0, 0xff, 0xc0, 0x20, 0x00, 0x32, 0x12, 0x00, 0x50, 0x33, 0x10, 0x40, 0x33, + 0x20, 0xc0, 0x20, 0x00, 0xe9, 0x7c, 0x02, 0x5c, 0x04, 0x29, 0x0c, 0x32, 0x52, 0x00, 0x29, 0x1c, + 0x0c, 0x43, 0xcb, 0x22, 0x29, 0x3c, 0x2d, 0x0c, 0x85, 0xea, 0xff, 0xc2, 0xcc, 0x20, 0xe2, 0xce, + 0x18, 0x0c, 0x2d, 0xf1, 0xe5, 0xff, 0xc0, 0x20, 0x00, 0xa1, 0xe1, 0xff, 0x92, 0x1f, 0x00, 0xa0, + 0x99, 0x10, 0x4c, 0x0a, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x5f, 0x00, 0xf9, 0x0c, 0xf9, + 0x1c, 0xe9, 0x7c, 0x2d, 0x0c, 0x0c, 0x53, 0xcb, 0x7f, 0x0c, 0x18, 0x82, 0x5c, 0x04, 0x79, 0x3c, + 0x05, 0xe7, 0xff, 0xc2, 0xcc, 0x20, 0xf2, 0xcf, 0x4c, 0xe2, 0xce, 0x18, 0x0b, 0xdd, 0xe6, 0x1d, + 0xc4, 0x0c, 0x4d, 0xe9, 0x7c, 0x2d, 0x0c, 0x0c, 0x63, 0x85, 0xe5, 0xff, 0xc2, 0xcc, 0x20, 0xe2, + 0xce, 0x18, 0x0b, 0xdd, 0xe6, 0x1d, 0xeb, 0x3c, 0xdd, 0xe1, 0xd0, 0xff, 0xe9, 0x7c, 0x2d, 0x0c, + 0x0c, 0x73, 0x05, 0xe4, 0xff, 0xc2, 0xcc, 0x20, 0xcb, 0xee, 0x0b, 0xdd, 0xe6, 0x1d, 0xec, 0xc8, + 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, + 0xf0, 0x16, 0xff, 0x3f, 0x31, 0xff, 0xff, 0x32, 0x03, 0x00, 0x0c, 0x12, 0xb6, 0x53, 0x01, 0x0c, + 0x02, 0x0d, 0xf0, 0x00, 0x20, 0x17, 0xff, 0x3f, 0x0c, 0x13, 0x51, 0xfe, 0xff, 0x20, 0x42, 0xb0, + 0x50, 0x44, 0xa0, 0x42, 0x04, 0x10, 0x0c, 0x02, 0x40, 0x23, 0x83, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x68, 0x84, 0xfe, 0x3f, 0xa4, 0x86, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x09, 0x11, 0x01, 0xf0, 0xff, + 0x08, 0x90, 0x29, 0x01, 0xdc, 0x00, 0x21, 0xfa, 0xff, 0x31, 0xfa, 0xff, 0x42, 0xa0, 0xec, 0x01, + 0xf4, 0xe6, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x30, 0x23, 0x20, 0x32, 0xa0, 0x03, 0xc5, 0xe7, + 0x07, 0xa2, 0x21, 0x00, 0x22, 0x4a, 0x0f, 0x7c, 0x09, 0x0c, 0xa8, 0x31, 0x77, 0xe8, 0xc0, 0x20, + 0x00, 0x72, 0x23, 0xac, 0x90, 0x77, 0x10, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x63, 0xac, + 0x61, 0x55, 0xe9, 0xc0, 0x20, 0x00, 0x52, 0x23, 0xb7, 0x60, 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, + 0x63, 0xb7, 0x41, 0x3f, 0xf8, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xb7, 0x40, 0x22, 0x20, 0xc0, 0x20, + 0x00, 0x22, 0x63, 0xb7, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x01, 0xd3, 0xff, 0x08, 0x90, 0x9d, 0x02, 0xdc, 0x00, 0x21, 0xdd, 0xff, 0x31, 0xdd, 0xff, + 0x42, 0xa0, 0xf7, 0x01, 0xd7, 0xe6, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x30, 0x23, 0x20, 0x32, + 0x09, 0x0f, 0x85, 0xe0, 0x07, 0x41, 0xca, 0xfa, 0x31, 0x5c, 0xe8, 0xc0, 0x20, 0x00, 0x22, 0x23, + 0xb7, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xb7, 0x02, 0x21, 0x00, 0x12, 0xc1, 0x10, + 0x80, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xc5, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x81, 0xbe, 0xff, 0x12, 0xc1, 0xd0, 0xf9, 0x81, + 0x09, 0x41, 0xe9, 0x71, 0xc9, 0x51, 0xd9, 0x61, 0xcd, 0x02, 0xdd, 0x03, 0xcc, 0x33, 0xe8, 0x02, + 0x46, 0x00, 0x00, 0xe8, 0x98, 0x0c, 0x07, 0x92, 0xa0, 0x80, 0x08, 0x7e, 0x38, 0x0e, 0x48, 0x00, + 0x52, 0x1e, 0x08, 0x40, 0x26, 0x41, 0x90, 0x92, 0x10, 0x87, 0x74, 0x06, 0xf8, 0x13, 0x4b, 0xff, + 0x46, 0x00, 0x00, 0xf8, 0x13, 0x32, 0x10, 0x03, 0x62, 0x0c, 0x10, 0x30, 0x37, 0x41, 0x77, 0x62, + 0x04, 0x67, 0xe2, 0x01, 0x0c, 0x17, 0x9c, 0x66, 0x26, 0x36, 0x14, 0x26, 0x26, 0x11, 0x21, 0xb4, + 0xff, 0x31, 0xb4, 0xff, 0x42, 0xa1, 0x14, 0x01, 0xae, 0xe6, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, + 0x0c, 0x06, 0x79, 0x21, 0x59, 0x31, 0x0c, 0x14, 0x49, 0x91, 0x67, 0x72, 0x0b, 0x08, 0x7e, 0x32, + 0x5f, 0x01, 0x0c, 0x15, 0x0c, 0x13, 0x46, 0x15, 0x00, 0x52, 0x0c, 0x0b, 0xcc, 0x45, 0x72, 0x0c, + 0x0d, 0x16, 0x67, 0x24, 0x72, 0x9c, 0x0a, 0x52, 0x9c, 0x09, 0x48, 0xa8, 0x00, 0x93, 0x11, 0x90, + 0x90, 0x31, 0x48, 0x74, 0x70, 0x55, 0xc0, 0x42, 0x14, 0x03, 0x52, 0x5c, 0x09, 0xa2, 0x9c, 0x09, + 0x02, 0x10, 0x05, 0x40, 0x47, 0x41, 0x4a, 0x00, 0x30, 0x00, 0xc0, 0x00, 0x00, 0x11, 0x00, 0x00, + 0x31, 0x02, 0x5c, 0x0a, 0x00, 0x0a, 0xc0, 0x07, 0x29, 0x08, 0x32, 0x5f, 0x01, 0x62, 0x4c, 0x0c, + 0x86, 0x00, 0x00, 0x02, 0x5f, 0x01, 0x32, 0xa0, 0x00, 0x02, 0x2e, 0x07, 0x52, 0xa0, 0x00, 0x78, + 0x00, 0x92, 0xa1, 0x00, 0x70, 0x26, 0x41, 0x90, 0x82, 0x10, 0x9c, 0xc5, 0x39, 0xa1, 0x69, 0xb1, + 0xe7, 0x67, 0x16, 0x22, 0x00, 0x08, 0x85, 0x7e, 0x05, 0x68, 0xb1, 0x08, 0x7e, 0x38, 0xa1, 0x28, + 0x00, 0x82, 0xa1, 0x00, 0x20, 0x26, 0x41, 0x80, 0x82, 0x10, 0x42, 0xa4, 0x02, 0x47, 0x82, 0x0b, + 0x20, 0x56, 0x05, 0x16, 0x35, 0x18, 0x20, 0x73, 0x05, 0x56, 0xd7, 0x17, 0x0c, 0x05, 0x46, 0x02, + 0x00, 0x20, 0xa3, 0x05, 0x58, 0x91, 0x0c, 0x29, 0xa0, 0x59, 0x93, 0xb1, 0xdb, 0xf7, 0xa8, 0x0e, + 0x92, 0x1f, 0x01, 0x50, 0x70, 0x24, 0x80, 0x77, 0x01, 0xf1, 0x92, 0xf9, 0x51, 0x03, 0xe8, 0xe2, + 0x9c, 0x09, 0xb0, 0xaa, 0x10, 0xb8, 0x31, 0x00, 0x99, 0x11, 0xb0, 0xb0, 0xb4, 0x16, 0x9d, 0x15, + 0x97, 0x62, 0x01, 0xcc, 0x33, 0x0c, 0x0c, 0x86, 0x00, 0x00, 0xc1, 0x0f, 0xf0, 0x16, 0x48, 0x14, + 0x16, 0x13, 0x14, 0x31, 0x7e, 0xec, 0xe6, 0x1e, 0x0c, 0x88, 0x21, 0x80, 0x80, 0x74, 0xcc, 0x48, + 0xd2, 0x00, 0x08, 0xb6, 0xbd, 0x04, 0x0c, 0x02, 0x86, 0x00, 0x00, 0x21, 0xa2, 0xff, 0x30, 0x4c, + 0x20, 0xa0, 0x82, 0x20, 0x40, 0x47, 0x20, 0x80, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, 0xb7, + 0xc0, 0x20, 0x00, 0x92, 0x65, 0xba, 0x32, 0x00, 0x0c, 0x22, 0x00, 0x08, 0x00, 0x33, 0x11, 0x20, + 0x70, 0x34, 0x40, 0x77, 0x11, 0x70, 0x7b, 0x20, 0xf6, 0xb2, 0x01, 0xfd, 0x06, 0x30, 0x8f, 0x20, + 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x65, 0xb8, 0x22, 0x00, 0x08, 0xf6, 0xb2, 0x02, 0x06, + 0x32, 0x00, 0x32, 0xa0, 0x87, 0x0c, 0x88, 0x98, 0x00, 0x02, 0xc2, 0xf0, 0x90, 0x9c, 0x05, 0x90, + 0x68, 0x93, 0xe6, 0x80, 0x01, 0x0c, 0x73, 0x00, 0xa0, 0x24, 0xc8, 0x31, 0x60, 0xb3, 0x20, 0x80, + 0xbb, 0x01, 0x80, 0xcc, 0x11, 0xc0, 0xaa, 0x20, 0xb0, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x65, + 0xb9, 0x86, 0x25, 0x00, 0x31, 0x84, 0xff, 0xe2, 0x0c, 0x04, 0x6c, 0x8d, 0x80, 0x22, 0x20, 0xa0, + 0x33, 0x20, 0x20, 0x77, 0x20, 0xe0, 0xed, 0xd1, 0x5a, 0xee, 0x30, 0x77, 0x20, 0xc0, 0x20, 0x00, + 0x72, 0x6e, 0xf1, 0x42, 0x0c, 0x04, 0x40, 0x4d, 0xd1, 0x5a, 0x44, 0xc0, 0x20, 0x00, 0x92, 0x64, + 0xf4, 0x22, 0x00, 0x08, 0x32, 0x00, 0x0c, 0x72, 0x0c, 0x04, 0x00, 0x33, 0x11, 0x70, 0x7d, 0xd1, + 0x5a, 0x77, 0xf6, 0xb2, 0x01, 0xfd, 0x06, 0x30, 0x8f, 0x20, 0x20, 0x40, 0x34, 0x40, 0x44, 0x11, + 0x40, 0x4b, 0x20, 0x80, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x67, 0xf2, 0x22, 0x00, 0x08, 0xb6, + 0xb2, 0x38, 0x32, 0xa0, 0x87, 0x82, 0x0c, 0x04, 0x6c, 0x87, 0x0c, 0x89, 0xa8, 0x00, 0x02, 0xc2, + 0xf0, 0xa0, 0xac, 0x05, 0xa0, 0x69, 0x93, 0x80, 0x77, 0xd1, 0x5a, 0x57, 0xe6, 0x80, 0x01, 0x0c, + 0x73, 0x00, 0xb0, 0x24, 0xd8, 0x31, 0x60, 0xc3, 0x20, 0x80, 0xcc, 0x01, 0x80, 0xdd, 0x11, 0xd0, + 0xbb, 0x20, 0xc0, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x65, 0xf3, 0xc8, 0x51, 0xd8, 0x61, 0xe8, + 0x71, 0xf8, 0x81, 0x08, 0x41, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x20, 0x44, 0x05, 0x16, 0x04, 0xe8, + 0x0c, 0x35, 0x46, 0xa1, 0xff, 0x0c, 0x03, 0xc6, 0xae, 0xff, 0x97, 0x62, 0x01, 0xcc, 0x33, 0x0c, + 0x02, 0x86, 0x00, 0x00, 0x21, 0xb9, 0xef, 0x9c, 0xb8, 0x9c, 0x93, 0x81, 0x28, 0xec, 0xe6, 0x1e, + 0x0f, 0xd8, 0x21, 0xd0, 0xd0, 0x74, 0xcc, 0x7d, 0xe2, 0x00, 0x08, 0xf6, 0xbe, 0x02, 0x86, 0xc8, + 0xff, 0x0c, 0x03, 0x06, 0xc8, 0xff, 0x0c, 0x08, 0x86, 0xf8, 0xff, 0x42, 0x1c, 0x0b, 0x16, 0xe4, + 0x05, 0x32, 0x5f, 0x01, 0x08, 0x7e, 0x2d, 0x03, 0x78, 0x00, 0x39, 0x11, 0x07, 0xf7, 0x24, 0x77, + 0xe7, 0x21, 0x69, 0xb1, 0xc7, 0x77, 0x04, 0x69, 0xb1, 0x97, 0x77, 0x17, 0x32, 0x21, 0x01, 0x22, + 0x00, 0x00, 0x42, 0x1c, 0x0b, 0x20, 0x22, 0x34, 0x05, 0x3b, 0x05, 0x62, 0x21, 0x0b, 0x02, 0x2e, + 0x07, 0x22, 0x5f, 0x01, 0x48, 0x11, 0x40, 0x40, 0xf4, 0x27, 0xb4, 0x0f, 0x22, 0x5c, 0x09, 0x58, + 0x91, 0x62, 0x5c, 0x0a, 0x52, 0x4c, 0x0c, 0x0c, 0x15, 0x86, 0x03, 0x00, 0x62, 0x5c, 0x09, 0x0c, + 0x05, 0x86, 0x01, 0x00, 0x62, 0x5c, 0x09, 0x0c, 0x05, 0x08, 0x7e, 0x0c, 0x13, 0x86, 0x67, 0xff, + 0x32, 0x61, 0x00, 0x16, 0x99, 0x02, 0x62, 0x61, 0x0b, 0x67, 0xe2, 0x23, 0x22, 0x00, 0x00, 0x20, + 0x22, 0x34, 0x05, 0xd0, 0x03, 0x68, 0xb1, 0x38, 0x01, 0x32, 0x5f, 0x01, 0x39, 0x11, 0x16, 0x42, + 0x05, 0x48, 0x72, 0x42, 0x14, 0x05, 0x0c, 0x15, 0x3a, 0x44, 0x42, 0x5f, 0x01, 0x06, 0xf2, 0xff, + 0xa7, 0xe2, 0x18, 0x69, 0xb1, 0x17, 0xe2, 0x13, 0x22, 0x00, 0x00, 0x20, 0x22, 0x34, 0x45, 0xcd, + 0x03, 0x68, 0xb1, 0x81, 0xdf, 0xfe, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x02, 0x08, 0x01, + 0x02, 0x5f, 0x01, 0x16, 0xd2, 0xf9, 0x48, 0x72, 0x42, 0x14, 0x05, 0x32, 0x18, 0x16, 0x0a, 0x04, + 0x07, 0x23, 0x90, 0x58, 0x91, 0x02, 0x5f, 0x01, 0x02, 0x5c, 0x09, 0x62, 0x5c, 0x0a, 0x52, 0x4c, + 0x0c, 0x0c, 0x15, 0x86, 0xe0, 0xff, 0x0c, 0x05, 0x46, 0xdf, 0xff, 0x00, 0x0c, 0x05, 0x0c, 0x02, + 0x71, 0xd5, 0xfe, 0x50, 0x65, 0xb0, 0x1b, 0x55, 0x70, 0x66, 0xa0, 0x62, 0x96, 0x09, 0x50, 0x50, + 0x74, 0x67, 0xa2, 0x02, 0x60, 0x20, 0xf4, 0x66, 0x55, 0xe8, 0x0d, 0xf0, 0x12, 0xc1, 0xe0, 0x29, + 0x01, 0x39, 0x11, 0x09, 0x21, 0xe9, 0x51, 0xc9, 0x31, 0xd9, 0x41, 0xcd, 0x06, 0xdd, 0x05, 0xed, + 0x04, 0x01, 0x79, 0xe8, 0xc0, 0x00, 0x00, 0x31, 0xc7, 0xfe, 0x28, 0x11, 0x08, 0x01, 0x0b, 0x22, + 0x00, 0x00, 0xb0, 0x30, 0x00, 0xa0, 0xe2, 0x40, 0x07, 0x22, 0x40, 0x05, 0x22, 0x00, 0x06, 0xd2, + 0x40, 0x08, 0x27, 0x3d, 0x04, 0xe7, 0xb2, 0x04, 0xdd, 0x0e, 0xd2, 0x40, 0x06, 0xd1, 0xb8, 0xfe, + 0x22, 0x1d, 0x16, 0x27, 0xbc, 0x0d, 0x32, 0x10, 0x0b, 0x27, 0x93, 0x0a, 0xc2, 0x50, 0x0b, 0xc5, + 0xf8, 0xff, 0xcd, 0x02, 0xc2, 0x5d, 0x16, 0x01, 0x69, 0xe8, 0xc0, 0x00, 0x00, 0xc8, 0x31, 0xd8, + 0x41, 0xe8, 0x51, 0x08, 0x21, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x0c, 0x07, 0x91, 0xb1, + 0xfe, 0x20, 0x82, 0xb0, 0x90, 0x88, 0xa0, 0x22, 0x48, 0x04, 0x32, 0x48, 0x05, 0x52, 0x48, 0x08, + 0x42, 0x48, 0x07, 0x42, 0x48, 0x06, 0x62, 0x58, 0x0b, 0x72, 0x48, 0x09, 0x72, 0x48, 0x0a, 0x72, + 0x48, 0x10, 0x79, 0x78, 0x79, 0x88, 0x0d, 0xf0, 0x2a, 0x09, 0x00, 0x00, 0xc0, 0x0b, 0x00, 0x00, + 0x42, 0xa0, 0x09, 0x32, 0xa1, 0x5f, 0x51, 0xfc, 0xff, 0x62, 0xa0, 0x07, 0x21, 0x9d, 0xfe, 0x72, + 0xa2, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x79, 0x12, 0x79, 0x22, 0x62, 0x42, 0x0d, 0x62, 0x42, + 0x0c, 0x52, 0x52, 0x08, 0x52, 0x52, 0x07, 0x01, 0x5a, 0xef, 0x32, 0x52, 0x0e, 0x42, 0x52, 0x0a, + 0x0c, 0x33, 0x0c, 0x44, 0x02, 0x52, 0x0f, 0x0c, 0xa5, 0x0c, 0x06, 0x0c, 0x22, 0xc5, 0xf8, 0xff, + 0x0c, 0x32, 0x0c, 0x73, 0x0c, 0x44, 0x0c, 0xa5, 0x0c, 0x06, 0x05, 0xf8, 0xff, 0x0c, 0x12, 0x0c, + 0x23, 0x0c, 0x34, 0x0c, 0x45, 0x61, 0xe9, 0xff, 0x05, 0xf7, 0xff, 0x0c, 0x02, 0x0c, 0x23, 0x0c, + 0x24, 0x0c, 0x35, 0x62, 0xa5, 0xe0, 0x45, 0xf6, 0xff, 0x0c, 0x42, 0x0c, 0x13, 0x0c, 0x04, 0x0c, + 0x05, 0x0c, 0x06, 0x85, 0xf5, 0xff, 0x45, 0xec, 0xff, 0x4d, 0x02, 0x21, 0x81, 0xfe, 0x0c, 0x53, + 0x32, 0x42, 0x00, 0x42, 0x52, 0x16, 0x0c, 0x13, 0x22, 0x12, 0x0e, 0x45, 0x3b, 0x05, 0x85, 0x58, + 0x06, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x32, 0xc2, 0xf6, 0x12, 0xc1, 0xf0, 0x51, 0x78, + 0xfe, 0x09, 0x11, 0x02, 0x05, 0x00, 0x4d, 0x02, 0x30, 0x40, 0x83, 0x40, 0x00, 0x74, 0xb6, 0x50, + 0x11, 0x21, 0x7f, 0xfe, 0x31, 0x80, 0xfe, 0x42, 0xa2, 0x2b, 0x01, 0x79, 0xe5, 0xc0, 0x00, 0x00, + 0x06, 0xff, 0xff, 0x66, 0x40, 0x14, 0x81, 0x6e, 0xf9, 0x71, 0xff, 0xe6, 0xc0, 0x20, 0x00, 0x62, + 0x27, 0xd9, 0x80, 0x66, 0x10, 0xc0, 0x20, 0x00, 0x62, 0x67, 0xd9, 0x61, 0x6e, 0xfe, 0x00, 0x90, + 0xb0, 0x60, 0x99, 0xa0, 0x92, 0x09, 0x10, 0x26, 0x19, 0x11, 0x21, 0x71, 0xfe, 0x31, 0x71, 0xfe, + 0x42, 0xa2, 0x36, 0x01, 0x6b, 0xe5, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x42, 0x45, 0x00, 0x00, + 0x00, 0xb0, 0x60, 0x00, 0xa0, 0x09, 0x01, 0x66, 0x92, 0x13, 0x2d, 0x00, 0x32, 0xc6, 0xd0, 0x32, + 0x03, 0x2e, 0x85, 0xa1, 0xff, 0x08, 0x01, 0x51, 0x5a, 0xfe, 0x0c, 0x04, 0x49, 0x95, 0x68, 0x00, + 0xdc, 0x06, 0x21, 0x63, 0xfe, 0x31, 0x63, 0xfe, 0x42, 0xa2, 0x3d, 0x01, 0x5d, 0xe5, 0xc0, 0x00, + 0x00, 0x06, 0xff, 0xff, 0x00, 0x20, 0x20, 0x72, 0xa0, 0x02, 0x72, 0x40, 0x10, 0xc5, 0x00, 0x00, + 0x05, 0x86, 0x00, 0x02, 0x21, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0xc9, + 0x21, 0x09, 0x11, 0x08, 0x02, 0xcd, 0x02, 0xdc, 0x00, 0x21, 0x55, 0xfe, 0x31, 0x56, 0xfe, 0x42, + 0xa2, 0x54, 0x01, 0x4f, 0xe5, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x21, 0x45, 0xfe, 0x38, 0xa2, + 0x48, 0x92, 0x9c, 0x03, 0x21, 0x4f, 0xfe, 0x31, 0x4f, 0xfe, 0x42, 0xa2, 0x55, 0x01, 0x48, 0xe5, + 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x9c, 0x04, 0x21, 0x4a, 0xfe, 0x31, 0x4a, 0xfe, 0x42, 0xa2, + 0x56, 0x01, 0x43, 0xe5, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x09, 0xa2, 0x48, 0x70, 0x0c, 0x06, + 0x58, 0x04, 0x69, 0x0c, 0x50, 0x5c, 0x05, 0x56, 0x55, 0x0e, 0x09, 0x01, 0x72, 0x0c, 0x0b, 0xa2, + 0x1c, 0x0b, 0xcc, 0x97, 0x82, 0x9c, 0x09, 0xa6, 0x18, 0x04, 0x0c, 0x19, 0x92, 0x4c, 0x0d, 0x16, + 0x5a, 0x04, 0xb2, 0x0c, 0x0b, 0x02, 0x0c, 0x0c, 0x8c, 0x0b, 0xcc, 0x30, 0x22, 0x0c, 0x0d, 0xbc, + 0x52, 0x22, 0x04, 0x00, 0x20, 0x22, 0x34, 0xc5, 0xa4, 0x03, 0x42, 0x21, 0x00, 0x42, 0x24, 0x07, + 0x16, 0x42, 0x02, 0x08, 0x04, 0x00, 0x50, 0x05, 0x56, 0xd5, 0x0a, 0x00, 0x67, 0x04, 0x56, 0x76, + 0x0a, 0x71, 0x23, 0xfe, 0x0c, 0x13, 0x29, 0x97, 0x2d, 0x0c, 0x85, 0x97, 0xff, 0x2d, 0x0c, 0x32, + 0xa0, 0xd4, 0x45, 0x8b, 0xff, 0xc6, 0x21, 0x00, 0x02, 0x24, 0x00, 0xd7, 0x60, 0x26, 0xc7, 0xe0, + 0x23, 0x22, 0x04, 0x00, 0x20, 0x22, 0x34, 0xc5, 0xa0, 0x03, 0x16, 0x72, 0x01, 0x31, 0x18, 0xfe, + 0x22, 0x63, 0x09, 0x2d, 0x0c, 0x0c, 0x13, 0xc5, 0x94, 0xff, 0x2d, 0x0c, 0x32, 0xa0, 0xd4, 0x85, + 0x88, 0xff, 0x86, 0x16, 0x00, 0x42, 0x0c, 0x0b, 0x52, 0x0c, 0x0c, 0x8c, 0x04, 0xcc, 0x45, 0x62, + 0x0c, 0x0d, 0x16, 0xa6, 0x04, 0x22, 0x21, 0x00, 0x22, 0x22, 0x07, 0x22, 0x02, 0x00, 0x20, 0x22, + 0x34, 0x05, 0x9d, 0x03, 0x16, 0x82, 0x03, 0x08, 0x01, 0x08, 0x70, 0x08, 0x00, 0x07, 0xf0, 0x19, + 0x77, 0xe0, 0x16, 0x31, 0x07, 0xfe, 0x29, 0x93, 0x2d, 0x0c, 0x0c, 0x13, 0x45, 0x90, 0xff, 0x2d, + 0x0c, 0x32, 0xa0, 0xd4, 0x05, 0x84, 0xff, 0x46, 0x05, 0x00, 0x22, 0x6c, 0x00, 0x32, 0xa0, 0x00, + 0xc0, 0x2c, 0x20, 0x05, 0x8f, 0xff, 0x22, 0x0c, 0x04, 0x0c, 0x03, 0x0c, 0x04, 0x85, 0x3f, 0x07, + 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x22, 0x6c, 0x00, 0x32, 0xa0, 0x00, 0xc0, + 0x2c, 0x20, 0x05, 0x8d, 0xff, 0x22, 0x0c, 0x04, 0x0c, 0x03, 0x0c, 0x04, 0x85, 0x3d, 0x07, 0x46, + 0xf7, 0xff, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xcd, 0x03, 0x45, 0x7c, 0xff, + 0xdc, 0x02, 0x21, 0xfb, 0xfd, 0x31, 0xfb, 0xfd, 0x42, 0xa2, 0x91, 0x01, 0xf5, 0xe4, 0xc0, 0x00, + 0x00, 0x06, 0xff, 0xff, 0x21, 0xeb, 0xfd, 0x08, 0xa2, 0x42, 0x02, 0x00, 0xdc, 0x00, 0x21, 0xf4, + 0xfd, 0x31, 0xf4, 0xfd, 0x42, 0xa2, 0x94, 0x01, 0xee, 0xe4, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, + 0x52, 0x02, 0x00, 0x32, 0xc2, 0x30, 0x50, 0x24, 0xb0, 0x30, 0x22, 0xa0, 0x32, 0x02, 0x10, 0x26, + 0x23, 0x11, 0x21, 0xeb, 0xfd, 0x31, 0xeb, 0xfd, 0x42, 0xa2, 0x95, 0x01, 0xe5, 0xe4, 0xc0, 0x00, + 0x00, 0x06, 0xff, 0xff, 0x68, 0x70, 0x0c, 0x03, 0x08, 0x06, 0x82, 0xa4, 0x02, 0x00, 0x76, 0x41, + 0x87, 0x87, 0x05, 0xc7, 0x70, 0x2a, 0x97, 0xf0, 0x27, 0x32, 0x42, 0x09, 0x32, 0x42, 0x0a, 0xc2, + 0xa0, 0x7f, 0x92, 0x02, 0x07, 0x92, 0x42, 0x06, 0x32, 0xa0, 0x00, 0xc2, 0x46, 0x09, 0xa2, 0xa0, + 0x05, 0xa2, 0x42, 0x10, 0x05, 0x29, 0x00, 0xc2, 0x21, 0x01, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x02, 0x02, 0x07, 0x87, 0xe7, 0x08, 0x02, 0x42, 0x06, 0x32, 0x42, 0x09, 0xc6, 0xf5, 0xff, + 0x02, 0x42, 0x06, 0x32, 0x42, 0x09, 0x32, 0x42, 0x0a, 0xc6, 0xf2, 0xff, 0x12, 0xc1, 0xe0, 0x09, + 0x01, 0x59, 0x51, 0xf9, 0x41, 0xe9, 0x31, 0xc9, 0x11, 0xd9, 0x21, 0xcd, 0x03, 0xdd, 0x04, 0xed, + 0x02, 0xfd, 0x05, 0x38, 0x8e, 0x28, 0x7c, 0x1b, 0x33, 0x39, 0x8e, 0x08, 0x02, 0xd2, 0x42, 0x0f, + 0xd7, 0x60, 0x0c, 0xc7, 0xe0, 0x09, 0x2d, 0x0c, 0x0c, 0x03, 0x05, 0xe4, 0x00, 0x06, 0x02, 0x00, + 0xf0, 0x3f, 0x20, 0xc0, 0x2c, 0x20, 0x45, 0xe3, 0x00, 0x22, 0x2c, 0x07, 0x08, 0x02, 0xd7, 0x60, + 0x10, 0xc7, 0xe0, 0x0d, 0x22, 0x02, 0x00, 0x20, 0x22, 0x34, 0x85, 0x8a, 0x03, 0xcd, 0x02, 0x56, + 0x02, 0xfc, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x31, 0xb0, 0xfd, 0x20, 0x22, 0xb0, 0x30, 0x22, 0xa0, 0x0d, 0xf0, 0x00, + 0x5d, 0x04, 0x12, 0xc1, 0xf0, 0x0c, 0x44, 0x09, 0x01, 0x05, 0xf8, 0xff, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x6d, 0x02, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x2d, 0x03, 0x0c, 0x10, 0x3d, + 0x04, 0x58, 0x76, 0x48, 0x72, 0x1b, 0x55, 0x59, 0x76, 0x02, 0x44, 0x0f, 0xc5, 0xdc, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x24, 0x0e, 0x00, 0x40, 0x12, 0xc1, 0xf0, 0x09, + 0x11, 0x32, 0x02, 0x10, 0x08, 0x02, 0x26, 0x63, 0x11, 0x21, 0xa1, 0xfd, 0x31, 0xa2, 0xfd, 0x42, + 0xa2, 0xdb, 0x01, 0x9b, 0xe4, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x42, 0xa0, 0x00, 0x42, 0x42, + 0x10, 0x62, 0x20, 0x07, 0x02, 0x61, 0x00, 0x38, 0x06, 0x49, 0x02, 0xb7, 0x73, 0x2a, 0x22, 0x06, + 0x00, 0x32, 0x06, 0x04, 0x20, 0x22, 0x34, 0x30, 0x34, 0x41, 0x2b, 0x33, 0x30, 0x30, 0x74, 0x05, + 0xf2, 0x03, 0x48, 0x01, 0x48, 0x74, 0x2c, 0x02, 0x42, 0x04, 0x00, 0x0c, 0x73, 0x40, 0x42, 0x34, + 0x01, 0xea, 0xff, 0xc0, 0x00, 0x00, 0x46, 0x0d, 0x00, 0x02, 0x21, 0x00, 0xc7, 0x73, 0x0b, 0x32, + 0xa0, 0x01, 0x00, 0x20, 0x20, 0x85, 0xe9, 0x04, 0xc6, 0x08, 0x00, 0x71, 0x7d, 0xfd, 0x52, 0x06, + 0x05, 0x72, 0x07, 0x0d, 0x50, 0x50, 0x54, 0x77, 0x35, 0x0b, 0x0c, 0x24, 0x0c, 0x15, 0x3d, 0x00, + 0x85, 0xec, 0xff, 0x06, 0x02, 0x00, 0x0c, 0x34, 0x0c, 0x15, 0x3d, 0x00, 0xc5, 0xeb, 0xff, 0x08, + 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x42, 0x02, 0x0d, 0x0c, 0x05, 0x8c, 0x44, 0x32, + 0x42, 0x0b, 0x52, 0x42, 0x0d, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0x02, 0x61, + 0x00, 0x02, 0x02, 0x0b, 0x20, 0xc2, 0x20, 0xac, 0xa0, 0x22, 0x02, 0x0c, 0x0c, 0x00, 0x9c, 0x02, + 0x28, 0x0c, 0x28, 0x72, 0x22, 0x02, 0x00, 0x20, 0x22, 0x34, 0x85, 0x73, 0x03, 0x29, 0x0c, 0x46, + 0x01, 0x00, 0x00, 0x20, 0x20, 0x22, 0x6c, 0x00, 0x16, 0xe2, 0x01, 0x2d, 0x0c, 0x0c, 0x03, 0x05, + 0x75, 0x00, 0x86, 0x01, 0x00, 0x0c, 0x03, 0x05, 0xfb, 0xff, 0x0c, 0x02, 0x0c, 0x93, 0x08, 0x01, + 0x32, 0x4c, 0x11, 0xc8, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x0c, 0x02, 0x0c, 0x04, 0x42, 0x4c, + 0x0b, 0xc6, 0xf9, 0xff, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0x02, 0x02, 0x0b, 0xcd, 0x02, + 0x8c, 0x60, 0x0c, 0x02, 0x22, 0x4c, 0x0b, 0x46, 0x01, 0x00, 0x32, 0xa0, 0x00, 0x85, 0xf7, 0xff, + 0x21, 0x50, 0xfd, 0x22, 0x22, 0x09, 0x45, 0x74, 0x03, 0x32, 0xa0, 0x0c, 0x08, 0x01, 0x32, 0x4c, + 0x11, 0xc8, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x0c, 0x13, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xc9, + 0x11, 0x01, 0x47, 0xfd, 0xcd, 0x02, 0x08, 0x90, 0x09, 0x02, 0x45, 0x6e, 0x00, 0x0c, 0xb3, 0x08, + 0x01, 0x32, 0x4c, 0x11, 0xc8, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x02, + 0x61, 0x00, 0xc2, 0x61, 0x01, 0xd9, 0x21, 0xcd, 0x03, 0xdd, 0x02, 0x0c, 0x03, 0x32, 0x42, 0x10, + 0x45, 0xf2, 0xff, 0x28, 0x5c, 0xc5, 0x2a, 0x06, 0xac, 0x02, 0x28, 0x7c, 0x22, 0x02, 0x00, 0x0c, + 0x13, 0x20, 0x22, 0x34, 0x85, 0xdd, 0x03, 0x48, 0x7c, 0x2c, 0x02, 0x42, 0x04, 0x00, 0x0c, 0x73, + 0x40, 0x42, 0x34, 0x01, 0x99, 0xff, 0xc0, 0x00, 0x00, 0x06, 0x02, 0x00, 0xc0, 0x2c, 0x20, 0x32, + 0xa0, 0x01, 0xc5, 0xde, 0x04, 0x02, 0x21, 0x00, 0x0c, 0x85, 0xc8, 0x11, 0x52, 0x4d, 0x11, 0xd8, + 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x0c, 0x34, 0x81, 0x6a, 0xfd, 0x52, 0xa0, 0x94, + 0x12, 0xc1, 0xd0, 0xe9, 0x71, 0x09, 0x41, 0xc9, 0x51, 0xf9, 0x81, 0xd9, 0x61, 0x0c, 0x0f, 0xd1, + 0x24, 0xfd, 0xcd, 0x02, 0x02, 0x0c, 0x10, 0x2d, 0x03, 0x32, 0xa0, 0xd4, 0xec, 0x92, 0x0c, 0x1e, + 0x22, 0xc0, 0xfa, 0x56, 0x12, 0x0a, 0xf2, 0x4c, 0x10, 0x08, 0xad, 0x48, 0x0c, 0x56, 0x60, 0x17, + 0x8c, 0x34, 0x38, 0x9d, 0x16, 0xb3, 0x36, 0x21, 0x26, 0xfd, 0x31, 0x26, 0xfd, 0x42, 0xa3, 0x38, + 0x01, 0x20, 0xe4, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x26, 0x20, 0x14, 0x26, 0x10, 0x11, 0x21, + 0x20, 0xfd, 0x31, 0x20, 0xfd, 0x42, 0xa3, 0xa2, 0x01, 0x1a, 0xe4, 0xc0, 0x00, 0x00, 0x06, 0xff, + 0xff, 0x02, 0x2d, 0x0a, 0x62, 0x2d, 0x09, 0x56, 0x50, 0x01, 0x2d, 0x0c, 0x0c, 0x03, 0x0c, 0x34, + 0x42, 0x4c, 0x10, 0xc5, 0x5f, 0x00, 0xed, 0x02, 0x0c, 0x55, 0x52, 0x4c, 0x11, 0x86, 0x2a, 0x00, + 0x16, 0xe6, 0x02, 0x72, 0x20, 0x07, 0x78, 0x07, 0x2d, 0x0c, 0x70, 0x79, 0x05, 0x70, 0x35, 0x93, + 0x85, 0x4b, 0xff, 0x28, 0x9d, 0x45, 0x61, 0x03, 0x2d, 0x0c, 0x0c, 0x03, 0x88, 0xad, 0x0c, 0x39, + 0x92, 0x4c, 0x10, 0x89, 0x0c, 0x85, 0x5c, 0x00, 0xed, 0x02, 0x0c, 0x6a, 0xa2, 0x4c, 0x11, 0x06, + 0x1e, 0x00, 0xb8, 0x0c, 0xbc, 0x0b, 0x21, 0x06, 0xfd, 0x31, 0x06, 0xfd, 0x42, 0xa3, 0xb1, 0x01, + 0x00, 0xe4, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x26, 0x50, 0x02, 0x86, 0x22, 0x00, 0x08, 0xad, + 0xf2, 0x4c, 0x10, 0x56, 0x40, 0x09, 0x21, 0xfe, 0xfc, 0x31, 0xfe, 0xfc, 0x42, 0xa3, 0x63, 0x01, + 0xf8, 0xe3, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x28, 0x70, 0xe8, 0x02, 0xe0, 0xe6, 0x41, 0x87, + 0x0e, 0x1a, 0x22, 0x02, 0x04, 0x20, 0x24, 0x41, 0xa6, 0x12, 0x11, 0x52, 0x10, 0x08, 0x32, 0x1d, + 0x07, 0x57, 0xb3, 0x02, 0x46, 0x67, 0x00, 0xa6, 0x32, 0x02, 0xc6, 0x65, 0x00, 0x09, 0x0c, 0x62, + 0x0c, 0x0b, 0x42, 0x4c, 0x10, 0x8c, 0x16, 0xf2, 0x4c, 0x0b, 0xc0, 0x2c, 0x20, 0x32, 0xa0, 0x00, + 0xc5, 0x54, 0x00, 0x20, 0xe2, 0x20, 0x0c, 0x77, 0x72, 0x4c, 0x11, 0x0c, 0x00, 0xf9, 0xad, 0x82, + 0x0c, 0x0d, 0xb8, 0x9d, 0x92, 0x0d, 0x00, 0x0c, 0x5a, 0xe0, 0x9a, 0x83, 0x00, 0xbf, 0x83, 0xb9, + 0x9d, 0x92, 0x4d, 0x00, 0x16, 0xa8, 0x0b, 0x21, 0xe2, 0xfc, 0x31, 0xe2, 0xfc, 0x42, 0xa3, 0xc6, + 0x01, 0xdc, 0xe3, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x21, 0xdd, 0xfc, 0x31, 0xde, 0xfc, 0x42, + 0xa3, 0x9c, 0x01, 0xd7, 0xe3, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x22, 0x2d, 0x09, 0x16, 0x32, + 0x05, 0x42, 0x20, 0x07, 0x42, 0x24, 0x00, 0x2d, 0x0c, 0x40, 0x49, 0x05, 0x40, 0x35, 0x93, 0x32, + 0x4d, 0x2e, 0x3d, 0x0e, 0x05, 0xd5, 0xff, 0x22, 0x0c, 0x04, 0x58, 0x9d, 0x59, 0x0c, 0xc5, 0x02, + 0x07, 0xe2, 0x4c, 0x10, 0xf2, 0x4c, 0x11, 0x2d, 0x0c, 0x38, 0xad, 0x0c, 0x04, 0x45, 0xc7, 0xff, + 0x0c, 0x10, 0x0c, 0x1e, 0x46, 0xe1, 0xff, 0x68, 0x9d, 0x09, 0x31, 0x16, 0x16, 0x08, 0x09, 0x91, + 0x16, 0xa4, 0x1c, 0x21, 0xc7, 0xfc, 0x31, 0xc7, 0xfc, 0x42, 0xa3, 0x3d, 0x01, 0xc1, 0xe3, 0xc0, + 0x00, 0x00, 0x06, 0xff, 0xff, 0x72, 0x2c, 0x00, 0x56, 0x57, 0x04, 0x02, 0x20, 0x07, 0x08, 0x00, + 0x00, 0x89, 0x05, 0x16, 0xc8, 0x0f, 0x2d, 0x01, 0x2b, 0x31, 0x4b, 0x41, 0x8b, 0x51, 0xc5, 0x69, + 0x07, 0x58, 0x21, 0x08, 0xad, 0x48, 0x11, 0x08, 0x70, 0x32, 0x11, 0x01, 0x22, 0x00, 0x00, 0x68, + 0x00, 0x20, 0x22, 0x34, 0x60, 0x6b, 0x05, 0x56, 0x16, 0x15, 0x0c, 0x06, 0x05, 0xbb, 0x03, 0x06, + 0x56, 0x00, 0xc8, 0x51, 0xd8, 0x61, 0xe8, 0x71, 0xf8, 0x81, 0x08, 0x41, 0x12, 0xc1, 0x30, 0x0d, + 0xf0, 0x2d, 0x0c, 0x3d, 0x0e, 0x05, 0xcc, 0xff, 0xe2, 0x4c, 0x10, 0x38, 0xad, 0x0c, 0x42, 0x0c, + 0x04, 0x22, 0x4c, 0x11, 0x2d, 0x0c, 0xc5, 0xbe, 0xff, 0x0c, 0x1e, 0x0c, 0x00, 0x06, 0xbf, 0xff, + 0xdc, 0x74, 0x2d, 0x0c, 0x3d, 0x0f, 0x05, 0xca, 0xff, 0x32, 0x0c, 0x0b, 0x8c, 0x13, 0xf2, 0x4c, + 0x0b, 0x0c, 0x0e, 0x0c, 0xa4, 0x42, 0x4c, 0x11, 0x46, 0x05, 0x00, 0xe0, 0x3e, 0x20, 0xc0, 0x2c, + 0x20, 0x45, 0xc8, 0xff, 0xe2, 0xa0, 0x01, 0x0c, 0xd5, 0x0c, 0x16, 0x62, 0x4c, 0x10, 0x52, 0x4c, + 0x11, 0x08, 0x31, 0x08, 0x70, 0x48, 0x00, 0xb7, 0x74, 0x2a, 0x22, 0x00, 0x00, 0x32, 0x00, 0x04, + 0x20, 0x22, 0x34, 0x30, 0x34, 0x41, 0x2b, 0x33, 0x30, 0x30, 0x74, 0x45, 0xb2, 0x03, 0x48, 0x31, + 0x48, 0x74, 0x2c, 0x02, 0x42, 0x04, 0x00, 0x0c, 0x73, 0x40, 0x42, 0x34, 0x01, 0xeb, 0xfe, 0xc0, + 0x00, 0x00, 0x46, 0xe5, 0xff, 0xc7, 0x74, 0x18, 0x28, 0x31, 0x0c, 0x13, 0x05, 0xaa, 0x04, 0x06, + 0xe2, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x0c, 0x3d, 0x00, 0x05, 0xcf, 0xff, 0x0c, 0x0e, 0x46, 0x9e, + 0xff, 0x72, 0x0d, 0x0d, 0x92, 0x0c, 0x10, 0x0c, 0x18, 0x42, 0x00, 0x05, 0x0c, 0x05, 0x40, 0x60, + 0x54, 0x90, 0x58, 0x83, 0x77, 0x36, 0x5a, 0x38, 0x31, 0x2d, 0x0c, 0x0c, 0x24, 0xc5, 0xab, 0xff, + 0xc6, 0xd5, 0xff, 0xc7, 0x70, 0x29, 0xc0, 0x2c, 0x20, 0xf0, 0x3f, 0x20, 0x85, 0xbf, 0xff, 0x28, + 0xad, 0x0c, 0x23, 0x32, 0x4c, 0x11, 0x28, 0x52, 0x85, 0xf7, 0x05, 0x4d, 0x02, 0x28, 0xad, 0x16, + 0x64, 0x0c, 0x28, 0x72, 0x22, 0x02, 0x04, 0x20, 0x20, 0x34, 0x45, 0x99, 0x03, 0x06, 0x07, 0x00, + 0x2d, 0x0c, 0x3d, 0x0f, 0x05, 0xbd, 0xff, 0x32, 0x0c, 0x0b, 0x8c, 0x13, 0xf2, 0x4c, 0x0b, 0x2d, + 0x0c, 0x0c, 0x34, 0x38, 0xad, 0x42, 0x4c, 0x11, 0x0c, 0x14, 0x85, 0xaf, 0xff, 0x0c, 0x0e, 0x06, + 0xc2, 0xff, 0x62, 0x00, 0x06, 0x72, 0x0d, 0x0c, 0x80, 0x66, 0x11, 0x40, 0x66, 0x20, 0x60, 0x66, + 0x54, 0x77, 0x36, 0x0b, 0x38, 0x31, 0x2d, 0x0c, 0x0c, 0x34, 0x05, 0xa5, 0xff, 0x86, 0xba, 0xff, + 0x38, 0x31, 0x2d, 0x0c, 0x0c, 0x44, 0x45, 0xa4, 0xff, 0x86, 0xb7, 0xff, 0x62, 0x00, 0x04, 0x60, + 0x64, 0x41, 0x62, 0xc6, 0x01, 0x60, 0x60, 0x74, 0x45, 0xa5, 0x03, 0x42, 0x2d, 0x0a, 0x42, 0x24, + 0x07, 0x2c, 0x02, 0x42, 0x04, 0x00, 0x0c, 0x73, 0x40, 0x42, 0x34, 0x01, 0xb3, 0xfe, 0xc0, 0x00, + 0x00, 0x2d, 0x0c, 0x0c, 0x03, 0x05, 0xb6, 0xff, 0xe2, 0x4c, 0x11, 0x86, 0xe7, 0xff, 0x68, 0x70, + 0x2d, 0x0c, 0x68, 0x06, 0xed, 0x00, 0x60, 0x69, 0x05, 0x60, 0x35, 0x93, 0xc5, 0x1b, 0xff, 0x48, + 0x7e, 0x48, 0x04, 0xd7, 0x64, 0x18, 0xc7, 0xe4, 0x15, 0x2d, 0x0c, 0x85, 0xba, 0xff, 0x0c, 0x0e, + 0x46, 0xaf, 0xff, 0x49, 0x31, 0x2d, 0x0c, 0x05, 0xb4, 0xff, 0xed, 0x02, 0x46, 0xac, 0xff, 0x2d, + 0x0c, 0x45, 0xbc, 0xff, 0xed, 0x02, 0xc6, 0xa9, 0xff, 0x0c, 0x13, 0x45, 0xa1, 0x04, 0xc6, 0xd6, + 0xff, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xe0, 0x09, 0x01, 0xf9, 0x41, 0xe9, 0x31, 0xd9, 0x21, 0xc9, + 0x11, 0x21, 0xc5, 0xe4, 0xc0, 0x20, 0x00, 0xc2, 0x22, 0xb0, 0x0c, 0x1f, 0xc0, 0xc0, 0xb4, 0x16, + 0x7c, 0x04, 0x46, 0x07, 0x00, 0xd0, 0xe0, 0x74, 0xe0, 0x2e, 0x20, 0xc5, 0xf6, 0x06, 0xe0, 0x2e, + 0x20, 0x85, 0x04, 0x00, 0x02, 0xaf, 0xff, 0x00, 0x1d, 0x40, 0x00, 0xef, 0xa1, 0x00, 0xee, 0x30, + 0xe0, 0xcc, 0x10, 0xc0, 0xd0, 0x60, 0xc0, 0xdd, 0x10, 0xd0, 0xfd, 0x40, 0xd0, 0xd0, 0x60, 0xd2, + 0xcd, 0x1f, 0xd6, 0xfd, 0xfc, 0x01, 0x43, 0xea, 0xc0, 0x20, 0x00, 0xf1, 0xb3, 0xe4, 0xe2, 0x2f, + 0xb0, 0x00, 0xee, 0x10, 0xc0, 0x20, 0x00, 0xe2, 0x6f, 0xb0, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, + 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0xb6, 0x52, 0x11, 0x21, 0x23, 0xfc, 0x31, 0x23, 0xfc, 0x42, 0xa3, 0xe6, 0x01, 0x1c, 0xe3, + 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x01, 0x17, 0xfc, 0x20, 0x22, 0xb0, 0x00, 0x22, 0xa0, 0x38, + 0x02, 0xdc, 0x03, 0x21, 0x1b, 0xfc, 0x31, 0x1b, 0xfc, 0x42, 0xa3, 0xe8, 0x01, 0x15, 0xe3, 0xc0, + 0x00, 0x00, 0x06, 0xff, 0xff, 0x42, 0x02, 0x10, 0x26, 0x14, 0x11, 0x21, 0x15, 0xfc, 0x31, 0x15, + 0xfc, 0x42, 0xa3, 0xe9, 0x01, 0x0f, 0xe3, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x52, 0x23, 0x07, + 0x72, 0x13, 0x08, 0x52, 0x25, 0x00, 0x62, 0xa3, 0x00, 0x50, 0x56, 0x41, 0x67, 0x85, 0x13, 0x62, + 0xc0, 0xd0, 0x62, 0x16, 0x07, 0x77, 0xb6, 0x0a, 0x05, 0x2a, 0x00, 0x02, 0x21, 0x00, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x0c, 0x14, 0xc5, 0x00, 0x00, 0xc6, 0xfb, 0xff, 0x00, 0x0c, 0x02, 0x0d, 0xf0, + 0x00, 0x01, 0x40, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xc9, 0x11, 0xd9, 0x21, 0xcd, 0x02, 0xdd, + 0x03, 0xdc, 0x03, 0x21, 0xff, 0xfb, 0x31, 0xff, 0xfb, 0x42, 0xa4, 0x06, 0x01, 0xf9, 0xe2, 0xc0, + 0x00, 0x00, 0x06, 0xff, 0xff, 0x01, 0xee, 0xfb, 0x72, 0x02, 0x09, 0x22, 0x00, 0x0d, 0x3d, 0x07, + 0x27, 0xb7, 0x0a, 0x1b, 0x37, 0x32, 0x4c, 0x09, 0x22, 0x00, 0x0d, 0x30, 0x30, 0x74, 0x27, 0xb3, + 0x10, 0x22, 0x0c, 0x06, 0x52, 0x0c, 0x08, 0x1b, 0x62, 0x57, 0xb2, 0x0b, 0x62, 0x4c, 0x06, 0x46, + 0x01, 0x00, 0x72, 0x0c, 0x07, 0x72, 0x4c, 0x06, 0xb8, 0x7d, 0x82, 0x00, 0x00, 0x22, 0x0b, 0x05, + 0xa2, 0xa0, 0xc0, 0xa0, 0xa2, 0x10, 0x20, 0x20, 0x54, 0x1b, 0x22, 0x20, 0x20, 0x54, 0x20, 0xaa, + 0x20, 0xa2, 0x4b, 0x05, 0x92, 0x0c, 0x04, 0x97, 0x98, 0x28, 0x28, 0x7d, 0x72, 0x02, 0x04, 0xb2, + 0x02, 0x05, 0x70, 0x34, 0x41, 0x8c, 0x94, 0xb0, 0xb0, 0x54, 0xb7, 0xa3, 0x17, 0x48, 0x02, 0xc7, + 0xf4, 0x12, 0x70, 0x50, 0x34, 0x1b, 0x63, 0x60, 0x60, 0x34, 0xc0, 0x66, 0x11, 0x60, 0x55, 0x20, + 0x52, 0x42, 0x04, 0x28, 0x7d, 0x32, 0x0c, 0x10, 0x26, 0x23, 0x14, 0x26, 0x13, 0x11, 0x21, 0xd8, + 0xfb, 0x31, 0xd8, 0xfb, 0x42, 0xa4, 0x17, 0x01, 0xd2, 0xe2, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, + 0x05, 0xa9, 0x05, 0x01, 0xc7, 0xfb, 0x20, 0x72, 0x20, 0x22, 0x2d, 0x07, 0x56, 0x87, 0x01, 0x82, + 0x02, 0x05, 0x92, 0x00, 0x0d, 0x80, 0x80, 0x54, 0x97, 0xb8, 0x0c, 0x2d, 0x0d, 0xc5, 0xf1, 0xff, + 0x01, 0xc0, 0xfb, 0x16, 0xe2, 0x05, 0x28, 0x7d, 0x98, 0x02, 0xa1, 0xc5, 0xff, 0x90, 0x96, 0x41, + 0xa7, 0xc9, 0x2c, 0xb2, 0x1d, 0x08, 0x32, 0x02, 0x04, 0xa2, 0x10, 0x07, 0x30, 0x30, 0x34, 0xb7, + 0xba, 0x35, 0x1c, 0x00, 0x0c, 0x04, 0x00, 0x53, 0x20, 0x52, 0x42, 0x04, 0x3d, 0x0d, 0x2d, 0x0c, + 0x49, 0x0c, 0x85, 0x9c, 0xff, 0xc8, 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x72, 0x0c, 0x04, 0x0c, 0x68, 0x62, 0x00, 0x00, 0x82, 0x4c, 0x10, 0x77, 0x96, 0x0e, 0x2d, 0x0c, + 0x0c, 0x03, 0x45, 0xa0, 0xff, 0x06, 0xf7, 0xff, 0x3c, 0x00, 0x86, 0xf1, 0xff, 0x2d, 0x0c, 0xc5, + 0x83, 0xff, 0xc6, 0xf3, 0xff, 0xa2, 0x0c, 0x04, 0x92, 0x00, 0x00, 0xa7, 0x99, 0x1d, 0xb8, 0xa0, + 0xd7, 0x9b, 0x3d, 0x08, 0x7d, 0x08, 0x00, 0xc7, 0xf0, 0x36, 0xb7, 0xf0, 0x33, 0x77, 0xe0, 0x30, + 0x28, 0x0d, 0x87, 0x70, 0x1e, 0x08, 0x12, 0x4b, 0x00, 0x46, 0x06, 0x00, 0x22, 0x0c, 0x10, 0x26, + 0x12, 0x28, 0x21, 0xa7, 0xfb, 0x31, 0xa7, 0xfb, 0x42, 0xa4, 0x38, 0x01, 0xa1, 0xe2, 0xc0, 0x00, + 0x00, 0x06, 0xff, 0xff, 0x08, 0x12, 0x32, 0x00, 0x01, 0x0c, 0x84, 0x40, 0x33, 0x20, 0x32, 0x40, + 0x01, 0x2d, 0x0c, 0x0c, 0x13, 0x05, 0x9a, 0xff, 0x46, 0xde, 0xff, 0xc0, 0x2c, 0x20, 0x32, 0xa0, + 0x00, 0x52, 0xa0, 0x04, 0x52, 0x4c, 0x10, 0x85, 0x00, 0x00, 0xc6, 0xd9, 0xff, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x01, 0x02, 0x22, 0x00, 0xc9, 0x21, 0x68, 0x70, 0xcd, 0x02, 0x28, + 0x06, 0x0c, 0x04, 0x77, 0xf2, 0x21, 0x22, 0x0c, 0x0b, 0xbc, 0x63, 0x16, 0x22, 0x08, 0x22, 0x0c, + 0x04, 0x85, 0xb2, 0x06, 0x22, 0x0c, 0x04, 0x0c, 0x13, 0x0c, 0x04, 0x32, 0x4c, 0x10, 0x0c, 0x03, + 0x45, 0xa0, 0x06, 0x0c, 0x12, 0x46, 0x04, 0x00, 0x49, 0x0c, 0x42, 0x4c, 0x10, 0x8c, 0x70, 0x2d, + 0x0c, 0x0c, 0x14, 0x3d, 0x00, 0x85, 0x74, 0xff, 0x0c, 0x02, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x16, 0x12, 0x06, 0x60, 0x36, 0x20, 0x22, 0x20, 0x05, 0x52, 0x16, 0x03, 0x72, + 0x06, 0x08, 0x79, 0x01, 0x50, 0x57, 0x41, 0x52, 0x5c, 0x0a, 0x05, 0x45, 0x05, 0x28, 0x0c, 0x68, + 0x72, 0x98, 0x01, 0x82, 0x06, 0x08, 0x97, 0x18, 0x06, 0xc5, 0x5e, 0x04, 0x68, 0x0c, 0x68, 0x76, + 0xc0, 0x2c, 0x20, 0x72, 0x9c, 0x0a, 0x92, 0x16, 0x03, 0x82, 0x16, 0x05, 0x90, 0x97, 0x41, 0x90, + 0x88, 0xc0, 0x80, 0x77, 0x80, 0x72, 0x5c, 0x0a, 0x45, 0x4c, 0x00, 0x22, 0xa0, 0x01, 0x06, 0xea, + 0xff, 0xc0, 0x2c, 0x20, 0x32, 0xa0, 0x00, 0x05, 0x7c, 0xff, 0x22, 0x2c, 0x00, 0x32, 0x0c, 0x04, + 0x85, 0x33, 0x00, 0x0c, 0x02, 0x46, 0xe4, 0xff, 0xc0, 0x2c, 0x20, 0x32, 0xa0, 0x00, 0x85, 0x7a, + 0xff, 0x38, 0x0c, 0x28, 0x53, 0x38, 0x73, 0x45, 0x3f, 0x05, 0x28, 0x0c, 0x32, 0x0c, 0x04, 0xc5, + 0x31, 0x00, 0x0c, 0x02, 0x86, 0xdc, 0xff, 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x52, + 0x02, 0x0a, 0x09, 0x01, 0xc9, 0x11, 0xd9, 0x21, 0xd1, 0x52, 0xfb, 0xcd, 0x02, 0x02, 0x0d, 0x0c, + 0x2d, 0x05, 0x07, 0xb5, 0x0a, 0x1b, 0x25, 0x22, 0x4c, 0x0a, 0x02, 0x0d, 0x0c, 0x20, 0x20, 0x74, + 0x07, 0xb2, 0x10, 0x02, 0x0c, 0x06, 0x32, 0x0c, 0x08, 0x1b, 0x40, 0x37, 0xb0, 0x0b, 0x42, 0x4c, + 0x06, 0x46, 0x01, 0x00, 0x52, 0x0c, 0x07, 0x52, 0x4c, 0x06, 0x28, 0xad, 0x62, 0x0d, 0x00, 0x98, + 0x72, 0x81, 0xed, 0xff, 0xa2, 0x09, 0x06, 0xb2, 0x09, 0x05, 0x80, 0xaa, 0x11, 0xb0, 0xaa, 0x20, + 0x80, 0x8a, 0x10, 0xa0, 0xa6, 0x54, 0x1b, 0xaa, 0xa0, 0xa0, 0x54, 0xa0, 0xaa, 0x11, 0xa0, 0x88, + 0x20, 0x82, 0x49, 0x05, 0x80, 0x88, 0x41, 0x82, 0x49, 0x06, 0x72, 0x0c, 0x04, 0x77, 0x96, 0x18, + 0x08, 0x72, 0x32, 0x00, 0x04, 0x30, 0xb0, 0x34, 0x30, 0x34, 0x41, 0x1b, 0x33, 0x30, 0x30, 0x34, + 0xc0, 0x33, 0x11, 0x30, 0xbb, 0x20, 0xb2, 0x40, 0x04, 0x02, 0x0c, 0x10, 0x26, 0x20, 0x14, 0x26, + 0x10, 0x11, 0x21, 0x3b, 0xfb, 0x31, 0x3b, 0xfb, 0x42, 0xa4, 0x8a, 0x01, 0x35, 0xe2, 0xc0, 0x00, + 0x00, 0x06, 0xff, 0xff, 0x22, 0x22, 0x07, 0xc5, 0x81, 0x05, 0x56, 0xe2, 0x01, 0x22, 0x2d, 0x0a, + 0x68, 0x72, 0x52, 0x0d, 0x0c, 0x42, 0x06, 0x06, 0x62, 0x06, 0x05, 0x80, 0x44, 0x11, 0x60, 0x44, + 0x20, 0x40, 0x46, 0x54, 0x57, 0xb4, 0x04, 0x45, 0xca, 0xff, 0xac, 0x62, 0x82, 0x0c, 0x04, 0x0c, + 0x69, 0x72, 0x0d, 0x00, 0x92, 0x4c, 0x10, 0x87, 0x97, 0x09, 0x2d, 0x0c, 0x0c, 0x03, 0x85, 0x7c, + 0xff, 0x06, 0x01, 0x00, 0x2d, 0x0c, 0x45, 0x60, 0xff, 0xc8, 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0xb2, 0x0c, 0x04, 0xa2, 0x0d, 0x00, 0xb7, 0x9a, 0x2e, 0x28, 0xad, 0x08, + 0x72, 0x08, 0x00, 0xc7, 0xf0, 0x1b, 0x77, 0xe0, 0x18, 0x28, 0x02, 0x87, 0x70, 0x06, 0x08, 0x12, + 0x4b, 0x00, 0x46, 0x00, 0x00, 0x08, 0x12, 0x22, 0x00, 0x01, 0x0c, 0x83, 0x30, 0x22, 0x20, 0x22, + 0x40, 0x01, 0x2d, 0x0c, 0x0c, 0x13, 0x05, 0x78, 0xff, 0x06, 0xef, 0xff, 0x42, 0x0c, 0x10, 0x26, + 0x14, 0x11, 0x21, 0x13, 0xfb, 0x31, 0x13, 0xfb, 0x42, 0xa4, 0xa0, 0x01, 0x0d, 0xe2, 0xc0, 0x00, + 0x00, 0x06, 0xff, 0xff, 0x2d, 0x0c, 0x0c, 0x03, 0x0c, 0x45, 0x52, 0x4c, 0x10, 0x05, 0xdd, 0xff, + 0x46, 0xe5, 0xff, 0x00, 0x31, 0x04, 0xfb, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x20, 0x02, 0xb0, 0x30, + 0x20, 0xa0, 0x38, 0x02, 0xdc, 0x03, 0x21, 0x06, 0xfb, 0x31, 0x06, 0xfb, 0x42, 0xa4, 0xb6, 0x01, + 0x00, 0xe2, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x42, 0x02, 0x10, 0x26, 0x14, 0x11, 0x21, 0x00, + 0xfb, 0x31, 0x00, 0xfb, 0x42, 0xa4, 0xb7, 0x01, 0xfa, 0xe1, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, + 0x0c, 0x14, 0x05, 0xbe, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x05, 0xbb, 0xfe, 0xdc, 0x02, 0x21, 0xf6, 0xfa, 0x31, 0xf6, 0xfa, 0x42, 0xa4, 0xc8, 0x01, + 0xf0, 0xe1, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x41, 0xe6, 0xfa, 0x38, 0xa4, 0x22, 0x04, 0x00, + 0x52, 0x04, 0x00, 0x08, 0x73, 0x42, 0xc4, 0x30, 0x50, 0x22, 0xb0, 0x08, 0x00, 0x40, 0x22, 0xa0, + 0xe7, 0x60, 0x10, 0x0c, 0x06, 0x72, 0x02, 0x07, 0x72, 0x42, 0x06, 0x62, 0x42, 0x09, 0xc5, 0xe1, + 0xff, 0x06, 0x01, 0x00, 0x0c, 0x04, 0xc5, 0xb8, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x31, 0xd8, 0xfa, 0x22, 0x43, 0x00, 0x0d, 0xf0, 0xac, 0x86, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0xc9, 0x11, 0xd9, 0x21, 0xcd, 0x02, 0xdd, 0x03, 0x85, 0xb4, 0xfe, 0xdc, 0x02, 0x21, 0xdc, + 0xfa, 0x31, 0xdc, 0xfa, 0x42, 0xa4, 0xe5, 0x01, 0xd6, 0xe1, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, + 0x21, 0xcc, 0xfa, 0x02, 0x02, 0x00, 0x07, 0x1d, 0x11, 0x21, 0xd5, 0xfa, 0x31, 0xd6, 0xfa, 0x42, + 0xa4, 0xe6, 0x01, 0xcf, 0xe1, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x26, 0x1c, 0x3b, 0x26, 0x3c, + 0x38, 0x32, 0xa0, 0xc0, 0x37, 0x1c, 0x1c, 0x21, 0xec, 0xff, 0x3d, 0x0c, 0x01, 0xc9, 0xe1, 0xc0, + 0x00, 0x00, 0x21, 0xcb, 0xfa, 0x31, 0xcb, 0xfa, 0x42, 0xa4, 0xf7, 0x01, 0xc5, 0xe1, 0xc0, 0x00, + 0x00, 0x06, 0xff, 0xff, 0x0c, 0x03, 0x0c, 0x64, 0x22, 0xc2, 0x30, 0x00, 0x50, 0xb0, 0x20, 0x25, + 0xa0, 0x42, 0x42, 0x10, 0x05, 0x63, 0xff, 0x06, 0x01, 0x00, 0x2d, 0x0d, 0x45, 0xed, 0xff, 0xc8, + 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0xc0, 0x86, 0xfe, 0x3f, + 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xcd, 0x02, 0x85, 0xab, 0xfe, 0xdc, 0x02, 0x21, 0xb8, + 0xfa, 0x31, 0xb8, 0xfa, 0x42, 0xa5, 0x0a, 0x01, 0xb2, 0xe1, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, + 0x26, 0x1c, 0x44, 0x26, 0x3c, 0x41, 0x02, 0xa0, 0xc0, 0x07, 0x1c, 0x1c, 0x21, 0xf4, 0xff, 0x3d, + 0x0c, 0x01, 0xab, 0xe1, 0xc0, 0x00, 0x00, 0x21, 0xae, 0xfa, 0x31, 0xae, 0xfa, 0x42, 0xa5, 0x1b, + 0x01, 0xa8, 0xe1, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x0c, 0x03, 0x51, 0x9d, 0xfa, 0x0c, 0x64, + 0x22, 0x05, 0x00, 0x62, 0x05, 0x00, 0x52, 0xc5, 0x30, 0x60, 0x22, 0xb0, 0x50, 0x22, 0xa0, 0x42, + 0x42, 0x10, 0x45, 0x5b, 0xff, 0x86, 0x00, 0x00, 0x05, 0xea, 0xff, 0xc8, 0x11, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0xff, 0xef, 0xff, 0x03, 0x00, 0x0e, 0xf2, 0x3f, 0x12, 0xc1, 0xe0, 0xd9, + 0x41, 0xc9, 0x31, 0x09, 0x21, 0x01, 0x93, 0xfa, 0x30, 0xc3, 0xb0, 0x00, 0xcc, 0xa0, 0x02, 0x0c, + 0x10, 0xdd, 0x02, 0x9c, 0x60, 0x26, 0x30, 0x14, 0x26, 0x40, 0x34, 0x21, 0x95, 0xfa, 0x31, 0x95, + 0xfa, 0x42, 0xa5, 0xbb, 0x01, 0x8f, 0xe1, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x26, 0x40, 0x1f, + 0xd9, 0x0c, 0x32, 0xc0, 0xfd, 0x0c, 0x12, 0x0c, 0x00, 0x30, 0x02, 0x83, 0xec, 0xcd, 0x21, 0x8c, + 0xfa, 0x31, 0x8c, 0xfa, 0x42, 0xa5, 0xc6, 0x01, 0x86, 0xe1, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, + 0x48, 0x0c, 0x0c, 0x13, 0xd0, 0x44, 0xc0, 0x16, 0x04, 0x11, 0x21, 0x85, 0xfa, 0x31, 0x85, 0xfa, + 0x42, 0xa5, 0xbe, 0x01, 0x7f, 0xe1, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x92, 0xa1, 0x00, 0x81, + 0xe1, 0xff, 0x02, 0x61, 0x00, 0xa2, 0x1d, 0x08, 0x72, 0x2d, 0x07, 0x51, 0x71, 0xfa, 0x68, 0x07, + 0x52, 0x15, 0x07, 0x60, 0x26, 0x41, 0xa7, 0xb5, 0x22, 0x77, 0xe6, 0x1f, 0x90, 0xb2, 0x20, 0x60, + 0xa0, 0x54, 0xa0, 0xbb, 0x11, 0xb0, 0xaa, 0x20, 0xa0, 0x60, 0x54, 0xa0, 0xa6, 0x41, 0x80, 0xaa, + 0x10, 0xa0, 0xaa, 0x11, 0xa0, 0x66, 0x20, 0x69, 0x07, 0x60, 0x26, 0x41, 0xc7, 0x62, 0x5d, 0x02, + 0x0c, 0x10, 0x66, 0x30, 0x57, 0x32, 0x07, 0x04, 0x30, 0x34, 0x41, 0xa6, 0x33, 0x4e, 0x41, 0x0a, + 0xff, 0x60, 0xb0, 0x54, 0x52, 0x07, 0x05, 0x90, 0x02, 0x20, 0xa0, 0x00, 0x11, 0x50, 0x30, 0x54, + 0x00, 0xbb, 0x20, 0xb0, 0x06, 0x41, 0x80, 0x00, 0x10, 0xb0, 0xb0, 0x54, 0xa0, 0x00, 0x11, 0x00, + 0xbb, 0x20, 0x02, 0x07, 0x06, 0xa0, 0x33, 0x11, 0x80, 0x00, 0x11, 0x50, 0x00, 0x20, 0x40, 0x00, + 0x10, 0x30, 0x00, 0x20, 0x02, 0x47, 0x05, 0x00, 0x08, 0x41, 0x02, 0x47, 0x06, 0x58, 0x7d, 0xb9, + 0x07, 0x42, 0x05, 0x05, 0xa2, 0xa0, 0xc0, 0xa0, 0x44, 0x10, 0x42, 0x45, 0x05, 0x2d, 0x0c, 0x0c, + 0x03, 0x45, 0xa3, 0xfe, 0x21, 0xb9, 0xff, 0x42, 0x0c, 0x06, 0x0c, 0x13, 0x00, 0x14, 0x40, 0x00, + 0x33, 0xa1, 0x0b, 0x33, 0xc0, 0x20, 0x00, 0x22, 0x22, 0x11, 0x30, 0x22, 0x10, 0x29, 0x11, 0x05, + 0x5d, 0xf9, 0x38, 0x11, 0x0d, 0x02, 0x0c, 0x14, 0x42, 0x4c, 0x10, 0x22, 0x0c, 0x04, 0x30, 0x00, + 0x82, 0x26, 0x42, 0x0b, 0x32, 0x0c, 0x05, 0x00, 0x42, 0xf4, 0xc5, 0x4f, 0x06, 0x86, 0x03, 0x00, + 0x22, 0x2d, 0x07, 0x22, 0x02, 0x00, 0x32, 0x21, 0x00, 0x20, 0x21, 0x04, 0x05, 0xda, 0x05, 0xc2, + 0x21, 0x03, 0xd8, 0x41, 0x08, 0x21, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x39, 0x01, 0xc6, 0xe8, 0xff, + 0x32, 0xa0, 0x00, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0x02, 0x61, 0x00, 0xcd, 0x02, 0x85, 0x9c, + 0xfe, 0x22, 0x0c, 0x04, 0x0c, 0x03, 0x0c, 0x04, 0x0c, 0x10, 0x02, 0x4c, 0x10, 0x85, 0x4b, 0x06, + 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x02, + 0x61, 0x00, 0xd9, 0x21, 0xc9, 0x11, 0xdd, 0x03, 0xcd, 0x02, 0x45, 0x59, 0x03, 0x38, 0x7c, 0x08, + 0x03, 0x97, 0x60, 0x07, 0xc7, 0xf0, 0x04, 0x28, 0x5c, 0xc5, 0x81, 0x04, 0x0c, 0x52, 0xc5, 0xe9, + 0x03, 0xac, 0x8d, 0x28, 0x7c, 0x22, 0x02, 0x06, 0x20, 0x24, 0x24, 0xc5, 0x88, 0xfe, 0xdc, 0x02, + 0x21, 0x28, 0xfa, 0x31, 0x28, 0xfa, 0x42, 0xa6, 0x4f, 0x01, 0x21, 0xe1, 0xc0, 0x00, 0x00, 0x06, + 0xff, 0xff, 0x28, 0x7c, 0x22, 0x02, 0x06, 0x20, 0x24, 0x24, 0x45, 0x43, 0x02, 0xc8, 0x11, 0xd8, + 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x02, + 0x61, 0x00, 0x05, 0x5c, 0x03, 0x22, 0xa0, 0x06, 0x05, 0xe5, 0x03, 0x08, 0x01, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xcd, 0x02, 0x01, 0xbe, 0xe3, + 0xc0, 0x00, 0x00, 0x31, 0x4c, 0xe9, 0x21, 0x98, 0xe2, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x9d, 0x30, + 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x9d, 0x01, 0xb9, 0xe3, 0xc0, 0x00, 0x00, 0x1c, 0x02, + 0x01, 0x25, 0xe9, 0xc0, 0x00, 0x00, 0x01, 0xb4, 0xe3, 0xc0, 0x00, 0x00, 0x81, 0xfd, 0xf4, 0x6c, + 0x80, 0x51, 0x8d, 0xe2, 0xc0, 0x00, 0xd1, 0x5a, 0x00, 0xc0, 0x20, 0x00, 0x72, 0x20, 0xf1, 0x80, + 0x77, 0x10, 0xc0, 0x20, 0x00, 0x72, 0x60, 0xf1, 0x61, 0x2a, 0xf4, 0xc0, 0x20, 0x00, 0x42, 0x25, + 0x9d, 0x60, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x9d, 0x31, 0xf6, 0xf9, 0xc0, 0x2c, 0xb0, + 0x30, 0x22, 0xa0, 0x42, 0x02, 0x10, 0x66, 0x14, 0x02, 0x26, 0x4c, 0x38, 0xc0, 0x20, 0x00, 0x32, + 0x20, 0xf1, 0x61, 0x91, 0xe1, 0x96, 0xc3, 0x02, 0x08, 0x02, 0x0c, 0x0c, 0x16, 0xd0, 0x04, 0x38, + 0x70, 0x28, 0x03, 0x20, 0x06, 0x41, 0x20, 0x40, 0x54, 0x60, 0x50, 0x20, 0xa0, 0x55, 0x11, 0x50, + 0x44, 0x20, 0x49, 0x03, 0x01, 0x9a, 0xe3, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x08, 0x01, 0xc8, 0x11, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x81, 0x53, 0xe3, 0x0c, 0x06, 0xc0, 0x20, 0x00, 0x72, 0x20, 0xf1, + 0x80, 0x77, 0x10, 0xc0, 0x20, 0x00, 0xc8, 0x02, 0x72, 0x60, 0xf1, 0x62, 0x42, 0x10, 0x69, 0x02, + 0x16, 0x0c, 0xfd, 0x3d, 0x0c, 0x0c, 0x04, 0x85, 0x0b, 0xff, 0x86, 0xf1, 0xff, 0x01, 0xd4, 0xf9, + 0x08, 0xa0, 0x16, 0xe0, 0xfb, 0x38, 0x70, 0x42, 0x02, 0x04, 0x52, 0x03, 0x06, 0x28, 0x03, 0x50, + 0x54, 0x24, 0x57, 0x94, 0xae, 0x20, 0x06, 0x41, 0x86, 0xe6, 0xff, 0x00, 0xe0, 0x17, 0xff, 0x3f, + 0x22, 0xa0, 0x6a, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x01, 0x3c, 0xef, 0x32, 0xa0, 0x02, 0x02, + 0x20, 0x00, 0x0c, 0x84, 0x02, 0x20, 0x26, 0x0c, 0x05, 0xc0, 0x00, 0x00, 0x21, 0xf8, 0xff, 0x45, + 0xd4, 0xfc, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x22, + 0x61, 0x00, 0x21, 0xf2, 0xff, 0x02, 0x61, 0x01, 0x28, 0x12, 0xc5, 0xde, 0xfc, 0x01, 0xef, 0xff, + 0x02, 0x00, 0x30, 0x0c, 0x02, 0x07, 0x60, 0x0f, 0x28, 0x01, 0x85, 0xb4, 0xfc, 0x01, 0xeb, 0xff, + 0x0c, 0x82, 0x02, 0x00, 0x30, 0xc6, 0xff, 0xff, 0x17, 0x60, 0x04, 0x1c, 0x03, 0x30, 0x22, 0x20, + 0x27, 0x60, 0x04, 0x0c, 0x44, 0x40, 0x22, 0x20, 0x00, 0x33, 0x04, 0xc5, 0xbf, 0xfc, 0x08, 0x11, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x41, 0xe1, 0xff, 0x20, 0x32, 0x20, 0x12, 0xc1, + 0xf0, 0x22, 0xa0, 0x01, 0x09, 0x01, 0x42, 0x04, 0x30, 0x0c, 0x20, 0x40, 0x45, 0x04, 0x40, 0x20, + 0x93, 0x45, 0x3d, 0xfd, 0x01, 0x5e, 0xe3, 0xc0, 0x00, 0x00, 0x61, 0xdd, 0xdf, 0xc0, 0x20, 0x00, + 0x52, 0x26, 0x85, 0x0c, 0x17, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x85, 0x22, 0xa0, + 0xa0, 0x01, 0xa4, 0xe0, 0xc0, 0x00, 0x00, 0x05, 0x60, 0x01, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x61, 0xce, 0xff, 0x22, 0x06, 0x31, 0x51, 0x2b, 0xe2, 0x27, 0x62, 0x22, + 0xc0, 0x20, 0x00, 0x42, 0x06, 0x27, 0x52, 0x25, 0x80, 0x28, 0x56, 0x38, 0xb6, 0x50, 0x22, 0xc0, + 0x40, 0x33, 0x82, 0x27, 0x33, 0x0c, 0x82, 0x26, 0x10, 0x72, 0x16, 0x12, 0x8a, 0x77, 0x27, 0xb7, + 0x01, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0xc4, 0x18, 0xff, 0x3f, 0x68, 0x84, 0xfe, 0x3f, + 0xd0, 0x86, 0xfe, 0x3f, 0xd8, 0x86, 0xfe, 0x3f, 0x12, 0xc1, 0xe0, 0xe9, 0x41, 0xc9, 0x21, 0xd9, + 0x31, 0x09, 0x11, 0x01, 0xf9, 0xff, 0xdd, 0x02, 0x22, 0x00, 0x00, 0x0c, 0x1c, 0xcc, 0x42, 0xc2, + 0x40, 0x00, 0xc5, 0xed, 0xff, 0xe1, 0xb5, 0xff, 0x22, 0x2e, 0x10, 0x32, 0x2e, 0x01, 0x20, 0x2d, + 0xc0, 0x05, 0xa1, 0xfc, 0x41, 0x11, 0xe2, 0xc0, 0x20, 0x00, 0x32, 0xa1, 0x2c, 0x42, 0x24, 0x80, + 0x49, 0x01, 0x27, 0x33, 0x02, 0x06, 0x23, 0x00, 0x7c, 0xe7, 0x61, 0xb1, 0xdf, 0xc0, 0x20, 0x00, + 0x52, 0x26, 0x85, 0x70, 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x85, 0x5c, 0x02, 0x01, 0x79, + 0xe0, 0xc0, 0x00, 0x00, 0x0c, 0x28, 0x92, 0x0e, 0x30, 0x2d, 0x0c, 0x90, 0x95, 0x04, 0x90, 0x28, + 0x93, 0x45, 0x1c, 0xfd, 0x85, 0xe8, 0xff, 0xc0, 0x20, 0x00, 0x38, 0x1e, 0x51, 0xff, 0xe1, 0x28, + 0x01, 0x52, 0x25, 0x80, 0x42, 0x2e, 0x10, 0x50, 0x22, 0xc0, 0xda, 0x22, 0x40, 0x22, 0xc0, 0x45, + 0x9b, 0xfc, 0xdd, 0x02, 0x01, 0x1d, 0xe3, 0xc0, 0x00, 0x00, 0x72, 0xa1, 0xff, 0x61, 0xb4, 0xdf, + 0xc0, 0x20, 0x00, 0x62, 0x26, 0x6a, 0x22, 0xae, 0xd4, 0x77, 0x96, 0x3a, 0x2a, 0x2d, 0x72, 0xa3, + 0xe8, 0x27, 0xb7, 0x32, 0x45, 0xe7, 0xff, 0x32, 0x0e, 0x34, 0x42, 0x0e, 0x30, 0x26, 0x23, 0x3a, + 0x07, 0x64, 0x37, 0x21, 0xce, 0xff, 0x31, 0xce, 0xff, 0x42, 0xa0, 0xe4, 0x01, 0x61, 0xe0, 0xc0, + 0x00, 0x00, 0x06, 0xff, 0xff, 0x21, 0xcb, 0xff, 0x01, 0x5e, 0xe0, 0xc0, 0x00, 0x00, 0x01, 0x0b, + 0xe3, 0xc0, 0x00, 0x00, 0x06, 0x01, 0x00, 0x0c, 0x12, 0xc5, 0xe8, 0xff, 0x0c, 0x12, 0xc8, 0x21, + 0xd8, 0x31, 0xe8, 0x41, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x52, 0xa0, 0x03, 0x52, 0x4e, + 0x34, 0xc5, 0xc6, 0xfc, 0x2d, 0x0c, 0x81, 0x97, 0xdf, 0xc0, 0x20, 0x00, 0x82, 0x28, 0x47, 0x89, + 0x7e, 0xc0, 0x20, 0x00, 0x0c, 0x2d, 0x62, 0x0e, 0x30, 0x71, 0xd7, 0xe1, 0x60, 0x65, 0x04, 0x72, + 0x27, 0x80, 0x79, 0x8e, 0x60, 0x2d, 0x93, 0xc5, 0xce, 0xfc, 0xb2, 0xa0, 0xef, 0x92, 0x0e, 0x30, + 0x20, 0xa0, 0x04, 0xc0, 0xaa, 0x11, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0x92, 0x4e, 0x30, 0x90, + 0x95, 0x04, 0x90, 0xcd, 0x93, 0x2d, 0x0c, 0x05, 0xd3, 0xfc, 0x0c, 0x02, 0x86, 0xe7, 0xff, 0x00, + 0x64, 0x18, 0xff, 0x3f, 0xe8, 0x86, 0xfe, 0x3f, 0xdc, 0x89, 0x10, 0x40, 0x40, 0x2d, 0x00, 0x40, + 0xc0, 0x0d, 0x00, 0x40, 0x21, 0xfb, 0xff, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xfc, 0xff, 0xc0, + 0x00, 0x00, 0x51, 0x62, 0xff, 0x42, 0x05, 0x33, 0x02, 0x05, 0x31, 0x17, 0x64, 0x08, 0xc5, 0x13, + 0x01, 0x06, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x04, 0x07, 0xe0, 0x2f, 0x17, 0xe0, 0x2c, + 0x40, 0x54, 0x04, 0x01, 0x5a, 0xff, 0x22, 0xa0, 0x00, 0x42, 0x00, 0x34, 0x22, 0x40, 0x32, 0x50, + 0x42, 0x83, 0x21, 0xec, 0xff, 0x42, 0x40, 0x34, 0x01, 0x2a, 0xe0, 0xc0, 0x00, 0x00, 0x45, 0x5c, + 0xf8, 0x21, 0xe9, 0xff, 0x31, 0x52, 0xff, 0x01, 0xea, 0xff, 0xc0, 0x00, 0x00, 0x02, 0x21, 0x00, + 0x12, 0xc1, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x45, 0x5a, + 0xf8, 0x31, 0x4a, 0xff, 0x21, 0xe1, 0xff, 0x01, 0xe2, 0xff, 0xc0, 0x00, 0x00, 0x21, 0x47, 0xff, + 0x02, 0xa0, 0x02, 0x02, 0x42, 0x34, 0x02, 0x21, 0x00, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x3c, 0x18, 0xff, 0x3f, 0xf4, 0x86, 0xfe, 0x3f, 0x00, 0x90, 0x01, 0x00, 0x28, 0x18, 0xff, 0x3f, + 0xc4, 0x2c, 0x00, 0x40, 0x91, 0xfb, 0xff, 0x12, 0xc1, 0xe0, 0x09, 0x01, 0xf9, 0x41, 0xe9, 0x31, + 0xd9, 0x21, 0xc9, 0x11, 0xc2, 0xc9, 0xec, 0xd2, 0xc9, 0xa4, 0xe1, 0x97, 0xe1, 0xc0, 0x20, 0x00, + 0xe2, 0x2e, 0x80, 0x0c, 0x42, 0x02, 0x0d, 0x31, 0x22, 0x4d, 0x34, 0x00, 0x02, 0x04, 0x16, 0x10, + 0x09, 0x58, 0x4d, 0x38, 0xbd, 0xe0, 0xf5, 0xc0, 0xf7, 0xb3, 0x4c, 0x0c, 0x0c, 0x42, 0x0d, 0x27, + 0xf2, 0xa0, 0x64, 0x1b, 0xcc, 0x30, 0x64, 0x82, 0x59, 0x6d, 0x08, 0x5d, 0x5a, 0x53, 0x59, 0x4d, + 0x50, 0x20, 0xc0, 0x27, 0xb6, 0x03, 0x0a, 0x76, 0x79, 0x5d, 0xf7, 0x9c, 0x24, 0x21, 0xe5, 0xff, + 0x6d, 0x0e, 0x01, 0xfb, 0xdf, 0xc0, 0x00, 0x00, 0x91, 0xe2, 0xff, 0x58, 0x4d, 0xa1, 0xe2, 0xff, + 0x38, 0xbd, 0x42, 0x0d, 0x27, 0x0c, 0x1b, 0x40, 0x4b, 0x83, 0x42, 0x4d, 0x27, 0x30, 0x3a, 0x83, + 0x39, 0xbd, 0xe0, 0x85, 0xc0, 0x87, 0x33, 0xba, 0x90, 0x29, 0x20, 0xc1, 0xdc, 0xff, 0x01, 0xb3, + 0xff, 0xc0, 0x00, 0x00, 0xc0, 0x2c, 0x20, 0x01, 0xb1, 0xff, 0xc0, 0x00, 0x00, 0x32, 0xa3, 0xe8, + 0x42, 0x2d, 0x10, 0x52, 0x2d, 0x04, 0x22, 0x2d, 0x11, 0xe0, 0x55, 0xc0, 0x5a, 0x22, 0x40, 0x22, + 0xc0, 0x05, 0x81, 0x07, 0x3d, 0x02, 0x0c, 0x04, 0x2d, 0x0c, 0x01, 0xd1, 0xff, 0xc0, 0x00, 0x00, + 0x06, 0x07, 0x00, 0x2d, 0x09, 0x01, 0xa5, 0xff, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x01, 0xa3, 0xff, + 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x32, 0xa0, 0x69, 0x0c, 0x04, 0x01, 0xc9, 0xff, 0xc0, 0x00, 0x00, + 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, + 0x0c, 0x02, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x45, 0xd9, 0x00, 0x21, 0x00, 0xff, 0x0c, 0x60, 0x02, + 0x42, 0x34, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x21, + 0xfb, 0xfe, 0x02, 0x61, 0x00, 0x02, 0xa0, 0x00, 0x02, 0x42, 0x34, 0x85, 0xae, 0x01, 0x21, 0xf7, + 0xfe, 0x22, 0x02, 0x28, 0x85, 0x91, 0x06, 0x8c, 0x72, 0x31, 0xf4, 0xfe, 0x32, 0x03, 0x33, 0x27, + 0x63, 0x02, 0x05, 0xe3, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x22, 0xa0, 0x00, 0x32, + 0xa0, 0x00, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x01, 0x86, 0xff, 0xc0, 0x00, 0x00, 0x31, 0xeb, + 0xfe, 0x42, 0xa0, 0xfe, 0x02, 0x03, 0x33, 0x22, 0xc3, 0x48, 0x40, 0x00, 0x10, 0x02, 0x43, 0x33, + 0x01, 0x7f, 0xff, 0xc0, 0x00, 0x00, 0x21, 0xa2, 0xff, 0x01, 0x7c, 0xff, 0xc0, 0x00, 0x00, 0x01, + 0xe3, 0xfe, 0x32, 0x00, 0x31, 0x47, 0xe3, 0x22, 0x07, 0xe3, 0x1f, 0x0c, 0x06, 0x52, 0x00, 0x33, + 0x62, 0x40, 0x32, 0x47, 0x65, 0x0a, 0x0c, 0x77, 0x72, 0x40, 0x34, 0x85, 0xa7, 0x01, 0x86, 0x00, + 0x00, 0x85, 0xf7, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x45, 0xf5, 0xff, 0x86, 0xfc, + 0xff, 0x00, 0x00, 0x00, 0x1c, 0x87, 0xfe, 0x3f, 0xb8, 0x0b, 0x00, 0x00, 0x28, 0x23, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xd1, 0xfe, 0x02, 0x00, 0x33, 0x47, 0x60, 0x7a, 0x21, 0xf9, + 0xff, 0x71, 0xce, 0xfe, 0x61, 0x2d, 0xe1, 0x32, 0x07, 0x34, 0x42, 0x07, 0x30, 0x58, 0x37, 0x40, + 0x47, 0x41, 0x78, 0x27, 0xc0, 0x20, 0x00, 0x62, 0x26, 0x80, 0x70, 0x66, 0xc0, 0x01, 0x9c, 0xdf, + 0xc0, 0x00, 0x00, 0x52, 0xa0, 0xef, 0x32, 0xa0, 0xfe, 0x02, 0xa0, 0xfb, 0x81, 0xf0, 0xff, 0xa1, + 0xee, 0xff, 0x91, 0xc2, 0xfe, 0x0c, 0x06, 0x69, 0xb9, 0x62, 0x49, 0x27, 0x69, 0x69, 0x69, 0x49, + 0x69, 0x59, 0x69, 0x89, 0x62, 0x59, 0x1f, 0xa2, 0x69, 0x10, 0x82, 0x69, 0x11, 0x42, 0x09, 0x33, + 0xb2, 0x09, 0x31, 0x22, 0x09, 0x30, 0x00, 0xbb, 0x10, 0x30, 0x22, 0x10, 0x50, 0x44, 0x10, 0x42, + 0x49, 0x33, 0x22, 0x49, 0x30, 0x02, 0xa0, 0xf7, 0x00, 0xbb, 0x10, 0x02, 0x09, 0x34, 0xb2, 0x49, + 0x31, 0x26, 0x60, 0x04, 0x8c, 0x10, 0x45, 0xf0, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x12, 0xc1, 0xf0, 0x21, 0xae, 0xfe, 0x02, 0x61, 0x01, 0x02, 0x02, 0x33, 0x32, 0xa0, 0xfb, 0x30, + 0x00, 0x10, 0x02, 0x42, 0x33, 0x21, 0x3e, 0xff, 0x22, 0x61, 0x00, 0x01, 0x40, 0xff, 0xc0, 0x00, + 0x00, 0x41, 0xa6, 0xfe, 0x42, 0x04, 0x33, 0x47, 0xe4, 0x12, 0x45, 0x07, 0x05, 0x56, 0xc2, 0x00, + 0x28, 0x01, 0x32, 0xa1, 0xf4, 0x0c, 0x04, 0x01, 0x62, 0xff, 0xc0, 0x00, 0x00, 0x08, 0x11, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x0c, 0x43, 0x12, 0xc1, 0xf0, 0x21, 0x9c, 0xfe, 0x09, 0x01, 0x02, 0x02, + 0x33, 0x42, 0xa0, 0xfb, 0x40, 0x00, 0x10, 0x30, 0x00, 0x20, 0x02, 0x42, 0x33, 0x45, 0xcc, 0xff, + 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x34, 0x87, 0xfe, 0x3f, 0x18, 0x18, 0xff, 0x3f, + 0x12, 0xc1, 0xf0, 0xd2, 0x61, 0x03, 0xc2, 0x61, 0x02, 0x02, 0x61, 0x01, 0xcd, 0x02, 0x05, 0x0b, + 0x05, 0x29, 0x01, 0x16, 0x92, 0x08, 0x21, 0x22, 0xff, 0xd1, 0x8c, 0xfe, 0x1c, 0x03, 0x02, 0x0d, + 0x33, 0x42, 0xa0, 0xef, 0x40, 0x00, 0x10, 0x30, 0x00, 0x20, 0x02, 0x4d, 0x33, 0x01, 0x1f, 0xff, + 0xc0, 0x00, 0x00, 0x21, 0xf1, 0xff, 0x42, 0x0d, 0x30, 0x32, 0x0d, 0x34, 0x40, 0x47, 0x41, 0x01, + 0x58, 0xdf, 0xc0, 0x00, 0x00, 0x02, 0x0d, 0x34, 0x56, 0xf0, 0x05, 0x0c, 0x75, 0x52, 0x4d, 0x34, + 0x22, 0xa0, 0x00, 0x0c, 0x03, 0x01, 0x16, 0xff, 0xc0, 0x00, 0x00, 0x38, 0x01, 0x21, 0xe7, 0xff, + 0x42, 0x13, 0x10, 0xc2, 0x4d, 0x28, 0x42, 0x5d, 0x1f, 0x32, 0xc3, 0x1a, 0x0c, 0x64, 0x01, 0x7e, + 0xe1, 0xc0, 0x00, 0x00, 0x72, 0x0d, 0x30, 0x82, 0xa0, 0xfe, 0x80, 0x77, 0x10, 0x0c, 0x18, 0x80, + 0x77, 0x20, 0x72, 0x4d, 0x30, 0x61, 0xd0, 0xe0, 0xc0, 0x20, 0x00, 0x22, 0xa0, 0x69, 0x0c, 0x05, + 0x62, 0x26, 0x80, 0x69, 0x2d, 0x59, 0x3d, 0xc5, 0xd4, 0x00, 0x45, 0x09, 0x01, 0x45, 0x0b, 0x01, + 0xc8, 0x21, 0xd8, 0x31, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x26, 0x60, 0xa1, 0x92, 0x0d, + 0x30, 0x07, 0x69, 0x9b, 0x21, 0xa6, 0xfe, 0x31, 0xa6, 0xfe, 0x42, 0xa1, 0xee, 0x01, 0x38, 0xdf, + 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x00, 0x00, 0x31, 0x61, 0xfe, 0x22, 0x53, 0x1f, 0x0d, 0xf0, + 0x00, 0xa0, 0x0f, 0x00, 0x44, 0x87, 0xfe, 0x3f, 0x12, 0xc1, 0xd0, 0xc9, 0x51, 0xd9, 0x61, 0xf9, + 0x81, 0xe9, 0x71, 0x09, 0x41, 0xed, 0x03, 0x30, 0x04, 0xc0, 0xa6, 0xa0, 0x72, 0xf2, 0x13, 0x04, + 0xcb, 0x03, 0x60, 0xff, 0x11, 0x16, 0x7f, 0x06, 0x31, 0xf6, 0xff, 0xf7, 0x33, 0x61, 0x29, 0x01, + 0x00, 0x34, 0xc0, 0xa6, 0x23, 0x35, 0x0c, 0x0d, 0x72, 0x00, 0x01, 0x2b, 0x57, 0x57, 0x23, 0x4f, + 0x32, 0x00, 0x00, 0x2c, 0x08, 0x9c, 0x13, 0x66, 0x53, 0x12, 0x32, 0x00, 0x03, 0xdd, 0x00, 0xbc, + 0xd3, 0x62, 0x00, 0x02, 0x37, 0x36, 0x05, 0x46, 0x0d, 0x00, 0x77, 0x38, 0x32, 0xcc, 0xfd, 0x0a, + 0x07, 0x2b, 0x00, 0x00, 0x34, 0xc0, 0xe6, 0x23, 0xce, 0x46, 0x00, 0x00, 0x0c, 0x0d, 0x9c, 0xed, + 0xc1, 0x43, 0xfe, 0x72, 0xa0, 0xf7, 0x02, 0x0c, 0x31, 0x22, 0x0c, 0x27, 0x37, 0x60, 0x1f, 0x32, + 0x0d, 0x03, 0x37, 0x92, 0x04, 0x48, 0xbc, 0xf7, 0x14, 0x3c, 0x70, 0x50, 0x10, 0x52, 0x4c, 0x31, + 0xc8, 0x51, 0xd8, 0x61, 0xe8, 0x71, 0xf8, 0x81, 0x08, 0x41, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x27, + 0x60, 0x1e, 0x32, 0x0c, 0x27, 0x42, 0x0d, 0x03, 0x30, 0x64, 0xc0, 0x56, 0x26, 0x14, 0x88, 0xbc, + 0xf0, 0x88, 0xc0, 0x56, 0xa8, 0x13, 0x0c, 0x8a, 0x70, 0x90, 0x10, 0xa0, 0x99, 0x20, 0x92, 0x4c, + 0x31, 0x32, 0x0d, 0x03, 0x02, 0x0c, 0x31, 0xf9, 0xbc, 0x32, 0x4c, 0x27, 0xb2, 0xa0, 0xfb, 0x21, + 0xeb, 0xfe, 0xb0, 0xb0, 0x10, 0x0c, 0x40, 0x00, 0xbb, 0x20, 0xb2, 0x4c, 0x31, 0x01, 0xbf, 0xfe, + 0xc0, 0x00, 0x00, 0x0c, 0x00, 0xf2, 0x1c, 0x57, 0x02, 0x5c, 0x56, 0x1b, 0xff, 0xf2, 0x5c, 0x57, + 0x32, 0x0d, 0x02, 0xf8, 0xbc, 0xcc, 0x93, 0x02, 0x0d, 0x03, 0x00, 0x0f, 0x82, 0x09, 0x11, 0x46, + 0x01, 0x00, 0xf0, 0x23, 0x82, 0x22, 0x61, 0x01, 0x28, 0x1e, 0xf0, 0x3a, 0x41, 0x39, 0x21, 0x05, + 0x48, 0x07, 0xa0, 0x22, 0x01, 0x38, 0x21, 0x85, 0x47, 0x07, 0x60, 0x32, 0x11, 0x39, 0x31, 0x28, + 0x0e, 0x3d, 0x0f, 0xc5, 0x46, 0x07, 0x38, 0x31, 0x08, 0x11, 0x2a, 0x33, 0x4d, 0x03, 0xf7, 0x33, + 0x02, 0xf0, 0x43, 0xc0, 0x0c, 0x13, 0xb8, 0x01, 0x92, 0xa0, 0xfe, 0xb8, 0x7b, 0x22, 0x1c, 0x1f, + 0xb8, 0x1b, 0x20, 0x50, 0xd4, 0x40, 0xbb, 0xc0, 0xb9, 0x6c, 0xba, 0xa0, 0xa9, 0x5c, 0xfa, 0xbb, + 0xb9, 0x4c, 0x72, 0x0d, 0x04, 0x82, 0x0d, 0x01, 0x90, 0x07, 0x10, 0x0a, 0x88, 0x70, 0x70, 0x04, + 0x72, 0x4c, 0x36, 0x82, 0xc8, 0xfc, 0x80, 0x80, 0x74, 0x9c, 0xd5, 0x20, 0x43, 0xa4, 0x07, 0x34, + 0x16, 0x47, 0x38, 0x13, 0x20, 0xf0, 0x24, 0x00, 0xed, 0xc0, 0xea, 0xe4, 0xe2, 0x0e, 0x05, 0x00, + 0x0f, 0x40, 0xe0, 0xe0, 0xb1, 0x07, 0xee, 0x01, 0x0c, 0x03, 0x0c, 0x10, 0x30, 0x20, 0x74, 0x22, + 0x4c, 0x37, 0xcc, 0x37, 0x0c, 0x0f, 0x20, 0x0f, 0x83, 0x00, 0x20, 0x74, 0x56, 0xc2, 0x04, 0x32, + 0x0d, 0x03, 0x02, 0x0c, 0x26, 0x30, 0x30, 0xc1, 0xa6, 0xb3, 0x06, 0x0c, 0x12, 0x0c, 0x00, 0x02, + 0x4c, 0x26, 0x1b, 0x30, 0x02, 0x0c, 0x34, 0x32, 0x4c, 0x26, 0x16, 0x20, 0xed, 0x26, 0x10, 0x3c, + 0x26, 0x20, 0x4e, 0x42, 0xc0, 0xfd, 0x16, 0x64, 0xec, 0x26, 0x40, 0x61, 0x26, 0x50, 0x66, 0x52, + 0xc0, 0xfa, 0x16, 0xa5, 0xeb, 0x62, 0xc0, 0xf9, 0x56, 0x46, 0xeb, 0x56, 0x12, 0xeb, 0xc5, 0xc0, + 0x00, 0x16, 0xb2, 0xea, 0xc5, 0xec, 0x00, 0x46, 0xa9, 0xff, 0x00, 0x00, 0x0c, 0x03, 0x86, 0xf0, + 0xff, 0x21, 0x84, 0xff, 0x01, 0xb7, 0xde, 0xc0, 0x00, 0x00, 0xc6, 0xb0, 0xff, 0x16, 0xf2, 0xe8, + 0x02, 0x0c, 0x31, 0x47, 0xe0, 0x05, 0x00, 0x70, 0x04, 0x16, 0x37, 0xe8, 0x05, 0xb6, 0xff, 0x46, + 0x9f, 0xff, 0x16, 0xa2, 0xe7, 0x0c, 0x02, 0x0c, 0x03, 0x01, 0x71, 0xfe, 0xc0, 0x00, 0x00, 0x82, + 0x0c, 0x31, 0x80, 0x84, 0x04, 0x16, 0x78, 0xe6, 0x45, 0xb4, 0xff, 0x46, 0x98, 0xff, 0x9c, 0xe2, + 0xc5, 0xb3, 0xff, 0x46, 0x96, 0xff, 0xbc, 0x22, 0x21, 0x8e, 0xfe, 0x01, 0x68, 0xfe, 0xc0, 0x00, + 0x00, 0x92, 0x0c, 0x31, 0x90, 0x94, 0x04, 0x16, 0x59, 0xe4, 0x45, 0xb2, 0xff, 0xc6, 0x8f, 0xff, + 0xa2, 0x0c, 0x31, 0x47, 0xea, 0x0f, 0x0c, 0x12, 0x05, 0x8b, 0x00, 0x0c, 0x1b, 0xb2, 0x4c, 0x34, + 0x06, 0x8b, 0xff, 0x00, 0x00, 0x00, 0x05, 0x9e, 0xff, 0xc6, 0x88, 0xff, 0xd2, 0x0c, 0x35, 0xd2, + 0xcd, 0xf8, 0x56, 0xad, 0xe1, 0x05, 0x9d, 0xff, 0x06, 0x85, 0xff, 0x00, 0x51, 0xc0, 0xfd, 0x48, + 0x35, 0x2a, 0x44, 0x49, 0x35, 0x41, 0x1c, 0xe0, 0xc0, 0x20, 0x00, 0x32, 0x24, 0x80, 0x2a, 0x33, + 0xc0, 0x20, 0x00, 0x32, 0x64, 0x80, 0x0d, 0xf0, 0x12, 0xc1, 0xe0, 0x09, 0x21, 0xc9, 0x31, 0xd9, + 0x41, 0xcd, 0x02, 0xd1, 0xb6, 0xfd, 0x26, 0x22, 0x10, 0x26, 0x42, 0x05, 0x26, 0x82, 0x7b, 0x66, + 0xb2, 0x3d, 0x02, 0x2d, 0x2c, 0x1b, 0x00, 0x02, 0x6d, 0x2c, 0x32, 0x2d, 0x2d, 0x22, 0x0d, 0x33, + 0x1b, 0x33, 0x32, 0x6d, 0x2d, 0x47, 0x62, 0x27, 0x21, 0x6a, 0xfe, 0x29, 0x11, 0x01, 0x43, 0xfe, + 0xc0, 0x00, 0x00, 0x28, 0x11, 0x52, 0xa0, 0xfe, 0x42, 0x0d, 0x33, 0x0c, 0xa3, 0x50, 0x44, 0x10, + 0x0c, 0x15, 0x50, 0x44, 0x20, 0x42, 0x4d, 0x33, 0x0c, 0x04, 0x01, 0x65, 0xfe, 0xc0, 0x00, 0x00, + 0x0c, 0x02, 0x45, 0x70, 0xff, 0x62, 0x0d, 0x34, 0xc2, 0x4d, 0x35, 0x26, 0x36, 0x11, 0x21, 0xdf, + 0xfd, 0x31, 0xdf, 0xfd, 0x42, 0xa3, 0x13, 0x01, 0x72, 0xde, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, + 0x08, 0x21, 0xc8, 0x31, 0x0c, 0x58, 0x92, 0x0d, 0x33, 0x0c, 0x07, 0x90, 0x94, 0x04, 0x90, 0x78, + 0x93, 0x72, 0x4d, 0x34, 0xd8, 0x41, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x22, 0xcd, 0x48, 0x22, 0x61, + 0x00, 0x01, 0x2a, 0xfe, 0xc0, 0x00, 0x00, 0x32, 0xa3, 0xe8, 0x22, 0x2d, 0x11, 0x45, 0x20, 0x07, + 0x20, 0x32, 0x20, 0x42, 0xa0, 0x00, 0x28, 0x01, 0x01, 0x4e, 0xfe, 0xc0, 0x00, 0x00, 0x86, 0xe7, + 0xff, 0x00, 0x00, 0x00, 0x54, 0x87, 0xfe, 0x3f, 0x40, 0x42, 0x0f, 0x00, 0x12, 0xc1, 0xf0, 0xc2, + 0x61, 0x01, 0xd2, 0x61, 0x02, 0xe2, 0x61, 0x03, 0x09, 0x01, 0x01, 0x08, 0xe1, 0xc0, 0x00, 0x00, + 0xc1, 0x83, 0xfd, 0xd1, 0x9c, 0xdd, 0x32, 0x0c, 0x34, 0xe1, 0x9d, 0xdd, 0x66, 0x23, 0x0e, 0x42, + 0x0c, 0x31, 0x47, 0x64, 0x08, 0x52, 0x0c, 0x30, 0x50, 0x57, 0x41, 0x16, 0x25, 0x05, 0x02, 0x0c, + 0x33, 0x47, 0x60, 0x4f, 0x21, 0xf0, 0xff, 0x42, 0x0c, 0x30, 0x52, 0x0c, 0x31, 0x40, 0x47, 0x41, + 0x50, 0x54, 0x04, 0x01, 0x4b, 0xde, 0xc0, 0x00, 0x00, 0x22, 0x0c, 0x28, 0x05, 0x31, 0x06, 0x56, + 0xa2, 0x0d, 0x21, 0x2f, 0xfe, 0x0c, 0x26, 0x62, 0x4c, 0x34, 0x01, 0x08, 0xfe, 0xc0, 0x00, 0x00, + 0x21, 0x2f, 0xfe, 0x01, 0x06, 0xfe, 0xc0, 0x00, 0x00, 0x82, 0x0c, 0x30, 0x92, 0xa0, 0xfe, 0x90, + 0x88, 0x10, 0x82, 0x4c, 0x30, 0xc0, 0x20, 0x00, 0x72, 0xa1, 0xff, 0x72, 0x6e, 0x6a, 0xc6, 0x30, + 0x00, 0x02, 0x0c, 0x33, 0x66, 0x23, 0x0d, 0xa2, 0x0c, 0x31, 0x47, 0x6a, 0x07, 0xb2, 0x0c, 0x30, + 0xb0, 0xb7, 0x41, 0x9c, 0x3b, 0x47, 0x60, 0x11, 0x21, 0xa1, 0xfd, 0x31, 0xa1, 0xfd, 0x42, 0xa3, + 0x2c, 0x01, 0x33, 0xde, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x07, 0xe0, 0x60, 0x17, 0xe0, 0x5d, + 0x85, 0x16, 0xf8, 0x16, 0xb2, 0x00, 0x32, 0x0c, 0x30, 0x67, 0xe3, 0x05, 0x05, 0xbb, 0x00, 0x16, + 0xb2, 0x04, 0x22, 0xa0, 0x01, 0x85, 0x55, 0x01, 0x26, 0x12, 0x42, 0x01, 0xd7, 0xe0, 0xc0, 0x00, + 0x00, 0xc0, 0x20, 0x00, 0x52, 0x2e, 0x6a, 0x62, 0xa1, 0xff, 0x67, 0x15, 0x61, 0x72, 0x0c, 0x30, + 0x17, 0x67, 0x52, 0x45, 0xb8, 0x00, 0x56, 0xc2, 0x04, 0x22, 0xa0, 0x14, 0x45, 0x2c, 0xf8, 0xc0, + 0x20, 0x00, 0x92, 0xa1, 0xff, 0x92, 0x6e, 0x6a, 0x01, 0xcd, 0xe0, 0xc0, 0x00, 0x00, 0x06, 0x03, + 0x00, 0x05, 0x82, 0xff, 0x0c, 0x02, 0x0c, 0x03, 0x01, 0xde, 0xfd, 0xc0, 0x00, 0x00, 0x01, 0xc6, + 0xe0, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0xa8, 0x9d, 0x5b, 0xaa, 0xc0, 0x20, 0x00, 0xc8, 0x11, + 0xa9, 0xcd, 0xe8, 0x31, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x32, 0x0c, 0x34, + 0x02, 0x0c, 0x33, 0x46, 0xd3, 0xff, 0xc0, 0x20, 0x00, 0xb2, 0xa1, 0xff, 0xb2, 0x6e, 0x6a, 0x01, + 0xbb, 0xe0, 0xc0, 0x00, 0x00, 0x0c, 0x0e, 0x02, 0x0c, 0x30, 0x21, 0xab, 0xff, 0x00, 0x30, 0x04, + 0x30, 0x2e, 0x93, 0x07, 0x60, 0x05, 0xc5, 0x58, 0xff, 0x16, 0x42, 0xfa, 0x85, 0x5c, 0xff, 0x8c, + 0x42, 0x05, 0x7c, 0xff, 0x06, 0xe7, 0xff, 0x42, 0x2c, 0x07, 0xc0, 0x20, 0x00, 0x22, 0x2d, 0x47, + 0x32, 0x2c, 0x01, 0x40, 0x22, 0xc0, 0x45, 0x03, 0xfc, 0x31, 0x87, 0xdf, 0xc0, 0x20, 0x00, 0x42, + 0x2c, 0x08, 0x32, 0x23, 0x80, 0x4a, 0x22, 0x30, 0x22, 0xc0, 0x05, 0xd9, 0xff, 0x42, 0x0c, 0x30, + 0x47, 0x64, 0x04, 0x0c, 0x22, 0x06, 0x0c, 0x00, 0xc0, 0x20, 0x00, 0x02, 0x2d, 0x4a, 0x07, 0x60, + 0x0b, 0xc0, 0x20, 0x00, 0x22, 0x2d, 0x46, 0x20, 0x28, 0x54, 0x46, 0x02, 0x00, 0x00, 0x41, 0x04, + 0x0c, 0x23, 0x40, 0xe3, 0x93, 0x2d, 0x0e, 0x1c, 0x05, 0x20, 0x82, 0x04, 0x0c, 0x47, 0x80, 0x27, + 0x93, 0x0b, 0x62, 0x60, 0x62, 0x10, 0x60, 0x25, 0x93, 0xc5, 0xd6, 0xff, 0x06, 0xcd, 0xff, 0x00, + 0x60, 0x87, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x10, 0xfd, 0x32, 0x00, 0x34, 0x22, + 0x00, 0x33, 0x66, 0x63, 0x10, 0x47, 0x62, 0x1d, 0x0c, 0x73, 0x32, 0x40, 0x34, 0x45, 0x33, 0x01, + 0xc6, 0x02, 0x00, 0x00, 0x00, 0x00, 0x21, 0xf6, 0xff, 0x01, 0xdd, 0xdd, 0xc0, 0x00, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x45, 0x82, 0xff, 0x86, 0xfc, 0xff, 0x50, 0x18, 0xff, 0x3f, + 0xc5, 0x18, 0xff, 0x3f, 0x38, 0x84, 0xfe, 0x3f, 0x68, 0x87, 0xfe, 0x3f, 0xaf, 0x36, 0x00, 0x00, + 0x70, 0x87, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0xd2, 0x61, 0x03, 0xc2, 0x61, 0x02, 0x02, 0x61, 0x01, + 0xcd, 0x02, 0x21, 0xf6, 0xff, 0x01, 0x91, 0xfd, 0xc0, 0x00, 0x00, 0xd1, 0xf8, 0xfc, 0x32, 0xa0, + 0xfe, 0x02, 0x0d, 0x34, 0x22, 0x0d, 0x31, 0x16, 0xf0, 0x03, 0x30, 0x22, 0x10, 0x42, 0x0d, 0x30, + 0x22, 0x4d, 0x31, 0x40, 0x40, 0x64, 0x42, 0x4d, 0x30, 0x38, 0x7c, 0x01, 0xed, 0xff, 0x32, 0x03, + 0x0f, 0x0c, 0x0c, 0x26, 0x13, 0x2e, 0x85, 0x3b, 0x06, 0x52, 0x0d, 0x32, 0x02, 0x0d, 0x33, 0x66, + 0x25, 0x08, 0xc2, 0x4d, 0x32, 0x85, 0x79, 0xff, 0x86, 0x03, 0x00, 0x0c, 0x13, 0x47, 0x60, 0x06, + 0x29, 0x01, 0x17, 0x60, 0x59, 0xcd, 0x03, 0xc2, 0x4d, 0x32, 0xc8, 0x21, 0xd8, 0x31, 0x08, 0x11, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0xc2, 0x40, 0x00, 0x62, 0x0d, 0x32, 0x1c, 0x08, 0x72, 0xa0, 0xef, + 0x70, 0x72, 0x10, 0x80, 0x77, 0x20, 0x72, 0x4d, 0x31, 0x66, 0x26, 0x08, 0xc2, 0x4d, 0x32, 0x05, + 0x76, 0xff, 0x06, 0xf5, 0xff, 0x21, 0xd7, 0xff, 0x01, 0xae, 0xdd, 0xc0, 0x00, 0x00, 0x32, 0x0d, + 0x34, 0xc2, 0x4d, 0x32, 0x66, 0x13, 0x0b, 0xc5, 0x41, 0xff, 0x16, 0x02, 0x06, 0x85, 0x61, 0xff, + 0x86, 0xed, 0xff, 0x21, 0xd1, 0xff, 0x01, 0xa6, 0xdd, 0xc0, 0x00, 0x00, 0x86, 0xea, 0xff, 0x45, + 0x40, 0xff, 0x81, 0xce, 0xff, 0x27, 0x38, 0x08, 0xc2, 0x4d, 0x32, 0x85, 0x63, 0xff, 0x06, 0xe6, + 0xff, 0xc1, 0xc7, 0xff, 0x21, 0xcb, 0xff, 0x32, 0x21, 0x00, 0x41, 0x27, 0xdf, 0x32, 0x03, 0x06, + 0xc0, 0x20, 0x00, 0x42, 0x24, 0xa1, 0x01, 0x9a, 0xdd, 0xc0, 0x00, 0x00, 0x42, 0x0c, 0x00, 0x22, + 0xa0, 0x0e, 0x02, 0xc4, 0x01, 0x47, 0x32, 0x0a, 0x0c, 0x12, 0x02, 0x4c, 0x00, 0xc5, 0x48, 0x00, + 0x86, 0xd9, 0xff, 0x22, 0x4c, 0x00, 0x0c, 0x12, 0x05, 0x48, 0x00, 0xc6, 0xd6, 0xff, 0x0c, 0x02, + 0x0c, 0x03, 0x01, 0x53, 0xfd, 0xc0, 0x00, 0x00, 0x85, 0x5e, 0xff, 0xc6, 0xd2, 0xff, 0x00, 0x00, + 0xc6, 0x18, 0xff, 0x3f, 0x98, 0x87, 0xfe, 0x3f, 0x84, 0x87, 0xfe, 0x3f, 0x4d, 0x02, 0x12, 0xc1, + 0xf0, 0xc9, 0x21, 0x21, 0xae, 0xff, 0x09, 0x11, 0x49, 0x01, 0x01, 0x48, 0xfd, 0xc0, 0x00, 0x00, + 0xc1, 0xaf, 0xfc, 0x0c, 0x12, 0x02, 0x0c, 0x34, 0x72, 0x0c, 0x30, 0x16, 0xb0, 0x04, 0x08, 0x01, + 0x62, 0xa0, 0xfd, 0x52, 0x0c, 0x31, 0x41, 0xf2, 0xff, 0x70, 0x70, 0x64, 0x72, 0x4c, 0x30, 0x32, + 0x04, 0x00, 0x60, 0x55, 0x10, 0x52, 0x4c, 0x31, 0x08, 0x70, 0xb6, 0xb3, 0x05, 0x22, 0x40, 0x0f, + 0x86, 0x00, 0x00, 0x22, 0x00, 0x0f, 0x0c, 0x00, 0x26, 0x12, 0x27, 0x45, 0x28, 0x06, 0x82, 0x0c, + 0x32, 0xa2, 0x0c, 0x33, 0x66, 0x18, 0x0a, 0x0c, 0x09, 0x92, 0x4c, 0x32, 0x86, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x17, 0x6a, 0x3c, 0x0c, 0x20, 0x02, 0x4c, 0x32, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x02, 0x44, 0x00, 0xb2, 0x0c, 0x32, 0x22, 0x0c, 0x31, 0x32, 0xa0, 0xef, 0x30, + 0x22, 0x10, 0x22, 0x4c, 0x31, 0x66, 0x1b, 0x05, 0x42, 0x0c, 0x33, 0x47, 0xe4, 0xd8, 0x21, 0xd9, + 0xff, 0x01, 0x63, 0xdd, 0xc0, 0x00, 0x00, 0x0c, 0x05, 0x52, 0x4c, 0x32, 0x45, 0xde, 0xff, 0xc6, + 0xf1, 0xff, 0x32, 0x02, 0x06, 0x41, 0xe8, 0xde, 0x21, 0xd4, 0xff, 0xc0, 0x20, 0x00, 0x42, 0x24, + 0xa1, 0x01, 0x5b, 0xdd, 0xc0, 0x00, 0x00, 0x22, 0x0c, 0x28, 0x45, 0xf5, 0x05, 0x16, 0x22, 0x03, + 0x52, 0x0c, 0x33, 0x27, 0xe5, 0x2c, 0x22, 0x0c, 0x28, 0x31, 0xec, 0xfd, 0x05, 0x8a, 0x04, 0x56, + 0xa2, 0x00, 0x0c, 0x06, 0x62, 0x4c, 0x32, 0xc5, 0xda, 0xff, 0x06, 0xe3, 0xff, 0x81, 0xc4, 0xff, + 0x72, 0x08, 0x00, 0x0c, 0x02, 0x1b, 0x77, 0x72, 0x48, 0x00, 0x05, 0x37, 0x00, 0x46, 0xde, 0xff, + 0x00, 0x00, 0x00, 0x05, 0x44, 0xff, 0x06, 0xdc, 0xff, 0x00, 0x00, 0x00, 0x3c, 0x0f, 0x00, 0x00, + 0xb4, 0x2d, 0x00, 0x00, 0x1b, 0x0c, 0x00, 0x00, 0xcb, 0x10, 0x00, 0x00, 0x20, 0x32, 0x20, 0x12, + 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0xd2, 0x61, 0x02, 0xc1, 0x6d, 0xfc, 0x09, 0x01, 0xd2, 0x1c, 0x56, + 0x29, 0x31, 0x1b, 0xdd, 0xd0, 0xd0, 0xf4, 0xd2, 0x5c, 0x56, 0x16, 0x6d, 0x05, 0x22, 0x1c, 0x57, + 0x3d, 0x0d, 0x05, 0xd6, 0x06, 0x38, 0x31, 0x20, 0x20, 0xf4, 0x0c, 0xa0, 0x27, 0x30, 0x1f, 0x02, + 0x2c, 0x10, 0x41, 0xee, 0xff, 0x61, 0xee, 0xff, 0x07, 0x34, 0x05, 0x52, 0xc0, 0x64, 0x52, 0x6c, + 0x10, 0x02, 0x2c, 0x11, 0x72, 0xa1, 0x2c, 0x07, 0x36, 0x04, 0x7a, 0x70, 0x72, 0x6c, 0x11, 0x1c, + 0x38, 0x27, 0xb8, 0x1f, 0x02, 0x2c, 0x10, 0x91, 0xe7, 0xff, 0xb1, 0xe7, 0xff, 0x07, 0xb9, 0x05, + 0xa2, 0xc0, 0x9c, 0xa2, 0x6c, 0x10, 0x02, 0x2c, 0x11, 0x22, 0xae, 0xd4, 0x07, 0xbb, 0x04, 0x2a, + 0x20, 0x22, 0x6c, 0x11, 0x0c, 0x04, 0x42, 0x5c, 0x57, 0x8c, 0x6d, 0x8c, 0x73, 0xc5, 0x57, 0xff, + 0x86, 0x00, 0x00, 0x05, 0x44, 0xff, 0xc8, 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x21, 0xa7, 0xde, 0x31, 0x48, 0xfc, 0xc0, + 0x20, 0x00, 0x02, 0x03, 0x34, 0x22, 0x22, 0x80, 0x66, 0x50, 0x05, 0x42, 0x03, 0x35, 0x26, 0x84, + 0x02, 0x66, 0x40, 0x04, 0x0c, 0x12, 0x45, 0xf4, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x42, 0xa0, 0xfe, 0x21, 0x3e, 0xfc, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x32, 0x02, 0x33, 0x02, 0x02, + 0x34, 0x40, 0x33, 0x10, 0x32, 0x42, 0x33, 0x26, 0x50, 0x11, 0x21, 0x78, 0xfc, 0x31, 0x78, 0xfc, + 0x42, 0xa4, 0x99, 0x01, 0x0b, 0xdd, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x52, 0x02, 0x31, 0x62, + 0x02, 0x30, 0x47, 0x65, 0x1c, 0x60, 0x67, 0x41, 0xdc, 0x66, 0x85, 0x18, 0xff, 0x8c, 0x42, 0x85, + 0x38, 0xff, 0x06, 0x03, 0x00, 0x0c, 0x02, 0x0c, 0x03, 0x01, 0xc5, 0xfc, 0xc0, 0x00, 0x00, 0x45, + 0x3b, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x9c, 0x87, 0xfe, 0x3f, + 0xb8, 0x87, 0xfe, 0x3f, 0xe8, 0x84, 0xfe, 0x3f, 0x12, 0xc1, 0xe0, 0xc2, 0x61, 0x02, 0xd2, 0x61, + 0x03, 0xe2, 0x61, 0x04, 0x09, 0x11, 0x85, 0x08, 0x06, 0x29, 0x01, 0xc1, 0x7f, 0xde, 0xc0, 0x20, + 0x00, 0x02, 0x2c, 0xb1, 0x0c, 0x0d, 0x9c, 0xc0, 0xe2, 0xa0, 0x63, 0xc0, 0x20, 0x00, 0x22, 0x2c, + 0xb1, 0x16, 0x12, 0x08, 0x0c, 0xa2, 0x01, 0x0b, 0xe5, 0xc0, 0x00, 0x00, 0x3d, 0x0d, 0x1b, 0xdd, + 0xd0, 0xd0, 0x74, 0x37, 0xbe, 0xe4, 0x38, 0x01, 0x21, 0xed, 0xff, 0x32, 0x03, 0x06, 0xc0, 0x20, + 0x00, 0x42, 0x2c, 0xa1, 0x01, 0xe7, 0xdc, 0xc0, 0x00, 0x00, 0x21, 0xe9, 0xff, 0x31, 0x4a, 0xfb, + 0xc0, 0x20, 0x00, 0x38, 0xe3, 0x01, 0xe2, 0xdc, 0xc0, 0x00, 0x00, 0x21, 0xe5, 0xff, 0x31, 0x4e, + 0xdf, 0xc0, 0x20, 0x00, 0x32, 0x23, 0xf4, 0x01, 0xde, 0xdc, 0xc0, 0x00, 0x00, 0x21, 0xe0, 0xff, + 0x31, 0x50, 0xf0, 0xc0, 0x20, 0x00, 0x32, 0x23, 0x84, 0x01, 0xd9, 0xdc, 0xc0, 0x00, 0x00, 0x21, + 0xdc, 0xff, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xb1, 0x01, 0xd6, 0xdc, 0xc0, 0x00, 0x00, 0x21, 0xd8, + 0xff, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0x9f, 0x01, 0xd2, 0xdc, 0xc0, 0x00, 0x00, 0x21, 0xd5, 0xff, + 0x01, 0xd0, 0xdc, 0xc0, 0x00, 0x00, 0xc8, 0x21, 0xd8, 0x31, 0xe8, 0x41, 0x08, 0x11, 0x12, 0xc1, + 0x20, 0x0d, 0xf0, 0x00, 0x31, 0xf6, 0xfb, 0x22, 0x03, 0x30, 0x42, 0xa0, 0xbf, 0x40, 0x22, 0x10, + 0x4c, 0x04, 0x40, 0x22, 0x20, 0x22, 0x43, 0x30, 0x0d, 0xf0, 0x00, 0x00, 0xc4, 0x09, 0x00, 0x00, + 0x04, 0x8c, 0x10, 0x40, 0x2c, 0x8d, 0x10, 0x40, 0xd4, 0x8e, 0x10, 0x40, 0x00, 0x8f, 0x10, 0x40, + 0x68, 0x8f, 0x10, 0x40, 0x84, 0x85, 0x10, 0x40, 0x78, 0x18, 0xff, 0x3f, 0xe4, 0x93, 0x10, 0x40, + 0x1c, 0x95, 0x10, 0x40, 0xa0, 0x18, 0xff, 0x3f, 0x48, 0x2c, 0x00, 0x40, 0xd0, 0x0d, 0x00, 0x40, + 0x32, 0xa0, 0x04, 0x92, 0xa0, 0xfb, 0x12, 0xc1, 0xf0, 0x21, 0xe0, 0xfb, 0x02, 0x61, 0x00, 0x02, + 0xa0, 0xef, 0xb2, 0x02, 0x33, 0x82, 0x02, 0x30, 0xa2, 0x02, 0x31, 0x90, 0x88, 0x10, 0x90, 0xaa, + 0x10, 0x00, 0xbb, 0x10, 0xb2, 0x42, 0x33, 0xa2, 0x42, 0x31, 0x30, 0x88, 0x20, 0x82, 0x42, 0x30, + 0x92, 0xa0, 0xfe, 0x90, 0x88, 0x10, 0x82, 0x42, 0x30, 0x92, 0xa0, 0xfd, 0x90, 0x88, 0x10, 0x0c, + 0x29, 0x90, 0x88, 0x20, 0x82, 0x42, 0x30, 0x92, 0xa0, 0xf7, 0x90, 0x88, 0x10, 0x0c, 0x89, 0x90, + 0x88, 0x20, 0x82, 0x42, 0x30, 0x92, 0xa0, 0xdf, 0x90, 0x88, 0x10, 0x2c, 0x09, 0x90, 0x88, 0x20, + 0x82, 0x42, 0x30, 0x92, 0xa0, 0xbf, 0x90, 0x88, 0x10, 0x82, 0x42, 0x30, 0x61, 0x3e, 0xdd, 0x71, + 0xe4, 0xdb, 0xc0, 0x20, 0x00, 0x01, 0xf1, 0xfc, 0x41, 0xf0, 0xfc, 0x62, 0x67, 0x6a, 0x51, 0xd3, + 0xff, 0x52, 0x52, 0x12, 0x42, 0x62, 0x10, 0x22, 0xc2, 0x44, 0x09, 0x02, 0x21, 0xd1, 0xff, 0x45, + 0xe1, 0x00, 0x21, 0xd0, 0xff, 0x0c, 0x53, 0xc5, 0xe0, 0x00, 0x21, 0x7c, 0xfc, 0x31, 0xce, 0xff, + 0x0c, 0x04, 0x01, 0xd5, 0xff, 0xc0, 0x00, 0x00, 0x21, 0x76, 0xfc, 0x31, 0xcc, 0xff, 0x0c, 0x04, + 0x01, 0xd2, 0xff, 0xc0, 0x00, 0x00, 0x21, 0xb1, 0xfe, 0x31, 0xc9, 0xff, 0x0c, 0x04, 0x01, 0xce, + 0xff, 0xc0, 0x00, 0x00, 0x21, 0x47, 0xfc, 0x31, 0xc7, 0xff, 0x0c, 0x04, 0x01, 0xcb, 0xff, 0xc0, + 0x00, 0x00, 0x21, 0xc5, 0xff, 0x31, 0xc5, 0xff, 0x0c, 0x04, 0x01, 0xc7, 0xff, 0xc0, 0x00, 0x00, + 0x21, 0xc4, 0xff, 0x1c, 0x43, 0x41, 0xc3, 0xff, 0x0c, 0x35, 0x01, 0xc4, 0xff, 0xc0, 0x00, 0x00, + 0x31, 0xa7, 0xfb, 0x22, 0x03, 0x33, 0x42, 0xa0, 0xf7, 0x40, 0x22, 0x10, 0x0c, 0x84, 0x40, 0x22, + 0x20, 0x22, 0x43, 0x33, 0x85, 0x3c, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0xc4, 0x87, 0xfe, 0x3f, 0x00, 0x80, 0x01, 0x00, 0xf7, 0xff, 0xff, 0x03, 0x12, 0xc1, 0xd0, 0xe9, + 0x91, 0xf9, 0xa1, 0xc9, 0x71, 0x09, 0x61, 0xd9, 0x81, 0x0c, 0x10, 0xdd, 0x02, 0x0c, 0x0c, 0xf1, + 0x97, 0xfb, 0xc9, 0x41, 0x32, 0x0f, 0x31, 0x0c, 0x22, 0x07, 0xe3, 0x14, 0x17, 0x63, 0x06, 0xcd, + 0x00, 0x2d, 0x0d, 0x86, 0x02, 0x00, 0x42, 0x0f, 0x33, 0x52, 0x0f, 0x30, 0x17, 0x64, 0x0a, 0xcd, + 0x00, 0xd0, 0x2c, 0x93, 0x22, 0x4f, 0x32, 0xc6, 0x58, 0x00, 0x62, 0xa0, 0x80, 0x50, 0x50, 0x64, + 0x60, 0x55, 0x20, 0x52, 0x4f, 0x30, 0x16, 0x8d, 0x16, 0x22, 0xa0, 0xfe, 0x20, 0x73, 0x10, 0x42, + 0xa0, 0x00, 0x22, 0xc1, 0x10, 0x1c, 0x83, 0x00, 0x77, 0x20, 0x72, 0x4f, 0x31, 0x85, 0xc2, 0x05, + 0xed, 0x02, 0xcc, 0x72, 0x21, 0xe3, 0xff, 0x01, 0x56, 0xdc, 0xc0, 0x00, 0x00, 0x28, 0x0e, 0x1c, + 0x83, 0x28, 0x12, 0x29, 0x51, 0x01, 0x4a, 0xde, 0xc0, 0x00, 0x00, 0x1c, 0x87, 0x72, 0x5e, 0x08, + 0xb8, 0x0e, 0xc0, 0x20, 0x00, 0x62, 0x0b, 0x03, 0x72, 0xa0, 0x80, 0x60, 0x60, 0x64, 0x70, 0x66, + 0x20, 0xc0, 0x20, 0x00, 0x62, 0x4b, 0x03, 0x52, 0xa0, 0xbf, 0x4c, 0x04, 0xc0, 0x20, 0x00, 0x32, + 0x0b, 0x03, 0x50, 0x33, 0x10, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x4b, 0x03, 0x22, 0xa0, + 0xdf, 0xc0, 0x20, 0x00, 0x02, 0x0b, 0x03, 0x20, 0x00, 0x10, 0xc0, 0x00, 0x20, 0xc0, 0x20, 0x00, + 0x02, 0x4b, 0x03, 0x21, 0xc8, 0xdd, 0x01, 0xcb, 0xff, 0xc0, 0x20, 0x00, 0xa2, 0x1b, 0x01, 0x00, + 0xaa, 0x11, 0xc0, 0x20, 0x00, 0x32, 0x1b, 0x00, 0x30, 0xaa, 0x20, 0x20, 0xaa, 0x10, 0x00, 0xaa, + 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x5b, 0x00, 0xa0, 0xa0, 0xf5, 0xc0, 0x20, 0x00, 0x0c, 0x02, 0x3d, + 0x0e, 0x4c, 0x84, 0x0c, 0x05, 0x61, 0x29, 0xdc, 0x91, 0xc9, 0xfc, 0xa2, 0x5b, 0x01, 0x82, 0x0f, + 0x28, 0x7d, 0x09, 0x99, 0x01, 0xc0, 0x88, 0x11, 0x8a, 0x66, 0x9b, 0x66, 0x05, 0xbc, 0x05, 0x61, + 0xb6, 0xdd, 0x78, 0x7e, 0xc0, 0x20, 0x00, 0x62, 0x26, 0x80, 0x82, 0x07, 0x06, 0x92, 0xa0, 0x8f, + 0x90, 0x88, 0x10, 0x82, 0x47, 0x06, 0x48, 0x7e, 0x69, 0x47, 0x32, 0x04, 0x04, 0x52, 0xa0, 0xf0, + 0x50, 0x33, 0x10, 0x0c, 0x65, 0x50, 0x33, 0x20, 0x32, 0x44, 0x04, 0x98, 0x7e, 0xb2, 0xa0, 0xfd, + 0x28, 0x09, 0x31, 0xad, 0xff, 0x20, 0x00, 0x54, 0x20, 0x26, 0x41, 0x30, 0x22, 0x10, 0xa0, 0x22, + 0x11, 0x20, 0x00, 0x20, 0x09, 0x09, 0x82, 0x09, 0x00, 0xa2, 0x0f, 0x28, 0xb0, 0x88, 0x10, 0xa0, + 0xa0, 0x04, 0xf0, 0xaa, 0x11, 0xa0, 0x88, 0x20, 0x82, 0x49, 0x00, 0xc9, 0x5e, 0xbc, 0xcd, 0x88, + 0x51, 0x72, 0x08, 0x01, 0x1c, 0x00, 0x00, 0x77, 0x20, 0x72, 0x48, 0x01, 0xc1, 0x38, 0xfe, 0x88, + 0x7e, 0x2d, 0x0c, 0x02, 0x48, 0x0e, 0x01, 0xd1, 0xfb, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x32, 0xa0, + 0x69, 0x0c, 0x04, 0x01, 0xf7, 0xfb, 0xc0, 0x00, 0x00, 0x2d, 0x0e, 0x85, 0xa1, 0x00, 0xc8, 0x71, + 0xd8, 0x81, 0xe8, 0x91, 0xf8, 0xa1, 0x08, 0x61, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x2c, 0x00, 0x46, + 0xf2, 0xff, 0x0d, 0x02, 0x22, 0xa0, 0xfd, 0x46, 0xa4, 0xff, 0x00, 0x00, 0x41, 0x2c, 0xfb, 0x0c, + 0x02, 0x32, 0x04, 0x34, 0x52, 0x04, 0x33, 0x66, 0x73, 0x04, 0x47, 0x65, 0x01, 0x0c, 0x12, 0x20, + 0x20, 0x74, 0x0d, 0xf0, 0x32, 0xa0, 0x02, 0x12, 0xc1, 0xf0, 0x21, 0x24, 0xfb, 0x02, 0x61, 0x00, + 0x02, 0x02, 0x33, 0x42, 0xa0, 0xfd, 0x40, 0x00, 0x10, 0x30, 0x00, 0x20, 0x02, 0x42, 0x33, 0x05, + 0x36, 0x00, 0x21, 0x35, 0xff, 0x01, 0xb5, 0xfb, 0xc0, 0x00, 0x00, 0x02, 0x21, 0x00, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x29, 0x01, 0x09, 0x21, 0x21, 0x2f, 0xff, 0x29, 0x11, + 0x01, 0xaf, 0xfb, 0xc0, 0x00, 0x00, 0x28, 0x11, 0x38, 0x01, 0x0c, 0x04, 0x01, 0xd5, 0xfb, 0xc0, + 0x00, 0x00, 0x08, 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x21, 0x27, 0xff, 0x12, + 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x01, 0xa5, 0xfb, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x00, 0x45, 0x01, + 0x00, 0x02, 0x21, 0x00, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0xd0, 0x87, 0xfe, 0x3f, + 0x20, 0xb1, 0xff, 0x3f, 0x21, 0xfe, 0xff, 0x41, 0x05, 0xfb, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, + 0x32, 0x04, 0x34, 0x42, 0x04, 0x32, 0x01, 0xd6, 0xdb, 0xc0, 0x00, 0x00, 0x01, 0x83, 0xde, 0xc0, + 0x00, 0x00, 0xc5, 0xbf, 0x05, 0x51, 0xf6, 0xff, 0x22, 0x65, 0x77, 0x01, 0x80, 0xde, 0xc0, 0x00, + 0x00, 0x01, 0xfa, 0xfa, 0x82, 0xa0, 0xfd, 0x62, 0x00, 0x30, 0x72, 0x00, 0x33, 0x60, 0x67, 0x41, + 0x80, 0x77, 0x10, 0x72, 0x40, 0x33, 0x56, 0x46, 0x02, 0x42, 0x00, 0x32, 0x22, 0xa0, 0x00, 0x66, + 0x14, 0x24, 0x92, 0x00, 0x34, 0x22, 0x40, 0x32, 0x66, 0x19, 0x12, 0x0c, 0x12, 0xc5, 0xd4, 0xff, + 0x86, 0x02, 0x00, 0x85, 0xf0, 0xff, 0x8c, 0x42, 0x45, 0x29, 0x00, 0x85, 0x2b, 0x00, 0x08, 0x01, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x66, 0x24, 0xe8, 0xa2, 0x00, 0x34, 0x22, 0x40, 0x32, + 0x66, 0x6a, 0xea, 0x85, 0xd2, 0xff, 0x06, 0xf9, 0xff, 0x00, 0x00, 0x00, 0x41, 0xe4, 0xfa, 0x0c, + 0x13, 0x42, 0x04, 0x33, 0x0c, 0x02, 0x40, 0x41, 0x04, 0x40, 0x23, 0x83, 0x0d, 0xf0, 0x00, 0x00, + 0x61, 0xdf, 0xfa, 0x42, 0x06, 0x34, 0x0c, 0x15, 0x26, 0x74, 0x09, 0x8c, 0x64, 0x32, 0x06, 0x28, + 0x27, 0x93, 0x01, 0x0c, 0x05, 0x50, 0x20, 0x74, 0x0d, 0xf0, 0x00, 0x00, 0xd4, 0x18, 0x00, 0x40, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xd5, 0xfa, 0x32, 0x00, 0x33, 0x47, 0x63, 0x11, 0x0c, 0x64, + 0x32, 0xc0, 0x38, 0x01, 0xfa, 0xff, 0xc0, 0x00, 0x00, 0xcc, 0x32, 0x0c, 0x10, 0x46, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x20, 0x74, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0xc0, 0x18, 0xff, 0x3f, + 0x12, 0xc1, 0xf0, 0x09, 0x11, 0x01, 0xc9, 0xfa, 0x02, 0x00, 0x33, 0x29, 0x01, 0x37, 0x60, 0x33, + 0x01, 0x4a, 0xde, 0xc0, 0x00, 0x00, 0x61, 0xf9, 0xff, 0x58, 0x01, 0x6a, 0x55, 0x02, 0x05, 0x00, + 0x8c, 0x90, 0x01, 0x46, 0xde, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x86, 0x05, 0x00, 0x1b, 0x70, 0x72, + 0x45, 0x00, 0x01, 0x42, 0xde, 0xc0, 0x00, 0x00, 0x38, 0x01, 0x1c, 0x42, 0x0c, 0x04, 0x01, 0xee, + 0xf6, 0xc0, 0x00, 0x00, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x61, 0xec, 0xff, 0x12, + 0xc1, 0xf0, 0x09, 0x11, 0x08, 0x02, 0x51, 0xb5, 0xfa, 0xac, 0x90, 0x26, 0x10, 0x56, 0x29, 0x01, + 0x66, 0x20, 0x4a, 0x01, 0x35, 0xde, 0xc0, 0x00, 0x00, 0x38, 0x01, 0x41, 0xe4, 0xff, 0x38, 0x03, + 0x4a, 0x33, 0x22, 0x03, 0x00, 0x0b, 0x22, 0x22, 0x43, 0x00, 0x01, 0x30, 0xde, 0xc0, 0x00, 0x00, + 0xc5, 0xfe, 0xfe, 0xc6, 0x09, 0x00, 0x60, 0x56, 0x20, 0x50, 0x50, 0x80, 0x42, 0x05, 0x00, 0x22, + 0xa0, 0x01, 0x0b, 0x44, 0x42, 0x45, 0x00, 0x85, 0xa9, 0x00, 0xdc, 0x02, 0xc5, 0xdd, 0xff, 0x8c, + 0xb2, 0x0c, 0x12, 0x85, 0xc1, 0xff, 0x81, 0xa1, 0xfa, 0x0c, 0x17, 0x72, 0x48, 0x34, 0x08, 0x11, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x6a, 0xb0, 0xa2, 0x0b, 0x00, 0x92, 0x05, 0x33, 0x0b, 0xaa, 0xa2, + 0x4b, 0x00, 0x47, 0x69, 0xe8, 0x02, 0x05, 0x34, 0x26, 0x70, 0xe2, 0x26, 0x60, 0xdf, 0xc5, 0xe9, + 0xfe, 0x46, 0xf6, 0xff, 0x21, 0x96, 0xfa, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x22, 0x02, 0x28, + 0xc5, 0x0b, 0x04, 0x16, 0x82, 0x02, 0x22, 0x02, 0x01, 0x32, 0xa0, 0x1a, 0x80, 0x02, 0x01, 0x00, + 0x08, 0x31, 0x07, 0xa3, 0x04, 0x5c, 0x02, 0x46, 0x03, 0x00, 0x1c, 0x03, 0x07, 0xa3, 0x0f, 0x42, + 0xa0, 0x7f, 0x47, 0x12, 0x09, 0x22, 0xa0, 0xa0, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x22, + 0xa0, 0xf0, 0x86, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x87, 0xfe, 0x3f, 0xf0, 0x83, 0xfe, 0x3f, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x02, 0x02, 0x00, 0x0c, 0xc3, 0x30, 0x30, 0x10, 0x66, 0x43, 0x0e, + 0x21, 0xfa, 0xff, 0x31, 0xfa, 0xff, 0x01, 0x52, 0xdb, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x52, + 0xa0, 0x88, 0x1c, 0x86, 0x72, 0x02, 0x01, 0x42, 0xa0, 0x8c, 0x40, 0x40, 0x10, 0x1c, 0xe2, 0x08, + 0x01, 0x70, 0x70, 0x14, 0x72, 0xc7, 0xfd, 0x70, 0x26, 0x93, 0x57, 0x94, 0x01, 0x2b, 0x22, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0xd0, 0x18, 0xff, 0x3f, 0x31, 0xff, 0xff, 0x22, 0x43, 0x00, 0x0d, 0xf0, + 0x31, 0xfd, 0xff, 0x22, 0x43, 0x01, 0x0d, 0xf0, 0x21, 0xfb, 0xff, 0x22, 0x02, 0x01, 0x0d, 0xf0, + 0x51, 0xf9, 0xff, 0x0c, 0x02, 0x32, 0x05, 0x00, 0x62, 0x05, 0x01, 0x8c, 0x33, 0x0c, 0x14, 0x60, + 0x24, 0x93, 0x20, 0x20, 0x74, 0x0d, 0xf0, 0x00, 0x78, 0x80, 0xfe, 0x3f, 0x70, 0x17, 0x00, 0x00, + 0x22, 0xa0, 0x01, 0x0c, 0x13, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x85, 0x9b, 0xf8, 0x85, 0x98, 0xf8, + 0x51, 0xed, 0xff, 0x31, 0xf9, 0xff, 0x2b, 0x22, 0x20, 0x22, 0x21, 0x22, 0x43, 0x00, 0x02, 0x15, + 0x01, 0x21, 0xf6, 0xff, 0x1b, 0x00, 0x00, 0x00, 0xf4, 0x27, 0x90, 0x0a, 0x0c, 0x02, 0x22, 0x55, + 0x01, 0x45, 0xf5, 0xf9, 0x86, 0x00, 0x00, 0x02, 0x55, 0x01, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0xd4, 0x18, 0xff, 0x3f, 0x21, 0xff, 0xff, 0x12, 0xc1, 0xf0, 0x09, 0x01, + 0x01, 0xe7, 0xfa, 0xc0, 0x00, 0x00, 0x85, 0xfa, 0xff, 0x21, 0xfa, 0xff, 0x32, 0xa0, 0x64, 0x0c, + 0x14, 0x01, 0x0b, 0xfb, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x21, 0xd5, 0xff, 0x0c, 0x03, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x32, 0x42, 0x18, 0x22, 0xc2, 0x1c, + 0x01, 0xdb, 0xfa, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0xec, 0x18, 0xff, 0x3f, 0x12, 0xc1, 0xf0, 0x21, 0xcb, 0xff, 0x02, 0x61, 0x00, 0x02, 0xa0, 0x01, + 0x02, 0x42, 0x18, 0x05, 0xe9, 0xff, 0x31, 0xd4, 0xff, 0x42, 0xa0, 0x00, 0x22, 0x43, 0x01, 0x20, + 0x30, 0x74, 0x21, 0xf7, 0xff, 0x01, 0xf6, 0xfa, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xbe, 0xff, 0x02, 0x00, 0x18, 0xcc, + 0x10, 0x05, 0xfc, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0xa0, 0x1b, 0xff, 0x3f, + 0x68, 0x84, 0xfe, 0x3f, 0xf0, 0x87, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xcd, + 0x02, 0x08, 0x02, 0x21, 0xfa, 0xff, 0xf6, 0x50, 0x1a, 0x3d, 0x02, 0x3a, 0x30, 0x42, 0x03, 0x00, + 0x00, 0x20, 0x74, 0x0b, 0x04, 0x02, 0x43, 0x00, 0x45, 0xb9, 0x00, 0xc8, 0x11, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x26, 0x50, 0x60, 0x66, 0x60, 0x02, 0x06, 0x20, 0x00, 0x26, 0x70, 0x27, + 0x26, 0x80, 0xe7, 0x0c, 0x94, 0x47, 0x90, 0x02, 0x86, 0x25, 0x00, 0x66, 0x90, 0x02, 0x46, 0x29, + 0x00, 0x0c, 0xb5, 0x57, 0x10, 0x1d, 0x21, 0xea, 0xff, 0x31, 0xea, 0xff, 0x42, 0xa0, 0xe2, 0x01, + 0xe8, 0xda, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x22, 0x0c, 0x04, 0x45, 0x8a, 0x01, 0x46, 0xee, + 0xff, 0x00, 0x00, 0x00, 0x01, 0x91, 0xdd, 0xc0, 0x00, 0x00, 0x81, 0xe0, 0xff, 0x72, 0x2c, 0x00, + 0x80, 0x77, 0x80, 0x62, 0x07, 0x00, 0x62, 0xc6, 0xff, 0x62, 0x47, 0x00, 0x01, 0x8c, 0xdd, 0xc0, + 0x00, 0x00, 0xc5, 0x3e, 0xf7, 0x86, 0xe4, 0xff, 0x01, 0x88, 0xdd, 0xc0, 0x00, 0x00, 0xb1, 0xd7, + 0xff, 0xa2, 0x2c, 0x00, 0xb0, 0xaa, 0x80, 0x92, 0x0a, 0x00, 0x92, 0xc9, 0xff, 0x92, 0x4a, 0x00, + 0x01, 0x83, 0xdd, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0xc5, 0x8d, 0x00, 0x06, 0xdb, 0xff, 0x01, 0x7e, + 0xdd, 0xc0, 0x00, 0x00, 0x31, 0xce, 0xff, 0x22, 0x2c, 0x00, 0x30, 0x22, 0x80, 0x02, 0x02, 0x00, + 0x02, 0xc0, 0xff, 0x02, 0x42, 0x00, 0x01, 0x79, 0xdd, 0xc0, 0x00, 0x00, 0xc5, 0xfd, 0x00, 0x06, + 0xd2, 0xff, 0x20, 0x52, 0x20, 0x50, 0x50, 0x80, 0x42, 0x05, 0x00, 0x42, 0xc4, 0xff, 0x42, 0x45, + 0x00, 0x45, 0x30, 0x02, 0xc6, 0xcc, 0xff, 0x01, 0x70, 0xdd, 0xc0, 0x00, 0x00, 0x81, 0xbf, 0xff, + 0x72, 0x2c, 0x00, 0x8a, 0x77, 0x62, 0x07, 0x00, 0x0b, 0x66, 0x62, 0x47, 0x00, 0x01, 0x6b, 0xdd, + 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x45, 0x4a, 0xf7, 0x0c, 0x12, 0x05, 0x4a, 0xf7, 0x45, 0x7b, 0xff, + 0xc6, 0xc1, 0xff, 0x00, 0x12, 0xc1, 0xf0, 0x78, 0x72, 0x09, 0x01, 0x08, 0x07, 0x48, 0x02, 0x00, + 0x56, 0x41, 0x87, 0x70, 0x06, 0x68, 0x14, 0x4b, 0x66, 0x46, 0x00, 0x00, 0x68, 0x14, 0x0c, 0xca, + 0x82, 0x06, 0x04, 0x0c, 0x24, 0x07, 0x68, 0x10, 0x00, 0x00, 0x54, 0x40, 0x35, 0x20, 0xa0, 0x33, + 0x11, 0x30, 0x00, 0x20, 0x09, 0x07, 0x00, 0x56, 0x41, 0x92, 0x06, 0x00, 0x82, 0xa0, 0xf0, 0xa0, + 0x49, 0x10, 0x80, 0x89, 0x10, 0x66, 0x84, 0x46, 0x00, 0x00, 0x54, 0x0c, 0x83, 0x30, 0x35, 0x20, + 0xa0, 0x33, 0x11, 0x30, 0x00, 0x20, 0x09, 0x07, 0x26, 0xd8, 0x05, 0x42, 0xa0, 0xc0, 0x47, 0x98, + 0x13, 0x00, 0x50, 0x54, 0x31, 0x2d, 0xfe, 0x00, 0x06, 0x41, 0x30, 0x00, 0x10, 0xa0, 0x00, 0x11, + 0x00, 0x05, 0x20, 0x09, 0x07, 0x00, 0x56, 0x41, 0x08, 0x01, 0x27, 0x75, 0x0c, 0x58, 0x02, 0x42, + 0x16, 0x0b, 0x58, 0x15, 0x40, 0x44, 0x41, 0x42, 0x45, 0x03, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0xa7, + 0x89, 0xe5, 0x66, 0xd8, 0xe2, 0x69, 0x11, 0x29, 0x21, 0x17, 0xe5, 0xdb, 0x81, 0x2d, 0xdd, 0x00, + 0x60, 0x54, 0x80, 0x85, 0x20, 0xa0, 0x88, 0x11, 0x80, 0x66, 0x20, 0x69, 0x07, 0xc5, 0xbb, 0x00, + 0x28, 0x21, 0x08, 0x72, 0x68, 0x11, 0x08, 0x00, 0x46, 0xee, 0xff, 0x00, 0x31, 0x4f, 0xff, 0x0c, + 0x12, 0x38, 0x13, 0x42, 0xa1, 0xd6, 0x4a, 0x33, 0x22, 0x43, 0x7f, 0x22, 0x43, 0x80, 0x0d, 0xf0, + 0x21, 0x4a, 0xff, 0x28, 0x12, 0x22, 0xd2, 0x02, 0x22, 0x02, 0x55, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x19, 0xff, 0x3f, 0xff, 0xff, 0xfe, 0x03, 0x22, 0xa0, 0x04, 0x42, 0xa0, 0x01, 0x12, 0xc1, + 0xf0, 0x52, 0xa1, 0xd6, 0xc9, 0x11, 0xc1, 0x40, 0xff, 0x09, 0x01, 0x38, 0x1c, 0x0c, 0x00, 0x5a, + 0x33, 0x42, 0x43, 0x80, 0x02, 0x43, 0x7f, 0x05, 0xdd, 0xfc, 0xcc, 0x32, 0x0c, 0x42, 0x45, 0x58, + 0xfe, 0x21, 0xf3, 0xff, 0x01, 0x36, 0xfa, 0xc0, 0x00, 0x00, 0x02, 0x2c, 0x01, 0x62, 0x20, 0x8c, + 0x16, 0x26, 0x04, 0x01, 0x1d, 0xdd, 0xc0, 0x00, 0x00, 0x82, 0x2c, 0x01, 0x82, 0x28, 0x8c, 0x88, + 0x78, 0x98, 0x08, 0xa1, 0xec, 0xff, 0x90, 0x70, 0x54, 0x90, 0x96, 0x41, 0xa0, 0x99, 0x10, 0xa0, + 0x99, 0x11, 0x90, 0x77, 0x20, 0x79, 0x08, 0x01, 0x15, 0xdd, 0xc0, 0x00, 0x00, 0x08, 0x1c, 0x92, + 0x00, 0x1f, 0xcc, 0xe9, 0x22, 0x20, 0x8c, 0x85, 0x5e, 0x00, 0xa8, 0x1c, 0x3d, 0x02, 0x22, 0x2a, + 0x8c, 0x05, 0xb8, 0xfc, 0x08, 0x1c, 0xc8, 0x11, 0x0c, 0x0b, 0xb2, 0x60, 0x8c, 0xb2, 0x40, 0x1e, + 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x02, 0xc1, 0x1e, + 0xff, 0x02, 0x61, 0x01, 0x08, 0x1c, 0x02, 0x20, 0x8c, 0x29, 0x01, 0x16, 0x20, 0x04, 0x01, 0x02, + 0xdd, 0xc0, 0x00, 0x00, 0x38, 0x1c, 0x32, 0x23, 0x8c, 0x38, 0x73, 0x48, 0x03, 0x51, 0xd1, 0xff, + 0x40, 0x20, 0x54, 0x40, 0x46, 0x41, 0x50, 0x44, 0x10, 0xa0, 0x44, 0x11, 0x40, 0x22, 0x20, 0x29, + 0x03, 0x01, 0xfa, 0xdc, 0xc0, 0x00, 0x00, 0x08, 0x1c, 0x42, 0x00, 0x1f, 0xec, 0x74, 0x22, 0x20, + 0x8c, 0xc5, 0x57, 0x00, 0x58, 0x1c, 0x3d, 0x02, 0x22, 0x25, 0x8c, 0x85, 0xb1, 0xfc, 0x46, 0x05, + 0x00, 0x21, 0xc3, 0xff, 0x01, 0x06, 0xfa, 0xc0, 0x00, 0x00, 0x21, 0xc1, 0xff, 0x1c, 0xe3, 0x0c, + 0x04, 0x01, 0x2b, 0xfa, 0xc0, 0x00, 0x00, 0x0c, 0x16, 0x0c, 0x08, 0x98, 0x01, 0x21, 0x81, 0xdf, + 0xb8, 0x79, 0x78, 0x1c, 0x08, 0x0b, 0xc8, 0x21, 0x00, 0xa0, 0x54, 0x00, 0x06, 0x41, 0x20, 0x00, + 0x20, 0xa0, 0x00, 0x11, 0x00, 0xaa, 0x20, 0x08, 0x11, 0xa9, 0x0b, 0x92, 0x67, 0x8c, 0x82, 0x47, + 0x1f, 0x62, 0x47, 0x1e, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x20, 0x21, 0xff, 0x3f, + 0xf8, 0x87, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x01, 0x01, 0xf3, 0xfe, 0x32, 0x20, 0x01, + 0x22, 0xa1, 0xc4, 0x20, 0x33, 0x80, 0x42, 0x03, 0x91, 0x16, 0xf4, 0x08, 0x42, 0x03, 0x92, 0x9c, + 0x14, 0x22, 0x23, 0x1b, 0x0c, 0x04, 0x42, 0x43, 0x92, 0x28, 0x72, 0x22, 0x02, 0x00, 0x20, 0x21, + 0x04, 0x85, 0x0d, 0x04, 0x22, 0xa0, 0x04, 0x05, 0xc8, 0xfc, 0x56, 0x42, 0x00, 0x0c, 0x42, 0x45, + 0x43, 0xfe, 0x52, 0xa0, 0x00, 0x41, 0xed, 0xff, 0x21, 0xe4, 0xfe, 0x32, 0x04, 0x00, 0x28, 0x12, + 0x1b, 0x33, 0x52, 0x42, 0x1d, 0x62, 0x02, 0x1e, 0x22, 0x22, 0x8c, 0x60, 0x35, 0x93, 0x32, 0x44, + 0x00, 0x05, 0x25, 0x00, 0x41, 0xdd, 0xfe, 0x48, 0x14, 0x0c, 0x13, 0x22, 0x24, 0x8c, 0x32, 0x44, + 0x1d, 0x28, 0x72, 0x22, 0x02, 0x00, 0x20, 0x21, 0x04, 0x45, 0x18, 0x04, 0x29, 0x01, 0x21, 0x90, + 0xff, 0x01, 0xd2, 0xf9, 0xc0, 0x00, 0x00, 0x21, 0x8e, 0xff, 0x38, 0x01, 0x0c, 0x04, 0x32, 0xc3, + 0xfe, 0x01, 0xf7, 0xf9, 0xc0, 0x00, 0x00, 0x85, 0xa1, 0xfe, 0x31, 0xd8, 0xff, 0x32, 0x03, 0x00, + 0xb6, 0x23, 0x08, 0x21, 0xd7, 0xff, 0x01, 0x06, 0xda, 0xc0, 0x00, 0x00, 0x08, 0x11, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x88, 0xfe, 0x3f, 0x12, 0xc1, 0xe0, 0xd9, 0x41, 0xc9, 0x31, 0x09, + 0x21, 0x02, 0x12, 0x04, 0xcd, 0x02, 0xb6, 0x30, 0x02, 0x06, 0x6f, 0x00, 0x28, 0x72, 0x28, 0x02, + 0x08, 0x0c, 0x87, 0x72, 0x06, 0xd8, 0x10, 0x4b, 0xdd, 0x46, 0x00, 0x00, 0xd8, 0x10, 0x2d, 0x0d, + 0xc5, 0xa7, 0xff, 0x52, 0x1c, 0x08, 0x08, 0x3c, 0x20, 0x55, 0xc0, 0x52, 0xc5, 0xfc, 0x50, 0x70, + 0xf4, 0x7a, 0x7d, 0x72, 0xc7, 0x18, 0x07, 0x37, 0x0f, 0x68, 0x0c, 0xc0, 0x20, 0x00, 0x62, 0x16, + 0x00, 0x60, 0x60, 0xb4, 0x6a, 0x60, 0x67, 0x37, 0x07, 0x82, 0x1c, 0x04, 0x0b, 0x88, 0x16, 0x78, + 0x17, 0x22, 0xcd, 0x24, 0x50, 0x90, 0xf4, 0x92, 0xc9, 0xf4, 0xe6, 0x29, 0x02, 0x06, 0x21, 0x00, + 0x0c, 0x05, 0x82, 0x1c, 0x04, 0x0c, 0x16, 0x66, 0x28, 0x3c, 0xbc, 0x96, 0x98, 0x0c, 0x07, 0x32, + 0x0d, 0xc0, 0x20, 0x00, 0xa2, 0x19, 0x00, 0xa0, 0xa0, 0xb4, 0xaa, 0xa0, 0xa7, 0x32, 0x27, 0xb8, + 0x1c, 0xc0, 0x20, 0x00, 0x32, 0x19, 0x00, 0xd8, 0x1b, 0x30, 0x30, 0xb4, 0x3a, 0x30, 0x30, 0x22, + 0xc0, 0x2a, 0x2d, 0xc0, 0x20, 0x00, 0x0c, 0x06, 0xa2, 0x19, 0x00, 0xb8, 0x1b, 0xa0, 0xa0, 0xb4, + 0xaa, 0xa0, 0xa0, 0x77, 0xc0, 0x7a, 0x7b, 0x42, 0x02, 0x00, 0x66, 0x54, 0x01, 0x5d, 0x02, 0xac, + 0xc6, 0x1b, 0x92, 0x07, 0x39, 0x0f, 0xa8, 0x0c, 0xc0, 0x20, 0x00, 0xa2, 0x1a, 0x00, 0xa0, 0xa0, + 0xb4, 0xaa, 0xa0, 0xa7, 0x39, 0x18, 0x48, 0x1c, 0x48, 0x14, 0xc0, 0x20, 0x00, 0x42, 0x04, 0x00, + 0xdc, 0x85, 0x2a, 0x24, 0x2b, 0x22, 0x20, 0x97, 0xc0, 0xe6, 0x29, 0x8a, 0x46, 0x02, 0x00, 0x42, + 0x02, 0x01, 0x86, 0xfa, 0xff, 0x0c, 0x16, 0x0c, 0x05, 0x16, 0xc5, 0x0d, 0x2b, 0xd5, 0x4b, 0x35, + 0x3b, 0x45, 0x49, 0x01, 0x39, 0x11, 0x16, 0x06, 0x0c, 0x22, 0x1c, 0x04, 0x52, 0xc2, 0xfe, 0x56, + 0x75, 0x0b, 0x07, 0x3d, 0x0f, 0x68, 0x0c, 0xc0, 0x20, 0x00, 0x62, 0x16, 0x00, 0x60, 0x60, 0xb4, + 0x6a, 0x60, 0x67, 0x3d, 0x23, 0x21, 0xb7, 0xff, 0x01, 0xba, 0xd9, 0xc0, 0x00, 0x00, 0x38, 0x0c, + 0x08, 0x3c, 0xc0, 0x20, 0x00, 0x22, 0x1c, 0x04, 0x78, 0x1c, 0x32, 0x13, 0x00, 0x78, 0x17, 0x30, + 0x30, 0xb4, 0x3a, 0x30, 0x30, 0xdd, 0xc0, 0xda, 0xd7, 0x66, 0x22, 0x7d, 0x48, 0x01, 0x07, 0x34, + 0x11, 0x68, 0x0c, 0xc0, 0x20, 0x00, 0x62, 0x16, 0x00, 0x58, 0x01, 0x60, 0x60, 0xb4, 0x6a, 0x60, + 0x67, 0x35, 0x27, 0x21, 0xa8, 0xff, 0x01, 0xaa, 0xd9, 0xc0, 0x00, 0x00, 0x98, 0x0c, 0x08, 0x3c, + 0xc0, 0x20, 0x00, 0x22, 0x1c, 0x04, 0x78, 0x01, 0x88, 0x1c, 0x92, 0x19, 0x00, 0x88, 0x18, 0x90, + 0x90, 0xb4, 0x9a, 0x90, 0x90, 0x97, 0xc0, 0x9a, 0x78, 0x79, 0x01, 0x66, 0x22, 0x3b, 0xa8, 0x11, + 0x07, 0x3a, 0x11, 0x28, 0x0c, 0xc0, 0x20, 0x00, 0x22, 0x12, 0x00, 0xb8, 0x11, 0x20, 0x20, 0xb4, + 0x2a, 0x20, 0x27, 0x3b, 0x24, 0x21, 0x97, 0xff, 0x01, 0x9a, 0xd9, 0xc0, 0x00, 0x00, 0x68, 0x0c, + 0xc0, 0x20, 0x00, 0x38, 0x11, 0x58, 0x3c, 0x48, 0x1c, 0x62, 0x16, 0x00, 0x48, 0x14, 0x60, 0x60, + 0xb4, 0x6a, 0x55, 0x50, 0x53, 0xc0, 0x5a, 0x34, 0x39, 0x11, 0x02, 0x0d, 0x00, 0xac, 0x30, 0x0b, + 0x00, 0x00, 0x70, 0x74, 0x72, 0x4d, 0x00, 0x8c, 0x97, 0xc8, 0x31, 0xd8, 0x41, 0x08, 0x21, 0x12, + 0xc1, 0x20, 0x0d, 0xf0, 0x98, 0x11, 0x82, 0x09, 0x00, 0x0c, 0x1a, 0xa0, 0x88, 0x20, 0x82, 0x49, + 0x00, 0x06, 0xf9, 0xff, 0x08, 0x01, 0x02, 0x00, 0x00, 0x0b, 0x00, 0x86, 0xf4, 0xff, 0x00, 0x00, + 0x04, 0x88, 0xfe, 0x3f, 0x0c, 0x77, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xc9, 0x11, 0x58, 0x72, 0xcd, + 0x02, 0x82, 0x05, 0x06, 0x62, 0x05, 0x04, 0x80, 0x84, 0x24, 0x60, 0x00, 0x34, 0xe6, 0x80, 0x12, + 0x16, 0xf0, 0x04, 0x26, 0x30, 0x4c, 0xa6, 0x30, 0x42, 0x0c, 0x12, 0xa6, 0x60, 0x3f, 0x0c, 0x02, + 0x86, 0x0e, 0x00, 0x0c, 0x40, 0x87, 0x10, 0x11, 0x21, 0x76, 0xfe, 0x31, 0x76, 0xfe, 0x42, 0xa1, + 0xeb, 0x01, 0x73, 0xd9, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x0c, 0x02, 0x01, 0x37, 0xfe, 0x66, + 0x48, 0x40, 0x48, 0x10, 0x92, 0xd4, 0x02, 0x92, 0x09, 0x55, 0x9c, 0xa9, 0xa2, 0x04, 0x1d, 0x16, + 0x0a, 0x10, 0x2d, 0x0c, 0x05, 0xc4, 0xff, 0x0c, 0x02, 0x06, 0x3b, 0x00, 0x0c, 0x32, 0x0d, 0x02, + 0x46, 0xf0, 0xff, 0x0c, 0x20, 0x06, 0xef, 0xff, 0x32, 0xa0, 0xf0, 0x30, 0x36, 0x10, 0x70, 0x33, + 0x20, 0x32, 0x45, 0x04, 0x02, 0x2c, 0x07, 0xb2, 0x00, 0x06, 0x22, 0xa0, 0x8f, 0x20, 0xbb, 0x10, + 0xb2, 0x40, 0x06, 0xc0, 0x2c, 0x20, 0xc5, 0xa9, 0xff, 0xc0, 0x2c, 0x20, 0x45, 0xfb, 0x01, 0x0b, + 0x42, 0x16, 0xf4, 0x09, 0x01, 0x09, 0xdc, 0xc0, 0x00, 0x00, 0x28, 0x5c, 0x38, 0x7c, 0x85, 0xed, + 0x02, 0x01, 0x06, 0xdc, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0xc5, 0x16, 0x02, 0x2d, 0x0c, 0x85, 0xda, + 0x01, 0x56, 0x32, 0x04, 0x01, 0x01, 0xdc, 0xc0, 0x00, 0x00, 0x61, 0x17, 0xfe, 0x78, 0x7c, 0x0c, + 0x08, 0x89, 0x6c, 0x82, 0x07, 0x00, 0x68, 0x16, 0x80, 0x82, 0x34, 0xb0, 0x88, 0x11, 0x8a, 0x86, + 0x88, 0x98, 0xc9, 0x08, 0x72, 0x07, 0x00, 0x52, 0xcc, 0x18, 0x70, 0x72, 0x34, 0xb0, 0x77, 0x11, + 0x7a, 0x66, 0x59, 0x96, 0x01, 0xf6, 0xdb, 0xc0, 0x00, 0x00, 0x28, 0x7c, 0x22, 0x02, 0x06, 0x20, + 0x24, 0x24, 0x85, 0xf0, 0x01, 0x06, 0x14, 0x00, 0x66, 0x12, 0x2c, 0x51, 0x07, 0xfe, 0x48, 0x7c, + 0x0c, 0x06, 0x69, 0x6c, 0x62, 0x04, 0x00, 0x58, 0x15, 0x60, 0x61, 0x04, 0x50, 0x66, 0xb0, 0x62, + 0x26, 0x8e, 0xc9, 0x06, 0x42, 0x04, 0x00, 0x32, 0xcc, 0x18, 0x40, 0x41, 0x04, 0x50, 0x44, 0xb0, + 0x32, 0x64, 0x8e, 0x0c, 0x02, 0x06, 0x08, 0x00, 0x66, 0x22, 0xf7, 0x21, 0xb1, 0xff, 0x01, 0x34, + 0xd9, 0xc0, 0x00, 0x00, 0x01, 0xe1, 0xdb, 0xc0, 0x00, 0x00, 0xc0, 0x2c, 0x20, 0xc5, 0xe9, 0x01, + 0x01, 0xdf, 0xdb, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x01, 0xc2, 0x21, 0x01, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x82, 0x04, 0x1f, 0x72, 0x04, 0x1e, 0x1b, 0x88, 0x82, 0x44, 0x1f, 0x56, 0xa7, + 0x04, 0x2d, 0x0c, 0x45, 0xc9, 0xff, 0x48, 0x7c, 0x32, 0x04, 0x04, 0x30, 0x30, 0x34, 0x32, 0x44, + 0x04, 0x38, 0x7c, 0x41, 0xc5, 0xf6, 0x22, 0x03, 0x06, 0x52, 0x03, 0x05, 0x80, 0x22, 0x11, 0x50, + 0x22, 0x20, 0x40, 0x22, 0x10, 0x22, 0x43, 0x05, 0x20, 0x28, 0x41, 0x22, 0x43, 0x06, 0xb8, 0x7c, + 0xa2, 0x0b, 0x05, 0x02, 0xa0, 0xc0, 0x00, 0xaa, 0x10, 0xa2, 0x4b, 0x05, 0x91, 0xa3, 0xda, 0xa8, + 0x7c, 0xc0, 0x20, 0x00, 0x92, 0x29, 0x80, 0x99, 0x4a, 0xc6, 0xbf, 0xff, 0x22, 0x44, 0x1e, 0x06, + 0xb4, 0xff, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xc5, 0xc3, 0x01, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x71, 0xd5, 0xfd, 0x0c, 0x18, 0x78, 0x17, 0x62, 0xa1, 0xd4, 0x6a, 0x67, + 0x52, 0x06, 0x80, 0x00, 0x03, 0x40, 0x50, 0x40, 0xb1, 0x07, 0x64, 0x03, 0x2d, 0x08, 0x0d, 0xf0, + 0x00, 0x13, 0x40, 0x70, 0x93, 0xa0, 0x00, 0xa8, 0xa1, 0xa0, 0xa5, 0x20, 0xa2, 0x46, 0x80, 0x22, + 0x69, 0x96, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0x50, 0x50, 0x00, 0x40, 0x12, 0xc1, 0xf0, 0xc2, + 0x61, 0x01, 0x02, 0x61, 0x00, 0x20, 0xc2, 0x20, 0x28, 0x02, 0x38, 0x3c, 0x39, 0x12, 0x08, 0x7c, + 0x02, 0x10, 0x00, 0x42, 0x1c, 0x04, 0x00, 0x00, 0xb4, 0x47, 0xe0, 0x07, 0x38, 0x1c, 0x85, 0x6f, + 0x04, 0xc6, 0x09, 0x00, 0x32, 0xc4, 0xff, 0x30, 0x30, 0xf4, 0x01, 0xf3, 0xff, 0xc0, 0x00, 0x00, + 0x3d, 0x02, 0x42, 0x1c, 0x04, 0x0c, 0x05, 0x0b, 0x44, 0x59, 0x22, 0x28, 0x0c, 0x40, 0x40, 0xf4, + 0x45, 0x6d, 0x04, 0x38, 0x1c, 0x0c, 0x14, 0x2d, 0x03, 0x45, 0x7d, 0x04, 0x2d, 0x0c, 0x0c, 0x73, + 0x05, 0x5b, 0xfc, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x21, 0x21, 0xff, 0x3f, + 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0x02, 0x61, 0x00, 0x20, 0xc2, 0x20, 0x0c, 0x00, 0x28, 0x02, + 0x38, 0x3c, 0x39, 0x12, 0x38, 0x1c, 0x42, 0x1c, 0x04, 0x09, 0x23, 0x01, 0x6e, 0xda, 0xc0, 0x00, + 0x00, 0x21, 0xf6, 0xff, 0x32, 0x1c, 0x04, 0x02, 0x02, 0x00, 0x1c, 0xd4, 0x3a, 0x00, 0x00, 0x00, + 0x74, 0x07, 0xb4, 0x0a, 0x0c, 0x04, 0x42, 0x42, 0x00, 0x45, 0xbe, 0xf6, 0x86, 0x00, 0x00, 0x02, + 0x42, 0x00, 0x0c, 0x22, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0xd9, 0x21, 0xc9, 0x11, 0x09, 0x01, 0xcd, 0x02, 0x8c, 0x42, 0x01, 0x7e, 0xdb, + 0xc0, 0x00, 0x00, 0x0c, 0x0d, 0xd0, 0x2d, 0x20, 0xc5, 0x72, 0xfc, 0x16, 0x42, 0x08, 0xd2, 0xcd, + 0x01, 0xd0, 0xd0, 0x74, 0x66, 0x5d, 0xed, 0xd1, 0x90, 0xfd, 0x02, 0x2d, 0x01, 0x58, 0x00, 0x50, + 0x40, 0x60, 0x50, 0x44, 0x10, 0x40, 0xf4, 0x40, 0x40, 0x40, 0x60, 0x42, 0xc4, 0x1f, 0x96, 0x64, + 0x07, 0xb0, 0x24, 0x11, 0x2a, 0x20, 0x68, 0x82, 0x56, 0x76, 0x05, 0x38, 0xd2, 0x22, 0x02, 0x2c, + 0x56, 0xf3, 0x04, 0xf6, 0x82, 0x1b, 0x9c, 0x32, 0x26, 0x32, 0x11, 0xb6, 0x32, 0x09, 0x0c, 0x15, + 0xb6, 0x62, 0x10, 0x0c, 0x05, 0xc6, 0x02, 0x00, 0x0c, 0x35, 0x86, 0x01, 0x00, 0x0c, 0x25, 0x46, + 0x00, 0x00, 0x0c, 0x45, 0x50, 0x70, 0x74, 0x40, 0x80, 0x74, 0x52, 0xa0, 0x01, 0x00, 0x18, 0x40, + 0x00, 0x77, 0xa0, 0x62, 0x27, 0x01, 0x82, 0xaf, 0xff, 0x00, 0x55, 0xa1, 0x80, 0x55, 0x30, 0x50, + 0x66, 0x10, 0x69, 0x17, 0x48, 0x00, 0x0c, 0x92, 0x50, 0x44, 0x10, 0x49, 0x00, 0xc5, 0xca, 0x01, + 0x86, 0xe1, 0xff, 0x8c, 0x4c, 0x01, 0x59, 0xdb, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0xc8, 0x11, 0xd8, + 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x98, 0x80, 0x56, 0x59, 0xfe, 0xa2, 0x20, 0x10, + 0x56, 0xfa, 0xfd, 0xb2, 0x20, 0x18, 0x56, 0x9b, 0xfd, 0xd2, 0x20, 0x8d, 0x56, 0x3d, 0xfd, 0x22, + 0x20, 0x8f, 0x56, 0xd2, 0xfc, 0x8c, 0x4c, 0x01, 0x4d, 0xdb, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x86, + 0xf2, 0xff, 0x00, 0x00, 0x22, 0x21, 0xff, 0x3f, 0x0c, 0x07, 0x12, 0xc1, 0xe0, 0xc9, 0x21, 0xd9, + 0x31, 0x09, 0x11, 0xf9, 0x51, 0xe9, 0x41, 0x79, 0x61, 0xe1, 0x5b, 0xfd, 0x0c, 0x1f, 0x85, 0x37, + 0x01, 0x16, 0x02, 0x10, 0x52, 0xa1, 0xd4, 0xd8, 0x72, 0x7c, 0xf0, 0xd2, 0x0d, 0x0e, 0x29, 0x01, + 0xd0, 0xc0, 0x60, 0xd0, 0xcc, 0x10, 0xc0, 0xfc, 0x40, 0xc0, 0xc0, 0x60, 0xc2, 0xcc, 0x1f, 0x96, + 0xec, 0x02, 0x68, 0x1e, 0x5a, 0x36, 0x32, 0x03, 0x80, 0x00, 0x0c, 0x40, 0x30, 0x30, 0x91, 0x07, + 0x63, 0x0f, 0x60, 0x0c, 0xa0, 0x02, 0x20, 0x96, 0x28, 0x01, 0xc0, 0x00, 0x00, 0x7c, 0xf0, 0x52, + 0xa1, 0xd4, 0x00, 0x1c, 0x40, 0x00, 0x3f, 0xa1, 0x00, 0x33, 0x30, 0x30, 0xdd, 0x10, 0x86, 0xef, + 0xff, 0x52, 0x21, 0x00, 0x61, 0xe4, 0xff, 0x52, 0x25, 0x07, 0x62, 0x06, 0x00, 0x42, 0x25, 0x00, + 0x72, 0x05, 0x04, 0x40, 0x06, 0x41, 0xc7, 0xf4, 0x2b, 0x70, 0x74, 0x41, 0x7a, 0x66, 0x60, 0x60, + 0x74, 0xb6, 0x56, 0x1a, 0x0c, 0x12, 0x0c, 0x03, 0x81, 0xdb, 0xff, 0x0c, 0x07, 0x72, 0x48, 0x00, + 0x45, 0x5a, 0xfa, 0x58, 0x01, 0x58, 0x75, 0x08, 0x05, 0x00, 0x06, 0x41, 0x46, 0x01, 0x00, 0x71, + 0xd5, 0xff, 0x62, 0x47, 0x00, 0xd7, 0x60, 0x45, 0x27, 0xf0, 0x13, 0x37, 0x60, 0x10, 0x32, 0x21, + 0x00, 0x28, 0x53, 0xc5, 0x2d, 0x03, 0x58, 0x01, 0x58, 0x75, 0x08, 0x05, 0x00, 0x06, 0x41, 0xb7, + 0x60, 0x21, 0x62, 0x05, 0x0f, 0x66, 0x16, 0x1b, 0x22, 0x05, 0x00, 0x20, 0x21, 0x04, 0x05, 0x37, + 0x00, 0x8c, 0xf2, 0x31, 0x1c, 0xfd, 0x32, 0x03, 0x00, 0xcc, 0x43, 0xc5, 0x96, 0xf6, 0x86, 0x00, + 0x00, 0x85, 0xd7, 0xff, 0x28, 0x01, 0x85, 0xdd, 0xff, 0x29, 0x61, 0xc6, 0x03, 0x00, 0xe7, 0x60, + 0x19, 0x0c, 0x44, 0x49, 0x61, 0x46, 0x01, 0x00, 0x00, 0x55, 0x05, 0x56, 0xf5, 0xf0, 0x28, 0x01, + 0x38, 0x61, 0x05, 0x36, 0xfc, 0x46, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xf7, 0x60, 0xe9, 0x0c, 0x56, + 0x69, 0x61, 0x06, 0xfa, 0xff, 0x81, 0x0b, 0xfd, 0x0c, 0x07, 0x72, 0x48, 0x18, 0x22, 0xc8, 0x1c, + 0x01, 0x13, 0xf8, 0xc0, 0x00, 0x00, 0x01, 0xfc, 0xda, 0xc0, 0x00, 0x00, 0x0c, 0x0c, 0xc0, 0x2c, + 0x20, 0x45, 0x52, 0xfc, 0x16, 0x12, 0x08, 0xc2, 0xcc, 0x01, 0xc0, 0xc0, 0x74, 0x66, 0x5c, 0xed, + 0x62, 0x2e, 0x01, 0x38, 0x06, 0x30, 0x00, 0x60, 0x30, 0x00, 0x10, 0x00, 0xf0, 0x40, 0x00, 0x00, + 0x60, 0x02, 0xc0, 0x1f, 0x96, 0x90, 0x08, 0xb0, 0x20, 0x11, 0x2a, 0x26, 0x48, 0x82, 0x56, 0x74, + 0x05, 0x38, 0xd2, 0x22, 0x02, 0x2c, 0x56, 0xf3, 0x04, 0xf6, 0x82, 0x1d, 0x9c, 0x52, 0x26, 0x32, + 0x13, 0xb6, 0x32, 0x09, 0x0c, 0x13, 0xb6, 0x62, 0x06, 0x0c, 0x03, 0x46, 0x00, 0x00, 0x0c, 0x33, + 0x2d, 0x03, 0xc6, 0x01, 0x00, 0x0c, 0x22, 0x86, 0x00, 0x00, 0x22, 0xa0, 0x04, 0x20, 0x80, 0x74, + 0x00, 0x90, 0x74, 0x00, 0x19, 0x40, 0x60, 0x88, 0xa0, 0x72, 0x28, 0x01, 0x92, 0xaf, 0xff, 0x00, + 0x5f, 0xa1, 0x90, 0x55, 0x30, 0x50, 0x77, 0x10, 0x79, 0x18, 0x48, 0x06, 0x0c, 0x92, 0x50, 0x44, + 0x10, 0x49, 0x06, 0x85, 0xaa, 0x01, 0x86, 0xe1, 0xff, 0x01, 0xd8, 0xda, 0xc0, 0x00, 0x00, 0x02, + 0xa0, 0x01, 0x56, 0xc0, 0x00, 0x45, 0x09, 0xff, 0x8c, 0x62, 0x05, 0x1b, 0xff, 0x8c, 0x12, 0x45, + 0x44, 0xff, 0xc8, 0x21, 0xd8, 0x31, 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, + 0xf0, 0xb8, 0x86, 0x56, 0x2b, 0xfd, 0xc2, 0x26, 0x10, 0x56, 0xcc, 0xfc, 0xd2, 0x26, 0x18, 0x56, + 0x6d, 0xfc, 0xe2, 0x26, 0x8d, 0x56, 0x0e, 0xfc, 0xf2, 0x26, 0x8f, 0x56, 0xaf, 0xfb, 0x01, 0xc7, + 0xda, 0xc0, 0x00, 0x00, 0x0c, 0x00, 0x06, 0xee, 0xff, 0x00, 0x00, 0x00, 0x22, 0xa0, 0x00, 0x12, + 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x85, 0x1c, 0xff, 0x02, 0x21, 0x00, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0xd2, 0x61, 0x02, 0x02, 0x61, 0x00, 0xdd, 0x02, 0x01, 0xba, + 0xda, 0xc0, 0x00, 0x00, 0x2d, 0x0d, 0x05, 0x42, 0xfc, 0xcc, 0x92, 0x01, 0xb8, 0xda, 0xc0, 0x00, + 0x00, 0x7c, 0xf2, 0x46, 0x2e, 0x00, 0xd0, 0x2d, 0x20, 0x05, 0x3c, 0x01, 0x20, 0xc2, 0x20, 0x56, + 0xa2, 0x00, 0x01, 0xb2, 0xda, 0xc0, 0x00, 0x00, 0x7c, 0xe2, 0x86, 0x28, 0x00, 0x02, 0x22, 0x07, + 0x08, 0x00, 0x00, 0x08, 0x05, 0x16, 0x80, 0x08, 0x28, 0x52, 0x85, 0x19, 0x03, 0x9c, 0x72, 0x38, + 0x7c, 0x32, 0x03, 0x04, 0x28, 0x5c, 0x30, 0x30, 0x34, 0x85, 0x19, 0x03, 0x8c, 0x82, 0x2d, 0x0c, + 0x05, 0x95, 0x00, 0xcd, 0x02, 0x06, 0x1a, 0x00, 0xc0, 0x2c, 0x20, 0xc5, 0x83, 0x00, 0x32, 0x2c, + 0x06, 0x62, 0xa0, 0x00, 0x16, 0x93, 0x05, 0x0d, 0x03, 0x69, 0x6c, 0x48, 0x1c, 0x78, 0x7c, 0x69, + 0x24, 0x58, 0x10, 0x2d, 0x00, 0x08, 0x60, 0x69, 0x25, 0x56, 0x40, 0xff, 0x51, 0xb3, 0xfc, 0x0d, + 0x07, 0x72, 0x07, 0x00, 0x58, 0x15, 0x70, 0x72, 0x34, 0xb0, 0x77, 0x11, 0x7a, 0x75, 0x78, 0x87, + 0x79, 0x62, 0xcc, 0xe7, 0x92, 0x00, 0x00, 0x82, 0xc2, 0x18, 0x90, 0x92, 0x34, 0xb0, 0x99, 0x11, + 0x9a, 0x95, 0x89, 0x99, 0xb2, 0x00, 0x00, 0xb0, 0xb2, 0x34, 0xb0, 0xbb, 0x11, 0xb0, 0xb5, 0x80, + 0x32, 0x6b, 0x08, 0xa2, 0x00, 0x00, 0xa0, 0xa2, 0x34, 0xb0, 0xaa, 0x11, 0xa0, 0xa5, 0x80, 0x69, + 0xda, 0x01, 0x8a, 0xda, 0xc0, 0x00, 0x00, 0x3d, 0x0d, 0x2d, 0x0c, 0x05, 0x90, 0xfd, 0x0c, 0x02, + 0xc8, 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x31, 0x9b, 0xfc, 0x0c, + 0x02, 0x22, 0x43, 0x08, 0x0d, 0xf0, 0x00, 0x00, 0x31, 0x98, 0xfc, 0x0c, 0x02, 0x22, 0x43, 0x09, + 0x0d, 0xf0, 0x00, 0x00, 0x21, 0x95, 0xfc, 0x22, 0x02, 0x09, 0x0d, 0xf0, 0xb0, 0x1b, 0xff, 0x3f, + 0xb0, 0x1f, 0xff, 0x3f, 0xf0, 0x1f, 0xff, 0x3f, 0x84, 0x80, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0x09, + 0x21, 0x01, 0x8d, 0xfc, 0x29, 0x11, 0x02, 0x00, 0x08, 0x39, 0x01, 0x56, 0xf0, 0x04, 0x21, 0xf7, + 0xff, 0x38, 0x11, 0x48, 0x01, 0x38, 0x33, 0x70, 0x44, 0x11, 0x4a, 0x22, 0xcb, 0x33, 0x42, 0xa2, + 0x00, 0x01, 0xf1, 0xd9, 0xc0, 0x00, 0x00, 0x2c, 0x04, 0x38, 0x01, 0x21, 0xf1, 0xff, 0xb0, 0x33, + 0x11, 0x3a, 0x22, 0x38, 0x11, 0x01, 0xec, 0xd9, 0xc0, 0x00, 0x00, 0x41, 0xee, 0xff, 0x28, 0x01, + 0x38, 0x11, 0x20, 0x22, 0x90, 0x38, 0x03, 0x40, 0x22, 0xa0, 0x0c, 0xc4, 0x01, 0xe7, 0xd9, 0xc0, + 0x00, 0x00, 0x61, 0xe9, 0xff, 0x58, 0x01, 0x0c, 0x14, 0x6a, 0x55, 0x42, 0x45, 0x00, 0x08, 0x21, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x51, 0x74, 0xfc, 0x32, 0x05, 0x08, 0xcc, 0x73, + 0x0c, 0x04, 0xcb, 0x65, 0x6a, 0x62, 0x42, 0x46, 0x00, 0x0d, 0xf0, 0x00, 0x51, 0x6f, 0xfc, 0x42, + 0x05, 0x08, 0xcc, 0x84, 0x72, 0xc5, 0x10, 0x70, 0x33, 0xa0, 0x68, 0x03, 0x8c, 0x26, 0x0c, 0x02, + 0x0d, 0xf0, 0x29, 0x03, 0x0c, 0x12, 0x0d, 0xf0, 0x41, 0x68, 0xfc, 0x51, 0x5a, 0xfc, 0x0c, 0x03, + 0x22, 0x45, 0x44, 0x32, 0x44, 0x0a, 0x0d, 0xf0, 0x18, 0x19, 0xff, 0x3f, 0x12, 0xc1, 0xf0, 0x02, + 0x61, 0x00, 0x01, 0x61, 0xfc, 0x02, 0x00, 0x0a, 0x56, 0xb0, 0x01, 0x22, 0xa0, 0x00, 0x85, 0xf1, + 0xfa, 0x21, 0xf9, 0xff, 0x01, 0x5a, 0xf7, 0xc0, 0x00, 0x00, 0x21, 0xf7, 0xff, 0x1c, 0x43, 0x0c, + 0x04, 0x01, 0x7f, 0xf7, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x54, 0xfc, 0x02, 0x00, 0x0a, 0xcc, 0x70, 0x21, 0x45, 0xfc, + 0x22, 0x02, 0x44, 0x45, 0xee, 0xfa, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x03, 0x20, 0xc2, 0x20, 0x21, 0x4b, 0xfc, 0x02, 0x61, 0x02, 0x02, + 0x02, 0x08, 0xdc, 0xc0, 0x02, 0xc2, 0x10, 0x00, 0x0c, 0xa0, 0x38, 0x00, 0x9c, 0x23, 0xcb, 0x32, + 0x3a, 0x3c, 0x32, 0x03, 0x00, 0x09, 0x11, 0x8c, 0x73, 0x0c, 0x72, 0x85, 0xe9, 0xfb, 0x29, 0x01, + 0xcc, 0x32, 0x0c, 0x02, 0x06, 0x22, 0x00, 0x31, 0xae, 0xff, 0xb0, 0x4c, 0x11, 0x4a, 0x33, 0x2c, + 0x04, 0x01, 0xa9, 0xd9, 0xc0, 0x00, 0x00, 0x68, 0x01, 0x91, 0xff, 0xd8, 0xa8, 0x76, 0xc0, 0x20, + 0x00, 0x0c, 0x15, 0x41, 0xa8, 0xff, 0xc0, 0x3c, 0x90, 0x28, 0x11, 0x92, 0x29, 0x80, 0x99, 0x1a, + 0x78, 0x02, 0x40, 0x33, 0xa0, 0x79, 0x06, 0x0c, 0xc4, 0x88, 0x02, 0x89, 0x16, 0x78, 0x17, 0x52, + 0x56, 0x04, 0x79, 0x36, 0x28, 0x02, 0x01, 0x9c, 0xd9, 0xc0, 0x00, 0x00, 0x28, 0x01, 0x88, 0x02, + 0x78, 0x32, 0x79, 0x18, 0x52, 0xa0, 0xbf, 0x48, 0x12, 0xc0, 0x20, 0x00, 0x32, 0x04, 0x03, 0x50, + 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, 0x44, 0x03, 0x28, 0x32, 0x31, 0x94, 0xff, 0x70, 0x4c, 0x11, + 0x4a, 0x33, 0xcb, 0x22, 0x42, 0xa2, 0x00, 0x01, 0x90, 0xd9, 0xc0, 0x00, 0x00, 0xa8, 0x11, 0xc8, + 0x01, 0x0c, 0x09, 0x2d, 0x0c, 0xb8, 0x3c, 0xc8, 0x0c, 0xb2, 0xcb, 0x18, 0xb9, 0x1c, 0x99, 0x0a, + 0xc8, 0x31, 0x08, 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0x52, 0xa0, 0xf0, 0x12, 0xc1, 0xd0, 0xf2, 0x61, 0x08, 0xe2, 0x61, 0x07, 0xd2, 0x61, 0x06, 0xc9, + 0x51, 0x09, 0x41, 0xcd, 0x02, 0x0c, 0xc0, 0xdd, 0x03, 0xe8, 0x02, 0xf1, 0x13, 0xfc, 0xe8, 0x1e, + 0x32, 0x0f, 0x00, 0x42, 0x0e, 0x00, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x00, 0x04, 0x10, 0x09, + 0x91, 0x50, 0x44, 0x10, 0x49, 0x31, 0xa6, 0x13, 0x0c, 0xc5, 0x9c, 0xf7, 0x08, 0x91, 0x2b, 0x32, + 0x30, 0x32, 0x21, 0x32, 0x4f, 0x00, 0x22, 0x0d, 0x03, 0x32, 0x4d, 0x0b, 0x47, 0xe2, 0x05, 0x20, + 0x46, 0x04, 0x16, 0x14, 0x14, 0x57, 0xe2, 0x09, 0x20, 0x57, 0x41, 0xcc, 0x35, 0x0c, 0x0f, 0x46, + 0x00, 0x00, 0x0c, 0x2f, 0x66, 0x80, 0x2d, 0x21, 0xf3, 0xfb, 0x0c, 0x03, 0x32, 0x42, 0x18, 0x22, + 0xc2, 0x1c, 0x01, 0xfa, 0xf6, 0xc0, 0x00, 0x00, 0x05, 0xcd, 0xfe, 0x8c, 0x62, 0xc5, 0xde, 0xfe, + 0x8c, 0x12, 0x05, 0x08, 0xff, 0xab, 0x2e, 0x85, 0xe1, 0xfe, 0x16, 0x02, 0x05, 0x0c, 0x12, 0x05, + 0xe4, 0xfe, 0x06, 0x12, 0x00, 0x56, 0x50, 0x04, 0x58, 0x31, 0x66, 0xe5, 0x40, 0x68, 0x7c, 0x62, + 0x16, 0x00, 0x60, 0x60, 0xb4, 0x60, 0x64, 0x04, 0x56, 0xa6, 0x0d, 0x2d, 0x0e, 0x05, 0xf4, 0xfe, + 0x72, 0x0d, 0x01, 0x29, 0x11, 0x70, 0x76, 0x41, 0x56, 0x87, 0x0f, 0x82, 0x1d, 0x01, 0x80, 0x80, + 0xb4, 0x89, 0x01, 0xc6, 0x3f, 0x00, 0x22, 0xa0, 0x01, 0x32, 0x21, 0x02, 0x05, 0xfd, 0x02, 0x8c, + 0xb2, 0x92, 0x1c, 0x04, 0x66, 0x19, 0x06, 0x2d, 0x0c, 0x0c, 0x13, 0x05, 0xd5, 0xff, 0xb6, 0x2f, + 0x02, 0x46, 0x28, 0x00, 0xa8, 0x5c, 0x16, 0xca, 0x09, 0x2d, 0x0f, 0xab, 0x3e, 0x05, 0xfb, 0x02, + 0x29, 0x5c, 0x3d, 0x0d, 0x45, 0x03, 0x02, 0x02, 0x0d, 0x00, 0x3b, 0x00, 0x02, 0x4d, 0x00, 0xb8, + 0x7c, 0xb2, 0x1b, 0x00, 0xb0, 0xb0, 0xb4, 0x47, 0x6b, 0x02, 0x06, 0x1e, 0x00, 0x22, 0x0e, 0x01, + 0x32, 0x0e, 0x04, 0x67, 0x62, 0x6f, 0x30, 0x30, 0x04, 0x16, 0x73, 0x08, 0x2d, 0x0f, 0x85, 0x6b, + 0x04, 0x62, 0xc2, 0xfe, 0x0c, 0x15, 0x0c, 0x04, 0x60, 0x45, 0x83, 0x16, 0x74, 0x05, 0x71, 0xb3, + 0xff, 0x82, 0x1d, 0x03, 0x92, 0x1d, 0x01, 0xb1, 0xc2, 0xef, 0x90, 0xa0, 0xb4, 0xa2, 0xca, 0xfc, + 0xb0, 0x99, 0x10, 0xa0, 0xa0, 0xb4, 0xa0, 0x99, 0x20, 0x92, 0x5d, 0x01, 0x92, 0x1d, 0x02, 0x00, + 0x88, 0x11, 0x90, 0x88, 0x20, 0x70, 0x78, 0x10, 0x80, 0x88, 0xf4, 0x82, 0xc8, 0xfc, 0x80, 0x80, + 0xf4, 0x80, 0x88, 0x11, 0x80, 0x77, 0x20, 0x72, 0x5d, 0x02, 0x70, 0x70, 0xf5, 0x72, 0x5d, 0x03, + 0x85, 0xc6, 0xf6, 0xc2, 0x0e, 0x04, 0xc0, 0xc0, 0x04, 0x1b, 0xcc, 0xc7, 0x92, 0x07, 0x7c, 0x5e, + 0xe2, 0x4d, 0x08, 0x05, 0xc6, 0xf6, 0x0c, 0x02, 0xc8, 0x51, 0xd8, 0x61, 0xe8, 0x71, 0xf8, 0x81, + 0x08, 0x41, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x57, 0xe2, 0x04, 0x20, 0xf7, 0x41, 0x8c, 0xef, 0x0c, + 0x1f, 0xc6, 0xaf, 0xff, 0x2d, 0x0f, 0x05, 0x62, 0x04, 0x06, 0xdd, 0xff, 0x00, 0x00, 0x00, 0x0c, + 0x2f, 0xc6, 0xab, 0xff, 0x02, 0x1d, 0x03, 0x22, 0x1d, 0x02, 0x00, 0x00, 0x11, 0x20, 0x00, 0x20, + 0x00, 0x08, 0xf4, 0x02, 0x61, 0x00, 0xab, 0x2e, 0x29, 0x21, 0x45, 0xcd, 0xfe, 0x9c, 0xe2, 0x22, + 0x1c, 0x04, 0x66, 0x12, 0x19, 0x2d, 0x0c, 0x58, 0x11, 0x48, 0x01, 0x32, 0xce, 0x18, 0x50, 0x44, + 0xc0, 0x42, 0xc4, 0xfc, 0x40, 0x40, 0xf4, 0x4a, 0x4e, 0x42, 0xc4, 0x18, 0x85, 0xe9, 0xfd, 0x0c, + 0x02, 0x38, 0x21, 0xc5, 0xea, 0x02, 0x16, 0xc2, 0xec, 0x62, 0x1c, 0x04, 0x0b, 0x66, 0x56, 0x46, + 0xec, 0x2d, 0x0c, 0x0c, 0x03, 0x45, 0xc2, 0xff, 0x86, 0xb4, 0xff, 0x00, 0x12, 0xc1, 0xf0, 0xc9, + 0x11, 0x09, 0x01, 0x46, 0x01, 0x00, 0xc0, 0x2c, 0x20, 0x05, 0x73, 0xff, 0xc5, 0xca, 0x00, 0x20, + 0xc2, 0x20, 0x16, 0x22, 0x05, 0x45, 0x31, 0x04, 0x02, 0x2c, 0x03, 0x68, 0x0c, 0x52, 0xc0, 0x18, + 0x59, 0x16, 0x48, 0x7c, 0x42, 0x14, 0x00, 0xcb, 0x30, 0x40, 0x40, 0xb4, 0x47, 0xe4, 0x15, 0x02, + 0x00, 0x14, 0x72, 0xa0, 0xf5, 0x8c, 0x10, 0x77, 0x90, 0xcb, 0x2d, 0x0c, 0x05, 0xdb, 0xff, 0x56, + 0x92, 0xfc, 0x06, 0x02, 0x00, 0xc0, 0x2c, 0x20, 0x45, 0xda, 0xff, 0x56, 0xd2, 0xfb, 0xa1, 0x75, + 0xfb, 0xa2, 0x0a, 0x00, 0x56, 0x8a, 0x00, 0xc0, 0x2c, 0x20, 0xc5, 0x2c, 0xf6, 0xc6, 0xea, 0xff, + 0x2d, 0x0c, 0x85, 0x6d, 0xff, 0xc6, 0xe8, 0xff, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x11, 0xf6, 0xb2, 0x2e, 0x01, 0x77, 0xfb, 0x08, + 0x10, 0xb0, 0x32, 0x11, 0x3a, 0x00, 0x02, 0x00, 0x2f, 0x39, 0x01, 0xdc, 0xc0, 0x01, 0x5a, 0xd9, + 0xc0, 0x00, 0x00, 0x21, 0x71, 0xfb, 0x38, 0x01, 0x28, 0x12, 0x3a, 0x22, 0x28, 0x82, 0x29, 0x21, + 0x01, 0x57, 0xd9, 0xc0, 0x00, 0x00, 0x08, 0x21, 0x46, 0x00, 0x00, 0x0c, 0x00, 0x8c, 0x70, 0x38, + 0x70, 0x38, 0x03, 0x87, 0x73, 0x01, 0x0c, 0x00, 0x2d, 0x00, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0xf6, 0xb2, 0x2b, 0x41, 0x64, 0xfb, 0x48, 0x14, 0xb0, 0x52, 0x11, 0x5a, + 0x44, 0x32, 0x04, 0x2f, 0x28, 0x84, 0xdc, 0x93, 0x9c, 0x92, 0x58, 0x72, 0x58, 0x05, 0x68, 0x62, + 0x87, 0xf5, 0x11, 0x69, 0x84, 0x0c, 0x08, 0xcc, 0x36, 0x72, 0xc4, 0x20, 0x79, 0x94, 0x89, 0x62, + 0x46, 0x00, 0x00, 0x0c, 0x02, 0x8c, 0x72, 0x98, 0x72, 0x98, 0x09, 0x87, 0x79, 0x01, 0x0c, 0x02, + 0x0d, 0xf0, 0x00, 0x00, 0xf6, 0xb2, 0x1e, 0x41, 0x54, 0xfb, 0x48, 0x14, 0xb0, 0x52, 0x11, 0x5a, + 0x44, 0x28, 0x84, 0x9c, 0x12, 0x0c, 0x07, 0x58, 0x62, 0x59, 0x84, 0xcc, 0x35, 0x62, 0xc4, 0x20, + 0x69, 0x94, 0x79, 0x62, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0x58, 0x72, 0x41, 0x4a, + 0xfb, 0x52, 0x05, 0x00, 0x48, 0x14, 0x50, 0x52, 0x34, 0xb0, 0x55, 0x11, 0x5a, 0x44, 0x38, 0x84, + 0x39, 0x62, 0xcc, 0x33, 0x62, 0xc2, 0x18, 0x69, 0x94, 0x29, 0x84, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x10, 0x20, 0xff, 0x3f, 0x0f, 0xf8, 0x00, 0x00, 0x32, 0xa0, 0x06, 0x42, 0xa0, 0x00, 0x12, 0xc1, + 0xf0, 0xc9, 0x31, 0x29, 0x01, 0x09, 0x21, 0x0c, 0x02, 0x45, 0xb1, 0xfb, 0x38, 0x01, 0x61, 0xf8, + 0xff, 0x30, 0x53, 0xb0, 0x60, 0x55, 0xa0, 0x59, 0x11, 0x1c, 0x86, 0x59, 0x02, 0x62, 0x52, 0x08, + 0xcd, 0x02, 0x71, 0x2b, 0xef, 0xc0, 0x20, 0x00, 0x42, 0x15, 0x00, 0x70, 0x44, 0x10, 0x60, 0x44, + 0x20, 0xc0, 0x20, 0x00, 0x0c, 0x16, 0x42, 0x55, 0x00, 0x30, 0x30, 0x24, 0x58, 0x0c, 0xc0, 0x33, + 0x11, 0x62, 0x52, 0x04, 0x28, 0x72, 0x59, 0x1c, 0x02, 0x02, 0x06, 0x42, 0xa0, 0x8f, 0x40, 0x00, + 0x10, 0x30, 0x00, 0x20, 0x02, 0x42, 0x06, 0x01, 0x10, 0xd9, 0xc0, 0x00, 0x00, 0x28, 0x5c, 0x38, + 0x7c, 0x45, 0x2f, 0x02, 0x01, 0x0e, 0xd9, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x85, 0x58, 0x01, 0xb1, + 0xe1, 0xff, 0x31, 0x17, 0xef, 0x0c, 0x07, 0x92, 0xaf, 0x84, 0x22, 0x1c, 0x08, 0x88, 0x11, 0x20, + 0x20, 0xb4, 0x02, 0x18, 0x06, 0xa2, 0x08, 0x0e, 0x92, 0x48, 0x10, 0x72, 0x48, 0x11, 0x80, 0xaa, + 0x11, 0x30, 0x00, 0x10, 0x20, 0x00, 0x20, 0x02, 0x58, 0x06, 0x2d, 0x0c, 0x00, 0x08, 0x74, 0xc8, + 0x31, 0x00, 0xaa, 0x20, 0x08, 0x21, 0xb0, 0xaa, 0x10, 0x12, 0xc1, 0x10, 0xa2, 0x48, 0x0d, 0xb2, + 0xa0, 0xcf, 0xa0, 0xa8, 0x74, 0xb0, 0xaa, 0x10, 0xa2, 0x48, 0x0e, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0xf0, 0xff, 0x00, 0x00, 0x12, 0xc1, 0xe0, 0xd9, 0x51, 0x09, 0x31, 0x49, 0x01, 0xc9, 0x41, 0x59, + 0x21, 0xcd, 0x02, 0xf6, 0x82, 0x1b, 0x9c, 0x32, 0x26, 0x32, 0x11, 0xb6, 0x32, 0x09, 0x0c, 0x10, + 0xb6, 0x62, 0x10, 0x0c, 0x00, 0xc6, 0x02, 0x00, 0x0c, 0x30, 0x86, 0x01, 0x00, 0x0c, 0x20, 0x46, + 0x00, 0x00, 0x0c, 0x40, 0x21, 0xa5, 0xd6, 0xc0, 0x40, 0x34, 0x52, 0xa0, 0xf0, 0x81, 0xfe, 0xfa, + 0x61, 0xbc, 0xff, 0x88, 0x18, 0x00, 0xd0, 0x74, 0x80, 0x8d, 0xa0, 0x82, 0x28, 0x88, 0xd0, 0xdd, + 0xb0, 0x08, 0x78, 0x89, 0x11, 0xb2, 0x00, 0x04, 0x60, 0xdd, 0xa0, 0x50, 0xbb, 0x10, 0x40, 0xbb, + 0x20, 0xb2, 0x40, 0x04, 0xb8, 0x78, 0x92, 0xcd, 0x10, 0xa8, 0x0b, 0x78, 0x08, 0xa0, 0x06, 0x41, + 0x20, 0x00, 0x20, 0xa0, 0xa0, 0x54, 0xa0, 0x00, 0x11, 0x00, 0xaa, 0x20, 0xa9, 0x0b, 0x99, 0x17, + 0x52, 0xa0, 0x80, 0x82, 0x18, 0x08, 0xc0, 0x20, 0x00, 0x42, 0x07, 0x03, 0x40, 0x40, 0x64, 0x50, + 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x47, 0x03, 0x4c, 0x00, 0x22, 0xa0, 0xbf, 0xc0, 0x20, 0x00, + 0xb2, 0x07, 0x03, 0x20, 0xbb, 0x10, 0x00, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x47, 0x03, 0xa2, + 0xa0, 0xdf, 0xc0, 0x20, 0x00, 0x92, 0x07, 0x03, 0xa0, 0x99, 0x10, 0xc0, 0x20, 0x00, 0x92, 0x47, + 0x03, 0x80, 0x80, 0xb4, 0x91, 0xa0, 0xd7, 0x40, 0x88, 0x11, 0xc0, 0x20, 0x00, 0x62, 0x17, 0x01, + 0x00, 0x66, 0x11, 0xc0, 0x20, 0x00, 0xa2, 0x17, 0x00, 0xa0, 0x66, 0x20, 0x90, 0x66, 0x10, 0x80, + 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x57, 0x00, 0x60, 0x60, 0xf5, 0xc0, 0x20, 0x00, 0x22, 0xcd, + 0x14, 0x0c, 0x64, 0x62, 0x57, 0x01, 0x02, 0x0d, 0x11, 0x52, 0xa0, 0xf7, 0x50, 0x00, 0x10, 0x02, + 0x4d, 0x11, 0x01, 0x39, 0xd8, 0xc0, 0x00, 0x00, 0x38, 0x01, 0x22, 0xcd, 0x1a, 0x0c, 0x64, 0x01, + 0x36, 0xd8, 0xc0, 0x00, 0x00, 0x98, 0x31, 0x08, 0x11, 0x31, 0xb9, 0xff, 0xb1, 0xbd, 0xee, 0x40, + 0xac, 0x11, 0x28, 0x21, 0xc8, 0x41, 0xc0, 0x22, 0x11, 0xb0, 0xaa, 0x10, 0x30, 0x22, 0x10, 0x22, + 0x4d, 0x22, 0x0c, 0x4b, 0xb0, 0xaa, 0x20, 0x20, 0x28, 0x41, 0x22, 0x4d, 0x23, 0xa2, 0x4d, 0x20, + 0x2d, 0x00, 0xa0, 0xa8, 0x41, 0xa2, 0x4d, 0x21, 0x0d, 0x09, 0xd8, 0x51, 0x12, 0xc1, 0x20, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x58, 0x02, 0x58, 0x15, 0x0c, 0x43, 0x22, 0x15, 0x00, 0x62, 0x05, 0x02, + 0x20, 0x40, 0x14, 0x40, 0x33, 0xc0, 0x30, 0x30, 0x74, 0x40, 0x43, 0x93, 0x20, 0x38, 0x74, 0x80, + 0x26, 0x11, 0x30, 0x22, 0x20, 0x20, 0x24, 0x64, 0x40, 0x22, 0xa0, 0x20, 0x20, 0xf4, 0x0d, 0xf0, + 0xfc, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xb3, 0x03, 0x12, 0xc1, 0xf0, 0x52, 0x22, 0x00, 0x72, 0x25, + 0x01, 0x09, 0x01, 0x72, 0x17, 0x00, 0xc9, 0x11, 0x70, 0x70, 0xb4, 0x72, 0x52, 0x08, 0x62, 0xa0, + 0xdf, 0xcd, 0x02, 0xc0, 0x20, 0x00, 0x42, 0x05, 0x03, 0x60, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, + 0x45, 0x03, 0x51, 0x63, 0xd7, 0x41, 0xf2, 0xff, 0x28, 0x02, 0xc0, 0x20, 0x00, 0x32, 0x12, 0x01, + 0x00, 0x33, 0x11, 0xc0, 0x20, 0x00, 0x62, 0x12, 0x00, 0x60, 0x33, 0x20, 0x50, 0x33, 0x10, 0x30, + 0x3c, 0x41, 0x4a, 0x33, 0x30, 0x30, 0xb4, 0x41, 0x5b, 0xd7, 0x40, 0x33, 0x11, 0xc0, 0x20, 0x00, + 0x02, 0x12, 0x01, 0x00, 0x00, 0x11, 0xc0, 0x20, 0x00, 0x52, 0x12, 0x00, 0x50, 0x00, 0x20, 0x40, + 0x00, 0x10, 0x30, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x52, 0x00, 0x00, 0x00, 0xf5, 0xc0, 0x20, + 0x00, 0xb8, 0x0c, 0xa8, 0x1b, 0x02, 0x52, 0x01, 0x4b, 0xaa, 0xa9, 0x1b, 0xa8, 0x7c, 0x92, 0x0a, + 0x04, 0x90, 0x90, 0x34, 0x92, 0x4a, 0x04, 0x78, 0x7c, 0x62, 0x07, 0x05, 0x82, 0xa0, 0xc0, 0x80, + 0x66, 0x10, 0x62, 0x47, 0x05, 0x48, 0x7c, 0x5b, 0x54, 0x32, 0x05, 0x01, 0x52, 0x05, 0x00, 0x80, + 0x33, 0x11, 0x50, 0x33, 0x20, 0x51, 0x5c, 0xf3, 0x5b, 0x44, 0x50, 0x33, 0x10, 0x32, 0x44, 0x00, + 0x30, 0x38, 0x41, 0x32, 0x44, 0x01, 0x38, 0x7c, 0x28, 0x03, 0x41, 0xce, 0xff, 0x20, 0x00, 0x54, + 0x20, 0x26, 0x41, 0x40, 0x22, 0x10, 0xa0, 0x22, 0x11, 0x20, 0x00, 0x20, 0x28, 0x5c, 0x09, 0x03, + 0x45, 0x03, 0x02, 0x2d, 0x0c, 0x05, 0x2d, 0x01, 0xb2, 0xa0, 0xbf, 0x4c, 0x0a, 0x98, 0x1c, 0xc0, + 0x20, 0x00, 0x82, 0x09, 0x03, 0xb0, 0x88, 0x10, 0xa0, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x49, + 0x03, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, + 0xb4, 0x31, 0x00, 0x40, 0x12, 0xc1, 0xb0, 0xd9, 0xd1, 0xf9, 0xf1, 0x68, 0x02, 0x58, 0x72, 0xe9, + 0xe1, 0xc9, 0xc1, 0x09, 0xb1, 0xcd, 0x01, 0x08, 0x52, 0xed, 0x02, 0x78, 0x7e, 0x09, 0xa1, 0x78, + 0x07, 0x22, 0x05, 0x04, 0x52, 0x05, 0x00, 0x20, 0x20, 0x34, 0x29, 0x81, 0x50, 0x52, 0x34, 0xe9, + 0x61, 0x48, 0x16, 0x52, 0x61, 0x10, 0x42, 0x04, 0x03, 0x49, 0x91, 0x46, 0x00, 0x00, 0xcd, 0x0d, + 0xd8, 0x6c, 0x56, 0x8d, 0xff, 0x0c, 0x0d, 0xc7, 0xf7, 0x29, 0xf8, 0x16, 0x22, 0x1f, 0x00, 0x0c, + 0x43, 0x20, 0x20, 0xb4, 0x01, 0xeb, 0xff, 0xc0, 0x00, 0x00, 0x32, 0x0f, 0x02, 0x02, 0x0f, 0x01, + 0x80, 0xf3, 0x11, 0x00, 0xff, 0x20, 0xf0, 0xf4, 0x64, 0x1b, 0xff, 0x20, 0xff, 0xa0, 0xf0, 0xf0, + 0xf4, 0x06, 0x08, 0x00, 0x2d, 0x0c, 0xc5, 0xe4, 0xff, 0xf2, 0x1e, 0x08, 0x58, 0x1c, 0x2a, 0xff, + 0xc0, 0x20, 0x00, 0x42, 0x05, 0x03, 0x62, 0xa0, 0xbf, 0x60, 0x44, 0x10, 0xd0, 0x44, 0x20, 0xc0, + 0x20, 0x00, 0x42, 0x45, 0x03, 0x01, 0x09, 0xd7, 0x81, 0x44, 0xfa, 0x62, 0x21, 0x10, 0x58, 0x18, + 0xb0, 0x66, 0x11, 0x6a, 0x55, 0x48, 0x85, 0x62, 0x61, 0x11, 0xdd, 0x04, 0x16, 0x84, 0x09, 0x78, + 0x74, 0x78, 0x07, 0x70, 0x76, 0x41, 0x07, 0x87, 0x02, 0xc6, 0x22, 0x00, 0x28, 0x04, 0x28, 0x12, + 0x22, 0x61, 0x12, 0x22, 0x12, 0x00, 0x0c, 0x43, 0x20, 0x20, 0xb4, 0x01, 0xcd, 0xff, 0xc0, 0x00, + 0x00, 0x02, 0x21, 0x12, 0x81, 0x35, 0xfa, 0x38, 0xa1, 0x20, 0x50, 0xf4, 0x32, 0x13, 0x39, 0xfa, + 0x45, 0x47, 0x33, 0x14, 0x78, 0x91, 0x48, 0xa1, 0x62, 0x00, 0x03, 0x42, 0x04, 0x75, 0x70, 0x66, + 0xc0, 0x60, 0x60, 0x74, 0x0b, 0x44, 0x67, 0xa4, 0x04, 0x0c, 0x06, 0x86, 0x05, 0x00, 0x62, 0x00, + 0x02, 0x72, 0x00, 0x01, 0x80, 0x66, 0x11, 0x70, 0x66, 0x20, 0x60, 0x64, 0x64, 0x1b, 0x66, 0x50, + 0x66, 0xa0, 0x60, 0x60, 0xf4, 0xac, 0x86, 0x01, 0xe9, 0xd6, 0x72, 0x21, 0x11, 0x58, 0x18, 0xfa, + 0xf6, 0x7a, 0x55, 0x48, 0x85, 0xb8, 0x0d, 0x48, 0x64, 0x49, 0x85, 0xcc, 0x34, 0x92, 0xc5, 0x20, + 0x99, 0x95, 0xd9, 0x6c, 0xc8, 0x1c, 0x0c, 0x0a, 0xb9, 0x2c, 0xcd, 0x0d, 0xa9, 0x6d, 0x06, 0xda, + 0xff, 0x62, 0x21, 0x11, 0x58, 0x18, 0x6a, 0x55, 0x16, 0xae, 0x0f, 0x78, 0x7e, 0x52, 0x15, 0x15, + 0x78, 0x07, 0x68, 0x0e, 0x87, 0x77, 0x06, 0x08, 0x16, 0x4b, 0x00, 0x46, 0x00, 0x00, 0x08, 0x16, + 0x68, 0x0c, 0x50, 0x90, 0x74, 0x68, 0x16, 0x78, 0xa1, 0x62, 0x06, 0x03, 0x72, 0x07, 0x75, 0x90, + 0x66, 0xc0, 0x62, 0xd6, 0x01, 0x60, 0x60, 0x74, 0x70, 0x66, 0xc0, 0x1b, 0x66, 0xa6, 0x16, 0x04, + 0x5a, 0x56, 0x50, 0x50, 0xb4, 0x22, 0x21, 0x08, 0x32, 0xc0, 0x04, 0x42, 0xc0, 0x0a, 0x45, 0xbe, + 0xff, 0x2d, 0x0c, 0x05, 0xd3, 0xff, 0x08, 0x7e, 0x20, 0x2f, 0xc0, 0x22, 0x5e, 0x08, 0xd2, 0x00, + 0x04, 0xd0, 0xd0, 0x34, 0xd2, 0x40, 0x04, 0xa8, 0x7e, 0x92, 0x0a, 0x05, 0xb2, 0xa0, 0xc0, 0xb0, + 0x99, 0x10, 0x92, 0x4a, 0x05, 0x98, 0x7e, 0xa1, 0xd8, 0xf2, 0x82, 0x09, 0x06, 0xb2, 0x09, 0x05, + 0x80, 0x88, 0x11, 0xb0, 0x88, 0x20, 0xa0, 0x88, 0x10, 0x82, 0x49, 0x05, 0x80, 0x88, 0x41, 0x82, + 0x49, 0x06, 0x38, 0x7e, 0x28, 0x5e, 0x78, 0x03, 0x81, 0x89, 0xff, 0x70, 0x60, 0x54, 0x70, 0x76, + 0x41, 0x80, 0x77, 0x20, 0xa0, 0x77, 0x11, 0x70, 0x66, 0x20, 0x69, 0x03, 0x05, 0xeb, 0x01, 0x38, + 0x7e, 0x32, 0x03, 0x08, 0xf6, 0xb3, 0x11, 0x21, 0x26, 0xfa, 0x31, 0x26, 0xfa, 0x42, 0xa5, 0xe8, + 0x01, 0x24, 0xd5, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0xe0, 0x2e, 0x20, 0x85, 0x09, 0x01, 0xa2, + 0xa0, 0x40, 0x92, 0x2c, 0x01, 0xc0, 0x20, 0x00, 0x82, 0x09, 0x03, 0xb2, 0xa0, 0xbf, 0xb0, 0x88, + 0x10, 0xa0, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x0c, 0x14, 0x82, 0x49, 0x03, 0x72, 0x21, 0x11, 0x51, + 0xde, 0xf9, 0x62, 0x21, 0x10, 0x58, 0x15, 0xb0, 0x66, 0x11, 0x5a, 0x77, 0xe9, 0xd7, 0x6a, 0x55, + 0x42, 0x45, 0x29, 0x06, 0x02, 0x00, 0x2d, 0x0e, 0x0c, 0x0c, 0xc9, 0xd5, 0x85, 0xca, 0xff, 0x08, + 0xb1, 0xc8, 0xc1, 0xd8, 0xd1, 0x2d, 0x0e, 0xf8, 0xf1, 0xe8, 0xe1, 0x12, 0xc1, 0x50, 0x0d, 0xf0, + 0x12, 0xc1, 0xf0, 0x09, 0x21, 0xf6, 0x82, 0x1b, 0x9c, 0x32, 0x26, 0x32, 0x11, 0xb6, 0x32, 0x09, + 0x0c, 0x10, 0xb6, 0x62, 0x11, 0x0c, 0x00, 0x06, 0x03, 0x00, 0x0c, 0x30, 0xc6, 0x01, 0x00, 0x0c, + 0x20, 0x86, 0x00, 0x00, 0x02, 0xa0, 0x04, 0x41, 0xc8, 0xf9, 0x00, 0x30, 0x74, 0x42, 0x24, 0x01, + 0x39, 0x01, 0x40, 0x33, 0xa0, 0x32, 0x23, 0x88, 0x78, 0x73, 0x62, 0x07, 0x05, 0x82, 0xa0, 0xc0, + 0x80, 0x66, 0x10, 0x62, 0x47, 0x05, 0x68, 0x73, 0x71, 0x9c, 0xf2, 0x52, 0x06, 0x06, 0x82, 0x06, + 0x05, 0x80, 0x55, 0x11, 0x80, 0x55, 0x20, 0x70, 0x55, 0x10, 0x52, 0x46, 0x05, 0x50, 0x58, 0x41, + 0x52, 0x46, 0x06, 0x58, 0x73, 0x42, 0x05, 0x04, 0x39, 0x11, 0x40, 0x40, 0x34, 0x42, 0x45, 0x04, + 0x28, 0x53, 0x38, 0x73, 0x45, 0xe2, 0x01, 0x41, 0x72, 0xfe, 0x38, 0x01, 0x28, 0x11, 0x30, 0x33, + 0xb0, 0x58, 0x02, 0x40, 0x33, 0xa0, 0x32, 0xc3, 0x10, 0x39, 0x15, 0x62, 0x12, 0x08, 0x32, 0xa0, + 0x80, 0xc0, 0x20, 0x00, 0x02, 0x05, 0x03, 0x00, 0x00, 0x64, 0x30, 0x00, 0x20, 0xc0, 0x20, 0x00, + 0x02, 0x45, 0x03, 0xb2, 0xa0, 0xbf, 0x4c, 0x0a, 0xc0, 0x20, 0x00, 0x92, 0x05, 0x03, 0xb0, 0x99, + 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x45, 0x03, 0x82, 0xa0, 0xdf, 0xc0, 0x20, 0x00, + 0x72, 0x05, 0x03, 0x80, 0x77, 0x10, 0xc0, 0x20, 0x00, 0x72, 0x45, 0x03, 0x60, 0x60, 0xb4, 0x40, + 0x66, 0x11, 0x71, 0x60, 0xd6, 0xc0, 0x20, 0x00, 0x42, 0x15, 0x01, 0x00, 0x44, 0x11, 0xc0, 0x20, + 0x00, 0x82, 0x15, 0x00, 0x80, 0x44, 0x20, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, + 0x42, 0x55, 0x00, 0x40, 0x40, 0xf5, 0xc0, 0x20, 0x00, 0x38, 0x72, 0x42, 0x55, 0x01, 0x32, 0x03, + 0x06, 0x30, 0x34, 0x24, 0x45, 0xcc, 0xfc, 0x08, 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x41, 0x8e, 0xf9, 0x48, 0x14, 0xb0, 0x52, 0x11, 0x5a, 0x44, 0x32, 0x44, 0x28, 0x0d, 0xf0, 0x00, + 0x81, 0x8a, 0xf9, 0x88, 0x18, 0xb0, 0x92, 0x11, 0x9a, 0x88, 0x32, 0x58, 0x15, 0x59, 0xe8, 0x72, + 0x08, 0x28, 0x49, 0xf8, 0x6a, 0x77, 0x72, 0x48, 0x28, 0x0d, 0xf0, 0x00, 0x10, 0x88, 0xfe, 0x3f, + 0x32, 0xa0, 0xa0, 0x30, 0x11, 0xc0, 0xe2, 0x61, 0x20, 0x02, 0x61, 0x1d, 0xc2, 0x61, 0x1e, 0xf2, + 0x61, 0x21, 0xf1, 0x7d, 0xf9, 0xd2, 0x61, 0x1f, 0xd8, 0x1f, 0xb0, 0xc2, 0x11, 0xca, 0xdd, 0xd2, + 0x0d, 0x2c, 0x22, 0x61, 0x1c, 0xf6, 0x8d, 0x12, 0x16, 0x8d, 0x05, 0x26, 0x3d, 0x55, 0xb6, 0x3d, + 0x4d, 0x0c, 0x12, 0xb6, 0x6d, 0x06, 0x0c, 0x02, 0x46, 0x00, 0x00, 0x0c, 0x42, 0x45, 0xfe, 0xfb, + 0x20, 0xe2, 0x20, 0x32, 0xa0, 0x00, 0x0c, 0x12, 0xc5, 0x67, 0xf9, 0x08, 0x1f, 0xe2, 0x61, 0x13, + 0xca, 0x00, 0x22, 0x00, 0x29, 0xe8, 0xd0, 0xdc, 0x02, 0x21, 0xa5, 0xf9, 0x31, 0xa6, 0xf9, 0x42, + 0xa6, 0x8b, 0x01, 0xa3, 0xd4, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0xdc, 0xae, 0x21, 0xa0, 0xf9, + 0x31, 0xa1, 0xf9, 0x42, 0xa6, 0x8d, 0x01, 0x9e, 0xd4, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x0c, + 0x32, 0x06, 0xee, 0xff, 0x0c, 0x22, 0xc6, 0xec, 0xff, 0x2d, 0x01, 0x38, 0x7e, 0x1c, 0x84, 0x01, + 0xca, 0xd6, 0xc0, 0x00, 0x00, 0x32, 0xc1, 0x18, 0x52, 0xc1, 0x38, 0x91, 0x37, 0xf2, 0x5b, 0x81, + 0xb2, 0xa0, 0xc0, 0xa2, 0x01, 0x05, 0x0c, 0x5f, 0xf2, 0x41, 0x0f, 0xb0, 0xaa, 0x10, 0xa2, 0x41, + 0x05, 0x72, 0x08, 0x01, 0xa2, 0x08, 0x00, 0x80, 0x77, 0x11, 0xa0, 0x77, 0x20, 0x90, 0x77, 0x10, + 0x72, 0x48, 0x00, 0x70, 0x78, 0x41, 0x72, 0x48, 0x01, 0xf2, 0x1e, 0x08, 0x28, 0x7e, 0x48, 0x0e, + 0x68, 0x5e, 0x62, 0x61, 0x12, 0x59, 0x13, 0x49, 0x25, 0xe9, 0x63, 0x22, 0x02, 0x04, 0xf2, 0x61, + 0x15, 0x20, 0x24, 0x41, 0x22, 0x61, 0x16, 0x01, 0x30, 0xd7, 0xc0, 0x00, 0x00, 0x01, 0x46, 0xf9, + 0x08, 0x10, 0xca, 0x00, 0x28, 0xe0, 0x38, 0xf0, 0x42, 0x10, 0x15, 0x42, 0x61, 0x14, 0x32, 0x61, + 0x18, 0x22, 0x61, 0x19, 0x02, 0x00, 0x28, 0x02, 0x61, 0x17, 0x01, 0x28, 0xd7, 0xc0, 0x00, 0x00, + 0xc2, 0x61, 0x11, 0x92, 0x21, 0x14, 0x0c, 0x06, 0x0c, 0x07, 0x82, 0xc1, 0x18, 0x82, 0x61, 0x25, + 0x72, 0x61, 0x1a, 0x62, 0x61, 0x1b, 0x90, 0x90, 0x74, 0x92, 0x61, 0x22, 0xc2, 0x21, 0x25, 0x21, + 0x12, 0xf2, 0xc8, 0x6c, 0x5b, 0x31, 0x16, 0x2c, 0x15, 0x42, 0x03, 0x01, 0x52, 0x03, 0x00, 0x80, + 0x44, 0x11, 0x50, 0x44, 0x20, 0x20, 0x24, 0x10, 0x40, 0x46, 0x54, 0x1b, 0x44, 0x40, 0x40, 0x54, + 0xa0, 0x44, 0x11, 0x40, 0x22, 0x20, 0x22, 0x43, 0x00, 0x20, 0x28, 0x41, 0x22, 0x43, 0x01, 0x08, + 0x0c, 0x08, 0x10, 0x22, 0x21, 0x22, 0x02, 0x00, 0x03, 0x2c, 0x05, 0x20, 0x00, 0xc0, 0x02, 0xd0, + 0x01, 0x00, 0x00, 0x74, 0xe6, 0xd0, 0x3c, 0x07, 0x25, 0x2a, 0x00, 0x00, 0x40, 0x02, 0x21, 0x18, + 0x00, 0x00, 0x91, 0x07, 0x60, 0x2d, 0x22, 0xa0, 0xc0, 0x32, 0x01, 0x05, 0x0c, 0x14, 0x42, 0x61, + 0x24, 0x20, 0x23, 0x10, 0x30, 0x30, 0x54, 0x1b, 0x33, 0x30, 0x30, 0x54, 0x30, 0x22, 0x20, 0x22, + 0x41, 0x05, 0x46, 0x07, 0x00, 0x22, 0xc0, 0xe0, 0x02, 0x21, 0x19, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x91, 0x86, 0xf3, 0xff, 0xc0, 0x2c, 0x20, 0x45, 0x53, 0xfc, 0x16, 0x32, 0x0a, 0x32, 0xa0, 0x00, + 0x32, 0x61, 0x24, 0x42, 0x2c, 0x06, 0xcc, 0xa4, 0x2d, 0x0c, 0x85, 0x95, 0xff, 0xfa, 0xf2, 0x0c, + 0x15, 0x52, 0x61, 0x1a, 0x22, 0x2c, 0x00, 0x22, 0x22, 0x01, 0x22, 0x61, 0x23, 0x22, 0x12, 0x00, + 0x32, 0xa0, 0x04, 0x20, 0x20, 0xb4, 0x01, 0x9e, 0xfe, 0xc0, 0x00, 0x00, 0x0c, 0x07, 0x68, 0x7c, + 0x32, 0x21, 0x23, 0x92, 0x21, 0x25, 0xa8, 0x1c, 0x08, 0x19, 0xb8, 0x2a, 0x42, 0x03, 0x01, 0x88, + 0x06, 0x32, 0x03, 0x02, 0x80, 0x50, 0x54, 0x80, 0x86, 0x41, 0x80, 0x33, 0x11, 0x40, 0x33, 0x20, + 0xb9, 0x20, 0x30, 0x34, 0x64, 0x1b, 0x33, 0x79, 0x2a, 0x20, 0x33, 0xa0, 0xa1, 0x6e, 0xed, 0x30, + 0xff, 0xc0, 0xa0, 0x88, 0x20, 0xa0, 0x88, 0x11, 0x80, 0x55, 0x20, 0x88, 0x6c, 0x89, 0x69, 0x79, + 0x6c, 0x59, 0x06, 0x01, 0xdd, 0xd6, 0xc0, 0x00, 0x00, 0x42, 0x21, 0x24, 0x8c, 0xb4, 0x3d, 0x0c, + 0x22, 0x21, 0x13, 0x0c, 0x04, 0xc5, 0xdf, 0xfb, 0x46, 0x02, 0x00, 0x3d, 0x0c, 0x22, 0x21, 0x13, + 0x0c, 0x04, 0xc5, 0xdd, 0xfb, 0x01, 0xd5, 0xd6, 0xc0, 0x00, 0x00, 0x46, 0xb3, 0xff, 0x00, 0x00, + 0x00, 0xc2, 0x61, 0x1b, 0x58, 0x7c, 0x22, 0x21, 0x25, 0x58, 0x05, 0x08, 0x0c, 0x87, 0x75, 0x06, + 0x08, 0x10, 0x4b, 0x00, 0x46, 0x00, 0x00, 0x08, 0x10, 0x32, 0x00, 0x01, 0x0c, 0x84, 0x40, 0x33, + 0x20, 0x32, 0x40, 0x01, 0x28, 0x62, 0x22, 0x61, 0x25, 0xc6, 0xa7, 0xff, 0x62, 0x21, 0x1a, 0x72, + 0x21, 0x1b, 0x16, 0x86, 0x00, 0x8c, 0x57, 0x2d, 0x07, 0x85, 0x88, 0xff, 0xfa, 0xf2, 0x82, 0x21, + 0x17, 0xcc, 0xb8, 0x0c, 0x1a, 0xa2, 0x41, 0x0f, 0x98, 0x7e, 0x92, 0x09, 0x09, 0x92, 0x41, 0x09, + 0x3d, 0x01, 0x42, 0x21, 0x15, 0xc2, 0x21, 0x16, 0xb2, 0x01, 0x04, 0xc0, 0xc0, 0x34, 0xb0, 0xb0, + 0x34, 0xc0, 0xcc, 0x11, 0xc0, 0xbb, 0x20, 0xc2, 0x21, 0x12, 0xb2, 0x41, 0x04, 0x2d, 0x0c, 0x45, + 0x46, 0x01, 0x2d, 0x0c, 0xe2, 0xc1, 0x18, 0xe8, 0x6e, 0x85, 0x1b, 0x02, 0xbc, 0x52, 0x22, 0x21, + 0x12, 0x3d, 0x0d, 0x05, 0x1c, 0x02, 0xac, 0xb2, 0x31, 0xc8, 0xf8, 0x02, 0x21, 0x11, 0x38, 0x13, + 0x3a, 0x00, 0xe9, 0xd0, 0x16, 0xde, 0x08, 0x58, 0x7e, 0x68, 0x05, 0x71, 0x58, 0xfe, 0x60, 0x40, + 0x54, 0x60, 0x66, 0x41, 0x70, 0x66, 0x20, 0xa0, 0x66, 0x11, 0x60, 0x44, 0x20, 0x49, 0x05, 0xf2, + 0x5e, 0x08, 0xc6, 0x1b, 0x00, 0xf2, 0x21, 0x1b, 0x16, 0xbe, 0x05, 0x71, 0xbb, 0xf8, 0x82, 0x21, + 0x11, 0x78, 0x17, 0x8a, 0x77, 0x78, 0xd7, 0xe7, 0x97, 0x10, 0x01, 0x9f, 0xd6, 0xc0, 0x00, 0x00, + 0x2d, 0x0e, 0x45, 0x82, 0xff, 0x01, 0x9d, 0xd6, 0xc0, 0x00, 0x00, 0xcd, 0x0e, 0xf7, 0x1e, 0x0a, + 0x0c, 0x00, 0x88, 0x1c, 0xc8, 0x6c, 0x09, 0x28, 0xf7, 0x9c, 0xf6, 0x01, 0x97, 0xd6, 0xc0, 0x00, + 0x00, 0x01, 0xad, 0xf8, 0x22, 0x21, 0x11, 0x08, 0x10, 0x2a, 0x00, 0x98, 0x80, 0x99, 0x6f, 0xcc, + 0x39, 0x22, 0xcf, 0x18, 0x29, 0x90, 0xe9, 0x80, 0x01, 0x91, 0xd6, 0xc0, 0x00, 0x00, 0x21, 0x23, + 0xff, 0x01, 0xdf, 0xd3, 0xc0, 0x00, 0x00, 0x31, 0xa4, 0xf8, 0x52, 0x21, 0x11, 0x38, 0x13, 0x0c, + 0x04, 0x3a, 0x55, 0x49, 0xd5, 0x52, 0x21, 0x1c, 0x0c, 0x04, 0xb0, 0x55, 0x11, 0x5a, 0x53, 0x42, + 0x45, 0x28, 0x42, 0x45, 0x29, 0xf6, 0x8d, 0x1b, 0x9c, 0x3d, 0x26, 0x3d, 0x11, 0xb6, 0x3d, 0x09, + 0x0c, 0x12, 0xb6, 0x6d, 0x10, 0x0c, 0x02, 0xc6, 0x02, 0x00, 0x0c, 0x32, 0x86, 0x01, 0x00, 0x0c, + 0x22, 0x46, 0x00, 0x00, 0x0c, 0x42, 0x85, 0xef, 0xfe, 0xc2, 0x21, 0x1e, 0xd2, 0x21, 0x1f, 0xe2, + 0x21, 0x20, 0xf2, 0x21, 0x21, 0x32, 0xa0, 0xa0, 0x02, 0x21, 0x1d, 0x3a, 0x11, 0x0d, 0xf0, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xdc, 0x02, 0x21, 0xc6, 0xf8, 0x31, 0xc6, 0xf8, 0x42, 0xa7, 0x07, + 0x01, 0xc4, 0xd3, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x38, 0x72, 0x01, 0x87, 0xf8, 0x38, 0x03, + 0x08, 0x10, 0x67, 0x73, 0x0a, 0x42, 0x00, 0x1f, 0x0b, 0x44, 0x42, 0x40, 0x1f, 0x86, 0x03, 0x00, + 0x52, 0xc2, 0x18, 0x62, 0x20, 0x92, 0x0c, 0x07, 0x79, 0x62, 0x29, 0x06, 0x52, 0x60, 0x92, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0x01, + 0x62, 0xd6, 0xc0, 0x00, 0x00, 0x01, 0x78, 0xf8, 0x08, 0x10, 0xc2, 0x20, 0x91, 0x9c, 0x1c, 0x0c, + 0x04, 0x28, 0x6c, 0x22, 0x60, 0x91, 0xcc, 0x62, 0x32, 0xa2, 0x44, 0x3a, 0x30, 0x32, 0x60, 0x92, + 0x49, 0x6c, 0x01, 0x5a, 0xd6, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x08, 0x01, 0xc8, 0x11, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x41, 0x6d, 0xf8, 0x32, 0xc2, 0x18, 0x48, 0x14, 0x0c, 0x06, 0x52, 0x24, + 0x94, 0x69, 0x62, 0x29, 0x05, 0x32, 0x64, 0x94, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, + 0x11, 0x09, 0x01, 0x01, 0x4d, 0xd6, 0xc0, 0x00, 0x00, 0x01, 0x63, 0xf8, 0x08, 0x10, 0xc2, 0x20, + 0x93, 0x9c, 0x1c, 0x0c, 0x04, 0x28, 0x6c, 0x22, 0x60, 0x93, 0xcc, 0x62, 0x32, 0xa2, 0x4c, 0x3a, + 0x30, 0x32, 0x60, 0x94, 0x49, 0x6c, 0x01, 0x45, 0xd6, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x08, 0x01, + 0xc8, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x58, 0x97, 0x10, 0x40, 0xa0, 0x20, 0xff, 0x3f, + 0xfc, 0xa2, 0x10, 0x40, 0x94, 0x9a, 0x10, 0x40, 0x70, 0x96, 0x10, 0x40, 0x10, 0xa5, 0x10, 0x40, + 0x12, 0xc1, 0xe0, 0xd9, 0x21, 0xe9, 0x31, 0xf9, 0x41, 0x09, 0x01, 0xc9, 0x11, 0x0c, 0x00, 0x0c, + 0x0c, 0xf1, 0x4d, 0xf8, 0x0c, 0x1e, 0x48, 0x1f, 0xb0, 0x20, 0x11, 0x1b, 0x00, 0x2a, 0x24, 0xc9, + 0x82, 0xc2, 0x42, 0x2f, 0x00, 0x00, 0x74, 0x32, 0xc2, 0x20, 0x39, 0x92, 0x66, 0xb0, 0xe8, 0x0c, + 0x00, 0x0c, 0x72, 0xb0, 0x30, 0x11, 0x1b, 0x00, 0x3a, 0x34, 0xe2, 0x43, 0x2f, 0x22, 0x43, 0x2c, + 0x00, 0x00, 0x74, 0x66, 0x30, 0xec, 0xc9, 0x04, 0x0c, 0x00, 0x0c, 0x86, 0x00, 0x50, 0x90, 0x40, + 0x30, 0xa0, 0xc9, 0x13, 0x00, 0x55, 0xa0, 0x4a, 0x30, 0x3b, 0x25, 0x50, 0x25, 0xb3, 0x20, 0x22, + 0x21, 0x1b, 0x00, 0x00, 0x00, 0x74, 0x3b, 0x22, 0x22, 0x43, 0x18, 0x66, 0x40, 0xdd, 0xc9, 0x54, + 0x0c, 0x00, 0x52, 0xa2, 0x34, 0x62, 0x44, 0x6c, 0x40, 0x20, 0xb0, 0xc2, 0x62, 0x8d, 0x02, 0xc0, + 0x01, 0x50, 0x32, 0x80, 0x32, 0x62, 0x8e, 0x00, 0x00, 0x74, 0x66, 0x20, 0xea, 0xc2, 0x64, 0x91, + 0xc2, 0x64, 0x93, 0x72, 0xa2, 0x44, 0x52, 0xa2, 0x4c, 0x50, 0x54, 0x80, 0x7a, 0x74, 0x72, 0x64, + 0x92, 0x52, 0x64, 0x94, 0x85, 0x08, 0xfb, 0x0c, 0x0d, 0x2d, 0x0d, 0xc5, 0x39, 0xff, 0x48, 0x1f, + 0x40, 0x0d, 0xa0, 0x22, 0x60, 0x88, 0x1b, 0xdd, 0xd0, 0xd0, 0x74, 0x66, 0x4d, 0xea, 0x2c, 0x03, + 0x1c, 0x05, 0x22, 0xa1, 0xc4, 0x2a, 0x24, 0xc2, 0x42, 0x91, 0xe2, 0x44, 0x1d, 0xe2, 0x42, 0x92, + 0xc2, 0x64, 0x8c, 0xc2, 0x44, 0x1e, 0x21, 0xc4, 0xff, 0x41, 0xc4, 0xff, 0x01, 0x9c, 0xf6, 0xc0, + 0x00, 0x00, 0x21, 0x3f, 0xf8, 0x31, 0xc2, 0xff, 0x0c, 0x04, 0x01, 0x97, 0xf6, 0xc0, 0x00, 0x00, + 0x21, 0xd0, 0xf8, 0x31, 0xc0, 0xff, 0x0c, 0x04, 0x01, 0x94, 0xf6, 0xc0, 0x00, 0x00, 0x31, 0xbe, + 0xff, 0xc1, 0x24, 0xf8, 0x0c, 0x04, 0x2d, 0x0c, 0x01, 0x90, 0xf6, 0xc0, 0x00, 0x00, 0x2d, 0x0c, + 0x01, 0x0b, 0xf3, 0xc0, 0x00, 0x00, 0x85, 0x03, 0xfe, 0x2d, 0x0c, 0x32, 0xa0, 0x64, 0x0c, 0x14, + 0x01, 0x30, 0xf3, 0xc0, 0x00, 0x00, 0x21, 0xa4, 0xfb, 0x31, 0xb4, 0xff, 0x0c, 0x04, 0x01, 0x86, + 0xf6, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, + 0x20, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0xd9, 0x31, 0xc9, 0x21, 0xc1, 0xff, 0xf7, 0x09, 0x11, + 0x08, 0x1c, 0xb0, 0xd2, 0x11, 0xda, 0x00, 0x02, 0x00, 0x2c, 0x0c, 0x42, 0xf6, 0x80, 0x11, 0xbc, + 0xe0, 0x26, 0x30, 0x3c, 0xb6, 0x30, 0x34, 0x0c, 0x12, 0xb6, 0x60, 0x04, 0x0c, 0x02, 0xc6, 0xff, + 0xff, 0x05, 0x9f, 0xfb, 0x52, 0x2c, 0x01, 0x20, 0x02, 0x20, 0xd0, 0x55, 0x80, 0x62, 0x05, 0x29, + 0x0c, 0x0c, 0xcc, 0x96, 0x28, 0xd5, 0x8c, 0x32, 0xcd, 0x02, 0x46, 0x00, 0x00, 0x9c, 0x56, 0x08, + 0x11, 0x2d, 0x0c, 0xd8, 0x31, 0xc8, 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x0c, 0x32, 0xc6, 0xf3, + 0xff, 0x0c, 0x22, 0x86, 0xf2, 0xff, 0x09, 0x01, 0xc8, 0x85, 0x0c, 0x00, 0x16, 0xfc, 0xfd, 0x68, + 0x6c, 0x69, 0x85, 0xcc, 0x36, 0x72, 0xc5, 0x20, 0x79, 0x95, 0xc0, 0x2c, 0x20, 0x02, 0x6c, 0x06, + 0x85, 0x06, 0xfc, 0x16, 0x82, 0xfc, 0x3d, 0x0c, 0x28, 0x01, 0x0c, 0x04, 0x05, 0x9a, 0xfb, 0x51, + 0xde, 0xf7, 0x58, 0x15, 0xda, 0x55, 0x86, 0xf3, 0xff, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xe0, 0xc9, + 0x11, 0xd9, 0x21, 0xf9, 0x41, 0xe9, 0x31, 0x09, 0x01, 0xed, 0x02, 0x66, 0x42, 0x07, 0x0c, 0x22, + 0x05, 0xf5, 0xff, 0x46, 0x26, 0x00, 0x45, 0x0e, 0x00, 0x01, 0xd3, 0xf7, 0x08, 0x10, 0xe0, 0xfe, + 0x11, 0x0a, 0xce, 0x00, 0x2e, 0xa0, 0x28, 0x12, 0xc2, 0x0c, 0x18, 0xec, 0xbe, 0x00, 0x0c, 0x40, + 0x20, 0x30, 0x91, 0x07, 0x63, 0x0a, 0xb0, 0x4c, 0x11, 0x4a, 0x40, 0x42, 0x04, 0x30, 0x26, 0x14, + 0x18, 0x0c, 0x0d, 0xd0, 0x20, 0x74, 0xc5, 0xf1, 0xff, 0x56, 0x32, 0x06, 0x1b, 0xdd, 0x66, 0x2d, + 0xf1, 0x21, 0xc5, 0xf7, 0x28, 0x12, 0xfa, 0x22, 0x28, 0x12, 0x00, 0x1c, 0x40, 0x0c, 0x1c, 0x00, + 0xcc, 0xa1, 0x0b, 0xcc, 0xc0, 0xc2, 0x10, 0xc0, 0xf2, 0x30, 0xf0, 0xd0, 0x60, 0xf0, 0xdd, 0x10, + 0xd0, 0xfd, 0x40, 0xd0, 0xd0, 0x60, 0xd2, 0xcd, 0x1f, 0x96, 0x2d, 0x04, 0xd0, 0x20, 0x74, 0x45, + 0xee, 0xff, 0x9c, 0x52, 0x01, 0xb9, 0xf7, 0x08, 0x10, 0x0a, 0xfe, 0xd2, 0x4f, 0x18, 0x0c, 0x13, + 0xb0, 0x4d, 0x11, 0x4a, 0x40, 0x32, 0x44, 0x30, 0x06, 0x05, 0x00, 0x7c, 0xf6, 0x00, 0x1d, 0x40, + 0x0c, 0x15, 0x00, 0x55, 0xa1, 0x60, 0x55, 0x30, 0x50, 0xff, 0x10, 0xc6, 0xee, 0xff, 0x0c, 0x02, + 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0xc0, + 0xd0, 0x60, 0xc0, 0xdd, 0x10, 0xd0, 0xfd, 0x40, 0xd0, 0xd0, 0x60, 0xd2, 0xcd, 0x1f, 0x96, 0xcd, + 0xfd, 0xd0, 0x20, 0x74, 0xc5, 0xe8, 0xff, 0xdc, 0x12, 0x7c, 0xf0, 0x00, 0x1d, 0x40, 0x0c, 0x1f, + 0x00, 0xff, 0xa1, 0x00, 0xff, 0x30, 0xf0, 0xcc, 0x10, 0x86, 0xf4, 0xff, 0x01, 0x9f, 0xf7, 0x08, + 0x10, 0x0a, 0x3e, 0xd2, 0x43, 0x18, 0x06, 0xe5, 0xff, 0x00, 0x00, 0x00, 0x0c, 0x19, 0x12, 0xc1, + 0xf0, 0x81, 0x99, 0xf7, 0x09, 0x21, 0x08, 0x18, 0xe0, 0x72, 0x11, 0x00, 0x52, 0xa0, 0x0a, 0x42, + 0x42, 0x04, 0x18, 0x38, 0x15, 0x00, 0x04, 0x40, 0x30, 0x30, 0x91, 0x07, 0xe3, 0x02, 0x46, 0x20, + 0x00, 0xb0, 0x64, 0x11, 0x6a, 0x60, 0xa2, 0x06, 0x30, 0x7c, 0xf8, 0x16, 0x4a, 0x07, 0x0c, 0x0b, + 0xa8, 0x86, 0xb2, 0x46, 0x30, 0xfc, 0xba, 0x79, 0x11, 0x49, 0x01, 0x38, 0xd6, 0x29, 0x31, 0xfc, + 0x13, 0x78, 0x15, 0x88, 0x01, 0x0c, 0x16, 0x00, 0x18, 0x40, 0x7c, 0xf8, 0x00, 0x66, 0xa1, 0x80, + 0x66, 0x30, 0x60, 0x77, 0x10, 0x79, 0x15, 0x48, 0x00, 0x0c, 0x92, 0x60, 0x44, 0x10, 0x49, 0x00, + 0x85, 0x4e, 0x00, 0x28, 0x31, 0x48, 0x01, 0x7c, 0xf8, 0x01, 0x7f, 0xf7, 0x58, 0x11, 0x08, 0x10, + 0x0c, 0x19, 0x0a, 0x55, 0x58, 0x15, 0xac, 0x95, 0x00, 0x14, 0x40, 0x00, 0x69, 0xa1, 0x80, 0x76, + 0x30, 0x0b, 0x66, 0x60, 0x65, 0x10, 0x60, 0xa5, 0x30, 0xa0, 0x77, 0x10, 0x70, 0x40, 0x60, 0x70, + 0x44, 0x10, 0x40, 0xf4, 0x40, 0x40, 0x40, 0x60, 0x42, 0xc4, 0x1f, 0x96, 0xb4, 0x00, 0x0a, 0x72, + 0x42, 0x47, 0x18, 0x08, 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x60, 0x40, 0x60, 0x60, 0x44, 0x10, + 0x40, 0xf4, 0x40, 0x40, 0x40, 0x60, 0x42, 0xc4, 0x1f, 0xd6, 0x14, 0xfe, 0xc6, 0xf8, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x0c, 0x1b, 0x0c, 0x08, 0xa1, 0x68, 0xf7, 0x12, 0xc1, 0xf0, 0xc9, 0x11, + 0xd9, 0x21, 0xa8, 0x1a, 0x09, 0x01, 0xa0, 0x75, 0xa0, 0x08, 0x17, 0xd8, 0x0a, 0x56, 0x10, 0x04, + 0xaa, 0x95, 0x92, 0x09, 0x18, 0x00, 0x09, 0x40, 0xd0, 0xc0, 0x91, 0x07, 0xec, 0x33, 0x0d, 0x09, + 0x00, 0x19, 0x40, 0xb0, 0x59, 0x11, 0x5a, 0x5a, 0x42, 0x45, 0x2c, 0x32, 0x45, 0x2d, 0x82, 0x45, + 0x30, 0x22, 0x45, 0x2e, 0x28, 0x17, 0x00, 0x3b, 0xa1, 0x30, 0x22, 0x20, 0x29, 0x17, 0x68, 0x0a, + 0x30, 0x66, 0x20, 0x69, 0x0a, 0xc8, 0x11, 0xd8, 0x21, 0x2d, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x7c, 0xfc, 0x00, 0x80, 0x60, 0x00, 0x88, 0x10, 0x80, 0xf8, 0x40, 0x80, 0x80, 0x60, + 0x82, 0xc8, 0x1f, 0x96, 0x88, 0x02, 0xb0, 0x98, 0x11, 0x9a, 0x9a, 0x62, 0x09, 0x2c, 0x00, 0x18, + 0x40, 0x47, 0x96, 0x0e, 0x62, 0x09, 0x2d, 0x72, 0x09, 0x2e, 0x37, 0x96, 0x05, 0x20, 0x77, 0xc0, + 0x16, 0xc7, 0x08, 0x00, 0x9b, 0xa1, 0xc0, 0x99, 0x30, 0x90, 0x00, 0x10, 0x86, 0xf0, 0xff, 0xc1, + 0xd8, 0xff, 0x0c, 0x78, 0xaa, 0x95, 0x92, 0x09, 0x18, 0x80, 0x8d, 0x20, 0x00, 0x19, 0x40, 0xc0, + 0x98, 0x30, 0x00, 0x7b, 0xa1, 0x0b, 0x77, 0x90, 0x77, 0x10, 0x00, 0xf7, 0x40, 0x1c, 0xf9, 0x00, + 0x09, 0xc0, 0xd6, 0x30, 0x01, 0x70, 0x08, 0x30, 0xc0, 0x00, 0x30, 0x00, 0xf0, 0x40, 0x00, 0x09, + 0xc0, 0xd6, 0x40, 0x00, 0x1c, 0x00, 0xc6, 0xde, 0xff, 0xa0, 0x75, 0xa0, 0x00, 0x10, 0x40, 0x00, + 0x8b, 0xa1, 0x0b, 0x88, 0xd0, 0x58, 0x10, 0x50, 0xf5, 0x40, 0x50, 0x69, 0xc0, 0x96, 0x56, 0x03, + 0x50, 0x00, 0xc0, 0x0c, 0x08, 0x62, 0xc0, 0x20, 0x02, 0xc0, 0x21, 0x60, 0x06, 0xb3, 0x00, 0x01, + 0x74, 0x00, 0x10, 0x40, 0xb0, 0x60, 0x11, 0x6a, 0x6a, 0x82, 0x46, 0x30, 0x32, 0x46, 0x2d, 0x42, + 0x46, 0x2c, 0x22, 0x46, 0x2e, 0x28, 0x17, 0x00, 0x3b, 0xa1, 0x30, 0x22, 0x20, 0xc6, 0xca, 0xff, + 0x80, 0x00, 0x74, 0x86, 0xcb, 0xff, 0x7c, 0xf5, 0x50, 0x58, 0x30, 0x50, 0x5d, 0x10, 0x50, 0xf5, + 0x40, 0x50, 0x50, 0xc0, 0x62, 0xc5, 0x2d, 0x52, 0xc5, 0x2e, 0x60, 0x56, 0xb3, 0x0c, 0x06, 0x50, + 0x51, 0x21, 0x0d, 0x05, 0xa6, 0xb5, 0x02, 0x02, 0xc5, 0xf3, 0x00, 0x00, 0x74, 0x00, 0x10, 0x40, + 0xb0, 0x50, 0x11, 0x5a, 0x5a, 0x42, 0x45, 0x2c, 0x32, 0x45, 0x2d, 0x62, 0x45, 0x30, 0x22, 0x45, + 0x2e, 0x28, 0x17, 0x00, 0x3b, 0xa1, 0x30, 0x22, 0x20, 0xc6, 0xb7, 0xff, 0x12, 0xc1, 0xc0, 0xc9, + 0x91, 0xd9, 0xa1, 0xf9, 0xc1, 0xe9, 0xb1, 0x09, 0x81, 0xed, 0x02, 0x01, 0xf3, 0xd4, 0xc0, 0x00, + 0x00, 0xc1, 0x09, 0xf7, 0xc8, 0x1c, 0xc8, 0x0c, 0x01, 0xf1, 0xd4, 0xc0, 0x00, 0x00, 0xf1, 0x9c, + 0xff, 0x0c, 0x7d, 0xd0, 0xdc, 0x20, 0xf0, 0xdd, 0x30, 0x16, 0x2d, 0x0e, 0x01, 0x03, 0xf7, 0x42, + 0xa2, 0x34, 0x08, 0x10, 0xd0, 0xfe, 0x11, 0x00, 0x0e, 0xb0, 0xd2, 0x20, 0x8d, 0xf9, 0xd1, 0x16, + 0xcd, 0x0c, 0xd9, 0x61, 0x4a, 0x40, 0x0c, 0x03, 0x32, 0x60, 0x8d, 0x42, 0x60, 0x8e, 0xc6, 0x05, + 0x00, 0x51, 0xf9, 0xf6, 0x62, 0x21, 0x0d, 0x52, 0x25, 0x01, 0x72, 0xa0, 0x00, 0x6a, 0x55, 0x62, + 0x25, 0x8e, 0x79, 0x6c, 0xc9, 0x06, 0xe2, 0x65, 0x8e, 0xcd, 0x0d, 0x16, 0xfd, 0x08, 0x0c, 0x0e, + 0xd8, 0x6d, 0xd9, 0x61, 0xe9, 0x6c, 0x01, 0xd8, 0xd4, 0xc0, 0x00, 0x00, 0x38, 0x5c, 0x48, 0x7c, + 0x32, 0x03, 0x76, 0x22, 0x04, 0x00, 0x52, 0x04, 0x06, 0x20, 0x21, 0x04, 0x42, 0x04, 0x04, 0x50, + 0x54, 0x24, 0x40, 0x40, 0x34, 0xc5, 0xdf, 0xff, 0xfd, 0x02, 0x01, 0xd0, 0xd4, 0xc0, 0x00, 0x00, + 0xe2, 0xcc, 0x18, 0x26, 0xbf, 0xaa, 0x72, 0xa0, 0xc3, 0x58, 0x7c, 0xf0, 0x60, 0x34, 0x42, 0x05, + 0x00, 0xe0, 0x66, 0x11, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0x42, 0x45, 0x00, 0x01, 0xc6, 0xd4, + 0xc0, 0x00, 0x00, 0xf1, 0xdd, 0xf6, 0x88, 0x7c, 0x0c, 0x0a, 0xa9, 0x6c, 0x92, 0x08, 0x00, 0x78, + 0x1f, 0x90, 0x92, 0x34, 0xb0, 0x99, 0x11, 0x9a, 0x97, 0x98, 0x99, 0xc9, 0x09, 0x82, 0x08, 0x00, + 0x80, 0x82, 0x34, 0xb0, 0x88, 0x11, 0x8a, 0x77, 0xe9, 0x97, 0x01, 0xbc, 0xd4, 0xc0, 0x00, 0x00, + 0x28, 0x7c, 0x22, 0x02, 0x06, 0x20, 0x24, 0x24, 0x05, 0x22, 0x00, 0x86, 0xda, 0xff, 0x0c, 0x12, + 0xc8, 0x91, 0xd8, 0xa1, 0xe8, 0xb1, 0xf8, 0xc1, 0x08, 0x81, 0x12, 0xc1, 0x40, 0x0d, 0xf0, 0x0c, + 0x02, 0xc6, 0xfa, 0xff, 0x23, 0x21, 0xff, 0x3f, 0x12, 0xc1, 0xe0, 0x02, 0x61, 0x00, 0xe2, 0x61, + 0x03, 0xc2, 0x61, 0x01, 0xd9, 0x21, 0xf9, 0x41, 0xf1, 0xfb, 0xff, 0x7c, 0xfd, 0xc2, 0x0f, 0x00, + 0x0c, 0x0e, 0x2d, 0x0c, 0x85, 0x91, 0xfd, 0x8c, 0x62, 0x2d, 0x0c, 0x05, 0xec, 0xff, 0x20, 0xdc, + 0x93, 0x02, 0x0f, 0x00, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x22, 0xcc, 0xfe, 0x20, 0xce, 0x83, 0xc7, + 0x90, 0xdf, 0xc8, 0x11, 0x26, 0x0d, 0x0c, 0x1b, 0x0d, 0x00, 0x20, 0x74, 0x26, 0x22, 0x01, 0xed, + 0x00, 0xe2, 0x4f, 0x00, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x90, 0x80, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0xd9, 0x21, 0xcd, + 0x02, 0x28, 0x72, 0x09, 0x01, 0x28, 0x02, 0x08, 0x0c, 0x87, 0x72, 0x06, 0xd8, 0x10, 0x4b, 0xdd, + 0x46, 0x00, 0x00, 0xd8, 0x10, 0x05, 0xf8, 0xff, 0x0c, 0x82, 0x0c, 0x79, 0x61, 0xf6, 0xff, 0x58, + 0x7c, 0x02, 0xa0, 0xc3, 0x32, 0x05, 0x06, 0x42, 0x05, 0x00, 0x30, 0x34, 0x24, 0x66, 0x43, 0x2e, + 0x00, 0x34, 0x10, 0x20, 0x23, 0x20, 0x22, 0x45, 0x00, 0x08, 0x7c, 0x02, 0x00, 0x00, 0x00, 0x01, + 0x04, 0x60, 0x00, 0x90, 0x42, 0x10, 0x00, 0x1b, 0x24, 0x22, 0x50, 0x00, 0xc0, 0x54, 0x11, 0x52, + 0x5d, 0x0b, 0x0c, 0x02, 0xc8, 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x72, + 0xa0, 0x8f, 0x82, 0xa0, 0xf0, 0xa8, 0x5c, 0x40, 0x21, 0x04, 0xfc, 0xea, 0xe0, 0x32, 0x11, 0x00, + 0x04, 0x10, 0xb8, 0x05, 0x30, 0x00, 0x20, 0xb0, 0xb9, 0x04, 0x56, 0xdb, 0x0c, 0x02, 0x45, 0x00, + 0x48, 0x7c, 0x32, 0x04, 0x06, 0x70, 0x33, 0x10, 0x32, 0x44, 0x06, 0x38, 0x7c, 0x22, 0x03, 0x04, + 0x80, 0x22, 0x10, 0x90, 0x22, 0x20, 0x22, 0x43, 0x04, 0x08, 0x7c, 0x02, 0x00, 0x00, 0x00, 0x01, + 0x04, 0x60, 0x00, 0x90, 0x42, 0x10, 0x00, 0x1b, 0x24, 0x06, 0xe7, 0xff, 0xa2, 0x0d, 0x00, 0x00, + 0x44, 0x10, 0xa0, 0xa2, 0x14, 0xfc, 0x3a, 0xe0, 0xa2, 0x11, 0xa0, 0x44, 0x20, 0x42, 0x45, 0x00, + 0x48, 0x7c, 0x32, 0x04, 0x06, 0x70, 0x33, 0x10, 0x32, 0x44, 0x06, 0x38, 0x7c, 0x22, 0x03, 0x04, + 0x80, 0x22, 0x10, 0x90, 0x22, 0x20, 0x22, 0x43, 0x04, 0x08, 0x7c, 0x02, 0x00, 0x00, 0x00, 0x01, + 0x04, 0x60, 0x00, 0x90, 0x42, 0x10, 0x00, 0x1b, 0x24, 0x06, 0xd7, 0xff, 0x05, 0x7e, 0xfd, 0x56, + 0x12, 0x01, 0xb2, 0x2c, 0x07, 0xb8, 0x0b, 0x37, 0x7b, 0x09, 0x0c, 0x12, 0x05, 0x82, 0xfd, 0x0c, + 0x12, 0xc6, 0xd3, 0xff, 0x01, 0x55, 0xd4, 0xc0, 0x00, 0x00, 0x38, 0x5c, 0x48, 0x7c, 0x32, 0x03, + 0x76, 0x22, 0x04, 0x00, 0x52, 0x04, 0x06, 0x20, 0x21, 0x04, 0x42, 0x04, 0x04, 0x50, 0x54, 0x24, + 0x40, 0x40, 0x34, 0x05, 0xbf, 0xff, 0xdd, 0x02, 0x01, 0x4d, 0xd4, 0xc0, 0x00, 0x00, 0x26, 0xbd, + 0xcd, 0x72, 0xa0, 0xc3, 0x58, 0x7c, 0xd0, 0x60, 0x34, 0x42, 0x05, 0x00, 0xe0, 0x66, 0x11, 0x70, + 0x44, 0x10, 0x60, 0x44, 0x20, 0x42, 0x45, 0x00, 0x86, 0xc1, 0xff, 0x02, 0x45, 0x00, 0x48, 0x7c, + 0x32, 0x04, 0x06, 0x70, 0x33, 0x10, 0x32, 0x44, 0x06, 0x38, 0x7c, 0x22, 0x03, 0x04, 0x80, 0x22, + 0x10, 0x90, 0x22, 0x20, 0x22, 0x43, 0x04, 0x08, 0x7c, 0x02, 0x00, 0x00, 0x00, 0x01, 0x04, 0x60, + 0x00, 0x90, 0x42, 0x10, 0x00, 0x1b, 0x24, 0x86, 0xb3, 0xff, 0x00, 0x00, 0x0c, 0x04, 0x12, 0xc1, + 0xf0, 0x09, 0x01, 0x38, 0x72, 0x0c, 0x40, 0x42, 0x43, 0x0e, 0x02, 0x43, 0x0f, 0x05, 0x6f, 0xff, + 0x0c, 0x52, 0x85, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0xc9, + 0x11, 0x09, 0x01, 0xcd, 0x02, 0x01, 0x2c, 0xd4, 0xc0, 0x00, 0x00, 0x21, 0x7c, 0xf6, 0x2a, 0x2c, + 0x02, 0x02, 0x00, 0x8c, 0x90, 0x01, 0x29, 0xd4, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x86, 0x05, 0x00, + 0x1b, 0x30, 0x32, 0x42, 0x00, 0x01, 0x25, 0xd4, 0xc0, 0x00, 0x00, 0x3d, 0x0c, 0x2c, 0x02, 0x0c, + 0x04, 0x01, 0xd1, 0xec, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x10, 0x09, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x08, 0x72, 0x58, 0x52, 0x02, 0x00, 0x0d, + 0xa2, 0x12, 0x08, 0x00, 0x00, 0x34, 0x8c, 0xd0, 0x26, 0x10, 0x10, 0x32, 0xc0, 0xfe, 0x16, 0x83, + 0x0c, 0x42, 0xc0, 0xfd, 0x16, 0x84, 0x12, 0x0c, 0x40, 0x46, 0x00, 0x00, 0x0c, 0x80, 0x0a, 0xaa, + 0xa2, 0x52, 0x08, 0xb1, 0xeb, 0xd2, 0x88, 0x12, 0xc0, 0x20, 0x00, 0x92, 0x18, 0x01, 0x00, 0x99, + 0x11, 0xc0, 0x20, 0x00, 0x32, 0x18, 0x00, 0xa1, 0xe7, 0xd2, 0x30, 0x99, 0x20, 0xb0, 0x99, 0x10, + 0x90, 0x9c, 0x41, 0x0a, 0x99, 0x90, 0x90, 0xb4, 0x40, 0x99, 0x11, 0xc0, 0x20, 0x00, 0x72, 0x18, + 0x01, 0x00, 0x77, 0x11, 0xc0, 0x20, 0x00, 0xb2, 0x18, 0x00, 0xb0, 0x77, 0x20, 0xa0, 0x77, 0x10, + 0x90, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x58, 0x00, 0x70, 0x70, 0xf5, 0xc0, 0x20, 0x00, 0x68, + 0x72, 0x4c, 0x03, 0x68, 0x06, 0x72, 0x58, 0x01, 0x87, 0x76, 0x06, 0xec, 0x35, 0x0c, 0x12, 0x06, + 0x06, 0x00, 0x42, 0xa0, 0xbf, 0x08, 0x12, 0xc0, 0x20, 0x00, 0xb2, 0x00, 0x03, 0x40, 0xbb, 0x10, + 0x30, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x40, 0x03, 0x0c, 0x02, 0x08, 0x01, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x2c, 0x06, 0x72, 0xa0, 0xdf, 0x48, 0x02, 0xc0, 0x20, 0x00, 0x32, 0x04, 0x03, 0x70, + 0x33, 0x10, 0x60, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x44, 0x03, 0x08, 0x72, 0x02, 0x00, 0x0d, + 0x00, 0x00, 0x34, 0x26, 0x30, 0x18, 0x9c, 0x50, 0x21, 0x3a, 0xf6, 0x31, 0x3a, 0xf6, 0x41, 0xc8, + 0xff, 0x01, 0x37, 0xd1, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x1c, 0x00, 0x86, 0xcf, 0xff, 0x41, + 0x4c, 0xfb, 0x32, 0x12, 0x08, 0x28, 0x02, 0x4a, 0x33, 0x28, 0x12, 0x41, 0xed, 0xe9, 0x02, 0x12, + 0x00, 0x30, 0x30, 0xb4, 0x40, 0x00, 0x10, 0x30, 0x00, 0x20, 0x32, 0x02, 0x02, 0x02, 0x52, 0x00, + 0x52, 0x05, 0x74, 0x62, 0x02, 0x01, 0x00, 0x00, 0xb4, 0x4b, 0x80, 0x80, 0x33, 0x11, 0x60, 0x33, + 0x20, 0x87, 0x25, 0x08, 0x00, 0x05, 0xc0, 0x00, 0x02, 0x21, 0x46, 0x00, 0x00, 0x0c, 0x00, 0x51, + 0xa9, 0xfa, 0x00, 0x40, 0x64, 0xc0, 0x44, 0x11, 0x50, 0x33, 0x10, 0x40, 0x33, 0x20, 0x32, 0x42, + 0x01, 0x42, 0xa0, 0xcf, 0x30, 0x38, 0x74, 0x40, 0x33, 0x10, 0x32, 0x42, 0x02, 0x06, 0xd6, 0xff, + 0x0c, 0xc0, 0x06, 0xb6, 0xff, 0x00, 0x00, 0x00, 0x27, 0x09, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, + 0x31, 0x09, 0x21, 0xcd, 0x03, 0x01, 0xdc, 0xf5, 0x3d, 0x04, 0x39, 0x01, 0x08, 0x10, 0xb0, 0x42, + 0x11, 0x4a, 0x00, 0x02, 0x00, 0x2f, 0x49, 0x11, 0x56, 0x50, 0x04, 0x01, 0xbf, 0xd3, 0xc0, 0x00, + 0x00, 0x01, 0xd5, 0xf5, 0x28, 0x11, 0x08, 0x10, 0x2a, 0x00, 0x08, 0x80, 0xac, 0xb0, 0x68, 0x70, + 0x28, 0x06, 0x87, 0xf2, 0x25, 0x22, 0x16, 0x05, 0x38, 0x01, 0xca, 0xc2, 0xc0, 0xc0, 0xf4, 0xdc, + 0x00, 0x21, 0x07, 0xf6, 0x31, 0x08, 0xf6, 0x41, 0xec, 0xff, 0x01, 0x05, 0xd1, 0xc0, 0x00, 0x00, + 0x06, 0xff, 0xff, 0x37, 0xbc, 0x15, 0x08, 0x60, 0x56, 0x20, 0xfd, 0x01, 0xb0, 0xd3, 0xc0, 0x00, + 0x00, 0x2d, 0x0c, 0x08, 0x21, 0xc8, 0x31, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x01, 0xac, 0xd3, 0xc0, + 0x00, 0x00, 0xc8, 0x01, 0x46, 0xfa, 0xff, 0x00, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0x02, 0x61, + 0x00, 0x02, 0x22, 0x07, 0xcd, 0x02, 0x28, 0x00, 0x97, 0x72, 0x0a, 0x22, 0x00, 0x08, 0xc5, 0x1d, + 0x00, 0x08, 0x7c, 0x86, 0x05, 0x00, 0x07, 0xf2, 0x10, 0x77, 0xe2, 0x0d, 0x22, 0x00, 0x08, 0x05, + 0x18, 0x00, 0x08, 0x7c, 0x46, 0x01, 0x00, 0x00, 0x00, 0x00, 0x22, 0xa0, 0x00, 0x20, 0x40, 0x84, + 0x32, 0x10, 0x03, 0x22, 0x2c, 0x07, 0x90, 0x44, 0x11, 0x30, 0x30, 0x64, 0x40, 0x33, 0x20, 0x32, + 0x50, 0x03, 0x32, 0x1c, 0x08, 0x42, 0x12, 0x03, 0x22, 0x02, 0x08, 0x40, 0x47, 0x41, 0x45, 0x16, + 0x00, 0x02, 0x21, 0x00, 0x58, 0x7c, 0xc8, 0x11, 0x22, 0x55, 0x05, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x12, 0xc1, 0xe0, 0xe2, 0x61, 0x04, 0xf2, 0x61, 0x05, 0x32, 0x61, 0x00, 0xc9, 0x21, 0xd9, 0x31, + 0xcd, 0x02, 0x28, 0x72, 0x09, 0x11, 0xd2, 0x02, 0x00, 0x22, 0x02, 0x06, 0xd0, 0xd2, 0x34, 0x20, + 0x24, 0x24, 0x05, 0x09, 0xfb, 0xfd, 0x02, 0xe1, 0x0f, 0xea, 0x0c, 0x08, 0x41, 0x9b, 0xf5, 0x0c, + 0x03, 0x48, 0x14, 0xb0, 0x5d, 0x11, 0x5a, 0x44, 0x39, 0xd4, 0x32, 0x44, 0x28, 0x32, 0x44, 0x29, + 0x92, 0x2c, 0x01, 0x62, 0x2c, 0x07, 0xd2, 0x2c, 0x06, 0x78, 0x06, 0x89, 0x6c, 0x70, 0x50, 0x54, + 0x89, 0x29, 0x70, 0x76, 0x41, 0xe0, 0x77, 0x20, 0xa0, 0x77, 0x11, 0x70, 0x55, 0x20, 0x59, 0x06, + 0x8c, 0xad, 0x3d, 0x0c, 0x2d, 0x0f, 0x0c, 0x04, 0x45, 0x05, 0xfb, 0xc6, 0x02, 0x00, 0xc0, 0x3c, + 0x20, 0xf0, 0x2f, 0x20, 0x42, 0x21, 0x00, 0x85, 0x04, 0xfb, 0xcd, 0x0d, 0x0c, 0x08, 0x56, 0xed, + 0xfb, 0xc8, 0x21, 0xd8, 0x31, 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, + 0x12, 0xc1, 0xe0, 0x09, 0x11, 0x39, 0x01, 0xe9, 0x41, 0xc9, 0x21, 0xd9, 0x31, 0xf9, 0x51, 0xdd, + 0x02, 0xf8, 0x72, 0xcd, 0x02, 0xf2, 0x0f, 0x00, 0x0c, 0x0e, 0xf0, 0xf2, 0x34, 0x46, 0x01, 0x00, + 0x28, 0x1d, 0xdd, 0x00, 0xe9, 0x22, 0x08, 0x6d, 0x56, 0x40, 0xff, 0x2d, 0x0c, 0x85, 0xb2, 0xfe, + 0x08, 0x01, 0x31, 0x75, 0xf5, 0xb0, 0x2f, 0x11, 0x38, 0x13, 0xb0, 0x5f, 0x11, 0x5a, 0x53, 0x3a, + 0x22, 0x48, 0x82, 0x49, 0x6d, 0xcc, 0x34, 0x42, 0xcd, 0x18, 0x49, 0x92, 0xe9, 0xd2, 0xc9, 0x82, + 0xe2, 0x45, 0x28, 0xe2, 0x45, 0x29, 0x8c, 0x90, 0x28, 0x7c, 0x22, 0x02, 0x06, 0x20, 0x24, 0x24, + 0x85, 0xc8, 0xff, 0xc8, 0x21, 0xd8, 0x31, 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x20, + 0x0d, 0xf0, 0x00, 0x00, 0xb6, 0x52, 0x13, 0xb6, 0x82, 0x09, 0x2c, 0x44, 0xf6, 0xb2, 0x07, 0x1c, + 0x44, 0x86, 0x00, 0x00, 0x42, 0xa0, 0x60, 0x2d, 0x04, 0x0d, 0xf0, 0x22, 0xa0, 0xc0, 0x0d, 0xf0, + 0x0c, 0x02, 0x0d, 0xf0, 0xa0, 0x80, 0xfe, 0x3f, 0x31, 0xff, 0xff, 0x30, 0x22, 0xb0, 0x22, 0x02, + 0x06, 0x0d, 0xf0, 0x00, 0x31, 0xfc, 0xff, 0x30, 0x22, 0xb0, 0x22, 0x02, 0x06, 0x0d, 0xf0, 0x00, + 0x31, 0xf9, 0xff, 0x30, 0x22, 0xb0, 0x22, 0x02, 0x06, 0x30, 0x22, 0xb0, 0x22, 0x12, 0x02, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xe0, 0x39, 0x01, 0x49, 0x11, 0xc9, 0x31, 0x09, 0x21, 0xcd, + 0x02, 0x05, 0xfa, 0xff, 0x29, 0x41, 0x38, 0x01, 0x2d, 0x0c, 0xc5, 0x05, 0x00, 0x08, 0x41, 0x38, + 0x11, 0x0c, 0xa4, 0x2a, 0x23, 0xb6, 0x8c, 0x01, 0x1c, 0x04, 0xc8, 0x31, 0x4a, 0x50, 0x5a, 0x22, + 0x08, 0x21, 0x12, 0xc1, 0x20, 0x20, 0x20, 0xf4, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, + 0x31, 0x09, 0x21, 0x01, 0xe4, 0xff, 0x0c, 0xac, 0x00, 0x02, 0xb0, 0x22, 0x00, 0x06, 0x09, 0x01, + 0xb6, 0x82, 0x01, 0x1c, 0x0c, 0xc5, 0xf5, 0xff, 0x29, 0x11, 0x28, 0x01, 0x2c, 0x03, 0x22, 0x02, + 0x06, 0x45, 0x01, 0x00, 0x38, 0x11, 0x08, 0x21, 0x3a, 0x3c, 0xc8, 0x31, 0x3a, 0x22, 0x20, 0x20, + 0xf4, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0xd0, 0x43, 0x11, 0x51, 0xd6, 0xff, 0x40, 0x30, + 0xf4, 0x41, 0xc9, 0xe1, 0x50, 0x52, 0xb0, 0x58, 0x05, 0xb6, 0x82, 0x05, 0x32, 0xc3, 0x16, 0x30, + 0x30, 0xf4, 0x30, 0x35, 0x82, 0x4a, 0x33, 0x30, 0x32, 0xd5, 0xb6, 0x82, 0x06, 0x7c, 0xc4, 0x3b, + 0x33, 0x40, 0x33, 0x10, 0x30, 0x20, 0xf4, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x30, 0x62, 0xc0, 0x37, + 0x32, 0x03, 0x2d, 0x06, 0x0d, 0xf0, 0x0b, 0x26, 0x0d, 0xf0, 0x00, 0x00, 0x48, 0x12, 0x00, 0x00, + 0xa8, 0x2a, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x78, 0x1e, 0x00, 0x00, 0x90, 0x24, 0x00, 0x00, + 0x1c, 0x13, 0x37, 0x12, 0x38, 0x1c, 0x24, 0x47, 0x12, 0x3d, 0x1c, 0x35, 0x57, 0x12, 0x3d, 0x1c, + 0x46, 0x67, 0x12, 0x3d, 0x1c, 0x77, 0x27, 0x27, 0x04, 0x1c, 0x58, 0x87, 0xa2, 0x24, 0x1c, 0x99, + 0x97, 0x12, 0x1a, 0x1c, 0xaa, 0xa7, 0x12, 0x1f, 0x1c, 0xbb, 0xb7, 0x12, 0x1f, 0x1c, 0xc3, 0x37, + 0x12, 0x1f, 0xe6, 0xc2, 0x04, 0x1c, 0xd4, 0x47, 0xa2, 0x08, 0x0c, 0x02, 0x0d, 0xf0, 0x21, 0xeb, + 0xff, 0x0d, 0xf0, 0x21, 0xeb, 0xff, 0x0d, 0xf0, 0x21, 0xeb, 0xff, 0x0d, 0xf0, 0x21, 0xea, 0xff, + 0x0d, 0xf0, 0x21, 0xea, 0xff, 0x0d, 0xf0, 0x00, 0x9c, 0xc2, 0x26, 0x12, 0x1e, 0x26, 0x22, 0x1f, + 0x26, 0x52, 0x18, 0x26, 0x62, 0x19, 0x42, 0xc2, 0xe1, 0x1c, 0x83, 0x20, 0x23, 0xc0, 0x0c, 0x03, + 0x20, 0x20, 0x74, 0x40, 0x23, 0x83, 0x0d, 0xf0, 0x0c, 0xb2, 0x0d, 0xf0, 0x0c, 0xa2, 0x0d, 0xf0, + 0x0c, 0x92, 0x0d, 0xf0, 0x86, 0xc2, 0x10, 0x40, 0xf6, 0xb2, 0x3a, 0x41, 0xfe, 0xff, 0x20, 0x32, + 0x90, 0x4a, 0x33, 0xa0, 0x03, 0x00, 0x46, 0x16, 0x00, 0x86, 0x14, 0x00, 0xc6, 0x12, 0x00, 0xc6, + 0x08, 0x00, 0x06, 0x08, 0x00, 0x86, 0x11, 0x00, 0xc6, 0x0f, 0x00, 0xc6, 0x05, 0x00, 0x46, 0x0d, + 0x00, 0x86, 0x0b, 0x00, 0xc6, 0x09, 0x00, 0x06, 0x08, 0x00, 0x46, 0x03, 0x00, 0x86, 0x05, 0x00, + 0xc6, 0x03, 0x00, 0x06, 0x02, 0x00, 0x22, 0xa0, 0xff, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x0c, + 0x62, 0x0d, 0xf0, 0x0c, 0x42, 0x0d, 0xf0, 0x0c, 0x22, 0x0d, 0xf0, 0x0c, 0x72, 0x0d, 0xf0, 0x0c, + 0x52, 0x0d, 0xf0, 0x0c, 0x32, 0x0d, 0xf0, 0x0c, 0x12, 0x0d, 0xf0, 0x0c, 0x82, 0x0d, 0xf0, 0x0c, + 0x92, 0x0d, 0xf0, 0x0c, 0xa2, 0x0d, 0xf0, 0x00, 0xac, 0x12, 0x26, 0x12, 0x17, 0x26, 0x22, 0x18, + 0x26, 0x32, 0x0d, 0x26, 0x52, 0x0e, 0x26, 0x62, 0x0f, 0x26, 0x72, 0x04, 0x22, 0xa0, 0xff, 0x0d, + 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x0c, 0x22, 0x0d, 0xf0, 0x0c, 0x12, 0x0d, 0xf0, 0x0c, 0x32, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x8c, 0xd3, 0x0c, 0x06, 0x62, 0x42, 0x0a, 0xcb, 0x22, 0x1b, 0x66, 0x60, + 0x60, 0x74, 0x67, 0x93, 0xf2, 0x0d, 0xf0, 0x00, 0x0c, 0x05, 0x42, 0x02, 0x0b, 0x00, 0x05, 0x40, + 0x40, 0x40, 0x91, 0x07, 0x64, 0x04, 0x5a, 0x62, 0x32, 0x46, 0x0c, 0x1b, 0x55, 0x50, 0x50, 0x74, + 0x66, 0x85, 0xe6, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x62, 0x12, 0x38, 0x67, 0xb3, 0x04, 0x32, 0x52, + 0x39, 0x0d, 0xf0, 0x3d, 0x06, 0x46, 0xfd, 0xff, 0xff, 0x1f, 0x00, 0x00, 0xff, 0x5f, 0x00, 0x00, + 0xff, 0x3f, 0x00, 0x00, 0x32, 0x62, 0x17, 0xf6, 0x43, 0x35, 0xb6, 0x23, 0x32, 0x31, 0xfa, 0xff, + 0x8c, 0xa4, 0x26, 0x14, 0x2c, 0xe6, 0x44, 0x05, 0xa6, 0x24, 0x02, 0x31, 0xf8, 0xff, 0x32, 0x52, + 0x38, 0x0c, 0x84, 0xe6, 0x45, 0x02, 0xd6, 0xe5, 0x00, 0x26, 0x45, 0x20, 0x26, 0x55, 0x22, 0x26, + 0x65, 0x15, 0x32, 0xaf, 0x94, 0x46, 0x00, 0x00, 0x0c, 0xc3, 0x32, 0x42, 0x74, 0x42, 0x42, 0x75, + 0x0d, 0xf0, 0x31, 0xef, 0xff, 0x46, 0xf5, 0xff, 0x4c, 0xc3, 0x06, 0xfb, 0xff, 0x1c, 0x43, 0xc6, + 0xf9, 0xff, 0x2c, 0x83, 0x86, 0xf8, 0xff, 0x00, 0xe8, 0xc2, 0x10, 0x40, 0xc4, 0x83, 0xfe, 0x3f, + 0x04, 0x83, 0xfe, 0x3f, 0x78, 0xc2, 0x10, 0x40, 0x20, 0x82, 0xfe, 0x3f, 0x48, 0xc2, 0x10, 0x40, + 0x64, 0x83, 0xfe, 0x3f, 0x72, 0xa0, 0x03, 0x81, 0xf8, 0xff, 0x12, 0xc1, 0xf0, 0xe2, 0x61, 0x03, + 0x32, 0x42, 0x15, 0xc2, 0x61, 0x01, 0x09, 0x01, 0xd9, 0x21, 0x01, 0xf4, 0xff, 0xdd, 0x04, 0xcd, + 0x02, 0x0c, 0x04, 0x22, 0x22, 0x17, 0x62, 0xc0, 0xdc, 0x16, 0x92, 0x08, 0x1c, 0x5a, 0xe1, 0xf0, + 0xff, 0x92, 0xc0, 0xa0, 0x0c, 0x2b, 0x26, 0x12, 0x3e, 0x52, 0xc2, 0xfe, 0x16, 0x85, 0x08, 0x52, + 0xc2, 0xfd, 0x16, 0x95, 0x08, 0x62, 0x6c, 0x1a, 0x42, 0x4c, 0x04, 0x72, 0x4c, 0x05, 0x82, 0x6c, + 0x1b, 0x02, 0x6c, 0x18, 0x2d, 0x0c, 0x02, 0x6c, 0x19, 0xc5, 0x15, 0x00, 0x08, 0x01, 0xd8, 0x21, + 0xe8, 0x31, 0x62, 0xa0, 0x7f, 0x62, 0x4c, 0x00, 0x62, 0x4c, 0x01, 0x62, 0x4c, 0x02, 0x62, 0x4c, + 0x03, 0xc8, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x42, 0x4c, 0x04, 0xcb, 0x8e, 0x0c, 0x72, 0x0c, + 0xa0, 0x51, 0xdc, 0xff, 0x52, 0x6c, 0x1b, 0xd0, 0x02, 0x93, 0x22, 0xce, 0xac, 0x02, 0x4c, 0x05, + 0xd0, 0xe9, 0x83, 0xd0, 0x28, 0x83, 0x22, 0x6c, 0x1a, 0x0d, 0x0e, 0xa6, 0xa3, 0x02, 0x86, 0x2c, + 0x00, 0x0c, 0xa7, 0x8c, 0x3d, 0xb6, 0x87, 0x01, 0x0c, 0x77, 0x70, 0x67, 0x90, 0x20, 0x66, 0xa0, + 0x62, 0x6c, 0x18, 0x46, 0xe7, 0xff, 0x62, 0x6c, 0x1a, 0x42, 0x4c, 0x04, 0x72, 0x4c, 0x05, 0x82, + 0x6c, 0x1b, 0x02, 0x6c, 0x18, 0xc6, 0xe2, 0xff, 0x0c, 0x14, 0x0c, 0x10, 0x46, 0x00, 0x00, 0x0c, + 0x00, 0x02, 0x4c, 0x04, 0x51, 0xc9, 0xff, 0x0c, 0x88, 0x0c, 0xb7, 0x21, 0xc8, 0xff, 0x22, 0x6c, + 0x1b, 0xd0, 0x78, 0x93, 0x72, 0x4c, 0x05, 0x02, 0xc5, 0x90, 0xd0, 0x05, 0x83, 0x02, 0x6c, 0x1a, + 0xe6, 0xa3, 0x44, 0x0c, 0xb7, 0x22, 0xa0, 0x05, 0x16, 0x5d, 0x00, 0xb6, 0x87, 0x02, 0x72, 0xa0, + 0x07, 0xf6, 0x67, 0x01, 0x2d, 0x07, 0x70, 0x37, 0x90, 0x20, 0x20, 0x74, 0x20, 0x22, 0x90, 0x00, + 0x33, 0xa0, 0x32, 0x6c, 0x18, 0x00, 0x22, 0xa0, 0x22, 0x02, 0x00, 0x22, 0x4c, 0x08, 0x05, 0xd0, + 0xff, 0x3d, 0x02, 0x2d, 0x0c, 0x05, 0xe5, 0xff, 0x2d, 0x0c, 0x45, 0x06, 0x00, 0x31, 0xb4, 0xff, + 0xd0, 0xe3, 0x83, 0x0d, 0x0e, 0xc6, 0xc6, 0xff, 0x1c, 0x05, 0x37, 0x25, 0x04, 0x0c, 0x77, 0x86, + 0xec, 0xff, 0x37, 0x2a, 0x04, 0x0c, 0x57, 0x86, 0xea, 0xff, 0x1c, 0xa6, 0x37, 0x26, 0x23, 0x0c, + 0x47, 0x06, 0xe8, 0xff, 0x1c, 0x08, 0x37, 0x28, 0x04, 0x0c, 0x57, 0x06, 0xd1, 0xff, 0x37, 0x2a, + 0x02, 0x86, 0xcf, 0xff, 0x7d, 0x0b, 0x1c, 0xea, 0xa7, 0xa3, 0x02, 0x06, 0xcd, 0xff, 0x7d, 0x04, + 0xc6, 0xcb, 0xff, 0x1c, 0xd2, 0x37, 0x22, 0x04, 0x0c, 0x37, 0xc6, 0xdd, 0xff, 0x7d, 0x0b, 0x40, + 0x20, 0x74, 0x2c, 0x25, 0x57, 0xa3, 0x02, 0x86, 0xda, 0xff, 0x7d, 0x02, 0x46, 0xd9, 0xff, 0x00, + 0x0c, 0x43, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xcd, 0x02, 0xc5, 0xdb, 0xff, 0x2d, 0x0c, + 0x0c, 0x43, 0xc5, 0xf5, 0x00, 0x2d, 0x0c, 0x05, 0x03, 0x00, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x20, 0xa1, 0x07, 0x00, 0x31, 0xff, 0xff, 0x52, 0x22, 0x18, 0x0c, 0x04, + 0x42, 0x45, 0x0b, 0x49, 0xa2, 0x49, 0x92, 0x49, 0xe2, 0x42, 0x42, 0x16, 0x42, 0x42, 0x17, 0x42, + 0x42, 0x06, 0x32, 0x62, 0x16, 0x0d, 0xf0, 0x00, 0x31, 0xf7, 0xff, 0x52, 0x22, 0x18, 0x0c, 0x04, + 0x42, 0x45, 0x0b, 0x42, 0x62, 0x10, 0x49, 0xf2, 0x42, 0x62, 0x11, 0x42, 0x42, 0x18, 0x42, 0x42, + 0x19, 0x42, 0x42, 0x0a, 0x42, 0x62, 0x15, 0x32, 0x62, 0x16, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0xd9, 0x21, 0xc9, 0x11, 0xdd, 0x03, 0xcd, 0x02, 0xc5, 0xfa, 0xff, 0x02, 0x2c, 0x18, 0x41, + 0xe6, 0xd0, 0x32, 0x00, 0x0a, 0x22, 0x0c, 0x05, 0xda, 0x33, 0x37, 0x22, 0x1b, 0xd0, 0x2d, 0x90, + 0x00, 0x52, 0xa0, 0x52, 0x6c, 0x18, 0xc0, 0x20, 0x00, 0x08, 0x01, 0x42, 0x24, 0x80, 0x49, 0xbc, + 0xd8, 0x21, 0xc8, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x20, 0x22, 0x90, 0x02, 0x2c, 0x1a, 0x46, + 0xf7, 0xff, 0x00, 0x00, 0x82, 0xa0, 0x7f, 0x87, 0x13, 0x3d, 0x0c, 0x07, 0x92, 0x02, 0x00, 0x32, + 0x42, 0x00, 0x80, 0xa9, 0x01, 0x92, 0xc9, 0x81, 0xa0, 0xa8, 0x31, 0xaa, 0x33, 0x30, 0x31, 0x21, + 0x90, 0x37, 0x83, 0x80, 0x63, 0x01, 0x72, 0x02, 0x01, 0x60, 0x68, 0x31, 0x87, 0x17, 0x15, 0x80, + 0x47, 0x01, 0x40, 0x48, 0x31, 0x40, 0x44, 0x90, 0x4a, 0x46, 0xe0, 0x44, 0x11, 0xfb, 0x34, 0x40, + 0x34, 0xb3, 0x30, 0x34, 0x21, 0x32, 0x42, 0x01, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x02, 0x22, 0x18, 0x68, 0x92, 0x02, 0x00, 0x01, 0x58, 0xa2, 0x37, 0x30, 0x41, 0x1b, 0x03, + 0x00, 0x70, 0x74, 0x6a, 0x07, 0x77, 0x30, 0x3c, 0x1b, 0x45, 0x09, 0x92, 0x49, 0xa2, 0x0c, 0xa4, + 0xb6, 0x63, 0x0d, 0x02, 0x02, 0x06, 0x1b, 0x00, 0x00, 0x00, 0x74, 0x02, 0x42, 0x06, 0xc6, 0x03, + 0x00, 0xf6, 0x33, 0x09, 0x0c, 0x00, 0x0c, 0x03, 0x32, 0x42, 0x06, 0x86, 0x00, 0x00, 0x02, 0x02, + 0x06, 0x07, 0xb4, 0x04, 0x0c, 0x13, 0x45, 0xf2, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x2b, 0x03, 0x86, 0xee, 0xff, 0x60, 0x01, 0x41, 0x58, 0xa2, 0x09, 0x92, 0x0a, 0x07, 0x50, 0x51, + 0x41, 0x59, 0xa2, 0x46, 0xec, 0xff, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xc9, 0x11, 0xd9, + 0x21, 0xcd, 0x02, 0xdd, 0x03, 0xbc, 0xc2, 0x02, 0x22, 0x18, 0xbc, 0x70, 0x28, 0x53, 0x07, 0x92, + 0x33, 0x38, 0xec, 0x1b, 0x33, 0x39, 0xec, 0x22, 0x0d, 0x0f, 0x66, 0x12, 0x21, 0x42, 0x0c, 0x14, + 0x27, 0xe4, 0x0d, 0x32, 0x0d, 0x09, 0x2d, 0x0c, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x45, 0xf1, + 0xff, 0x32, 0x0d, 0x04, 0x2d, 0x0c, 0x30, 0x34, 0x41, 0x05, 0xf5, 0xff, 0x46, 0x01, 0x00, 0x26, + 0x22, 0x0d, 0x26, 0x32, 0x0a, 0xc8, 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x2d, 0x0c, 0x32, 0x00, 0x08, 0x45, 0xf3, 0xff, 0x46, 0xfa, 0xff, 0x00, 0x62, 0x03, 0x00, 0x80, + 0x46, 0x01, 0x40, 0x38, 0x31, 0x16, 0xb2, 0x04, 0x52, 0x02, 0x14, 0x82, 0xa0, 0x7f, 0x07, 0xe5, + 0x42, 0x72, 0x02, 0x02, 0x87, 0x97, 0x07, 0x62, 0x42, 0x02, 0x0c, 0x06, 0x46, 0x05, 0x00, 0x62, + 0x42, 0x02, 0x80, 0x67, 0x01, 0x60, 0x68, 0x31, 0x6a, 0x63, 0x60, 0x61, 0x21, 0x80, 0x66, 0x01, + 0x60, 0x68, 0x31, 0x3d, 0x06, 0x72, 0x02, 0x03, 0x87, 0x17, 0x15, 0x80, 0x47, 0x01, 0x40, 0x48, + 0x31, 0x40, 0x44, 0x90, 0x4a, 0x46, 0xe0, 0x44, 0x11, 0xfb, 0x34, 0x40, 0x34, 0xb3, 0x30, 0x34, + 0x21, 0x32, 0x42, 0x03, 0x0d, 0xf0, 0x00, 0x00, 0x3f, 0x0d, 0x03, 0x00, 0x00, 0x09, 0x3d, 0x00, + 0x40, 0x0d, 0x03, 0x00, 0x12, 0xc1, 0xd0, 0x02, 0x61, 0x04, 0xe2, 0x61, 0x07, 0xd2, 0x61, 0x06, + 0xf9, 0x81, 0xc9, 0x51, 0xf2, 0x03, 0x05, 0xcd, 0x02, 0xd2, 0x03, 0x06, 0x2d, 0x03, 0x80, 0xdd, + 0x11, 0xf0, 0xe0, 0x54, 0xf0, 0xdd, 0x20, 0xf2, 0x03, 0x04, 0xd0, 0xd6, 0x54, 0xf0, 0xf0, 0x34, + 0x16, 0x7d, 0x0d, 0x49, 0x31, 0x02, 0x2c, 0x18, 0x29, 0x21, 0x16, 0xd0, 0x0c, 0x2d, 0x0c, 0x45, + 0xd2, 0x00, 0x16, 0x52, 0x0c, 0x52, 0xa7, 0xff, 0x38, 0x21, 0x48, 0x31, 0x02, 0x03, 0x04, 0x5a, + 0x44, 0x40, 0x4b, 0x21, 0x32, 0x03, 0x0f, 0x00, 0x04, 0x41, 0x66, 0x13, 0x20, 0x62, 0x0c, 0x14, + 0x00, 0x24, 0x82, 0x2a, 0xdd, 0xd0, 0xd0, 0xf4, 0x27, 0xe6, 0x22, 0x38, 0x21, 0x32, 0x03, 0x09, + 0x2d, 0x0c, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x85, 0xe0, 0xff, 0xc6, 0x03, 0x00, 0x40, 0x30, + 0xc1, 0x0b, 0x50, 0x50, 0x54, 0x82, 0x5a, 0xdd, 0xe0, 0xd3, 0x83, 0xd0, 0xd0, 0xf4, 0xe7, 0x3d, + 0x79, 0x38, 0xfc, 0x02, 0x2c, 0x10, 0x3a, 0x2d, 0xd7, 0xb2, 0x0c, 0x30, 0x21, 0x41, 0x00, 0x01, + 0x41, 0x02, 0x6c, 0x10, 0x29, 0xfc, 0x2a, 0x2d, 0x22, 0x6c, 0x0f, 0xf2, 0x61, 0x01, 0x0a, 0x2e, + 0x22, 0x6c, 0x10, 0x02, 0x2c, 0x1b, 0x22, 0x0c, 0x08, 0xc0, 0x00, 0x00, 0xfd, 0x02, 0x2d, 0x0c, + 0x05, 0x7a, 0x00, 0x29, 0x91, 0x3d, 0x0d, 0x90, 0x2e, 0x11, 0x45, 0x2b, 0x03, 0xd8, 0x91, 0xf6, + 0xd2, 0x47, 0x72, 0x0c, 0x0a, 0x1b, 0x77, 0x70, 0x70, 0x74, 0x72, 0x4c, 0x0a, 0xdc, 0x62, 0x08, + 0x21, 0x02, 0x00, 0x04, 0x00, 0x04, 0x41, 0xa6, 0x30, 0x04, 0x7c, 0xd2, 0x20, 0x00, 0x90, 0x7a, + 0x70, 0x70, 0x70, 0x74, 0x72, 0x4c, 0x0a, 0xb6, 0x57, 0x02, 0xb6, 0x5f, 0x04, 0x0c, 0xe8, 0x77, + 0xb8, 0x20, 0x3d, 0x0f, 0x2d, 0x0c, 0x48, 0x11, 0x85, 0x3b, 0x00, 0xc8, 0x51, 0xd8, 0x61, 0xe8, + 0x71, 0xf8, 0x81, 0x08, 0x41, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x27, 0xbd, 0x05, 0x92, 0xa0, 0x00, + 0x92, 0x4c, 0x0a, 0xe1, 0x31, 0xd0, 0xc0, 0x20, 0x00, 0xe2, 0x2e, 0x80, 0x32, 0x2c, 0x12, 0xe0, + 0x2e, 0x20, 0x85, 0x90, 0xff, 0x38, 0xfc, 0x02, 0xa1, 0xf3, 0x16, 0xd3, 0xfc, 0x37, 0xb0, 0xca, + 0x41, 0xae, 0xff, 0x27, 0xb4, 0xc4, 0xe2, 0x6c, 0x12, 0x22, 0x2c, 0x10, 0x42, 0x2c, 0x15, 0x90, + 0x22, 0x11, 0x1b, 0x44, 0x42, 0x6c, 0x15, 0xc5, 0x2d, 0x03, 0x20, 0x20, 0x74, 0x02, 0x0c, 0x19, + 0x22, 0x4c, 0x18, 0x16, 0xb0, 0x05, 0x00, 0x30, 0x90, 0x3a, 0x22, 0x20, 0x22, 0x74, 0x22, 0x4c, + 0x19, 0xd7, 0xb2, 0x30, 0xd7, 0xb0, 0x2d, 0x42, 0x0c, 0x22, 0x8c, 0xd4, 0x02, 0x2c, 0x16, 0x51, + 0x9f, 0xff, 0x07, 0x35, 0x05, 0xf0, 0x60, 0x11, 0x62, 0x6c, 0x16, 0x2d, 0x0e, 0x32, 0x2c, 0x13, + 0x85, 0x8a, 0xff, 0x71, 0x9b, 0xff, 0x27, 0xb7, 0x1b, 0x3d, 0x0f, 0x2d, 0x0c, 0x0c, 0x04, 0x45, + 0x32, 0x00, 0x46, 0xd9, 0xff, 0x82, 0x0c, 0x22, 0xbc, 0x58, 0x91, 0x12, 0xff, 0x0c, 0x0a, 0xa2, + 0x4c, 0x22, 0x92, 0x6c, 0x16, 0x0c, 0x0b, 0xb2, 0x6c, 0x10, 0xb9, 0xfc, 0xb2, 0x6c, 0x11, 0x06, + 0xd2, 0xff, 0x32, 0xa0, 0x80, 0xd0, 0x0d, 0x90, 0x3a, 0x00, 0x00, 0x32, 0x41, 0x32, 0x4c, 0x19, + 0x00, 0x02, 0x74, 0x27, 0xb0, 0xde, 0x0a, 0x42, 0x40, 0x41, 0x21, 0x42, 0x4c, 0x19, 0xc6, 0xf4, + 0xff, 0x52, 0x0c, 0x04, 0xf7, 0x15, 0xcd, 0x09, 0x01, 0x32, 0x0c, 0x08, 0x1c, 0x36, 0x67, 0x13, + 0x6d, 0xd2, 0xa0, 0x79, 0x1c, 0x47, 0x77, 0x13, 0x74, 0x82, 0xc3, 0xeb, 0x16, 0xc8, 0x08, 0x92, + 0xc3, 0xea, 0x16, 0xf9, 0x08, 0xa2, 0xc3, 0xe9, 0x16, 0x2a, 0x09, 0x1c, 0xfb, 0xb7, 0x13, 0x69, + 0x0d, 0x0d, 0x27, 0xb0, 0x9f, 0xd8, 0x01, 0xd7, 0xb0, 0x9a, 0x2d, 0x0e, 0x32, 0x2c, 0x14, 0xc5, + 0x81, 0xff, 0xe2, 0x2c, 0x16, 0x27, 0xbe, 0x8c, 0xc0, 0x20, 0x00, 0x0c, 0x10, 0x31, 0xee, 0xcf, + 0x0b, 0x2f, 0x20, 0x20, 0x74, 0x32, 0x23, 0x80, 0x32, 0x6c, 0x14, 0x32, 0x2c, 0x1a, 0x20, 0x22, + 0x90, 0x30, 0x22, 0xa0, 0x22, 0x02, 0x00, 0x22, 0x4c, 0x08, 0x02, 0x4c, 0x22, 0x05, 0x81, 0xff, + 0x3d, 0x02, 0x2d, 0x0c, 0x05, 0x96, 0xff, 0x2d, 0x0c, 0xc5, 0xbb, 0xff, 0xc6, 0xaa, 0xff, 0x22, + 0x0c, 0x01, 0x45, 0x41, 0x00, 0xd2, 0xa0, 0x74, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x22, 0x0c, + 0x01, 0x45, 0x40, 0x00, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x22, 0x0c, 0x01, 0x85, 0x3f, 0x00, + 0x20, 0x0d, 0xc0, 0x22, 0x0c, 0x19, 0x06, 0xe2, 0xff, 0x00, 0x00, 0x00, 0x22, 0x0c, 0x01, 0x85, + 0x3e, 0x00, 0x86, 0xfa, 0xff, 0x22, 0x0c, 0x01, 0xc5, 0x3d, 0x00, 0x46, 0xf8, 0xff, 0x22, 0x0c, + 0x01, 0x45, 0x3d, 0x00, 0x06, 0xf6, 0xff, 0x00, 0x0c, 0x33, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0xd9, + 0x21, 0x09, 0x01, 0xdd, 0x02, 0x05, 0x8e, 0xff, 0x2d, 0x0d, 0x0c, 0x33, 0x05, 0xa8, 0x00, 0x02, + 0x2d, 0x1a, 0x2d, 0x0d, 0x02, 0xc0, 0x30, 0x02, 0x6d, 0x18, 0xc5, 0xb2, 0xff, 0x0c, 0x0c, 0x22, + 0x0d, 0x0b, 0x00, 0x0c, 0x40, 0x20, 0x20, 0x91, 0x07, 0x62, 0x08, 0x2d, 0x0d, 0x0c, 0x33, 0x4d, + 0x0c, 0x05, 0x07, 0x00, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x66, 0x8c, 0xe2, 0xc8, 0x11, 0xd8, 0x21, + 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xd9, + 0x21, 0x02, 0x22, 0x1a, 0xdd, 0x02, 0x02, 0x00, 0x24, 0x02, 0x42, 0x08, 0x05, 0xac, 0xff, 0x0c, + 0x0c, 0x22, 0x0d, 0x0b, 0x00, 0x0c, 0x40, 0x20, 0x20, 0x91, 0x07, 0x62, 0x08, 0x2d, 0x0d, 0x0c, + 0x23, 0x4d, 0x0c, 0x05, 0x03, 0x00, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x66, 0x8c, 0xe2, 0xc8, 0x11, + 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x68, 0x84, 0xfe, 0x3f, + 0x18, 0x88, 0xfe, 0x3f, 0x34, 0x88, 0xfe, 0x3f, 0x40, 0x88, 0xfe, 0x3f, 0x20, 0x88, 0xfe, 0x3f, + 0x2c, 0x88, 0xfe, 0x3f, 0x12, 0xc1, 0xe0, 0xd9, 0x41, 0x09, 0x21, 0xc9, 0x31, 0x40, 0x00, 0x74, + 0xcd, 0x02, 0x22, 0x22, 0x17, 0xdd, 0x03, 0x0b, 0x32, 0x16, 0x43, 0x0b, 0x16, 0x12, 0x0b, 0xb6, + 0x80, 0x13, 0x21, 0xf2, 0xff, 0x31, 0xf2, 0xff, 0x42, 0xa3, 0x87, 0x01, 0x11, 0xce, 0xc0, 0x00, + 0x00, 0x3d, 0xf0, 0x86, 0xfe, 0xff, 0x0c, 0x12, 0x09, 0x11, 0x66, 0x2d, 0x58, 0x62, 0xa0, 0x80, + 0x72, 0x0c, 0x0b, 0x52, 0x0c, 0x14, 0x00, 0x10, 0x40, 0xca, 0x40, 0x49, 0x01, 0x00, 0x82, 0xa1, + 0x50, 0x50, 0x64, 0x80, 0x77, 0x20, 0x72, 0x4c, 0x0b, 0x60, 0x55, 0x20, 0x52, 0x4c, 0x14, 0x42, + 0x04, 0x0c, 0x42, 0xc4, 0xfe, 0x56, 0x04, 0x0a, 0x21, 0xe1, 0xff, 0x31, 0xe1, 0xff, 0x42, 0xa3, + 0x8c, 0x01, 0xff, 0xcd, 0xc0, 0x00, 0x00, 0x3d, 0xf0, 0x86, 0xfe, 0xff, 0xd2, 0xa0, 0x21, 0xc0, + 0x2c, 0x20, 0x32, 0xa0, 0x03, 0x05, 0x7c, 0xff, 0x2d, 0x0c, 0x0c, 0x33, 0x05, 0x96, 0x00, 0x0c, + 0x12, 0xd2, 0x4c, 0x15, 0x0c, 0x3d, 0x02, 0x21, 0x01, 0x26, 0x1d, 0x55, 0x66, 0x3d, 0x31, 0x26, + 0x1d, 0x4f, 0xd2, 0xa0, 0x01, 0x21, 0xd3, 0xff, 0x00, 0x30, 0x20, 0xca, 0xa0, 0x0c, 0x19, 0x92, + 0x4a, 0x0c, 0x01, 0xef, 0xcd, 0xc0, 0x00, 0x00, 0x32, 0x0c, 0x09, 0x66, 0x33, 0x1d, 0x3d, 0x0d, + 0x2d, 0x0c, 0xc5, 0x92, 0x00, 0x06, 0x02, 0x00, 0x21, 0xcc, 0xff, 0x01, 0xe9, 0xcd, 0xc0, 0x00, + 0x00, 0xc8, 0x31, 0xd8, 0x41, 0x08, 0x21, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x66, 0x43, 0xe8, 0x21, + 0xc6, 0xff, 0x01, 0xe3, 0xcd, 0xc0, 0x00, 0x00, 0x3d, 0x0d, 0x2d, 0x0c, 0x05, 0x90, 0x00, 0x86, + 0xf7, 0xff, 0xb2, 0x0c, 0x0b, 0x7c, 0xf4, 0x00, 0x10, 0x40, 0x00, 0x32, 0xa1, 0x40, 0x33, 0x30, + 0x30, 0xbb, 0x10, 0xb2, 0x4c, 0x0b, 0xc6, 0xe6, 0xff, 0x21, 0xbc, 0xff, 0x38, 0x11, 0x01, 0xd8, + 0xcd, 0xc0, 0x00, 0x00, 0x32, 0x0c, 0x09, 0x26, 0x43, 0x3f, 0x26, 0x23, 0x3c, 0x66, 0x13, 0x0b, + 0x21, 0xb8, 0xff, 0x01, 0xd3, 0xcd, 0xc0, 0x00, 0x00, 0x06, 0x02, 0x00, 0x21, 0xb5, 0xff, 0x01, + 0xd0, 0xcd, 0xc0, 0x00, 0x00, 0x2c, 0x12, 0x52, 0x0c, 0x15, 0x1c, 0x04, 0x57, 0x34, 0x14, 0x02, + 0x0c, 0x01, 0x80, 0x60, 0x01, 0x60, 0x68, 0x31, 0x67, 0x24, 0x02, 0x46, 0xcb, 0xff, 0x72, 0xc0, + 0x81, 0x16, 0x77, 0xf2, 0x22, 0x4c, 0x15, 0x86, 0xdd, 0xff, 0xd0, 0x3d, 0x20, 0xc0, 0x2c, 0x20, + 0x92, 0x21, 0x00, 0x0c, 0x28, 0x82, 0x49, 0x0c, 0x45, 0x88, 0x00, 0x86, 0xf1, 0xff, 0x00, 0x00, + 0x48, 0x88, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0xc9, 0x21, 0x09, 0x11, 0x02, 0x02, 0x14, 0xcd, 0x02, + 0x67, 0xe0, 0x52, 0x49, 0x01, 0x66, 0x53, 0x1e, 0x85, 0x38, 0x00, 0x32, 0x0c, 0x19, 0x32, 0xc3, + 0x14, 0x27, 0xb3, 0x3c, 0x21, 0xf7, 0xff, 0x01, 0xb6, 0xcd, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x38, + 0x01, 0x45, 0xdb, 0xff, 0x86, 0x0b, 0x00, 0x41, 0x3c, 0xcf, 0xc0, 0x20, 0x00, 0x42, 0x24, 0x80, + 0x42, 0x62, 0x13, 0x1b, 0x23, 0x32, 0x2c, 0x1a, 0x20, 0x20, 0x74, 0x20, 0x22, 0x90, 0x30, 0x22, + 0xa0, 0x22, 0x02, 0x00, 0x22, 0x4c, 0x08, 0x85, 0x54, 0xff, 0x3d, 0x02, 0x2d, 0x0c, 0x85, 0x69, + 0xff, 0x2d, 0x0c, 0x45, 0x8f, 0xff, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0x00, 0x08, 0x20, 0x00, 0xa0, 0x81, 0xfe, 0x3f, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xcd, + 0x02, 0x2d, 0x03, 0x9c, 0x1c, 0x02, 0x2c, 0x18, 0x8c, 0xc0, 0x08, 0x03, 0x00, 0x36, 0x41, 0x77, + 0x60, 0x32, 0x02, 0x2c, 0x19, 0x06, 0x02, 0x00, 0x32, 0x02, 0x00, 0x01, 0xb5, 0xfd, 0x07, 0x63, + 0x4b, 0x09, 0x52, 0x8c, 0xfc, 0x42, 0x0c, 0x14, 0x67, 0x64, 0x0a, 0x58, 0x02, 0x97, 0x65, 0x05, + 0x02, 0x0c, 0x07, 0x86, 0x00, 0x00, 0x02, 0x00, 0x00, 0xc8, 0x11, 0x02, 0x42, 0x08, 0x08, 0x01, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x29, 0x21, 0x97, 0x60, 0x28, 0x2d, 0x0c, 0x05, 0x37, 0x00, 0x28, + 0x21, 0x02, 0x2c, 0x18, 0x78, 0x02, 0x81, 0x25, 0xd0, 0x70, 0x60, 0x54, 0x70, 0x76, 0x41, 0x80, + 0x77, 0x20, 0xa0, 0x77, 0x11, 0x70, 0x66, 0x20, 0x69, 0x02, 0xc6, 0xec, 0xff, 0x01, 0x9f, 0xfd, + 0x46, 0xeb, 0xff, 0x81, 0xdf, 0xff, 0x37, 0x08, 0x0a, 0x92, 0x2c, 0x17, 0x01, 0xde, 0xff, 0x8c, + 0x19, 0x06, 0xe7, 0xff, 0x02, 0x2c, 0x19, 0x86, 0xe5, 0xff, 0x00, 0x00, 0x50, 0x88, 0xfe, 0x3f, + 0x12, 0xc1, 0xf0, 0x09, 0x11, 0x02, 0x02, 0x14, 0x5d, 0x03, 0x67, 0x60, 0x19, 0x02, 0x02, 0x07, + 0x02, 0x43, 0x08, 0xb6, 0xb0, 0x08, 0x22, 0xc0, 0xf0, 0x20, 0x20, 0x24, 0xe6, 0x32, 0x34, 0x1c, + 0x33, 0x32, 0x45, 0x08, 0x06, 0x0b, 0x00, 0x37, 0xe0, 0x29, 0x39, 0x21, 0x32, 0x03, 0x04, 0x30, + 0x30, 0x34, 0x2a, 0x43, 0x42, 0x04, 0x0c, 0x29, 0x01, 0x66, 0x14, 0x11, 0x48, 0x01, 0x21, 0xef, + 0xff, 0x42, 0x04, 0x09, 0x01, 0x6b, 0xcd, 0xc0, 0x00, 0x00, 0x28, 0x01, 0x58, 0x21, 0x62, 0x02, + 0x08, 0x62, 0x45, 0x08, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x48, 0x03, 0x0c, 0x06, + 0x40, 0xb6, 0x41, 0xc7, 0xf4, 0x2a, 0x0c, 0x07, 0x82, 0x03, 0x04, 0x98, 0x53, 0x80, 0x84, 0x41, + 0x90, 0xa6, 0x90, 0x42, 0x0a, 0x01, 0x1b, 0x66, 0x7a, 0x74, 0x70, 0x70, 0x74, 0x87, 0x27, 0x12, + 0x8c, 0x72, 0x52, 0x02, 0x14, 0x67, 0x65, 0x02, 0x37, 0xeb, 0x10, 0x22, 0x0a, 0x00, 0x22, 0x43, + 0x08, 0x0d, 0xf0, 0x60, 0x60, 0x74, 0x66, 0x46, 0xd6, 0x06, 0xfd, 0xff, 0x22, 0x02, 0x07, 0xc6, + 0xfa, 0xff, 0x00, 0x00, 0x19, 0xce, 0x10, 0x40, 0x62, 0xa0, 0xff, 0xf6, 0xc3, 0x7c, 0x51, 0xfd, + 0xff, 0x30, 0x43, 0x90, 0x5a, 0x44, 0xa0, 0x04, 0x00, 0x86, 0x1b, 0x00, 0xc6, 0x6c, 0x00, 0xc6, + 0x64, 0x00, 0x46, 0x5c, 0x00, 0x86, 0x18, 0x00, 0xc6, 0x69, 0x00, 0xc6, 0x61, 0x00, 0x46, 0x59, + 0x00, 0xc6, 0x50, 0x00, 0x46, 0x48, 0x00, 0x46, 0x40, 0x00, 0xc6, 0x37, 0x00, 0x46, 0x2f, 0x00, + 0xc6, 0x26, 0x00, 0x46, 0x1e, 0x00, 0x46, 0x16, 0x00, 0x06, 0x34, 0x00, 0x06, 0x3b, 0x00, 0x46, + 0x1b, 0x00, 0xc6, 0x40, 0x00, 0x86, 0x21, 0x00, 0x06, 0x47, 0x00, 0xc6, 0x27, 0x00, 0x06, 0x0d, + 0x00, 0x06, 0x2e, 0x00, 0x06, 0x35, 0x00, 0x46, 0x15, 0x00, 0xc6, 0x3a, 0x00, 0x86, 0x1b, 0x00, + 0x06, 0x41, 0x00, 0xc6, 0x21, 0x00, 0x06, 0x07, 0x00, 0x32, 0xc2, 0xdf, 0x22, 0xc2, 0xe0, 0x30, + 0x23, 0xb3, 0x20, 0x21, 0x21, 0x20, 0x22, 0x90, 0x20, 0x20, 0x74, 0x2c, 0x03, 0x27, 0xb3, 0x03, + 0x2d, 0x03, 0x0d, 0xf0, 0x0d, 0xf0, 0x2c, 0x14, 0x27, 0xb4, 0x02, 0x67, 0x92, 0xda, 0x0c, 0x02, + 0x06, 0xf9, 0xff, 0xb6, 0x92, 0x02, 0x67, 0x92, 0x04, 0x0c, 0x02, 0x46, 0xf6, 0xff, 0x32, 0xc2, + 0xf7, 0x22, 0xc2, 0xf8, 0x30, 0x23, 0xb3, 0x20, 0x21, 0x21, 0x20, 0x22, 0x90, 0xc6, 0xf1, 0xff, + 0x0c, 0xd4, 0x27, 0xb4, 0x02, 0x67, 0x92, 0x04, 0x0c, 0x02, 0x86, 0xee, 0xff, 0x32, 0xc2, 0xf3, + 0x22, 0xc2, 0xf4, 0x30, 0x23, 0xb3, 0x20, 0x21, 0x21, 0x20, 0x22, 0x90, 0x06, 0xea, 0xff, 0x1c, + 0x54, 0x27, 0xb4, 0x02, 0x67, 0x92, 0x04, 0x0c, 0x02, 0xc6, 0xe6, 0xff, 0x32, 0xc2, 0xeb, 0x22, + 0xc2, 0xec, 0x30, 0x23, 0xb3, 0x20, 0x21, 0x21, 0x20, 0x22, 0x90, 0x46, 0xe2, 0xff, 0x1c, 0xd4, + 0x27, 0xb4, 0x02, 0x67, 0x92, 0x04, 0x0c, 0x02, 0x06, 0xdf, 0xff, 0x32, 0xc2, 0xe3, 0x22, 0xc2, + 0xe4, 0x30, 0x23, 0xb3, 0x20, 0x21, 0x21, 0x20, 0x22, 0x90, 0x86, 0xda, 0xff, 0x0c, 0x84, 0x27, + 0xb4, 0x02, 0x67, 0x92, 0x04, 0x0c, 0x02, 0x46, 0xd7, 0xff, 0x32, 0xc2, 0xf8, 0x22, 0xc2, 0xf9, + 0x30, 0x23, 0xb3, 0x20, 0x21, 0x21, 0x20, 0x22, 0x90, 0xc6, 0xd2, 0xff, 0xb6, 0xa2, 0x02, 0x67, + 0x92, 0x04, 0x0c, 0x02, 0x06, 0xd0, 0xff, 0x32, 0xc2, 0xf5, 0x22, 0xc2, 0xf6, 0x30, 0x23, 0xb3, + 0x20, 0x21, 0x21, 0x20, 0x22, 0x90, 0x86, 0xcb, 0xff, 0x1c, 0x04, 0x27, 0xb4, 0x02, 0x67, 0x92, + 0x04, 0x0c, 0x02, 0x46, 0xc8, 0xff, 0x32, 0xc2, 0xf0, 0x22, 0xc2, 0xf1, 0x30, 0x23, 0xb3, 0x20, + 0x21, 0x21, 0x20, 0x22, 0x90, 0xc6, 0xc3, 0xff, 0x1c, 0xa4, 0x27, 0xb4, 0x02, 0x67, 0x92, 0x04, + 0x0c, 0x02, 0x86, 0xc0, 0xff, 0x32, 0xc2, 0xe6, 0x22, 0xc2, 0xe7, 0x30, 0x23, 0xb3, 0x20, 0x21, + 0x21, 0x20, 0x22, 0x90, 0x06, 0xbc, 0xff, 0x0c, 0xe4, 0x27, 0xb4, 0x02, 0x67, 0x92, 0x04, 0x0c, + 0x02, 0xc6, 0xb8, 0xff, 0x32, 0xc2, 0xf2, 0x22, 0xc2, 0xf3, 0x30, 0x23, 0xb3, 0x20, 0x21, 0x21, + 0x20, 0x22, 0x90, 0x46, 0xb4, 0xff, 0xb6, 0xa2, 0x02, 0x67, 0x92, 0x04, 0x0c, 0x02, 0x86, 0xb1, + 0xff, 0x32, 0xc2, 0xf5, 0x22, 0xc2, 0xf6, 0x30, 0x23, 0xb3, 0x20, 0x21, 0x21, 0x20, 0x22, 0x90, + 0x06, 0xad, 0xff, 0x0c, 0xa4, 0x27, 0xb4, 0x02, 0x67, 0x92, 0x04, 0x0c, 0x02, 0xc6, 0xa9, 0xff, + 0x32, 0xc2, 0xf6, 0x22, 0xc2, 0xf7, 0x30, 0x23, 0xb3, 0x20, 0x21, 0x21, 0x20, 0x22, 0x90, 0x46, + 0xa5, 0xff, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x32, 0x02, 0x08, 0x1c, 0x30, 0x07, 0x13, + 0x20, 0x1c, 0x44, 0x47, 0x13, 0x48, 0x1c, 0x55, 0x57, 0x13, 0x54, 0x02, 0xa0, 0x72, 0x1c, 0x67, + 0x77, 0x13, 0x32, 0x1c, 0x78, 0x87, 0x13, 0x58, 0x1c, 0xf9, 0x97, 0x13, 0x19, 0x2d, 0x00, 0x46, + 0x03, 0x00, 0x22, 0x02, 0x01, 0x05, 0xde, 0xff, 0x3d, 0x02, 0x22, 0xa0, 0x6c, 0x30, 0x22, 0xc0, + 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x22, 0x02, 0x01, 0xc5, 0xdc, 0xff, 0x42, 0xa0, 0x72, + 0x20, 0x24, 0xc0, 0x46, 0xfa, 0xff, 0x22, 0x02, 0x01, 0xc5, 0xdb, 0xff, 0x46, 0xfb, 0xff, 0x22, + 0x02, 0x01, 0x45, 0xdb, 0xff, 0x3d, 0x02, 0x22, 0xa0, 0x6d, 0x30, 0x22, 0xc0, 0xc6, 0xf3, 0xff, + 0x22, 0x02, 0x01, 0x45, 0xda, 0xff, 0x3d, 0x02, 0x22, 0xa0, 0x73, 0x30, 0x22, 0xc0, 0x86, 0xef, + 0xff, 0x22, 0x02, 0x01, 0x05, 0xd9, 0xff, 0x3d, 0x02, 0x22, 0xa0, 0x73, 0x30, 0x22, 0xc0, 0x46, + 0xeb, 0xff, 0x00, 0x00, 0x9f, 0x86, 0x01, 0x00, 0x30, 0x21, 0xff, 0x3f, 0xa0, 0x86, 0x01, 0x00, + 0x12, 0xc1, 0xe0, 0xe2, 0x61, 0x04, 0x02, 0x61, 0x01, 0xd2, 0x61, 0x03, 0xc9, 0x21, 0xcd, 0x02, + 0xd1, 0x36, 0xce, 0xc0, 0x20, 0x00, 0xd2, 0x2d, 0x80, 0x38, 0xd2, 0x2d, 0x0d, 0xc5, 0x11, 0xff, + 0x38, 0x9c, 0xe1, 0xf4, 0xff, 0x16, 0x93, 0x06, 0x58, 0xec, 0x42, 0xa0, 0x63, 0x57, 0x34, 0x02, + 0x27, 0xbe, 0x5e, 0xd9, 0xdc, 0xe1, 0xf0, 0xff, 0x28, 0xac, 0x48, 0x0e, 0x90, 0x22, 0x11, 0x1b, + 0x44, 0x49, 0x0e, 0x05, 0xaf, 0x02, 0x20, 0x20, 0x74, 0x02, 0x0c, 0x17, 0x22, 0x4c, 0x16, 0x16, + 0x30, 0x09, 0x0a, 0x52, 0x38, 0xcc, 0x2d, 0x0d, 0x50, 0x51, 0x21, 0x52, 0x4c, 0x17, 0xc5, 0x0d, + 0xff, 0xe2, 0x0c, 0x17, 0x29, 0x01, 0x32, 0x2c, 0x18, 0x22, 0x0c, 0x01, 0x32, 0x03, 0x00, 0x85, + 0xd0, 0xff, 0x02, 0x2c, 0x18, 0x20, 0x21, 0x74, 0x32, 0x00, 0x09, 0x4c, 0x05, 0x56, 0x93, 0x09, + 0x5c, 0xa4, 0x20, 0x44, 0xc0, 0x0c, 0x12, 0xe7, 0xb4, 0x02, 0xc6, 0x2d, 0x00, 0x0c, 0x02, 0x86, + 0x2c, 0x00, 0x32, 0x2c, 0x0d, 0x22, 0x2c, 0x12, 0x05, 0x0a, 0xff, 0x20, 0xd2, 0x20, 0xc0, 0x2c, + 0x20, 0x05, 0x3c, 0x00, 0x16, 0x52, 0x06, 0xd7, 0xbe, 0x62, 0x2d, 0x0c, 0x52, 0x2c, 0x12, 0xd2, + 0x2c, 0x18, 0x61, 0x10, 0xfd, 0xd2, 0x0d, 0x0a, 0x62, 0x6c, 0x16, 0x59, 0xdc, 0x85, 0x43, 0xff, + 0x02, 0x2c, 0x1b, 0x22, 0x0c, 0x08, 0xc0, 0x00, 0x00, 0x32, 0x2c, 0x1a, 0x20, 0x02, 0x90, 0x30, + 0x00, 0xa0, 0x02, 0x6c, 0x18, 0x02, 0x00, 0x0a, 0x07, 0x3d, 0x02, 0x46, 0x49, 0x00, 0x42, 0x2c, + 0x12, 0x49, 0xbc, 0x86, 0x07, 0x00, 0x02, 0x2c, 0x18, 0x02, 0x00, 0x09, 0x32, 0xa0, 0x80, 0x00, + 0x00, 0x90, 0x3a, 0x00, 0x00, 0x02, 0x74, 0x02, 0x4c, 0x17, 0x27, 0xb0, 0x07, 0x0a, 0x32, 0x30, + 0x31, 0x21, 0x32, 0x4c, 0x17, 0x0c, 0x04, 0x49, 0xac, 0x49, 0x9c, 0x49, 0xec, 0xc8, 0x21, 0xd8, + 0x31, 0xe8, 0x41, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x37, 0x35, 0x0f, 0x62, 0xa0, 0x64, + 0x20, 0x66, 0xc0, 0x0c, 0x12, 0xe7, 0x36, 0x1c, 0x0c, 0x02, 0xc6, 0x05, 0x00, 0x0c, 0x06, 0x72, + 0xa0, 0x6e, 0x20, 0x77, 0xc0, 0xe7, 0xb7, 0x09, 0x20, 0x83, 0xc0, 0x2b, 0x88, 0xe7, 0xb8, 0x01, + 0x0c, 0x16, 0x60, 0x20, 0x74, 0x0c, 0x1e, 0x8c, 0xb2, 0xa8, 0x01, 0x92, 0x2c, 0x16, 0xa7, 0xb9, + 0x04, 0x0d, 0x0e, 0x46, 0x16, 0x00, 0xb2, 0x00, 0x0b, 0x07, 0xeb, 0x0a, 0x21, 0xa7, 0xff, 0x28, + 0x02, 0x20, 0x20, 0x14, 0x56, 0xd2, 0xf9, 0x22, 0x0c, 0x01, 0x32, 0x00, 0x00, 0x85, 0xc0, 0xff, + 0x32, 0x0c, 0x17, 0x02, 0x2c, 0x18, 0x20, 0x51, 0x74, 0x42, 0x00, 0x09, 0x22, 0x00, 0x0b, 0x50, + 0x44, 0xc0, 0x47, 0xa3, 0x16, 0x07, 0x62, 0x0e, 0x02, 0x2c, 0x16, 0x61, 0x5c, 0xfd, 0x07, 0x36, + 0x05, 0xf0, 0x70, 0x11, 0x72, 0x6c, 0x16, 0x0c, 0x20, 0xc6, 0x04, 0x00, 0x07, 0x62, 0x0e, 0x81, + 0xd5, 0xfc, 0x92, 0xa0, 0xfe, 0x90, 0x92, 0x10, 0x92, 0x40, 0x0b, 0x82, 0x6c, 0x16, 0x0c, 0x00, + 0x66, 0x10, 0x30, 0x2d, 0x0c, 0x05, 0x34, 0xff, 0x02, 0x2c, 0x18, 0xa2, 0x0c, 0x04, 0xb2, 0x00, + 0x0a, 0xb7, 0x3a, 0x02, 0x46, 0xcf, 0xff, 0x32, 0xc0, 0xf4, 0x32, 0x6c, 0x18, 0x22, 0x03, 0x0b, + 0xe0, 0x22, 0x20, 0x22, 0x43, 0x0b, 0xc0, 0x20, 0x00, 0xd1, 0xc3, 0xcd, 0xd2, 0x2d, 0x80, 0xd9, + 0xcc, 0x06, 0xc8, 0xff, 0x32, 0xc0, 0xfe, 0x56, 0xa3, 0xf1, 0x2d, 0x0d, 0x38, 0xbc, 0xc5, 0xf4, + 0xfe, 0x41, 0x82, 0xff, 0x27, 0x34, 0x02, 0x86, 0xc2, 0xff, 0x2d, 0x0c, 0x0c, 0x13, 0xc5, 0x33, + 0xff, 0x06, 0xc0, 0xff, 0xd7, 0x30, 0x02, 0x86, 0xbe, 0xff, 0x52, 0x2c, 0x12, 0x59, 0xcc, 0x86, + 0xbc, 0xff, 0x00, 0x00, 0x32, 0x02, 0x04, 0x48, 0x52, 0x0c, 0x12, 0x42, 0x04, 0x08, 0x30, 0x34, + 0x41, 0x47, 0xa3, 0x01, 0x0c, 0x02, 0x0d, 0xf0, 0xb0, 0x81, 0xfe, 0x3f, 0x10, 0x83, 0xfe, 0x3f, + 0xb0, 0x82, 0xfe, 0x3f, 0xa0, 0x83, 0xfe, 0x3f, 0x41, 0x70, 0xff, 0x0c, 0x05, 0x12, 0xc1, 0xf0, + 0x09, 0x01, 0x59, 0x14, 0x8b, 0x04, 0x42, 0xc4, 0x10, 0x59, 0x00, 0x4b, 0x00, 0x47, 0x90, 0xf8, + 0x21, 0x3a, 0xfc, 0x0c, 0xc3, 0xc5, 0x02, 0xff, 0x21, 0xf4, 0xff, 0x0c, 0x93, 0x45, 0x02, 0xff, + 0x21, 0xf3, 0xff, 0x0c, 0xb3, 0xc5, 0x01, 0xff, 0x21, 0xf2, 0xff, 0x0c, 0x83, 0x45, 0x01, 0xff, + 0x21, 0xf1, 0xff, 0x0c, 0x43, 0xc5, 0x00, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0x40, 0x21, 0xff, 0x3f, 0x21, 0xff, 0xff, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0xf4, 0x16, 0xff, 0x3f, + 0x58, 0x72, 0x52, 0x05, 0x08, 0xbc, 0x55, 0x26, 0x15, 0x44, 0x26, 0x55, 0x41, 0x26, 0x95, 0x5c, + 0x0c, 0xb6, 0x67, 0x15, 0x48, 0x0c, 0xf7, 0x77, 0x15, 0x61, 0x26, 0xb5, 0x40, 0x1c, 0x18, 0x87, + 0x15, 0x4a, 0x1c, 0x89, 0x97, 0x15, 0x36, 0x1c, 0x9a, 0xa7, 0x15, 0x40, 0xb1, 0xf4, 0xff, 0x32, + 0x12, 0x08, 0xb2, 0x1b, 0x05, 0x0c, 0x12, 0x37, 0x3b, 0x12, 0x0c, 0x02, 0x0d, 0xf0, 0x32, 0xa2, + 0x71, 0x42, 0x12, 0x08, 0x0c, 0x12, 0x47, 0x33, 0x03, 0x0c, 0x02, 0x0d, 0xf0, 0x0d, 0xf0, 0x52, + 0xa3, 0xe8, 0x62, 0x12, 0x08, 0x0c, 0x12, 0x67, 0x35, 0xf2, 0x0c, 0x02, 0x0d, 0xf0, 0x72, 0xa2, + 0xbc, 0x82, 0x12, 0x08, 0x0c, 0x12, 0x87, 0x37, 0xe3, 0x0c, 0x02, 0x0d, 0xf0, 0x92, 0xa4, 0x60, + 0xa2, 0x12, 0x08, 0x0c, 0x12, 0xa7, 0x39, 0xd4, 0x0c, 0x02, 0x0d, 0xf0, 0xb2, 0xa4, 0x1a, 0x32, + 0x12, 0x08, 0x0c, 0x12, 0x37, 0x3b, 0xc5, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x0d, 0xf0, 0x00, 0x00, + 0x32, 0x02, 0x14, 0x42, 0xa0, 0xfe, 0x40, 0x33, 0x10, 0x0c, 0x14, 0x40, 0x33, 0x20, 0x42, 0xa0, + 0xfb, 0x40, 0x33, 0x10, 0x0c, 0x44, 0x40, 0x33, 0x20, 0x32, 0x42, 0x14, 0x0d, 0xf0, 0x00, 0x00, + 0x32, 0x02, 0x14, 0x42, 0xa0, 0xfe, 0x40, 0x33, 0x10, 0x42, 0xa0, 0xfb, 0x40, 0x33, 0x10, 0x32, + 0x42, 0x14, 0x0d, 0xf0, 0x12, 0xc1, 0xe0, 0x09, 0x01, 0xc9, 0x11, 0xd9, 0x21, 0xe9, 0x31, 0xf9, + 0x41, 0xed, 0x02, 0xf1, 0x25, 0xff, 0x4b, 0xd2, 0xc8, 0x1f, 0x01, 0x83, 0xce, 0xc0, 0x00, 0x00, + 0x2c, 0xb6, 0x51, 0xc3, 0xff, 0x7c, 0xf2, 0x0c, 0x10, 0x38, 0x1f, 0x39, 0x0e, 0x0c, 0x84, 0xc0, + 0x70, 0x60, 0xc0, 0x77, 0x10, 0x70, 0xf7, 0x40, 0x70, 0x70, 0x60, 0x72, 0xc7, 0x1f, 0x70, 0x70, + 0x74, 0x77, 0x34, 0x2d, 0xf6, 0xc7, 0x2a, 0x00, 0x17, 0x40, 0x82, 0xa0, 0x78, 0x80, 0x87, 0x82, + 0x00, 0x90, 0xa1, 0x20, 0x99, 0x30, 0x8a, 0x85, 0x90, 0xcc, 0x10, 0x92, 0x08, 0x01, 0x92, 0x4d, + 0x00, 0x82, 0x08, 0x03, 0x82, 0x4d, 0x01, 0x2b, 0xdd, 0xe0, 0xfd, 0xc0, 0xf7, 0xa6, 0xbd, 0x86, + 0x00, 0x00, 0xe0, 0xfd, 0xc0, 0x01, 0x6d, 0xce, 0xc0, 0x00, 0x00, 0x08, 0x01, 0xc8, 0x11, 0xd8, + 0x21, 0x2b, 0x3f, 0x5b, 0x2f, 0xe8, 0x31, 0xf8, 0x41, 0x30, 0x23, 0xb3, 0x20, 0x22, 0xf4, 0x12, + 0xc1, 0x20, 0x0d, 0xf0, 0x22, 0x02, 0x14, 0x20, 0x27, 0x41, 0x0d, 0xf0, 0x5c, 0x88, 0xfe, 0x3f, + 0x12, 0xc1, 0xf0, 0x09, 0x21, 0xbc, 0xd2, 0x02, 0x22, 0x18, 0xbc, 0x80, 0x42, 0x02, 0x14, 0x40, + 0x47, 0x41, 0xbc, 0x04, 0x58, 0x73, 0x52, 0x05, 0x04, 0x50, 0x50, 0x34, 0x5a, 0x52, 0x52, 0x05, + 0x0c, 0x66, 0x15, 0x21, 0x39, 0x11, 0x62, 0x00, 0x0a, 0x29, 0x01, 0xf6, 0x46, 0x17, 0x21, 0xf3, + 0xff, 0x01, 0xa7, 0xcb, 0xc0, 0x00, 0x00, 0x38, 0x11, 0x38, 0x73, 0x32, 0x03, 0x04, 0x28, 0x01, + 0x30, 0x30, 0x34, 0x45, 0x5c, 0xff, 0x08, 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x29, 0x01, 0x39, 0x11, 0x09, 0x21, 0x01, 0x4b, 0xce, 0xc0, 0x00, 0x00, 0x28, + 0x01, 0x08, 0x11, 0x02, 0x42, 0x09, 0x01, 0x49, 0xce, 0xc0, 0x00, 0x00, 0x08, 0x21, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x0c, 0x13, 0x42, 0x02, 0x09, 0x0c, 0x02, 0x42, 0xc4, 0xfe, 0x40, 0x23, + 0x83, 0x0d, 0xf0, 0x00, 0x0c, 0x14, 0x2a, 0x53, 0x52, 0x05, 0x0c, 0x0c, 0x02, 0x52, 0xc5, 0xfe, + 0x50, 0x24, 0x83, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x74, 0x88, 0xfe, 0x3f, 0x64, 0x88, 0xfe, 0x3f, + 0x0c, 0x19, 0x81, 0x7b, 0xff, 0x12, 0xc1, 0xe0, 0xd9, 0x41, 0x39, 0x01, 0xf9, 0x61, 0x09, 0x21, + 0xe9, 0x51, 0xc9, 0x31, 0x72, 0xc8, 0xf0, 0xcd, 0x04, 0xe2, 0xc8, 0xf8, 0xe0, 0xe2, 0xa0, 0x00, + 0x0c, 0x40, 0x4d, 0x05, 0x08, 0x17, 0x49, 0x11, 0x00, 0x50, 0x91, 0x07, 0x65, 0x29, 0xf8, 0x0e, + 0xf0, 0xf0, 0x91, 0x07, 0x6f, 0x7b, 0x0c, 0x64, 0xd2, 0xa0, 0x78, 0xc0, 0xdd, 0xc1, 0xda, 0xd8, + 0xf2, 0xcd, 0x1a, 0x2d, 0x0f, 0x01, 0xcd, 0xef, 0xc0, 0x00, 0x00, 0x56, 0x32, 0x06, 0x71, 0xc6, + 0xfe, 0x0c, 0x19, 0x08, 0x17, 0x06, 0x03, 0x00, 0x22, 0xc8, 0x1a, 0xf2, 0xa0, 0x78, 0xc0, 0xff, + 0xc1, 0x8a, 0xdf, 0x2a, 0xff, 0x00, 0x1c, 0x40, 0x00, 0x29, 0xa1, 0x00, 0x32, 0x20, 0x39, 0x17, + 0x08, 0x0e, 0x32, 0xa0, 0x78, 0x20, 0x00, 0x20, 0x2d, 0x0d, 0x09, 0x0e, 0x01, 0x65, 0xcd, 0xc0, + 0x00, 0x00, 0x2d, 0x0f, 0xc2, 0x4d, 0x76, 0x48, 0x11, 0x38, 0x01, 0x42, 0x5d, 0x10, 0x0c, 0x64, + 0x01, 0x9a, 0xcd, 0xc0, 0x00, 0x00, 0x3d, 0x0c, 0x21, 0xd8, 0xff, 0x01, 0x65, 0xcb, 0xc0, 0x00, + 0x00, 0x08, 0x21, 0xc8, 0x31, 0xe8, 0x51, 0x2d, 0x0d, 0xf8, 0x61, 0xd8, 0x41, 0x12, 0xc1, 0x20, + 0x0d, 0xf0, 0x21, 0xd2, 0xff, 0x01, 0x5e, 0xcb, 0xc0, 0x00, 0x00, 0x0c, 0x0d, 0x06, 0xf8, 0xff, + 0x21, 0xaa, 0xfe, 0x28, 0x12, 0x0d, 0xf0, 0x00, 0x38, 0x21, 0xff, 0x3f, 0x7c, 0x88, 0xfe, 0x3f, + 0x12, 0xc1, 0xf0, 0x09, 0x11, 0xc9, 0x21, 0x01, 0xfc, 0xff, 0xcd, 0x04, 0x00, 0x42, 0xa0, 0x49, + 0x01, 0x48, 0x04, 0x00, 0x0c, 0x40, 0x40, 0x40, 0x91, 0x07, 0x64, 0x39, 0x8b, 0x20, 0x42, 0xa0, + 0x78, 0xc0, 0x44, 0xd1, 0x4a, 0x22, 0x22, 0xc2, 0x1a, 0x0c, 0x64, 0x01, 0xa0, 0xef, 0xc0, 0x00, + 0x00, 0xec, 0x12, 0x98, 0x01, 0x7c, 0xf8, 0x61, 0x98, 0xfe, 0x00, 0x1c, 0x40, 0x0c, 0x17, 0x00, + 0x77, 0xa1, 0x58, 0x16, 0x80, 0x77, 0x30, 0x88, 0x09, 0x70, 0x55, 0x10, 0x59, 0x16, 0x70, 0x88, + 0x10, 0x89, 0x09, 0x06, 0x02, 0x00, 0x21, 0xe9, 0xff, 0x01, 0x41, 0xcb, 0xc0, 0x00, 0x00, 0xc8, + 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x61, 0x8c, 0xfe, 0x0c, 0x03, 0x78, 0x16, 0x8b, + 0x46, 0x40, 0x42, 0xa0, 0x58, 0x04, 0x39, 0x04, 0x70, 0x55, 0x30, 0x59, 0x16, 0x0d, 0xf0, 0x00, + 0x51, 0xde, 0xff, 0x50, 0x32, 0xa0, 0x28, 0x03, 0x9c, 0xe2, 0x0b, 0x42, 0x47, 0x82, 0x1a, 0x20, + 0x30, 0x60, 0x42, 0xa0, 0x78, 0x20, 0x33, 0x10, 0x8b, 0x25, 0x30, 0xf3, 0x40, 0x30, 0x30, 0x60, + 0x32, 0xc3, 0x1f, 0x40, 0x33, 0x82, 0x3a, 0x22, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xe0, 0xd9, 0x21, 0xf9, 0x41, 0x09, 0x01, 0xc9, 0x11, 0xc1, 0xcf, 0xff, 0xe9, 0x31, + 0xc0, 0xc2, 0xa0, 0xc8, 0x0c, 0xed, 0x03, 0xc0, 0xd0, 0x60, 0xc0, 0xdd, 0x10, 0xd0, 0xfd, 0x40, + 0xd0, 0xd0, 0x60, 0xd2, 0xcd, 0x1f, 0x96, 0xcd, 0x02, 0x3d, 0x0e, 0x0c, 0x64, 0xf1, 0x10, 0xff, + 0x02, 0xa0, 0x78, 0x00, 0x0d, 0x82, 0x0a, 0xff, 0x22, 0xcf, 0x1a, 0x01, 0x70, 0xef, 0xc0, 0x00, + 0x00, 0xac, 0x22, 0x7c, 0xf3, 0x00, 0x1d, 0x40, 0x0c, 0x12, 0x00, 0x22, 0xa1, 0x30, 0x22, 0x30, + 0x20, 0xcc, 0x10, 0x06, 0xf0, 0xff, 0x0c, 0x02, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, + 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x2d, 0x0f, 0xc6, 0xfa, 0xff, 0x41, 0x5f, 0xfe, 0x00, + 0x02, 0x40, 0x38, 0x14, 0x52, 0xc4, 0x10, 0x30, 0x30, 0x91, 0x07, 0x63, 0x09, 0x32, 0xa0, 0x78, + 0x20, 0x23, 0xc1, 0x2a, 0x25, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x51, 0x57, 0xfe, 0x28, + 0x15, 0x68, 0x25, 0x0b, 0x32, 0x37, 0x82, 0x0a, 0x8c, 0x72, 0x0c, 0x14, 0x0c, 0x02, 0x60, 0x24, + 0x83, 0x0d, 0xf0, 0x7c, 0xf2, 0x0d, 0xf0, 0x00, 0x68, 0x84, 0xfe, 0x3f, 0x84, 0x88, 0xfe, 0x3f, + 0x80, 0x25, 0xff, 0x3f, 0x12, 0xc1, 0xe0, 0x32, 0x61, 0x01, 0x42, 0x61, 0x02, 0x52, 0x61, 0x03, + 0x69, 0x41, 0x29, 0x01, 0x09, 0x51, 0x0c, 0x72, 0x85, 0xc8, 0xf8, 0xdc, 0x02, 0x21, 0xf6, 0xff, + 0x31, 0xf7, 0xff, 0x42, 0xa0, 0xf1, 0x01, 0xf6, 0xca, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0xa8, + 0x31, 0x81, 0xf3, 0xff, 0xb8, 0x01, 0x08, 0x72, 0x38, 0x41, 0x39, 0x10, 0xb9, 0x20, 0x38, 0x21, + 0x98, 0x08, 0xa2, 0x52, 0x04, 0x99, 0x02, 0x39, 0x12, 0x98, 0x19, 0x99, 0x32, 0x0c, 0x06, 0x52, + 0xa0, 0xbf, 0xc0, 0x20, 0x00, 0x72, 0x03, 0x03, 0x50, 0x77, 0x10, 0xc0, 0x20, 0x00, 0x08, 0x11, + 0x72, 0x43, 0x03, 0x48, 0x23, 0x49, 0x08, 0x69, 0x23, 0x16, 0xb0, 0x07, 0xb8, 0x28, 0x98, 0x2b, + 0x99, 0x28, 0x69, 0x2b, 0x48, 0x12, 0xc0, 0x20, 0x00, 0x72, 0x14, 0x00, 0x70, 0x70, 0xb4, 0x91, + 0x69, 0xcc, 0x40, 0x77, 0x11, 0xc0, 0x20, 0x00, 0x32, 0x14, 0x01, 0x00, 0x33, 0x11, 0xc0, 0x20, + 0x00, 0xa2, 0x14, 0x00, 0xa0, 0x33, 0x20, 0x90, 0x33, 0x10, 0x70, 0x33, 0x20, 0xc0, 0x20, 0x00, + 0x32, 0x54, 0x00, 0x30, 0x30, 0xf5, 0xc0, 0x20, 0x00, 0x08, 0x12, 0x32, 0x54, 0x01, 0xb9, 0x20, + 0xb9, 0x12, 0xc0, 0x20, 0x00, 0xa2, 0x0b, 0x03, 0x50, 0xaa, 0x10, 0x60, 0xaa, 0x20, 0xc0, 0x20, + 0x00, 0x41, 0x8b, 0xe3, 0xa2, 0x4b, 0x03, 0x92, 0x12, 0x04, 0x78, 0x72, 0x1b, 0x99, 0x92, 0x52, + 0x04, 0x92, 0x17, 0x00, 0x1c, 0x0a, 0x40, 0x49, 0x10, 0x90, 0x90, 0xb4, 0xa0, 0x99, 0x20, 0x90, + 0x90, 0xb4, 0x90, 0x44, 0x20, 0x42, 0x57, 0x00, 0x05, 0x6b, 0xfa, 0x08, 0x51, 0x12, 0xc1, 0x20, + 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x03, 0x6d, 0x04, 0x12, 0xc1, 0xd0, 0x0c, + 0x14, 0x29, 0x01, 0xe9, 0x71, 0xd9, 0x61, 0x09, 0x41, 0xf9, 0x81, 0xc9, 0x51, 0xf1, 0xbc, 0xff, + 0xc1, 0x2a, 0xcd, 0x08, 0x0f, 0x69, 0x21, 0x08, 0x10, 0x59, 0x11, 0xcb, 0xd0, 0x32, 0x00, 0x13, + 0xe2, 0x10, 0x0c, 0x30, 0x73, 0x04, 0x79, 0x31, 0x37, 0x63, 0x2c, 0x32, 0x00, 0x18, 0x52, 0xa0, + 0x8c, 0x50, 0x33, 0x10, 0x52, 0xa0, 0x88, 0x50, 0x33, 0xc0, 0x56, 0x63, 0x14, 0x92, 0xa0, 0x60, + 0xe0, 0x68, 0x14, 0x62, 0xc6, 0xfd, 0x56, 0x66, 0x21, 0x02, 0x00, 0x36, 0x97, 0x00, 0x02, 0x46, + 0x4c, 0x00, 0x00, 0x00, 0x34, 0x86, 0x06, 0x00, 0x82, 0xa0, 0x84, 0xe0, 0x70, 0x74, 0x80, 0x77, + 0xc0, 0x56, 0xf7, 0x11, 0x52, 0x00, 0x29, 0x32, 0x00, 0x28, 0x80, 0x05, 0x11, 0x30, 0x00, 0x20, + 0x00, 0x0c, 0x34, 0xb1, 0xff, 0xdb, 0x82, 0x0d, 0x03, 0x91, 0x2b, 0xcc, 0x57, 0x68, 0x26, 0x47, + 0xe8, 0x23, 0x81, 0x3f, 0xcb, 0xc0, 0x20, 0x00, 0x72, 0x29, 0x97, 0x80, 0x77, 0x10, 0xc0, 0x20, + 0x00, 0x72, 0x69, 0x97, 0xc0, 0x20, 0x00, 0x62, 0x29, 0xa2, 0xb0, 0x66, 0x20, 0xc0, 0x20, 0x00, + 0x62, 0x69, 0xa2, 0x42, 0x4f, 0x1f, 0x0c, 0x0a, 0x02, 0x4f, 0x1d, 0xfa, 0x00, 0x02, 0x00, 0x20, + 0xa2, 0x4f, 0x1e, 0x0b, 0x30, 0x07, 0x83, 0x02, 0x06, 0x32, 0x00, 0x51, 0x30, 0xcb, 0x61, 0x79, + 0xd5, 0x0c, 0x02, 0x31, 0xa8, 0xd1, 0x00, 0x80, 0x60, 0x00, 0x88, 0x10, 0x80, 0xf8, 0x40, 0x80, + 0x80, 0x60, 0x82, 0xc8, 0x1f, 0x96, 0xc8, 0x08, 0x7c, 0xf7, 0x6c, 0x89, 0x00, 0x18, 0x40, 0x00, + 0xb4, 0xa1, 0x90, 0x98, 0x82, 0xca, 0x99, 0x70, 0x7b, 0x30, 0x70, 0x00, 0x10, 0x56, 0x42, 0x04, + 0x72, 0x0d, 0x1b, 0x82, 0x0d, 0x1a, 0x80, 0x77, 0x11, 0x70, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x72, + 0x29, 0xd4, 0x87, 0x97, 0x2f, 0x09, 0x91, 0x72, 0x0d, 0x19, 0x02, 0x0d, 0x17, 0x82, 0x0d, 0x16, + 0x80, 0x00, 0x11, 0x00, 0x88, 0x20, 0x02, 0x0d, 0x18, 0x80, 0x77, 0x01, 0x00, 0x00, 0x11, 0x70, + 0x00, 0x20, 0x00, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x29, 0xd5, 0x08, 0x91, 0x87, 0x97, 0x04, + 0x0c, 0x12, 0x06, 0xe4, 0xff, 0xc0, 0x20, 0x00, 0x82, 0x29, 0xd6, 0x80, 0x74, 0xb5, 0x30, 0x88, + 0x10, 0x70, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x69, 0xd6, 0xc0, 0x20, 0x00, 0x72, 0x29, 0xd3, + 0x60, 0x77, 0x10, 0x50, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x69, 0xd3, 0xa0, 0xab, 0x20, 0xa2, + 0x4f, 0x1e, 0x06, 0xd8, 0xff, 0x9c, 0xb2, 0x92, 0x0f, 0x1f, 0xdc, 0x69, 0xc0, 0x20, 0x00, 0xb1, + 0xee, 0xcb, 0x01, 0xbf, 0xdb, 0xa2, 0x2b, 0xa2, 0x00, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x6b, + 0xa2, 0x42, 0x4f, 0x1f, 0x85, 0x62, 0x01, 0x02, 0x21, 0x03, 0x32, 0x02, 0x06, 0x42, 0x0d, 0x0a, + 0x92, 0xa0, 0xf0, 0x90, 0x44, 0x10, 0x30, 0x30, 0x34, 0x40, 0x33, 0x20, 0x32, 0x4d, 0x0a, 0x16, + 0x80, 0x03, 0xc0, 0x20, 0x00, 0x62, 0x2c, 0x88, 0x52, 0x2f, 0x02, 0x67, 0x15, 0x11, 0x21, 0x52, + 0xff, 0x31, 0x52, 0xff, 0x42, 0xa1, 0x96, 0x01, 0x52, 0xca, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, + 0xc0, 0x20, 0x00, 0x72, 0x2c, 0x89, 0x26, 0x17, 0x2b, 0x21, 0x4b, 0xff, 0x31, 0x4c, 0xff, 0x42, + 0xa1, 0x98, 0x01, 0x4b, 0xca, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x82, 0x0d, 0x03, 0x47, 0xe8, + 0x05, 0x57, 0xe8, 0x02, 0x06, 0x21, 0x00, 0xe0, 0x80, 0x34, 0x8c, 0x78, 0xa2, 0xc8, 0xfc, 0x16, + 0x4a, 0x0a, 0x66, 0x88, 0x04, 0x0c, 0x08, 0x86, 0x00, 0x00, 0x82, 0xa0, 0x01, 0x16, 0x48, 0x01, + 0x42, 0x21, 0x01, 0x0c, 0x0b, 0x38, 0x01, 0x28, 0x0f, 0xc8, 0x23, 0xc9, 0x0f, 0xb9, 0x23, 0x85, + 0xc0, 0x00, 0xc6, 0x0e, 0x00, 0xe1, 0xc2, 0xcb, 0xc0, 0x20, 0x00, 0xf8, 0x01, 0xd2, 0x1f, 0x01, + 0x00, 0xdd, 0x11, 0xc0, 0x20, 0x00, 0xf2, 0x1f, 0x00, 0xf0, 0xdd, 0x20, 0xe0, 0xdd, 0x10, 0xd0, + 0xdc, 0x41, 0xdc, 0x0d, 0x21, 0x31, 0xff, 0x31, 0x31, 0xff, 0x42, 0xa2, 0x2e, 0x01, 0x30, 0xca, + 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x48, 0x01, 0x58, 0x11, 0x68, 0x21, 0x3d, 0x00, 0x45, 0xcb, + 0xff, 0xc8, 0x51, 0xd8, 0x61, 0xe8, 0x71, 0xf8, 0x81, 0x08, 0x41, 0x12, 0xc1, 0x30, 0x0d, 0xf0, + 0x02, 0x00, 0x30, 0x97, 0x00, 0x02, 0x86, 0xc6, 0xff, 0x46, 0x79, 0xff, 0x67, 0xe8, 0x04, 0x80, + 0x37, 0x41, 0xbc, 0xd3, 0xe0, 0x80, 0x34, 0x8c, 0x98, 0x26, 0x48, 0x15, 0x66, 0x88, 0x12, 0x0c, + 0x08, 0x06, 0xde, 0xff, 0xe0, 0x90, 0x74, 0x26, 0xd9, 0xf4, 0x5c, 0x04, 0x47, 0x19, 0x02, 0x26, + 0xe9, 0xec, 0x0c, 0x18, 0x46, 0xd9, 0xff, 0x90, 0x9e, 0x10, 0x26, 0xe9, 0x10, 0x52, 0xa0, 0x90, + 0x57, 0x19, 0x0a, 0x62, 0xa0, 0xa0, 0x67, 0x99, 0x04, 0x0c, 0x08, 0x86, 0xd3, 0xff, 0x0c, 0x18, + 0x46, 0xd2, 0xff, 0x0c, 0x18, 0x06, 0xd1, 0xff, 0xb0, 0x25, 0xff, 0x3f, 0x0c, 0xc3, 0x52, 0xa1, + 0x00, 0x62, 0xa1, 0x00, 0x0c, 0x17, 0x12, 0xc1, 0xe0, 0x09, 0x61, 0x22, 0xc1, 0x10, 0x29, 0x01, + 0x02, 0xc1, 0x14, 0x21, 0xf9, 0xff, 0x09, 0x11, 0x42, 0xc2, 0x60, 0x01, 0x63, 0xcb, 0xc0, 0x00, + 0x00, 0x28, 0x41, 0x08, 0x61, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x44, 0x0e, 0xf2, 0x3f, + 0x00, 0x00, 0x00, 0xc4, 0x61, 0xfe, 0xff, 0x41, 0x68, 0xe8, 0x51, 0xfd, 0xff, 0x20, 0x46, 0x93, + 0xc0, 0x20, 0x00, 0x32, 0x24, 0x85, 0x50, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x64, 0x85, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x3b, 0x61, 0xf5, 0xff, 0x41, 0x5f, 0xe8, 0x51, 0xfd, + 0xff, 0x20, 0x46, 0x93, 0xc0, 0x20, 0x00, 0x32, 0x24, 0x85, 0x50, 0x33, 0x10, 0xc0, 0x20, 0x00, + 0x32, 0x64, 0x85, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0xd0, 0x83, 0xfe, 0x3f, 0x41, 0xff, 0xff, 0x40, + 0x42, 0xa0, 0x39, 0x04, 0x0d, 0xf0, 0x00, 0x00, 0x10, 0x2e, 0xff, 0x3f, 0x0c, 0x03, 0xa2, 0xa8, + 0x30, 0x81, 0xe6, 0xff, 0x71, 0x51, 0xe8, 0x61, 0xf8, 0xff, 0xe0, 0x42, 0x11, 0x0c, 0x19, 0x20, + 0x29, 0x93, 0x6a, 0x64, 0x98, 0x06, 0x20, 0x78, 0x93, 0xaa, 0x99, 0xc0, 0x20, 0x00, 0x92, 0x67, + 0x86, 0xc0, 0x20, 0x00, 0x32, 0x67, 0x87, 0x88, 0x06, 0xc0, 0x20, 0x00, 0x82, 0x67, 0x8e, 0xc0, + 0x20, 0x00, 0x51, 0xf1, 0xff, 0x32, 0x67, 0x8f, 0x68, 0x06, 0x5a, 0x74, 0x69, 0x07, 0x8b, 0x55, + 0x5a, 0x44, 0x39, 0x04, 0x0d, 0xf0, 0x00, 0x00, 0x18, 0x2e, 0xff, 0x3f, 0x1f, 0x4e, 0x00, 0x00, + 0x41, 0xd3, 0xff, 0x91, 0xfd, 0xff, 0x61, 0x3c, 0xe8, 0x82, 0xc9, 0xf8, 0x20, 0x64, 0x93, 0xdc, + 0x63, 0xe0, 0x52, 0x11, 0x80, 0x72, 0xa0, 0x78, 0x07, 0xc0, 0x20, 0x00, 0x72, 0x66, 0x8e, 0x9a, + 0x55, 0x58, 0x05, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x8f, 0x51, 0xe6, 0xdc, 0x71, 0x57, 0xcb, 0xc0, + 0x20, 0x00, 0x52, 0x67, 0xd8, 0xc0, 0x20, 0x00, 0x42, 0x26, 0x81, 0xc0, 0x20, 0x00, 0xb2, 0x26, + 0x8e, 0xa1, 0xee, 0xff, 0x40, 0xbb, 0xc0, 0xb2, 0xcb, 0xf0, 0xb7, 0x3a, 0x14, 0xa1, 0x20, 0xdb, + 0xc0, 0x20, 0x00, 0x62, 0x27, 0xd9, 0xa0, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x67, 0xd9, 0x46, + 0x04, 0x00, 0x41, 0xfc, 0xd1, 0xc0, 0x20, 0x00, 0xb2, 0x27, 0xd9, 0x40, 0xbb, 0x20, 0xc0, 0x20, + 0x00, 0xb2, 0x67, 0xd9, 0xdc, 0xd3, 0xa1, 0xc8, 0xff, 0xe0, 0x62, 0x11, 0x80, 0x72, 0xa0, 0x58, + 0x07, 0xaa, 0x66, 0x68, 0x06, 0x90, 0x32, 0xa0, 0x6a, 0x55, 0x59, 0x07, 0x67, 0xb5, 0x05, 0xb8, + 0x03, 0x1b, 0xbb, 0xb9, 0x03, 0x0d, 0xf0, 0x00, 0x04, 0x10, 0xf2, 0x3f, 0x20, 0x4e, 0x00, 0x00, + 0xe0, 0x42, 0x11, 0x61, 0xfd, 0xff, 0x72, 0xa0, 0x44, 0x12, 0xc1, 0xf0, 0x52, 0xa0, 0x00, 0x02, + 0x61, 0x00, 0x01, 0xb9, 0xff, 0x20, 0x57, 0x93, 0x6a, 0x55, 0x0a, 0x04, 0x08, 0x00, 0xc0, 0x20, + 0x00, 0x58, 0x05, 0x61, 0xb9, 0xff, 0x31, 0xf5, 0xff, 0x6a, 0x44, 0x48, 0x04, 0x3a, 0x30, 0x0a, + 0x44, 0x50, 0x24, 0xc0, 0x27, 0xb3, 0x0a, 0x32, 0xa3, 0xe8, 0x2d, 0x00, 0x45, 0xef, 0x01, 0x46, + 0x01, 0x00, 0x32, 0xa3, 0xe8, 0xc5, 0xee, 0x01, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xd8, 0x83, 0xfe, 0x3f, 0x00, 0x06, 0xf2, 0x3f, 0x00, 0xa0, 0x80, 0x80, + 0xf7, 0xbf, 0xdf, 0xff, 0x20, 0x2e, 0xff, 0x3f, 0x10, 0x31, 0xff, 0x3f, 0xe0, 0x7f, 0x00, 0x00, + 0xef, 0xbe, 0xad, 0xde, 0x10, 0x27, 0xff, 0x3f, 0xbc, 0x25, 0xff, 0x3f, 0x90, 0x25, 0xff, 0x3f, + 0xf0, 0xb0, 0xff, 0x3f, 0x10, 0x32, 0x50, 0x76, 0xbb, 0xab, 0x9a, 0x99, 0xbb, 0xaa, 0x99, 0x99, + 0xff, 0xff, 0xff, 0xf0, 0x00, 0x03, 0x9f, 0x00, 0x41, 0xcc, 0xce, 0x71, 0xee, 0xff, 0x92, 0xaf, + 0x0f, 0x81, 0xed, 0xe7, 0x51, 0xed, 0xff, 0x12, 0xc1, 0xe0, 0xc9, 0x61, 0x09, 0x51, 0x0c, 0x03, + 0x02, 0xaf, 0x00, 0xc1, 0x0d, 0xcb, 0xc0, 0x20, 0x00, 0x32, 0x6c, 0x86, 0x7c, 0xf6, 0xc0, 0x20, + 0x00, 0x62, 0x6c, 0x89, 0x21, 0xe6, 0xff, 0xc0, 0x20, 0x00, 0xb2, 0x2c, 0xa2, 0x20, 0xbb, 0x20, + 0xc0, 0x20, 0x00, 0xb2, 0x6c, 0xa2, 0xa1, 0xe2, 0xff, 0xc0, 0x20, 0x00, 0x62, 0x2c, 0xa2, 0xa0, + 0x66, 0x10, 0xc0, 0x20, 0x00, 0x62, 0x6c, 0xa2, 0x0c, 0x82, 0xc0, 0x20, 0x00, 0xb2, 0x2c, 0xa4, + 0x20, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x6c, 0xa4, 0x0c, 0x32, 0xc0, 0x20, 0x00, 0xa2, 0x2c, + 0xa5, 0x20, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x6c, 0xa5, 0xc0, 0x20, 0x00, 0x68, 0x28, 0x90, + 0x66, 0x10, 0xc0, 0x20, 0x00, 0x69, 0x28, 0x0c, 0x4b, 0xc0, 0x20, 0x00, 0xa2, 0x2c, 0x9b, 0x00, + 0xaa, 0x10, 0xb0, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x6c, 0x9b, 0x81, 0x22, 0xd4, 0x62, 0xa4, + 0x00, 0xc0, 0x20, 0x00, 0x02, 0x2c, 0x9b, 0x80, 0x00, 0x10, 0x60, 0x00, 0x20, 0xc0, 0x20, 0x00, + 0x02, 0x6c, 0x9b, 0xb1, 0x78, 0xd0, 0xa2, 0xa0, 0xf0, 0xc0, 0x20, 0x00, 0x82, 0x2c, 0x85, 0xb0, + 0x88, 0x10, 0xa0, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x6c, 0x85, 0x61, 0xfd, 0xcb, 0xc0, 0x20, + 0x00, 0x02, 0x2c, 0x85, 0x60, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x6c, 0x85, 0xb1, 0xb0, 0xda, + 0xc0, 0x20, 0x00, 0xa2, 0x2c, 0x85, 0xb0, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x6c, 0x85, 0x4c, + 0x08, 0xc0, 0x20, 0x00, 0x62, 0x2c, 0xac, 0x90, 0x66, 0x10, 0x80, 0x66, 0x20, 0xc0, 0x20, 0x00, + 0x62, 0x6c, 0xac, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x80, 0xc0, 0x20, 0x00, 0x0c, 0x06, 0x42, 0x65, + 0x81, 0x0c, 0x60, 0x0c, 0x04, 0x5d, 0x07, 0x09, 0x01, 0xc5, 0xa1, 0x00, 0x0c, 0x32, 0x0c, 0x13, + 0x0c, 0x04, 0x0c, 0x16, 0x71, 0xa8, 0xff, 0x0c, 0x68, 0x89, 0x01, 0x5d, 0x07, 0x85, 0xa0, 0x00, + 0x91, 0x40, 0xfe, 0x21, 0xa8, 0xff, 0xc0, 0x20, 0x00, 0x32, 0xa2, 0xe8, 0x41, 0xa7, 0xff, 0x51, + 0xa7, 0xff, 0x62, 0xa2, 0x10, 0xb1, 0xa0, 0xff, 0x0c, 0x0a, 0x0c, 0x17, 0xa2, 0x6b, 0x82, 0x99, + 0x01, 0x4b, 0x99, 0x99, 0x11, 0x01, 0x90, 0xca, 0xc0, 0x00, 0x00, 0x01, 0x35, 0xfe, 0x81, 0xbd, + 0xca, 0x08, 0x00, 0x51, 0x9f, 0xff, 0x16, 0xe0, 0x06, 0x31, 0xed, 0xe1, 0xc0, 0x20, 0x00, 0xb2, + 0x10, 0x00, 0xb0, 0xb0, 0xb4, 0xb2, 0xcb, 0xfc, 0xb0, 0xb0, 0xb4, 0xc0, 0x20, 0x00, 0xa2, 0x10, + 0x00, 0x30, 0xaa, 0x10, 0xb0, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x50, 0x00, 0xc0, 0x20, 0x00, + 0x92, 0x10, 0x00, 0x90, 0x90, 0xb4, 0x40, 0x99, 0x11, 0xc0, 0x20, 0x00, 0x72, 0x10, 0x01, 0x00, + 0x77, 0x11, 0xc0, 0x20, 0x00, 0xa2, 0x10, 0x00, 0xa0, 0x77, 0x20, 0x80, 0x77, 0x10, 0x90, 0x77, + 0x20, 0xc0, 0x20, 0x00, 0x72, 0x50, 0x00, 0x70, 0x70, 0xf5, 0xc0, 0x20, 0x00, 0x68, 0x10, 0x72, + 0x50, 0x01, 0x59, 0x06, 0xc0, 0x20, 0x00, 0x28, 0x10, 0x42, 0x10, 0x00, 0x08, 0x20, 0x40, 0x40, + 0xb4, 0x4a, 0x22, 0x59, 0x02, 0x56, 0x30, 0xf9, 0x32, 0xa0, 0x54, 0x41, 0x82, 0xff, 0x52, 0xa7, + 0x00, 0x62, 0xa1, 0x00, 0x21, 0x81, 0xff, 0x72, 0xa0, 0x01, 0x02, 0xc2, 0xd0, 0x82, 0xc2, 0xcc, + 0x89, 0x01, 0x09, 0x11, 0x01, 0x69, 0xca, 0xc0, 0x00, 0x00, 0x3c, 0x03, 0x0c, 0x17, 0x41, 0x7c, + 0xff, 0x61, 0x7a, 0xff, 0x52, 0xc1, 0x10, 0x59, 0x11, 0x69, 0x01, 0x52, 0xa1, 0x00, 0x2d, 0x04, + 0x4c, 0x06, 0x42, 0xc4, 0x30, 0x01, 0x60, 0xca, 0xc0, 0x00, 0x00, 0x01, 0x05, 0xfe, 0x48, 0x41, + 0x38, 0x40, 0x39, 0x24, 0x61, 0x77, 0xdc, 0x81, 0x70, 0xcb, 0xc0, 0x20, 0x00, 0x21, 0x69, 0xff, + 0x22, 0x68, 0xa0, 0xc0, 0x20, 0x00, 0xb1, 0x6e, 0xff, 0xb2, 0x68, 0x9f, 0xa2, 0xc0, 0x30, 0xc0, + 0x20, 0x00, 0xa2, 0x68, 0xa2, 0x92, 0xc2, 0xf0, 0xc0, 0x20, 0x00, 0x92, 0x68, 0xa1, 0x0c, 0xc5, + 0xc0, 0x20, 0x00, 0x42, 0x28, 0x80, 0x72, 0xaf, 0x00, 0x70, 0x44, 0x10, 0x50, 0x44, 0x20, 0xc0, + 0x20, 0x00, 0x42, 0x68, 0x80, 0x38, 0x00, 0xc0, 0x20, 0x00, 0x32, 0x68, 0x82, 0x28, 0x20, 0xc0, + 0x20, 0x00, 0x22, 0x68, 0x83, 0x08, 0x40, 0xc0, 0x20, 0x00, 0x02, 0x68, 0x84, 0xb1, 0x17, 0xdc, + 0xc0, 0x20, 0x00, 0xa2, 0x28, 0x80, 0xb0, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x68, 0x80, 0x91, + 0x59, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x66, 0x80, 0x71, 0x58, 0xff, 0xc0, 0x20, 0x00, 0x72, 0x66, + 0x81, 0x51, 0x56, 0xff, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x82, 0x41, 0x55, 0xff, 0xc0, 0x20, 0x00, + 0x32, 0x2c, 0xa9, 0x40, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, 0x6c, 0xa9, 0x22, 0xa7, 0x07, 0xc0, + 0x20, 0x00, 0x02, 0x28, 0x9b, 0x20, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x68, 0x9b, 0xb1, 0x73, + 0xcb, 0xc0, 0x20, 0x00, 0xa2, 0x28, 0x9b, 0xb0, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x68, 0x9b, + 0x1c, 0x09, 0xc0, 0x20, 0x00, 0x72, 0x28, 0x9b, 0x90, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x68, + 0x9b, 0x0c, 0x02, 0x0c, 0x03, 0x0c, 0x04, 0x85, 0x47, 0x00, 0x0c, 0x02, 0x0c, 0x13, 0x0c, 0x04, + 0xc5, 0x46, 0x00, 0xa1, 0x40, 0xff, 0xc0, 0x20, 0x00, 0xa2, 0x6c, 0x86, 0x0c, 0x29, 0xc0, 0x20, + 0x00, 0x61, 0x35, 0xcb, 0x82, 0x26, 0xde, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x66, 0xde, + 0x71, 0x31, 0xcb, 0xc0, 0x20, 0x00, 0x52, 0x26, 0x81, 0x70, 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, + 0x66, 0x81, 0xc8, 0x61, 0x08, 0x51, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0xff, 0xff, 0xfb, 0xff, + 0x12, 0xc1, 0xd0, 0xd9, 0x61, 0xe9, 0x71, 0x09, 0x41, 0xc9, 0x51, 0xf9, 0x81, 0xf1, 0x42, 0xca, + 0xc1, 0x26, 0xcb, 0xc0, 0x20, 0x00, 0xd2, 0x2f, 0x88, 0xcc, 0xdd, 0xc8, 0x51, 0xd8, 0x61, 0xe8, + 0x71, 0xf8, 0x81, 0x08, 0x41, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0xc0, 0x20, 0x00, 0xe2, 0x2f, 0xa1, + 0xe9, 0x91, 0xe0, 0xec, 0x34, 0xc0, 0x20, 0x00, 0xd2, 0x6f, 0x89, 0x87, 0x6d, 0x2e, 0xc0, 0x20, + 0x00, 0x01, 0xab, 0xfd, 0x22, 0x2c, 0x87, 0x08, 0x00, 0x27, 0x90, 0x02, 0x86, 0x2c, 0x00, 0x21, + 0xa6, 0xfd, 0x31, 0xa6, 0xfd, 0x42, 0xa3, 0xba, 0x01, 0xa6, 0xc8, 0xc0, 0x00, 0x00, 0x06, 0xff, + 0xff, 0x32, 0x21, 0x02, 0x42, 0x21, 0x01, 0x00, 0x20, 0x20, 0xc5, 0x77, 0xff, 0x31, 0xe2, 0xcd, + 0xd7, 0x03, 0x13, 0x6c, 0x85, 0x50, 0x5e, 0x82, 0xfa, 0x55, 0xc0, 0x20, 0x00, 0x2d, 0x0e, 0x0c, + 0x04, 0x42, 0x65, 0xf0, 0x85, 0xae, 0xf9, 0x37, 0x7d, 0x4c, 0x31, 0x99, 0xfd, 0x62, 0x03, 0x1f, + 0x0c, 0x0a, 0x16, 0x26, 0x12, 0xa2, 0x43, 0x1f, 0xc0, 0x20, 0x00, 0x91, 0x8d, 0xdc, 0x82, 0x2f, + 0xa2, 0x90, 0x88, 0x10, 0xc0, 0x20, 0x00, 0x82, 0x6f, 0xa2, 0x72, 0x03, 0x1c, 0x9c, 0x07, 0xc0, + 0x20, 0x00, 0x01, 0xd4, 0xcd, 0xb2, 0x2f, 0x97, 0x00, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x6f, + 0x97, 0x31, 0x8b, 0xfd, 0x01, 0xa4, 0xcf, 0x72, 0x03, 0x1e, 0x21, 0x72, 0xd3, 0x16, 0xc7, 0x0c, + 0x7c, 0xf6, 0x0c, 0x14, 0xc6, 0x2c, 0x00, 0x31, 0x11, 0xca, 0x30, 0x3d, 0x10, 0x39, 0x01, 0x48, + 0x01, 0x16, 0x44, 0x11, 0xf6, 0x8e, 0x02, 0x46, 0x42, 0x00, 0x52, 0xce, 0xf6, 0x16, 0x35, 0x10, + 0x21, 0x7e, 0xfd, 0x31, 0x7e, 0xfd, 0x42, 0xa4, 0x21, 0x01, 0x7d, 0xc8, 0xc0, 0x00, 0x00, 0x06, + 0xff, 0xff, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0x85, 0x59, 0xa1, 0xc0, 0x20, 0x00, 0x41, 0xde, 0xe6, + 0x42, 0x24, 0xbf, 0x49, 0x11, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0x86, 0x30, 0x30, 0x74, 0x39, 0x21, + 0x01, 0x72, 0xef, 0xc0, 0x00, 0x00, 0x08, 0xa1, 0x00, 0x62, 0xc0, 0x16, 0x16, 0x0b, 0x21, 0x6e, + 0xfd, 0x31, 0x6e, 0xfd, 0x42, 0xa3, 0xbf, 0x01, 0x6e, 0xc8, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, + 0x00, 0x18, 0x40, 0x00, 0xa4, 0xa1, 0x60, 0xaa, 0x30, 0xa0, 0xa7, 0x10, 0xa2, 0x43, 0x1e, 0x92, + 0xaf, 0xe8, 0x90, 0x98, 0x82, 0xc0, 0x99, 0x80, 0xc0, 0x20, 0x00, 0xb2, 0x29, 0xd6, 0xb0, 0x54, + 0xb5, 0x00, 0xbb, 0x10, 0x50, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x69, 0xd6, 0xa2, 0x03, 0x1d, + 0xa0, 0xa0, 0x34, 0x40, 0xaa, 0x11, 0xc0, 0x20, 0x00, 0x72, 0x29, 0xd3, 0x20, 0x77, 0x10, 0xa0, + 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x69, 0xd3, 0x72, 0x03, 0x1e, 0x70, 0x80, 0x60, 0x70, 0x88, + 0x10, 0x80, 0xf8, 0x40, 0x80, 0x80, 0x60, 0x82, 0xc8, 0x1f, 0xd6, 0x28, 0xfa, 0x45, 0x53, 0xf8, + 0xa1, 0xdf, 0xc9, 0xb1, 0xde, 0xc9, 0xa0, 0xad, 0x10, 0xa2, 0x61, 0x03, 0xa9, 0x01, 0xdc, 0x02, + 0xb7, 0x8d, 0x0e, 0x0c, 0x8e, 0x46, 0x02, 0x00, 0x01, 0xd9, 0xc9, 0x00, 0x0d, 0x10, 0x09, 0x31, + 0x09, 0x01, 0x32, 0xce, 0xf8, 0x16, 0x63, 0xf1, 0xb6, 0x8e, 0x74, 0x26, 0x9e, 0x71, 0x21, 0x46, + 0xfd, 0x31, 0x46, 0xfd, 0x42, 0xa3, 0xf5, 0x01, 0x46, 0xc8, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, + 0xec, 0x30, 0x21, 0x41, 0xfd, 0x31, 0x41, 0xfd, 0x42, 0xa3, 0xc7, 0x01, 0x41, 0xc8, 0xc0, 0x00, + 0x00, 0x06, 0xff, 0xff, 0x2d, 0x0e, 0x05, 0xaf, 0xf8, 0xd0, 0x44, 0x05, 0x16, 0x34, 0xe1, 0x45, + 0x3f, 0xf9, 0x46, 0x83, 0xff, 0x00, 0x00, 0x58, 0x20, 0xdc, 0x05, 0x21, 0x37, 0xfd, 0x31, 0x37, + 0xfd, 0x42, 0xa3, 0xc8, 0x01, 0x37, 0xc8, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0xc0, 0x20, 0x00, + 0x62, 0x00, 0x03, 0x60, 0x60, 0x64, 0x60, 0x66, 0x41, 0x0b, 0x66, 0x16, 0x26, 0xe3, 0x21, 0x2e, + 0xfd, 0x31, 0x2e, 0xfd, 0x42, 0xa3, 0xc9, 0x01, 0x2e, 0xc8, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, + 0x05, 0x49, 0xf8, 0x56, 0x72, 0x01, 0x82, 0x21, 0x03, 0x9c, 0x18, 0x2d, 0x0e, 0x85, 0xa9, 0xf8, + 0xa1, 0x6b, 0xff, 0x91, 0xb2, 0xc9, 0xa0, 0xdd, 0x10, 0x90, 0x9d, 0x10, 0x99, 0x01, 0x08, 0x91, + 0x00, 0x0c, 0x35, 0x9c, 0xc0, 0x26, 0x10, 0x45, 0x26, 0x20, 0x52, 0x26, 0x40, 0x5a, 0x26, 0x50, + 0x33, 0x21, 0x1d, 0xfd, 0x31, 0x1e, 0xfd, 0x42, 0xa4, 0x17, 0x01, 0x1d, 0xc8, 0xc0, 0x00, 0x00, + 0x06, 0xff, 0xff, 0xc0, 0x20, 0x00, 0x01, 0x80, 0xe6, 0x08, 0x10, 0x87, 0x70, 0x05, 0x00, 0x00, + 0x75, 0x86, 0x00, 0x00, 0x02, 0xa0, 0x7f, 0x2d, 0x0e, 0x00, 0x30, 0x74, 0x45, 0xc6, 0xf8, 0x06, + 0x8f, 0xff, 0x00, 0x00, 0x00, 0x45, 0x87, 0xf9, 0xc6, 0x8c, 0xff, 0x00, 0x00, 0x00, 0x28, 0x91, + 0x3d, 0x0e, 0x20, 0x20, 0x75, 0x45, 0x8c, 0xf9, 0xc6, 0x88, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x0e, + 0x05, 0x81, 0xf9, 0x06, 0x86, 0xff, 0x00, 0x00, 0x00, 0x28, 0x91, 0x20, 0x20, 0x75, 0x05, 0x94, + 0xf9, 0x86, 0x82, 0xff, 0x00, 0x00, 0x00, 0x00, 0x71, 0x90, 0xc9, 0x6c, 0x86, 0x30, 0x80, 0x34, + 0x40, 0x90, 0x94, 0x40, 0x99, 0x11, 0x80, 0x88, 0x01, 0x20, 0x66, 0xd1, 0x7a, 0x66, 0x90, 0x88, + 0x20, 0xc0, 0x20, 0x00, 0x82, 0x66, 0xf0, 0x71, 0x3b, 0xd0, 0xc0, 0x20, 0x00, 0x52, 0x26, 0xf1, + 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0xf1, 0x0d, 0xf0, 0x00, 0x6c, 0x84, 0x51, 0x82, + 0xc9, 0x20, 0x44, 0xd1, 0x5a, 0x44, 0x51, 0x22, 0xdb, 0xc0, 0x20, 0x00, 0x32, 0x24, 0xf1, 0x50, + 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, 0x64, 0xf1, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x7c, + 0xf8, 0x72, 0x03, 0x03, 0x62, 0x03, 0x00, 0x09, 0x01, 0x52, 0x03, 0x01, 0x01, 0x77, 0xc9, 0x80, + 0x55, 0x11, 0x60, 0x55, 0x20, 0x62, 0x03, 0x02, 0x80, 0x77, 0x01, 0x00, 0x66, 0x11, 0x70, 0x66, + 0x20, 0x60, 0x55, 0x20, 0x71, 0x2c, 0xcd, 0x61, 0x42, 0xf5, 0x56, 0x22, 0x05, 0xc0, 0x20, 0x00, + 0x71, 0x6e, 0xc9, 0x52, 0x67, 0x92, 0xa2, 0x03, 0x05, 0x92, 0x03, 0x04, 0x80, 0xaa, 0x11, 0xa0, + 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x67, 0x93, 0xc0, 0x20, 0x00, 0x82, 0x67, 0x96, 0xc0, 0x20, + 0x00, 0x62, 0x67, 0x97, 0x01, 0x89, 0xca, 0xc0, 0x00, 0x00, 0x41, 0xd9, 0xfc, 0x0c, 0x13, 0x32, + 0x44, 0x1c, 0xc0, 0x20, 0x00, 0x01, 0x60, 0xc9, 0x21, 0x1b, 0xcd, 0xb2, 0x20, 0x97, 0x20, 0xbb, + 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x60, 0x97, 0x01, 0x81, 0xca, 0xc0, 0x00, 0x00, 0x86, 0x0c, 0x00, + 0xc0, 0x20, 0x00, 0x52, 0x60, 0x94, 0xb2, 0x03, 0x05, 0xa2, 0x03, 0x04, 0x80, 0xbb, 0x11, 0xb0, + 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x60, 0x95, 0xc0, 0x20, 0x00, 0x82, 0x60, 0x98, 0xc0, 0x20, + 0x00, 0x62, 0x60, 0x99, 0xc0, 0x20, 0x00, 0x92, 0x20, 0x99, 0x70, 0x99, 0x20, 0xc0, 0x20, 0x00, + 0x92, 0x60, 0x99, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x81, 0xed, 0xda, 0x6c, + 0x84, 0x31, 0x49, 0xc9, 0x20, 0x44, 0xd1, 0x3a, 0x44, 0xc0, 0x20, 0x00, 0x72, 0x23, 0xb7, 0x80, + 0x77, 0x10, 0xc0, 0x20, 0x00, 0x72, 0x64, 0xf1, 0xc0, 0x20, 0x00, 0x62, 0x23, 0xb8, 0xc0, 0x20, + 0x00, 0x62, 0x64, 0xf2, 0xc0, 0x20, 0x00, 0x52, 0x23, 0xb9, 0xc0, 0x20, 0x00, 0x52, 0x64, 0xf3, + 0xc0, 0x20, 0x00, 0x32, 0x23, 0xba, 0xc0, 0x20, 0x00, 0x32, 0x64, 0xf4, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xdc, 0x82, 0x01, 0x4e, 0xc8, 0x21, 0x37, 0xc9, 0xfc, 0x13, 0xc0, + 0x20, 0x00, 0x32, 0x22, 0x8f, 0x00, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, 0x62, 0x8f, 0x46, 0x06, + 0x00, 0x66, 0x12, 0x0a, 0x2d, 0x03, 0x31, 0x0b, 0xfe, 0x85, 0x02, 0x00, 0xc6, 0x02, 0x00, 0x66, + 0x22, 0x08, 0x8c, 0x54, 0x2d, 0x03, 0x3d, 0x04, 0x85, 0x01, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0xc0, 0x20, 0x00, 0x42, 0x22, 0x91, 0x00, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x62, + 0x91, 0x86, 0xf9, 0xff, 0x7c, 0xfa, 0x81, 0xdf, 0xcc, 0x71, 0xf5, 0xf4, 0x51, 0x39, 0xc8, 0x61, + 0x22, 0xc9, 0x16, 0x12, 0x06, 0xc0, 0x20, 0x00, 0xb2, 0x26, 0x91, 0x50, 0xbb, 0x10, 0xc0, 0x20, + 0x00, 0xb2, 0x66, 0x91, 0xb2, 0x03, 0x03, 0x92, 0x03, 0x01, 0x42, 0x03, 0x00, 0x80, 0x99, 0x11, + 0x90, 0x44, 0x20, 0x92, 0x03, 0x02, 0x80, 0xbb, 0x01, 0x00, 0x99, 0x11, 0xb0, 0x99, 0x20, 0x90, + 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x66, 0x8c, 0x22, 0x03, 0x05, 0xb2, 0x03, 0x04, 0x80, 0x22, + 0x11, 0x20, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x66, 0x8d, 0xc0, 0x20, 0x00, 0xa2, 0x66, 0x90, + 0xc0, 0x20, 0x00, 0x72, 0x66, 0x91, 0xc0, 0x20, 0x00, 0x92, 0x26, 0x91, 0x80, 0x99, 0x20, 0xc0, + 0x20, 0x00, 0x92, 0x66, 0x91, 0x0d, 0xf0, 0xc0, 0x20, 0x00, 0x42, 0x26, 0x8f, 0x50, 0x44, 0x10, + 0xc0, 0x20, 0x00, 0x42, 0x66, 0x8f, 0x42, 0x03, 0x03, 0x22, 0x03, 0x01, 0xb2, 0x03, 0x00, 0x80, + 0x22, 0x11, 0x20, 0xbb, 0x20, 0x22, 0x03, 0x02, 0x80, 0x44, 0x01, 0x00, 0x22, 0x11, 0x40, 0x22, + 0x20, 0x20, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x66, 0x8a, 0x92, 0x03, 0x05, 0x42, 0x03, 0x04, + 0x80, 0x99, 0x11, 0x90, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x66, 0x8b, 0xc0, 0x20, 0x00, 0xa2, + 0x66, 0x8e, 0xc0, 0x20, 0x00, 0x72, 0x66, 0x8f, 0xc0, 0x20, 0x00, 0x22, 0x26, 0x8f, 0x80, 0x22, + 0x20, 0xc0, 0x20, 0x00, 0x22, 0x66, 0x8f, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x41, 0x05, 0xc8, 0x51, + 0xee, 0xc8, 0x8c, 0xf2, 0xc0, 0x20, 0x00, 0x32, 0x25, 0x91, 0x40, 0x33, 0x10, 0xc0, 0x20, 0x00, + 0x32, 0x65, 0x91, 0x0d, 0xf0, 0xc0, 0x20, 0x00, 0x22, 0x25, 0x8f, 0x40, 0x22, 0x10, 0xc0, 0x20, + 0x00, 0x22, 0x65, 0x8f, 0x0d, 0xf0, 0x00, 0x00, 0x6c, 0x84, 0x51, 0xe3, 0xc8, 0x20, 0x44, 0xd1, + 0x5a, 0x44, 0x51, 0x83, 0xda, 0xc0, 0x20, 0x00, 0x32, 0x24, 0xf1, 0x50, 0x33, 0x10, 0xc0, 0x20, + 0x00, 0x32, 0x64, 0xf1, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x3f, 0x20, 0x84, 0x34, 0x20, + 0x72, 0x14, 0x80, 0x83, 0x41, 0x80, 0x77, 0x90, 0x81, 0xfc, 0xff, 0x70, 0x70, 0x74, 0xe0, 0x77, + 0x11, 0x8a, 0x77, 0x42, 0xd7, 0x0c, 0x0c, 0xf8, 0xc0, 0x20, 0x00, 0x72, 0xd7, 0x0c, 0x42, 0x24, + 0x26, 0x7c, 0xf9, 0x20, 0x64, 0x24, 0x1c, 0xc5, 0xe0, 0x66, 0x11, 0x60, 0x55, 0xc0, 0x50, 0x50, + 0x74, 0x00, 0x15, 0x40, 0x00, 0x88, 0xa1, 0x00, 0x15, 0x40, 0x90, 0x88, 0x30, 0x80, 0x84, 0x10, + 0x00, 0x63, 0xa1, 0x80, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x67, 0x26, 0x00, 0x05, 0x40, 0x40, + 0x20, 0x91, 0x20, 0x20, 0x34, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xe0, 0xe9, 0x31, 0xf9, 0x41, 0x39, + 0x51, 0xd9, 0x21, 0xc9, 0x11, 0x09, 0x01, 0xcd, 0x02, 0x0d, 0x02, 0x0c, 0x0d, 0x16, 0xf2, 0x08, + 0x82, 0xa0, 0xdf, 0x92, 0xa0, 0xbf, 0xa2, 0xa0, 0x80, 0x61, 0xba, 0xc8, 0x21, 0x9d, 0xfd, 0xc0, + 0x20, 0x00, 0x32, 0x00, 0x03, 0x30, 0x30, 0x64, 0xa0, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x40, + 0x03, 0xc0, 0x20, 0x00, 0xf2, 0x00, 0x03, 0x90, 0xff, 0x10, 0xd0, 0xff, 0x20, 0xc0, 0x20, 0x00, + 0xf2, 0x40, 0x03, 0xc0, 0x20, 0x00, 0xe2, 0x00, 0x03, 0x80, 0xee, 0x10, 0xd0, 0xee, 0x20, 0xc0, + 0x20, 0x00, 0xe2, 0x40, 0x03, 0xc0, 0x20, 0x00, 0xb2, 0x10, 0x00, 0xb0, 0xb0, 0xb4, 0x40, 0xbb, + 0x11, 0xc0, 0x20, 0x00, 0x72, 0x10, 0x01, 0x00, 0x77, 0x11, 0xc0, 0x20, 0x00, 0xe2, 0x10, 0x00, + 0xe0, 0x77, 0x20, 0x60, 0x77, 0x10, 0xb0, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x50, 0x00, 0x70, + 0x70, 0xf5, 0xc0, 0x20, 0x00, 0x58, 0x10, 0x72, 0x50, 0x01, 0x29, 0x05, 0xc0, 0x20, 0x00, 0x38, + 0x10, 0x42, 0x10, 0x00, 0x08, 0x20, 0x40, 0x40, 0xb4, 0x4a, 0x33, 0x29, 0x03, 0x56, 0xe0, 0xf7, + 0x0c, 0x0e, 0xc0, 0xfc, 0x20, 0xc0, 0x2c, 0x20, 0xe0, 0x3e, 0x20, 0x05, 0xd9, 0xfb, 0x8c, 0x72, + 0x48, 0x51, 0x47, 0x1c, 0x1a, 0xc8, 0x2c, 0xd9, 0x2f, 0x1b, 0xee, 0xe0, 0xe0, 0xf4, 0x66, 0x2e, + 0xe0, 0x86, 0x06, 0x00, 0xc9, 0x2f, 0x28, 0x51, 0x29, 0x10, 0x01, 0xb4, 0xc9, 0xc0, 0x00, 0x00, + 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x01, + 0xae, 0xc9, 0xc0, 0x00, 0x00, 0x01, 0xfe, 0xfb, 0x41, 0x6c, 0xc9, 0x38, 0x00, 0xf8, 0x10, 0x56, + 0x13, 0xfd, 0xc9, 0x00, 0xc0, 0x20, 0x00, 0xc2, 0x64, 0x82, 0x06, 0xf2, 0xff, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x11, 0xc9, 0x21, 0x39, 0x01, 0xcd, 0x02, 0x16, 0x52, 0x08, 0x0c, 0x09, + 0xa2, 0xa0, 0xdf, 0xb2, 0xa0, 0xbf, 0x32, 0xa0, 0x80, 0x71, 0x7a, 0xc8, 0x0c, 0x00, 0xc0, 0x20, + 0x00, 0x62, 0x02, 0x03, 0x60, 0x60, 0x64, 0x30, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x42, 0x03, + 0xc0, 0x20, 0x00, 0x52, 0x02, 0x03, 0xb0, 0x55, 0x10, 0x90, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, + 0x42, 0x03, 0xc0, 0x20, 0x00, 0x82, 0x02, 0x03, 0xa0, 0x88, 0x10, 0x90, 0x88, 0x20, 0xc0, 0x20, + 0x00, 0x82, 0x42, 0x03, 0xc0, 0x20, 0x00, 0x62, 0x12, 0x00, 0x60, 0x60, 0xb4, 0x40, 0x66, 0x11, + 0xc0, 0x20, 0x00, 0x52, 0x12, 0x01, 0x00, 0x55, 0x11, 0xc0, 0x20, 0x00, 0x82, 0x12, 0x00, 0x80, + 0x55, 0x20, 0x70, 0x55, 0x10, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x52, 0x00, 0x50, 0x50, + 0xf5, 0xc0, 0x20, 0x00, 0x1b, 0x00, 0x52, 0x52, 0x01, 0x28, 0x22, 0x00, 0x00, 0xf4, 0x56, 0xc2, + 0xf8, 0x46, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x14, 0x11, 0x21, 0xcf, 0xfb, 0x31, 0xd0, 0xfb, 0x42, + 0xa5, 0x2e, 0x01, 0xcf, 0xc6, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x01, 0x7b, 0xc9, 0xc0, 0x00, + 0x00, 0x01, 0xcb, 0xfb, 0x81, 0x39, 0xc9, 0x78, 0x20, 0x98, 0x30, 0xcc, 0x97, 0xc9, 0x20, 0xc0, + 0x20, 0x00, 0xc2, 0x68, 0x83, 0x46, 0x00, 0x00, 0xc9, 0x29, 0xa8, 0x01, 0xa9, 0x30, 0x01, 0x73, + 0xc9, 0xc0, 0x00, 0x00, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x12, 0xf2, 0x3f, 0x08, 0x14, 0xf2, 0x3f, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xb2, 0x05, 0x05, + 0xa2, 0x05, 0x04, 0x80, 0xbb, 0x11, 0xba, 0xaa, 0x66, 0x52, 0x06, 0x0c, 0x19, 0x0c, 0x12, 0x46, + 0x00, 0x00, 0x0c, 0x09, 0x79, 0x21, 0x81, 0xf6, 0xff, 0x72, 0x05, 0x01, 0xb2, 0x05, 0x00, 0x80, + 0x77, 0x11, 0x7a, 0xbb, 0x72, 0x05, 0x03, 0x52, 0x05, 0x02, 0x80, 0x77, 0x01, 0x00, 0x55, 0x11, + 0x7a, 0x55, 0x5a, 0xbb, 0x60, 0x56, 0xa0, 0xd0, 0x55, 0x11, 0x8a, 0x85, 0x26, 0x12, 0x09, 0x0c, + 0x60, 0xa6, 0x66, 0x06, 0x0c, 0x20, 0x46, 0x00, 0x00, 0x0c, 0x70, 0xc0, 0x20, 0x00, 0x20, 0x74, + 0x01, 0x00, 0x00, 0x24, 0xb2, 0x68, 0x80, 0x90, 0x90, 0x14, 0xa0, 0xb0, 0xf4, 0x00, 0x99, 0x11, + 0xba, 0x99, 0xb0, 0x00, 0x01, 0x20, 0xb0, 0x24, 0xe0, 0xbb, 0x01, 0x0a, 0xbb, 0xba, 0x99, 0x30, + 0xb0, 0x04, 0x80, 0xbb, 0x01, 0xba, 0x77, 0x9a, 0x77, 0xc0, 0x20, 0x00, 0x72, 0x68, 0x81, 0x00, + 0x16, 0x40, 0x0c, 0x10, 0x00, 0x00, 0xa1, 0xc0, 0x20, 0x00, 0x81, 0xff, 0xfc, 0x72, 0x28, 0x83, + 0x00, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x68, 0x83, 0x98, 0x11, 0x78, 0x21, 0xf6, 0x23, 0x0f, + 0xa6, 0x26, 0x0c, 0x91, 0x93, 0xfb, 0x90, 0x93, 0xa0, 0x88, 0x59, 0x80, 0x80, 0x20, 0x89, 0x59, + 0x3d, 0x07, 0x21, 0xd0, 0xff, 0x48, 0x41, 0x2a, 0x25, 0x01, 0xbf, 0xc8, 0xc0, 0x00, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0xff, 0xff, 0x1f, 0xff, 0x7c, 0xf9, 0xa1, 0x88, + 0xfb, 0x00, 0x12, 0x40, 0x0c, 0x18, 0x00, 0x88, 0xa1, 0xb8, 0x6a, 0x90, 0x88, 0x30, 0x98, 0x5a, + 0xb0, 0xb8, 0x10, 0xb9, 0x6a, 0x90, 0x98, 0x10, 0x99, 0x5a, 0x71, 0xe7, 0xfc, 0xc0, 0x20, 0x00, + 0x62, 0x27, 0x83, 0x80, 0x66, 0x10, 0xc0, 0x20, 0x00, 0x62, 0x67, 0x83, 0x51, 0xbd, 0xff, 0x20, + 0x42, 0xa0, 0x50, 0x44, 0xb0, 0x51, 0xf0, 0xff, 0xc0, 0x20, 0x00, 0x32, 0x24, 0x81, 0x50, 0x33, + 0x10, 0xc0, 0x20, 0x00, 0x32, 0x64, 0x81, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x00, + 0x61, 0xff, 0xff, 0x71, 0x11, 0xd0, 0x51, 0xd8, 0xfc, 0xdc, 0x72, 0xc0, 0x20, 0x00, 0x62, 0x65, + 0x80, 0xec, 0x63, 0xc0, 0x20, 0x00, 0x22, 0x25, 0x80, 0x70, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, + 0x65, 0x80, 0x0d, 0xf0, 0xc0, 0x20, 0x00, 0x62, 0x65, 0x81, 0xcc, 0xd3, 0xc0, 0x20, 0x00, 0x32, + 0x25, 0x81, 0x70, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x65, 0x81, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x41, 0xca, 0xfc, 0x51, 0xa5, 0xcb, 0x71, 0x62, 0xfb, 0x0c, 0x03, 0x70, 0x72, 0xa0, 0x68, 0x57, + 0x39, 0x57, 0xcc, 0x72, 0xc0, 0x20, 0x00, 0x52, 0x64, 0x80, 0x46, 0x01, 0x00, 0xc0, 0x20, 0x00, + 0x52, 0x64, 0x81, 0x7c, 0xf9, 0x90, 0x96, 0x30, 0xc0, 0x20, 0x00, 0x82, 0x24, 0x83, 0x90, 0x88, + 0x10, 0xc0, 0x20, 0x00, 0x82, 0x64, 0x83, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0xc0, + 0x71, 0xc2, 0xc8, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xa2, 0x03, 0x00, 0xb2, 0x03, 0x01, 0xc9, 0x11, + 0xd9, 0x21, 0xcd, 0x02, 0xd2, 0x03, 0x03, 0x6c, 0x82, 0x80, 0xbb, 0x11, 0x80, 0xdd, 0x01, 0xb0, + 0xaa, 0x20, 0xc0, 0x22, 0xd1, 0xb2, 0x03, 0x02, 0x7a, 0x22, 0x29, 0x31, 0x00, 0xbb, 0x11, 0xd0, + 0xbb, 0x20, 0xb0, 0xaa, 0x20, 0x40, 0xd0, 0x74, 0xc0, 0x20, 0x00, 0xa2, 0x62, 0xd5, 0x92, 0x03, + 0x05, 0x82, 0x03, 0x04, 0x80, 0x99, 0x11, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x62, 0xd4, + 0x60, 0x70, 0x64, 0x50, 0x00, 0xb4, 0x30, 0x77, 0x11, 0x70, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, + 0x62, 0xd6, 0x01, 0xe9, 0xc8, 0xc0, 0x00, 0x00, 0x00, 0x1c, 0x40, 0x41, 0x39, 0xfb, 0x0c, 0x17, + 0x4a, 0x6d, 0x52, 0x06, 0x20, 0x00, 0x77, 0xa1, 0x70, 0x55, 0x20, 0x52, 0x46, 0x20, 0x32, 0x04, + 0x1f, 0x08, 0x31, 0x8c, 0x63, 0x82, 0x04, 0x1d, 0xd7, 0x98, 0x01, 0x0c, 0x8d, 0xd0, 0x90, 0x34, + 0xa1, 0xdb, 0xff, 0x40, 0x99, 0x11, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x60, 0xd3, 0x01, + 0xdb, 0xc8, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x12, 0xc1, 0xf0, 0x29, 0x01, 0x09, 0x11, 0x01, 0xd4, 0xc8, 0xc0, 0x00, 0x00, 0x41, 0x24, 0xfb, + 0x68, 0x01, 0x6c, 0x82, 0x31, 0x91, 0xc8, 0x60, 0x22, 0xd1, 0x3a, 0x22, 0xc0, 0x20, 0x00, 0x7c, + 0xf8, 0x72, 0x22, 0xd3, 0x00, 0x16, 0x40, 0x0c, 0x15, 0x00, 0x55, 0xa1, 0x70, 0x7c, 0x34, 0x4a, + 0x77, 0x62, 0x07, 0x20, 0x80, 0x55, 0x30, 0x50, 0x66, 0x10, 0x62, 0x47, 0x20, 0x32, 0x04, 0x1e, + 0x50, 0x33, 0x10, 0x32, 0x44, 0x1e, 0x0c, 0x00, 0xc0, 0x20, 0x00, 0x02, 0x62, 0xd3, 0x01, 0xc3, + 0xc8, 0xc0, 0x00, 0x00, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x61, 0x7f, 0xc8, 0xc0, + 0x20, 0x00, 0x92, 0x26, 0xdd, 0x90, 0x9c, 0x34, 0x92, 0x42, 0x00, 0xc0, 0x20, 0x00, 0x82, 0x26, + 0xdd, 0x80, 0x80, 0xb4, 0x82, 0x53, 0x00, 0xc0, 0x20, 0x00, 0x72, 0x26, 0xda, 0x79, 0x04, 0xc0, + 0x20, 0x00, 0x62, 0x26, 0xd9, 0x69, 0x05, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x08, 0x72, 0x02, 0x10, 0x00, 0x00, 0x00, 0xb4, 0x47, 0x60, 0x3a, 0x08, 0x02, 0x58, 0x12, + 0x38, 0x20, 0x21, 0x6b, 0xfc, 0x57, 0x13, 0x2e, 0xc0, 0x20, 0x00, 0x62, 0x10, 0x00, 0x48, 0x10, + 0x60, 0x60, 0xb4, 0x6a, 0x44, 0x68, 0x20, 0x48, 0x04, 0x68, 0x16, 0x27, 0x14, 0x11, 0x21, 0xf6, + 0xfa, 0x31, 0xf6, 0xfa, 0x42, 0xa6, 0x0c, 0x01, 0xf6, 0xc5, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, + 0x08, 0x20, 0x78, 0x20, 0x57, 0x97, 0xd0, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x32, 0xa0, 0xa8, 0x0c, 0xe4, 0x72, 0xc2, 0x78, 0x12, 0xc1, 0xe0, 0xd9, 0x31, 0xf9, 0x51, 0xc9, + 0x21, 0x09, 0x11, 0xe9, 0x41, 0x79, 0x61, 0x0c, 0x0e, 0x02, 0xa0, 0x83, 0xcd, 0x02, 0xf2, 0xc2, + 0x3c, 0xdd, 0x02, 0x49, 0xcd, 0x3a, 0x3d, 0x39, 0x01, 0x22, 0xa0, 0x9c, 0x2a, 0x2d, 0x29, 0x71, + 0x09, 0xdc, 0x32, 0xa0, 0x83, 0x48, 0x71, 0xd7, 0x1c, 0x26, 0xf7, 0x1c, 0x0c, 0x88, 0x61, 0x87, + 0x1c, 0x07, 0x32, 0xa2, 0x83, 0x92, 0xa2, 0x83, 0x99, 0xdc, 0xd7, 0x1c, 0x13, 0xf7, 0x1c, 0x10, + 0xa8, 0x61, 0xb8, 0x01, 0xa7, 0x1c, 0x09, 0xb7, 0x1c, 0x06, 0x7c, 0xd2, 0x20, 0x33, 0x10, 0x39, + 0xdc, 0xc7, 0x34, 0x10, 0x1b, 0x2e, 0x22, 0x4c, 0x3a, 0x20, 0x20, 0x74, 0x05, 0x0b, 0x00, 0x02, + 0xa0, 0x83, 0x22, 0x5c, 0x1c, 0xcb, 0xcc, 0x38, 0xcd, 0x1b, 0xee, 0x37, 0x2e, 0xb1, 0xc8, 0x21, + 0xd8, 0x31, 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x02, 0xa0, 0x00, 0x02, 0x62, 0x01, 0x02, 0x42, 0x28, 0x05, + 0xf6, 0xff, 0x21, 0xbe, 0xc5, 0x45, 0x31, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0xb3, 0x09, 0x00, 0x00, 0x99, 0xf6, 0xff, 0xff, 0x30, 0xf6, 0xff, 0xff, 0x61, 0xfd, 0xff, 0x71, + 0xfd, 0xff, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x01, 0xb2, 0xdb, 0x77, 0x63, 0x11, 0x07, 0x12, + 0x3c, 0x27, 0x36, 0x27, 0x70, 0x22, 0x80, 0x32, 0xa0, 0x05, 0x45, 0xea, 0x00, 0x06, 0x05, 0x00, + 0x07, 0x12, 0x2a, 0x27, 0x36, 0x0c, 0x7a, 0x22, 0x0c, 0x53, 0x45, 0xe9, 0x00, 0x06, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x7c, 0xf2, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x01, 0xef, 0xff, 0x32, + 0xa0, 0x14, 0x00, 0x22, 0x80, 0xc5, 0xf2, 0x00, 0x22, 0xc2, 0x0f, 0x86, 0xf9, 0xff, 0x0c, 0xe2, + 0x46, 0xf8, 0xff, 0x00, 0x67, 0x09, 0x00, 0x00, 0xa4, 0x08, 0x00, 0x00, 0x88, 0x13, 0x00, 0x00, + 0x0c, 0xe7, 0x0c, 0xd8, 0x61, 0xfc, 0xff, 0x91, 0xfc, 0xff, 0x77, 0x63, 0x0d, 0x77, 0x12, 0x1f, + 0x27, 0xb8, 0x15, 0x20, 0x22, 0xa0, 0x90, 0x22, 0xa0, 0x0d, 0xf0, 0x77, 0x12, 0x11, 0x27, 0xb8, + 0x07, 0x1c, 0xa3, 0x27, 0xb3, 0xec, 0x61, 0xf5, 0xff, 0x20, 0x22, 0xa0, 0x6a, 0x22, 0x0d, 0xf0, + 0x21, 0x90, 0xdb, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x52, 0x61, 0x01, 0x02, 0x61, + 0x02, 0xc2, 0x61, 0x03, 0x49, 0x01, 0xcd, 0x02, 0x21, 0x8d, 0xc5, 0xc0, 0x4c, 0x11, 0x4a, 0x22, + 0x9b, 0x22, 0x0c, 0x64, 0x01, 0xc5, 0xc7, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x38, 0x01, 0x48, 0x11, + 0x85, 0x08, 0x00, 0x0c, 0x22, 0x0c, 0x15, 0x81, 0x85, 0xc5, 0x00, 0x1c, 0x40, 0x08, 0x21, 0xc8, + 0x31, 0x12, 0xc1, 0x10, 0x62, 0x08, 0x28, 0x00, 0x75, 0xa1, 0x70, 0x66, 0x20, 0x60, 0x60, 0x74, + 0x62, 0x48, 0x28, 0x0b, 0x76, 0x70, 0x66, 0x10, 0x60, 0x25, 0x83, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x31, 0x7b, 0xc5, 0x32, 0x03, 0x28, 0x00, 0x02, 0x40, 0x30, 0x20, 0x91, 0x20, 0x20, 0x04, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x20, 0x42, 0x20, 0x00, 0x04, 0x40, 0x21, 0x73, 0xc5, + 0x02, 0x61, 0x00, 0x22, 0x02, 0x28, 0x02, 0xa0, 0x01, 0x20, 0x30, 0x91, 0x07, 0x63, 0x1e, 0x7c, + 0xf5, 0x00, 0x14, 0x40, 0x00, 0x30, 0xa1, 0x50, 0x33, 0x30, 0x30, 0x32, 0x10, 0x51, 0x6b, 0xc5, + 0x2d, 0x04, 0x32, 0x45, 0x28, 0x05, 0x8d, 0xfe, 0x21, 0x69, 0xc5, 0x22, 0x02, 0x28, 0x08, 0x01, + 0x0c, 0x13, 0x20, 0x23, 0x93, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x51, 0x64, 0xc5, 0xc0, + 0x62, 0x11, 0x6a, 0x55, 0x39, 0x45, 0x42, 0x45, 0x14, 0x0d, 0xf0, 0x00, 0x41, 0x60, 0xc5, 0xc0, + 0x52, 0x11, 0x5a, 0x44, 0x38, 0x44, 0x0c, 0x02, 0x26, 0x13, 0x07, 0x72, 0x04, 0x14, 0x0c, 0x16, + 0x70, 0x26, 0x83, 0x20, 0x20, 0x74, 0x0d, 0xf0, 0x31, 0x59, 0xc5, 0xc0, 0x22, 0x11, 0x2a, 0x23, + 0x22, 0x02, 0x15, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x31, 0x55, 0xc5, 0xc0, 0x22, 0x11, 0x2a, 0x23, + 0x22, 0x02, 0x16, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x41, 0x51, 0xc5, 0xc0, 0x52, 0x11, 0x5a, 0x44, + 0x32, 0x44, 0x15, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x41, 0x4d, 0xc5, 0xc0, 0x52, 0x11, 0x5a, 0x44, + 0x32, 0x44, 0x16, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x31, 0x49, 0xc5, 0xc0, 0x22, 0x11, 0x2a, 0x23, + 0x22, 0x02, 0x14, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x7c, 0xc5, 0x12, 0xc1, 0xf0, 0x09, 0x11, 0xc9, + 0x21, 0x02, 0xa1, 0x00, 0xcd, 0x03, 0x4a, 0x33, 0x3b, 0x33, 0x50, 0x43, 0x10, 0x47, 0xb0, 0x04, + 0x0c, 0x02, 0x86, 0x07, 0x00, 0x0c, 0x43, 0x29, 0x01, 0x4c, 0x15, 0x57, 0xb4, 0x01, 0x0c, 0x53, + 0x22, 0xa0, 0x00, 0xc5, 0x64, 0xf7, 0x16, 0xa2, 0x00, 0x62, 0x22, 0x00, 0x68, 0x16, 0x78, 0x01, + 0x6a, 0x6c, 0x69, 0x07, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xd0, 0xc9, 0x31, 0x69, 0x11, 0x79, 0x91, 0x09, 0x21, 0xe9, 0x51, 0xd9, 0x41, 0xf9, + 0x61, 0xdd, 0x02, 0xf8, 0xc1, 0xed, 0x03, 0x08, 0x0e, 0x3d, 0x05, 0x39, 0x01, 0x58, 0x7e, 0x0c, + 0xc3, 0x58, 0x05, 0x30, 0x34, 0x10, 0x87, 0x75, 0x06, 0xc8, 0x10, 0x4b, 0xcc, 0x46, 0x00, 0x00, + 0xc8, 0x10, 0x0c, 0x10, 0x42, 0x4c, 0x00, 0x4b, 0x2c, 0x52, 0xcc, 0x10, 0xab, 0x6c, 0x69, 0x71, + 0x59, 0x81, 0x66, 0x83, 0x29, 0x3d, 0x0f, 0x0c, 0x64, 0x02, 0x4c, 0x01, 0x01, 0x5b, 0xc7, 0xc0, + 0x00, 0x00, 0x28, 0x71, 0x38, 0x11, 0x0c, 0x64, 0xf8, 0x91, 0x01, 0x57, 0xc7, 0xc0, 0x00, 0x00, + 0x3d, 0x0f, 0x28, 0x81, 0x0c, 0x64, 0x01, 0x54, 0xc7, 0xc0, 0x00, 0x00, 0x86, 0x09, 0x00, 0x0c, + 0x04, 0x3d, 0x07, 0x42, 0x4c, 0x01, 0x0c, 0x64, 0x01, 0x50, 0xc7, 0xc0, 0x00, 0x00, 0x28, 0x71, + 0x38, 0x11, 0x0c, 0x64, 0x01, 0x4d, 0xc7, 0xc0, 0x00, 0x00, 0x3d, 0x0f, 0x28, 0x81, 0x0c, 0x64, + 0x01, 0x4a, 0xc7, 0xc0, 0x00, 0x00, 0x0c, 0x05, 0x52, 0x5c, 0x01, 0x9c, 0x1d, 0x88, 0x01, 0xd0, + 0x88, 0x90, 0x62, 0x18, 0x03, 0x1b, 0x76, 0x72, 0x58, 0x03, 0xc0, 0x66, 0x11, 0x62, 0x5c, 0x0b, + 0xf8, 0x61, 0x92, 0x0c, 0x04, 0x08, 0x21, 0x07, 0x69, 0x17, 0xb8, 0x7e, 0xc8, 0x0b, 0xd2, 0xa4, + 0x02, 0xc0, 0xa0, 0x54, 0xc0, 0xc6, 0x41, 0xd0, 0xcc, 0x20, 0xa0, 0xcc, 0x11, 0xc0, 0xaa, 0x20, + 0xa9, 0x0b, 0xc8, 0x31, 0xd8, 0x41, 0xe8, 0x51, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x08, 0xb3, 0xff, 0x3f, 0x28, 0xb3, 0xff, 0x3f, 0xc4, 0xef, 0x10, 0x40, 0x12, 0xc1, 0xf0, 0x02, + 0x61, 0x01, 0xc2, 0x61, 0x02, 0x01, 0xfa, 0xff, 0x20, 0xc2, 0x20, 0x29, 0x00, 0x01, 0xaa, 0xc7, + 0xc0, 0x00, 0x00, 0x22, 0xcc, 0x34, 0x29, 0x01, 0x22, 0x6c, 0x37, 0x01, 0xa8, 0xc7, 0xc0, 0x00, + 0x00, 0x28, 0x01, 0x45, 0x09, 0x00, 0x21, 0xf3, 0xff, 0x31, 0xf3, 0xff, 0x0c, 0x04, 0x01, 0x3a, + 0xe8, 0xc0, 0x00, 0x00, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x7c, 0xc3, 0x12, 0xc1, 0xf0, 0x09, 0x11, 0x01, 0xea, 0xff, 0x29, 0x01, 0x37, 0x10, 0x1d, 0x2d, + 0x00, 0x38, 0x52, 0x39, 0x21, 0x4b, 0x22, 0x1c, 0x43, 0x01, 0xe1, 0xc6, 0xc0, 0x00, 0x00, 0x58, + 0x21, 0x8c, 0x85, 0x21, 0xe3, 0xff, 0x38, 0x01, 0x28, 0x32, 0xc0, 0x05, 0x00, 0x08, 0x11, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x0c, 0x02, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x45, 0xfc, 0xff, 0x08, 0x01, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0xc1, 0xd3, 0xc4, + 0x09, 0x01, 0xc2, 0x2c, 0x37, 0x85, 0x01, 0x00, 0x02, 0x12, 0x02, 0x22, 0x1c, 0x02, 0x27, 0x10, + 0x04, 0x2d, 0x0c, 0x45, 0x01, 0x00, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0x21, 0xd0, 0xff, 0x28, 0xd2, 0x0d, 0xf0, 0x00, 0x32, 0xa0, 0x01, 0x42, 0xa0, 0x00, 0x12, 0xc1, + 0xf0, 0xc2, 0x61, 0x01, 0x09, 0x01, 0xcd, 0x02, 0x22, 0x12, 0x02, 0x05, 0x5b, 0xf2, 0x01, 0x7a, + 0xc7, 0xc0, 0x00, 0x00, 0x01, 0xc7, 0xff, 0xc9, 0xd0, 0x01, 0x78, 0xc7, 0xc0, 0x00, 0x00, 0xc8, + 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0xf0, 0x7f, + 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x38, 0x67, 0xc3, 0x04, 0x70, 0x72, 0x11, 0x8c, 0x07, + 0x0d, 0xf0, 0x2d, 0x03, 0x0d, 0xf0, 0x00, 0x00, 0x80, 0x76, 0x11, 0x70, 0x33, 0x30, 0xc6, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x61, 0xf5, 0xff, 0x30, 0x72, 0x30, 0x96, 0xa7, 0xfe, 0x67, 0x42, 0xd7, + 0x67, 0x43, 0xde, 0x20, 0x77, 0x85, 0x30, 0x87, 0x85, 0x87, 0x37, 0x4c, 0x67, 0x03, 0x28, 0x60, + 0x33, 0x20, 0x80, 0x33, 0x11, 0x30, 0x38, 0x41, 0x80, 0xa7, 0xc0, 0xf6, 0xca, 0x29, 0x00, 0x0a, + 0x40, 0x0c, 0x09, 0x90, 0x93, 0x81, 0x30, 0x30, 0x91, 0x3a, 0x22, 0x20, 0xa7, 0x85, 0x77, 0x1a, + 0x4a, 0x8d, 0x07, 0x46, 0x15, 0x00, 0x00, 0x00, 0x70, 0x33, 0x11, 0x30, 0x39, 0x41, 0x67, 0x02, + 0x04, 0x1b, 0x88, 0x46, 0xf4, 0xff, 0x3a, 0x22, 0x0d, 0xf0, 0x00, 0x00, 0x70, 0x22, 0x11, 0x20, + 0x29, 0x41, 0x1b, 0x77, 0x46, 0x03, 0x00, 0x00, 0x00, 0x67, 0x02, 0xef, 0x60, 0x22, 0x20, 0x80, + 0x22, 0x11, 0x20, 0x28, 0x41, 0x70, 0xa8, 0xc0, 0xf6, 0xca, 0x1c, 0x00, 0x0a, 0x40, 0x00, 0x92, + 0xa1, 0x20, 0x20, 0x91, 0x3a, 0x22, 0x20, 0xa7, 0x85, 0x87, 0x9a, 0x0f, 0xd6, 0x69, 0x00, 0x1b, + 0x22, 0xf0, 0x99, 0x11, 0xac, 0xc9, 0x0d, 0xf0, 0x2d, 0x03, 0x0d, 0xf0, 0xad, 0x02, 0x20, 0x21, + 0x41, 0x1b, 0x88, 0xa0, 0x88, 0x01, 0x8a, 0x22, 0x67, 0x42, 0x08, 0x07, 0x6a, 0x03, 0x1b, 0x22, + 0x9c, 0x09, 0x0d, 0xf0, 0x20, 0x27, 0x85, 0x90, 0x22, 0x01, 0xf0, 0x88, 0x11, 0x80, 0x22, 0x20, + 0x0d, 0xf0, 0x00, 0x00, 0x20, 0x21, 0x41, 0xf0, 0x22, 0x11, 0x0d, 0xf0, 0x67, 0xc3, 0x05, 0x41, + 0xc1, 0xdd, 0x40, 0x22, 0x20, 0x0d, 0xf0, 0x00, 0x80, 0x76, 0x11, 0x70, 0x23, 0x30, 0x0d, 0xf0, + 0x80, 0x76, 0x11, 0x70, 0x33, 0x30, 0xc6, 0xc8, 0xff, 0x00, 0x00, 0x00, 0x61, 0xbb, 0xff, 0x30, + 0x72, 0x30, 0x96, 0xa7, 0xfe, 0x67, 0x42, 0xd3, 0x67, 0x43, 0xdc, 0x20, 0x77, 0x75, 0x30, 0x87, + 0x75, 0x37, 0x32, 0x4b, 0x67, 0x03, 0x2d, 0x60, 0x33, 0x20, 0x80, 0x33, 0x11, 0x30, 0x38, 0x41, + 0x80, 0xa7, 0xc0, 0xf6, 0xca, 0x37, 0x00, 0x0a, 0x40, 0x0c, 0x09, 0x90, 0x93, 0x81, 0x30, 0x30, + 0x91, 0x30, 0x22, 0xc0, 0x90, 0x90, 0x60, 0x0b, 0xa2, 0x90, 0x2a, 0x93, 0x20, 0xa7, 0x75, 0x77, + 0x1a, 0x51, 0xc6, 0x1b, 0x00, 0x37, 0x12, 0x68, 0x70, 0x33, 0x11, 0x30, 0x39, 0x41, 0x67, 0x02, + 0xce, 0x1b, 0x88, 0x46, 0xf2, 0xff, 0x00, 0x00, 0x80, 0x76, 0x11, 0x70, 0x23, 0x30, 0x0d, 0xf0, + 0x67, 0x02, 0x3c, 0x60, 0x22, 0x20, 0x80, 0x22, 0x11, 0x20, 0x28, 0x41, 0x70, 0xa8, 0xc0, 0xf6, + 0xca, 0xe5, 0x00, 0x0a, 0x40, 0x0c, 0x09, 0x90, 0x92, 0x81, 0x20, 0x20, 0x91, 0x80, 0xb6, 0x11, + 0xb0, 0x33, 0x30, 0x20, 0x23, 0xc0, 0x90, 0x90, 0x60, 0x0b, 0xa2, 0x90, 0x2a, 0x93, 0x20, 0xa7, + 0x75, 0x87, 0x9a, 0x20, 0xd6, 0x69, 0x00, 0x1b, 0x22, 0xf0, 0x99, 0x11, 0xbc, 0xc9, 0x0d, 0xf0, + 0x37, 0x12, 0x0d, 0x70, 0x22, 0x11, 0x20, 0x29, 0x41, 0x67, 0x03, 0xbf, 0x1b, 0x77, 0x86, 0xee, + 0xff, 0x0c, 0x02, 0x0d, 0xf0, 0x70, 0x82, 0x11, 0xac, 0x88, 0x60, 0xf8, 0x40, 0x80, 0x89, 0x41, + 0xa7, 0xa6, 0x2e, 0x1b, 0x66, 0x00, 0x16, 0x40, 0x90, 0x88, 0x81, 0x00, 0x99, 0xa1, 0x20, 0x27, + 0x85, 0x60, 0x22, 0xc0, 0x90, 0x22, 0x01, 0x8a, 0x22, 0xc6, 0xed, 0xff, 0x20, 0x21, 0x41, 0xf0, + 0x22, 0x11, 0x0d, 0xf0, 0x16, 0x99, 0xfc, 0xb2, 0xca, 0xe8, 0x1c, 0x86, 0xb0, 0x6a, 0xa3, 0x86, + 0xf4, 0xff, 0x6d, 0x0a, 0x46, 0xf3, 0xff, 0x00, 0xf0, 0x22, 0x11, 0x20, 0x21, 0x41, 0xac, 0xe2, + 0xa0, 0xf2, 0x40, 0xa2, 0xca, 0xf8, 0x00, 0x1a, 0x40, 0x00, 0x22, 0xa1, 0x0c, 0x18, 0xa0, 0x88, + 0xc0, 0xc6, 0x1e, 0x00, 0xf0, 0x33, 0x11, 0x30, 0x31, 0x41, 0x9c, 0x23, 0xa0, 0xf3, 0x40, 0xa2, + 0xca, 0xf8, 0x00, 0x1a, 0x40, 0x00, 0x33, 0xa1, 0x0c, 0x19, 0xa0, 0x99, 0xc0, 0x86, 0x18, 0x00, + 0x70, 0x2f, 0x05, 0x10, 0x22, 0x01, 0x06, 0x34, 0x00, 0xf0, 0x83, 0x11, 0xcc, 0x88, 0x41, 0x69, + 0xdd, 0x40, 0x22, 0x20, 0x86, 0x30, 0x00, 0x00, 0x67, 0xc3, 0x06, 0x70, 0x83, 0x11, 0x8c, 0x08, + 0x2d, 0x03, 0x70, 0x7f, 0x05, 0xf0, 0x22, 0x11, 0x00, 0x41, 0x40, 0x20, 0x27, 0x81, 0x06, 0x2a, + 0x00, 0xf0, 0x82, 0x11, 0x56, 0x88, 0xfe, 0x71, 0x5f, 0xdd, 0x70, 0x23, 0x20, 0x46, 0x26, 0x00, + 0x12, 0xc1, 0xe0, 0xc9, 0x41, 0xd9, 0x51, 0xe9, 0x61, 0xf9, 0x71, 0x61, 0x5b, 0xff, 0x30, 0x72, + 0x30, 0x67, 0x42, 0xb4, 0x67, 0x43, 0xd9, 0x20, 0x87, 0x75, 0x30, 0x97, 0x75, 0x16, 0x78, 0xf6, + 0x16, 0x09, 0xf8, 0x9a, 0x88, 0xa1, 0xa2, 0xc5, 0x60, 0x22, 0x20, 0xa0, 0x22, 0x10, 0x60, 0x33, + 0x20, 0xa0, 0x33, 0x10, 0x20, 0x40, 0xf5, 0x30, 0x50, 0xf5, 0x50, 0x62, 0xc1, 0x30, 0xb4, 0xc1, + 0x0c, 0x09, 0xba, 0x66, 0xb7, 0xb6, 0x01, 0x1b, 0x99, 0x10, 0x40, 0x40, 0x60, 0x99, 0x81, 0x30, + 0xb2, 0xc1, 0x00, 0x66, 0xa1, 0xba, 0x66, 0xb7, 0xb6, 0x01, 0x1b, 0x99, 0x50, 0x24, 0xc1, 0x9a, + 0x22, 0x0c, 0x94, 0x20, 0x5f, 0x41, 0x8c, 0x25, 0x0b, 0x44, 0x1b, 0x88, 0x00, 0x14, 0x40, 0x60, + 0x22, 0x81, 0x00, 0x66, 0xa1, 0x42, 0xa0, 0x80, 0x40, 0x88, 0xc0, 0x42, 0xa0, 0xfe, 0x47, 0xb8, + 0x2f, 0xd6, 0x76, 0x00, 0x1b, 0x22, 0xf0, 0x66, 0x11, 0x16, 0xb6, 0x01, 0x90, 0x88, 0x01, 0x8a, + 0x22, 0x70, 0x7f, 0x05, 0x10, 0x77, 0x01, 0x70, 0x22, 0x20, 0xc8, 0x41, 0xd8, 0x51, 0xe8, 0x61, + 0xf8, 0x71, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x20, 0x21, 0x41, 0xf0, 0x22, 0x11, 0x86, 0xf6, + 0xff, 0x96, 0x88, 0x00, 0x82, 0xa0, 0xff, 0x90, 0x28, 0x01, 0xc6, 0xf4, 0xff, 0x80, 0x80, 0x60, + 0x9d, 0x06, 0x00, 0x08, 0x40, 0xf6, 0xc8, 0x13, 0x00, 0x62, 0xa1, 0x20, 0x20, 0x91, 0x0c, 0x08, + 0x16, 0xd9, 0xfa, 0x0c, 0x19, 0x90, 0x66, 0x20, 0x46, 0xe9, 0xff, 0x00, 0x70, 0x2f, 0x05, 0x10, + 0x22, 0x01, 0x06, 0xed, 0xff, 0x00, 0x00, 0x00, 0xf0, 0x33, 0x11, 0x30, 0x31, 0x41, 0x9c, 0x33, + 0xa0, 0xf3, 0x40, 0xa2, 0xca, 0xf8, 0x00, 0x1a, 0x40, 0x00, 0x33, 0xa1, 0x0c, 0x19, 0xa0, 0x99, + 0xc0, 0x06, 0x1d, 0x00, 0x00, 0xf0, 0x42, 0x11, 0x40, 0x41, 0x41, 0x70, 0x2f, 0x05, 0x10, 0x22, + 0x01, 0x60, 0x22, 0x20, 0xcc, 0x44, 0x41, 0x17, 0xdd, 0x40, 0x22, 0x20, 0x0d, 0xf0, 0x00, 0x00, + 0xf0, 0x22, 0x11, 0x20, 0x21, 0x41, 0x9c, 0x22, 0xa0, 0xf2, 0x40, 0xa2, 0xca, 0xf8, 0x00, 0x1a, + 0x40, 0x00, 0x22, 0xa1, 0x0c, 0x18, 0xa0, 0x88, 0xc0, 0xc6, 0x0f, 0x00, 0x70, 0x2f, 0x05, 0x10, + 0x22, 0x01, 0x0d, 0xf0, 0x30, 0x7f, 0x05, 0x10, 0x77, 0x01, 0x70, 0x22, 0x30, 0x67, 0xc3, 0x05, + 0x41, 0x09, 0xdd, 0x40, 0x22, 0x20, 0x0d, 0xf0, 0x70, 0x83, 0x11, 0x16, 0xd8, 0xfd, 0x2d, 0x03, + 0x0d, 0xf0, 0x00, 0x00, 0x61, 0x05, 0xff, 0x30, 0x72, 0x30, 0x67, 0x42, 0xd6, 0x67, 0x43, 0xe7, + 0x20, 0x87, 0x75, 0x30, 0x97, 0x75, 0x16, 0xe9, 0xf6, 0x16, 0x38, 0xfa, 0x90, 0x88, 0xc0, 0xa1, + 0x4c, 0xc5, 0x60, 0x22, 0x20, 0xa0, 0x22, 0x10, 0x60, 0x33, 0x20, 0xa0, 0x33, 0x10, 0x27, 0x33, + 0x04, 0xf0, 0x22, 0x11, 0x0b, 0x88, 0x30, 0x22, 0xc0, 0xf0, 0x22, 0x11, 0x0c, 0x1a, 0x92, 0xa0, + 0x17, 0xf0, 0xaa, 0x11, 0x37, 0x32, 0x04, 0x1b, 0xaa, 0x30, 0x22, 0xc0, 0xf0, 0x22, 0x11, 0x0b, + 0x99, 0x56, 0xc9, 0xfe, 0x82, 0xc8, 0x7e, 0x42, 0xa0, 0xfe, 0x47, 0xb8, 0x17, 0x37, 0x32, 0x04, + 0x1b, 0xaa, 0x37, 0x12, 0x1a, 0x90, 0x88, 0x01, 0x8a, 0x2a, 0x70, 0x7f, 0x05, 0x10, 0x77, 0x01, + 0x70, 0x22, 0x20, 0x0d, 0xf0, 0x96, 0x08, 0x01, 0x1b, 0x84, 0x90, 0x28, 0x01, 0x46, 0xfa, 0xff, + 0xa0, 0xa1, 0x41, 0xf0, 0xaa, 0x11, 0xc6, 0xf6, 0xff, 0x80, 0x80, 0x60, 0x00, 0x08, 0x40, 0xf6, + 0xc8, 0x22, 0x00, 0x6a, 0xa1, 0xa0, 0xa0, 0x91, 0x0c, 0x08, 0x8c, 0x32, 0x0c, 0x19, 0x90, 0x66, + 0x20, 0xd6, 0x06, 0xfc, 0x1b, 0xaa, 0xf0, 0x66, 0x11, 0x56, 0x86, 0xfb, 0xa0, 0xa1, 0x41, 0xf0, + 0xaa, 0x11, 0xc6, 0xeb, 0xff, 0x70, 0x2f, 0x05, 0x10, 0x22, 0x01, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x61, 0xd6, 0xfe, 0x67, 0x42, 0x22, 0x20, 0x47, 0x75, 0x42, 0xc4, 0x82, 0xe6, 0xc4, 0x20, 0xa6, + 0x14, 0x29, 0x60, 0x72, 0x20, 0x80, 0x57, 0x11, 0x00, 0x14, 0x40, 0x50, 0x50, 0x91, 0x50, 0x20, + 0x60, 0x70, 0x25, 0xb3, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x70, 0x42, 0x11, 0x8c, 0x04, 0x0c, 0x02, + 0x80, 0x46, 0x11, 0x0b, 0x54, 0x20, 0x45, 0xb3, 0x2d, 0x04, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, + 0x61, 0xc6, 0xfe, 0x67, 0x42, 0x25, 0x20, 0x47, 0x75, 0x42, 0xc4, 0x81, 0xe6, 0xc4, 0x25, 0x96, + 0xe4, 0x02, 0x60, 0x72, 0x20, 0x80, 0x57, 0x11, 0x1b, 0x44, 0x26, 0xc4, 0x27, 0x00, 0x14, 0x40, + 0x50, 0x50, 0x91, 0x50, 0x20, 0x60, 0x70, 0x25, 0xb3, 0x0d, 0xf0, 0x00, 0x70, 0x42, 0x11, 0x8c, + 0x24, 0x7c, 0xf2, 0x0d, 0xf0, 0x80, 0x46, 0x11, 0x7c, 0xf5, 0x20, 0x45, 0xb3, 0x2d, 0x04, 0x0d, + 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x96, 0x32, 0x00, 0x2d, 0x05, 0x0d, 0xf0, 0x80, 0x26, 0x11, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x33, 0x11, 0x30, 0x31, 0x41, 0x20, 0xa3, 0x20, 0x16, 0x4a, 0x08, + 0x9c, 0x53, 0xa0, 0xf3, 0x40, 0xa2, 0xca, 0xf5, 0x00, 0x1a, 0x40, 0x20, 0x33, 0x81, 0x00, 0x22, + 0xa1, 0x0c, 0x18, 0xa0, 0x88, 0xc0, 0x86, 0x36, 0x00, 0xa0, 0xf2, 0x40, 0xa2, 0xca, 0xf5, 0x6c, + 0x18, 0xa0, 0x88, 0xc0, 0x00, 0x1a, 0x40, 0x96, 0x9a, 0x00, 0x00, 0x32, 0xa1, 0x0c, 0x02, 0x46, + 0x30, 0x00, 0x00, 0x00, 0x20, 0x30, 0x91, 0x00, 0x22, 0xa1, 0x86, 0x2d, 0x00, 0xf0, 0x55, 0x11, + 0x50, 0x51, 0x41, 0x40, 0xa5, 0x20, 0xbc, 0xba, 0x9c, 0x55, 0xa0, 0xf5, 0x40, 0xa2, 0xca, 0xf5, + 0x00, 0x1a, 0x40, 0x40, 0x55, 0x81, 0x00, 0x44, 0xa1, 0x0c, 0x19, 0xa0, 0x99, 0xc0, 0x46, 0x25, + 0x00, 0xa0, 0xf4, 0x40, 0xa2, 0xca, 0xf5, 0x6c, 0x19, 0xa0, 0x99, 0xc0, 0x00, 0x1a, 0x40, 0x96, + 0x9a, 0x00, 0x00, 0x54, 0xa1, 0x0c, 0x04, 0x06, 0x1f, 0x00, 0x00, 0x00, 0x40, 0x50, 0x91, 0x00, + 0x44, 0xa1, 0x46, 0x1c, 0x00, 0x70, 0x3f, 0x05, 0x10, 0x33, 0x01, 0x0c, 0x02, 0x46, 0x64, 0x00, + 0xcc, 0xd4, 0xf0, 0x85, 0x11, 0xcc, 0x88, 0x41, 0xb8, 0xc3, 0x40, 0x33, 0x20, 0x46, 0x60, 0x00, + 0x00, 0x67, 0xc5, 0x0b, 0x40, 0x85, 0x11, 0x40, 0x88, 0x20, 0x8c, 0x28, 0x3d, 0x05, 0x2d, 0x04, + 0x70, 0x7f, 0x05, 0xf0, 0x33, 0x11, 0x00, 0x41, 0x40, 0x30, 0x37, 0x81, 0x86, 0x58, 0x00, 0x00, + 0x56, 0x82, 0xfe, 0xf0, 0x83, 0x11, 0x56, 0x28, 0xfe, 0x71, 0xab, 0xc3, 0x70, 0x35, 0x20, 0xc6, + 0x53, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xe0, 0xc9, 0x41, 0xd9, 0x51, 0xe9, 0x61, 0xf9, 0x71, 0x61, + 0x77, 0xfe, 0x50, 0x73, 0x30, 0x67, 0x43, 0xa7, 0x67, 0x45, 0xd4, 0x30, 0x84, 0xa5, 0x50, 0x94, + 0xa5, 0x16, 0xf8, 0xef, 0x16, 0x59, 0xf4, 0x9a, 0x88, 0xa1, 0x71, 0xfe, 0x60, 0x33, 0x20, 0xa0, + 0x33, 0x10, 0x60, 0x55, 0x20, 0xa0, 0x55, 0x10, 0x79, 0x11, 0x20, 0xc0, 0xf5, 0x40, 0xd0, 0xf5, + 0x30, 0xe0, 0xf5, 0x50, 0xf0, 0xf5, 0xd0, 0xa2, 0xc1, 0x40, 0xbc, 0xc1, 0x0c, 0x09, 0xba, 0xaa, + 0xb7, 0xba, 0x01, 0x1b, 0x99, 0x10, 0x40, 0x40, 0xa0, 0x69, 0x81, 0x40, 0xb2, 0xc1, 0x00, 0xaa, + 0xa1, 0xba, 0xaa, 0xb7, 0xba, 0x02, 0x62, 0xc6, 0x01, 0x0c, 0x09, 0x50, 0xb2, 0xc1, 0xba, 0x66, + 0xb7, 0xb6, 0x01, 0x1b, 0x99, 0xd0, 0xbc, 0xc1, 0xb0, 0x66, 0x80, 0xb7, 0xb6, 0x01, 0x1b, 0x99, + 0x40, 0xb3, 0xc1, 0xba, 0x66, 0xb7, 0xb6, 0x01, 0x1b, 0x99, 0x8c, 0x3a, 0x0c, 0x1b, 0xb0, 0x66, + 0x20, 0xf0, 0x72, 0xc1, 0x40, 0xbe, 0xc1, 0x0c, 0x0a, 0x7a, 0xbb, 0x77, 0xbb, 0x02, 0xa2, 0xca, + 0x01, 0x50, 0x7c, 0xc1, 0x70, 0xbb, 0x80, 0x77, 0xbb, 0x02, 0xa2, 0xca, 0x01, 0xd0, 0x73, 0xc1, + 0x70, 0xbb, 0x80, 0x77, 0xbb, 0x02, 0xa2, 0xca, 0x01, 0xb0, 0xaa, 0x81, 0x9a, 0xaa, 0x00, 0xbb, + 0xa1, 0xba, 0x66, 0xb7, 0xb6, 0x02, 0xa2, 0xca, 0x01, 0x0c, 0x09, 0xf0, 0x2c, 0xc1, 0xaa, 0x22, + 0xa7, 0xb2, 0x01, 0x1b, 0x99, 0x50, 0xa3, 0xc1, 0xa0, 0x22, 0x80, 0xa7, 0xb2, 0x02, 0x92, 0xc9, + 0x01, 0xd0, 0xae, 0xc1, 0xaa, 0x22, 0xa7, 0xb2, 0x02, 0x92, 0xc9, 0x01, 0xf0, 0xb3, 0xc1, 0x50, + 0x7e, 0xc1, 0x0c, 0x0a, 0x70, 0xbb, 0x80, 0x77, 0xbb, 0x02, 0xa2, 0xca, 0x01, 0xb0, 0xaa, 0x81, + 0x9a, 0xaa, 0x00, 0xbb, 0xa1, 0xba, 0x22, 0xb7, 0xb2, 0x01, 0x1b, 0xaa, 0xf0, 0x3e, 0xc1, 0xaa, + 0x33, 0x78, 0x11, 0x0c, 0xb4, 0x30, 0x59, 0x41, 0xcc, 0x45, 0x42, 0xc4, 0x01, 0x82, 0xc8, 0xff, + 0x00, 0x14, 0x40, 0x20, 0x33, 0x81, 0x60, 0x22, 0x81, 0x00, 0x66, 0xa1, 0x42, 0xa3, 0xff, 0x40, + 0x88, 0xc0, 0xf0, 0x44, 0x11, 0x47, 0xb8, 0x37, 0xd6, 0x86, 0x00, 0x1b, 0x22, 0xac, 0x82, 0xf0, + 0x66, 0x11, 0x9c, 0xa6, 0xc0, 0x88, 0x01, 0x8a, 0x33, 0x70, 0x7f, 0x05, 0x10, 0x77, 0x01, 0x70, + 0x33, 0x20, 0xc8, 0x41, 0xd8, 0x51, 0xe8, 0x61, 0xf8, 0x71, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, + 0x20, 0x21, 0x41, 0xf0, 0x22, 0x11, 0x86, 0xf6, 0xff, 0x1b, 0x33, 0x46, 0xf5, 0xff, 0x00, 0x00, + 0x96, 0x98, 0x00, 0x1b, 0x84, 0xc0, 0x38, 0x01, 0x0c, 0x02, 0xc6, 0xf2, 0xff, 0x80, 0x80, 0x60, + 0x9d, 0x06, 0x00, 0x08, 0x40, 0xf6, 0xc8, 0x0b, 0x00, 0x62, 0xa1, 0x20, 0x23, 0x81, 0x30, 0x30, + 0x91, 0x06, 0x04, 0x00, 0xf6, 0xd8, 0x1c, 0x00, 0xa2, 0xa1, 0x20, 0x63, 0x81, 0x30, 0x20, 0x91, + 0x0c, 0x03, 0xa0, 0x99, 0x20, 0x0c, 0x08, 0x16, 0xd9, 0xf8, 0x0c, 0x19, 0x90, 0x66, 0x20, 0x46, + 0xe1, 0xff, 0x00, 0x00, 0x70, 0x3f, 0x05, 0x10, 0x33, 0x01, 0x0c, 0x02, 0x86, 0xe4, 0xff, 0x00, + 0xf0, 0x55, 0x11, 0x50, 0x51, 0x41, 0x40, 0xa5, 0x20, 0xbc, 0xba, 0x9c, 0x55, 0xa0, 0xf5, 0x40, + 0xa2, 0xca, 0xf5, 0x00, 0x1a, 0x40, 0x40, 0x55, 0x81, 0x00, 0x44, 0xa1, 0x0c, 0x19, 0xa0, 0x99, + 0xc0, 0x06, 0x36, 0x00, 0xa0, 0xf4, 0x40, 0xa2, 0xca, 0xf5, 0x6c, 0x19, 0xa0, 0x99, 0xc0, 0x00, + 0x1a, 0x40, 0x96, 0x7a, 0x00, 0x00, 0x54, 0xa1, 0x0c, 0x04, 0xc6, 0x2f, 0x00, 0x40, 0x50, 0x91, + 0x00, 0x44, 0xa1, 0x86, 0x2d, 0x00, 0x00, 0x00, 0xf0, 0x33, 0x11, 0x30, 0x31, 0x41, 0x30, 0x22, + 0x20, 0x70, 0x3f, 0x05, 0x10, 0x33, 0x01, 0x60, 0x33, 0x20, 0xcc, 0x42, 0x41, 0x23, 0xc3, 0x40, + 0x33, 0x20, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0xf0, 0x33, 0x11, 0x30, 0x31, 0x41, 0x20, 0xa3, + 0x20, 0xbc, 0xba, 0x9c, 0x53, 0xa0, 0xf3, 0x40, 0xa2, 0xca, 0xf5, 0x00, 0x1a, 0x40, 0x20, 0x33, + 0x81, 0x00, 0x22, 0xa1, 0x0c, 0x18, 0xa0, 0x88, 0xc0, 0xc6, 0x1c, 0x00, 0xa0, 0xf2, 0x40, 0xa2, + 0xca, 0xf5, 0x6c, 0x18, 0xa0, 0x88, 0xc0, 0x00, 0x1a, 0x40, 0x96, 0x7a, 0x00, 0x00, 0x32, 0xa1, + 0x0c, 0x02, 0x86, 0x16, 0x00, 0x20, 0x30, 0x91, 0x00, 0x22, 0xa1, 0x46, 0x14, 0x00, 0x00, 0x00, + 0x70, 0x3f, 0x05, 0x10, 0x33, 0x01, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0x50, 0x7f, 0x05, 0x10, + 0x77, 0x01, 0x70, 0x33, 0x30, 0x67, 0xc5, 0x05, 0x41, 0x08, 0xc3, 0x40, 0x33, 0x20, 0x0d, 0xf0, + 0x40, 0x85, 0x11, 0x40, 0x88, 0x20, 0x16, 0x68, 0xfd, 0x3d, 0x05, 0x2d, 0x04, 0x0d, 0xf0, 0x00, + 0x47, 0x32, 0x37, 0x46, 0x0f, 0x00, 0x00, 0x00, 0x61, 0xd1, 0xfd, 0x50, 0x73, 0x30, 0x67, 0x43, + 0xca, 0x67, 0x45, 0xdb, 0x30, 0x84, 0xa5, 0x50, 0x94, 0xa5, 0x16, 0x29, 0xf0, 0x16, 0x78, 0xf6, + 0x90, 0x88, 0xc0, 0xa1, 0xcb, 0xfd, 0x60, 0x33, 0x20, 0xa0, 0x33, 0x10, 0x60, 0x55, 0x20, 0xa0, + 0x55, 0x10, 0x10, 0x4f, 0x40, 0x37, 0x35, 0x0b, 0x37, 0x15, 0xc4, 0x20, 0x33, 0x81, 0x00, 0x22, + 0xa1, 0x82, 0xc8, 0xff, 0x50, 0x33, 0xc0, 0x47, 0xb2, 0x02, 0x32, 0xc3, 0xff, 0x40, 0x22, 0xc0, + 0x20, 0x33, 0x81, 0x00, 0x22, 0xa1, 0x0c, 0x0a, 0x0c, 0x1b, 0x3c, 0x49, 0xb0, 0xaa, 0x81, 0x00, + 0xbb, 0xa1, 0x57, 0x33, 0x0f, 0x57, 0x13, 0x3f, 0x1b, 0xbb, 0x50, 0x33, 0xc0, 0x47, 0xb2, 0x01, + 0x0b, 0x33, 0x40, 0x22, 0xc0, 0x20, 0x33, 0x81, 0x00, 0x22, 0xa1, 0x0b, 0x99, 0x56, 0xb9, 0xfd, + 0x92, 0xa3, 0xfe, 0x9a, 0x88, 0x92, 0xd9, 0x04, 0x97, 0xb8, 0x38, 0x57, 0x33, 0x07, 0x57, 0x13, + 0x1e, 0x1b, 0xbb, 0x16, 0x5b, 0x08, 0x2d, 0x0b, 0xc0, 0x88, 0x01, 0x8a, 0x3a, 0x70, 0x7f, 0x05, + 0x10, 0x77, 0x01, 0x70, 0x33, 0x20, 0x0d, 0xf0, 0x47, 0xb2, 0xbc, 0x86, 0xf1, 0xff, 0x00, 0x00, + 0x47, 0x32, 0xe2, 0x47, 0x92, 0xda, 0x1b, 0xbb, 0x16, 0x0b, 0x06, 0xb0, 0xb1, 0x41, 0xf0, 0xbb, + 0x11, 0x46, 0xf4, 0xff, 0x96, 0x98, 0x00, 0x1b, 0x89, 0xc0, 0x38, 0x01, 0x0c, 0x02, 0xc6, 0xf2, + 0xff, 0x80, 0x80, 0x60, 0x00, 0x08, 0x40, 0xf6, 0xc8, 0x0d, 0x00, 0x6b, 0xa1, 0xb0, 0xba, 0x81, + 0xa0, 0xa0, 0x91, 0x86, 0x04, 0x00, 0x00, 0x00, 0xf6, 0xd8, 0x35, 0x00, 0x9b, 0xa1, 0xb0, 0x6a, + 0x81, 0xa0, 0xb0, 0x91, 0x0c, 0x0a, 0x90, 0x22, 0x20, 0x0c, 0x08, 0x20, 0x33, 0x20, 0x8c, 0x33, + 0x0c, 0x19, 0x90, 0x66, 0x20, 0xd6, 0xd6, 0xf8, 0x1b, 0xbb, 0x8c, 0xeb, 0xf0, 0x66, 0x11, 0x56, + 0x36, 0xf8, 0xb0, 0xb1, 0x41, 0xf0, 0xbb, 0x11, 0x86, 0xde, 0xff, 0x00, 0x1b, 0xaa, 0x06, 0xdd, + 0xff, 0x70, 0x3f, 0x05, 0x10, 0x33, 0x01, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x61, 0x88, 0xfd, 0x67, + 0x43, 0x25, 0x30, 0x44, 0xa5, 0x60, 0x53, 0x95, 0x50, 0x44, 0xc0, 0xe6, 0xc4, 0x25, 0xa6, 0x14, + 0x2e, 0x60, 0x73, 0x20, 0x10, 0x45, 0x40, 0x20, 0x57, 0x81, 0x00, 0x14, 0x40, 0x50, 0x50, 0x91, + 0x50, 0x20, 0x60, 0x70, 0x25, 0xb3, 0x0d, 0xf0, 0x40, 0x43, 0x11, 0x20, 0x44, 0x20, 0x16, 0x24, + 0x00, 0x32, 0xa0, 0x00, 0x50, 0x46, 0x11, 0x0b, 0x54, 0x30, 0x45, 0xb3, 0x2d, 0x04, 0x0d, 0xf0, + 0x0c, 0x02, 0x0d, 0xf0, 0x41, 0x78, 0xfd, 0x40, 0x53, 0xc0, 0x50, 0x63, 0x30, 0x96, 0x36, 0x05, + 0x50, 0x64, 0xa5, 0x16, 0xd6, 0x04, 0x42, 0xa0, 0xff, 0x47, 0xa6, 0x27, 0x10, 0x4d, 0x40, 0x20, + 0x55, 0x81, 0x00, 0x42, 0xa1, 0x30, 0x6f, 0x05, 0x10, 0x66, 0x01, 0x50, 0x26, 0x20, 0xd6, 0x64, + 0x00, 0x1b, 0x22, 0xf0, 0x44, 0x11, 0x8c, 0x24, 0x0d, 0xf0, 0x00, 0x00, 0x20, 0x21, 0x41, 0xf0, + 0x22, 0x11, 0x0d, 0xf0, 0x41, 0x66, 0xfd, 0x47, 0xc3, 0x0a, 0x40, 0x53, 0x11, 0x20, 0x55, 0x20, + 0x8c, 0x15, 0x40, 0x41, 0x41, 0xc0, 0x44, 0x11, 0x30, 0x6f, 0x05, 0x00, 0x41, 0x40, 0x40, 0x26, + 0x81, 0x0d, 0xf0, 0x00, 0x30, 0x64, 0xa5, 0x52, 0xa3, 0x80, 0x60, 0x65, 0xc0, 0x1b, 0x66, 0xf6, + 0xc6, 0x29, 0x30, 0x55, 0x11, 0x30, 0x55, 0x20, 0x50, 0x55, 0x11, 0x50, 0x5b, 0x41, 0x10, 0x4d, + 0x40, 0x20, 0x55, 0x81, 0x00, 0x42, 0xa1, 0x00, 0x06, 0x40, 0x00, 0x74, 0xa1, 0x40, 0x45, 0x81, + 0x50, 0x50, 0x91, 0x16, 0xe7, 0xf8, 0x60, 0x44, 0x20, 0x06, 0xe2, 0xff, 0x30, 0x2f, 0x05, 0x10, + 0x22, 0x01, 0x0d, 0xf0, 0x0d, 0xf0, 0x00, 0x00, 0x0d, 0xf0, 0x00, 0x00, 0x0c, 0x02, 0x0d, 0xf0, + 0x30, 0x72, 0x30, 0x20, 0x61, 0x60, 0x30, 0x31, 0x60, 0xb6, 0x23, 0x37, 0x60, 0x51, 0x41, 0x37, + 0x35, 0x3d, 0x50, 0xf6, 0x40, 0x40, 0xf3, 0x40, 0x50, 0x44, 0xc0, 0x00, 0x14, 0x40, 0x00, 0x33, + 0xa1, 0x22, 0xa0, 0x00, 0x37, 0x36, 0x04, 0x30, 0x66, 0xc0, 0x1b, 0x22, 0xf0, 0x22, 0x11, 0x30, + 0x31, 0x41, 0x0b, 0x44, 0x56, 0xc4, 0xfe, 0x37, 0x36, 0x01, 0x1b, 0x22, 0x20, 0x50, 0x60, 0x70, + 0x25, 0xa3, 0x0d, 0xf0, 0x9c, 0x53, 0x60, 0x20, 0x60, 0x70, 0x26, 0xb3, 0x0d, 0xf0, 0x00, 0x00, + 0x37, 0x36, 0x10, 0x0c, 0x12, 0x7c, 0xf4, 0x70, 0x24, 0xa3, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x44, 0x49, 0x56, 0x30, 0x0c, 0x02, 0x0d, 0xf0, 0x7d, 0x02, 0x20, 0x21, 0x60, 0x30, 0x31, 0x60, + 0xb6, 0x23, 0x30, 0x50, 0xf2, 0x40, 0x40, 0xf3, 0x40, 0x47, 0xb5, 0x17, 0x50, 0x44, 0xc0, 0x00, + 0x14, 0x40, 0x00, 0x33, 0xa1, 0x37, 0x32, 0x02, 0x30, 0x22, 0xc0, 0x30, 0x31, 0x41, 0x42, 0xc4, + 0xff, 0x56, 0x04, 0xff, 0x37, 0x32, 0x02, 0x30, 0x22, 0xc0, 0xd6, 0x27, 0x00, 0x20, 0x20, 0x60, + 0x0d, 0xf0, 0x00, 0x00, 0xcc, 0x53, 0x00, 0x00, 0x00, 0x44, 0x49, 0x56, 0x30, 0x0c, 0x02, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0xb6, 0x23, 0x30, 0x6d, 0x02, 0x50, 0xf6, 0x40, 0x40, 0xf3, 0x40, 0x47, + 0xb5, 0x29, 0x50, 0x44, 0xc0, 0x00, 0x14, 0x40, 0x00, 0x33, 0xa1, 0x0c, 0x02, 0x37, 0x36, 0x04, + 0x30, 0x66, 0xc0, 0x1b, 0x22, 0xf0, 0x22, 0x11, 0x30, 0x31, 0x41, 0x0b, 0x44, 0x56, 0xc4, 0xfe, + 0x37, 0x36, 0x01, 0x1b, 0x22, 0x0d, 0xf0, 0x00, 0x8c, 0x93, 0x0d, 0xf0, 0x37, 0x36, 0x0c, 0x0c, + 0x12, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x49, 0x56, 0x30, 0x0c, 0x02, 0x0d, 0xf0, + 0xb6, 0x23, 0x28, 0x50, 0xf2, 0x40, 0x40, 0xf3, 0x40, 0x47, 0xb5, 0x17, 0x50, 0x44, 0xc0, 0x00, + 0x14, 0x40, 0x00, 0x33, 0xa1, 0x37, 0x32, 0x02, 0x30, 0x22, 0xc0, 0x30, 0x31, 0x41, 0x42, 0xc4, + 0xff, 0x56, 0x04, 0xff, 0x37, 0x32, 0x02, 0x30, 0x22, 0xc0, 0x0d, 0xf0, 0xcc, 0x53, 0x00, 0x00, + 0x00, 0x44, 0x49, 0x56, 0x30, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0xbc, 0x62, 0x0c, 0x07, + 0x06, 0x02, 0x00, 0x00, 0xac, 0xe2, 0x20, 0x7f, 0x05, 0x20, 0x21, 0x60, 0x40, 0xf2, 0x40, 0x00, + 0x14, 0x40, 0x00, 0x52, 0xa1, 0x50, 0x28, 0x41, 0x80, 0x65, 0x01, 0x52, 0xa0, 0x9d, 0x40, 0x55, + 0xc0, 0x90, 0x55, 0x01, 0x5a, 0x22, 0x10, 0x77, 0x01, 0x70, 0x22, 0x20, 0xd6, 0x66, 0x00, 0x1b, + 0x22, 0xf0, 0x66, 0x11, 0x8c, 0x06, 0x0d, 0xf0, 0x20, 0x21, 0x41, 0xf0, 0x22, 0x11, 0x0d, 0xf0, + 0xac, 0xe2, 0x0c, 0x07, 0x06, 0x02, 0x00, 0x00, 0xac, 0x62, 0x20, 0x7f, 0x05, 0x20, 0x21, 0x60, + 0x40, 0xf2, 0x40, 0x00, 0x14, 0x40, 0x00, 0x52, 0xa1, 0x50, 0x3b, 0x41, 0xb0, 0x25, 0x01, 0x52, + 0xa4, 0x1d, 0x40, 0x55, 0xc0, 0xc0, 0x55, 0x01, 0x5a, 0x33, 0x10, 0x77, 0x01, 0x70, 0x33, 0x20, + 0x0d, 0xf0, 0x0c, 0x03, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x80, 0xfe, 0x3f, 0xde, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x55, 0x00, 0xf0, 0x0b, 0x44, 0x60, 0x10, 0x40, 0xc0, 0x1b, 0x10, 0x40, 0x5c, 0x5f, 0x10, 0x40, + 0x0c, 0xfb, 0x10, 0x40, 0xec, 0x60, 0x00, 0x40, 0xd0, 0x60, 0x00, 0x40, 0x70, 0x33, 0x10, 0x40, + 0x04, 0xfb, 0x10, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x00, 0x20, 0x00, 0x24, 0x00, 0x28, 0x00, 0x2c, 0x00, 0x30, 0x00, 0x34, + 0x00, 0x40, 0x00, 0x60, 0x00, 0x64, 0x00, 0x68, 0x00, 0x70, 0x00, 0x74, 0x00, 0x78, 0x00, 0x7c, + 0x07, 0x03, 0x03, 0x00, 0xff, 0xff, 0xff, 0xff, 0x17, 0xf0, 0x00, 0x00, 0x2c, 0x19, 0xff, 0x3f, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x3a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x01, 0x05, 0x00, + 0x2e, 0xba, 0x00, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x17, 0x5d, 0x00, 0x00, 0xd5, 0x00, 0x07, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x3a, 0x01, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0xa2, 0x00, 0x05, 0x00, + 0x2e, 0xba, 0x00, 0x00, 0x7f, 0x00, 0x06, 0x00, 0x17, 0x5d, 0x00, 0x00, 0x75, 0x00, 0x07, 0x00, + 0x55, 0x15, 0x00, 0x00, 0x2c, 0x00, 0x09, 0x00, 0xaa, 0x2a, 0x00, 0x00, 0x2c, 0x00, 0x09, 0x00, + 0x55, 0x55, 0x00, 0x00, 0x30, 0x00, 0x0a, 0x00, 0xaa, 0xaa, 0x00, 0x00, 0x3c, 0x00, 0x0b, 0x00, + 0xf6, 0x12, 0x00, 0x00, 0x2c, 0x00, 0x09, 0x00, 0x71, 0x1c, 0x00, 0x00, 0x2c, 0x00, 0x09, 0x00, + 0xe3, 0x38, 0x00, 0x00, 0x30, 0x00, 0x0a, 0x00, 0xc7, 0x71, 0x00, 0x00, 0x3c, 0x00, 0x0b, 0x00, + 0x89, 0x9d, 0x00, 0x00, 0x3c, 0x00, 0x0b, 0x00, 0xc4, 0x4e, 0x00, 0x00, 0x30, 0x00, 0x0a, 0x00, + 0x83, 0x34, 0x00, 0x00, 0x30, 0x00, 0x0a, 0x00, 0x62, 0x27, 0x00, 0x00, 0x2c, 0x00, 0x09, 0x00, + 0x41, 0x1a, 0x00, 0x00, 0x2c, 0x00, 0x09, 0x00, 0xb1, 0x13, 0x00, 0x00, 0x2c, 0x00, 0x09, 0x00, + 0x81, 0x11, 0x00, 0x00, 0x2c, 0x00, 0x09, 0x00, 0xc0, 0x0f, 0x00, 0x00, 0x2c, 0x00, 0x09, 0x00, + 0xc8, 0x8d, 0x00, 0x00, 0x3c, 0x00, 0x0b, 0x00, 0xe4, 0x46, 0x00, 0x00, 0x30, 0x00, 0x0a, 0x00, + 0x42, 0x2f, 0x00, 0x00, 0x30, 0x00, 0x0a, 0x00, 0x72, 0x23, 0x00, 0x00, 0x2c, 0x00, 0x09, 0x00, + 0xa1, 0x17, 0x00, 0x00, 0x2c, 0x00, 0x09, 0x00, 0xb9, 0x11, 0x00, 0x00, 0x2c, 0x00, 0x09, 0x00, + 0xc0, 0x0f, 0x00, 0x00, 0x2c, 0x00, 0x09, 0x00, 0x2d, 0x0e, 0x00, 0x00, 0x2c, 0x00, 0x09, 0x00, + 0x0b, 0x02, 0x0b, 0x01, 0x0b, 0x02, 0x0b, 0x02, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0x02, 0x16, 0x02, 0x11, 0x01, 0x10, 0x02, 0x07, 0x72, 0x00, 0x00, 0x17, 0x02, 0x15, 0x02, + 0x11, 0x01, 0x10, 0x02, 0x07, 0x72, 0x00, 0x00, 0x16, 0x02, 0x14, 0x02, 0x11, 0x01, 0x10, 0x02, + 0x07, 0x72, 0x00, 0x00, 0x15, 0x02, 0x13, 0x02, 0x11, 0x01, 0x10, 0x02, 0x07, 0x60, 0x00, 0x00, + 0x14, 0x02, 0x12, 0x02, 0x11, 0x01, 0x10, 0x02, 0x07, 0x55, 0x00, 0x00, 0x13, 0x02, 0x12, 0x01, + 0x11, 0x02, 0x10, 0x02, 0x07, 0x4b, 0x00, 0x00, 0x12, 0x02, 0x11, 0x01, 0x10, 0x02, 0x10, 0x02, + 0x07, 0x40, 0x00, 0x00, 0x11, 0x02, 0x10, 0x01, 0x10, 0x02, 0x10, 0x02, 0x07, 0x3b, 0x00, 0x00, + 0x10, 0x02, 0x10, 0x02, 0x10, 0x01, 0x10, 0x02, 0x07, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0x02, 0x16, 0x02, 0x11, 0x01, 0x10, 0x02, 0x07, 0x72, 0x00, 0x00, 0x17, 0x02, 0x15, 0x02, + 0x11, 0x01, 0x10, 0x02, 0x07, 0x72, 0x00, 0x00, 0x16, 0x02, 0x14, 0x02, 0x11, 0x01, 0x10, 0x02, + 0x07, 0x72, 0x00, 0x00, 0x15, 0x02, 0x13, 0x02, 0x11, 0x01, 0x10, 0x02, 0x07, 0x60, 0x00, 0x00, + 0x14, 0x02, 0x12, 0x02, 0x11, 0x01, 0x10, 0x02, 0x07, 0x55, 0x00, 0x00, 0x13, 0x02, 0x12, 0x01, + 0x11, 0x02, 0x10, 0x02, 0x07, 0x4b, 0x00, 0x00, 0x12, 0x02, 0x11, 0x01, 0x10, 0x02, 0x00, 0x02, + 0x07, 0x40, 0x00, 0x00, 0x11, 0x02, 0x10, 0x01, 0x05, 0x02, 0x00, 0x02, 0x07, 0x3b, 0x00, 0x00, + 0x10, 0x02, 0x05, 0x02, 0x00, 0x01, 0x00, 0x02, 0x07, 0x32, 0x00, 0x00, 0x06, 0x02, 0x05, 0x02, + 0x00, 0x01, 0x00, 0x02, 0x07, 0x39, 0x00, 0x00, 0x05, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, + 0x07, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x07, 0x00, 0x00, 0x00, + 0x0c, 0x02, 0x08, 0x01, 0x0d, 0x02, 0x0b, 0x02, 0x07, 0x72, 0x00, 0x00, 0x08, 0x02, 0x0d, 0x02, + 0x09, 0x01, 0x0b, 0x02, 0x07, 0x65, 0x00, 0x00, 0x0d, 0x02, 0x09, 0x02, 0x0e, 0x01, 0x0b, 0x02, + 0x07, 0x5c, 0x00, 0x00, 0x09, 0x02, 0x0e, 0x01, 0x0a, 0x02, 0x0b, 0x02, 0x07, 0x58, 0x00, 0x00, + 0x0e, 0x02, 0x0a, 0x02, 0x0f, 0x01, 0x0b, 0x02, 0x07, 0x52, 0x00, 0x00, 0x0a, 0x02, 0x0f, 0x01, + 0x0b, 0x02, 0x0b, 0x02, 0x07, 0x4b, 0x00, 0x00, 0x0f, 0x02, 0x0b, 0x01, 0x0b, 0x02, 0x0b, 0x02, + 0x07, 0x38, 0x00, 0x00, 0x0b, 0x02, 0x0b, 0x01, 0x0b, 0x02, 0x0b, 0x02, 0x07, 0x40, 0x00, 0x00, + 0x0c, 0x02, 0x08, 0x01, 0x0d, 0x02, 0x0b, 0x02, 0x07, 0x72, 0x00, 0x00, 0x08, 0x02, 0x0d, 0x02, + 0x09, 0x01, 0x0b, 0x02, 0x07, 0x65, 0x00, 0x00, 0x0d, 0x02, 0x09, 0x02, 0x0e, 0x01, 0x0b, 0x02, + 0x07, 0x5c, 0x00, 0x00, 0x09, 0x02, 0x0e, 0x01, 0x0a, 0x02, 0x0b, 0x02, 0x07, 0x58, 0x00, 0x00, + 0x0e, 0x02, 0x0a, 0x02, 0x0f, 0x01, 0x0b, 0x02, 0x07, 0x52, 0x00, 0x00, 0x0a, 0x02, 0x0b, 0x02, + 0x05, 0x01, 0x00, 0x02, 0x07, 0x4b, 0x00, 0x00, 0x0f, 0x02, 0x0b, 0x02, 0x05, 0x01, 0x00, 0x02, + 0x07, 0x38, 0x00, 0x00, 0x0b, 0x02, 0x05, 0x01, 0x00, 0x02, 0x00, 0x02, 0x07, 0x40, 0x00, 0x00, + 0x06, 0x02, 0x05, 0x02, 0x00, 0x01, 0x00, 0x02, 0x07, 0x39, 0x00, 0x00, 0x05, 0x02, 0x00, 0x01, + 0x00, 0x02, 0x00, 0x02, 0x07, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x02, 0x06, 0x01, 0x05, 0x02, 0x00, 0x02, 0x07, 0x40, 0x00, 0x00, 0x06, 0x02, 0x05, 0x02, + 0x00, 0x01, 0x00, 0x02, 0x07, 0x39, 0x00, 0x00, 0x05, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, + 0x07, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x01, 0x00, 0x00, 0x90, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x83, + 0xfe, 0x3f, 0xb4, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x41, 0x00, 0x00, + 0x20, 0x42, 0x00, 0x00, 0x80, 0x43, 0x69, 0x65, 0x65, 0x65, 0x38, 0x30, 0x32, 0x31, 0x31, 0x5f, + 0x68, 0x64, 0x72, 0x73, 0x69, 0x7a, 0x65, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x73, + 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x65, 0x38, 0x32, 0x36, 0x63, 0x32, + 0x62, 0x33, 0x63, 0x39, 0x66, 0x64, 0x00, 0x00, 0x00, 0x00, 0x62, 0x6f, 0x6f, 0x74, 0x20, 0x6f, + 0x6b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x65, 0x74, 0x73, 0x20, 0x25, 0x73, 0x20, 0x25, 0x73, 0x0a, + 0x00, 0x00, 0x4e, 0x6f, 0x76, 0x20, 0x32, 0x31, 0x20, 0x32, 0x30, 0x31, 0x34, 0x00, 0x31, 0x37, + 0x3a, 0x34, 0x33, 0x3a, 0x31, 0x33, 0x00, 0x00, 0x00, 0x00, 0x63, 0x68, 0x69, 0x70, 0x20, 0x6f, + 0x6e, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x6f, 0x62, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x25, 0x73, + 0x20, 0x25, 0x75, 0x0a, 0x00, 0x00, 0x61, 0x70, 0x70, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x63, + 0x00, 0x00, 0x64, 0x65, 0x6c, 0x20, 0x69, 0x66, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x73, 0x65, + 0x74, 0x20, 0x70, 0x74, 0x6b, 0x20, 0x25, 0x64, 0x21, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x73, 0x65, + 0x74, 0x20, 0x77, 0x65, 0x70, 0x20, 0x6b, 0x65, 0x79, 0x25, 0x64, 0x21, 0x0a, 0x00, 0x73, 0x65, + 0x74, 0x20, 0x67, 0x74, 0x6b, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x72, 0x6d, 0x20, 0x67, 0x74, 0x6b, + 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x72, 0x6d, 0x20, 0x70, 0x74, 0x6b, 0x25, 0x64, 0x0a, 0x00, + 0x00, 0x00, 0x73, 0x75, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x73, 0x25, 0x64, 0x0a, 0x00, 0x00, + 0x00, 0x00, 0x62, 0x63, 0x6e, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x63, 0x6e, 0x74, 0x20, 0x0a, 0x00, + 0x00, 0x00, 0x61, 0x69, 0x64, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x75, 0x6e, 0x63, 0x6e, 0x74, 0x20, + 0x0a, 0x00, 0x69, 0x66, 0x25, 0x64, 0x20, 0x61, 0x64, 0x64, 0x20, 0x73, 0x74, 0x61, 0x25, 0x64, + 0x2c, 0x25, 0x64, 0x3a, 0x25, 0x30, 0x32, 0x78, 0x3a, 0x25, 0x30, 0x32, 0x78, 0x3a, 0x25, 0x30, + 0x32, 0x78, 0x3a, 0x25, 0x30, 0x32, 0x78, 0x3a, 0x25, 0x30, 0x32, 0x78, 0x3a, 0x25, 0x30, 0x32, + 0x78, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x69, 0x66, 0x25, 0x64, 0x20, 0x72, 0x6d, 0x20, 0x73, 0x74, + 0x61, 0x3a, 0x25, 0x30, 0x32, 0x78, 0x3a, 0x25, 0x30, 0x32, 0x78, 0x3a, 0x25, 0x30, 0x32, 0x78, + 0x3a, 0x25, 0x30, 0x32, 0x78, 0x3a, 0x25, 0x30, 0x32, 0x78, 0x3a, 0x25, 0x30, 0x32, 0x78, 0x0a, + 0x00, 0x00, 0x63, 0x68, 0x67, 0x20, 0x69, 0x66, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x61, 0x64, + 0x64, 0x20, 0x69, 0x66, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x61, 0x62, 0x73, 0x5f, 0x63, 0x20, + 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x20, 0x25, 0x64, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x30, 0x78, 0x25, 0x78, + 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x30, 0x78, 0x25, 0x78, 0x0a, 0x00, 0x00, 0x00, 0x74, 0x78, + 0x64, 0x63, 0x3a, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x3b, 0x20, 0x72, 0x78, 0x64, 0x63, 0x3a, 0x25, + 0x64, 0x2c, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x54, 0x50, + 0x31, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x54, 0x50, 0x32, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x54, 0x58, + 0x50, 0x57, 0x31, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, + 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x54, 0x58, + 0x5f, 0x50, 0x57, 0x43, 0x54, 0x52, 0x4c, 0x2c, 0x20, 0x74, 0x6f, 0x74, 0x5f, 0x70, 0x3d, 0x25, + 0x64, 0x2c, 0x20, 0x64, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x63, + 0x6f, 0x61, 0x74, 0x74, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x74, 0x3d, 0x25, 0x64, 0x2c, + 0x20, 0x72, 0x66, 0x5f, 0x67, 0x3d, 0x25, 0x78, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x3d, + 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, + 0x25, 0x64, 0x2c, 0x20, 0x68, 0x70, 0x63, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x0a, 0x00, + 0x00, 0x00, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x6c, 0x20, 0x6e, + 0x75, 0x6d, 0x3a, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x54, 0x53, 0x2f, 0x6e, 0x00, 0x00, + 0x00, 0x00, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x20, 0x70, 0x6c, 0x6c, 0x5f, 0x63, 0x61, 0x6c, + 0x20, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x73, 0x20, 0x32, 0x6d, 0x73, 0x21, 0x21, 0x21, 0x0a, + 0x00, 0x00, 0x25, 0x64, 0x2c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x6d, 0x61, 0x63, 0x2e, 0x63, + 0x00, 0x00, 0x74, 0x78, 0x20, 0x72, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x30, + 0x78, 0x25, 0x78, 0x0a, 0x00, 0x00, 0x74, 0x78, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x30, + 0x78, 0x25, 0x78, 0x0a, 0x00, 0x00, 0x70, 0x6d, 0x2e, 0x63, 0x00, 0x00, 0x00, 0x00, 0x71, 0x75, + 0x69, 0x74, 0x53, 0x6c, 0x70, 0x50, 0x6f, 0x72, 0x63, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x73, 0x73, + 0x2c, 0x25, 0x64, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x77, 0x68, 0x79, 0x20, 0x25, 0x75, + 0x20, 0x25, 0x75, 0x20, 0x25, 0x75, 0x20, 0x25, 0x75, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x77, 0x68, + 0x61, 0x74, 0x20, 0x25, 0x75, 0x20, 0x25, 0x75, 0x20, 0x25, 0x75, 0x20, 0x25, 0x75, 0x0a, 0x00, + 0x00, 0x00, 0x70, 0x6d, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, + 0x20, 0x25, 0x75, 0x2f, 0x25, 0x75, 0x0a, 0x00, 0x00, 0x00, 0x70, 0x6d, 0x20, 0x6f, 0x70, 0x65, + 0x6e, 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x77, 0x68, 0x79, 0x20, 0x63, 0x68, + 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x58, 0x25, 0x64, 0x20, 0x25, 0x64, + 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x6f, 0x66, 0x66, 0x53, 0x54, 0x25, 0x64, 0x00, 0x6f, 0x6e, + 0x53, 0x54, 0x25, 0x64, 0x0a, 0x00, 0x6e, 0x4f, 0x4e, 0x2c, 0x20, 0x63, 0x68, 0x20, 0x25, 0x64, + 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x0a, 0x00, 0x00, 0x6e, 0x4f, 0x46, 0x46, 0x2c, 0x20, + 0x63, 0x68, 0x20, 0x25, 0x64, 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x0a, 0x00, 0x77, 0x0a, + 0x00, 0x00, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x6f, 0x75, 0x74, 0x2c, 0x20, 0x63, 0x68, + 0x20, 0x25, 0x64, 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x0a, 0x00, 0x00, 0x00, 0x20, 0x30, + 0x78, 0x25, 0x30, 0x38, 0x78, 0x20, 0x00, 0x00, 0x00, 0x00, 0x74, 0x78, 0x20, 0x6e, 0x6f, 0x20, + 0x62, 0x75, 0x66, 0x0a, 0x00, 0x00, 0x73, 0x75, 0x6c, 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, 0x0a, + 0x00, 0x00, 0x25, 0x73, 0x3a, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x00, 0x00, 0x00, 0x70, 0x70, 0x2e, 0x63, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x73, + 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x62, 0x6f, 0x0a, 0x00, 0x6d, 0x61, 0x70, 0x20, 0x66, 0x61, + 0x69, 0x6c, 0x0a, 0x00, 0x00, 0x00, 0x72, 0x62, 0x6b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x74, 0x72, + 0x63, 0x2e, 0x63, 0x00, 0x00, 0x00, 0x61, 0x6d, 0x20, 0x6f, 0x6e, 0x20, 0x25, 0x64, 0x0a, 0x00, + 0x00, 0x00, 0x66, 0x31, 0x73, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x61, 0x6d, 0x20, 0x6f, 0x66, 0x66, + 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x66, 0x32, 0x73, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x4e, 0x61, + 0x6d, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x74, 0x20, 0x25, 0x64, 0x20, 0x73, 0x20, 0x25, 0x64, 0x0a, + 0x00, 0x00, 0x47, 0x6f, 0x61, 0x6d, 0x0a, 0x00, 0x00, 0x00, 0x61, 0x64, 0x64, 0x20, 0x6d, 0x69, + 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x00, 0x00, 0x00, 0x61, 0x64, 0x64, 0x20, 0x25, 0x64, + 0x0a, 0x00, 0x72, 0x6d, 0x20, 0x6d, 0x69, 0x73, 0x0a, 0x00, 0x77, 0x64, 0x65, 0x76, 0x2e, 0x63, + 0x00, 0x00, 0x98, 0x88, 0xfe, 0x3f, 0x48, 0xb3, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, + + }; + + // const static int eagle_fw2_size = 66944; diff --git a/drivers/net/wireless/esp8089/eagle_fw3.h b/drivers/net/wireless/esp8089/eagle_fw3.h new file mode 100644 index 000000000000..d05598ddf86a --- /dev/null +++ b/drivers/net/wireless/esp8089/eagle_fw3.h @@ -0,0 +1,3791 @@ +/* + * Copyright (c) Espressif System + + * Apr 13 2013 16:44:24 + */ + + +static u8 eagle_fw3[] = +{ + 0xe9, 0x03, 0x00, 0x00, 0x34, 0x0a, 0x10, 0x40, 0x00, 0x00, 0x10, 0x40, 0xf8, 0xd9, 0x00, 0x00, + 0x00, 0x05, 0xff, 0x3f, 0xd4, 0x05, 0xff, 0x3f, 0xe0, 0x05, 0xff, 0x3f, 0xec, 0x05, 0xff, 0x3f, + 0xcc, 0x24, 0x00, 0x40, 0xf8, 0x05, 0xff, 0x3f, 0x08, 0x06, 0xff, 0x3f, 0x00, 0x0a, 0x00, 0x60, + 0x00, 0x06, 0x00, 0x60, 0x08, 0x12, 0xff, 0x3f, 0x00, 0xde, 0xff, 0x3f, 0x00, 0xe1, 0xff, 0x3f, + 0x00, 0x02, 0x00, 0x60, 0xd0, 0x4c, 0x00, 0x40, 0xc0, 0x5d, 0x00, 0x40, 0xb8, 0x5d, 0x00, 0x40, + 0xc4, 0x56, 0x00, 0x40, 0x10, 0x94, 0xff, 0x3f, 0x08, 0x12, 0xff, 0x3f, 0x14, 0x06, 0xff, 0x3f, + 0x00, 0x00, 0x08, 0x00, 0x7c, 0x0c, 0x10, 0x40, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x34, 0x06, 0xff, 0x3f, 0x00, 0x84, 0x2e, 0x00, 0x00, 0x84, 0x2a, 0x00, 0xa8, 0x58, 0x00, 0x40, + 0x88, 0x0f, 0x00, 0x40, 0xa8, 0x0f, 0x00, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, + 0x20, 0x12, 0xff, 0x3f, 0x3c, 0x06, 0xff, 0x3f, 0xff, 0xff, 0xfe, 0xff, 0x4c, 0x06, 0xff, 0x3f, + 0x54, 0x06, 0xff, 0x3f, 0x00, 0x0e, 0x00, 0x60, 0xcc, 0x2e, 0x00, 0x40, 0x60, 0x06, 0xff, 0x3f, + 0x74, 0x0f, 0x00, 0x40, 0x80, 0x0f, 0x00, 0x40, 0x00, 0x00, 0xff, 0x00, 0x90, 0x0e, 0x10, 0x40, + 0x40, 0x12, 0xff, 0x3f, 0xd0, 0x0d, 0x00, 0x40, 0x80, 0x12, 0xff, 0x3f, 0xff, 0xff, 0x03, 0x00, + 0xc0, 0x0c, 0xf2, 0x3f, 0x6c, 0x06, 0xff, 0x3f, 0x00, 0x0a, 0xf2, 0x3f, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0x0f, 0xff, 0xff, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x4c, 0x0c, 0xf2, 0x3f, + 0x48, 0x0c, 0xf2, 0x3f, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x00, 0x00, 0x00, 0xfe, 0xf1, 0x3f, + 0x3c, 0x00, 0xf2, 0x3f, 0x00, 0x00, 0x01, 0x00, 0x4c, 0x9b, 0x00, 0x60, 0x64, 0x9b, 0x00, 0x60, + 0x88, 0x06, 0xff, 0x3f, 0xd0, 0x7b, 0xff, 0x3f, 0x90, 0x12, 0xff, 0x3f, 0xd0, 0x06, 0xff, 0x3f, + 0xf0, 0x47, 0x00, 0x40, 0x44, 0x4b, 0x00, 0x40, 0xdc, 0x06, 0xff, 0x3f, 0xf4, 0x06, 0xff, 0x3f, + 0x1c, 0x4b, 0x00, 0x40, 0x4c, 0x4a, 0x00, 0x40, 0x0c, 0x07, 0xff, 0x3f, 0x78, 0x46, 0x00, 0x40, + 0x28, 0x07, 0xff, 0x3f, 0x1c, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x01, 0x00, 0xd0, 0x76, 0xff, 0x3f, + 0x00, 0x3c, 0x00, 0x00, 0x00, 0x06, 0xf2, 0x3f, 0x00, 0xbe, 0xfe, 0x3f, 0xff, 0xff, 0xef, 0x41, + 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x08, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, + 0x34, 0x07, 0xff, 0x3f, 0x40, 0x7b, 0xff, 0x3f, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, + 0xff, 0xcf, 0xff, 0xff, 0x00, 0x20, 0x00, 0x00, 0x40, 0x07, 0xff, 0x3f, 0x28, 0x00, 0x01, 0x00, + 0x38, 0x0c, 0xff, 0x3f, 0x4c, 0x0c, 0xff, 0x3f, 0x58, 0x0c, 0xff, 0x3f, 0x64, 0x0c, 0xff, 0x3f, + 0x70, 0x0c, 0xff, 0x3f, 0x80, 0x0c, 0xff, 0x3f, 0xf4, 0x0e, 0xff, 0x3f, 0x8c, 0x0c, 0xff, 0x3f, + 0x9c, 0x0c, 0xff, 0x3f, 0xb0, 0x0c, 0xff, 0x3f, 0xbc, 0x0c, 0xff, 0x3f, 0xc8, 0x0c, 0xff, 0x3f, + 0xe0, 0x0c, 0xff, 0x3f, 0xa0, 0x0f, 0x00, 0x00, 0xec, 0x0c, 0xff, 0x3f, 0xfc, 0x0c, 0xff, 0x3f, + 0x1c, 0x0d, 0xff, 0x3f, 0x2c, 0x0d, 0xff, 0x3f, 0x3c, 0x0d, 0xff, 0x3f, 0x0c, 0x0d, 0xff, 0x3f, + 0x58, 0x0d, 0xff, 0x3f, 0x4c, 0x07, 0xff, 0x3f, 0x5c, 0x07, 0xff, 0x3f, 0xf8, 0x0c, 0xff, 0x3f, + 0x68, 0x07, 0xff, 0x3f, 0x23, 0x7e, 0xff, 0x3f, 0xff, 0xff, 0xef, 0xff, 0xe0, 0x7b, 0xff, 0x3f, + 0x78, 0x07, 0xff, 0x3f, 0x84, 0x07, 0xff, 0x3f, 0xb4, 0x7d, 0xff, 0x3f, 0x9c, 0x07, 0xff, 0x3f, + 0xb0, 0x07, 0xff, 0x3f, 0xc0, 0x07, 0xff, 0x3f, 0xd0, 0x07, 0xff, 0x3f, 0xe4, 0x07, 0xff, 0x3f, + 0xf0, 0x07, 0xff, 0x3f, 0x00, 0x08, 0xff, 0x3f, 0x20, 0x08, 0xff, 0x3f, 0x30, 0x08, 0xff, 0x3f, + 0x50, 0x08, 0xff, 0x3f, 0x64, 0x08, 0xff, 0x3f, 0x80, 0x08, 0xff, 0x3f, 0x8c, 0x08, 0xff, 0x3f, + 0xa8, 0x08, 0xff, 0x3f, 0xb4, 0x08, 0xff, 0x3f, 0xcc, 0x08, 0xff, 0x3f, 0xdc, 0x08, 0xff, 0x3f, + 0xe8, 0x08, 0xff, 0x3f, 0xf4, 0x08, 0xff, 0x3f, 0x00, 0x09, 0xff, 0x3f, 0x18, 0x09, 0xff, 0x3f, + 0x28, 0x09, 0xff, 0x3f, 0x3c, 0x09, 0xff, 0x3f, 0x40, 0x09, 0xff, 0x3f, 0x50, 0x09, 0xff, 0x3f, + 0x48, 0x0f, 0xff, 0x3f, 0x54, 0x09, 0xff, 0x3f, 0x58, 0x09, 0xff, 0x3f, 0x64, 0x09, 0xff, 0x3f, + 0x68, 0x09, 0xff, 0x3f, 0x84, 0x09, 0xff, 0x3f, 0x88, 0x09, 0xff, 0x3f, 0x8c, 0x09, 0xff, 0x3f, + 0x98, 0x09, 0xff, 0x3f, 0xc0, 0x09, 0xff, 0x3f, 0xc8, 0x09, 0xff, 0x3f, 0xdc, 0x09, 0xff, 0x3f, + 0xe4, 0x09, 0xff, 0x3f, 0xf8, 0x09, 0xff, 0x3f, 0x00, 0x0a, 0xff, 0x3f, 0x14, 0x0a, 0xff, 0x3f, + 0x20, 0x0a, 0xff, 0x3f, 0x48, 0x0a, 0xff, 0x3f, 0x54, 0x0a, 0xff, 0x3f, 0x7c, 0x0a, 0xff, 0x3f, + 0x88, 0x0a, 0xff, 0x3f, 0x94, 0x0a, 0xff, 0x3f, 0x9c, 0x0a, 0xff, 0x3f, 0xc8, 0x0a, 0xff, 0x3f, + 0xd4, 0x0a, 0xff, 0x3f, 0xe0, 0x0a, 0xff, 0x3f, 0xec, 0x0a, 0xff, 0x3f, 0xf4, 0x0a, 0xff, 0x3f, + 0xfc, 0x0a, 0xff, 0x3f, 0x08, 0x0b, 0xff, 0x3f, 0x0c, 0x0b, 0xff, 0x3f, 0x10, 0x0b, 0xff, 0x3f, + 0x14, 0x0b, 0xff, 0x3f, 0x18, 0x0b, 0xff, 0x3f, 0x28, 0x0b, 0xff, 0x3f, 0x40, 0x0b, 0xff, 0x3f, + 0x50, 0x0b, 0xff, 0x3f, 0x68, 0x0b, 0xff, 0x3f, 0x70, 0x0b, 0xff, 0x3f, 0x80, 0x0b, 0xff, 0x3f, + 0x88, 0x0b, 0xff, 0x3f, 0x90, 0x0b, 0xff, 0x3f, 0xa0, 0x0b, 0xff, 0x3f, 0xb0, 0x0b, 0xff, 0x3f, + 0xb8, 0x0b, 0xff, 0x3f, 0xc4, 0x0b, 0xff, 0x3f, 0xe0, 0x0b, 0xff, 0x3f, 0x34, 0x0a, 0xff, 0x3f, + 0xf0, 0x0b, 0xff, 0x3f, 0xf8, 0x0b, 0xff, 0x3f, 0x04, 0x0c, 0xff, 0x3f, 0x68, 0x0a, 0xff, 0x3f, + 0x14, 0x0c, 0xff, 0x3f, 0x24, 0x0c, 0xff, 0x3f, 0x2c, 0x0c, 0xff, 0x3f, 0xf0, 0x4c, 0x00, 0x40, + 0xa0, 0x86, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x88, 0x13, 0x00, 0x00, 0x70, 0x0d, 0xff, 0x3f, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x9a, 0x00, 0x60, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x80, 0x00, + 0xff, 0xff, 0x7f, 0xff, 0xf8, 0x0c, 0xff, 0x3f, 0xd8, 0x7b, 0xff, 0x3f, 0x68, 0x42, 0x00, 0x00, + 0x78, 0x0d, 0xff, 0x3f, 0x8c, 0x0d, 0xff, 0x3f, 0x02, 0x00, 0xff, 0x3f, 0xa4, 0x0d, 0xff, 0x3f, + 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x7f, 0x00, 0xc0, 0xff, + 0x00, 0xc0, 0x3f, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x60, 0x3a, 0x00, + 0xff, 0xff, 0xdf, 0xff, 0xfd, 0x7f, 0xfd, 0xff, 0x02, 0x80, 0x00, 0x00, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x00, 0x00, 0x00, 0x08, 0xf2, 0x3f, 0x00, 0x00, 0x00, 0x80, 0x24, 0x98, 0x00, 0x60, + 0x20, 0x0c, 0xf2, 0x3f, 0x38, 0x00, 0xf2, 0x3f, 0x40, 0x00, 0xf2, 0x3f, 0xa8, 0x0d, 0xff, 0x3f, + 0xfc, 0x0d, 0xff, 0x3f, 0xff, 0xff, 0x00, 0xe0, 0x00, 0x00, 0x03, 0x00, 0x18, 0x0e, 0xff, 0x3f, + 0xff, 0xff, 0xff, 0x0f, 0x00, 0x02, 0xf2, 0x3f, 0x21, 0x49, 0x38, 0x76, 0x45, 0x45, 0x00, 0x00, + 0x30, 0x40, 0x50, 0x60, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xff, 0xff, 0xff, 0xbf, + 0x00, 0x80, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x7e, 0xfe, 0x3f, 0xff, 0x0f, 0xc0, 0xff, + 0x08, 0x00, 0xfa, 0x00, 0x64, 0x80, 0xfe, 0x3f, 0x00, 0x14, 0x00, 0x00, 0x28, 0xf0, 0xff, 0xff, + 0x00, 0x18, 0x00, 0x00, 0x28, 0xec, 0xff, 0xff, 0x73, 0x73, 0x65, 0x74, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xfe, 0xef, 0x3f, 0x18, 0xfe, 0x34, 0x00, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x30, + 0x18, 0x0c, 0xf2, 0x3f, 0xc0, 0x0d, 0xf2, 0x3f, 0x00, 0x30, 0x01, 0x04, 0x4c, 0x0e, 0xf2, 0x3f, + 0x00, 0x01, 0x02, 0x03, 0x00, 0x40, 0x00, 0x00, 0x40, 0x0c, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, + 0x40, 0x08, 0x00, 0x00, 0x40, 0x0b, 0x00, 0x00, 0xd0, 0x0d, 0xf2, 0x3f, 0x28, 0x0d, 0xf2, 0x3f, + 0xb8, 0x0d, 0xf2, 0x3f, 0xa0, 0x0d, 0xf2, 0x3f, 0x88, 0x0d, 0xf2, 0x3f, 0x70, 0x0d, 0xf2, 0x3f, + 0x58, 0x0d, 0xf2, 0x3f, 0x40, 0x0d, 0xf2, 0x3f, 0x24, 0x33, 0x10, 0x40, 0xb4, 0x33, 0x10, 0x40, + 0xc4, 0x0d, 0xf2, 0x3f, 0xf0, 0x0c, 0xf2, 0x3f, 0x1c, 0x0d, 0xf2, 0x3f, 0x34, 0x0d, 0xf2, 0x3f, + 0x4c, 0x0d, 0xf2, 0x3f, 0x64, 0x0d, 0xf2, 0x3f, 0x7c, 0x0d, 0xf2, 0x3f, 0x94, 0x0d, 0xf2, 0x3f, + 0xac, 0x0d, 0xf2, 0x3f, 0xc8, 0x0c, 0xf2, 0x3f, 0xdc, 0x0c, 0xf2, 0x3f, 0x50, 0x34, 0x10, 0x40, + 0xc8, 0x0d, 0xf2, 0x3f, 0xf4, 0x0c, 0xf2, 0x3f, 0x20, 0x0d, 0xf2, 0x3f, 0x38, 0x0d, 0xf2, 0x3f, + 0x50, 0x0d, 0xf2, 0x3f, 0x68, 0x0d, 0xf2, 0x3f, 0x80, 0x0d, 0xf2, 0x3f, 0x98, 0x0d, 0xf2, 0x3f, + 0xb0, 0x0d, 0xf2, 0x3f, 0xcc, 0x0c, 0xf2, 0x3f, 0xe0, 0x0c, 0xf2, 0x3f, 0xec, 0x34, 0x10, 0x40, + 0xcc, 0x0d, 0xf2, 0x3f, 0xf8, 0x0c, 0xf2, 0x3f, 0x24, 0x0d, 0xf2, 0x3f, 0x3c, 0x0d, 0xf2, 0x3f, + 0x54, 0x0d, 0xf2, 0x3f, 0x6c, 0x0d, 0xf2, 0x3f, 0x84, 0x0d, 0xf2, 0x3f, 0x9c, 0x0d, 0xf2, 0x3f, + 0xb4, 0x0d, 0xf2, 0x3f, 0xd0, 0x0c, 0xf2, 0x3f, 0xe4, 0x0c, 0xf2, 0x3f, 0x18, 0x0d, 0xf2, 0x3f, + 0xa8, 0x0d, 0xf2, 0x3f, 0x90, 0x0d, 0xf2, 0x3f, 0x78, 0x0d, 0xf2, 0x3f, 0x60, 0x0d, 0xf2, 0x3f, + 0x48, 0x0d, 0xf2, 0x3f, 0x30, 0x0d, 0xf2, 0x3f, 0xda, 0x35, 0x10, 0x40, 0x00, 0xb9, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x07, 0x00, 0x80, 0x02, 0x00, 0x04, 0x80, 0xfe, 0x3f, + 0x40, 0x80, 0xfe, 0x3f, 0x08, 0x80, 0xfe, 0x3f, 0x10, 0x80, 0xfe, 0x3f, 0x14, 0x80, 0xfe, 0x3f, + 0x40, 0x82, 0xfe, 0x3f, 0x18, 0x80, 0xfe, 0x3f, 0x20, 0x80, 0xfe, 0x3f, 0x24, 0x80, 0xfe, 0x3f, + 0x40, 0x84, 0xfe, 0x3f, 0x28, 0x80, 0xfe, 0x3f, 0x30, 0x80, 0xfe, 0x3f, 0x34, 0x80, 0xfe, 0x3f, + 0x40, 0x86, 0xfe, 0x3f, 0x38, 0x80, 0xfe, 0x3f, 0x10, 0x05, 0xff, 0x3f, 0xe0, 0xe5, 0xfe, 0x3f, + 0xe4, 0xe5, 0xfe, 0x3f, 0xe8, 0xe5, 0xfe, 0x3f, 0xec, 0xe5, 0xfe, 0x3f, 0x00, 0x02, 0x00, 0x80, + 0xe0, 0x65, 0x00, 0x00, 0x08, 0x00, 0xf2, 0x3f, 0x04, 0x00, 0xf2, 0x3f, 0x00, 0x02, 0x20, 0x80, + 0x10, 0x00, 0xf2, 0x3f, 0xa0, 0xe4, 0xfe, 0x3f, 0xa4, 0xe4, 0xfe, 0x3f, 0xa8, 0xe4, 0xfe, 0x3f, + 0xac, 0xe4, 0xfe, 0x3f, 0x20, 0x00, 0x02, 0x80, 0xa0, 0x64, 0x00, 0x00, 0x0c, 0x00, 0xf2, 0x3f, + 0x40, 0xe4, 0xfe, 0x3f, 0x44, 0xe4, 0xfe, 0x3f, 0x48, 0xe4, 0xfe, 0x3f, 0x4c, 0xe4, 0xfe, 0x3f, + 0x40, 0x64, 0x00, 0x00, 0x00, 0x0e, 0xf2, 0x3f, 0xff, 0xff, 0xf7, 0xff, 0x10, 0x27, 0x00, 0x00, + 0x24, 0x0e, 0xff, 0x3f, 0x2c, 0x0e, 0xff, 0x3f, 0xc0, 0x7b, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x08, + 0x00, 0x00, 0xf0, 0x00, 0xff, 0xff, 0x0f, 0xff, 0x33, 0x0d, 0x00, 0x00, 0x44, 0x0e, 0xff, 0x3f, + 0x00, 0x00, 0x20, 0x42, 0x00, 0x00, 0xc0, 0x41, 0x00, 0x00, 0xd0, 0x41, 0x00, 0x00, 0x80, 0x43, + 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x80, 0x44, 0x00, 0x00, 0x00, 0xc2, 0xed, 0x46, 0x10, 0x40, + 0xb4, 0x09, 0x00, 0x00, 0x4b, 0x47, 0x10, 0x40, 0x04, 0x48, 0x10, 0x40, 0x6c, 0x09, 0x00, 0x00, + 0xa8, 0x09, 0x00, 0x00, 0xa3, 0x09, 0x00, 0x00, 0x9e, 0x09, 0x00, 0x00, 0x99, 0x09, 0x00, 0x00, + 0x94, 0x09, 0x00, 0x00, 0x8f, 0x09, 0x00, 0x00, 0x8a, 0x09, 0x00, 0x00, 0x85, 0x09, 0x00, 0x00, + 0x80, 0x09, 0x00, 0x00, 0x7b, 0x09, 0x00, 0x00, 0x76, 0x09, 0x00, 0x00, 0x71, 0x09, 0x00, 0x00, + 0xbe, 0x49, 0x10, 0x40, 0x08, 0x52, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x64, 0x0e, 0xff, 0x3f, + 0x4c, 0x7d, 0xff, 0x3f, 0x60, 0x7f, 0xff, 0x3f, 0x20, 0x7e, 0xff, 0x3f, 0xfd, 0x7b, 0xff, 0x3f, + 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x1c, + 0xff, 0xff, 0xff, 0xcf, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x1f, 0xfe, 0xff, 0xd0, 0x10, 0xff, 0x3f, + 0x84, 0x0e, 0xff, 0x3f, 0xdc, 0x0e, 0xff, 0x3f, 0xf8, 0x0e, 0xff, 0x3f, 0x04, 0x0f, 0xff, 0x3f, + 0x28, 0x0f, 0xff, 0x3f, 0x00, 0x00, 0xff, 0x3f, 0xff, 0xff, 0xfc, 0xff, 0x00, 0x9e, 0x00, 0x60, + 0x28, 0x7c, 0xff, 0x3f, 0x35, 0x7d, 0xff, 0x3f, 0x6e, 0x7d, 0xff, 0x3f, 0x48, 0x7c, 0xff, 0x3f, + 0x30, 0x7c, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x20, 0x5f, 0x7f, 0xff, 0x3f, 0x97, 0x7d, 0xff, 0x3f, + 0xde, 0x7d, 0xff, 0x3f, 0x2a, 0x7d, 0xff, 0x3f, 0x5c, 0x7f, 0xff, 0x3f, 0x00, 0xf0, 0xff, 0xff, + 0x02, 0x80, 0x02, 0x00, 0x01, 0xf0, 0xff, 0xff, 0x00, 0x96, 0x00, 0x60, 0xff, 0xf1, 0xff, 0xff, + 0x58, 0x7f, 0xff, 0x3f, 0x50, 0x7c, 0xff, 0x3f, 0xa6, 0x7d, 0xff, 0x3f, 0x40, 0x7e, 0xff, 0x3f, + 0xf4, 0x0e, 0xff, 0x3f, 0xc8, 0x05, 0xff, 0x3f, 0x4a, 0x7d, 0xff, 0x3f, 0xff, 0x03, 0xfc, 0xff, + 0x56, 0x7d, 0xff, 0x3f, 0xcc, 0x05, 0xff, 0x3f, 0xc0, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, + 0x99, 0x99, 0x49, 0x40, 0x9a, 0x99, 0x99, 0x99, 0x99, 0x99, 0xe9, 0x40, 0xff, 0xff, 0x0f, 0x00, + 0xff, 0xff, 0x7f, 0x80, 0x81, 0xbc, 0x14, 0x09, 0x98, 0x41, 0xc6, 0x5a, 0xff, 0xff, 0x00, 0xfc, + 0x00, 0x00, 0x90, 0x01, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x18, + 0xff, 0xff, 0xff, 0x80, 0xff, 0x0f, 0xf0, 0xff, 0x00, 0x20, 0x02, 0x00, 0xa6, 0x0f, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0xff, 0x54, 0x58, 0x38, 0x00, 0x00, 0xff, 0x0f, 0xf0, 0xe6, 0x00, 0x20, 0x0b, + 0x3f, 0xf0, 0xff, 0xdf, 0x40, 0x0c, 0x00, 0x20, 0xff, 0xff, 0x80, 0xff, 0x00, 0x00, 0x13, 0x00, + 0x3f, 0xf0, 0xff, 0xff, 0x80, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x24, 0x01, 0xfe, 0x03, + 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0x0b, 0xff, 0x00, 0x00, 0x24, 0x00, + 0xff, 0xff, 0xbf, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x83, 0x00, 0x80, 0x00, 0xff, 0xf7, 0xff, 0xff, + 0x50, 0x7e, 0xff, 0x3f, 0x30, 0x00, 0xff, 0x3f, 0xb7, 0x7d, 0xff, 0x3f, 0x00, 0x0f, 0x00, 0x00, + 0x00, 0xfe, 0xff, 0x5f, 0xff, 0xff, 0x1f, 0xf0, 0x00, 0x00, 0x80, 0x01, 0xff, 0xff, 0xff, 0x1f, + 0xff, 0x3f, 0xe0, 0xff, 0x00, 0x40, 0x1f, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xab, 0x00, + 0xff, 0x00, 0xff, 0xff, 0x6b, 0x7d, 0xff, 0x3f, 0x00, 0x00, 0x0e, 0x01, 0x00, 0x00, 0x0d, 0x01, + 0x00, 0x00, 0xde, 0x03, 0x00, 0x00, 0xed, 0x03, 0xa5, 0x7d, 0xff, 0x3f, 0x80, 0x3f, 0xe0, 0x0f, + 0xff, 0xff, 0xcf, 0xff, 0xa8, 0x7d, 0xff, 0x3f, 0x00, 0x00, 0x40, 0x00, 0x9b, 0x7d, 0xff, 0x3f, + 0x00, 0x78, 0x00, 0x00, 0xe4, 0x7b, 0xff, 0x3f, 0x5c, 0x7c, 0xff, 0x3f, 0x04, 0x2f, 0x00, 0x40, + 0xa9, 0x7d, 0xff, 0x3f, 0x70, 0x00, 0x80, 0x00, 0x67, 0x7d, 0xff, 0x3f, 0x08, 0x6b, 0x00, 0x40, + 0x14, 0x3a, 0x00, 0x40, 0xa4, 0x38, 0x00, 0x40, 0xd8, 0x39, 0x00, 0x40, 0x6a, 0x7d, 0xff, 0x3f, + 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x04, 0x04, 0x04, 0x01, 0x01, 0x04, 0x01, 0x04, 0x04, 0x01, + 0xff, 0xc3, 0xff, 0xff, 0x01, 0x01, 0x01, 0x04, 0x04, 0x04, 0x04, 0x01, 0x98, 0x9b, 0x10, 0x40, + 0xe0, 0x99, 0x10, 0x40, 0x04, 0x94, 0x10, 0x40, 0x10, 0x3f, 0x10, 0x40, 0xe4, 0x41, 0x10, 0x40, + 0x28, 0x61, 0x10, 0x40, 0x74, 0x61, 0x10, 0x40, 0xc8, 0x61, 0x10, 0x40, 0x70, 0x93, 0x10, 0x40, + 0x34, 0x45, 0x10, 0x40, 0x40, 0x4f, 0x10, 0x40, 0x44, 0x4f, 0x10, 0x40, 0x5a, 0x7f, 0xff, 0x3f, + 0x04, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xe6, 0x00, 0x93, 0x7d, 0xff, 0x3f, 0xff, 0x00, 0xf0, 0xff, + 0xff, 0x3f, 0x00, 0xf0, 0x00, 0xc0, 0xff, 0xff, 0xf0, 0x0b, 0x00, 0x00, 0x4d, 0x7c, 0xff, 0x3f, + 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xf0, 0xdc, 0x7b, 0xff, 0x3f, + 0x50, 0x0f, 0xff, 0x3f, 0x5c, 0x0f, 0xff, 0x3f, 0x3b, 0x8d, 0x10, 0x40, 0x7c, 0x0f, 0xff, 0x3f, + 0xf3, 0x0f, 0x00, 0x00, 0x60, 0x7d, 0xff, 0x3f, 0x9c, 0x0f, 0xff, 0x3f, 0x00, 0x10, 0xff, 0x3f, + 0xac, 0x7d, 0xff, 0x3f, 0x0c, 0x10, 0xff, 0x3f, 0xf1, 0x3c, 0x11, 0x01, 0xf3, 0x3c, 0x11, 0x01, + 0xf0, 0x3c, 0x11, 0x01, 0x24, 0x10, 0xff, 0x3f, 0x40, 0x10, 0xff, 0x3f, 0x58, 0x10, 0xff, 0x3f, + 0xa0, 0x10, 0xff, 0x3f, 0xc4, 0x10, 0xff, 0x3f, 0x60, 0x00, 0xff, 0x3f, 0xc0, 0x00, 0xff, 0x3f, + 0x64, 0x7f, 0xff, 0x3f, 0xf0, 0x00, 0xff, 0x3f, 0x50, 0x00, 0x80, 0x00, 0x28, 0xe0, 0x01, 0x00, + 0x3c, 0x20, 0x03, 0x00, 0x64, 0x80, 0x0c, 0x00, 0x11, 0x20, 0x00, 0x00, 0x38, 0x7e, 0xff, 0x3f, + 0x39, 0x7e, 0xff, 0x3f, 0x00, 0x00, 0x00, 0xfe, 0x33, 0x33, 0x00, 0x00, 0xff, 0xff, 0x3f, 0xff, + 0xff, 0xff, 0xff, 0x3f, 0x87, 0x13, 0x00, 0x00, 0xff, 0xff, 0x70, 0xfc, 0x60, 0x36, 0x00, 0x40, + 0x10, 0x11, 0x00, 0x40, 0x50, 0x15, 0x00, 0x40, 0x30, 0x33, 0x00, 0x40, 0x00, 0x00, 0x8f, 0x03, + 0xff, 0x0f, 0x00, 0x80, 0x22, 0x7e, 0xff, 0x3f, 0x70, 0x7f, 0xff, 0x3f, 0x38, 0xaf, 0x10, 0x40, + 0x4c, 0x54, 0x00, 0x40, 0x8c, 0x60, 0x00, 0x40, 0x40, 0x4f, 0x00, 0x40, 0x94, 0x5e, 0x00, 0x40, + 0x80, 0x51, 0x00, 0x40, 0x08, 0x58, 0x00, 0x40, 0xd8, 0x10, 0xff, 0x3f, 0xb4, 0x18, 0x00, 0x40, + 0xe0, 0x10, 0xff, 0x3f, 0xec, 0x10, 0xff, 0x3f, 0xe0, 0x83, 0xff, 0x3f, 0xc0, 0x83, 0xff, 0x3f, + 0xf8, 0x10, 0xff, 0x3f, 0x08, 0x11, 0xff, 0x3f, 0x0c, 0x11, 0xff, 0x3f, 0x10, 0x11, 0xff, 0x3f, + 0x14, 0x11, 0xff, 0x3f, 0xff, 0x0f, 0x00, 0xff, 0xe8, 0x2a, 0x00, 0x40, 0x18, 0x11, 0xff, 0x3f, + 0x24, 0x11, 0xff, 0x3f, 0x50, 0xb3, 0x10, 0x40, 0x30, 0x11, 0xff, 0x3f, 0xb4, 0x31, 0x00, 0x40, + 0x3c, 0x11, 0xff, 0x3f, 0x58, 0x11, 0xff, 0x3f, 0x80, 0x11, 0xff, 0x3f, 0x4c, 0x11, 0xff, 0x3f, + 0x6c, 0x11, 0xff, 0x3f, 0xf8, 0x04, 0xff, 0x3f, 0x2d, 0xf4, 0x51, 0x58, 0x2d, 0x7f, 0x95, 0x4c, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0xf0, 0x7f, 0xff, 0xff, 0x1f, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x05, 0x05, 0x00, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x31, 0x6f, 0xfd, 0x42, 0xa0, 0x06, 0x12, 0xc1, 0xf0, 0x22, 0x61, 0x02, + 0x09, 0x31, 0x2d, 0x01, 0x45, 0xc8, 0x0c, 0x2d, 0x01, 0xc5, 0x47, 0x0a, 0x21, 0x6a, 0xfd, 0x01, + 0x6c, 0xfd, 0xc0, 0x00, 0x00, 0xc5, 0x56, 0x0a, 0x21, 0x68, 0xfd, 0x01, 0x69, 0xfd, 0xc0, 0x00, + 0x00, 0x85, 0x6d, 0x0a, 0x28, 0x21, 0x05, 0xcd, 0x00, 0x85, 0x77, 0x0a, 0x21, 0x64, 0xfd, 0x01, + 0x64, 0xfd, 0xc0, 0x00, 0x00, 0x08, 0x31, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x21, 0x62, 0xfd, 0x31, + 0x62, 0xfd, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x02, 0x09, 0x11, 0x01, 0x5d, 0xfd, 0xc0, 0x00, 0x00, + 0x45, 0x0e, 0x00, 0x45, 0x38, 0x00, 0x05, 0x3b, 0x00, 0xc1, 0x5c, 0xfd, 0xc0, 0x20, 0x00, 0xc2, + 0x2c, 0x6f, 0xc0, 0xc0, 0xf4, 0x16, 0xbc, 0x08, 0x0c, 0x03, 0x0c, 0x14, 0xc0, 0x50, 0x34, 0x59, + 0x01, 0x00, 0x15, 0x40, 0x00, 0x44, 0xa1, 0x2d, 0x04, 0x0c, 0x05, 0x01, 0x5a, 0xfd, 0xc0, 0x00, + 0x00, 0x81, 0x53, 0xfd, 0xc0, 0x79, 0x41, 0x32, 0xae, 0xcf, 0x8a, 0x77, 0xc0, 0x20, 0x00, 0x22, + 0x27, 0x80, 0x30, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x67, 0x80, 0x0c, 0x40, 0xc0, 0xb4, 0x24, + 0x00, 0xbb, 0x10, 0xc0, 0xa4, 0x14, 0xe0, 0xbb, 0x11, 0xb0, 0xaa, 0x20, 0xc0, 0xaa, 0x11, 0xc0, + 0x20, 0x00, 0x92, 0x27, 0x80, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x67, 0x80, 0x82, 0xaf, + 0x7f, 0xc0, 0x20, 0x00, 0x62, 0x27, 0x80, 0x80, 0x66, 0x10, 0xc0, 0x20, 0x00, 0x62, 0x67, 0x80, + 0x28, 0x01, 0x01, 0x45, 0xfd, 0xc0, 0x00, 0x00, 0xc0, 0x27, 0x14, 0x01, 0x44, 0xfd, 0xc0, 0x00, + 0x00, 0x0c, 0x0b, 0xc0, 0x20, 0x00, 0x0c, 0x19, 0xc1, 0x39, 0xfd, 0xa1, 0x3a, 0xfd, 0xb2, 0x6c, + 0x6d, 0x92, 0x4a, 0x00, 0x01, 0x3f, 0xfd, 0xc0, 0x00, 0x00, 0xc5, 0x2e, 0x0a, 0x45, 0x06, 0x00, + 0x45, 0x36, 0x0a, 0x01, 0x35, 0xfd, 0x21, 0x36, 0xfd, 0x02, 0x20, 0xfe, 0x41, 0x34, 0xfd, 0x66, + 0x20, 0x0d, 0x32, 0x14, 0x7e, 0xc0, 0x20, 0x00, 0x32, 0x62, 0x42, 0x46, 0x03, 0x00, 0x00, 0x00, + 0x66, 0x30, 0x08, 0x52, 0x14, 0x7e, 0xc0, 0x20, 0x00, 0x52, 0x62, 0x41, 0xc8, 0x21, 0x08, 0x11, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x41, 0x2f, 0xfd, 0x12, 0xc1, 0xf0, 0x31, 0x2e, + 0xfd, 0x09, 0x01, 0x47, 0xb3, 0x0b, 0x0c, 0x06, 0x0d, 0x03, 0x62, 0x40, 0x00, 0x1b, 0x00, 0x47, + 0x90, 0xf7, 0x21, 0x2a, 0xfd, 0x01, 0x1a, 0xfd, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0x01, 0x2c, 0xfd, 0xc0, 0x00, + 0x00, 0x41, 0x18, 0xfd, 0x38, 0xc2, 0x39, 0x14, 0xc1, 0x15, 0xfd, 0x21, 0x21, 0xfd, 0xc0, 0x20, + 0x00, 0x02, 0x2c, 0x57, 0x20, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x0c, 0x12, 0x31, 0x1e, 0xfd, 0x0c, + 0x04, 0x02, 0x6c, 0x57, 0x01, 0x23, 0xfd, 0xc0, 0x00, 0x00, 0x51, 0x0e, 0xfd, 0x41, 0x0f, 0xfd, + 0x52, 0x05, 0x00, 0x01, 0x0d, 0xfd, 0x16, 0x25, 0x06, 0x02, 0x20, 0xfe, 0x31, 0x0d, 0xfd, 0x66, + 0x20, 0x0b, 0x22, 0x14, 0x7e, 0xc0, 0x20, 0x00, 0x22, 0x63, 0x42, 0xc6, 0x02, 0x00, 0x66, 0x30, + 0x08, 0x52, 0x14, 0x7e, 0xc0, 0x20, 0x00, 0x52, 0x63, 0x41, 0x71, 0x0f, 0xfd, 0xc0, 0x20, 0x00, + 0xa2, 0x2c, 0x6c, 0x70, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x6c, 0x6c, 0x91, 0x0c, 0xfd, 0xc0, + 0x20, 0x00, 0x82, 0x2c, 0x44, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x6c, 0x44, 0xc0, 0x20, + 0x00, 0x62, 0x2c, 0x6d, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x6c, 0x6d, 0x21, 0x04, 0xfd, + 0x01, 0xf0, 0xfc, 0xc0, 0x00, 0x00, 0x01, 0x03, 0xfd, 0x86, 0x00, 0x00, 0x01, 0x03, 0xfd, 0xc0, + 0x20, 0x00, 0x02, 0x6c, 0x43, 0xc0, 0x20, 0x00, 0xb2, 0x2c, 0x43, 0x0c, 0x22, 0x01, 0x01, 0xfd, + 0xc0, 0x00, 0x00, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xe0, 0xc9, + 0x11, 0x09, 0x01, 0xe9, 0x31, 0xf9, 0x41, 0xd9, 0x21, 0xf1, 0xf4, 0xfc, 0xd1, 0xe4, 0xfc, 0xe1, + 0xf2, 0xfc, 0xc0, 0x20, 0x00, 0xc2, 0x2d, 0x42, 0x16, 0x1c, 0x11, 0x27, 0x7c, 0x4a, 0x01, 0xe2, + 0xfc, 0x02, 0x20, 0xfe, 0x66, 0x20, 0x11, 0x21, 0xe1, 0xfc, 0x22, 0x12, 0x7e, 0xc0, 0x20, 0x00, + 0x31, 0xe0, 0xfc, 0x22, 0x63, 0x42, 0x46, 0x04, 0x00, 0x66, 0x30, 0x0e, 0x31, 0xdc, 0xfc, 0x32, + 0x13, 0x7e, 0xc0, 0x20, 0x00, 0x41, 0xda, 0xfc, 0x32, 0x64, 0x41, 0xc0, 0x20, 0x00, 0x52, 0x2d, + 0x6c, 0xe0, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x6d, 0x6c, 0xc0, 0x20, 0x00, 0x42, 0x2d, 0x44, + 0xf0, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x6d, 0x44, 0x17, 0x7c, 0x1a, 0xc0, 0x20, 0x00, 0x31, + 0xe2, 0xfc, 0x32, 0x6d, 0x44, 0xc0, 0x20, 0x00, 0x21, 0xcb, 0xfc, 0x28, 0x12, 0x32, 0x2d, 0x44, + 0x08, 0x52, 0x28, 0x82, 0xc0, 0x00, 0x00, 0xf7, 0xec, 0x02, 0x27, 0x6c, 0x33, 0xc0, 0x20, 0x00, + 0x81, 0xdb, 0xfc, 0x82, 0x6d, 0x44, 0xc0, 0x20, 0x00, 0x72, 0x2d, 0x44, 0xc0, 0x20, 0x00, 0x21, + 0xd9, 0xfc, 0x51, 0xd7, 0xfc, 0x0c, 0x14, 0x0c, 0x46, 0x62, 0x6d, 0x44, 0x42, 0x45, 0x18, 0x01, + 0xb8, 0xfc, 0xc0, 0x00, 0x00, 0x21, 0xbb, 0xfc, 0x28, 0x12, 0x08, 0x62, 0x28, 0x82, 0xc0, 0x00, + 0x00, 0x07, 0x7c, 0x20, 0xc0, 0x20, 0x00, 0x41, 0xd0, 0xfc, 0x52, 0x2d, 0x43, 0x40, 0x55, 0x10, + 0xc0, 0x20, 0x00, 0x52, 0x6d, 0x43, 0xc0, 0x20, 0x00, 0x32, 0x2d, 0x44, 0x40, 0x33, 0x10, 0xc0, + 0x20, 0x00, 0x32, 0x6d, 0x44, 0x37, 0xfc, 0x0e, 0x57, 0xfc, 0x1d, 0xa7, 0xec, 0x2c, 0xc0, 0x20, + 0x00, 0x62, 0x2d, 0x44, 0x86, 0xc6, 0xff, 0x21, 0xc5, 0xfc, 0x31, 0xc5, 0xfc, 0x42, 0xa0, 0xfa, + 0x01, 0xa4, 0xfc, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x21, 0xc0, 0xfc, 0x31, 0xc1, 0xfc, 0x42, + 0xa1, 0x01, 0x01, 0x9f, 0xfc, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0x21, 0xbc, 0xfc, 0x31, 0xbc, + 0xfc, 0x42, 0xa1, 0x08, 0x01, 0x9b, 0xfc, 0xc0, 0x00, 0x00, 0x06, 0xff, 0xff, 0xc8, 0x11, 0xd8, + 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x66, 0x92, 0x0c, 0x0c, 0xd2, 0x85, 0x01, 0x00, 0x0c, 0xa2, 0x45, 0x01, 0x00, 0xc6, 0x01, + 0x00, 0x0c, 0xd0, 0x07, 0x12, 0x02, 0x85, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x12, 0xc1, 0xf0, 0xd9, 0x21, 0x09, 0x01, 0xc9, 0x11, 0xc1, 0xaa, 0xfc, 0xc0, 0x20, 0x00, 0x02, + 0x2c, 0x47, 0x29, 0x31, 0x77, 0x70, 0x1b, 0xd1, 0x8b, 0xfc, 0x0c, 0x12, 0x01, 0xa7, 0xfc, 0xc0, + 0x00, 0x00, 0x38, 0x2d, 0x1b, 0x33, 0x39, 0x2d, 0xc0, 0x20, 0x00, 0x22, 0x2c, 0x47, 0x77, 0xf2, + 0xe8, 0x28, 0x31, 0xc0, 0x20, 0x00, 0x08, 0x01, 0x22, 0x6c, 0x40, 0xd8, 0x21, 0xc8, 0x11, 0x0c, + 0x02, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x21, 0x9d, 0xfc, 0x31, 0x7e, 0xfc, 0x12, 0xc1, + 0xf0, 0x09, 0x01, 0x38, 0x23, 0x01, 0x76, 0xfc, 0xc0, 0x00, 0x00, 0x01, 0x99, 0xfc, 0xc0, 0x00, + 0x00, 0x51, 0x78, 0xfc, 0x0c, 0x04, 0x49, 0x25, 0x01, 0x97, 0xfc, 0xc0, 0x00, 0x00, 0x08, 0x01, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x51, 0x94, 0xfc, 0x41, 0x8e, 0xfc, 0xc0, 0x20, + 0x00, 0x22, 0x24, 0x47, 0x27, 0x05, 0x08, 0xc0, 0x20, 0x00, 0x32, 0x24, 0x47, 0x57, 0x83, 0xf6, + 0x0d, 0xf0, 0x00, 0x00, 0x21, 0x8e, 0xfc, 0x1c, 0xc3, 0x41, 0x8d, 0xfc, 0x0c, 0x85, 0x12, 0xc1, + 0xf0, 0x09, 0x01, 0x01, 0x8c, 0xfc, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x51, 0x8a, 0xfc, 0x48, 0x02, 0x50, 0x44, 0xa0, 0x38, 0x04, 0x0b, 0x33, 0x39, 0x04, 0x0d, 0xf0, + 0x9d, 0x07, 0xbd, 0x05, 0xad, 0x06, 0x12, 0xc1, 0xd0, 0x09, 0x81, 0xdc, 0x13, 0xcc, 0xf4, 0x30, + 0x50, 0xf4, 0x30, 0x70, 0xf5, 0x40, 0x60, 0xf4, 0x0c, 0x00, 0x20, 0x40, 0xf4, 0x06, 0x05, 0x00, + 0x30, 0x70, 0xf5, 0x30, 0x50, 0xf4, 0x40, 0x60, 0xf4, 0x20, 0x40, 0xf4, 0x50, 0x04, 0xc0, 0x60, + 0x00, 0xc0, 0x70, 0x00, 0xc0, 0x20, 0x20, 0xf5, 0x81, 0x79, 0xfc, 0x90, 0x38, 0x41, 0x02, 0x61, + 0x00, 0xa2, 0x61, 0x01, 0x90, 0x00, 0x74, 0x90, 0xac, 0x05, 0xa2, 0x61, 0x04, 0x09, 0x21, 0x80, + 0x33, 0x10, 0x39, 0x31, 0x3d, 0x0b, 0x45, 0x7b, 0x02, 0x08, 0x81, 0x12, 0xc1, 0x30, 0x0d, 0xf0, + 0x12, 0xc1, 0xe0, 0xd2, 0x61, 0x02, 0x39, 0x51, 0xc9, 0x11, 0xf9, 0x41, 0xe9, 0x31, 0x09, 0x01, + 0xed, 0x04, 0x0c, 0x00, 0xfd, 0x03, 0x20, 0xc0, 0xf5, 0x31, 0x59, 0xfc, 0x20, 0xd0, 0xf4, 0xd9, + 0x13, 0xc9, 0x23, 0x02, 0x43, 0x18, 0x85, 0xec, 0x02, 0x21, 0x65, 0xfc, 0x0c, 0x03, 0x45, 0x24, + 0x02, 0x8c, 0xef, 0x5d, 0x0e, 0x4d, 0x0f, 0x3d, 0x0d, 0x2d, 0x0c, 0x0c, 0x06, 0x85, 0x90, 0x01, + 0x46, 0x0f, 0x00, 0xc0, 0x2c, 0x20, 0xd0, 0x3d, 0x20, 0x42, 0xa0, 0x01, 0x5d, 0x0e, 0x0c, 0x06, + 0x45, 0x8f, 0x01, 0xf1, 0x4b, 0xfc, 0xe0, 0x5e, 0x20, 0x3d, 0x0d, 0x2d, 0x0c, 0x0c, 0x14, 0x0c, + 0x06, 0x45, 0x8e, 0x01, 0x42, 0x0f, 0x18, 0x66, 0x14, 0xeb, 0x0c, 0x04, 0x42, 0x4f, 0x18, 0x21, + 0x55, 0xfc, 0x31, 0x55, 0xfc, 0xc0, 0x20, 0x00, 0x32, 0x23, 0xa1, 0x30, 0x30, 0x74, 0xc5, 0x28, + 0x0a, 0x45, 0xe5, 0x02, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, + 0x20, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xa0, 0xd2, 0x61, 0x09, 0xe2, 0x61, 0x0a, 0xf9, 0xb1, 0x32, + 0x61, 0x14, 0xc9, 0x81, 0x09, 0x71, 0xcd, 0x02, 0x20, 0x20, 0xf5, 0x22, 0x61, 0x13, 0x05, 0x49, + 0x02, 0xdd, 0x02, 0x22, 0x21, 0x13, 0x45, 0x52, 0x02, 0xc0, 0x00, 0x34, 0x51, 0x44, 0xfc, 0x41, + 0x44, 0xfc, 0xc0, 0x30, 0xf4, 0xf6, 0xb3, 0x22, 0x40, 0x80, 0x11, 0xc0, 0x20, 0x00, 0x78, 0x0d, + 0x40, 0x77, 0x10, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x79, 0x0d, 0xc0, 0x20, 0x00, 0x68, 0x0d, + 0x50, 0x66, 0x10, 0xc0, 0x20, 0x00, 0x69, 0x0d, 0x86, 0x0e, 0x00, 0xc1, 0x3a, 0xfc, 0xc0, 0x20, + 0x00, 0xb2, 0x2d, 0x00, 0x40, 0xbb, 0x10, 0xc0, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x6d, 0x00, + 0xb1, 0x36, 0xfc, 0xc0, 0x20, 0x00, 0xa2, 0x2d, 0x00, 0x50, 0xaa, 0x10, 0xb0, 0xaa, 0x20, 0xc0, + 0x20, 0x00, 0xa9, 0x0d, 0x7c, 0x09, 0xc0, 0x20, 0x00, 0x88, 0x02, 0x90, 0x88, 0x10, 0x00, 0x88, + 0x20, 0xc0, 0x20, 0x00, 0x89, 0x02, 0x21, 0x2d, 0xfc, 0xc5, 0xe0, 0x02, 0x29, 0x61, 0x21, 0x2c, + 0xfc, 0x45, 0xe0, 0x02, 0x29, 0x51, 0x31, 0x2b, 0xfc, 0x21, 0x29, 0xfc, 0x05, 0xe0, 0x02, 0x21, + 0x27, 0xfc, 0x31, 0x29, 0xfc, 0x85, 0xdf, 0x02, 0xc2, 0x21, 0x14, 0x16, 0x7c, 0x17, 0x0c, 0x0d, + 0x0c, 0x0c, 0x0c, 0x08, 0x0c, 0x09, 0x0c, 0x0a, 0x0c, 0x0b, 0x0c, 0x0e, 0x0c, 0x0f, 0x0c, 0x00, + 0x0c, 0x02, 0x22, 0x61, 0x16, 0x02, 0x61, 0x15, 0xf2, 0x61, 0x17, 0xe2, 0x61, 0x12, 0xb9, 0xd1, + 0xa9, 0xe1, 0x92, 0x61, 0x11, 0x89, 0xf1, 0xc9, 0xc1, 0xd9, 0x41, 0xc1, 0x13, 0xfc, 0xd1, 0x1b, + 0xfc, 0x22, 0x21, 0x13, 0x85, 0x75, 0x01, 0x02, 0xa3, 0xe8, 0x4c, 0x1b, 0xc0, 0x20, 0x00, 0xf2, + 0x2c, 0x80, 0xc0, 0x20, 0x00, 0x62, 0x2c, 0x89, 0x0c, 0xca, 0xa0, 0x66, 0x20, 0xc0, 0x20, 0x00, + 0x0c, 0x13, 0x62, 0x6c, 0x89, 0x41, 0xf6, 0xfb, 0x0c, 0x05, 0x52, 0x44, 0x18, 0x32, 0x44, 0x19, + 0xc0, 0x20, 0x00, 0x92, 0x2c, 0x88, 0xc0, 0x20, 0x00, 0xe2, 0x2d, 0x8e, 0x27, 0xe9, 0x02, 0x86, + 0x27, 0x00, 0xe0, 0x70, 0x74, 0x56, 0x37, 0x07, 0xc0, 0x20, 0x00, 0x72, 0x2d, 0x8f, 0x21, 0x08, + 0xfc, 0x70, 0x76, 0x15, 0x72, 0x61, 0x10, 0x05, 0xd6, 0x02, 0x02, 0xa3, 0xe8, 0xa2, 0xa0, 0x0c, + 0xb2, 0xa0, 0x41, 0x92, 0xa0, 0x00, 0x42, 0x21, 0x10, 0x0c, 0x08, 0x52, 0x21, 0x11, 0x20, 0x68, + 0x75, 0x7d, 0x06, 0x0c, 0x12, 0x1b, 0x55, 0x52, 0x61, 0x11, 0x51, 0xfe, 0xfb, 0x40, 0x82, 0x83, + 0x50, 0x3e, 0x10, 0x30, 0x92, 0x83, 0x97, 0x08, 0x05, 0x81, 0xd4, 0xfb, 0x87, 0x0e, 0x3f, 0x88, + 0xd1, 0x38, 0xc1, 0x48, 0xe1, 0xe8, 0x41, 0xf2, 0x21, 0x12, 0x28, 0xf1, 0x7b, 0x9f, 0x1b, 0x22, + 0x29, 0xf1, 0x4a, 0x4e, 0x3a, 0x3f, 0xf0, 0x9f, 0xb3, 0x90, 0x93, 0x21, 0x39, 0xc1, 0x49, 0xe1, + 0xe0, 0xe0, 0x04, 0xa6, 0xe6, 0x73, 0x72, 0xd6, 0xff, 0x46, 0x1b, 0x00, 0x92, 0x21, 0x17, 0x1b, + 0x99, 0x92, 0x61, 0x17, 0xb7, 0x97, 0x07, 0xe2, 0x21, 0x15, 0x1b, 0xee, 0xe2, 0x61, 0x15, 0xc0, + 0x20, 0x00, 0x22, 0x2c, 0x89, 0xa0, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x6c, 0x89, 0x86, 0x0d, + 0x00, 0x37, 0x69, 0x33, 0x21, 0xe5, 0xfb, 0x05, 0xcd, 0x02, 0x20, 0xe2, 0x65, 0x21, 0xe3, 0xfb, + 0x45, 0xcc, 0x02, 0x20, 0x54, 0xb5, 0x52, 0xd5, 0xf0, 0x52, 0x61, 0x12, 0x02, 0xa3, 0xe8, 0xa2, + 0xa0, 0x0c, 0xb2, 0xa0, 0x41, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0x89, 0x0c, 0x84, 0x40, 0x33, 0x20, + 0xc0, 0x20, 0x00, 0x32, 0x6c, 0x89, 0xe9, 0x41, 0xc0, 0x20, 0x00, 0x62, 0x2c, 0x80, 0xf0, 0x66, + 0xc0, 0x67, 0x30, 0x02, 0x06, 0xc2, 0xff, 0xc6, 0x01, 0x00, 0x9a, 0x97, 0xea, 0x99, 0x8a, 0x89, + 0x89, 0xd1, 0x62, 0x21, 0x16, 0x52, 0x21, 0x14, 0x1b, 0x66, 0x62, 0x61, 0x16, 0x60, 0x55, 0xc0, + 0x56, 0xd5, 0xeb, 0xc6, 0x07, 0x00, 0x72, 0xa0, 0x00, 0x0c, 0x08, 0x0c, 0x09, 0x0c, 0x0a, 0x0c, + 0x0b, 0x0c, 0x0c, 0x0c, 0x0d, 0xd2, 0x61, 0x15, 0xc2, 0x61, 0x17, 0xb9, 0xc1, 0xa9, 0xd1, 0x99, + 0xe1, 0x82, 0x61, 0x11, 0x79, 0xf1, 0xe8, 0xf1, 0xbc, 0x6e, 0x28, 0xe1, 0x3d, 0x0e, 0x20, 0x22, + 0xa0, 0xf0, 0x22, 0x11, 0x85, 0x5e, 0x0c, 0x38, 0xd1, 0x29, 0xe1, 0x30, 0x33, 0xa0, 0xf0, 0x23, + 0x11, 0x38, 0xf1, 0xc5, 0x5d, 0x0c, 0x38, 0xf1, 0x58, 0xc1, 0x29, 0xd1, 0x50, 0x55, 0xa0, 0xf0, + 0x55, 0x11, 0x7b, 0x45, 0x50, 0x45, 0xb3, 0x40, 0x23, 0x21, 0x45, 0x5c, 0x0c, 0x29, 0xc1, 0x46, + 0x03, 0x00, 0x62, 0xa0, 0x00, 0x72, 0xa0, 0x00, 0x0c, 0x08, 0x89, 0xc1, 0x79, 0xd1, 0x69, 0xe1, + 0xc8, 0x51, 0x48, 0xd1, 0x58, 0xe1, 0x68, 0xc1, 0x72, 0x21, 0x17, 0x21, 0xb1, 0xfb, 0x38, 0xf1, + 0x92, 0x21, 0x11, 0xa2, 0x21, 0x15, 0xa9, 0x01, 0x99, 0x11, 0x01, 0x71, 0xfb, 0xc0, 0x00, 0x00, + 0x3d, 0x0c, 0xd8, 0x61, 0x21, 0xa3, 0xfb, 0x85, 0xbe, 0x02, 0x3d, 0x0d, 0x21, 0xa0, 0xfb, 0x05, + 0xbe, 0x02, 0x28, 0xf1, 0xc8, 0x81, 0xd8, 0x91, 0xe8, 0xa1, 0xf8, 0xb1, 0x08, 0x71, 0x12, 0xc1, + 0x60, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xd0, 0x42, 0x61, 0x05, 0x59, 0x61, 0x69, 0x71, 0x79, 0x81, + 0x29, 0x41, 0x09, 0xb1, 0x2d, 0x03, 0xc5, 0x18, 0x01, 0x29, 0x91, 0x28, 0x71, 0x45, 0x18, 0x01, + 0x29, 0xa1, 0x28, 0xd1, 0xc5, 0x17, 0x01, 0x01, 0x9b, 0xfb, 0x38, 0x91, 0x78, 0x81, 0x48, 0x51, + 0x52, 0x01, 0x30, 0x00, 0x62, 0x11, 0x82, 0x01, 0x38, 0x89, 0x21, 0x28, 0x41, 0x60, 0x60, 0x31, + 0x59, 0x01, 0x40, 0x40, 0x74, 0x70, 0x70, 0x74, 0x58, 0x61, 0x69, 0x11, 0x00, 0x33, 0x11, 0x20, + 0x20, 0x74, 0x30, 0x30, 0x31, 0x68, 0xa1, 0x50, 0x50, 0x74, 0x08, 0x00, 0x00, 0x66, 0x11, 0x02, + 0x20, 0x1a, 0x60, 0x60, 0x31, 0xc0, 0x00, 0x00, 0x81, 0x6a, 0xfb, 0x0c, 0x17, 0x08, 0xb1, 0x12, + 0xc1, 0x30, 0x72, 0x48, 0x1b, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x05, 0x74, + 0x01, 0x02, 0x21, 0x00, 0x12, 0xc1, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x02, 0x0d, 0xf0, + 0x21, 0x82, 0xfb, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x22, 0x61, 0x00, 0x02, 0x61, + 0x01, 0x05, 0xe7, 0x01, 0x21, 0x7e, 0xfb, 0x01, 0x3e, 0xfb, 0xc0, 0x00, 0x00, 0x28, 0x01, 0x45, + 0xad, 0x06, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x29, + 0x01, 0x39, 0x11, 0x09, 0x21, 0x01, 0x76, 0xfb, 0xc0, 0x00, 0x00, 0x28, 0x01, 0x38, 0x11, 0x01, + 0x75, 0xfb, 0xc0, 0x00, 0x00, 0x0c, 0x14, 0x38, 0x21, 0x0c, 0x00, 0x12, 0xc1, 0x10, 0x20, 0x04, + 0x93, 0x2d, 0x00, 0x0d, 0x03, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0xc9, 0x21, 0x09, 0x11, 0xcd, + 0x02, 0x01, 0x6b, 0xfb, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x3d, 0x01, 0x0c, 0x44, 0x01, 0x6c, 0xfb, + 0xc0, 0x00, 0x00, 0xcc, 0xe2, 0x3d, 0x0c, 0x21, 0x68, 0xfb, 0x48, 0x01, 0x01, 0x25, 0xfb, 0xc0, + 0x00, 0x00, 0x06, 0x02, 0x00, 0x21, 0x65, 0xfb, 0x01, 0x22, 0xfb, 0xc0, 0x00, 0x00, 0xc8, 0x21, + 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xe0, 0x29, 0x01, 0x39, 0x51, 0x09, + 0x11, 0x01, 0x5b, 0xfb, 0xc0, 0x00, 0x00, 0x28, 0x01, 0x32, 0xc1, 0x14, 0x0c, 0x44, 0x01, 0x5d, + 0xfb, 0xc0, 0x00, 0x00, 0x0c, 0x15, 0x48, 0x11, 0x0c, 0x00, 0x12, 0xc1, 0x20, 0x20, 0x05, 0x93, + 0x2d, 0x00, 0x0d, 0x04, 0x0d, 0xf0, 0x00, 0x00, 0x32, 0xa0, 0x00, 0x42, 0xa0, 0x00, 0x12, 0xc1, + 0xf0, 0x22, 0x61, 0x00, 0x09, 0x11, 0x0c, 0x02, 0x01, 0x55, 0xfb, 0xc0, 0x00, 0x00, 0x48, 0x01, + 0x21, 0x52, 0xfb, 0x3d, 0x04, 0x48, 0x04, 0x45, 0xe2, 0x09, 0x01, 0x49, 0xfb, 0xc0, 0x00, 0x00, + 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x32, 0xa1, 0xff, 0x20, 0x50, 0x94, 0x2d, 0x05, + 0x57, 0xa3, 0x02, 0x22, 0xd5, 0xfc, 0x0d, 0xf0, 0xa6, 0x13, 0x11, 0x0c, 0x07, 0x58, 0x04, 0xc0, + 0x20, 0x00, 0x4b, 0x44, 0x59, 0x02, 0x1b, 0x77, 0x4b, 0x22, 0x77, 0x93, 0xef, 0x0d, 0xf0, 0x00, + 0x12, 0xc1, 0xe0, 0xd9, 0x21, 0xf9, 0x41, 0xe9, 0x31, 0xc9, 0x11, 0x09, 0x01, 0x30, 0x02, 0x41, + 0xbc, 0xc0, 0x0c, 0x0c, 0x0c, 0x0e, 0x0c, 0x0f, 0xdd, 0x02, 0x20, 0x30, 0xa0, 0x39, 0x51, 0xc0, + 0x20, 0x00, 0x28, 0x0d, 0x29, 0x61, 0x20, 0x20, 0x94, 0xc5, 0xfa, 0xff, 0x29, 0x71, 0x28, 0x61, + 0x20, 0x2a, 0x94, 0x45, 0xfa, 0xff, 0xca, 0xc2, 0x38, 0x51, 0x4b, 0xdd, 0x48, 0x71, 0x20, 0x52, + 0x82, 0xea, 0xe4, 0x40, 0x44, 0x82, 0x5a, 0x44, 0x4a, 0xff, 0x37, 0x9d, 0xd1, 0x06, 0x02, 0x00, + 0xf2, 0xa0, 0x00, 0xe2, 0xa0, 0x00, 0xc2, 0xa0, 0x00, 0x21, 0x2d, 0xfb, 0x3d, 0x0c, 0x4d, 0x0e, + 0x5d, 0x0f, 0x01, 0xe3, 0xfa, 0xc0, 0x00, 0x00, 0x5d, 0x0f, 0x4d, 0x0e, 0x3d, 0x0c, 0x21, 0x28, + 0xfb, 0x85, 0xd7, 0x09, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, + 0x20, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xe0, 0x09, 0x01, 0xc9, 0x11, 0xe9, 0x31, 0xd9, 0x21, 0xf9, + 0x41, 0x40, 0xd0, 0xf4, 0x50, 0xf0, 0xf4, 0x30, 0xe0, 0xf4, 0xc1, 0x12, 0xfb, 0x20, 0x00, 0xf4, + 0x09, 0x51, 0x0c, 0x32, 0x08, 0x0c, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x4d, 0x0d, 0xc0, 0x00, 0x00, + 0x28, 0x51, 0x01, 0xf1, 0xfa, 0xc0, 0x00, 0x00, 0x4d, 0x0f, 0x08, 0x0c, 0x0c, 0x32, 0x02, 0x20, + 0x2b, 0x0c, 0x13, 0xc0, 0x00, 0x00, 0x2d, 0x0e, 0x01, 0xec, 0xfa, 0xc0, 0x00, 0x00, 0xc5, 0xe0, + 0xff, 0x56, 0xd2, 0xfc, 0x4d, 0x0d, 0x08, 0x0c, 0x0c, 0x32, 0x02, 0x20, 0x2b, 0x0c, 0x13, 0xc0, + 0x00, 0x00, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x62, 0xa0, 0x00, 0x72, 0xa0, 0x00, 0x12, 0xc1, 0xd0, 0xf2, 0x61, 0x07, + 0x09, 0x31, 0xe9, 0x61, 0xd9, 0x51, 0x39, 0x01, 0xc9, 0x41, 0x1c, 0xc3, 0xcd, 0x05, 0xdd, 0x02, + 0xed, 0x04, 0x21, 0x00, 0xfb, 0x0c, 0x04, 0x0c, 0xc5, 0x45, 0x96, 0xff, 0x01, 0xf2, 0xfa, 0x08, + 0x00, 0x02, 0x20, 0x2f, 0xc0, 0x00, 0x00, 0xf1, 0xe0, 0xfa, 0xc0, 0x20, 0x00, 0x22, 0x2f, 0x80, + 0x29, 0x11, 0x0c, 0x12, 0xc5, 0x84, 0x02, 0xd0, 0x20, 0xf4, 0x01, 0xcf, 0xfa, 0xc0, 0x00, 0x00, + 0xc0, 0x20, 0x00, 0x32, 0x2f, 0x80, 0x39, 0x21, 0x66, 0x1c, 0x22, 0xc9, 0x81, 0xbc, 0x8e, 0x0c, + 0x0c, 0x0c, 0x13, 0x21, 0xf1, 0xfa, 0xc5, 0xa1, 0xff, 0xdd, 0x02, 0x8c, 0x72, 0xc0, 0x20, 0x00, + 0xe2, 0x2f, 0x80, 0x86, 0x08, 0x00, 0x1b, 0xcc, 0xc7, 0x9e, 0xe5, 0x86, 0x06, 0x00, 0xc2, 0x61, + 0x08, 0x56, 0x4c, 0x01, 0x31, 0xd8, 0xfa, 0x22, 0x21, 0x00, 0x3a, 0x22, 0x3d, 0x0e, 0x45, 0x9f, + 0xff, 0xdd, 0x02, 0xc0, 0x20, 0x00, 0xe2, 0x2f, 0x80, 0xc8, 0x81, 0x0c, 0xe2, 0xf1, 0xd5, 0xfa, + 0x05, 0x7f, 0x02, 0x08, 0x0f, 0x02, 0x20, 0x28, 0xc0, 0x00, 0x00, 0xf8, 0x71, 0x08, 0x31, 0x66, + 0x1c, 0x0c, 0x28, 0x21, 0x0c, 0x03, 0x20, 0x2e, 0xc0, 0xd0, 0x23, 0x83, 0x86, 0x03, 0x00, 0x66, + 0x2c, 0x09, 0x38, 0x11, 0x28, 0x21, 0x30, 0x22, 0xc0, 0x46, 0x00, 0x00, 0x2d, 0x0d, 0xc8, 0x41, + 0xd8, 0x51, 0xe8, 0x61, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x21, 0xd4, 0xfa, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xe0, 0x02, 0x61, 0x00, 0xf2, 0x61, 0x04, 0xd2, 0x61, 0x02, + 0xe9, 0x31, 0xc9, 0x11, 0xed, 0x02, 0x0c, 0x0c, 0xd1, 0x85, 0xfa, 0x0c, 0x1f, 0xc0, 0x20, 0x00, + 0x52, 0x2d, 0xd2, 0xf0, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x6d, 0xd2, 0xc0, 0x20, 0x00, 0x32, + 0x2d, 0xd2, 0x7c, 0xe4, 0x40, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, 0x6d, 0xd2, 0x21, 0xc4, 0xfa, + 0x01, 0x9a, 0xfa, 0xc0, 0x00, 0x00, 0x21, 0xc2, 0xfa, 0x01, 0x97, 0xfa, 0xc0, 0x00, 0x00, 0x21, + 0xc0, 0xfa, 0x01, 0x95, 0xfa, 0xc0, 0x00, 0x00, 0x21, 0xbe, 0xfa, 0x01, 0x93, 0xfa, 0xc0, 0x00, + 0x00, 0x2d, 0x0e, 0x05, 0x7a, 0x06, 0x62, 0xa7, 0xd0, 0x1b, 0xcc, 0x67, 0x9c, 0xae, 0xc8, 0x11, + 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x0c, 0x02, 0x31, 0xb4, 0xfa, 0xc0, 0x20, 0x00, 0x22, 0x63, 0x80, 0xc0, 0x20, 0x00, 0x22, 0x63, + 0x83, 0x0d, 0xf0, 0x00, 0x0c, 0x04, 0x51, 0xb3, 0xfa, 0x61, 0xb1, 0xfa, 0x71, 0xb0, 0xfa, 0x12, + 0xc1, 0xd0, 0x09, 0x01, 0x39, 0x91, 0xd9, 0x21, 0xe9, 0x31, 0xc9, 0x11, 0xf9, 0x41, 0xcd, 0x02, + 0xfd, 0x03, 0xe1, 0xa9, 0xfa, 0x79, 0x51, 0x69, 0x61, 0x59, 0x71, 0x49, 0x81, 0xd1, 0xaa, 0xfa, + 0xf6, 0x4c, 0x28, 0x45, 0x2e, 0x0a, 0xc5, 0x28, 0x0c, 0x52, 0x21, 0x05, 0x42, 0x21, 0x06, 0x45, + 0xa3, 0x0a, 0x52, 0x21, 0x07, 0x48, 0x81, 0xc5, 0xa2, 0x0a, 0x85, 0xe3, 0x0a, 0x41, 0xa3, 0xfa, + 0x00, 0x1c, 0x40, 0x40, 0x02, 0x10, 0x00, 0x00, 0xa1, 0xc6, 0x08, 0x00, 0x66, 0x4c, 0x1e, 0x85, + 0x2b, 0x0a, 0x05, 0x26, 0x0c, 0x52, 0x21, 0x05, 0x42, 0x21, 0x06, 0x85, 0xa0, 0x0a, 0x52, 0x21, + 0x07, 0x48, 0x81, 0x05, 0xa0, 0x0a, 0xc5, 0xe0, 0x0a, 0x0d, 0x02, 0x46, 0x00, 0x00, 0x0d, 0x0f, + 0xc0, 0x20, 0x00, 0x02, 0x6e, 0x80, 0x0b, 0xdd, 0x4b, 0xee, 0x56, 0x2d, 0xfa, 0xc8, 0x11, 0xd8, + 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x20, 0x53, 0xc0, 0x3b, + 0x45, 0x50, 0x45, 0xb3, 0x40, 0x42, 0x21, 0x1b, 0x34, 0xa6, 0x13, 0x17, 0x20, 0x63, 0xa0, 0x31, + 0x59, 0xfa, 0xc0, 0x20, 0x00, 0x78, 0x02, 0xc0, 0x20, 0x00, 0x72, 0x63, 0x80, 0x4b, 0x22, 0x4b, + 0x33, 0x67, 0x92, 0xed, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0x02, 0x61, + 0x00, 0x20, 0xc2, 0x20, 0x05, 0xbb, 0xff, 0x21, 0x82, 0xfa, 0x01, 0x2d, 0xfa, 0xc0, 0x00, 0x00, + 0x05, 0xa9, 0x09, 0x01, 0x80, 0xfa, 0x22, 0xa0, 0x80, 0x2a, 0x2c, 0x32, 0x0c, 0x00, 0x32, 0x40, + 0x00, 0x1b, 0xcc, 0x1b, 0x00, 0x27, 0x9c, 0xf2, 0x0c, 0x12, 0x51, 0x28, 0xfa, 0xc0, 0x20, 0x00, + 0x02, 0x25, 0x69, 0x20, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x65, 0x69, 0xc1, 0x77, 0xfa, 0xb2, + 0xa4, 0x00, 0xc0, 0x20, 0x00, 0xa2, 0x25, 0x51, 0xc0, 0xaa, 0x10, 0xb0, 0xaa, 0x20, 0xc0, 0x20, + 0x00, 0xa2, 0x65, 0x51, 0x91, 0x72, 0xfa, 0xc0, 0x20, 0x00, 0x82, 0x25, 0x51, 0x90, 0x88, 0x10, + 0xc0, 0x20, 0x00, 0x82, 0x65, 0x51, 0x71, 0x6e, 0xfa, 0x61, 0x6e, 0xfa, 0xc0, 0x20, 0x00, 0x42, + 0x25, 0x6a, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x6a, 0x21, 0x6a, + 0xfa, 0x01, 0x0f, 0xfa, 0xc0, 0x00, 0x00, 0x85, 0xe9, 0xff, 0x21, 0x68, 0xfa, 0x1c, 0xc3, 0x0c, + 0x04, 0x0c, 0x05, 0x0c, 0x06, 0x0c, 0x07, 0x85, 0x6b, 0xff, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x32, 0xa0, 0xb0, 0x30, 0x11, 0xc0, 0xd2, 0x61, 0x2a, 0x32, 0xc1, 0x20, + 0x42, 0xc1, 0x10, 0x52, 0xc1, 0x50, 0xc2, 0x61, 0x29, 0x02, 0x61, 0x28, 0x0c, 0x0c, 0xc9, 0x41, + 0x45, 0xba, 0x0b, 0x66, 0x12, 0x0e, 0x21, 0x5a, 0xfa, 0x01, 0xfd, 0xf9, 0xc0, 0x00, 0x00, 0x86, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0x57, 0xfa, 0xc5, 0x1b, 0x0a, 0xdc, 0xe2, + 0x21, 0x56, 0xfa, 0x01, 0xf7, 0xf9, 0xc0, 0x00, 0x00, 0x21, 0x54, 0xfa, 0xc5, 0x9c, 0x09, 0x22, + 0x21, 0x14, 0x32, 0x21, 0x15, 0x42, 0x21, 0x16, 0x45, 0x6b, 0xff, 0x86, 0x65, 0x00, 0x00, 0x00, + 0x22, 0xc1, 0x20, 0x31, 0x4f, 0xfa, 0x05, 0x19, 0x0a, 0xcc, 0x92, 0x22, 0x91, 0x28, 0xc5, 0xbd, + 0x00, 0x06, 0x60, 0x00, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0x4a, 0xfa, 0x85, 0x17, 0x0a, 0xdc, + 0x22, 0x21, 0x49, 0xfa, 0x01, 0xe7, 0xf9, 0xc0, 0x00, 0x00, 0x21, 0x47, 0xfa, 0xc5, 0x98, 0x09, + 0x46, 0x58, 0x00, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0x45, 0xfa, 0xc5, 0x15, 0x0a, 0xdc, 0x22, + 0x22, 0x21, 0x14, 0x32, 0x21, 0x15, 0xc5, 0xde, 0xff, 0x21, 0x3f, 0xfa, 0xc5, 0x96, 0x09, 0x86, + 0x50, 0x00, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0x3e, 0xfa, 0xc5, 0x13, 0x0a, 0xdc, 0x22, 0x22, + 0x21, 0x14, 0x32, 0x21, 0x15, 0x42, 0x21, 0x16, 0x52, 0x21, 0x17, 0xc5, 0xd0, 0x04, 0xc6, 0x48, + 0x00, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0x37, 0xfa, 0xc5, 0x11, 0x0a, 0x56, 0xe2, 0x00, 0x22, + 0x21, 0x14, 0xc5, 0x4a, 0x05, 0x21, 0x30, 0xfa, 0x05, 0x93, 0x09, 0x86, 0x41, 0x00, 0x22, 0xc1, + 0x20, 0x31, 0x31, 0xfa, 0x05, 0x10, 0x0a, 0xd1, 0x07, 0xfa, 0x56, 0x32, 0x03, 0x22, 0xa0, 0x0e, + 0x4c, 0x63, 0x42, 0x01, 0x50, 0x0c, 0x16, 0x0c, 0x07, 0x08, 0x0d, 0x52, 0xc1, 0x7f, 0x02, 0x20, + 0x3d, 0x1b, 0x55, 0xc0, 0x00, 0x00, 0x21, 0x29, 0xfa, 0x42, 0x01, 0x81, 0x32, 0x01, 0x80, 0x80, + 0x44, 0x01, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x40, 0x48, 0x31, 0x05, 0x8f, 0x09, 0xc6, 0x30, + 0x00, 0x22, 0xc1, 0x20, 0x31, 0x23, 0xfa, 0x05, 0x0c, 0x0a, 0x56, 0x12, 0x04, 0x21, 0x21, 0xfa, + 0x42, 0xa0, 0x0a, 0x52, 0xa0, 0x00, 0x0c, 0x06, 0x08, 0x0d, 0x32, 0xc1, 0x7f, 0x02, 0x20, 0x3b, + 0x9b, 0x33, 0xc0, 0x00, 0x00, 0x21, 0x1c, 0xfa, 0x32, 0x91, 0x44, 0x42, 0x91, 0x45, 0x52, 0x91, + 0x46, 0x62, 0x91, 0x47, 0x01, 0xaf, 0xf9, 0xc0, 0x00, 0x00, 0x21, 0x17, 0xfa, 0x32, 0x91, 0x44, + 0x42, 0x91, 0x45, 0x52, 0x91, 0x46, 0x62, 0x91, 0x47, 0x05, 0x8a, 0x09, 0x46, 0x1d, 0x00, 0x22, + 0xc1, 0x20, 0x31, 0x12, 0xfa, 0x05, 0x07, 0x0a, 0x56, 0xa2, 0x07, 0x22, 0x21, 0x14, 0x32, 0x21, + 0x15, 0x42, 0x21, 0x16, 0xc5, 0x42, 0x03, 0x21, 0x04, 0xfa, 0x01, 0xa1, 0xf9, 0xc0, 0x00, 0x00, + 0x21, 0x02, 0xfa, 0x85, 0x87, 0x09, 0xc6, 0x12, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0x08, 0xfa, + 0x45, 0x04, 0x0a, 0xc1, 0xc9, 0xf9, 0x56, 0x42, 0x07, 0x42, 0x21, 0x16, 0xe6, 0x14, 0x0b, 0x21, + 0x05, 0xfa, 0x01, 0x97, 0xf9, 0xc0, 0x00, 0x00, 0x42, 0x21, 0x16, 0x22, 0x21, 0x14, 0x32, 0x21, + 0x15, 0x45, 0xb4, 0x00, 0x21, 0x01, 0xfa, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xa1, 0x30, 0x30, 0x74, + 0x01, 0x90, 0xf9, 0xc0, 0x00, 0x00, 0x21, 0xfc, 0xf9, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xa1, 0x30, + 0x30, 0x74, 0x85, 0x82, 0x09, 0xc2, 0x21, 0x29, 0xd2, 0x21, 0x2a, 0x22, 0xa0, 0xb0, 0x02, 0x21, + 0x28, 0x20, 0x11, 0x80, 0x0d, 0xf0, 0x22, 0xc1, 0x20, 0x31, 0xf4, 0xf9, 0x85, 0xfe, 0x09, 0x56, + 0x72, 0xf9, 0x22, 0x21, 0x14, 0x32, 0x21, 0x15, 0x45, 0xce, 0x00, 0x21, 0xe3, 0xf9, 0x01, 0x80, + 0xf9, 0xc0, 0x00, 0x00, 0x21, 0xe1, 0xf9, 0x45, 0x7f, 0x09, 0xc6, 0xf1, 0xff, 0x00, 0x22, 0xc1, + 0x20, 0x31, 0xeb, 0xf9, 0x05, 0xfc, 0x09, 0x56, 0xe2, 0x00, 0x22, 0x21, 0x14, 0x85, 0xb4, 0x04, + 0x21, 0xda, 0xf9, 0x85, 0x7d, 0x09, 0xc6, 0xea, 0xff, 0x22, 0xc1, 0x20, 0x31, 0xe6, 0xf9, 0x85, + 0xfa, 0x09, 0xfc, 0x32, 0x42, 0x21, 0x15, 0xe6, 0x14, 0x08, 0x21, 0xde, 0xf9, 0x01, 0x70, 0xf9, + 0xc0, 0x00, 0x00, 0x21, 0xdd, 0xf9, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xa1, 0x30, 0x30, 0x74, 0x01, + 0x6c, 0xf9, 0xc0, 0x00, 0x00, 0x21, 0xd8, 0xf9, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0xa1, 0x30, 0x30, + 0x74, 0x85, 0x79, 0x09, 0x46, 0xdb, 0xff, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0xd7, 0xf9, 0x85, + 0xf6, 0x09, 0x56, 0xb2, 0x01, 0x45, 0x78, 0x02, 0x20, 0xc0, 0x74, 0x21, 0xd4, 0xf9, 0x3d, 0x0c, + 0x01, 0x60, 0xf9, 0xc0, 0x00, 0x00, 0x3d, 0x0c, 0x21, 0xd1, 0xf9, 0x05, 0x77, 0x09, 0xc6, 0xd0, + 0xff, 0x22, 0xc1, 0x20, 0x31, 0xcf, 0xf9, 0x05, 0xf4, 0x09, 0xc2, 0xa0, 0x01, 0x31, 0xcd, 0xf9, + 0x01, 0xce, 0xf9, 0x5d, 0x02, 0x21, 0xcd, 0xf9, 0xdc, 0x45, 0x68, 0x02, 0xc2, 0x43, 0x00, 0x00, + 0x66, 0x10, 0x69, 0x02, 0xc5, 0x56, 0x04, 0x21, 0xca, 0xf9, 0x05, 0x74, 0x09, 0x06, 0xc5, 0xff, + 0x22, 0xc1, 0x20, 0x31, 0xc8, 0xf9, 0x05, 0xf1, 0x09, 0x56, 0x02, 0x04, 0x01, 0xc7, 0xf9, 0x42, + 0x21, 0x14, 0x91, 0xc1, 0xf9, 0x21, 0x9f, 0xf9, 0xb1, 0xbf, 0xf9, 0x0c, 0x0a, 0x81, 0xbf, 0xf9, + 0xa2, 0x4b, 0x00, 0x78, 0x08, 0x6b, 0x32, 0x90, 0x77, 0x10, 0x79, 0x08, 0x1b, 0x00, 0xc2, 0x02, + 0x22, 0x1b, 0x22, 0x40, 0xcc, 0xc0, 0xc2, 0x40, 0x23, 0x37, 0x92, 0xef, 0x0c, 0x02, 0xc5, 0x92, + 0x02, 0x05, 0x52, 0x04, 0x21, 0xba, 0xf9, 0x45, 0x6f, 0x09, 0xc6, 0xb1, 0xff, 0x22, 0xc1, 0x20, + 0x31, 0xb8, 0xf9, 0x45, 0xec, 0x09, 0xdc, 0x22, 0x21, 0x9c, 0xf9, 0x01, 0x39, 0xf9, 0xc0, 0x00, + 0x00, 0x21, 0x99, 0xf9, 0x45, 0x6d, 0x09, 0x86, 0xaa, 0xff, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, + 0xb1, 0xf9, 0x45, 0xea, 0x09, 0x56, 0x82, 0x03, 0x72, 0xa0, 0x01, 0x62, 0x01, 0x50, 0x0c, 0x14, + 0x0c, 0x05, 0x32, 0xc1, 0x7f, 0x22, 0xc3, 0x11, 0x52, 0x61, 0x24, 0x32, 0xc3, 0x15, 0x49, 0x01, + 0x49, 0x11, 0x08, 0x0d, 0x4c, 0x65, 0x02, 0x20, 0x40, 0x42, 0xa1, 0xf5, 0xc0, 0x00, 0x00, 0x21, + 0xa6, 0xf9, 0x01, 0x27, 0xf9, 0xc0, 0x00, 0x00, 0x21, 0xa4, 0xf9, 0x05, 0x69, 0x09, 0xc6, 0x98, + 0xff, 0x22, 0xc1, 0x20, 0x31, 0xa2, 0xf9, 0x10, 0x11, 0x20, 0xc5, 0xe5, 0x09, 0xec, 0x42, 0x32, + 0x21, 0x15, 0xe6, 0x13, 0x0b, 0x21, 0x9e, 0xf9, 0x01, 0x1e, 0xf9, 0xc0, 0x00, 0x00, 0x32, 0x21, + 0x15, 0x22, 0x21, 0x14, 0xc5, 0x3e, 0xff, 0x3d, 0x02, 0x21, 0x9a, 0xf9, 0xc5, 0x65, 0x09, 0x86, + 0x8c, 0xff, 0x00, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0x98, 0xf9, 0xc5, 0xe2, 0x09, 0x56, 0xb2, + 0x03, 0x22, 0x21, 0x14, 0x32, 0x21, 0x15, 0x42, 0x21, 0x16, 0xc1, 0x5c, 0xf9, 0x52, 0x21, 0x17, + 0xc0, 0x6c, 0x20, 0x05, 0x94, 0xff, 0x3d, 0x02, 0x21, 0x91, 0xf9, 0x01, 0x0d, 0xf9, 0xc0, 0x00, + 0x00, 0x6d, 0x0c, 0x22, 0x21, 0x14, 0x32, 0x21, 0x15, 0x42, 0x21, 0x16, 0x52, 0x21, 0x17, 0x45, + 0x92, 0xff, 0x3d, 0x02, 0x21, 0x8a, 0xf9, 0x45, 0x61, 0x09, 0xc6, 0x79, 0xff, 0x22, 0xc1, 0x20, + 0x31, 0x88, 0xf9, 0x45, 0xde, 0x09, 0x56, 0x02, 0x02, 0x22, 0x21, 0x14, 0x32, 0x21, 0x15, 0x05, + 0xe6, 0x02, 0x21, 0x84, 0xf9, 0x32, 0x21, 0x14, 0x01, 0xfe, 0xf8, 0xc0, 0x00, 0x00, 0x21, 0x81, + 0xf9, 0x32, 0x21, 0x14, 0x45, 0x5e, 0x09, 0x86, 0x6e, 0xff, 0x22, 0xc1, 0x20, 0x31, 0x7e, 0xf9, + 0x45, 0xdb, 0x09, 0x56, 0x02, 0x06, 0x21, 0x7d, 0xf9, 0x01, 0xf5, 0xf8, 0xc0, 0x00, 0x00, 0x21, + 0x7b, 0xf9, 0x85, 0x5c, 0x09, 0x22, 0x21, 0x15, 0x85, 0x7c, 0x00, 0x22, 0x61, 0x27, 0x22, 0x21, + 0x18, 0x05, 0x7c, 0x00, 0x20, 0xc2, 0x20, 0x22, 0x21, 0x1b, 0x85, 0x7b, 0x00, 0x42, 0x01, 0x58, + 0x52, 0x01, 0x5c, 0x72, 0x01, 0x64, 0x82, 0x01, 0x68, 0x32, 0x21, 0x27, 0x00, 0x62, 0x11, 0x60, + 0x60, 0x31, 0x22, 0x01, 0x50, 0x00, 0x33, 0x11, 0x30, 0x30, 0x31, 0x82, 0x61, 0x00, 0x62, 0x61, + 0x01, 0x82, 0x01, 0x70, 0x89, 0x21, 0x08, 0x0d, 0x00, 0x6c, 0x11, 0x02, 0x20, 0x1a, 0x60, 0x60, + 0x31, 0xc0, 0x00, 0x00, 0x46, 0x53, 0xff, 0x22, 0xc1, 0x20, 0x31, 0x65, 0xf9, 0x85, 0xd4, 0x09, + 0x56, 0xd2, 0x01, 0x02, 0x2d, 0x00, 0x02, 0x20, 0x1b, 0x22, 0x01, 0x50, 0xc0, 0x00, 0x00, 0x21, + 0x61, 0xf9, 0x01, 0xd7, 0xf8, 0xc0, 0x00, 0x00, 0x21, 0x5f, 0xf9, 0x05, 0x55, 0x09, 0xc6, 0x48, + 0xff, 0x22, 0xc1, 0x20, 0x31, 0x5d, 0xf9, 0x05, 0xd2, 0x09, 0x56, 0xd2, 0x01, 0x22, 0x21, 0x14, + 0x05, 0x0d, 0x02, 0x21, 0x54, 0xf9, 0x32, 0x21, 0x14, 0x01, 0xcd, 0xf8, 0xc0, 0x00, 0x00, 0x21, + 0x51, 0xf9, 0x32, 0x21, 0x14, 0x45, 0x52, 0x09, 0x46, 0x3e, 0xff, 0x22, 0xc1, 0x20, 0x31, 0x53, + 0xf9, 0x45, 0xcf, 0x09, 0xdc, 0x82, 0x21, 0x52, 0xf9, 0x01, 0xc5, 0xf8, 0xc0, 0x00, 0x00, 0x21, + 0x50, 0xf9, 0x85, 0x50, 0x09, 0x22, 0x21, 0x14, 0xc5, 0x5d, 0xff, 0x86, 0x35, 0xff, 0x00, 0x00, + 0x22, 0xc1, 0x20, 0x31, 0x4c, 0xf9, 0x05, 0xcd, 0x09, 0x56, 0x12, 0x01, 0x22, 0x21, 0x14, 0xc5, + 0x96, 0x05, 0x21, 0x49, 0xf9, 0x32, 0x21, 0x14, 0x05, 0x4e, 0x09, 0x86, 0x2d, 0xff, 0x22, 0xc1, + 0x20, 0x31, 0x46, 0xf9, 0x05, 0xcb, 0x09, 0xec, 0x72, 0x22, 0x21, 0x14, 0x32, 0x21, 0x15, 0x42, + 0x21, 0x16, 0x52, 0x21, 0x17, 0x62, 0x21, 0x18, 0x72, 0x21, 0x19, 0x45, 0x15, 0xff, 0x21, 0x40, + 0xf9, 0x01, 0xaf, 0xf8, 0xc0, 0x00, 0x00, 0x21, 0x3e, 0xf9, 0x05, 0x4b, 0x09, 0x06, 0x21, 0xff, + 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0x3b, 0xf9, 0xc5, 0xc7, 0x09, 0x56, 0x12, 0x01, 0x21, 0x3a, + 0xf9, 0x32, 0x21, 0x14, 0xc0, 0x20, 0x00, 0x32, 0x23, 0x00, 0x05, 0x49, 0x09, 0x06, 0x19, 0xff, + 0x22, 0xc1, 0x20, 0x31, 0x36, 0xf9, 0x05, 0xc6, 0x09, 0x56, 0xc2, 0x01, 0x52, 0x21, 0x14, 0x42, + 0x21, 0x15, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x00, 0x21, 0x32, 0xf9, 0x32, 0x21, 0x14, 0xc0, 0x20, + 0x00, 0x38, 0x03, 0x85, 0x46, 0x09, 0xc6, 0x0e, 0xff, 0x22, 0xc1, 0x20, 0x31, 0x2e, 0xf9, 0x85, + 0xc3, 0x09, 0xdc, 0x52, 0x22, 0x21, 0x14, 0x32, 0x21, 0x15, 0x42, 0xc1, 0x58, 0x85, 0x64, 0xff, + 0x21, 0x2a, 0xf9, 0x85, 0x44, 0x09, 0xc6, 0x06, 0xff, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0x27, + 0xf9, 0x45, 0xc1, 0x09, 0x56, 0x92, 0x03, 0x62, 0x21, 0x14, 0x72, 0x21, 0x15, 0xc0, 0x20, 0x00, + 0x52, 0x26, 0x00, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x59, 0x06, 0x42, 0x21, 0x14, 0x21, 0x20, + 0xf9, 0x3d, 0x04, 0xc0, 0x20, 0x00, 0x48, 0x04, 0x01, 0x86, 0xf8, 0xc0, 0x00, 0x00, 0x42, 0x21, + 0x14, 0x21, 0x1b, 0xf9, 0x3d, 0x04, 0xc0, 0x20, 0x00, 0x48, 0x04, 0x05, 0x40, 0x09, 0xc6, 0xf4, + 0xfe, 0x22, 0xc1, 0x20, 0x31, 0x18, 0xf9, 0x05, 0xbd, 0x09, 0x02, 0xaf, 0xff, 0x56, 0x82, 0x02, + 0x72, 0x21, 0x15, 0x62, 0x21, 0x14, 0x00, 0x77, 0x30, 0xc0, 0x20, 0x00, 0x58, 0x06, 0x70, 0x55, + 0x10, 0xc0, 0x20, 0x00, 0x59, 0x06, 0x42, 0x21, 0x14, 0x21, 0x0d, 0xf9, 0x3d, 0x04, 0xc0, 0x20, + 0x00, 0x48, 0x04, 0x85, 0x3c, 0x09, 0xc6, 0xe6, 0xfe, 0x22, 0xc1, 0x20, 0x31, 0x0b, 0xf9, 0x85, + 0xb9, 0x09, 0x56, 0xb2, 0x05, 0x21, 0x02, 0xf9, 0x52, 0x21, 0x16, 0x62, 0x21, 0x15, 0x32, 0x21, + 0x14, 0x50, 0x66, 0xc0, 0x62, 0xc6, 0x01, 0x00, 0x16, 0x40, 0x00, 0x4c, 0xa1, 0x42, 0xc4, 0xff, + 0xc0, 0x20, 0x00, 0x38, 0x03, 0x00, 0x05, 0x40, 0x30, 0x30, 0x91, 0x40, 0x33, 0x10, 0x01, 0x64, + 0xf8, 0xc0, 0x00, 0x00, 0x21, 0xf7, 0xf8, 0x52, 0x21, 0x16, 0x62, 0x21, 0x15, 0x32, 0x21, 0x14, + 0x50, 0x66, 0xc0, 0x1b, 0x66, 0x00, 0x16, 0x40, 0x00, 0x4c, 0xa1, 0x0b, 0x44, 0xc0, 0x20, 0x00, + 0x38, 0x03, 0x00, 0x05, 0x40, 0x30, 0x30, 0x91, 0x40, 0x33, 0x10, 0x05, 0x36, 0x09, 0xc6, 0xcc, + 0xfe, 0x22, 0xc1, 0x20, 0x31, 0xf2, 0xf8, 0x05, 0xb3, 0x09, 0xdc, 0xa2, 0x45, 0x2c, 0x01, 0x0c, + 0xe2, 0x0c, 0x03, 0xc5, 0xe7, 0x01, 0x21, 0xee, 0xf8, 0x01, 0x51, 0xf8, 0xc0, 0x00, 0x00, 0x21, + 0xec, 0xf8, 0x85, 0x33, 0x09, 0x06, 0xc3, 0xfe, 0x22, 0xc1, 0x20, 0x31, 0xea, 0xf8, 0x85, 0xb0, + 0x09, 0x56, 0x82, 0x01, 0x0c, 0xe2, 0x0c, 0x03, 0x05, 0xe2, 0x01, 0x21, 0xe7, 0xf8, 0x01, 0x48, + 0xf8, 0xc0, 0x00, 0x00, 0x21, 0xe5, 0xf8, 0x45, 0x31, 0x09, 0xc6, 0xb9, 0xfe, 0x22, 0xc1, 0x20, + 0x31, 0xe3, 0xf8, 0x45, 0xae, 0x09, 0x56, 0x62, 0x01, 0x0c, 0x02, 0xc5, 0xe1, 0x01, 0x21, 0xe0, + 0xf8, 0x01, 0x3f, 0xf8, 0xc0, 0x00, 0x00, 0x21, 0xde, 0xf8, 0x05, 0x2f, 0x09, 0x06, 0xb1, 0xfe, + 0x22, 0xc1, 0x20, 0x31, 0xdc, 0xf8, 0x05, 0xac, 0x09, 0x56, 0x42, 0x01, 0x45, 0x25, 0x01, 0x21, + 0xda, 0xf8, 0x01, 0x37, 0xf8, 0xc0, 0x00, 0x00, 0x21, 0xd8, 0xf8, 0x05, 0x2d, 0x09, 0xc6, 0xa8, + 0xfe, 0x22, 0xc1, 0x20, 0x31, 0xd6, 0xf8, 0x05, 0xaa, 0x09, 0xdc, 0x92, 0x22, 0x21, 0x14, 0x32, + 0x21, 0x15, 0x85, 0x3d, 0xff, 0x56, 0x62, 0x3a, 0x21, 0xd2, 0xf8, 0x01, 0x2d, 0xf8, 0xc0, 0x00, + 0x00, 0x06, 0xa0, 0xfe, 0x00, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0xce, 0xf8, 0x85, 0xa7, 0x09, + 0xdc, 0x92, 0x22, 0x21, 0x14, 0x32, 0x21, 0x15, 0xc5, 0x41, 0xff, 0x56, 0xd2, 0x3c, 0x21, 0xca, + 0xf8, 0x01, 0x23, 0xf8, 0xc0, 0x00, 0x00, 0x86, 0x96, 0xfe, 0x00, 0x00, 0x00, 0x22, 0xc1, 0x20, + 0x31, 0xc7, 0xf8, 0x45, 0xa5, 0x09, 0xcc, 0xa2, 0x22, 0x21, 0x14, 0xc5, 0x3b, 0xff, 0xc6, 0x90, + 0xfe, 0x00, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0xc2, 0xf8, 0xc5, 0xa3, 0x09, 0xcc, 0xa2, 0x22, + 0x21, 0x14, 0x45, 0x41, 0xff, 0x06, 0x8b, 0xfe, 0x00, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0xbd, + 0xf8, 0x45, 0xa2, 0x09, 0x56, 0x42, 0x04, 0x21, 0xbc, 0xf8, 0x82, 0x21, 0x14, 0xc0, 0x20, 0x00, + 0x32, 0x28, 0x00, 0xc0, 0x20, 0x00, 0x42, 0x28, 0x01, 0xc0, 0x20, 0x00, 0x58, 0x28, 0xc0, 0x20, + 0x00, 0x68, 0x38, 0xc0, 0x20, 0x00, 0x78, 0x48, 0xc0, 0x20, 0x00, 0xa8, 0x58, 0xc0, 0x20, 0x00, + 0xa9, 0x01, 0xc0, 0x20, 0x00, 0x98, 0x68, 0xc0, 0x20, 0x00, 0x99, 0x11, 0xc0, 0x20, 0x00, 0x88, + 0x78, 0xc0, 0x20, 0x00, 0x89, 0x21, 0x45, 0x20, 0x09, 0x06, 0x76, 0xfe, 0x22, 0xc1, 0x20, 0x31, + 0xab, 0xf8, 0x45, 0x9d, 0x09, 0xdc, 0xf2, 0x01, 0xc9, 0xf8, 0xc0, 0x00, 0x00, 0x32, 0x21, 0x14, + 0x00, 0x03, 0x40, 0x20, 0x40, 0x91, 0x40, 0x40, 0x04, 0x21, 0xa5, 0xf8, 0x01, 0xf9, 0xf7, 0xc0, + 0x00, 0x00, 0xc6, 0x6b, 0xfe, 0x00, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0xa2, 0xf8, 0x85, 0x9a, + 0x09, 0x56, 0xf2, 0x02, 0x52, 0xa0, 0x00, 0x32, 0xaf, 0xff, 0x42, 0x21, 0x14, 0x22, 0x21, 0x15, + 0x00, 0x14, 0x40, 0x30, 0x32, 0x30, 0x00, 0x4c, 0xa1, 0x00, 0x22, 0xa1, 0x00, 0x33, 0xa1, 0x01, + 0xf5, 0xf7, 0xc0, 0x00, 0x00, 0x21, 0x98, 0xf8, 0x32, 0x21, 0x14, 0x01, 0xe9, 0xf7, 0xc0, 0x00, + 0x00, 0x06, 0x5c, 0xfe, 0x22, 0xc1, 0x20, 0x31, 0x95, 0xf8, 0xc5, 0x96, 0x09, 0x56, 0x02, 0x06, + 0x42, 0x21, 0x16, 0xa6, 0x14, 0x4e, 0xd2, 0xa0, 0x00, 0x22, 0xa0, 0x00, 0x52, 0xa0, 0x00, 0x42, + 0x21, 0x14, 0x7c, 0xf3, 0x00, 0x14, 0x40, 0x00, 0x33, 0xa1, 0x00, 0x4c, 0xa1, 0x01, 0xe5, 0xf7, + 0xc0, 0x00, 0x00, 0x22, 0x11, 0x2a, 0x01, 0xfc, 0xf7, 0xc0, 0x00, 0x00, 0x0c, 0x05, 0x42, 0x21, + 0x14, 0x7c, 0xe3, 0x00, 0x14, 0x40, 0x00, 0x33, 0xa1, 0x00, 0x4c, 0xa1, 0x2d, 0x04, 0x01, 0xdd, + 0xf7, 0xc0, 0x00, 0x00, 0x22, 0x11, 0x2a, 0x01, 0xf4, 0xf7, 0xc0, 0x00, 0x00, 0x52, 0x21, 0x16, + 0x1b, 0xdd, 0x57, 0x2d, 0xb3, 0x21, 0x7e, 0xf8, 0x01, 0xce, 0xf7, 0xc0, 0x00, 0x00, 0xc6, 0x40, + 0xfe, 0x22, 0xc1, 0x20, 0x31, 0x7c, 0xf8, 0x05, 0x90, 0x09, 0x56, 0xc2, 0x01, 0x22, 0x01, 0x50, + 0x02, 0x2d, 0x00, 0x32, 0x01, 0x54, 0x02, 0x20, 0x24, 0x42, 0x01, 0x58, 0xc0, 0x00, 0x00, 0x3d, + 0x02, 0x21, 0x57, 0xf8, 0x45, 0x10, 0x09, 0x86, 0x36, 0xfe, 0x22, 0xc1, 0x20, 0x31, 0x72, 0xf8, + 0x45, 0x8d, 0x09, 0x56, 0xd2, 0x01, 0x22, 0x01, 0x50, 0x32, 0x01, 0x54, 0x02, 0x2d, 0x00, 0x42, + 0x01, 0x58, 0x02, 0x20, 0x26, 0x52, 0x01, 0x5c, 0xc0, 0x00, 0x00, 0x21, 0x4f, 0xf8, 0xc5, 0x0d, + 0x09, 0x06, 0x2c, 0xfe, 0x22, 0xc1, 0x20, 0x31, 0x69, 0xf8, 0xc5, 0x8a, 0x09, 0x56, 0x32, 0x02, + 0x22, 0x01, 0x50, 0x32, 0x01, 0x54, 0x42, 0x01, 0x58, 0x52, 0x01, 0x5c, 0x02, 0x2d, 0x00, 0x62, + 0x01, 0x60, 0x02, 0x20, 0x27, 0x72, 0x01, 0x64, 0xc0, 0x00, 0x00, 0x21, 0x43, 0xf8, 0xc5, 0x0a, + 0x09, 0x06, 0x20, 0xfe, 0x22, 0xc1, 0x20, 0x31, 0x5e, 0xf8, 0xc5, 0x87, 0x09, 0x56, 0x22, 0x02, + 0x22, 0x01, 0x50, 0x32, 0x01, 0x54, 0x42, 0x01, 0x58, 0x02, 0x2d, 0x00, 0x52, 0x01, 0x5c, 0x02, + 0x20, 0x25, 0x62, 0x01, 0x60, 0xc0, 0x00, 0x00, 0x3d, 0x02, 0x21, 0x35, 0xf8, 0xc5, 0x07, 0x09, + 0x46, 0x14, 0xfe, 0x22, 0xc1, 0x20, 0x31, 0x53, 0xf8, 0xc5, 0x84, 0x09, 0x56, 0x12, 0x01, 0x02, + 0x2d, 0x00, 0x02, 0x20, 0x28, 0xc0, 0x00, 0x00, 0x21, 0x50, 0xf8, 0x05, 0x06, 0x09, 0xc6, 0x0c, + 0xfe, 0x22, 0xc1, 0x20, 0x31, 0x4e, 0xf8, 0x05, 0x83, 0x09, 0x56, 0x12, 0x01, 0x02, 0x2d, 0x00, + 0x02, 0x20, 0x2a, 0xc0, 0x00, 0x00, 0x21, 0x4a, 0xf8, 0x05, 0x04, 0x09, 0x46, 0x05, 0xfe, 0x22, + 0xc1, 0x20, 0x31, 0x48, 0xf8, 0x05, 0x81, 0x09, 0x56, 0xa2, 0x01, 0x22, 0x01, 0x50, 0x02, 0x2d, + 0x00, 0x32, 0x01, 0x54, 0x02, 0x20, 0x2b, 0x42, 0x11, 0x2c, 0xc0, 0x00, 0x00, 0x21, 0x42, 0xf8, + 0x85, 0x01, 0x09, 0x86, 0xfb, 0xfd, 0x22, 0xc1, 0x20, 0x31, 0x40, 0xf8, 0x85, 0x7e, 0x09, 0x56, + 0x92, 0x01, 0x02, 0x2d, 0x00, 0x22, 0x01, 0x50, 0x02, 0x20, 0x2c, 0x32, 0x01, 0x54, 0xc0, 0x00, + 0x00, 0x3d, 0x02, 0x21, 0x13, 0xf8, 0x45, 0xff, 0x08, 0x06, 0xf2, 0xfd, 0x22, 0xc1, 0x20, 0x31, + 0x38, 0xf8, 0x45, 0x7c, 0x09, 0x56, 0x02, 0x06, 0x22, 0x21, 0x15, 0x85, 0x1e, 0x00, 0x22, 0x61, + 0x26, 0x22, 0x21, 0x18, 0xc5, 0x1d, 0x00, 0x20, 0xc2, 0x20, 0x22, 0x21, 0x1b, 0x45, 0x1d, 0x00, + 0x42, 0x01, 0x58, 0x52, 0x01, 0x5c, 0x72, 0x01, 0x64, 0x82, 0x01, 0x68, 0x32, 0x21, 0x26, 0x00, + 0x62, 0x11, 0x60, 0x60, 0x31, 0x22, 0x01, 0x50, 0x00, 0x33, 0x11, 0x30, 0x30, 0x31, 0x82, 0x61, + 0x00, 0x62, 0x61, 0x01, 0x82, 0x01, 0x70, 0x89, 0x21, 0x08, 0x0d, 0x00, 0x6c, 0x11, 0x02, 0x20, + 0x1a, 0x60, 0x60, 0x31, 0xc0, 0x00, 0x00, 0x21, 0x23, 0xf8, 0x01, 0x65, 0xf7, 0xc0, 0x00, 0x00, + 0x21, 0x21, 0xf8, 0x85, 0xf8, 0x08, 0xc6, 0xd6, 0xfd, 0x22, 0xc1, 0x20, 0x31, 0xe9, 0xf7, 0x85, + 0x75, 0x09, 0x56, 0xd2, 0x01, 0x02, 0x2d, 0x00, 0x02, 0x20, 0x1b, 0x22, 0x01, 0x50, 0xc0, 0x00, + 0x00, 0x21, 0x19, 0xf8, 0x01, 0x5b, 0xf7, 0xc0, 0x00, 0x00, 0x21, 0x17, 0xf8, 0xc5, 0xf5, 0x08, + 0x46, 0xcc, 0xfd, 0x22, 0xc1, 0x20, 0x31, 0x15, 0xf8, 0xc5, 0x72, 0x09, 0xcc, 0xd2, 0x22, 0x21, + 0x14, 0x32, 0x21, 0x15, 0x85, 0x15, 0xff, 0x86, 0xc6, 0xfd, 0x00, 0x00, 0x00, 0x22, 0xc1, 0x20, + 0x31, 0x10, 0xf8, 0x45, 0x71, 0x09, 0xfc, 0x12, 0x21, 0x0f, 0xf8, 0x01, 0x4d, 0xf7, 0xc0, 0x00, + 0x00, 0x22, 0x21, 0x14, 0x32, 0x21, 0x15, 0x42, 0x21, 0x16, 0x52, 0x21, 0x17, 0x45, 0x1b, 0xff, + 0x21, 0x0a, 0xf8, 0x01, 0x47, 0xf7, 0xc0, 0x00, 0x00, 0x06, 0xba, 0xfd, 0x00, 0x00, 0x00, 0x21, + 0x07, 0xf8, 0x01, 0x43, 0xf7, 0xc0, 0x00, 0x00, 0x46, 0xb6, 0xfd, 0x22, 0xc1, 0x20, 0x31, 0x04, + 0xf8, 0x45, 0x6d, 0x09, 0xdc, 0x22, 0x22, 0x21, 0x14, 0x32, 0x21, 0x15, 0x42, 0x21, 0x16, 0x52, + 0x21, 0x17, 0x85, 0x8e, 0x01, 0x06, 0xaf, 0xfd, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0xfd, 0xf7, + 0x45, 0x6b, 0x09, 0xec, 0x12, 0x22, 0x21, 0x14, 0x32, 0x21, 0x15, 0xc5, 0x94, 0x00, 0x21, 0xfa, + 0xf7, 0x01, 0x33, 0xf7, 0xc0, 0x00, 0x00, 0x86, 0xa6, 0xfd, 0x00, 0x00, 0x21, 0xf8, 0xf7, 0x01, + 0x30, 0xf7, 0xc0, 0x00, 0x00, 0x06, 0xa3, 0xfd, 0x22, 0xc1, 0x20, 0x31, 0xf5, 0xf7, 0x85, 0x68, + 0x09, 0xcc, 0x62, 0x45, 0x95, 0x00, 0xc6, 0x9e, 0xfd, 0x00, 0x00, 0x22, 0xc1, 0x20, 0x31, 0xf1, + 0xf7, 0x45, 0x67, 0x09, 0x56, 0x72, 0x02, 0x01, 0x42, 0xf7, 0x32, 0xa0, 0x00, 0x32, 0x40, 0x00, + 0x22, 0x00, 0x1b, 0x32, 0x40, 0x1a, 0x26, 0x12, 0x02, 0x06, 0x96, 0xfd, 0x22, 0x2d, 0x00, 0x0c, + 0x03, 0x32, 0x40, 0x1b, 0x02, 0x22, 0x1b, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0x46, 0x91, 0xfd, 0x21, + 0xe6, 0xf7, 0x01, 0x1b, 0xf7, 0xc0, 0x00, 0x00, 0x21, 0xe4, 0xf7, 0x05, 0xe6, 0x08, 0xc6, 0x8c, + 0xfd, 0x00, 0x00, 0x00, 0x0c, 0x0b, 0x61, 0x1a, 0xf7, 0xc0, 0x20, 0x00, 0x51, 0xe1, 0xf7, 0x72, + 0x26, 0x47, 0x50, 0x53, 0x82, 0x7a, 0x55, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x41, 0xc0, 0x20, 0x00, + 0x42, 0x66, 0x46, 0x66, 0x12, 0x10, 0xc0, 0x20, 0x00, 0xb2, 0x66, 0x50, 0x0c, 0x47, 0xc0, 0x20, + 0x00, 0x72, 0x66, 0x51, 0xc6, 0x03, 0x00, 0x7c, 0xf9, 0xc0, 0x20, 0x00, 0x92, 0x66, 0x50, 0x2c, + 0x78, 0xc0, 0x20, 0x00, 0x82, 0x66, 0x51, 0xc0, 0x20, 0x00, 0xb2, 0x66, 0x44, 0xa1, 0xd1, 0xf7, + 0xc0, 0x20, 0x00, 0xa2, 0x66, 0x42, 0x0d, 0xf0, 0x20, 0x27, 0x41, 0x0b, 0x22, 0x66, 0x02, 0xfa, + 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xf7, 0x62, 0x0b, 0x20, 0x20, 0xe4, 0x20, + 0x20, 0x60, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0xa0, 0x22, 0x11, 0x31, 0xc7, 0xf7, 0x05, 0x3b, + 0x0b, 0x20, 0x20, 0x94, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x42, 0xa0, 0x00, 0x52, + 0xa0, 0x00, 0x0c, 0x06, 0x3d, 0x02, 0x12, 0xc1, 0xd0, 0x09, 0xa1, 0xc9, 0xb1, 0x0c, 0x02, 0x29, + 0x21, 0x29, 0x11, 0xc1, 0x2c, 0xf7, 0x29, 0x01, 0x08, 0x0c, 0x0c, 0x07, 0x02, 0x20, 0x1a, 0x0c, + 0x12, 0xc0, 0x00, 0x00, 0x0c, 0x52, 0x01, 0x0c, 0xf7, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x0c, 0x12, + 0x08, 0xd0, 0x32, 0xa2, 0x00, 0xc0, 0x00, 0x00, 0x22, 0xc1, 0x10, 0x0c, 0x93, 0x05, 0x3d, 0x03, + 0x08, 0x0c, 0x28, 0x41, 0x08, 0xe0, 0x0c, 0x03, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x08, 0x0c, 0x29, + 0x81, 0x08, 0xe0, 0x28, 0x51, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x08, 0xc0, 0x29, 0x91, 0xc0, 0x00, + 0x00, 0x08, 0x0c, 0x02, 0x20, 0x1b, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x21, 0xa8, 0xf7, 0x38, 0x81, + 0x48, 0x91, 0x85, 0xd5, 0x08, 0xc8, 0xb1, 0x08, 0xa1, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x71, 0xa2, 0xf7, 0x31, 0xda, 0xf6, 0x61, 0xa2, 0xf7, 0xc0, 0x20, + 0x00, 0x52, 0x26, 0x40, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x40, 0x41, 0x9e, 0xf7, + 0xc0, 0x20, 0x00, 0x22, 0x23, 0xfa, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x01, 0x06, 0xf7, 0x08, + 0x00, 0x02, 0x20, 0x1e, 0x22, 0x63, 0xfa, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x0d, 0xf0, 0x00, 0x00, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, + 0x11, 0x09, 0x01, 0xd9, 0x21, 0x61, 0x91, 0xf7, 0xd1, 0xc1, 0xf6, 0xc0, 0x20, 0x00, 0x52, 0x2d, + 0xd7, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x6d, 0xd7, 0x7c, 0xd4, 0xc0, 0x20, 0x00, 0x32, + 0x2d, 0xd4, 0x40, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, 0x6d, 0xd4, 0x0c, 0x22, 0xc0, 0x20, 0x00, + 0x02, 0x2d, 0xd4, 0x20, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x1c, 0x92, 0x02, 0x6d, 0xd4, 0x01, 0xd2, + 0xf6, 0xc0, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x0c, 0xd0, 0x20, 0xa0, 0xc0, 0x20, 0x00, 0x22, 0x22, + 0xe0, 0x02, 0xc0, 0x01, 0x20, 0x20, 0xb4, 0x20, 0xcc, 0xc0, 0xc2, 0xdc, 0x08, 0x66, 0x80, 0xe7, + 0x41, 0x7c, 0xf7, 0xc0, 0x20, 0x00, 0x32, 0x2d, 0xd7, 0x40, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, + 0x6d, 0xd7, 0x21, 0x78, 0xf7, 0xc0, 0x3c, 0x20, 0x05, 0xc8, 0x08, 0x02, 0x21, 0x00, 0x2d, 0x0c, + 0xd8, 0x21, 0xc8, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x0c, 0x15, 0x0c, 0x16, + 0x0c, 0x07, 0xad, 0x04, 0x9d, 0x02, 0x12, 0xc1, 0xe0, 0xd9, 0x31, 0xf9, 0x51, 0x22, 0xa0, 0x77, + 0x0c, 0xf4, 0xe9, 0x41, 0x09, 0x11, 0xc9, 0x21, 0xa9, 0x01, 0xc1, 0xd2, 0xf6, 0x99, 0x61, 0x08, + 0x0c, 0xed, 0x03, 0x02, 0x20, 0x27, 0x0c, 0x03, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x08, 0x0c, + 0x0c, 0x03, 0x02, 0x20, 0x24, 0x0c, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x0c, 0x84, 0x52, 0xa0, + 0xe8, 0x08, 0x0c, 0xdd, 0x02, 0x02, 0x20, 0x26, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x08, 0x61, + 0x72, 0xa0, 0xfb, 0x66, 0xfe, 0x1e, 0x70, 0xdd, 0x10, 0x0c, 0x0c, 0x00, 0xe0, 0x11, 0xe0, 0xe0, + 0x31, 0xd0, 0x4d, 0x20, 0xe0, 0x2e, 0x20, 0xc0, 0x3c, 0x20, 0x45, 0x98, 0x07, 0x1b, 0xcc, 0x66, + 0xfc, 0xee, 0xc6, 0x0c, 0x00, 0x7c, 0xcf, 0x0c, 0x03, 0x0c, 0x55, 0x48, 0x01, 0x0c, 0x12, 0x40, + 0x42, 0x93, 0x40, 0x25, 0x93, 0x40, 0x3f, 0x93, 0x27, 0xa3, 0x1d, 0x70, 0xdd, 0x10, 0xea, 0xf2, + 0xea, 0xc3, 0x00, 0xe0, 0x11, 0xe0, 0xe0, 0x31, 0xd0, 0x4d, 0x20, 0xe0, 0x2e, 0x20, 0xc0, 0x3c, + 0x20, 0xc5, 0x94, 0x07, 0x1b, 0xcc, 0xf7, 0x9c, 0xee, 0x22, 0xa0, 0x77, 0x01, 0xae, 0xf6, 0x0c, + 0x03, 0x08, 0x00, 0x1c, 0xb4, 0x02, 0x20, 0x26, 0x52, 0xa0, 0xff, 0xc0, 0x00, 0x00, 0xc8, 0x21, + 0xd8, 0x31, 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x11, 0xc9, 0x21, 0x01, 0x3b, 0xf7, 0xcc, 0x32, + 0x0c, 0x2c, 0x06, 0x02, 0x00, 0xc2, 0xa0, 0x01, 0x22, 0xa0, 0x00, 0x22, 0x40, 0x00, 0x2d, 0x0c, + 0x45, 0x4d, 0x08, 0x0c, 0x82, 0x0c, 0x03, 0x45, 0xe4, 0x07, 0x21, 0x34, 0xf7, 0x85, 0xd5, 0x07, + 0x2d, 0x0c, 0x85, 0x0b, 0x08, 0x2d, 0x0c, 0x05, 0x13, 0x08, 0x2d, 0x0c, 0x31, 0x87, 0xf6, 0xc0, + 0x20, 0x00, 0x32, 0x23, 0x80, 0x39, 0x01, 0x85, 0x5c, 0x08, 0xc1, 0x2b, 0xf7, 0x21, 0x2c, 0xf7, + 0xc0, 0x20, 0x00, 0x31, 0x81, 0xf6, 0x48, 0x01, 0x32, 0x23, 0x80, 0x40, 0x33, 0xc0, 0x01, 0x50, + 0xf6, 0xc0, 0x00, 0x00, 0x42, 0x0c, 0x00, 0x31, 0xc5, 0xf6, 0x21, 0x26, 0xf7, 0x38, 0x03, 0x01, + 0x4c, 0xf6, 0xc0, 0x00, 0x00, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xd0, 0x52, 0x61, 0x04, 0xe2, 0x61, 0x08, 0xd2, 0x61, 0x07, 0x09, 0x51, 0xc9, 0x61, + 0xf9, 0x91, 0xf1, 0x80, 0xf6, 0xcd, 0x04, 0x08, 0x0f, 0xdd, 0x02, 0x02, 0x20, 0x28, 0xed, 0x03, + 0xc0, 0x00, 0x00, 0x08, 0x0f, 0x02, 0x20, 0x30, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x21, 0x16, 0xf7, + 0x22, 0x12, 0x00, 0x05, 0x8a, 0x01, 0x08, 0x0f, 0x08, 0x60, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0x08, + 0x0f, 0x02, 0x20, 0x14, 0xd0, 0x20, 0x74, 0xc0, 0x00, 0x00, 0xfc, 0xdc, 0x0c, 0x07, 0x4c, 0x04, + 0x58, 0x41, 0x0c, 0x06, 0x69, 0x21, 0x69, 0x11, 0x69, 0x01, 0x50, 0x30, 0x74, 0x50, 0x34, 0x83, + 0x0c, 0x05, 0x0c, 0x06, 0x08, 0x0f, 0x4d, 0x02, 0x02, 0x20, 0x1a, 0x0c, 0x12, 0xc0, 0x00, 0x00, + 0xa6, 0x1e, 0x74, 0x0c, 0x0c, 0x0c, 0x0d, 0x08, 0x0f, 0x08, 0xb0, 0x22, 0xa1, 0x38, 0xc0, 0x00, + 0x00, 0xca, 0xc2, 0x1b, 0xdd, 0xd7, 0x9e, 0xee, 0x46, 0x08, 0x00, 0x66, 0x1c, 0x1b, 0xa6, 0x1e, + 0x36, 0xc2, 0xa0, 0x00, 0xd2, 0xa0, 0x00, 0x20, 0xf2, 0x20, 0x2d, 0x0f, 0xc5, 0xc3, 0x05, 0xc0, + 0xc2, 0x90, 0x1b, 0xdd, 0xd7, 0x9e, 0xf2, 0xc6, 0x07, 0x00, 0xc2, 0xa0, 0x00, 0x21, 0xf7, 0xf6, + 0xc0, 0x3c, 0x20, 0x85, 0xa6, 0x08, 0x02, 0x21, 0x05, 0xd8, 0x71, 0xe8, 0x81, 0x2d, 0x0c, 0xf8, + 0x91, 0xc8, 0x61, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x0c, 0x0c, 0xf1, 0x52, 0xf6, 0x08, 0x0f, 0x02, + 0x20, 0x32, 0xc0, 0x00, 0x00, 0x08, 0x0f, 0x02, 0x20, 0x31, 0xc0, 0x00, 0x00, 0x08, 0x0f, 0x02, + 0x20, 0x2f, 0xc0, 0x00, 0x00, 0x06, 0xf1, 0xff, 0x0c, 0x0c, 0xc6, 0xef, 0xff, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0xc5, 0xbb, 0x00, 0xb1, 0xe5, 0xf6, 0x20, 0x52, 0x20, 0x01, + 0x36, 0xf6, 0x22, 0xa0, 0x02, 0xc0, 0x20, 0x00, 0xb2, 0x60, 0x82, 0x0c, 0x4a, 0xc0, 0x20, 0x00, + 0x92, 0x20, 0x86, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x60, 0x86, 0x0c, 0x38, 0xc0, 0x20, + 0x00, 0x72, 0x20, 0x89, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x89, 0x61, 0xd9, 0xf6, + 0xc0, 0x20, 0x00, 0x48, 0x05, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x49, 0x05, 0xc0, 0x20, 0x00, + 0x32, 0x20, 0x88, 0x17, 0xe3, 0x08, 0xc0, 0x20, 0x00, 0x32, 0x20, 0x88, 0x27, 0x03, 0xf6, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xd0, 0xc2, 0x61, 0x01, 0xe2, 0x61, + 0x03, 0xf9, 0x41, 0x49, 0x81, 0x59, 0x71, 0x69, 0x51, 0x09, 0x01, 0xd9, 0x21, 0x29, 0x91, 0xdd, + 0x03, 0x28, 0x91, 0xc5, 0xbd, 0x00, 0xcd, 0x02, 0x28, 0x91, 0x05, 0xc7, 0x00, 0x81, 0x17, 0xf6, + 0x31, 0x18, 0xf6, 0xd0, 0x00, 0x34, 0xf6, 0xbd, 0x22, 0x40, 0x50, 0x11, 0xc0, 0x20, 0x00, 0x48, + 0x0c, 0x30, 0x44, 0x10, 0x50, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x49, 0x0c, 0xc0, 0x20, 0x00, 0x28, + 0x0c, 0x80, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x29, 0x0c, 0xc6, 0x0d, 0x00, 0xa1, 0x0e, 0xf6, 0xc0, + 0x20, 0x00, 0x98, 0x0c, 0x30, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x99, 0x0c, 0x91, + 0x0a, 0xf6, 0xc0, 0x20, 0x00, 0x78, 0x0c, 0x80, 0x77, 0x10, 0x90, 0x77, 0x20, 0xc0, 0x20, 0x00, + 0x79, 0x0c, 0x7c, 0x06, 0xc0, 0x20, 0x00, 0x58, 0x02, 0x60, 0x55, 0x10, 0x00, 0x55, 0x20, 0xc0, + 0x20, 0x00, 0x59, 0x02, 0xa8, 0x81, 0x16, 0x2a, 0x05, 0x0c, 0x0e, 0xc8, 0x71, 0xf1, 0xaa, 0xf6, + 0xc0, 0xd0, 0xf4, 0xd9, 0x61, 0xc0, 0xc0, 0xf5, 0x22, 0x21, 0x09, 0x45, 0xef, 0xff, 0x02, 0x21, + 0x05, 0x16, 0x60, 0x00, 0x0c, 0x12, 0x0c, 0x03, 0x45, 0x8e, 0x06, 0x28, 0x71, 0x27, 0xbf, 0x1c, + 0x8c, 0xec, 0x0c, 0x0d, 0x21, 0xa1, 0xf6, 0x01, 0xe4, 0xf5, 0xc0, 0x00, 0x00, 0x1b, 0xdd, 0xd7, + 0x9c, 0xf1, 0x28, 0x61, 0x01, 0xe1, 0xf5, 0xc0, 0x00, 0x00, 0xc6, 0x01, 0x00, 0x28, 0x61, 0x01, + 0xde, 0xf5, 0xc0, 0x00, 0x00, 0x38, 0x81, 0x1b, 0xee, 0x37, 0x9e, 0xbb, 0xc8, 0x11, 0xd8, 0x21, + 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x00, 0xb1, 0x94, 0xf6, 0xa1, + 0x94, 0xf6, 0x41, 0x84, 0xf6, 0xc0, 0x20, 0x00, 0x92, 0x24, 0x57, 0xb0, 0x99, 0x10, 0xa0, 0x99, + 0x20, 0xc0, 0x20, 0x00, 0x92, 0x64, 0x57, 0xe0, 0x72, 0x01, 0x81, 0x8e, 0xf6, 0xc0, 0x20, 0x00, + 0x62, 0x24, 0x53, 0x80, 0x66, 0x10, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x64, 0x53, 0x51, + 0x8a, 0xf6, 0xc0, 0x20, 0x00, 0x32, 0x24, 0x52, 0x50, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x64, + 0x52, 0x0d, 0xf0, 0x00, 0x71, 0x82, 0xf6, 0x61, 0x85, 0xf6, 0x31, 0x72, 0xf6, 0xc0, 0x20, 0x00, + 0x52, 0x23, 0x57, 0x70, 0x55, 0x10, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x63, 0x57, 0x41, + 0x80, 0xf6, 0xc0, 0x20, 0x00, 0x22, 0x23, 0x52, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x63, + 0x52, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x0c, 0x25, 0x01, 0x66, 0xf6, 0xc0, 0x20, + 0x00, 0x22, 0x20, 0x58, 0x17, 0x62, 0x08, 0xc0, 0x20, 0x00, 0x32, 0x20, 0x58, 0x17, 0xe3, 0xf6, + 0x81, 0x75, 0xf6, 0xc0, 0x20, 0x00, 0xa2, 0x20, 0x58, 0x80, 0xaa, 0x10, 0xc0, 0x20, 0x00, 0xa2, + 0x60, 0x58, 0xc0, 0x20, 0x00, 0x92, 0x20, 0x58, 0x80, 0x99, 0x10, 0x50, 0x99, 0x20, 0xc0, 0x20, + 0x00, 0x92, 0x60, 0x58, 0x71, 0x6d, 0xf6, 0xc0, 0x20, 0x00, 0x62, 0x20, 0x58, 0x80, 0x66, 0x10, + 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x60, 0x58, 0xc0, 0x20, 0x00, 0x42, 0x20, 0x58, 0x17, + 0x64, 0x08, 0xc0, 0x20, 0x00, 0xb2, 0x20, 0x58, 0x17, 0xeb, 0xf6, 0xc0, 0x20, 0x00, 0x21, 0xb6, + 0xf5, 0x02, 0x20, 0x59, 0x05, 0x41, 0x01, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x31, 0x5f, 0xf6, 0x12, 0xc1, 0xb0, 0xc9, 0x81, 0xd9, 0x91, 0xe9, 0xa1, 0xf9, 0xb1, 0x29, 0xd1, + 0x09, 0x71, 0x21, 0xa7, 0xf5, 0x85, 0x3f, 0x01, 0x21, 0xa5, 0xf5, 0x31, 0x59, 0xf6, 0x05, 0x3f, + 0x01, 0xc1, 0xa8, 0xf5, 0xe1, 0x9d, 0xf5, 0xc0, 0x20, 0x00, 0x02, 0x2e, 0x97, 0xc0, 0x00, 0x20, + 0xc0, 0x20, 0x00, 0x21, 0x54, 0xf6, 0x0c, 0x03, 0x02, 0x6e, 0x97, 0x45, 0x3d, 0x01, 0x51, 0x52, + 0xf6, 0x0c, 0xc3, 0xc0, 0x20, 0x00, 0x42, 0x2e, 0x82, 0x50, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, + 0x6e, 0x82, 0xc0, 0x20, 0x00, 0x22, 0x2e, 0x89, 0x30, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x6e, + 0x89, 0x21, 0x4a, 0xf6, 0x05, 0x3a, 0x01, 0x0c, 0x0f, 0x88, 0xd1, 0x0c, 0x06, 0x0c, 0x07, 0x20, + 0xa0, 0xb4, 0x0c, 0x00, 0x0c, 0x03, 0x0c, 0x04, 0x0c, 0x05, 0x52, 0x61, 0x13, 0x42, 0x61, 0x10, + 0x32, 0x61, 0x11, 0x02, 0x61, 0x12, 0xa9, 0x61, 0x79, 0xc1, 0x69, 0xf1, 0x71, 0x71, 0xf5, 0x80, + 0x80, 0xf4, 0x0c, 0x06, 0x69, 0xe1, 0x89, 0x51, 0x62, 0x47, 0x18, 0x0c, 0x18, 0x82, 0x47, 0x19, + 0x21, 0x3c, 0xf6, 0x45, 0x36, 0x01, 0xdd, 0x02, 0x21, 0x3b, 0xf6, 0xc5, 0x35, 0x01, 0xcd, 0x02, + 0xd0, 0x92, 0x04, 0x16, 0x99, 0x0b, 0x20, 0x00, 0x74, 0x56, 0x20, 0x09, 0x21, 0x81, 0xf5, 0x85, + 0x34, 0x01, 0xdd, 0x02, 0x21, 0x35, 0xf6, 0x05, 0x34, 0x01, 0xd0, 0x98, 0x75, 0xd0, 0xb0, 0x35, + 0xd0, 0xa6, 0x15, 0x0c, 0x14, 0x0c, 0x03, 0x51, 0x7b, 0xf5, 0x68, 0xf1, 0x20, 0x00, 0x34, 0x88, + 0x61, 0x0c, 0x02, 0x82, 0xd8, 0xf0, 0x1b, 0x66, 0x50, 0x5c, 0x10, 0x50, 0x34, 0x83, 0xa0, 0x24, + 0x83, 0x69, 0xf1, 0xa0, 0xb0, 0x93, 0x7b, 0x78, 0x0d, 0x09, 0x80, 0x78, 0xb3, 0x70, 0x73, 0x21, + 0xa6, 0xe9, 0x02, 0x02, 0xd9, 0xff, 0x7a, 0x00, 0x37, 0x02, 0x05, 0x91, 0x48, 0xf5, 0x97, 0x0c, + 0x0a, 0xc8, 0x51, 0xc0, 0xda, 0x11, 0xd0, 0xdb, 0x20, 0xd7, 0x1c, 0x08, 0x08, 0xc1, 0x1b, 0x00, + 0x09, 0xc1, 0x86, 0x0d, 0x00, 0x42, 0x21, 0x12, 0x58, 0x41, 0x38, 0x61, 0x22, 0x21, 0x10, 0x72, + 0x21, 0x11, 0x62, 0x21, 0x13, 0x7a, 0x70, 0x1b, 0x66, 0x62, 0x61, 0x13, 0x72, 0x61, 0x11, 0x3a, + 0x32, 0x4a, 0x45, 0x42, 0x61, 0x12, 0x22, 0xd3, 0xf0, 0x22, 0x61, 0x10, 0x06, 0x03, 0x00, 0x1b, + 0xff, 0x4c, 0x18, 0x87, 0x90, 0x05, 0x98, 0xe1, 0x1b, 0x99, 0x99, 0xe1, 0xc0, 0x20, 0x00, 0xa2, + 0x2e, 0x89, 0x0c, 0xcb, 0xb0, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x6e, 0x89, 0x86, 0x07, 0x00, + 0x37, 0x6d, 0x1b, 0x21, 0x55, 0xf5, 0x05, 0x29, 0x01, 0x20, 0x02, 0x65, 0x09, 0x41, 0xc0, 0x20, + 0x00, 0xc2, 0x2e, 0x89, 0x0c, 0x8d, 0xd0, 0xcc, 0x20, 0xc0, 0x20, 0x00, 0xc2, 0x6e, 0x89, 0x21, + 0x30, 0xf5, 0x22, 0x02, 0x18, 0x0b, 0x22, 0x56, 0x52, 0xf0, 0xc0, 0x20, 0x00, 0x62, 0x2e, 0x89, + 0x0c, 0xc7, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x21, 0x13, 0x62, 0x6e, 0x89, 0x51, 0x28, + 0xf5, 0x0c, 0x04, 0x42, 0x45, 0x18, 0x42, 0x45, 0x19, 0x16, 0x03, 0x04, 0x22, 0x21, 0x12, 0x32, + 0x21, 0x13, 0x20, 0x22, 0xa0, 0xf0, 0x22, 0x11, 0x45, 0xbe, 0x0a, 0x32, 0x21, 0x11, 0x22, 0x61, + 0x12, 0x30, 0x33, 0xa0, 0xf0, 0x23, 0x11, 0x32, 0x21, 0x13, 0x45, 0xbd, 0x0a, 0x32, 0x21, 0x13, + 0x42, 0x21, 0x10, 0x22, 0x61, 0x11, 0x40, 0x44, 0xa0, 0xf0, 0x24, 0x11, 0x05, 0xbc, 0x0a, 0x7b, + 0x52, 0x20, 0x52, 0xb3, 0x50, 0x53, 0x21, 0x52, 0x61, 0x10, 0x46, 0x04, 0x00, 0x62, 0xa0, 0x00, + 0x72, 0xa0, 0x00, 0x82, 0xa0, 0x00, 0x82, 0x61, 0x10, 0x72, 0x61, 0x11, 0x62, 0x61, 0x12, 0x98, + 0xd1, 0x07, 0xf9, 0x20, 0xf9, 0x01, 0x38, 0xf1, 0x42, 0x21, 0x13, 0x52, 0x21, 0x11, 0x62, 0x21, + 0x12, 0x72, 0x21, 0x10, 0x21, 0xde, 0xf5, 0xa8, 0xc1, 0xb8, 0xe1, 0xb9, 0x11, 0xa9, 0x21, 0xc5, + 0x5a, 0x08, 0xc6, 0x02, 0x00, 0x21, 0xda, 0xf5, 0x32, 0x21, 0x0f, 0x42, 0x21, 0x13, 0xc5, 0x59, + 0x08, 0xc2, 0x21, 0x08, 0xd2, 0x21, 0x09, 0xe8, 0xa1, 0xf8, 0xb1, 0x08, 0x71, 0x12, 0xc1, 0x50, + 0x0d, 0xf0, 0x00, 0x00, 0x0d, 0xf0, 0x00, 0x00, 0x51, 0xea, 0xf4, 0xc0, 0x20, 0x00, 0x61, 0xd2, + 0xf5, 0x91, 0xd0, 0xf5, 0x82, 0x25, 0xf1, 0x20, 0x70, 0x44, 0x30, 0x40, 0x54, 0xe0, 0x44, 0x01, + 0x80, 0x77, 0x01, 0x90, 0x88, 0x10, 0x80, 0x77, 0x20, 0x70, 0x44, 0x20, 0x60, 0x44, 0x20, 0xc0, + 0x20, 0x00, 0x42, 0x65, 0xf1, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x21, 0xdc, 0xf4, + 0xc0, 0x20, 0x00, 0x22, 0x22, 0xf1, 0x20, 0x32, 0x55, 0x20, 0x08, 0x75, 0x20, 0x48, 0x45, 0x77, + 0x72, 0x02, 0x32, 0xc3, 0xc0, 0x47, 0x60, 0x02, 0x42, 0xc4, 0xe0, 0x21, 0xc0, 0xf5, 0xc5, 0x52, + 0x08, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x41, 0xf8, 0xf4, 0xc0, 0x20, 0x00, 0x22, 0x64, + 0x92, 0xc0, 0x20, 0x00, 0x32, 0x64, 0x93, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x81, 0xb9, 0xf5, 0x71, + 0xa1, 0xf5, 0x31, 0xf1, 0xf4, 0x61, 0xb7, 0xf5, 0xc0, 0x20, 0x00, 0x52, 0x26, 0x82, 0x80, 0x55, + 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x82, 0x0c, 0x14, 0xc0, 0x20, 0x00, 0x22, + 0x23, 0xa5, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xa5, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x81, 0xae, 0xf5, 0x51, 0x95, 0xf5, 0x7c, 0xf6, 0x31, 0xe4, 0xf4, 0xc0, 0x20, 0x00, 0x82, 0x63, + 0x8c, 0x71, 0xaa, 0xf5, 0xc0, 0x20, 0x00, 0x72, 0x63, 0x8d, 0xc0, 0x20, 0x00, 0x62, 0x63, 0x90, + 0xc0, 0x20, 0x00, 0x52, 0x63, 0x91, 0xc0, 0x20, 0x00, 0x62, 0x63, 0x98, 0xc0, 0x20, 0x00, 0x52, + 0x63, 0x99, 0x41, 0xa3, 0xf5, 0xc0, 0x20, 0x00, 0x42, 0x63, 0x94, 0x21, 0xa2, 0xf5, 0xc0, 0x20, + 0x00, 0x22, 0x63, 0x95, 0x0d, 0xf0, 0x00, 0x00, 0x31, 0xdd, 0xf4, 0x71, 0xde, 0xf4, 0x61, 0xd2, + 0xf4, 0xc0, 0x20, 0x00, 0x82, 0x26, 0x91, 0x70, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x66, 0x91, + 0xc0, 0x20, 0x00, 0x52, 0x26, 0x99, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x99, 0x41, + 0x96, 0xf5, 0xc0, 0x20, 0x00, 0x22, 0x23, 0x81, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, + 0x81, 0x0d, 0xf0, 0x00, 0x71, 0xb5, 0xf4, 0x31, 0xcd, 0xf4, 0x61, 0xc3, 0xf4, 0xc0, 0x20, 0x00, + 0x82, 0x26, 0x91, 0x70, 0x88, 0x10, 0xc0, 0x20, 0x00, 0x82, 0x66, 0x91, 0xc0, 0x20, 0x00, 0x52, + 0x26, 0x99, 0x70, 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x99, 0x41, 0x88, 0xf5, 0xc0, 0x20, + 0x00, 0x22, 0x23, 0x81, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x63, 0x81, 0x0d, 0xf0, 0x00, + 0x12, 0xc1, 0xb0, 0xf2, 0x61, 0x13, 0x42, 0x61, 0x09, 0x52, 0x61, 0x0a, 0x69, 0xb1, 0x09, 0xf1, + 0xe2, 0x61, 0x12, 0xd2, 0x61, 0x11, 0xc2, 0x61, 0x10, 0xdd, 0x07, 0xcd, 0x02, 0xed, 0x03, 0x0c, + 0xa2, 0x05, 0x59, 0x00, 0x29, 0xc1, 0x0c, 0xa2, 0xc5, 0x75, 0x00, 0x29, 0xd1, 0x0c, 0x03, 0x81, + 0xaa, 0xf4, 0xc0, 0x20, 0x00, 0x92, 0x28, 0x92, 0x99, 0xe1, 0xc0, 0x20, 0x00, 0x42, 0xce, 0x28, + 0x72, 0xc1, 0x50, 0x82, 0x28, 0x93, 0x89, 0x81, 0x78, 0x07, 0x66, 0x5c, 0x0c, 0x0c, 0x00, 0x0c, + 0xba, 0xa9, 0x0d, 0x39, 0x07, 0x0c, 0x3f, 0xc6, 0x0e, 0x00, 0x66, 0x4c, 0x0c, 0x0c, 0x00, 0x0c, + 0x0f, 0x0c, 0x8b, 0xb9, 0x0d, 0x39, 0x07, 0xc6, 0x0a, 0x00, 0x0c, 0x10, 0x66, 0x3c, 0x08, 0x3d, + 0x00, 0x1c, 0x6c, 0xc9, 0x0d, 0x86, 0xf6, 0xff, 0x1c, 0x79, 0x66, 0x2c, 0x06, 0x99, 0x0d, 0x3d, + 0x00, 0x86, 0xf3, 0xff, 0xf2, 0xcc, 0xff, 0x56, 0xdf, 0x0d, 0x02, 0xa0, 0x00, 0x22, 0xa0, 0x10, + 0x29, 0x0d, 0x39, 0x07, 0x0c, 0x1f, 0x31, 0xb4, 0xf4, 0xc1, 0x73, 0xf4, 0x47, 0xa3, 0x02, 0x86, + 0x2d, 0x00, 0x5d, 0x04, 0x0c, 0x06, 0x0c, 0x07, 0xe8, 0x81, 0x0c, 0xa2, 0x81, 0x59, 0xf5, 0x0c, + 0x09, 0x38, 0x0d, 0x09, 0x41, 0x99, 0x01, 0x99, 0x11, 0x99, 0x21, 0x89, 0x31, 0xc5, 0x7f, 0x00, + 0xd1, 0x55, 0xf5, 0xf0, 0xa0, 0x24, 0xb1, 0x54, 0xf5, 0x80, 0xaa, 0x01, 0xc0, 0x20, 0x00, 0x98, + 0xc1, 0x88, 0x09, 0xd0, 0x88, 0x10, 0xa0, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x89, 0x09, 0x71, 0x4f, + 0xf5, 0xc0, 0x20, 0x00, 0x68, 0xd1, 0x58, 0x06, 0x70, 0x55, 0x10, 0xc0, 0x55, 0x20, 0xc0, 0x20, + 0x00, 0x59, 0x06, 0x41, 0x4b, 0xf5, 0xc0, 0x20, 0x00, 0x42, 0x6b, 0x90, 0xc0, 0x20, 0x00, 0x08, + 0xe1, 0x28, 0xa1, 0x38, 0x91, 0x32, 0x6b, 0x91, 0x20, 0x20, 0xf4, 0x00, 0x30, 0x11, 0x30, 0x22, + 0x20, 0xc0, 0x20, 0x00, 0x22, 0x6b, 0x92, 0x10, 0x40, 0x40, 0x00, 0x0e, 0x81, 0xc0, 0x20, 0x00, + 0x02, 0x6b, 0x93, 0xc0, 0x20, 0x00, 0xf2, 0x6b, 0x94, 0xc0, 0x20, 0x00, 0xe2, 0x6b, 0x95, 0xc0, + 0x20, 0x00, 0xd2, 0x6b, 0x96, 0xc0, 0x20, 0x00, 0xc2, 0x6b, 0x97, 0xc0, 0x20, 0x00, 0x21, 0x39, + 0xf5, 0x08, 0xf1, 0xc2, 0x21, 0x10, 0xd2, 0x21, 0x11, 0xe2, 0x21, 0x12, 0xf2, 0x21, 0x13, 0xa8, + 0xb1, 0xa2, 0x6b, 0x98, 0x12, 0xc1, 0x50, 0x0d, 0xf0, 0x47, 0x2c, 0x12, 0x5d, 0x03, 0x0c, 0x07, + 0x62, 0xa8, 0x28, 0x6a, 0x6e, 0xc6, 0xcf, 0xff, 0x99, 0x0d, 0x3d, 0x00, 0x86, 0xc8, 0xff, 0x71, + 0x2e, 0xf5, 0x6d, 0x03, 0x47, 0x27, 0x0a, 0x71, 0x2d, 0xf5, 0x51, 0x7b, 0xf4, 0x7a, 0x7e, 0x46, + 0xc9, 0xff, 0x81, 0x2b, 0xf5, 0x71, 0x2b, 0xf5, 0x47, 0x28, 0x02, 0xc6, 0xfa, 0xff, 0x0c, 0x05, + 0x06, 0xc4, 0xff, 0x00, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0x02, 0x61, 0x00, 0x20, 0xc2, 0x20, + 0x0c, 0xa2, 0x05, 0x41, 0x00, 0x91, 0xfa, 0xf4, 0x5d, 0x02, 0x01, 0x4b, 0xf4, 0x21, 0x2c, 0xf4, + 0xc0, 0x20, 0x00, 0x92, 0x60, 0x82, 0xc0, 0x20, 0x00, 0x82, 0x20, 0x86, 0x20, 0x88, 0x20, 0xc0, + 0x20, 0x00, 0x82, 0x60, 0x86, 0xc0, 0x20, 0x00, 0x72, 0x20, 0x89, 0x20, 0x77, 0x20, 0xc0, 0x20, + 0x00, 0x72, 0x60, 0x89, 0x61, 0xf0, 0xf4, 0xc0, 0x20, 0x00, 0x48, 0x05, 0x60, 0x44, 0x20, 0xc0, + 0x20, 0x00, 0x49, 0x05, 0xc0, 0x20, 0x00, 0x52, 0x20, 0x80, 0xc0, 0x20, 0x00, 0x32, 0x20, 0x88, + 0x37, 0xf3, 0x19, 0xc0, 0x20, 0x00, 0xa2, 0x20, 0x80, 0x50, 0xaa, 0xc0, 0xc7, 0x3a, 0x04, 0x7c, + 0xf2, 0x46, 0x07, 0x00, 0xc0, 0x20, 0x00, 0xb2, 0x20, 0x88, 0x27, 0x0b, 0xe5, 0xc0, 0x20, 0x00, + 0xc2, 0x20, 0x89, 0x20, 0xcc, 0x20, 0xc0, 0x20, 0x00, 0xc2, 0x60, 0x89, 0xc0, 0x20, 0x00, 0x22, + 0x20, 0xa1, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x22, 0xa0, 0x0a, 0x12, + 0xc1, 0xf0, 0x02, 0x61, 0x00, 0xc5, 0x37, 0x00, 0x41, 0xf9, 0xf4, 0x31, 0x0b, 0xf4, 0xc0, 0x20, + 0x00, 0x02, 0x22, 0x00, 0x40, 0x00, 0x10, 0x30, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x09, 0x02, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x51, 0x1f, 0xf4, 0xc0, 0x20, + 0x00, 0x62, 0x25, 0x80, 0x72, 0xa1, 0x00, 0xb1, 0xf4, 0xf4, 0x81, 0x24, 0xf4, 0x91, 0xe6, 0xf4, + 0xc0, 0x20, 0x00, 0x42, 0x28, 0x81, 0x90, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x68, 0x81, 0xc0, + 0x20, 0x00, 0x32, 0x25, 0x88, 0x87, 0xe3, 0x1b, 0xc0, 0x20, 0x00, 0xa2, 0x25, 0x80, 0x60, 0xaa, + 0xc0, 0x27, 0x3a, 0x06, 0x7c, 0xf2, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0xc0, 0x20, 0x00, 0x32, 0x25, + 0x88, 0x77, 0x03, 0xe3, 0xc0, 0x20, 0x00, 0x32, 0x25, 0x89, 0x70, 0x33, 0x20, 0xc0, 0x20, 0x00, + 0x32, 0x65, 0x89, 0xc0, 0x20, 0x00, 0xa2, 0x28, 0x80, 0xa0, 0xa0, 0x74, 0xc0, 0x20, 0x00, 0x42, + 0x28, 0x87, 0xc0, 0x20, 0x00, 0x48, 0x14, 0xaa, 0x44, 0xcb, 0x44, 0x49, 0x01, 0xc0, 0x20, 0x00, + 0x48, 0x84, 0xc0, 0x20, 0x00, 0xa2, 0x25, 0x80, 0xb7, 0x94, 0x09, 0x28, 0x01, 0x12, 0xc1, 0x10, + 0x22, 0xc2, 0x24, 0x0d, 0xf0, 0x60, 0x3a, 0xc0, 0x27, 0x33, 0x84, 0x0c, 0x02, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0x62, 0xd2, 0xfe, 0xc0, 0x20, 0x00, 0x32, 0x66, 0x78, 0x40, 0x70, 0xf4, + 0x81, 0xcf, 0xf4, 0xc0, 0x20, 0x00, 0x52, 0x26, 0x79, 0x80, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, + 0x20, 0x00, 0x52, 0x66, 0x79, 0x0d, 0xf0, 0x00, 0x42, 0xc4, 0x28, 0x1c, 0x06, 0x57, 0xb6, 0x25, + 0xa1, 0xf2, 0xf3, 0xb1, 0xee, 0xf3, 0xc0, 0x20, 0x00, 0x98, 0x02, 0xb0, 0x99, 0x10, 0xa0, 0x99, + 0x20, 0xc0, 0x20, 0x00, 0x99, 0x02, 0x80, 0x84, 0x11, 0x50, 0x70, 0x24, 0x80, 0x77, 0x20, 0xc0, + 0x20, 0x00, 0x79, 0x03, 0x0d, 0xf0, 0x40, 0x35, 0x11, 0x30, 0x34, 0x20, 0xc0, 0x20, 0x00, 0x39, + 0x02, 0x0d, 0xf0, 0x00, 0x51, 0xbb, 0xf4, 0xc0, 0x20, 0x00, 0x32, 0x25, 0x97, 0xc0, 0x20, 0x00, + 0x30, 0x40, 0x74, 0x52, 0x25, 0x96, 0x30, 0x38, 0x41, 0x50, 0x58, 0x75, 0x80, 0x55, 0x11, 0x50, + 0x44, 0x20, 0x49, 0x12, 0x41, 0xb4, 0xf4, 0x80, 0x33, 0x01, 0x40, 0x33, 0x20, 0x39, 0x02, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x39, 0x02, 0x0d, 0xf0, 0x00, 0xc0, 0x20, 0x00, 0x28, + 0x02, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x0c, 0x08, 0xa1, 0xcf, 0xf3, 0x21, 0xd7, + 0xf3, 0xc0, 0x20, 0x00, 0x82, 0x62, 0x9b, 0x7c, 0xd7, 0xc0, 0x20, 0x00, 0x62, 0x2a, 0xa2, 0x70, + 0x66, 0x10, 0xc0, 0x20, 0x00, 0x62, 0x6a, 0xa2, 0x7c, 0x75, 0xc0, 0x20, 0x00, 0x42, 0x2a, 0xa2, + 0x50, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x6a, 0xa2, 0x6c, 0xf3, 0xc0, 0x20, 0x00, 0x02, 0x2a, + 0xa2, 0x30, 0x00, 0x10, 0xc0, 0x20, 0x00, 0x02, 0x6a, 0xa2, 0xb1, 0x9b, 0xf4, 0xc0, 0x20, 0x00, + 0x92, 0x2a, 0xa2, 0xb0, 0x99, 0x10, 0xc0, 0x20, 0x00, 0x92, 0x6a, 0xa2, 0x81, 0x98, 0xf4, 0xc0, + 0x20, 0x00, 0x72, 0x22, 0x80, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x62, 0x80, 0x61, 0x8f, + 0xf4, 0xc0, 0x20, 0x00, 0x52, 0x22, 0x9c, 0x60, 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, 0x62, 0x9c, + 0x42, 0xaf, 0x00, 0x0c, 0xc3, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x80, 0x40, 0x00, 0x10, 0x30, 0x00, + 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x80, 0x1c, 0xf3, 0x21, 0x89, 0xf4, 0x45, 0xf5, 0xff, 0x21, + 0xb0, 0xf3, 0x31, 0x62, 0xf4, 0xc5, 0xf4, 0xff, 0x21, 0xad, 0xf3, 0x31, 0x61, 0xf4, 0x45, 0xf4, + 0xff, 0x21, 0x84, 0xf4, 0x31, 0x85, 0xf4, 0xc5, 0xf3, 0xff, 0x21, 0x84, 0xf4, 0x31, 0x84, 0xf4, + 0x05, 0xf3, 0xff, 0x72, 0xa2, 0x00, 0xc0, 0x20, 0x00, 0x21, 0x9f, 0xf3, 0x82, 0x22, 0x86, 0x70, + 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x62, 0x86, 0xc0, 0x20, 0x00, 0x62, 0x22, 0x89, 0x70, 0x66, + 0x20, 0xc0, 0x20, 0x00, 0x62, 0x62, 0x89, 0x51, 0x3d, 0xf4, 0xc0, 0x20, 0x00, 0x42, 0x22, 0xa2, + 0x50, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x62, 0xa2, 0x31, 0x76, 0xf4, 0xc0, 0x20, 0x00, 0x02, + 0x22, 0xa2, 0x30, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0xa2, 0xb1, 0x4b, 0xf4, 0xc0, 0x20, + 0x00, 0xa1, 0x96, 0xf3, 0x92, 0x2a, 0x9e, 0xb0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x6a, 0x9e, + 0x21, 0x6e, 0xf4, 0x31, 0x6e, 0xf4, 0x05, 0x76, 0x00, 0x21, 0x6d, 0xf4, 0x32, 0xa3, 0x00, 0x45, + 0x80, 0x00, 0x21, 0x6c, 0xf4, 0x32, 0xa1, 0x00, 0x45, 0x8a, 0x00, 0x45, 0x73, 0x00, 0x08, 0x01, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x26, 0x92, 0x1e, 0x0c, 0xb3, 0x37, 0x12, 0x23, + 0x26, 0xa2, 0x25, 0x0c, 0xd4, 0x47, 0x12, 0x25, 0x0c, 0xe5, 0x57, 0x12, 0x25, 0x0c, 0xf6, 0x67, + 0x12, 0x25, 0x26, 0xb2, 0x27, 0x1c, 0x17, 0x77, 0x12, 0x04, 0x21, 0x5f, 0xf4, 0x0d, 0xf0, 0x21, + 0x5f, 0xf4, 0x0d, 0xf0, 0x21, 0x5f, 0xf4, 0x0d, 0xf0, 0x21, 0x5e, 0xf4, 0x0d, 0xf0, 0x21, 0x5e, + 0xf4, 0x0d, 0xf0, 0x21, 0x5e, 0xf4, 0x0d, 0xf0, 0x21, 0x5e, 0xf4, 0x0d, 0xf0, 0x21, 0x5d, 0xf4, + 0x0d, 0xf0, 0x00, 0x00, 0x1c, 0xc3, 0x37, 0xb2, 0x5e, 0x51, 0x5b, 0xf4, 0x20, 0x42, 0x90, 0x5a, + 0x44, 0xa0, 0x04, 0x00, 0x06, 0x14, 0x00, 0x46, 0x14, 0x00, 0x86, 0x1c, 0x00, 0xc6, 0x1a, 0x00, + 0x06, 0x11, 0x00, 0x46, 0x10, 0x00, 0x86, 0x0f, 0x00, 0xc6, 0x0e, 0x00, 0x06, 0x0e, 0x00, 0x46, + 0x0d, 0x00, 0x86, 0x0c, 0x00, 0xc6, 0x13, 0x00, 0x06, 0x12, 0x00, 0x46, 0x10, 0x00, 0x86, 0x0e, + 0x00, 0xc6, 0x0c, 0x00, 0x06, 0x0b, 0x00, 0x46, 0x09, 0x00, 0x86, 0x06, 0x00, 0xc6, 0x05, 0x00, + 0x06, 0x05, 0x00, 0x46, 0x0c, 0x00, 0x86, 0x0a, 0x00, 0xc6, 0x08, 0x00, 0x06, 0x07, 0x00, 0x46, + 0x05, 0x00, 0x86, 0x03, 0x00, 0xc6, 0x01, 0x00, 0x0c, 0x02, 0x0d, 0xf0, 0x0c, 0x92, 0x0d, 0xf0, + 0x0c, 0x72, 0x0d, 0xf0, 0x0c, 0x62, 0x0d, 0xf0, 0x0c, 0x52, 0x0d, 0xf0, 0x0c, 0x42, 0x0d, 0xf0, + 0x0c, 0x32, 0x0d, 0xf0, 0x0c, 0x22, 0x0d, 0xf0, 0x0c, 0x12, 0x0d, 0xf0, 0x0c, 0xb2, 0x0d, 0xf0, + 0x0c, 0xa2, 0x0d, 0xf0, 0x1c, 0xc3, 0x37, 0xb2, 0x5e, 0x51, 0x38, 0xf4, 0x20, 0x42, 0x90, 0x5a, + 0x44, 0xa0, 0x04, 0x00, 0x06, 0x14, 0x00, 0x86, 0x14, 0x00, 0x06, 0x1f, 0x00, 0x06, 0x1d, 0x00, + 0x06, 0x11, 0x00, 0x46, 0x10, 0x00, 0x86, 0x0f, 0x00, 0xc6, 0x0e, 0x00, 0x06, 0x0e, 0x00, 0x46, + 0x0d, 0x00, 0x86, 0x0c, 0x00, 0xc6, 0x15, 0x00, 0xc6, 0x13, 0x00, 0xc6, 0x11, 0x00, 0xc6, 0x0f, + 0x00, 0xc6, 0x0d, 0x00, 0xc6, 0x0b, 0x00, 0xc6, 0x09, 0x00, 0x86, 0x06, 0x00, 0xc6, 0x05, 0x00, + 0x06, 0x05, 0x00, 0x46, 0x0e, 0x00, 0x46, 0x0c, 0x00, 0x46, 0x0a, 0x00, 0x46, 0x08, 0x00, 0x46, + 0x06, 0x00, 0x46, 0x04, 0x00, 0x46, 0x02, 0x00, 0x21, 0x22, 0xf4, 0x0d, 0xf0, 0x21, 0x21, 0xf4, + 0x0d, 0xf0, 0x21, 0x21, 0xf4, 0x0d, 0xf0, 0x21, 0x21, 0xf4, 0x0d, 0xf0, 0x21, 0x21, 0xf4, 0x0d, + 0xf0, 0x21, 0x20, 0xf4, 0x0d, 0xf0, 0x21, 0x20, 0xf4, 0x0d, 0xf0, 0x21, 0x20, 0xf4, 0x0d, 0xf0, + 0x21, 0x20, 0xf4, 0x0d, 0xf0, 0x21, 0x1f, 0xf4, 0x0d, 0xf0, 0x21, 0x1f, 0xf4, 0x0d, 0xf0, 0x00, + 0x1c, 0xc3, 0x37, 0xb2, 0x5e, 0x51, 0x1d, 0xf4, 0x20, 0x42, 0x90, 0x5a, 0x44, 0xa0, 0x04, 0x00, + 0x06, 0x14, 0x00, 0x86, 0x14, 0x00, 0x06, 0x1f, 0x00, 0x06, 0x1d, 0x00, 0x06, 0x11, 0x00, 0x46, + 0x10, 0x00, 0x86, 0x0f, 0x00, 0xc6, 0x0e, 0x00, 0x06, 0x0e, 0x00, 0x46, 0x0d, 0x00, 0x86, 0x0c, + 0x00, 0xc6, 0x15, 0x00, 0xc6, 0x13, 0x00, 0xc6, 0x11, 0x00, 0xc6, 0x0f, 0x00, 0xc6, 0x0d, 0x00, + 0xc6, 0x0b, 0x00, 0xc6, 0x09, 0x00, 0x86, 0x06, 0x00, 0xc6, 0x05, 0x00, 0x06, 0x05, 0x00, 0x46, + 0x0e, 0x00, 0x46, 0x0c, 0x00, 0x46, 0x0a, 0x00, 0x46, 0x08, 0x00, 0x46, 0x06, 0x00, 0x46, 0x04, + 0x00, 0x46, 0x02, 0x00, 0x21, 0x07, 0xf4, 0x0d, 0xf0, 0x21, 0x06, 0xf4, 0x0d, 0xf0, 0x21, 0x06, + 0xf4, 0x0d, 0xf0, 0x21, 0x06, 0xf4, 0x0d, 0xf0, 0x21, 0x06, 0xf4, 0x0d, 0xf0, 0x21, 0x05, 0xf4, + 0x0d, 0xf0, 0x21, 0x05, 0xf4, 0x0d, 0xf0, 0x21, 0x05, 0xf4, 0x0d, 0xf0, 0x21, 0x05, 0xf4, 0x0d, + 0xf0, 0x21, 0x04, 0xf4, 0x0d, 0xf0, 0x21, 0x04, 0xf4, 0x0d, 0xf0, 0x00, 0x1c, 0xc3, 0x37, 0xb2, + 0x5e, 0x51, 0x02, 0xf4, 0x20, 0x42, 0x90, 0x5a, 0x44, 0xa0, 0x04, 0x00, 0x06, 0x14, 0x00, 0x86, + 0x14, 0x00, 0x06, 0x1f, 0x00, 0x06, 0x1d, 0x00, 0x06, 0x11, 0x00, 0x46, 0x10, 0x00, 0x86, 0x0f, + 0x00, 0xc6, 0x0e, 0x00, 0x06, 0x0e, 0x00, 0x46, 0x0d, 0x00, 0x86, 0x0c, 0x00, 0xc6, 0x15, 0x00, + 0xc6, 0x13, 0x00, 0xc6, 0x11, 0x00, 0xc6, 0x0f, 0x00, 0xc6, 0x0d, 0x00, 0xc6, 0x0b, 0x00, 0xc6, + 0x09, 0x00, 0x86, 0x06, 0x00, 0xc6, 0x05, 0x00, 0x06, 0x05, 0x00, 0x46, 0x0e, 0x00, 0x46, 0x0c, + 0x00, 0x46, 0x0a, 0x00, 0x46, 0x08, 0x00, 0x46, 0x06, 0x00, 0x46, 0x04, 0x00, 0x46, 0x02, 0x00, + 0x21, 0xec, 0xf3, 0x0d, 0xf0, 0x21, 0xeb, 0xf3, 0x0d, 0xf0, 0x21, 0xeb, 0xf3, 0x0d, 0xf0, 0x21, + 0xeb, 0xf3, 0x0d, 0xf0, 0x21, 0xeb, 0xf3, 0x0d, 0xf0, 0x21, 0xea, 0xf3, 0x0d, 0xf0, 0x21, 0xea, + 0xf3, 0x0d, 0xf0, 0x21, 0xea, 0xf3, 0x0d, 0xf0, 0x21, 0xea, 0xf3, 0x0d, 0xf0, 0x21, 0xe9, 0xf3, + 0x0d, 0xf0, 0x21, 0xe9, 0xf3, 0x0d, 0xf0, 0x00, 0x26, 0x92, 0x1e, 0x0c, 0xb3, 0x37, 0x12, 0x23, + 0x26, 0xa2, 0x25, 0x0c, 0xd4, 0x47, 0x12, 0x25, 0x0c, 0xe5, 0x57, 0x12, 0x25, 0x0c, 0xf6, 0x67, + 0x12, 0x25, 0x26, 0xb2, 0x27, 0x1c, 0x17, 0x77, 0x12, 0x04, 0x21, 0xaa, 0xf3, 0x0d, 0xf0, 0x21, + 0xdf, 0xf3, 0x0d, 0xf0, 0x21, 0xdf, 0xf3, 0x0d, 0xf0, 0x21, 0xde, 0xf3, 0x0d, 0xf0, 0x21, 0xde, + 0xf3, 0x0d, 0xf0, 0x21, 0xde, 0xf3, 0x0d, 0xf0, 0x21, 0xde, 0xf3, 0x0d, 0xf0, 0x21, 0xdd, 0xf3, + 0x0d, 0xf0, 0x00, 0x00, 0x1c, 0x23, 0x52, 0xc2, 0xf6, 0x21, 0xbf, 0xf2, 0x37, 0xb5, 0x40, 0x61, + 0xda, 0xf3, 0x50, 0x45, 0x90, 0x6a, 0x44, 0xa0, 0x04, 0x00, 0x06, 0x31, 0x00, 0x06, 0x2e, 0x00, + 0x06, 0x2b, 0x00, 0x06, 0x28, 0x00, 0x06, 0x25, 0x00, 0x06, 0x22, 0x00, 0x06, 0x1f, 0x00, 0x86, + 0x09, 0x00, 0x86, 0x06, 0x00, 0xc6, 0x05, 0x00, 0x06, 0x0a, 0x00, 0x06, 0x19, 0x00, 0x06, 0x16, + 0x00, 0x06, 0x13, 0x00, 0x06, 0x10, 0x00, 0x06, 0x0d, 0x00, 0x06, 0x0a, 0x00, 0x06, 0x07, 0x00, + 0xc0, 0x20, 0x00, 0x22, 0x22, 0xf0, 0x46, 0x01, 0x00, 0xc0, 0x20, 0x00, 0x22, 0x22, 0xc6, 0x20, + 0x20, 0x94, 0x0d, 0xf0, 0xc0, 0x20, 0x00, 0x22, 0x22, 0xf0, 0x46, 0xfc, 0xff, 0xc0, 0x20, 0x00, + 0x22, 0x22, 0xc6, 0x06, 0xfa, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x22, 0xcc, 0xc6, 0xf7, 0xff, 0xc0, + 0x20, 0x00, 0x22, 0x22, 0xd2, 0x86, 0xf5, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x22, 0xd8, 0x46, 0xf3, + 0xff, 0xc0, 0x20, 0x00, 0x22, 0x22, 0xde, 0x06, 0xf1, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x22, 0xe4, + 0xc6, 0xee, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x22, 0xea, 0x86, 0xec, 0xff, 0xc0, 0x20, 0x00, 0x22, + 0x22, 0xcc, 0x46, 0xea, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x22, 0xd2, 0x06, 0xe8, 0xff, 0xc0, 0x20, + 0x00, 0x22, 0x22, 0xd8, 0xc6, 0xe5, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x22, 0xde, 0x86, 0xe3, 0xff, + 0xc0, 0x20, 0x00, 0x22, 0x22, 0xe4, 0x46, 0xe1, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x22, 0xea, 0x06, + 0xdf, 0xff, 0xc0, 0x20, 0x00, 0x22, 0x22, 0xf0, 0xc6, 0xdc, 0xff, 0x00, 0x82, 0xa0, 0xf0, 0x80, + 0x11, 0xc0, 0xe2, 0x61, 0x33, 0xf2, 0x61, 0x34, 0x22, 0x61, 0x36, 0x32, 0x61, 0x39, 0x72, 0x61, + 0x2f, 0x62, 0x61, 0x2e, 0x02, 0x61, 0x30, 0xc2, 0x61, 0x31, 0xd2, 0x61, 0x32, 0x50, 0xc5, 0x20, + 0x40, 0xd4, 0x20, 0xc5, 0xf9, 0xfd, 0xe2, 0x21, 0x36, 0xe0, 0xe0, 0x74, 0xe0, 0x2e, 0x20, 0x45, + 0xcc, 0xff, 0xfd, 0x02, 0x2d, 0x0e, 0x85, 0xd5, 0xff, 0x22, 0x61, 0x35, 0xf2, 0x61, 0x2d, 0x2d, + 0x0e, 0x85, 0xde, 0xff, 0xfd, 0x02, 0x2d, 0x0e, 0xc5, 0xe7, 0xff, 0x0c, 0x03, 0xf2, 0x61, 0x2c, + 0x05, 0xa7, 0xff, 0x80, 0x5d, 0x11, 0x02, 0x21, 0x39, 0xf2, 0x21, 0x40, 0x42, 0x21, 0x3d, 0x32, + 0x21, 0x3e, 0x00, 0x44, 0x11, 0x90, 0x33, 0x01, 0x10, 0xff, 0x01, 0x00, 0x20, 0x34, 0x5a, 0x22, + 0x2a, 0xff, 0xf6, 0xb0, 0x1c, 0x22, 0x21, 0x35, 0x3a, 0x34, 0x40, 0x50, 0x11, 0xd0, 0x40, 0xb4, + 0x5a, 0x44, 0x4a, 0x33, 0xc5, 0xa3, 0xff, 0x3d, 0x0f, 0x22, 0x21, 0x2c, 0x45, 0xa3, 0xff, 0x06, + 0x1d, 0x00, 0x30, 0x74, 0x20, 0x81, 0x7d, 0xf3, 0x31, 0x7e, 0xf3, 0x80, 0x77, 0x20, 0xc0, 0x20, + 0x00, 0x82, 0x21, 0x35, 0x1c, 0x36, 0x79, 0x08, 0xe7, 0xb6, 0x1e, 0x6c, 0xfe, 0x3a, 0x3f, 0x22, + 0x21, 0x2c, 0x05, 0xa1, 0xff, 0xc0, 0x20, 0x00, 0xa1, 0x58, 0xf2, 0x92, 0x2a, 0xa2, 0xe0, 0x99, + 0x10, 0xc0, 0x20, 0x00, 0x92, 0x6a, 0xa2, 0x06, 0x0f, 0x00, 0xa2, 0x21, 0x36, 0xa0, 0xa8, 0x74, + 0xec, 0x0a, 0x6c, 0xfe, 0x31, 0x70, 0xf3, 0x22, 0x21, 0x2c, 0x3a, 0x3f, 0x45, 0x9e, 0xff, 0xc0, + 0x20, 0x00, 0x51, 0x4d, 0xf2, 0x42, 0x25, 0xa2, 0xe0, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x65, + 0xa2, 0x86, 0x04, 0x00, 0x3a, 0x3f, 0x22, 0x21, 0x2c, 0x85, 0x9c, 0xff, 0x1c, 0x05, 0xc0, 0x20, + 0x00, 0x61, 0x45, 0xf2, 0x52, 0x66, 0xa2, 0xfc, 0x5c, 0x72, 0x21, 0x2e, 0xfc, 0x07, 0x92, 0x21, + 0x3c, 0x82, 0x21, 0x2f, 0x92, 0x61, 0x37, 0xec, 0xb8, 0xec, 0x99, 0x41, 0x3c, 0xf2, 0x32, 0x21, + 0x3f, 0x22, 0x21, 0x2d, 0x40, 0x33, 0x10, 0xc5, 0x99, 0xff, 0xc2, 0x21, 0x31, 0xd2, 0x21, 0x32, + 0xe2, 0x21, 0x33, 0xf2, 0x21, 0x34, 0x22, 0xa0, 0xf0, 0x02, 0x21, 0x30, 0x2a, 0x11, 0x0d, 0xf0, + 0x42, 0x21, 0x3c, 0x42, 0x61, 0x37, 0x22, 0x21, 0x2d, 0x31, 0x53, 0xf3, 0x45, 0x97, 0xff, 0x52, + 0x21, 0x37, 0x16, 0x35, 0x11, 0x0c, 0x4e, 0x86, 0x00, 0x00, 0xe2, 0xa0, 0x03, 0x21, 0xfc, 0xf2, + 0x40, 0x4c, 0x11, 0x52, 0xce, 0xff, 0xf1, 0xdb, 0xf2, 0x31, 0xe7, 0xf2, 0x32, 0x61, 0x38, 0x50, + 0x3f, 0x83, 0x40, 0x33, 0x80, 0x3a, 0x3c, 0xc5, 0x94, 0xff, 0x21, 0x48, 0xf3, 0x31, 0x48, 0xf3, + 0x05, 0x94, 0xff, 0x21, 0x48, 0xf3, 0x31, 0x48, 0xf3, 0x85, 0x93, 0xff, 0x21, 0x47, 0xf3, 0x62, + 0xce, 0xfe, 0x32, 0x21, 0x2e, 0x42, 0x21, 0x38, 0x40, 0x53, 0x11, 0x60, 0x4f, 0x83, 0x5a, 0x44, + 0x4a, 0x33, 0x05, 0x92, 0xff, 0x21, 0x41, 0xf3, 0x31, 0x42, 0xf3, 0x85, 0x91, 0xff, 0x21, 0x41, + 0xf3, 0x31, 0x41, 0xf3, 0xc5, 0x90, 0xff, 0x21, 0x40, 0xf3, 0x62, 0xce, 0xfd, 0x32, 0x21, 0x2f, + 0x42, 0x21, 0x38, 0x40, 0x53, 0x11, 0x60, 0x4f, 0x83, 0x5a, 0x44, 0x4a, 0x33, 0x45, 0x8f, 0xff, + 0x21, 0x3b, 0xf3, 0x31, 0x3b, 0xf3, 0xc5, 0x8e, 0xff, 0x21, 0x3a, 0xf3, 0x31, 0x3b, 0xf3, 0x45, + 0x8e, 0xff, 0x21, 0x39, 0xf3, 0x62, 0xce, 0xfc, 0x32, 0x21, 0x37, 0x42, 0x21, 0x38, 0x40, 0x53, + 0x11, 0x60, 0x4f, 0x83, 0x5a, 0x44, 0x4a, 0x33, 0x85, 0x8c, 0xff, 0x21, 0x34, 0xf3, 0x31, 0x34, + 0xf3, 0x05, 0x8c, 0xff, 0x21, 0x34, 0xf3, 0x0c, 0x03, 0x85, 0x8b, 0xff, 0x2d, 0x01, 0x31, 0x32, + 0xf3, 0x42, 0xa0, 0xb0, 0x45, 0xe1, 0x09, 0x16, 0xfd, 0xf0, 0x2d, 0x01, 0x0c, 0x00, 0xb1, 0x2c, + 0xf3, 0xa1, 0x27, 0xf3, 0x51, 0x23, 0xf3, 0x41, 0x1e, 0xf3, 0x62, 0x21, 0x2e, 0x72, 0x21, 0x2f, + 0x6a, 0x6c, 0x7a, 0x76, 0xc7, 0xb0, 0x09, 0x88, 0x02, 0x82, 0x44, 0x00, 0x1b, 0x44, 0x46, 0x07, + 0x00, 0x00, 0x30, 0x74, 0x67, 0xb0, 0x07, 0x32, 0x45, 0x00, 0x1b, 0x55, 0xc6, 0x03, 0x00, 0x77, + 0xb0, 0x07, 0x32, 0x4a, 0x00, 0x1b, 0xaa, 0x06, 0x01, 0x00, 0x32, 0x4b, 0x00, 0x1b, 0xbb, 0x4b, + 0x22, 0x1b, 0x00, 0x07, 0x9d, 0xcd, 0x06, 0xb0, 0xff, 0x92, 0x21, 0x2f, 0x56, 0xa9, 0xee, 0xb2, + 0x21, 0x2e, 0x0c, 0x2a, 0x0c, 0x1e, 0xb0, 0xea, 0x93, 0x06, 0xb8, 0xff, 0x30, 0x49, 0x41, 0x12, + 0xc1, 0xe0, 0xf9, 0x41, 0xe9, 0x31, 0xd9, 0x21, 0xc9, 0x11, 0x09, 0x01, 0x0c, 0x10, 0x40, 0x04, + 0x93, 0x16, 0xe0, 0x05, 0xd1, 0x15, 0xf3, 0xe1, 0x13, 0xf3, 0xf1, 0x11, 0xf3, 0xc1, 0xac, 0xf2, + 0x0c, 0x04, 0x00, 0x30, 0x90, 0x51, 0x0d, 0xf3, 0x59, 0x71, 0xe0, 0x33, 0x11, 0x49, 0x61, 0x41, + 0x0b, 0xf3, 0xca, 0xc2, 0x4a, 0x33, 0x39, 0x51, 0x28, 0x71, 0x31, 0x0c, 0xf3, 0x45, 0x80, 0xff, + 0x2d, 0x0f, 0x3d, 0x0c, 0xc5, 0x7f, 0xff, 0x2d, 0x0e, 0x3d, 0x0d, 0x85, 0x7f, 0xff, 0xc2, 0xdc, + 0x02, 0xcb, 0xdd, 0xcb, 0xee, 0xcb, 0xff, 0x78, 0x51, 0x88, 0x61, 0x68, 0x71, 0x0d, 0x08, 0xcb, + 0x66, 0x69, 0x71, 0x1b, 0x88, 0x89, 0x61, 0x77, 0x96, 0xcd, 0x21, 0x01, 0xf3, 0x00, 0x00, 0x90, + 0x20, 0x00, 0xa0, 0x21, 0xec, 0xf2, 0x31, 0xf9, 0xf2, 0x2a, 0x20, 0x85, 0x7c, 0xff, 0x21, 0xfd, + 0xf2, 0x31, 0xf6, 0xf2, 0xc5, 0x7b, 0xff, 0x21, 0xfc, 0xf2, 0x31, 0x7f, 0xf2, 0x45, 0x7b, 0xff, + 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, + 0x51, 0x9a, 0xf2, 0x31, 0xc6, 0xf1, 0xc0, 0x20, 0x00, 0x42, 0x23, 0x81, 0x50, 0x44, 0x10, 0xc0, + 0x20, 0x00, 0x42, 0x63, 0x81, 0x0c, 0x02, 0xc0, 0x20, 0x00, 0x22, 0x63, 0x81, 0x0d, 0xf0, 0x00, + 0x41, 0x72, 0xf2, 0x31, 0xbe, 0xf1, 0xc0, 0x20, 0x00, 0x22, 0x23, 0x81, 0x40, 0x22, 0x20, 0xc0, + 0x20, 0x00, 0x22, 0x63, 0x81, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x05, 0x01, 0x00, + 0x21, 0xe5, 0xf2, 0x31, 0xde, 0xf2, 0xc5, 0x75, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x30, 0x49, 0x41, 0x12, 0xc1, 0xe0, 0xf9, 0x41, 0xe9, 0x31, 0xd9, 0x21, 0xc9, 0x11, 0x09, 0x01, + 0x0c, 0x10, 0x40, 0x04, 0x93, 0x16, 0xe0, 0x05, 0xd1, 0xd8, 0xf2, 0xe1, 0xd6, 0xf2, 0xf1, 0xd4, + 0xf2, 0xc1, 0x6f, 0xf2, 0x0c, 0x04, 0x00, 0x30, 0x90, 0x51, 0xd0, 0xf2, 0x59, 0x71, 0xe0, 0x33, + 0x11, 0x49, 0x61, 0x41, 0xce, 0xf2, 0xca, 0xc2, 0x4a, 0x33, 0x39, 0x51, 0x28, 0x71, 0x31, 0xd3, + 0xf2, 0x05, 0x71, 0xff, 0x2d, 0x0f, 0x3d, 0x0c, 0x85, 0x70, 0xff, 0x2d, 0x0e, 0x3d, 0x0d, 0x45, + 0x70, 0xff, 0xc2, 0xdc, 0x02, 0xcb, 0xdd, 0xcb, 0xee, 0xcb, 0xff, 0x78, 0x51, 0x88, 0x61, 0x68, + 0x71, 0x0d, 0x08, 0xcb, 0x66, 0x69, 0x71, 0x1b, 0x88, 0x89, 0x61, 0x77, 0x96, 0xcd, 0x21, 0xc4, + 0xf2, 0x00, 0x00, 0x90, 0x20, 0x00, 0xa0, 0x21, 0xaf, 0xf2, 0x31, 0xbc, 0xf2, 0x2a, 0x20, 0x45, + 0x6d, 0xff, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x05, 0x01, 0x00, 0x21, 0xbd, 0xf2, 0x31, + 0xbd, 0xf2, 0x05, 0x6b, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x30, 0x45, 0x41, 0x12, + 0xc1, 0xe0, 0xf9, 0x41, 0xe9, 0x31, 0xd9, 0x21, 0xc9, 0x11, 0x09, 0x01, 0x0c, 0x10, 0x40, 0x04, + 0x93, 0x16, 0xe0, 0x05, 0xd1, 0xb7, 0xf2, 0xe1, 0xb5, 0xf2, 0xf1, 0xb3, 0xf2, 0xc1, 0x44, 0xf2, + 0x0c, 0x04, 0x00, 0x30, 0x90, 0x51, 0xaf, 0xf2, 0x59, 0x71, 0xe0, 0x33, 0x11, 0x49, 0x61, 0x41, + 0xad, 0xf2, 0xca, 0xc2, 0x4a, 0x33, 0x39, 0x51, 0x28, 0x71, 0x31, 0xae, 0xf2, 0x45, 0x66, 0xff, + 0x2d, 0x0f, 0x3d, 0x0c, 0xc5, 0x65, 0xff, 0x2d, 0x0e, 0x3d, 0x0d, 0x85, 0x65, 0xff, 0xc2, 0xcc, + 0x20, 0xcb, 0xdd, 0xcb, 0xee, 0xcb, 0xff, 0x78, 0x51, 0x88, 0x61, 0x68, 0x71, 0x0d, 0x08, 0xcb, + 0x66, 0x69, 0x71, 0x1b, 0x88, 0x89, 0x61, 0x77, 0x96, 0xcd, 0x21, 0xa3, 0xf2, 0x00, 0x00, 0x90, + 0x20, 0x00, 0xa0, 0x21, 0x84, 0xf2, 0x31, 0x9b, 0xf2, 0x2a, 0x20, 0x85, 0x62, 0xff, 0xc8, 0x11, + 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x05, 0x01, 0x00, 0x21, 0x99, 0xf2, 0x31, 0x99, 0xf2, 0x45, 0x60, + 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x30, 0x45, 0x41, 0x12, 0xc1, 0xe0, 0xf9, 0x41, + 0xe9, 0x31, 0xd9, 0x21, 0xc9, 0x11, 0x09, 0x01, 0x0c, 0x10, 0x40, 0x04, 0x93, 0x16, 0xe0, 0x05, + 0xd1, 0x93, 0xf2, 0xe1, 0x91, 0xf2, 0xf1, 0x8f, 0xf2, 0xc1, 0x19, 0xf2, 0x0c, 0x04, 0x00, 0x30, + 0x90, 0x51, 0x8b, 0xf2, 0x59, 0x71, 0xe0, 0x33, 0x11, 0x49, 0x61, 0x41, 0x89, 0xf2, 0xca, 0xc2, + 0x4a, 0x33, 0x39, 0x51, 0x28, 0x71, 0x31, 0x83, 0xf2, 0x85, 0x5b, 0xff, 0x2d, 0x0f, 0x3d, 0x0c, + 0x05, 0x5b, 0xff, 0x2d, 0x0e, 0x3d, 0x0d, 0xc5, 0x5a, 0xff, 0xc2, 0xcc, 0x20, 0xcb, 0xdd, 0xcb, + 0xee, 0xcb, 0xff, 0x78, 0x51, 0x88, 0x61, 0x68, 0x71, 0x0d, 0x08, 0xcb, 0x66, 0x69, 0x71, 0x1b, + 0x88, 0x89, 0x61, 0x77, 0x96, 0xcd, 0x21, 0x7e, 0xf2, 0x00, 0x00, 0x90, 0x20, 0x00, 0xa0, 0x21, + 0x59, 0xf2, 0x31, 0x77, 0xf2, 0x2a, 0x20, 0xc5, 0x57, 0xff, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, + 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x0c, 0x07, 0x12, 0xc1, + 0xf0, 0x09, 0x11, 0xc9, 0x21, 0xd9, 0x31, 0x79, 0x01, 0x81, 0x07, 0xf2, 0xdd, 0x02, 0xc1, 0x71, + 0xf2, 0xc0, 0x20, 0x00, 0x28, 0x8c, 0x80, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x29, 0x8c, 0x40, 0xa3, + 0x01, 0x50, 0x00, 0x04, 0xb1, 0x12, 0xf1, 0xc0, 0x64, 0x01, 0x6a, 0x6d, 0x00, 0x7b, 0x83, 0xaa, + 0x77, 0x7a, 0x66, 0x2b, 0x66, 0xc0, 0x20, 0x00, 0x69, 0x8c, 0x21, 0xdb, 0xf1, 0xc0, 0x20, 0x00, + 0x08, 0x8c, 0x20, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x09, 0x8c, 0xec, 0x13, 0x61, 0xfd, 0xf0, 0xc0, + 0x20, 0x00, 0x58, 0x8c, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x59, 0x8c, 0x41, 0x5f, 0xf2, 0xc0, + 0x20, 0x00, 0x38, 0x8c, 0x40, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x39, 0x8c, 0xc6, 0x05, 0x00, 0x66, + 0x63, 0x14, 0x21, 0x0f, 0xf1, 0x32, 0xa0, 0x00, 0x85, 0x4e, 0xff, 0x22, 0xa0, 0x0a, 0x0c, 0xc3, + 0x0c, 0x14, 0x0c, 0x05, 0x05, 0xbb, 0xfe, 0x01, 0xf1, 0xf0, 0xc0, 0x20, 0x00, 0x78, 0x8c, 0x27, + 0xf7, 0x07, 0xc0, 0x20, 0x00, 0x88, 0x8c, 0x07, 0x08, 0xf7, 0x21, 0x50, 0xf2, 0x01, 0xfa, 0xf0, + 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0xa8, 0x9c, 0x2b, 0x9d, 0xa0, 0xa0, 0xd5, 0xa7, 0x19, 0x08, + 0x21, 0x4c, 0xf2, 0x85, 0x54, 0x07, 0x46, 0x0d, 0x00, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0x09, 0x30, + 0x30, 0xd4, 0xc0, 0x20, 0x00, 0x02, 0xa0, 0x01, 0x22, 0x2c, 0x08, 0x48, 0x01, 0x20, 0x21, 0x05, + 0x20, 0x40, 0x93, 0xc0, 0x20, 0x00, 0xd1, 0xd4, 0xf1, 0xb8, 0x8c, 0xd0, 0xbb, 0x10, 0xc0, 0x20, + 0x00, 0xb9, 0x8c, 0x21, 0x40, 0xf2, 0x51, 0xc2, 0xf1, 0x61, 0xd6, 0xf1, 0xc5, 0x50, 0x07, 0xc8, + 0x21, 0xd8, 0x31, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x01, 0x39, 0xf2, 0x08, 0x00, 0x80, 0x42, 0x01, 0x08, 0x00, 0x40, 0x28, 0x31, 0xc0, 0x00, + 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x32, 0xf2, + 0x08, 0x00, 0x08, 0x60, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xcd, 0x03, 0x01, 0x2b, 0xf2, 0x80, 0x32, 0x01, 0x08, + 0x00, 0x30, 0x28, 0x31, 0x08, 0x00, 0x3d, 0x0c, 0xc0, 0x00, 0x00, 0x01, 0x27, 0xf2, 0x08, 0x00, + 0x08, 0x60, 0x2d, 0x0c, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x0c, 0x03, 0x12, 0xc1, 0xf0, 0x5d, 0x02, 0x09, 0x01, 0x01, 0x1f, 0xf2, 0x0c, 0xe2, 0x59, 0x00, + 0xc5, 0xfb, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x01, 0x19, 0xf2, 0x08, 0x00, 0x08, 0x10, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x13, 0xf2, 0x08, 0x00, 0x80, 0x32, + 0x01, 0x08, 0x20, 0x30, 0x28, 0x31, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x0c, 0xf2, 0x08, 0x00, 0x08, 0x30, 0xc0, 0x00, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x06, 0xf2, + 0x08, 0x00, 0x08, 0x40, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x00, 0xf2, 0x08, 0x00, 0x08, 0x50, 0xc0, 0x00, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xfa, 0xf1, + 0x08, 0x00, 0x08, 0x60, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xf4, 0xf1, 0x08, 0x00, 0x08, 0x70, 0xc0, 0x00, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x28, 0x02, 0x0d, 0xf0, 0x00, + 0xc0, 0x20, 0x00, 0x39, 0x02, 0x0d, 0xf0, 0x00, 0x0c, 0x23, 0x12, 0xc1, 0xe0, 0xc9, 0x31, 0xd9, + 0x41, 0xd1, 0xac, 0xf0, 0x09, 0x21, 0x08, 0x0d, 0xcd, 0x02, 0x02, 0x20, 0x2c, 0x0c, 0x32, 0xc0, + 0x00, 0x00, 0x0c, 0x13, 0x08, 0x0d, 0x29, 0x01, 0x02, 0x20, 0x2c, 0x0c, 0x22, 0xc0, 0x00, 0x00, + 0x0c, 0x13, 0xc0, 0x49, 0x04, 0x08, 0x0d, 0xc0, 0x58, 0x04, 0xc0, 0x66, 0x04, 0x29, 0x11, 0xc0, + 0x77, 0x04, 0x0c, 0x32, 0xe0, 0x77, 0x11, 0xd0, 0x66, 0x11, 0xf0, 0x55, 0x11, 0x02, 0x20, 0x2b, + 0x50, 0x44, 0x20, 0x70, 0x66, 0x20, 0xc0, 0x53, 0x04, 0xc0, 0x74, 0x04, 0xa0, 0x55, 0x11, 0xb0, + 0x77, 0x11, 0x70, 0x55, 0x20, 0xc0, 0x75, 0x04, 0xc0, 0x77, 0x11, 0x70, 0x55, 0x20, 0x60, 0x55, + 0x20, 0x50, 0x44, 0x20, 0x40, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x32, 0x0c, 0x23, 0x08, 0x0d, + 0x48, 0x01, 0x52, 0xa1, 0xc7, 0x50, 0x44, 0x10, 0x02, 0x20, 0x2b, 0xc0, 0x50, 0x24, 0xd0, 0x55, + 0x11, 0x50, 0x44, 0x20, 0x40, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0x0c, 0x22, 0x0c, 0x13, 0x08, 0x0d, + 0x48, 0x11, 0x52, 0xa1, 0x85, 0x50, 0x44, 0x10, 0x02, 0x20, 0x2b, 0xc0, 0x5b, 0x34, 0xd0, 0x55, + 0x11, 0x50, 0x44, 0x20, 0xc0, 0x5a, 0x04, 0xf0, 0x55, 0x11, 0x50, 0x44, 0x20, 0x40, 0x40, 0xf4, + 0xc0, 0x00, 0x00, 0xc8, 0x31, 0xd8, 0x41, 0x08, 0x21, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xe0, 0xd9, 0x21, 0xe9, 0x31, 0x09, 0x01, 0xc9, 0x11, 0xf9, 0x41, 0x4d, 0x00, 0xf1, + 0x6a, 0xf0, 0xc1, 0x43, 0xf0, 0xc0, 0x20, 0x00, 0x22, 0x2c, 0xe5, 0x07, 0xe2, 0x41, 0xc0, 0x20, + 0x00, 0x52, 0x2f, 0x9c, 0x17, 0x65, 0x38, 0xd1, 0x73, 0xf0, 0x08, 0x0d, 0x02, 0x20, 0x1d, 0xc0, + 0x00, 0x00, 0x0c, 0x52, 0x01, 0x55, 0xf0, 0xc0, 0x00, 0x00, 0xe2, 0xa1, 0x84, 0x08, 0x0d, 0x0c, + 0x22, 0x02, 0x20, 0x2c, 0x0c, 0x13, 0xc0, 0x00, 0x00, 0xe7, 0xc2, 0xf0, 0x08, 0x0d, 0x0c, 0x32, + 0x02, 0x20, 0x2c, 0x0c, 0x23, 0xc0, 0x00, 0x00, 0x0c, 0x63, 0x30, 0x22, 0x10, 0x66, 0x62, 0xdc, + 0x91, 0xa3, 0xf1, 0x81, 0xf8, 0xf0, 0xc0, 0x20, 0x00, 0x72, 0x28, 0x42, 0x90, 0x77, 0x20, 0xc0, + 0x20, 0x00, 0x72, 0x68, 0x42, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0xe5, 0x0c, 0x16, 0x60, 0x55, 0x20, + 0xc0, 0x20, 0x00, 0x52, 0x6c, 0xe5, 0xc0, 0x20, 0x00, 0x42, 0x2f, 0x9c, 0x01, 0x17, 0xf1, 0x17, + 0x64, 0x11, 0xc0, 0x20, 0x00, 0xa2, 0x2c, 0xe8, 0xe7, 0xfa, 0x08, 0xc0, 0x20, 0x00, 0xb2, 0x2c, + 0xe8, 0x07, 0x0b, 0xf6, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, + 0x20, 0x0d, 0xf0, 0x00, 0x0c, 0x13, 0x42, 0xa0, 0x81, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0xd9, 0x21, + 0xd1, 0x4d, 0xf0, 0x09, 0x01, 0x08, 0x0d, 0xcd, 0x02, 0x02, 0x20, 0x2b, 0x0c, 0x22, 0xc0, 0x00, + 0x00, 0x0c, 0x72, 0x08, 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0xc0, 0x45, 0x41, 0xc0, 0x00, 0x00, + 0xc0, 0x40, 0x44, 0x08, 0x0d, 0x0c, 0x02, 0x02, 0x20, 0x2b, 0x0c, 0x13, 0xc0, 0x00, 0x00, 0x0c, + 0x12, 0x08, 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa0, 0x7f, 0xc0, 0x00, 0x00, 0x0c, 0x62, + 0x08, 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa0, 0x7f, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0xd8, + 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xe0, 0x29, 0x11, 0x39, 0x21, 0x09, + 0x41, 0x49, 0x31, 0x41, 0x73, 0xf1, 0x01, 0x33, 0xf0, 0x31, 0xfd, 0xef, 0xc0, 0x20, 0x00, 0x22, + 0x23, 0xf2, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x08, 0x00, 0x02, 0x20, 0x37, 0x22, 0x63, 0xf2, + 0xc0, 0x00, 0x00, 0x28, 0x21, 0x38, 0x11, 0x48, 0x31, 0x5d, 0x01, 0x85, 0x59, 0x00, 0x01, 0x29, + 0xf0, 0x08, 0x00, 0x02, 0x20, 0x38, 0x2d, 0x01, 0xc0, 0x00, 0x00, 0x01, 0x26, 0xf0, 0x08, 0x00, + 0x02, 0x20, 0x36, 0xc0, 0x00, 0x00, 0x45, 0x52, 0x00, 0x41, 0x62, 0xf1, 0xc0, 0x20, 0x00, 0x31, + 0xec, 0xef, 0x22, 0x23, 0xf2, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xf2, 0x08, 0x41, + 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x32, 0xa0, 0x01, 0x42, 0xa0, 0x05, 0x0c, 0x75, + 0x0c, 0x06, 0x12, 0xc1, 0xe0, 0xd9, 0x21, 0xf9, 0x41, 0xc9, 0x11, 0xe9, 0x31, 0xe1, 0x15, 0xf0, + 0x09, 0x01, 0x08, 0x0e, 0xcd, 0x02, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x62, 0xc0, 0x00, 0x00, 0x0c, + 0x0d, 0xfd, 0x02, 0x32, 0xae, 0xac, 0x20, 0x22, 0x90, 0x30, 0x22, 0xb0, 0x32, 0xa0, 0xe3, 0x05, + 0x71, 0x09, 0x00, 0x52, 0x11, 0x0c, 0xf4, 0x0d, 0x04, 0x50, 0x50, 0x31, 0x2d, 0x0d, 0x50, 0x25, + 0xb3, 0xe6, 0xb2, 0x01, 0x0d, 0x02, 0x32, 0xa0, 0xcf, 0xf0, 0x2f, 0x90, 0xf0, 0x22, 0xf0, 0x22, + 0xc2, 0x1d, 0x00, 0xf0, 0x11, 0xf0, 0xf0, 0x31, 0x45, 0x6e, 0x09, 0x98, 0x0e, 0x00, 0x42, 0x11, + 0x0c, 0xf3, 0x0d, 0x03, 0x40, 0x40, 0x31, 0x92, 0x29, 0x27, 0x40, 0xd4, 0xb3, 0xe6, 0xbd, 0x01, + 0x0d, 0x0d, 0x00, 0xd0, 0x11, 0xd0, 0xd0, 0x31, 0xb6, 0x3c, 0x1c, 0x0c, 0x82, 0xa6, 0x8f, 0x01, + 0x7c, 0x82, 0x0c, 0x03, 0x0c, 0x44, 0x0c, 0x35, 0x0c, 0x06, 0x2a, 0x7f, 0x70, 0x70, 0x74, 0x22, + 0xa0, 0x64, 0xc0, 0x09, 0x00, 0x06, 0x04, 0x00, 0xf0, 0x70, 0x74, 0x22, 0xa0, 0x64, 0x0c, 0x03, + 0x0c, 0x44, 0x0c, 0x35, 0x0c, 0x06, 0xc0, 0x09, 0x00, 0x98, 0x0e, 0x0c, 0x80, 0x92, 0x29, 0x27, + 0xb6, 0x2c, 0x1a, 0xa6, 0x8d, 0x01, 0x7c, 0x80, 0x22, 0xa0, 0x64, 0x0c, 0x03, 0x0c, 0x74, 0x0c, + 0x35, 0x0c, 0x06, 0x0a, 0x7d, 0x70, 0x70, 0x74, 0xc0, 0x09, 0x00, 0x06, 0x04, 0x00, 0xd0, 0x70, + 0x74, 0x22, 0xa0, 0x64, 0x0c, 0x03, 0x0c, 0x74, 0x0c, 0x35, 0x0c, 0x06, 0xc0, 0x09, 0x00, 0x98, + 0x0e, 0x92, 0x29, 0x27, 0xac, 0x6c, 0x22, 0xa0, 0x61, 0x0c, 0x13, 0x0c, 0x54, 0x0c, 0x35, 0x0c, + 0x26, 0x0c, 0x37, 0xc0, 0x09, 0x00, 0x22, 0xa0, 0x61, 0x0c, 0x13, 0x0c, 0x54, 0x0c, 0x15, 0x08, + 0x0e, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x37, 0xc0, 0x00, 0x00, 0x06, 0x09, 0x00, 0x22, 0xa0, + 0x61, 0x0c, 0x13, 0x0c, 0x54, 0x0c, 0x35, 0x0c, 0x26, 0x0c, 0x07, 0xc0, 0x09, 0x00, 0x22, 0xa0, + 0x61, 0x0c, 0x13, 0x0c, 0x54, 0x0c, 0x15, 0x08, 0x0e, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x07, + 0xc0, 0x00, 0x00, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, 0x20, + 0x0d, 0xf0, 0x00, 0x00, 0x22, 0xa0, 0x61, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xc6, 0xef, 0x0c, + 0x13, 0x08, 0x00, 0x0c, 0x84, 0x02, 0x20, 0x26, 0x1c, 0x15, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x85, + 0xe9, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x72, 0xaf, 0xdf, 0x21, 0x82, 0xef, 0xc0, 0x20, 0x00, 0x62, 0x22, 0xd4, 0x70, 0x66, 0x10, + 0xc0, 0x20, 0x00, 0x62, 0x62, 0xd4, 0x51, 0x5c, 0xf0, 0xc0, 0x20, 0x00, 0x42, 0x22, 0xd7, 0x50, + 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x62, 0xd7, 0x31, 0x4a, 0xf0, 0xc0, 0x20, 0x00, 0x02, 0x22, + 0xd7, 0x30, 0x00, 0x10, 0xc0, 0x20, 0x00, 0x02, 0x62, 0xd7, 0x22, 0xa0, 0xc8, 0x01, 0x92, 0xef, + 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6c, 0x0c, 0x23, 0x0c, 0x04, 0x01, 0xaa, 0xef, 0x0c, 0x65, 0x08, + 0x00, 0x0c, 0x66, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6c, 0x0c, 0x23, + 0x0c, 0x04, 0x01, 0xa4, 0xef, 0x0c, 0x65, 0x08, 0x00, 0x0c, 0x66, 0x02, 0x20, 0x27, 0x0c, 0x17, + 0xc0, 0x00, 0x00, 0x2c, 0x04, 0xc0, 0x20, 0x00, 0x31, 0x65, 0xef, 0x22, 0x23, 0xd4, 0x40, 0x22, + 0x20, 0xc0, 0x20, 0x00, 0x0c, 0x24, 0x0c, 0x75, 0x01, 0x9b, 0xef, 0x0c, 0x06, 0x08, 0x00, 0x22, + 0x63, 0xd4, 0x22, 0xa0, 0x6c, 0x02, 0x20, 0x25, 0x0c, 0x23, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xd0, 0xd2, 0x61, 0x07, 0xd1, 0x92, 0xef, 0x02, 0x61, 0x05, + 0x02, 0x2d, 0x00, 0xc9, 0x61, 0x02, 0x20, 0x28, 0xe9, 0x81, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x0c, + 0x62, 0x02, 0x20, 0x2c, 0x0c, 0x13, 0xc0, 0x00, 0x00, 0x0c, 0x23, 0x0c, 0x94, 0x0c, 0x25, 0x0c, + 0x06, 0x08, 0x0d, 0xed, 0x02, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x6b, 0xc0, 0x00, 0x00, 0x0c, 0x23, + 0x0c, 0x04, 0x0c, 0x55, 0x0c, 0x56, 0x08, 0x0d, 0x29, 0x41, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x6c, + 0xc0, 0x00, 0x00, 0x0c, 0x13, 0x08, 0x0d, 0xcd, 0x02, 0x0c, 0x24, 0x0c, 0x62, 0x40, 0x4e, 0x20, + 0x02, 0x20, 0x2b, 0x40, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x94, + 0x0c, 0x75, 0x0c, 0x76, 0x08, 0x0d, 0x0c, 0x17, 0x02, 0x20, 0x27, 0xc9, 0x91, 0xc0, 0x00, 0x00, + 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x94, 0x0c, 0x25, 0x08, 0x0d, 0x0c, 0x06, 0x02, 0x20, 0x27, + 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x0c, 0x2c, 0x22, 0xa0, 0x6c, 0x0c, 0x23, 0x0c, 0x04, 0x0c, 0x55, + 0x08, 0x0d, 0x0c, 0x56, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x91, 0x00, 0xf0, 0x31, + 0x2f, 0xef, 0xc0, 0x20, 0x00, 0x82, 0x23, 0xd7, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x63, + 0xd7, 0x71, 0x0b, 0xf0, 0xc0, 0x20, 0x00, 0x62, 0x23, 0xd7, 0x70, 0x66, 0x10, 0xc0, 0x20, 0x00, + 0x62, 0x63, 0xd7, 0x7c, 0xd5, 0xc0, 0x20, 0x00, 0x42, 0x23, 0xd4, 0x50, 0x44, 0x10, 0xc0, 0x20, + 0x00, 0x42, 0x63, 0xd4, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xd4, 0xc0, 0x22, 0x20, 0xc0, 0x20, 0x00, + 0x22, 0x63, 0xd4, 0x1c, 0x92, 0x01, 0x3c, 0xef, 0xc0, 0x00, 0x00, 0x2d, 0x01, 0xc5, 0xf5, 0x04, + 0x0c, 0x00, 0x0c, 0x0c, 0x2d, 0x01, 0x1b, 0x40, 0x20, 0x30, 0x90, 0x32, 0x13, 0x00, 0x40, 0x00, + 0x74, 0xca, 0xc3, 0xc0, 0xc0, 0xf4, 0x66, 0x80, 0xec, 0xe0, 0x40, 0xf4, 0x08, 0x0d, 0x0c, 0x62, + 0x02, 0x20, 0x2b, 0x0c, 0x13, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x94, 0x0c, + 0x75, 0x08, 0x0d, 0x0c, 0x76, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0xe8, 0x91, 0x22, + 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x94, 0x0c, 0x25, 0x0c, 0x06, 0x08, 0x0d, 0x78, 0x41, 0x02, 0x20, + 0x27, 0x70, 0x70, 0x74, 0xc0, 0x00, 0x00, 0xe0, 0x70, 0x74, 0x22, 0xa0, 0x6c, 0x0c, 0x23, 0x0c, + 0x04, 0x08, 0x0d, 0x0c, 0x55, 0x02, 0x20, 0x27, 0x0c, 0x56, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, + 0x20, 0x2f, 0xc0, 0x00, 0x00, 0x08, 0x51, 0xd8, 0x71, 0x60, 0x2c, 0x11, 0xe8, 0x81, 0xc8, 0x61, + 0x22, 0xd2, 0x08, 0x20, 0x2c, 0xf4, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0xc9, + 0x21, 0x29, 0x01, 0x09, 0x11, 0xc5, 0xe6, 0xff, 0x01, 0x70, 0xf0, 0x0c, 0x0c, 0x07, 0x32, 0x02, + 0x86, 0x0a, 0x00, 0xc1, 0x2c, 0xef, 0x08, 0x0c, 0x08, 0xe0, 0x0c, 0x33, 0xc0, 0x00, 0x00, 0x0c, + 0x33, 0x08, 0x0c, 0xcd, 0x02, 0x08, 0xe0, 0x21, 0x68, 0xf0, 0xc0, 0x00, 0x00, 0x20, 0xcc, 0xc0, + 0xf0, 0xcc, 0x11, 0x00, 0xcc, 0x11, 0xc0, 0xc0, 0x31, 0x2b, 0xcc, 0xc0, 0xc2, 0x21, 0xc5, 0xd8, + 0xff, 0x0c, 0x00, 0x51, 0x5a, 0xef, 0x28, 0x01, 0x41, 0x5c, 0xef, 0xca, 0xc2, 0x00, 0xcc, 0x11, + 0xc0, 0xc0, 0x31, 0x2d, 0x0c, 0x5a, 0x60, 0x1b, 0x70, 0x4a, 0x30, 0x32, 0x03, 0x24, 0x70, 0x00, + 0x74, 0x3a, 0x3c, 0x32, 0x46, 0x68, 0x66, 0x60, 0xeb, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xc9, 0x11, 0xd9, 0x21, 0xcd, 0x02, 0x0c, + 0x0d, 0x16, 0x1d, 0x04, 0x26, 0x1d, 0x20, 0x66, 0x2d, 0x56, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, + 0x24, 0x0c, 0x65, 0x01, 0x0c, 0xef, 0x0c, 0x46, 0x08, 0x00, 0xda, 0x7c, 0x02, 0x20, 0x27, 0x72, + 0x07, 0x00, 0xc0, 0x00, 0x00, 0x06, 0x0e, 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x24, 0x0c, + 0x35, 0x01, 0x04, 0xef, 0x0c, 0x06, 0x08, 0x00, 0xda, 0x7c, 0x02, 0x20, 0x27, 0x72, 0x07, 0x00, + 0xc0, 0x00, 0x00, 0x86, 0x06, 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x14, 0x0c, 0x35, 0x01, + 0xfd, 0xee, 0x0c, 0x06, 0x08, 0x00, 0xda, 0x7c, 0x02, 0x20, 0x27, 0x72, 0x07, 0x00, 0xc0, 0x00, + 0x00, 0x1b, 0xdd, 0xd0, 0xd0, 0x74, 0x66, 0x3d, 0x97, 0xc8, 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x22, 0xa0, 0x62, 0x0c, 0x13, 0x0c, 0x04, 0x0c, 0x65, 0x12, 0xc1, 0xf0, + 0xc9, 0x11, 0xc1, 0xf0, 0xee, 0x09, 0x01, 0x08, 0x0c, 0x0c, 0x66, 0x02, 0x20, 0x27, 0x0c, 0x17, + 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x62, 0x0c, 0x13, 0x0c, 0x04, 0x0c, 0x55, 0x08, 0x0c, 0x0c, 0x56, + 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x62, 0x0c, 0x13, 0x0c, 0x04, 0x0c, + 0x55, 0x08, 0x0c, 0x0c, 0x56, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x62, + 0x0c, 0x13, 0x0c, 0x04, 0x0c, 0x65, 0x08, 0x0c, 0x0c, 0x66, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, + 0x00, 0x00, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xe0, 0x09, + 0x01, 0xd9, 0x21, 0xe9, 0x31, 0xc9, 0x11, 0xf9, 0x41, 0x0c, 0x0c, 0xf2, 0xa0, 0x63, 0xe2, 0xa0, + 0x64, 0xd1, 0xd4, 0xee, 0x22, 0xa0, 0x14, 0x01, 0xb8, 0xee, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x62, + 0x32, 0xa0, 0x01, 0x42, 0xa0, 0x07, 0x08, 0x0d, 0x0c, 0x75, 0x02, 0x20, 0x25, 0x0c, 0x76, 0xc0, + 0x00, 0x00, 0xcc, 0xf2, 0xf7, 0x9c, 0x05, 0x21, 0x0d, 0xf0, 0x45, 0xbe, 0x06, 0x1b, 0xcc, 0xc0, + 0xc0, 0x74, 0xe7, 0x9c, 0xce, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, + 0xc1, 0x20, 0x0d, 0xf0, 0x12, 0xc1, 0xe0, 0xd9, 0x31, 0x09, 0x11, 0xc9, 0x21, 0xe9, 0x41, 0xcd, + 0x05, 0xe1, 0x03, 0xf0, 0x8c, 0xd3, 0x26, 0x13, 0x08, 0x66, 0x23, 0x08, 0xe1, 0x02, 0xf0, 0x86, + 0x00, 0x00, 0xe1, 0x01, 0xf0, 0xd1, 0x01, 0xf0, 0x60, 0x22, 0x11, 0x20, 0x24, 0x80, 0xe0, 0x22, + 0x11, 0x85, 0x31, 0x09, 0x51, 0xff, 0xef, 0x0c, 0x04, 0xc5, 0xd6, 0x07, 0x05, 0xf3, 0x07, 0x29, + 0x01, 0x31, 0xfc, 0xef, 0x2d, 0x0e, 0x85, 0x72, 0x07, 0x3d, 0x02, 0x28, 0x01, 0x45, 0x88, 0x07, + 0x31, 0xfa, 0xef, 0x05, 0x4c, 0x07, 0xed, 0x02, 0x45, 0x97, 0x07, 0x22, 0x4c, 0x00, 0x20, 0x20, + 0x74, 0xc5, 0x2a, 0x09, 0x3d, 0x02, 0x2d, 0x0e, 0x05, 0x59, 0x07, 0x3d, 0x0d, 0x05, 0x70, 0x07, + 0xed, 0x02, 0xc5, 0x95, 0x07, 0x22, 0x4c, 0x01, 0x20, 0x20, 0x74, 0x45, 0x29, 0x09, 0x3d, 0x02, + 0x2d, 0x0e, 0x85, 0x57, 0x07, 0x3d, 0x0d, 0x85, 0x6e, 0x07, 0x45, 0x94, 0x07, 0x08, 0x11, 0xd8, + 0x31, 0x22, 0x4c, 0x02, 0xe8, 0x41, 0xc8, 0x21, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xd0, 0xc9, 0x41, 0x49, 0x81, 0x69, 0x21, 0x09, 0x31, 0xf9, 0x71, 0xd9, 0x51, 0xe9, + 0x61, 0xdd, 0x02, 0xed, 0x03, 0xfd, 0x04, 0xa6, 0x12, 0x0e, 0x0c, 0xd0, 0x27, 0x20, 0x09, 0x0b, + 0x22, 0x20, 0x20, 0x74, 0x29, 0x11, 0xc6, 0x00, 0x00, 0x0c, 0xd3, 0x39, 0x11, 0x41, 0xd0, 0xef, + 0xc1, 0x91, 0xee, 0x31, 0x5b, 0xee, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xf2, 0x40, 0x22, 0x20, 0xc0, + 0x20, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x37, 0x22, 0x63, 0xf2, 0xc0, 0x00, 0x00, 0x0c, 0xe5, 0x57, + 0xbd, 0x34, 0x71, 0xd2, 0xef, 0xd0, 0x6d, 0x90, 0x7a, 0x66, 0xa0, 0x06, 0x00, 0x86, 0x09, 0x00, + 0x46, 0x5b, 0x00, 0x86, 0x6c, 0x00, 0x46, 0x6a, 0x00, 0x06, 0x68, 0x00, 0xc6, 0x65, 0x00, 0x86, + 0x63, 0x00, 0x46, 0x61, 0x00, 0x06, 0x5f, 0x00, 0xc6, 0x5c, 0x00, 0x86, 0x5a, 0x00, 0x46, 0x58, + 0x00, 0x06, 0x56, 0x00, 0xc6, 0x53, 0x00, 0xc1, 0xc6, 0xef, 0x56, 0x7f, 0x05, 0xf6, 0x2e, 0x54, + 0x3c, 0xb0, 0x0b, 0x8e, 0x56, 0x98, 0x0b, 0x42, 0xaf, 0xb7, 0xb2, 0xaf, 0x83, 0xa2, 0xa0, 0x76, + 0x5c, 0xe3, 0x5c, 0xd9, 0x5c, 0xc6, 0x5c, 0xb8, 0x0c, 0xee, 0xe7, 0x3d, 0x02, 0x86, 0x5f, 0x00, + 0x21, 0xbd, 0xef, 0xd0, 0xfd, 0x90, 0x2a, 0xff, 0xa0, 0x0f, 0x00, 0x06, 0x5c, 0x00, 0x06, 0x40, + 0x00, 0x86, 0x5e, 0x00, 0x46, 0x89, 0x00, 0xc6, 0x85, 0x00, 0x06, 0x82, 0x00, 0x06, 0x5f, 0x00, + 0x86, 0x7e, 0x00, 0x46, 0x7a, 0x00, 0x46, 0x76, 0x00, 0xc6, 0x72, 0x00, 0x86, 0x6e, 0x00, 0x06, + 0x6b, 0x00, 0x86, 0x67, 0x00, 0x4d, 0x0f, 0x3d, 0x0e, 0xd8, 0x11, 0x2d, 0x0c, 0x5d, 0x01, 0x45, + 0xe7, 0xff, 0x32, 0x01, 0x02, 0x52, 0x01, 0x00, 0x48, 0x21, 0x62, 0x01, 0x01, 0x40, 0x4d, 0xa0, + 0x80, 0x66, 0x11, 0x00, 0x55, 0x11, 0x60, 0x55, 0x20, 0x50, 0x33, 0x20, 0x39, 0x04, 0xd1, 0x59, + 0xee, 0x08, 0x0d, 0x02, 0x20, 0x38, 0x2d, 0x01, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, 0x20, 0x36, + 0xc0, 0x00, 0x00, 0x22, 0x01, 0x30, 0x8c, 0x12, 0x05, 0xde, 0xff, 0x2d, 0x0c, 0x51, 0x91, 0xef, + 0xc0, 0x20, 0x00, 0x41, 0x1b, 0xee, 0x32, 0x24, 0xf2, 0x50, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, + 0x64, 0xf2, 0xc8, 0x41, 0xd8, 0x51, 0xe8, 0x61, 0xf8, 0x71, 0x08, 0x31, 0x12, 0xc1, 0x30, 0x0d, + 0xf0, 0x3c, 0x04, 0x3c, 0x1a, 0x3c, 0x22, 0x32, 0xa0, 0x66, 0xb2, 0xaf, 0x91, 0x62, 0xaf, 0xbb, + 0x6c, 0x69, 0x1c, 0x18, 0x0c, 0xe7, 0x77, 0xbd, 0x34, 0xf1, 0x8f, 0xef, 0xd0, 0xed, 0x90, 0xfa, + 0xee, 0xa0, 0x0e, 0x00, 0x86, 0x09, 0x00, 0x06, 0x0f, 0x00, 0xc6, 0x09, 0x00, 0x06, 0x3a, 0x00, + 0x46, 0x3a, 0x00, 0x86, 0x3d, 0x00, 0x46, 0x08, 0x00, 0x86, 0x24, 0x00, 0xc6, 0x24, 0x00, 0xc6, + 0x38, 0x00, 0x46, 0x24, 0x00, 0x86, 0x30, 0x00, 0xc6, 0x30, 0x00, 0x86, 0x05, 0x00, 0x4d, 0x02, + 0x82, 0xaf, 0xcc, 0xbd, 0x08, 0x6d, 0x08, 0x0d, 0x0b, 0xad, 0x04, 0x3d, 0x06, 0x4d, 0x0a, 0x02, + 0x41, 0x01, 0x06, 0x01, 0x00, 0x4d, 0x02, 0x32, 0x41, 0x01, 0x0d, 0x03, 0x42, 0x41, 0x00, 0x06, + 0x02, 0x00, 0x82, 0x41, 0x00, 0x22, 0xaf, 0xb1, 0x22, 0x41, 0x01, 0x02, 0x41, 0x02, 0x06, 0xcf, + 0xff, 0xc1, 0x76, 0xef, 0x86, 0xac, 0xff, 0xc1, 0x76, 0xef, 0x06, 0xab, 0xff, 0xc1, 0x75, 0xef, + 0x86, 0xa9, 0xff, 0xc1, 0x75, 0xef, 0x06, 0xa8, 0xff, 0xc1, 0x74, 0xef, 0x86, 0xa6, 0xff, 0xc1, + 0x74, 0xef, 0x06, 0xa5, 0xff, 0xc1, 0x73, 0xef, 0x86, 0xa3, 0xff, 0xc1, 0x73, 0xef, 0x06, 0xa2, + 0xff, 0xc1, 0x72, 0xef, 0x86, 0xa0, 0xff, 0xc1, 0x72, 0xef, 0x06, 0x9f, 0xff, 0xc1, 0x71, 0xef, + 0x86, 0x9d, 0xff, 0xc1, 0x71, 0xef, 0x06, 0x9c, 0xff, 0xc1, 0x70, 0xef, 0x86, 0x9a, 0xff, 0x8d, + 0x03, 0xbd, 0x08, 0x3d, 0x08, 0x9d, 0x0b, 0x4d, 0x0a, 0x92, 0x41, 0x01, 0x86, 0xe2, 0xff, 0x0d, + 0x0a, 0x22, 0xa0, 0x62, 0x5c, 0xf3, 0x32, 0x41, 0x00, 0x22, 0x41, 0x01, 0xc6, 0xe2, 0xff, 0x82, + 0x41, 0x00, 0x02, 0xaf, 0xdf, 0x7c, 0x24, 0x42, 0x41, 0x01, 0x46, 0xdf, 0xff, 0x62, 0x41, 0x00, + 0x02, 0xa0, 0x6f, 0x7c, 0x95, 0x52, 0x41, 0x01, 0xc6, 0xdb, 0xff, 0x6d, 0x08, 0x0d, 0x06, 0x3d, + 0x06, 0x4d, 0x02, 0x02, 0x41, 0x01, 0x06, 0xd4, 0xff, 0x3d, 0x06, 0x9d, 0x03, 0x6d, 0x03, 0x0d, + 0x09, 0xad, 0x04, 0x06, 0xcd, 0xff, 0x3d, 0x06, 0x9d, 0x03, 0x46, 0xea, 0xff, 0x6d, 0x08, 0x0d, + 0x06, 0x86, 0xc9, 0xff, 0x32, 0x41, 0x00, 0x22, 0xaf, 0xc4, 0x6c, 0xc0, 0x06, 0xce, 0xff, 0x32, + 0x41, 0x00, 0xb2, 0x41, 0x01, 0x4c, 0x80, 0x06, 0xcc, 0xff, 0x32, 0x41, 0x00, 0x02, 0xaf, 0xa4, + 0x4c, 0x16, 0x62, 0x41, 0x01, 0x86, 0xc8, 0xff, 0x0c, 0x00, 0x02, 0x41, 0x01, 0x32, 0x41, 0x00, + 0xc6, 0xc5, 0xff, 0x0d, 0x08, 0x3d, 0x09, 0x72, 0xaf, 0xbe, 0x72, 0x41, 0x01, 0x06, 0xfb, 0xff, + 0x92, 0x41, 0x00, 0x02, 0xa0, 0x7c, 0x02, 0x41, 0x01, 0x0d, 0x04, 0x06, 0xbf, 0xff, 0x92, 0x41, + 0x00, 0x1c, 0x34, 0xc6, 0xfb, 0xff, 0x62, 0x41, 0x00, 0x42, 0x41, 0x01, 0x02, 0xaf, 0xcb, 0x06, + 0xba, 0xff, 0x62, 0x41, 0x00, 0xa2, 0x41, 0x01, 0x2c, 0x70, 0x46, 0xb7, 0xff, 0x0d, 0x0b, 0x62, + 0x41, 0x00, 0x3c, 0x48, 0x82, 0x41, 0x01, 0x06, 0xb4, 0xff, 0x00, 0x00, 0x81, 0x18, 0xee, 0x4d, + 0x05, 0x12, 0xc1, 0xe0, 0x09, 0x41, 0xc9, 0x51, 0x5d, 0x06, 0xcd, 0x02, 0x22, 0x48, 0x4e, 0x6d, + 0x07, 0x02, 0x01, 0x24, 0x72, 0x11, 0x10, 0x09, 0x01, 0x45, 0xce, 0xff, 0x3d, 0x02, 0x0c, 0xe9, + 0x97, 0xbc, 0x34, 0xb1, 0x2f, 0xef, 0xc0, 0xac, 0x90, 0xba, 0xaa, 0xa0, 0x0a, 0x00, 0x86, 0x09, + 0x00, 0x06, 0x17, 0x00, 0x46, 0x28, 0x00, 0x06, 0x26, 0x00, 0xc6, 0x23, 0x00, 0x86, 0x21, 0x00, + 0x46, 0x1f, 0x00, 0x06, 0x1d, 0x00, 0xc6, 0x1a, 0x00, 0x86, 0x18, 0x00, 0x46, 0x16, 0x00, 0x06, + 0x14, 0x00, 0xc6, 0x11, 0x00, 0x86, 0x0f, 0x00, 0x02, 0xa0, 0x6a, 0x41, 0x23, 0xef, 0x51, 0x21, + 0xef, 0x21, 0x58, 0xee, 0x50, 0x50, 0x80, 0xf0, 0x55, 0x01, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x45, + 0x00, 0x00, 0xc4, 0x50, 0x00, 0x20, 0x40, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x45, 0xc0, + 0x2c, 0x20, 0x05, 0xe1, 0x01, 0x45, 0x0f, 0x02, 0xc8, 0x51, 0x08, 0x41, 0x12, 0xc1, 0x20, 0x0d, + 0xf0, 0x02, 0xa2, 0xe1, 0xc6, 0xf0, 0xff, 0x02, 0xa0, 0xd1, 0x46, 0xef, 0xff, 0x02, 0xa0, 0xfc, + 0xc6, 0xed, 0xff, 0x02, 0xa1, 0x27, 0x46, 0xec, 0xff, 0x02, 0xa1, 0x53, 0xc6, 0xea, 0xff, 0x02, + 0xa1, 0x7e, 0x46, 0xe9, 0xff, 0x02, 0xa1, 0xaa, 0xc6, 0xe7, 0xff, 0x02, 0xa1, 0xd6, 0x46, 0xe6, + 0xff, 0x02, 0xa2, 0x02, 0xc6, 0xe4, 0xff, 0x02, 0xa2, 0x2e, 0x46, 0xe3, 0xff, 0x02, 0xa2, 0x5a, + 0xc6, 0xe1, 0xff, 0x02, 0xa2, 0x87, 0x46, 0xe0, 0xff, 0x02, 0xa2, 0xb4, 0xc6, 0xde, 0xff, 0x00, + 0x42, 0xc2, 0xff, 0x12, 0xc1, 0xe0, 0x02, 0x61, 0x04, 0xd9, 0x61, 0x00, 0x14, 0x40, 0xc9, 0x51, + 0x7c, 0xf4, 0xcd, 0x02, 0xdd, 0x03, 0x21, 0xd9, 0xed, 0x0c, 0x13, 0x00, 0x33, 0xa1, 0x40, 0x33, + 0x30, 0x08, 0x02, 0x4d, 0x0d, 0x30, 0x00, 0x10, 0x09, 0x02, 0x3d, 0x0c, 0x21, 0xf8, 0xee, 0x05, + 0x72, 0x06, 0x5d, 0x0d, 0x61, 0xd2, 0xed, 0x2d, 0x0c, 0x0c, 0x04, 0x82, 0xa0, 0x64, 0x31, 0xd2, + 0xed, 0x0c, 0x17, 0x32, 0x03, 0x01, 0x79, 0x11, 0x89, 0x01, 0x71, 0xf1, 0xee, 0xc5, 0xec, 0xff, + 0x2d, 0x0c, 0x45, 0xd0, 0x01, 0xc8, 0x51, 0xd8, 0x61, 0x08, 0x41, 0x12, 0xc1, 0x20, 0x0d, 0xf0, + 0x41, 0xed, 0xee, 0x32, 0xa0, 0x01, 0x12, 0xc1, 0xe0, 0xc2, 0x61, 0x06, 0x02, 0x61, 0x05, 0x01, + 0xc3, 0xed, 0xcd, 0x02, 0x08, 0x00, 0x32, 0x44, 0x00, 0x57, 0x70, 0x07, 0x0c, 0x42, 0x85, 0x07, + 0x06, 0x46, 0x01, 0x00, 0x85, 0xf3, 0x00, 0x22, 0x61, 0x04, 0x61, 0xbc, 0xed, 0x71, 0xe0, 0xee, + 0x42, 0xa0, 0x64, 0x0c, 0x12, 0x51, 0xe0, 0xee, 0x31, 0xbc, 0xed, 0x52, 0x95, 0x00, 0x32, 0x03, + 0x01, 0x29, 0x11, 0x49, 0x01, 0x2d, 0x0c, 0x0c, 0x04, 0x05, 0xe7, 0xff, 0x2d, 0x0c, 0x85, 0xca, + 0x01, 0x61, 0xb2, 0xed, 0x68, 0x06, 0x57, 0x76, 0x09, 0x0c, 0x42, 0x0c, 0x03, 0x05, 0x15, 0x06, + 0x46, 0x01, 0x00, 0x22, 0x21, 0x04, 0x85, 0xeb, 0x00, 0xc2, 0x21, 0x06, 0x02, 0x21, 0x05, 0x12, + 0xc1, 0x20, 0x0d, 0xf0, 0x12, 0xc1, 0xe0, 0x02, 0x61, 0x06, 0xc2, 0x61, 0x07, 0x82, 0xa4, 0x00, + 0x71, 0x33, 0xed, 0x20, 0xc2, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x27, 0xd0, 0x80, 0x66, 0x20, 0xc0, + 0x20, 0x00, 0x0c, 0x04, 0x0c, 0x00, 0x22, 0xa0, 0x64, 0x31, 0xa3, 0xed, 0x62, 0x67, 0xd0, 0x51, + 0xc6, 0xee, 0x61, 0x9e, 0xed, 0x71, 0xc2, 0xee, 0x52, 0x95, 0x00, 0x32, 0x03, 0x01, 0x29, 0x01, + 0x09, 0x11, 0x2d, 0x0c, 0x45, 0xe0, 0xff, 0x31, 0xc1, 0xee, 0xc0, 0x2c, 0x90, 0x3a, 0x22, 0x45, + 0x92, 0xff, 0xc0, 0x20, 0x74, 0x32, 0xc1, 0x10, 0x45, 0x23, 0x01, 0xc8, 0x71, 0x08, 0x61, 0x12, + 0xc1, 0x20, 0x0d, 0xf0, 0x61, 0xbb, 0xee, 0x12, 0xc1, 0xf0, 0x09, 0x11, 0x29, 0x01, 0xc9, 0x21, + 0xd9, 0x31, 0x51, 0x1f, 0xed, 0xd1, 0x1a, 0xed, 0xc1, 0x53, 0xed, 0xc0, 0x20, 0x00, 0x42, 0x25, + 0xfa, 0x60, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x65, 0xfa, 0x31, 0xb2, 0xee, 0xc0, 0x20, 0x00, + 0x22, 0x2d, 0x44, 0x30, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x0c, 0x23, 0x0c, 0x04, 0x2c, 0x75, 0x08, + 0x0c, 0x22, 0x6d, 0x44, 0x02, 0x20, 0x26, 0x22, 0xa0, 0x6a, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, + 0x20, 0x35, 0xc0, 0x00, 0x00, 0x21, 0x11, 0xee, 0x31, 0x34, 0xed, 0xc0, 0x20, 0x00, 0x02, 0x2d, + 0x44, 0x20, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x6d, 0x44, 0xb1, 0xa3, 0xee, 0xa1, 0xa3, 0xee, + 0xc0, 0x20, 0x00, 0x61, 0x07, 0xed, 0x92, 0x26, 0xe8, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, + 0x20, 0x00, 0x92, 0x66, 0xe8, 0x81, 0x9e, 0xee, 0x71, 0xca, 0xed, 0xc0, 0x20, 0x00, 0x52, 0x26, + 0xe6, 0x80, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0xe6, 0x7c, 0xd4, 0xc0, + 0x20, 0x00, 0x22, 0x23, 0x9c, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x63, 0x9c, 0x0c, 0x22, + 0x01, 0x12, 0xed, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x28, 0xc0, 0x00, 0x00, 0x0c, 0x22, + 0x08, 0x0c, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa0, 0x81, 0xc0, 0x00, 0x00, 0x31, 0x8d, 0xee, + 0xc0, 0x20, 0x00, 0x22, 0x2d, 0x44, 0x30, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x08, 0x0c, 0x02, 0x20, + 0x32, 0x22, 0x6d, 0x44, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x08, 0x0c, 0x0c, 0x04, + 0x02, 0x20, 0x26, 0x2c, 0x45, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x31, 0xc0, 0x00, 0x00, + 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x08, 0x0c, 0x0c, 0x04, 0x02, 0x20, 0x26, 0x2c, 0x55, 0xc0, 0x00, + 0x00, 0x08, 0x0c, 0x02, 0x20, 0x2f, 0xc0, 0x00, 0x00, 0x42, 0xa9, 0xff, 0x31, 0xd8, 0xec, 0xc0, + 0x20, 0x00, 0x22, 0x23, 0xd0, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x0c, 0x04, 0x0c, 0x45, 0x0c, + 0x06, 0x0c, 0x87, 0x08, 0x0c, 0x22, 0x63, 0xd0, 0x22, 0xa0, 0x62, 0x02, 0x20, 0x27, 0x0c, 0x13, + 0xc0, 0x00, 0x00, 0x01, 0x42, 0xed, 0x58, 0x00, 0xb7, 0xf5, 0x07, 0x28, 0x01, 0x05, 0xde, 0xff, + 0xc6, 0x02, 0x00, 0x22, 0x00, 0x4e, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x45, 0xe4, 0xff, 0x08, + 0x0c, 0x02, 0x20, 0x23, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x08, 0x0c, 0x0c, 0x14, + 0x02, 0x20, 0x26, 0x4c, 0x85, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x22, 0xc0, 0x00, 0x00, + 0x22, 0xa0, 0x6c, 0x0c, 0x23, 0x0c, 0x04, 0x0c, 0x05, 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, + 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6c, 0x0c, 0x23, 0x0c, 0x04, 0x0c, 0x25, 0x08, 0x0c, + 0x0c, 0x26, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x13, 0xc0, + 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0xa4, 0x0c, 0x45, 0x08, 0x0c, 0x0c, 0x46, 0x02, + 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0xa4, 0x0c, 0x55, + 0x08, 0x0c, 0x0c, 0x56, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, + 0x03, 0x1c, 0xa4, 0x0c, 0x45, 0x08, 0x0c, 0x0c, 0x46, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, + 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0xa4, 0x0c, 0x55, 0x08, 0x0c, 0x0c, 0x56, 0x02, 0x20, + 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0xc8, 0x21, 0xd8, 0x31, 0x08, 0x11, 0x12, 0xc1, + 0x10, 0x0d, 0xf0, 0x00, 0x61, 0x0e, 0xed, 0x1c, 0x8b, 0x92, 0x06, 0x78, 0x71, 0x9d, 0xec, 0x80, + 0x99, 0x01, 0x90, 0x98, 0x31, 0x90, 0x94, 0xc0, 0xbc, 0x22, 0x0c, 0x02, 0x30, 0xa3, 0x11, 0x31, + 0x36, 0xee, 0x70, 0x62, 0xa0, 0xc0, 0x20, 0x00, 0x82, 0x26, 0xc1, 0x30, 0x58, 0x10, 0x90, 0x88, + 0xc0, 0x50, 0x5a, 0x20, 0x80, 0x80, 0x74, 0x80, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0xc1, + 0x1b, 0x22, 0x20, 0x20, 0x74, 0xb7, 0x92, 0xd9, 0x91, 0xfd, 0xec, 0x42, 0x49, 0x78, 0x0d, 0xf0, + 0x0c, 0x23, 0x0c, 0x04, 0x0c, 0x55, 0x0c, 0x56, 0x0c, 0x17, 0x12, 0xc1, 0xd0, 0xc9, 0x51, 0xe9, + 0x71, 0xf9, 0x81, 0x09, 0x41, 0x01, 0xbb, 0xec, 0xd9, 0x61, 0x08, 0x00, 0xdd, 0x02, 0x02, 0x20, + 0x27, 0x22, 0xa0, 0x6c, 0xc0, 0x00, 0x00, 0x51, 0x5c, 0xed, 0x0c, 0x72, 0xc1, 0x7c, 0xec, 0xc0, + 0x20, 0x00, 0x42, 0x2c, 0xd7, 0x50, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x6c, 0xd7, 0xc0, 0x20, + 0x00, 0x32, 0x2c, 0xd4, 0x30, 0x38, 0x75, 0x37, 0x02, 0x0b, 0xc0, 0x20, 0x00, 0x62, 0x2c, 0xd4, + 0x60, 0x68, 0x25, 0x56, 0x36, 0xff, 0x7c, 0xd9, 0xc0, 0x20, 0x00, 0x82, 0x2c, 0xd4, 0x90, 0x88, + 0x10, 0xc0, 0x20, 0x00, 0x82, 0x6c, 0xd4, 0x0c, 0x22, 0xc0, 0x20, 0x00, 0x72, 0x2c, 0xd4, 0x20, + 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x6c, 0xd4, 0x01, 0x88, 0xec, 0xc0, 0x00, 0x00, 0xc0, 0x20, + 0x00, 0xb2, 0x2c, 0xd4, 0x0c, 0x7a, 0xb0, 0xb8, 0x75, 0xb7, 0x0a, 0x0b, 0xc0, 0x20, 0x00, 0xe2, + 0x2c, 0xd4, 0xe0, 0xe8, 0x25, 0x56, 0x3e, 0xff, 0x10, 0x21, 0x20, 0xd2, 0x61, 0x09, 0xc5, 0x46, + 0x04, 0xf8, 0x91, 0x0c, 0x0d, 0x0c, 0x0e, 0x0d, 0x01, 0x00, 0x3d, 0x90, 0x32, 0x13, 0x00, 0xea, + 0xe3, 0xe0, 0xe0, 0xf4, 0x8c, 0x6f, 0x21, 0xfd, 0xed, 0x45, 0x30, 0x06, 0x0d, 0x01, 0x1b, 0xdd, + 0xd0, 0xd0, 0x74, 0x66, 0x8d, 0xe2, 0x22, 0xa0, 0x6c, 0x0c, 0x23, 0x0c, 0x04, 0x01, 0x8d, 0xec, + 0x0c, 0x55, 0x08, 0x00, 0x0c, 0x56, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0xc0, 0x20, + 0x00, 0x32, 0x2c, 0xd4, 0x0c, 0x72, 0x30, 0x38, 0x75, 0x37, 0x02, 0x0b, 0xc0, 0x20, 0x00, 0x42, + 0x2c, 0xd4, 0x40, 0x48, 0x25, 0x56, 0x34, 0xff, 0x81, 0x2a, 0xed, 0xc0, 0x20, 0x00, 0x72, 0x2c, + 0xd7, 0x80, 0x77, 0x10, 0xc0, 0x20, 0x00, 0x72, 0x6c, 0xd7, 0x7c, 0xe6, 0xc0, 0x20, 0x00, 0x52, + 0x2c, 0xd8, 0x60, 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, 0x6c, 0xd8, 0x0c, 0x14, 0xc0, 0x20, 0x00, + 0x32, 0x2c, 0xd8, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x08, 0x41, 0xd8, 0x61, 0xf8, 0x81, 0x32, + 0x6c, 0xd8, 0x8b, 0x2e, 0xc8, 0x51, 0xe8, 0x71, 0x20, 0x24, 0xf4, 0x12, 0xc1, 0x30, 0x0d, 0xf0, + 0x0d, 0xf0, 0x00, 0x00, 0x0d, 0xf0, 0x00, 0x00, 0x20, 0x93, 0xc0, 0x3b, 0x89, 0x90, 0x89, 0xb3, + 0x80, 0x82, 0x21, 0x1b, 0x88, 0x9c, 0x88, 0x31, 0x4f, 0xec, 0x20, 0x78, 0xa0, 0x3a, 0x34, 0xc0, + 0x20, 0x00, 0x48, 0x02, 0xc0, 0x20, 0x00, 0x42, 0x63, 0x80, 0x4b, 0x22, 0x4b, 0x33, 0x77, 0x92, + 0xed, 0xe0, 0x28, 0x11, 0x0d, 0xf0, 0x00, 0x00, 0x20, 0x83, 0xc0, 0x3b, 0x78, 0x80, 0x78, 0xb3, + 0x70, 0x72, 0x21, 0x1b, 0x77, 0x9c, 0xa7, 0xa1, 0x43, 0xec, 0x40, 0x97, 0xa0, 0xaa, 0x34, 0xaa, + 0x49, 0xc0, 0x20, 0x00, 0xb2, 0x23, 0x80, 0xc0, 0x20, 0x00, 0xb9, 0x02, 0x4b, 0x33, 0x4b, 0x22, + 0x47, 0x93, 0xed, 0xe0, 0x27, 0x11, 0x0d, 0xf0, 0x20, 0x73, 0x04, 0x20, 0x61, 0x04, 0x20, 0x50, + 0x04, 0x12, 0xc1, 0xe0, 0x09, 0x31, 0xc9, 0x41, 0x6a, 0x55, 0xc1, 0x52, 0xec, 0x20, 0x62, 0x04, + 0x7a, 0x66, 0x20, 0x05, 0x04, 0x20, 0x76, 0x04, 0x7a, 0x00, 0x20, 0x74, 0x04, 0x7a, 0x00, 0x6a, + 0x00, 0x5a, 0x00, 0x30, 0x53, 0x24, 0x00, 0x20, 0x74, 0x0c, 0x40, 0xf6, 0x52, 0x01, 0x0d, 0x02, + 0x00, 0x20, 0x90, 0x1c, 0xd0, 0x50, 0x22, 0x90, 0x20, 0x20, 0x74, 0x27, 0x30, 0x01, 0x0d, 0x02, + 0x0c, 0x42, 0x00, 0x50, 0x74, 0x0c, 0x13, 0x08, 0x0c, 0x40, 0x45, 0xb0, 0x68, 0x14, 0x02, 0x20, + 0x2b, 0x48, 0x04, 0x60, 0x79, 0x84, 0x79, 0x11, 0x40, 0x50, 0x84, 0x60, 0x60, 0x84, 0x69, 0x21, + 0x59, 0x01, 0x40, 0x49, 0x84, 0xc0, 0x00, 0x00, 0x48, 0x11, 0x08, 0x0c, 0x0c, 0x52, 0x02, 0x20, + 0x2b, 0x0c, 0x13, 0xc0, 0x00, 0x00, 0x48, 0x01, 0x08, 0x0c, 0x0c, 0x42, 0x02, 0x20, 0x2b, 0x0c, + 0x23, 0xc0, 0x00, 0x00, 0x48, 0x21, 0x08, 0x0c, 0x0c, 0x52, 0x02, 0x20, 0x2b, 0x0c, 0x23, 0xc0, + 0x00, 0x00, 0xc8, 0x41, 0x08, 0x31, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0xad, 0x05, 0x9d, 0x06, + 0x12, 0xc1, 0xb0, 0x29, 0xd1, 0x09, 0x51, 0xf9, 0x91, 0xc9, 0x61, 0x39, 0xf1, 0xe9, 0x81, 0xd9, + 0x71, 0x49, 0xa1, 0xd1, 0x28, 0xec, 0x6c, 0xf4, 0xed, 0x07, 0x31, 0xf1, 0xeb, 0xc0, 0x20, 0x00, + 0x22, 0x23, 0xe4, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x1c, 0x24, 0x0c, 0x75, 0x0c, 0x06, 0x0c, + 0x07, 0xa9, 0xb1, 0x99, 0xe1, 0x08, 0x0d, 0x22, 0x63, 0xe4, 0x22, 0xa0, 0x77, 0x02, 0x20, 0x27, + 0x0c, 0x03, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0x94, 0x0c, 0x75, 0x08, 0x0d, + 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x0c, 0x13, 0x0c, 0x52, 0x0c, 0x0c, + 0x48, 0xd1, 0xc2, 0x61, 0x13, 0x40, 0x23, 0x93, 0x29, 0xc1, 0x08, 0xc1, 0xf2, 0x21, 0x13, 0x07, + 0x2f, 0x02, 0x06, 0xa6, 0x00, 0x16, 0x0f, 0x28, 0x0b, 0x3f, 0x16, 0x03, 0x28, 0x42, 0xcf, 0xfe, + 0x16, 0xf4, 0x27, 0x52, 0xcf, 0xfd, 0x16, 0x75, 0x2a, 0x62, 0xcf, 0xfc, 0x16, 0xc6, 0x2a, 0x0c, + 0x0c, 0x0c, 0x07, 0x72, 0x61, 0x10, 0x32, 0x21, 0x13, 0x0c, 0x82, 0x08, 0x0d, 0x0c, 0x0f, 0x02, + 0x20, 0x34, 0x30, 0xf2, 0x83, 0x2d, 0x0f, 0xc0, 0x00, 0x00, 0x42, 0x21, 0x13, 0xf6, 0x24, 0x13, + 0x0c, 0x02, 0x3d, 0x0f, 0x42, 0xa1, 0xf4, 0x08, 0x0d, 0x0c, 0xc5, 0x02, 0x20, 0x3a, 0x62, 0xc1, + 0x10, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x00, 0xd1, 0xfb, 0xeb, 0x32, 0xa1, 0x04, 0x02, 0x2d, 0x00, + 0xc0, 0x4c, 0x20, 0x02, 0x20, 0x15, 0x1c, 0x65, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x1c, 0x63, 0x48, + 0xb1, 0x45, 0xe7, 0xff, 0xac, 0xae, 0x7d, 0x0c, 0x6d, 0x0f, 0x21, 0x5d, 0xed, 0x0c, 0x03, 0x1c, + 0x6a, 0xa9, 0x01, 0x92, 0x01, 0x10, 0x42, 0xa1, 0x04, 0x80, 0x99, 0x01, 0x90, 0x98, 0x31, 0x99, + 0x11, 0x82, 0x01, 0x11, 0x52, 0x21, 0x10, 0x80, 0x88, 0x01, 0x80, 0x88, 0x31, 0x89, 0x21, 0x05, + 0x06, 0x06, 0xd1, 0xe8, 0xeb, 0x08, 0x0d, 0x02, 0x20, 0x10, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x0c, + 0x0f, 0x22, 0xa0, 0x01, 0x32, 0x21, 0x0f, 0x42, 0x21, 0x10, 0x52, 0xa0, 0x00, 0x0c, 0x06, 0x69, + 0x01, 0x69, 0x11, 0x69, 0x21, 0x08, 0x0d, 0x0c, 0x07, 0x02, 0x20, 0x1a, 0x0c, 0x06, 0xc0, 0x00, + 0x00, 0x08, 0x0d, 0x0c, 0x12, 0x08, 0xd0, 0x32, 0xa4, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, + 0x08, 0x0d, 0xc1, 0xa3, 0xeb, 0x08, 0xc0, 0xc2, 0x2c, 0xf9, 0xc0, 0x00, 0x00, 0x8c, 0xae, 0x21, + 0x41, 0xed, 0xc0, 0x38, 0x21, 0x41, 0xb1, 0xeb, 0x45, 0x00, 0x06, 0x21, 0x68, 0xec, 0x02, 0x21, + 0x10, 0xc7, 0xa2, 0x10, 0x22, 0xc0, 0x18, 0x1b, 0xff, 0xf0, 0xf0, 0x74, 0x20, 0x00, 0x74, 0x02, + 0x61, 0x10, 0x66, 0x2f, 0x9b, 0x02, 0x2d, 0x00, 0x02, 0x20, 0x1b, 0x22, 0xa0, 0x01, 0xc0, 0x00, + 0x00, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c, 0x0d, 0x0c, 0x02, 0x0c, 0x03, 0x32, 0x61, 0x11, 0x22, 0x61, + 0x12, 0x0c, 0xe2, 0x38, 0xf1, 0x42, 0x21, 0x10, 0x52, 0xc1, 0x12, 0x68, 0xe1, 0x7d, 0x0e, 0xc5, + 0xb3, 0x04, 0x9c, 0x8e, 0x21, 0x2d, 0xed, 0x3d, 0x0c, 0x52, 0x01, 0x13, 0x42, 0x01, 0x12, 0x80, + 0x55, 0x01, 0x80, 0x44, 0x01, 0x40, 0x48, 0x31, 0x50, 0x58, 0x31, 0x45, 0xfa, 0x05, 0xbc, 0x0c, + 0x22, 0x01, 0x12, 0x01, 0xb8, 0xeb, 0x80, 0x22, 0x01, 0x08, 0x00, 0x20, 0x28, 0x31, 0x08, 0x00, + 0x20, 0x2d, 0xc0, 0xc0, 0x00, 0x00, 0xe6, 0x22, 0x18, 0x22, 0x01, 0x13, 0x01, 0xb2, 0xeb, 0x80, + 0x22, 0x01, 0x08, 0x00, 0x20, 0x28, 0x31, 0x08, 0x00, 0x20, 0x2f, 0xc0, 0xc0, 0x00, 0x00, 0xa6, + 0x22, 0x31, 0x32, 0x21, 0x12, 0x22, 0x21, 0x11, 0xd2, 0x01, 0x12, 0xf2, 0x01, 0x13, 0x1b, 0xcc, + 0xc0, 0xc0, 0x74, 0x80, 0xff, 0x01, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0xf0, 0xf8, 0x31, 0x2a, + 0x2f, 0x3a, 0x3d, 0x32, 0x61, 0x12, 0x22, 0x61, 0x11, 0x26, 0x4c, 0x02, 0x46, 0xdc, 0xff, 0x0c, + 0x00, 0x46, 0x00, 0x00, 0x0c, 0x10, 0x6c, 0x13, 0x56, 0x40, 0x09, 0xd2, 0x21, 0x12, 0x02, 0x21, + 0x11, 0x2b, 0xdd, 0x2b, 0x00, 0x00, 0x02, 0x21, 0xd0, 0xd2, 0x21, 0x80, 0xdd, 0x01, 0xd0, 0xd8, + 0x31, 0x7c, 0x12, 0x80, 0xf0, 0x01, 0xf0, 0xf8, 0x31, 0x0d, 0x02, 0x27, 0x2d, 0x01, 0x0d, 0x0d, + 0x0c, 0xf2, 0x7d, 0x02, 0xe6, 0xb0, 0x01, 0x7d, 0x00, 0x0d, 0x03, 0x80, 0xd7, 0x01, 0xd0, 0xd8, + 0x31, 0x37, 0x2f, 0x01, 0x0d, 0x0f, 0x1c, 0xff, 0x7d, 0x0f, 0xe6, 0xc0, 0x01, 0x7d, 0x00, 0x80, + 0xf7, 0x01, 0x08, 0xd1, 0xf0, 0xf8, 0x31, 0xdc, 0x50, 0x38, 0xa1, 0x70, 0x00, 0x54, 0xd0, 0x20, + 0x44, 0xa0, 0x22, 0x11, 0x20, 0x00, 0x20, 0x22, 0x21, 0x13, 0x30, 0x22, 0x90, 0x02, 0x52, 0x00, + 0x16, 0xee, 0x00, 0xf0, 0x5f, 0x20, 0xd0, 0x4d, 0x20, 0x21, 0xf0, 0xec, 0x32, 0x21, 0x13, 0x05, + 0xec, 0x05, 0xc0, 0x50, 0x14, 0xd1, 0x7f, 0xeb, 0x32, 0x21, 0x13, 0x68, 0x1d, 0x1b, 0x43, 0x40, + 0x30, 0x74, 0x32, 0x61, 0x13, 0xe0, 0x66, 0x11, 0x60, 0x55, 0x20, 0x59, 0x1d, 0x46, 0x66, 0xff, + 0x02, 0x01, 0x13, 0x22, 0x01, 0x12, 0x80, 0x00, 0x01, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x00, + 0x08, 0x31, 0xfa, 0x00, 0xda, 0xd2, 0x1b, 0xdd, 0x1b, 0x00, 0x00, 0x01, 0x21, 0xd0, 0xd1, 0x21, + 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0xc6, 0xd5, 0xff, 0x0c, 0x0c, 0x86, 0x64, 0xff, 0x4c, 0x0c, + 0x46, 0x63, 0xff, 0xc2, 0xa0, 0x60, 0x0c, 0xf2, 0x22, 0x61, 0x10, 0xc6, 0x61, 0xff, 0x1c, 0x05, + 0xc0, 0x20, 0x00, 0x41, 0x33, 0xeb, 0x32, 0x24, 0xe4, 0x50, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, + 0x64, 0xe4, 0xc8, 0x61, 0xd8, 0x71, 0xe8, 0x81, 0xf8, 0x91, 0x08, 0x51, 0x12, 0xc1, 0x50, 0x0d, + 0xf0, 0xc2, 0xa0, 0x70, 0x2c, 0x86, 0x62, 0x61, 0x10, 0x46, 0x56, 0xff, 0xc2, 0xa0, 0x78, 0x4c, + 0x17, 0x72, 0x61, 0x10, 0x86, 0x53, 0xff, 0x00, 0x12, 0xc1, 0xc0, 0xc9, 0x21, 0xd9, 0x31, 0xe9, + 0x41, 0xf9, 0x51, 0x09, 0x11, 0x59, 0xa1, 0x79, 0x91, 0x29, 0x71, 0x49, 0x81, 0x22, 0xa0, 0x7f, + 0x80, 0x43, 0x01, 0x40, 0x48, 0x31, 0x40, 0x32, 0xa3, 0x39, 0x61, 0xe6, 0x13, 0x02, 0x46, 0x40, + 0x00, 0x0c, 0x0c, 0x0c, 0x00, 0x0c, 0x0f, 0x58, 0xa1, 0x0b, 0x76, 0xdd, 0x05, 0x7a, 0x55, 0x59, + 0xb1, 0x1c, 0x83, 0xa2, 0x0d, 0x00, 0xf0, 0x6c, 0xc0, 0x80, 0xe6, 0x01, 0xe0, 0xe8, 0x31, 0x80, + 0xaa, 0x01, 0xa0, 0xa8, 0x31, 0xa7, 0x2e, 0x3e, 0x80, 0x66, 0x01, 0x28, 0xb1, 0x60, 0x68, 0x31, + 0x27, 0xad, 0x33, 0xa0, 0x70, 0x74, 0xcc, 0xa7, 0x82, 0x0d, 0x01, 0x80, 0x88, 0x01, 0x80, 0x88, + 0x31, 0x87, 0x26, 0x22, 0xd8, 0xa1, 0x1b, 0x00, 0xa0, 0x20, 0x74, 0x2a, 0xff, 0x00, 0x00, 0x74, + 0x0a, 0xdd, 0xf0, 0x6c, 0xc0, 0x80, 0xe6, 0x01, 0xa2, 0x0d, 0x00, 0xe0, 0xe8, 0x31, 0x80, 0xaa, + 0x01, 0xa0, 0xa8, 0x31, 0xa7, 0xae, 0xc0, 0x09, 0xc1, 0x37, 0x2e, 0x0d, 0x62, 0xce, 0xe8, 0x0c, + 0xfe, 0x80, 0x66, 0x01, 0x60, 0x68, 0x31, 0x86, 0x09, 0x00, 0xe0, 0x2e, 0x20, 0x32, 0xa0, 0x06, + 0xc5, 0x39, 0x08, 0x0d, 0x02, 0x0c, 0x63, 0x2d, 0x0e, 0x00, 0x10, 0x40, 0x0c, 0x1e, 0x00, 0xee, + 0xa1, 0x0b, 0xee, 0xe0, 0xe0, 0xf4, 0x05, 0x3f, 0x08, 0x08, 0xc1, 0x80, 0x62, 0x01, 0x60, 0x68, + 0x31, 0xa6, 0x56, 0x04, 0x0c, 0x56, 0x86, 0x00, 0x00, 0x60, 0x60, 0xf4, 0x02, 0x61, 0x0c, 0x62, + 0x61, 0x00, 0x72, 0x21, 0x09, 0x98, 0x81, 0x88, 0x71, 0x90, 0x90, 0x90, 0x42, 0x19, 0x00, 0x80, + 0x8c, 0x90, 0x40, 0x4e, 0xb0, 0x4a, 0x46, 0x40, 0x40, 0xf4, 0x42, 0x58, 0x00, 0x9c, 0x17, 0x52, + 0x19, 0x00, 0x21, 0x8b, 0xec, 0x3d, 0x0c, 0x6d, 0x0e, 0x78, 0x01, 0x45, 0xd2, 0x05, 0x08, 0xc1, + 0x68, 0x01, 0x0c, 0xfa, 0xa7, 0x9e, 0x0b, 0x66, 0x56, 0x08, 0xb1, 0x86, 0xec, 0xc2, 0x4b, 0x00, + 0xc6, 0x03, 0x00, 0xe8, 0x61, 0x1b, 0xcc, 0x80, 0xcc, 0x01, 0xc0, 0xc8, 0x31, 0xe0, 0xec, 0xc0, + 0x56, 0xde, 0xf0, 0xc8, 0x21, 0xd8, 0x31, 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x40, + 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xcd, 0x02, 0x1c, 0x70, 0x27, + 0x20, 0x1d, 0x1c, 0x12, 0xc7, 0x22, 0x12, 0xe6, 0xac, 0x09, 0x4c, 0x00, 0xe6, 0x6c, 0x13, 0x0c, + 0x00, 0x86, 0x03, 0x00, 0x02, 0xa0, 0x60, 0x06, 0x02, 0x00, 0x02, 0xa0, 0x70, 0x86, 0x00, 0x00, + 0x02, 0xa0, 0x78, 0x21, 0x00, 0xeb, 0x00, 0x40, 0xf4, 0x02, 0x22, 0x00, 0x32, 0xa0, 0x01, 0x02, + 0x20, 0x2b, 0x22, 0xa0, 0x03, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x0c, 0x63, 0x85, 0x32, 0x08, 0x0c, + 0x23, 0x0c, 0x65, 0xd0, 0x42, 0x11, 0x01, 0xf7, 0xea, 0x0c, 0x32, 0x08, 0x00, 0x50, 0x44, 0x20, + 0x02, 0x20, 0x2b, 0x40, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0x4d, 0x06, 0x12, 0xc1, 0xa0, 0xc9, 0xb1, 0x09, 0xa1, 0x29, 0x81, 0x39, + 0x61, 0x52, 0x61, 0x11, 0xd9, 0xc1, 0xe9, 0xd1, 0xf9, 0xe1, 0xed, 0x07, 0xf1, 0xea, 0xea, 0xd1, + 0x7d, 0xeb, 0x52, 0x0f, 0x08, 0x49, 0x71, 0x8c, 0x85, 0x98, 0x03, 0x39, 0x61, 0x90, 0x90, 0x05, + 0x56, 0x89, 0x1e, 0x41, 0x99, 0xeb, 0x31, 0xae, 0xea, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xf2, 0x40, + 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xf2, 0xc0, 0x20, 0x00, 0x08, 0x0f, 0xc2, 0xa1, 0xe0, + 0x02, 0x20, 0x28, 0xc2, 0x6d, 0x1a, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x24, + 0x08, 0x0f, 0x0c, 0x75, 0x02, 0x20, 0x25, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x1c, 0x84, + 0x0c, 0x55, 0x0c, 0x56, 0x08, 0x0f, 0x29, 0x91, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x77, 0xc0, 0x00, + 0x00, 0x0c, 0x03, 0x1c, 0x84, 0x0c, 0x55, 0x0c, 0x56, 0x0c, 0x07, 0x08, 0x0f, 0xcd, 0x02, 0x02, + 0x20, 0x27, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x24, 0x0c, + 0x75, 0x08, 0x0f, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0xc2, 0x61, 0x12, + 0x16, 0x8e, 0x0d, 0x0c, 0x05, 0x0c, 0x0c, 0x22, 0x01, 0x6c, 0xf2, 0x21, 0x18, 0x29, 0xf1, 0xf0, + 0x6c, 0x90, 0x62, 0x16, 0x00, 0x0c, 0x44, 0x0d, 0x04, 0x60, 0xa0, 0xe4, 0x60, 0x24, 0x04, 0x60, + 0x87, 0x04, 0x60, 0xb6, 0x04, 0x60, 0x75, 0x04, 0x60, 0x99, 0x04, 0x60, 0x38, 0x04, 0x9a, 0x33, + 0xba, 0x77, 0x8a, 0x33, 0x7a, 0x33, 0x1c, 0xd7, 0x60, 0x63, 0x04, 0x2a, 0x66, 0x6a, 0x33, 0x30, + 0x30, 0x74, 0xf6, 0x53, 0x01, 0x0d, 0x03, 0x00, 0xb0, 0x74, 0x52, 0x61, 0x13, 0xa0, 0x00, 0x24, + 0xb0, 0xbb, 0x90, 0x00, 0xbb, 0x90, 0x0d, 0x07, 0xb0, 0xb0, 0xf4, 0xb7, 0x37, 0x01, 0x0d, 0x0b, + 0x00, 0x30, 0xf4, 0x32, 0x61, 0x10, 0x00, 0x03, 0x40, 0x50, 0x20, 0x91, 0x07, 0xe2, 0x5e, 0xa0, + 0x20, 0xb4, 0x45, 0x7e, 0xfe, 0x21, 0xd3, 0xea, 0x32, 0xc1, 0x10, 0x01, 0xa6, 0xea, 0x42, 0xa0, + 0x0a, 0x02, 0x20, 0x00, 0x52, 0x21, 0x0f, 0x02, 0x20, 0x3b, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x52, + 0x21, 0x13, 0x0c, 0x18, 0x32, 0x21, 0x11, 0x42, 0x91, 0x08, 0x22, 0x91, 0x09, 0x92, 0x21, 0x10, + 0x62, 0x91, 0x0a, 0x72, 0x91, 0x0b, 0x60, 0x60, 0x84, 0x70, 0x70, 0x84, 0x00, 0x19, 0x40, 0x20, + 0x20, 0x84, 0x40, 0x40, 0x84, 0x30, 0x39, 0xb0, 0x70, 0x44, 0x11, 0x70, 0x22, 0x11, 0x00, 0x88, + 0xa1, 0x80, 0x55, 0x20, 0x70, 0x22, 0x20, 0x60, 0x44, 0x20, 0x49, 0x03, 0x29, 0x13, 0x1b, 0xcc, + 0xc0, 0xc0, 0x74, 0xf0, 0x6c, 0x90, 0xc0, 0x4e, 0xc0, 0x56, 0x54, 0xf3, 0x08, 0x61, 0xf1, 0x8d, + 0xea, 0x08, 0x00, 0xc2, 0x21, 0x12, 0x07, 0xf0, 0x1a, 0x28, 0x81, 0x9c, 0x52, 0x0c, 0x02, 0x0c, + 0x83, 0x48, 0x71, 0x52, 0x21, 0x11, 0x62, 0x01, 0x64, 0x72, 0x01, 0x68, 0x82, 0x01, 0x6c, 0x89, + 0x01, 0x85, 0x95, 0xff, 0x7d, 0x0c, 0x41, 0xf4, 0xeb, 0xc0, 0x20, 0x00, 0x31, 0x4d, 0xea, 0x22, + 0x23, 0xf2, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x1c, 0x84, 0x0c, 0x55, 0x0c, 0x56, 0x22, 0x63, + 0xf2, 0x08, 0x0f, 0x22, 0xa0, 0x77, 0x02, 0x20, 0x27, 0x0c, 0x03, 0xc0, 0x00, 0x00, 0x78, 0x91, + 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x24, 0x08, 0x0f, 0x0c, 0x75, 0x02, 0x20, 0x27, 0x0c, 0x06, + 0xc0, 0x00, 0x00, 0x08, 0x0f, 0x02, 0x20, 0x32, 0xc0, 0x00, 0x00, 0x08, 0x0f, 0x02, 0x20, 0x31, + 0xc0, 0x00, 0x00, 0x08, 0x0f, 0x02, 0x20, 0x2f, 0xc1, 0x6b, 0xea, 0xc0, 0x00, 0x00, 0x48, 0x61, + 0x38, 0x04, 0x0c, 0x12, 0xc0, 0x33, 0x20, 0x39, 0x04, 0x22, 0x4f, 0x08, 0x16, 0xfe, 0x0d, 0xf2, + 0x21, 0x18, 0x61, 0xda, 0xeb, 0x0c, 0x0c, 0x28, 0x71, 0x02, 0x21, 0x11, 0x0c, 0x45, 0xf0, 0xac, + 0x90, 0xa2, 0x1a, 0x00, 0x3d, 0x05, 0xa0, 0x78, 0x04, 0xa0, 0x94, 0x04, 0xa0, 0x83, 0x04, 0x9a, + 0x88, 0xa0, 0xb6, 0x04, 0xa0, 0x95, 0x04, 0xba, 0x99, 0xa0, 0xb9, 0x04, 0xba, 0x77, 0xa0, 0xb7, + 0x04, 0xba, 0x77, 0xa0, 0xa0, 0xe4, 0x1c, 0xdb, 0x9a, 0x77, 0x8a, 0x77, 0xa0, 0x80, 0x24, 0x70, + 0x70, 0x74, 0xf6, 0x57, 0x01, 0x3d, 0x07, 0x30, 0x40, 0x74, 0x3d, 0x0b, 0x40, 0x74, 0x90, 0x80, + 0x77, 0x90, 0x70, 0x70, 0xf4, 0x77, 0x3b, 0x01, 0x3d, 0x07, 0x30, 0xb0, 0xf4, 0x00, 0xbb, 0xb0, + 0x88, 0x1b, 0xb8, 0x0b, 0x80, 0x39, 0x84, 0xb0, 0x70, 0x84, 0x80, 0x80, 0x84, 0xb0, 0xb9, 0x84, + 0xc0, 0x20, 0x00, 0x80, 0xbb, 0x11, 0xf0, 0x9a, 0x01, 0x1c, 0xe5, 0x52, 0x6d, 0x1a, 0xba, 0x99, + 0x70, 0xb1, 0x41, 0x60, 0x5c, 0xa0, 0xba, 0x99, 0xc0, 0x20, 0x00, 0x99, 0x05, 0xc0, 0x20, 0x00, + 0x1c, 0xfb, 0xb2, 0x6d, 0x1a, 0xc0, 0x20, 0x00, 0x10, 0x77, 0x01, 0xa0, 0x33, 0x01, 0x99, 0x05, + 0x7a, 0x33, 0x20, 0x74, 0x90, 0x72, 0x17, 0x00, 0x30, 0x88, 0x11, 0x70, 0x70, 0xa4, 0x80, 0x77, + 0xa0, 0x7a, 0x33, 0xc0, 0x20, 0x00, 0x82, 0xa1, 0xe0, 0x82, 0x6d, 0x1a, 0xc0, 0x20, 0x00, 0x39, + 0x05, 0xc0, 0x20, 0x00, 0x72, 0xa1, 0xe1, 0x72, 0x6d, 0x1a, 0xc0, 0x20, 0x00, 0x39, 0x05, 0x1b, + 0xcc, 0x32, 0x21, 0x14, 0x0c, 0x45, 0xc0, 0xc0, 0x74, 0xc0, 0x8e, 0xc0, 0x56, 0xe8, 0xf2, 0xc8, + 0xb1, 0xd8, 0xc1, 0xe8, 0xd1, 0xf8, 0xe1, 0x08, 0xa1, 0x12, 0xc1, 0x60, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xc0, 0xd2, 0x61, 0x0c, 0xc2, 0x61, 0x0b, 0x09, 0xa1, 0xcd, 0x02, 0x21, 0xf4, 0xe9, + 0xc0, 0x20, 0x00, 0x52, 0x22, 0xe3, 0x50, 0x59, 0x21, 0xc0, 0x20, 0x00, 0x42, 0x22, 0xe0, 0x40, + 0x49, 0x21, 0x5a, 0x44, 0xc0, 0x20, 0x00, 0x52, 0x22, 0xe2, 0x50, 0x59, 0x21, 0xc0, 0x20, 0x00, + 0x02, 0x22, 0xe1, 0x00, 0x09, 0x21, 0x50, 0x00, 0xc0, 0x09, 0x31, 0xc0, 0x20, 0x00, 0x62, 0x22, + 0xf7, 0x60, 0x68, 0x21, 0x69, 0x01, 0xc0, 0x20, 0x00, 0x52, 0x22, 0xf8, 0x50, 0x58, 0x21, 0x59, + 0x11, 0xc0, 0x20, 0x00, 0x22, 0x22, 0xf9, 0x7c, 0xcd, 0x52, 0xc3, 0xfe, 0x00, 0x0f, 0x31, 0x09, + 0x21, 0x00, 0x05, 0x40, 0xd0, 0xd3, 0x90, 0x40, 0x5f, 0x31, 0x20, 0x20, 0xb1, 0x29, 0x0c, 0x3d, + 0x05, 0x2d, 0x04, 0xc5, 0xd3, 0x06, 0x29, 0x51, 0x39, 0x41, 0x58, 0x21, 0x48, 0x31, 0x3d, 0x05, + 0x2d, 0x04, 0xc5, 0xd2, 0x06, 0x4d, 0x03, 0x68, 0x51, 0x38, 0x41, 0x2a, 0x26, 0x4a, 0x33, 0x67, + 0xb2, 0x01, 0x1b, 0x33, 0x4d, 0x0d, 0x85, 0xff, 0x07, 0x29, 0x1c, 0x48, 0x01, 0x68, 0x11, 0x69, + 0x71, 0x40, 0x5f, 0x31, 0x60, 0x6f, 0x31, 0x69, 0x61, 0x3d, 0x05, 0x2d, 0x04, 0x05, 0xd0, 0x06, + 0x29, 0x91, 0x39, 0x81, 0x58, 0x61, 0x48, 0x71, 0x3d, 0x05, 0x2d, 0x04, 0x05, 0xcf, 0x06, 0x4d, + 0x03, 0x88, 0x91, 0x38, 0x81, 0x2a, 0x28, 0x4a, 0x33, 0x87, 0xb2, 0x01, 0x1b, 0x33, 0x4d, 0x0d, + 0xc5, 0xfb, 0x07, 0x08, 0xa1, 0x29, 0x2c, 0xd8, 0xc1, 0xc8, 0xb1, 0x12, 0xc1, 0x40, 0x0d, 0xf0, + 0x37, 0x22, 0x02, 0x27, 0xa4, 0x11, 0x00, 0x15, 0x40, 0x31, 0xf2, 0xe9, 0x0c, 0x14, 0x28, 0x33, + 0x00, 0x44, 0xa1, 0x40, 0x22, 0x20, 0x29, 0x33, 0x0d, 0xf0, 0x00, 0x00, 0x82, 0xae, 0x00, 0x72, + 0xa1, 0x42, 0x31, 0x80, 0xea, 0xc0, 0x20, 0x00, 0x62, 0x23, 0x59, 0x80, 0x66, 0x10, 0x70, 0x66, + 0x20, 0xc0, 0x20, 0x00, 0x62, 0x63, 0x59, 0x51, 0x8f, 0xea, 0x0c, 0x24, 0xc0, 0x20, 0x00, 0x22, + 0x23, 0x58, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0x58, 0x0d, 0xf0, + 0x12, 0xc1, 0xe0, 0x09, 0x11, 0x29, 0x01, 0xd9, 0x31, 0xe9, 0x41, 0xc9, 0x21, 0xed, 0x05, 0xc1, + 0x71, 0xea, 0xd1, 0xcd, 0xe9, 0xc0, 0x20, 0x00, 0x02, 0x2c, 0x58, 0x49, 0x51, 0x17, 0xe0, 0x24, + 0x2d, 0x03, 0x01, 0xbd, 0xe9, 0xc0, 0x00, 0x00, 0x01, 0xd7, 0xe9, 0x08, 0x00, 0x02, 0x20, 0x19, + 0x28, 0x01, 0xc0, 0x00, 0x00, 0x08, 0x51, 0xc0, 0x20, 0x00, 0x22, 0x2c, 0x58, 0x17, 0xe2, 0x13, + 0x0c, 0x02, 0x06, 0x07, 0x00, 0xc0, 0x20, 0x00, 0x52, 0x2d, 0x80, 0x40, 0x55, 0xc0, 0x57, 0xbe, + 0xc3, 0xc6, 0x02, 0x00, 0xc0, 0x20, 0x00, 0x62, 0x2d, 0x80, 0x00, 0x66, 0xc0, 0x67, 0xbe, 0xd6, + 0x0c, 0x12, 0xc8, 0x21, 0xd8, 0x31, 0xe8, 0x41, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, + 0x91, 0x28, 0xeb, 0x31, 0x58, 0xea, 0xc0, 0x20, 0x00, 0x82, 0x23, 0x42, 0x90, 0x88, 0x10, 0xc0, + 0x20, 0x00, 0x82, 0x63, 0x42, 0x0c, 0x17, 0xc0, 0x20, 0x00, 0x62, 0x23, 0x58, 0x70, 0x66, 0x20, + 0xc0, 0x20, 0x00, 0x62, 0x63, 0x58, 0x7c, 0xe5, 0xc0, 0x20, 0x00, 0x42, 0x23, 0x58, 0x50, 0x44, + 0x10, 0xc0, 0x20, 0x00, 0x42, 0x63, 0x58, 0xc0, 0x20, 0x00, 0x29, 0xb3, 0x0d, 0xf0, 0x00, 0x00, + 0x41, 0x49, 0xea, 0xc0, 0x20, 0x00, 0x71, 0xf1, 0xea, 0x28, 0xb4, 0xc0, 0x20, 0x00, 0x62, 0x24, + 0x42, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x64, 0x42, 0x51, 0xe7, 0xea, 0xc0, 0x20, 0x00, + 0x38, 0xb4, 0x50, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x39, 0xb4, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x02, + 0x61, 0x00, 0x01, 0xa8, 0xe9, 0x02, 0x20, 0x00, 0x02, 0x20, 0x11, 0x32, 0xa0, 0x80, 0xc0, 0x00, + 0x00, 0xc5, 0x05, 0xff, 0x22, 0xa0, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xc0, 0xc2, 0x61, 0x06, 0xd2, 0x61, 0x07, 0xf9, 0x91, 0xe9, 0x81, 0xe1, 0x9d, 0xe9, + 0x09, 0x51, 0x08, 0x4e, 0xf2, 0xce, 0x2d, 0x00, 0x02, 0x05, 0x56, 0xa0, 0x16, 0x08, 0x0e, 0x02, + 0x20, 0x28, 0xc0, 0x00, 0x00, 0x08, 0x0e, 0x02, 0x20, 0x30, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0xc1, + 0x05, 0xeb, 0x22, 0x1c, 0x01, 0x20, 0x20, 0xb4, 0x85, 0x50, 0xfe, 0x22, 0x1c, 0x01, 0x32, 0xc1, + 0x10, 0x0c, 0x14, 0x85, 0x60, 0x02, 0x08, 0x0e, 0x08, 0x60, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0xd2, + 0x01, 0x12, 0x0c, 0x0c, 0x31, 0xeb, 0xea, 0x39, 0xa1, 0x9c, 0x6c, 0x26, 0x1c, 0x0f, 0x26, 0x2c, + 0x07, 0x66, 0x3c, 0x10, 0x0c, 0xed, 0xc6, 0x02, 0x00, 0x0c, 0xbd, 0x86, 0x01, 0x00, 0x0c, 0x6d, + 0x46, 0x00, 0x00, 0x0c, 0x1d, 0x72, 0x21, 0x0a, 0x62, 0xa0, 0x64, 0x42, 0xa0, 0x01, 0x31, 0xf5, + 0xea, 0x51, 0xf3, 0xea, 0x80, 0x2d, 0x01, 0x20, 0x28, 0x31, 0x52, 0x95, 0xfc, 0x32, 0x03, 0x80, + 0x49, 0x11, 0x69, 0x01, 0x0c, 0x04, 0x61, 0xb5, 0xe9, 0x05, 0xe7, 0xfe, 0x4c, 0x02, 0x2c, 0x83, + 0x0c, 0x24, 0x0c, 0x05, 0xd0, 0x6d, 0x90, 0x6a, 0x6f, 0x05, 0xae, 0x03, 0x1b, 0xcc, 0xc0, 0xc0, + 0x74, 0x66, 0x4c, 0xa4, 0x0c, 0x0c, 0x0c, 0x0f, 0x0c, 0x3d, 0x01, 0xac, 0xe9, 0xd9, 0xb1, 0x0a, + 0xef, 0xd2, 0xa0, 0x0e, 0xf6, 0x6c, 0x22, 0xc0, 0x2c, 0x20, 0x32, 0xa0, 0x05, 0x02, 0x0e, 0x20, + 0x09, 0xe1, 0x05, 0xd4, 0x07, 0x3d, 0x02, 0x42, 0x0e, 0x2f, 0x28, 0xe1, 0x01, 0xa4, 0xe9, 0x20, + 0x44, 0xc0, 0x40, 0x33, 0x82, 0x3a, 0x22, 0xc6, 0x13, 0x00, 0x52, 0xa0, 0x0a, 0xc7, 0x35, 0x21, + 0x32, 0xa0, 0x05, 0x22, 0xcc, 0xfb, 0x42, 0x0e, 0x3e, 0x52, 0x0e, 0x2f, 0x52, 0x61, 0x0d, 0x50, + 0x44, 0xc0, 0x40, 0x22, 0x82, 0x85, 0xc5, 0x07, 0x68, 0xd1, 0x01, 0x98, 0xe9, 0x6a, 0x22, 0xc6, + 0x09, 0x00, 0x22, 0x0e, 0x47, 0x72, 0xa0, 0x0c, 0xc7, 0x37, 0x1e, 0xc0, 0x8c, 0xa0, 0x32, 0x0e, + 0x3e, 0x32, 0x61, 0x0c, 0x82, 0xc8, 0xce, 0x30, 0x22, 0xc0, 0x20, 0x28, 0x82, 0x32, 0xa0, 0x16, + 0xc5, 0xc2, 0x07, 0x98, 0xc1, 0x01, 0x8d, 0xe9, 0x9a, 0x22, 0x0b, 0xdd, 0xc0, 0x3c, 0x90, 0x3a, + 0x3f, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x3a, 0x30, 0x22, 0x43, 0x20, 0x56, 0x5d, 0xf7, 0xd1, 0x4d, + 0xe9, 0x0c, 0x0c, 0x48, 0xb1, 0x1b, 0xff, 0xf0, 0xf0, 0x74, 0x0a, 0xef, 0x0b, 0x44, 0x49, 0xb1, + 0x56, 0xd4, 0xf5, 0x08, 0x0d, 0x02, 0x20, 0x32, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, 0x20, 0x31, + 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, 0x20, 0x2f, 0xc1, 0x19, 0xe9, 0xc0, 0x00, 0x00, 0x28, 0x4d, + 0xc0, 0x22, 0x20, 0x29, 0x4d, 0x86, 0x06, 0x00, 0x22, 0x0e, 0x5e, 0x32, 0x0e, 0x5e, 0x80, 0x22, + 0x01, 0x20, 0x28, 0x31, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x30, 0x22, 0x90, 0x20, 0x2f, 0x80, + 0x05, 0x89, 0xfe, 0xc2, 0x21, 0x06, 0xd2, 0x21, 0x07, 0xe8, 0x81, 0xf8, 0x91, 0x08, 0x51, 0x12, + 0xc1, 0x40, 0x0d, 0xf0, 0x1c, 0x08, 0x62, 0x03, 0x00, 0x1c, 0xc5, 0x47, 0xa5, 0x04, 0x0c, 0xc7, + 0x86, 0x02, 0x00, 0x47, 0xa8, 0x05, 0x72, 0xc4, 0xf0, 0x46, 0x00, 0x00, 0x0c, 0x07, 0x70, 0x66, + 0xc0, 0x62, 0x42, 0x00, 0x7d, 0x08, 0x47, 0x28, 0x01, 0x7d, 0x04, 0x0c, 0x14, 0x4a, 0x92, 0x1b, + 0xa4, 0x4a, 0x83, 0x82, 0x08, 0x00, 0xa0, 0x40, 0x74, 0x70, 0x88, 0xc0, 0x82, 0x49, 0x00, 0x66, + 0x64, 0xea, 0x0d, 0xf0, 0x62, 0xa0, 0x64, 0x0c, 0x14, 0x12, 0xc1, 0xd0, 0xe9, 0xa1, 0x09, 0x71, + 0xf9, 0xb1, 0xd9, 0x91, 0xc9, 0x81, 0xdd, 0x03, 0xcd, 0x02, 0xf1, 0x93, 0xea, 0x80, 0x22, 0x01, + 0x20, 0x28, 0x31, 0x72, 0xcf, 0xde, 0x52, 0x9f, 0x59, 0x32, 0x0f, 0x47, 0x49, 0x11, 0x69, 0x01, + 0x0c, 0x04, 0x61, 0x52, 0xe9, 0x45, 0xce, 0xfe, 0x31, 0x79, 0xea, 0xc0, 0x2c, 0x90, 0x3a, 0x22, + 0x05, 0x80, 0xfe, 0x42, 0x0f, 0xb4, 0xcc, 0x44, 0x66, 0x6c, 0x02, 0x85, 0x63, 0x02, 0xe1, 0x87, + 0xea, 0x66, 0x1d, 0x31, 0x0c, 0x0d, 0x0c, 0x05, 0x59, 0x61, 0x2d, 0x0e, 0xc5, 0x76, 0x02, 0x68, + 0x61, 0xda, 0xd2, 0x00, 0xdd, 0x11, 0xd0, 0xd0, 0x31, 0x1b, 0x06, 0x00, 0x60, 0x74, 0x69, 0x61, + 0x66, 0x46, 0xe6, 0x2b, 0x0d, 0x5b, 0xdd, 0x00, 0xd0, 0xb3, 0xd0, 0xd2, 0x21, 0x00, 0xdd, 0x11, + 0xd0, 0xd0, 0x31, 0x46, 0x00, 0x00, 0x0c, 0x0d, 0x3d, 0x0e, 0x22, 0xc1, 0x10, 0x4d, 0x0d, 0x45, + 0xf3, 0xff, 0x26, 0x1c, 0x12, 0x22, 0xcc, 0xfa, 0x16, 0xc2, 0x0b, 0x42, 0xcc, 0xf5, 0x0c, 0x23, + 0x0c, 0x30, 0x40, 0x03, 0x83, 0x86, 0x00, 0x00, 0x02, 0xa0, 0x00, 0x31, 0xc5, 0xe8, 0x62, 0xaf, + 0xff, 0xd0, 0x40, 0x74, 0xd0, 0x50, 0x11, 0xe1, 0x31, 0xe9, 0x00, 0x15, 0x40, 0x52, 0xa0, 0xff, + 0xe0, 0xe0, 0x90, 0xd2, 0x5e, 0x06, 0x00, 0x55, 0xa1, 0x00, 0x44, 0xa1, 0x60, 0x55, 0x30, 0xc0, + 0x20, 0x00, 0x22, 0x23, 0xff, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x42, 0xa0, + 0x06, 0x1c, 0xf5, 0x92, 0xa1, 0x38, 0x61, 0x5b, 0xea, 0x71, 0x61, 0xea, 0x22, 0x63, 0xff, 0x00, + 0xc0, 0x90, 0x4c, 0x02, 0x32, 0xc1, 0x10, 0xf0, 0xcc, 0x11, 0x7a, 0x7c, 0x62, 0x16, 0x01, 0x99, + 0x01, 0x82, 0x0f, 0xb5, 0x89, 0x11, 0x45, 0xa5, 0x03, 0x31, 0xe2, 0xe8, 0x51, 0x1c, 0xe9, 0x42, + 0x03, 0x79, 0x02, 0x03, 0x78, 0x5a, 0x5c, 0x22, 0x05, 0x51, 0x52, 0x05, 0x50, 0x80, 0x22, 0x01, + 0x40, 0x00, 0xc0, 0x4b, 0x00, 0x20, 0x28, 0x31, 0x80, 0x55, 0x01, 0x50, 0x58, 0x31, 0x50, 0x22, + 0xc0, 0x27, 0xa0, 0x09, 0x71, 0x50, 0xea, 0x68, 0x43, 0x70, 0x66, 0x20, 0x69, 0x43, 0xc8, 0x81, + 0xd8, 0x91, 0x08, 0x71, 0x82, 0x9e, 0x06, 0xe8, 0xa1, 0xa6, 0x58, 0x04, 0x0c, 0x19, 0x92, 0x4f, + 0xb6, 0xf8, 0xb1, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x0c, 0x10, 0x46, 0xd3, 0xff, 0x00, 0x00, 0x00, + 0x42, 0xc2, 0xfa, 0x20, 0x52, 0xa0, 0x12, 0xc1, 0xc0, 0xd2, 0x61, 0x05, 0x32, 0x61, 0x0c, 0x02, + 0x61, 0x03, 0xe9, 0x61, 0xf9, 0x71, 0xc9, 0x41, 0x52, 0xc5, 0xc9, 0xcd, 0x02, 0x59, 0x21, 0x49, + 0x81, 0x0c, 0x0f, 0x0c, 0x6e, 0x01, 0xfd, 0xe8, 0x0b, 0x32, 0x39, 0xb1, 0xdd, 0x00, 0x02, 0xc0, + 0xf0, 0xf6, 0x7c, 0x2a, 0x0c, 0x53, 0x28, 0xb1, 0x42, 0x0d, 0x56, 0x52, 0x0d, 0x50, 0x59, 0xa1, + 0x80, 0x44, 0x01, 0x80, 0x55, 0x01, 0x50, 0x58, 0x31, 0x40, 0x48, 0x31, 0x50, 0x44, 0xc0, 0x40, + 0x22, 0x82, 0xc5, 0x9b, 0x07, 0x58, 0xa1, 0x01, 0xb7, 0xe8, 0x5a, 0x22, 0x06, 0x18, 0x00, 0xf6, + 0xac, 0x2d, 0x32, 0xa0, 0x05, 0x22, 0x21, 0x08, 0x42, 0x0d, 0x5c, 0x52, 0x0d, 0x56, 0x52, 0x61, + 0x09, 0x80, 0x44, 0x01, 0x80, 0x55, 0x01, 0x50, 0x58, 0x31, 0x40, 0x48, 0x31, 0x50, 0x44, 0xc0, + 0x40, 0x22, 0x82, 0xc5, 0x98, 0x07, 0x58, 0x91, 0x01, 0xab, 0xe8, 0x5a, 0x22, 0xc6, 0x0b, 0x00, + 0x22, 0x0d, 0x62, 0x62, 0xa0, 0x0d, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0xc7, 0x36, 0x20, 0x42, + 0x0d, 0x5c, 0x42, 0x61, 0x01, 0x80, 0x44, 0x01, 0x40, 0x48, 0x31, 0x40, 0x42, 0xc0, 0x22, 0x21, + 0x02, 0x1c, 0x63, 0x40, 0x22, 0x82, 0x85, 0x95, 0x07, 0x58, 0x11, 0x01, 0x9e, 0xe8, 0x5a, 0x22, + 0xd2, 0xcd, 0x01, 0xe2, 0xce, 0xff, 0x72, 0x21, 0x0c, 0x62, 0x00, 0x88, 0x7a, 0x7f, 0x80, 0x66, + 0x01, 0x1b, 0xff, 0x60, 0x68, 0x31, 0x2a, 0x66, 0x62, 0x47, 0x00, 0x56, 0x2e, 0xf5, 0x21, 0x0f, + 0xea, 0x91, 0x0d, 0xea, 0xa8, 0xc1, 0x92, 0x09, 0x00, 0xb2, 0x0a, 0x00, 0x80, 0x99, 0x01, 0x90, + 0x98, 0x31, 0xba, 0x99, 0x92, 0x4a, 0x00, 0x82, 0x02, 0x6c, 0xa2, 0x02, 0x8e, 0x26, 0x18, 0x28, + 0x26, 0x1a, 0x25, 0x0c, 0x05, 0xd2, 0xaf, 0x80, 0x6d, 0x0d, 0x21, 0x05, 0xea, 0x0c, 0xd3, 0x48, + 0xc1, 0xd2, 0x40, 0x5f, 0x52, 0x40, 0x7e, 0xc5, 0x6d, 0x02, 0xc8, 0x41, 0xd8, 0x51, 0xe8, 0x61, + 0xf8, 0x71, 0x08, 0x31, 0x12, 0xc1, 0x40, 0x0d, 0xf0, 0xb2, 0x02, 0x63, 0xe2, 0x02, 0x67, 0xdc, + 0x5b, 0xb6, 0x3c, 0x02, 0x86, 0x45, 0x00, 0x21, 0xb9, 0xe8, 0x22, 0x02, 0x52, 0x0c, 0x15, 0x80, + 0xd2, 0x01, 0xd0, 0xd8, 0x31, 0xc6, 0xef, 0xff, 0xc7, 0x3e, 0x5d, 0xf1, 0xb4, 0xe8, 0xd2, 0x02, + 0x65, 0xf0, 0xdd, 0x80, 0xd2, 0x0d, 0x50, 0xf2, 0x02, 0x68, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, + 0x66, 0x1f, 0x40, 0xc1, 0x74, 0xe8, 0x32, 0xa0, 0x05, 0x22, 0x0c, 0x66, 0xc2, 0x0c, 0x60, 0x80, + 0x22, 0x01, 0x20, 0x28, 0x31, 0x80, 0xcc, 0x01, 0xc0, 0xc8, 0x31, 0xc0, 0x22, 0xc0, 0x20, 0x2e, + 0x82, 0xc5, 0x88, 0x07, 0x2a, 0x3c, 0x80, 0x33, 0x01, 0x28, 0xb1, 0x30, 0x38, 0x31, 0xd0, 0x33, + 0xc0, 0x30, 0x22, 0x82, 0x3d, 0x0e, 0x85, 0x87, 0x07, 0x01, 0x66, 0xe8, 0x2a, 0xdd, 0x80, 0xdd, + 0x01, 0xd0, 0xd8, 0x31, 0x0c, 0x15, 0x86, 0xd7, 0xff, 0x32, 0x02, 0x66, 0xf2, 0xa0, 0x0f, 0x30, + 0xff, 0xc0, 0xf7, 0x2c, 0x49, 0xf1, 0x99, 0xe8, 0xd2, 0x02, 0x64, 0xf0, 0xdd, 0x80, 0xd2, 0x0d, + 0x62, 0x42, 0x02, 0x68, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0x66, 0x14, 0xd6, 0xf2, 0x00, 0x6c, + 0x80, 0xff, 0x01, 0xf0, 0xf8, 0x31, 0xf6, 0xac, 0x2d, 0x21, 0x56, 0xe8, 0x32, 0xa0, 0x08, 0x22, + 0x02, 0x66, 0xe0, 0x33, 0xc0, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x29, 0x01, 0x20, 0x2f, 0xc0, + 0x30, 0x22, 0x82, 0x0c, 0x53, 0x85, 0x81, 0x07, 0x08, 0x01, 0x2a, 0x00, 0x86, 0x0a, 0x00, 0x0c, + 0x05, 0xd2, 0xaf, 0x80, 0x06, 0xc0, 0xff, 0x21, 0x4b, 0xe8, 0x32, 0xa0, 0x03, 0x22, 0x02, 0x72, + 0xe0, 0x33, 0xc0, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0xf0, 0x22, 0xc0, 0x30, 0x22, 0x82, 0x20, + 0x22, 0xa0, 0x32, 0xa0, 0x16, 0x85, 0x7e, 0x07, 0x2a, 0x0f, 0x0c, 0xe3, 0x80, 0x20, 0x01, 0x20, + 0x28, 0x31, 0xc0, 0x33, 0xc0, 0xd0, 0x22, 0xc0, 0x30, 0x22, 0x82, 0x3d, 0x0e, 0x05, 0x7d, 0x07, + 0x01, 0x3d, 0xe8, 0x2a, 0xdd, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0x46, 0xd5, 0xff, 0xb6, 0x9c, + 0x08, 0x21, 0x72, 0xe8, 0x22, 0x02, 0x5e, 0x86, 0xb8, 0xff, 0xd2, 0xaf, 0x80, 0x0c, 0x05, 0x46, + 0xa9, 0xff, 0x00, 0x00, 0x12, 0xc1, 0xd0, 0xe2, 0x61, 0x07, 0x22, 0x61, 0x09, 0xc9, 0x51, 0x09, + 0x41, 0xf9, 0x81, 0xd9, 0x61, 0xd1, 0x2f, 0xe8, 0xfd, 0x02, 0x08, 0x4d, 0xc1, 0x9e, 0xe9, 0x00, + 0x04, 0x05, 0x56, 0xf0, 0x09, 0x08, 0x0d, 0x02, 0x20, 0x28, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, + 0x20, 0x30, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x22, 0x1c, 0x01, 0x20, 0x20, 0xb4, 0x45, 0xf5, 0xfd, + 0x22, 0x1c, 0x01, 0x3d, 0x01, 0x0c, 0x14, 0x45, 0x05, 0x02, 0x08, 0x0d, 0x08, 0x60, 0x0c, 0x02, + 0xc0, 0x00, 0x00, 0xe2, 0x01, 0x02, 0x0c, 0x0c, 0x9c, 0x6c, 0x26, 0x1c, 0x0f, 0x26, 0x2c, 0x07, + 0x66, 0x3c, 0x10, 0x0c, 0xee, 0xc6, 0x02, 0x00, 0x0c, 0xbe, 0x86, 0x01, 0x00, 0x0c, 0x1e, 0x46, + 0x00, 0x00, 0x0c, 0x6e, 0x3d, 0x0f, 0x2d, 0x0e, 0x85, 0xbc, 0xff, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, + 0x66, 0x4c, 0xd4, 0x08, 0x0d, 0x02, 0x20, 0x32, 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, 0x20, 0x31, + 0xc0, 0x00, 0x00, 0x08, 0x0d, 0x02, 0x20, 0x2f, 0xc1, 0x9f, 0xe8, 0xc0, 0x00, 0x00, 0x08, 0x4d, + 0x31, 0x8a, 0xe9, 0x41, 0x85, 0xe9, 0x51, 0x87, 0xe9, 0x0c, 0x02, 0x22, 0x4d, 0x89, 0x22, 0x4d, + 0x88, 0x22, 0x55, 0x41, 0x22, 0x45, 0x80, 0x22, 0x44, 0x00, 0x22, 0x53, 0x00, 0xc0, 0x00, 0x20, + 0x09, 0x4d, 0x06, 0x06, 0x00, 0x10, 0x31, 0x20, 0x42, 0xa0, 0x00, 0x22, 0x1d, 0x43, 0x22, 0x5c, + 0x01, 0x85, 0xfc, 0x01, 0x22, 0x1c, 0x01, 0x3d, 0x01, 0x45, 0xf2, 0x01, 0x08, 0x4d, 0xb7, 0xf0, + 0x07, 0x22, 0x0d, 0x5e, 0x8b, 0x31, 0x85, 0xcb, 0xff, 0xc8, 0x51, 0xd8, 0x61, 0xe8, 0x71, 0xf8, + 0x81, 0x08, 0x41, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x21, 0x8b, 0xe8, 0xc0, 0x20, 0x00, 0x22, 0x22, + 0x59, 0x20, 0x24, 0xb5, 0x1b, 0x22, 0x20, 0x21, 0x41, 0x22, 0xd2, 0xf8, 0x00, 0x22, 0x11, 0x20, + 0x20, 0x31, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xee, 0xe7, 0x08, 0x00, 0x08, 0xa0, + 0xc0, 0x00, 0x00, 0x52, 0xae, 0xac, 0x02, 0xae, 0x78, 0x07, 0x22, 0x01, 0x0d, 0x02, 0x2d, 0x05, + 0x07, 0x25, 0x01, 0x2d, 0x00, 0x08, 0x01, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0x7c, 0xda, 0x41, 0x77, 0xe8, 0xc0, 0x20, 0x00, 0x92, 0x24, 0x58, 0xa0, + 0x99, 0x10, 0xc0, 0x20, 0x00, 0x92, 0x64, 0x58, 0x1b, 0xa2, 0x2b, 0x82, 0xa0, 0x8a, 0xb3, 0x80, + 0x81, 0x21, 0x92, 0xae, 0x00, 0x82, 0xd8, 0x02, 0x80, 0x80, 0x84, 0xc0, 0x20, 0x00, 0x72, 0x24, + 0x59, 0x90, 0x77, 0x10, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x64, 0x59, 0x61, 0x7d, 0xe8, + 0x0c, 0x25, 0xc0, 0x20, 0x00, 0x32, 0x24, 0x58, 0x60, 0x33, 0x10, 0x50, 0x33, 0x20, 0xc0, 0x20, + 0x00, 0x32, 0x64, 0x58, 0x0d, 0xf0, 0x00, 0x00, 0x71, 0x63, 0xe8, 0xc0, 0x20, 0x00, 0x32, 0x27, + 0x58, 0x82, 0xa1, 0xa0, 0x17, 0xe3, 0x2f, 0x20, 0x90, 0x24, 0xa1, 0x48, 0xe9, 0x70, 0x99, 0x11, + 0xc0, 0x20, 0x00, 0x62, 0x27, 0x59, 0xa0, 0x66, 0x10, 0x90, 0x66, 0x20, 0x80, 0x66, 0x20, 0xc0, + 0x20, 0x00, 0x62, 0x67, 0x59, 0x51, 0x42, 0xe9, 0xc0, 0x20, 0x00, 0x42, 0x27, 0x58, 0x50, 0x44, + 0x20, 0xc0, 0x20, 0x00, 0x42, 0x67, 0x58, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x31, 0x3e, 0xe9, 0x21, + 0x3e, 0xe9, 0xc0, 0x20, 0x00, 0x22, 0x22, 0x89, 0x20, 0x20, 0xb4, 0x3a, 0x22, 0x20, 0x21, 0x41, + 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x0d, 0xf0, 0x71, 0x39, 0xe9, 0x62, 0xa2, 0x00, 0x12, 0xc1, + 0xf0, 0x09, 0x01, 0xc9, 0x11, 0xd9, 0x21, 0x51, 0x47, 0xe8, 0xdd, 0x02, 0xc1, 0xb2, 0xe7, 0xc0, + 0x20, 0x00, 0x42, 0x25, 0x59, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, + 0x59, 0x0c, 0x54, 0xc0, 0x20, 0x00, 0x02, 0x25, 0x58, 0x00, 0x0f, 0x41, 0x40, 0x00, 0x10, 0x26, + 0x50, 0x0a, 0x08, 0x0c, 0x02, 0x20, 0x19, 0xc0, 0x00, 0x00, 0x86, 0x05, 0x00, 0x01, 0x28, 0xe9, + 0x22, 0x10, 0x00, 0xc0, 0x20, 0x00, 0x42, 0x25, 0x58, 0x17, 0x64, 0x1d, 0xf6, 0x92, 0x1f, 0x1b, + 0x22, 0x22, 0x50, 0x00, 0x21, 0x24, 0xe9, 0x42, 0x2c, 0x78, 0x9b, 0x32, 0x85, 0xcb, 0xfe, 0xc8, + 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x39, 0x31, 0xb6, 0x92, 0x05, 0x22, + 0xae, 0xb0, 0xc6, 0x02, 0x00, 0x08, 0x0c, 0x08, 0xa0, 0xc0, 0x00, 0x00, 0x38, 0x31, 0x01, 0x18, + 0xe9, 0x42, 0xae, 0x6c, 0x27, 0xa4, 0x6f, 0x52, 0x10, 0x00, 0x62, 0xae, 0x78, 0xf6, 0x95, 0x14, + 0x72, 0xae, 0xac, 0x67, 0x22, 0x01, 0x6d, 0x02, 0x2d, 0x07, 0x67, 0x27, 0x01, 0x2d, 0x06, 0x00, + 0x22, 0x11, 0x20, 0x20, 0x31, 0x71, 0x10, 0xe9, 0x62, 0x9c, 0x42, 0x72, 0x07, 0x80, 0x27, 0xa6, + 0x61, 0x60, 0x46, 0x90, 0x4a, 0x22, 0x42, 0xc2, 0xfe, 0x1b, 0x22, 0x40, 0x24, 0xb3, 0x20, 0x22, + 0x21, 0x00, 0x62, 0x11, 0x60, 0x60, 0x31, 0x62, 0x5c, 0x42, 0x16, 0x47, 0x05, 0x22, 0xae, 0x7c, + 0x67, 0xa2, 0x35, 0x2a, 0x46, 0x1b, 0x24, 0x40, 0x24, 0xb3, 0x20, 0x21, 0x21, 0x00, 0x22, 0x11, + 0x20, 0x20, 0x31, 0x22, 0x5c, 0x2e, 0x06, 0x09, 0x00, 0x0c, 0x05, 0x8c, 0x83, 0x8c, 0x65, 0x08, + 0x0c, 0x02, 0x20, 0x16, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x19, 0x2d, 0x0d, 0xc0, 0x00, + 0x00, 0x01, 0xf7, 0xe8, 0x0c, 0x02, 0xc6, 0xd1, 0xff, 0x2d, 0x06, 0x62, 0x5c, 0x2e, 0x0c, 0x15, + 0xc6, 0xf5, 0xff, 0x67, 0xa2, 0xb3, 0x42, 0xc6, 0xf0, 0x47, 0xa2, 0x1b, 0x22, 0xc6, 0xf4, 0x86, + 0xe7, 0xff, 0x22, 0x9c, 0x2e, 0x8b, 0x52, 0x67, 0x25, 0x05, 0x72, 0xc2, 0xf8, 0x77, 0xa6, 0xb8, + 0x2d, 0x06, 0x62, 0x5c, 0x2e, 0x46, 0xf5, 0xff, 0x20, 0x22, 0x90, 0x2a, 0x26, 0x42, 0xc2, 0xfe, + 0x1b, 0x22, 0x40, 0x24, 0xb3, 0x20, 0x22, 0x21, 0x46, 0xdd, 0xff, 0x00, 0x8d, 0x02, 0x12, 0xc1, + 0xc0, 0x09, 0x51, 0xd9, 0x71, 0xe9, 0x81, 0xf9, 0x91, 0xc9, 0x61, 0xf2, 0xac, 0x00, 0xc2, 0xa0, + 0xc9, 0xed, 0x03, 0xd1, 0x5c, 0xe7, 0x3d, 0x04, 0x42, 0x21, 0x10, 0x98, 0x0d, 0x08, 0x04, 0x92, + 0x29, 0x16, 0x00, 0x05, 0x05, 0x56, 0xf0, 0x18, 0x22, 0xae, 0x7c, 0x69, 0x11, 0x49, 0x01, 0x89, + 0xd1, 0x39, 0xc1, 0x59, 0xb1, 0xc0, 0x09, 0x00, 0x92, 0xae, 0x7c, 0xc0, 0x20, 0x00, 0xa1, 0xe5, + 0xe7, 0x38, 0xda, 0xf0, 0x33, 0x10, 0xc0, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x39, 0xda, 0xc0, 0x20, + 0x00, 0x08, 0xda, 0x7c, 0xe2, 0x20, 0x00, 0x10, 0xc0, 0x20, 0x00, 0x09, 0xda, 0xc0, 0x20, 0x00, + 0x01, 0xcf, 0xe8, 0x82, 0xae, 0xac, 0xa2, 0x2a, 0x58, 0x0c, 0x0b, 0xb9, 0xa1, 0x92, 0x5d, 0x2e, + 0x48, 0xa1, 0x1b, 0x54, 0x00, 0x64, 0x90, 0x82, 0x56, 0x00, 0x50, 0x40, 0x74, 0x49, 0xa1, 0x66, + 0x44, 0xed, 0xc0, 0x20, 0x00, 0x91, 0xd3, 0xe7, 0x38, 0xb9, 0x39, 0x21, 0xc0, 0x20, 0x00, 0x22, + 0x29, 0xc8, 0x29, 0x31, 0xc0, 0x20, 0x00, 0xf2, 0x29, 0xd0, 0xf9, 0x41, 0xc0, 0x20, 0x00, 0xb8, + 0xb9, 0x7c, 0xec, 0xc0, 0xbb, 0x10, 0xc0, 0x20, 0x00, 0xb9, 0xb9, 0xa1, 0xf4, 0xe7, 0xc0, 0x20, + 0x00, 0x82, 0x29, 0xc8, 0xa0, 0x88, 0x10, 0xc0, 0x20, 0x00, 0x82, 0x69, 0xc8, 0xc1, 0x22, 0xe7, + 0x0c, 0x07, 0x79, 0xa1, 0xc0, 0x20, 0x00, 0xf2, 0x2c, 0x80, 0x42, 0x21, 0x0a, 0x22, 0xa0, 0x0e, + 0x40, 0x34, 0xa0, 0x42, 0xc4, 0xfd, 0x32, 0xc3, 0x01, 0x40, 0x23, 0x93, 0x80, 0x22, 0x01, 0x20, + 0x28, 0x31, 0xc5, 0x66, 0xfe, 0xc0, 0x20, 0x00, 0x01, 0xbb, 0xe7, 0xd8, 0xa1, 0x42, 0x20, 0x58, + 0xac, 0xde, 0x01, 0xaa, 0xe8, 0x0c, 0x0c, 0x00, 0xdd, 0x90, 0x4d, 0x0f, 0x28, 0xd1, 0x38, 0xc1, + 0x58, 0xb1, 0xc5, 0x4f, 0xff, 0xdc, 0x22, 0xc5, 0xcb, 0xff, 0x42, 0x9d, 0x00, 0x1b, 0xcc, 0x47, + 0xa2, 0x02, 0x22, 0x5d, 0x00, 0xc0, 0xc0, 0x74, 0xc7, 0x9e, 0xde, 0x01, 0xae, 0xe7, 0xc1, 0x0a, + 0xe7, 0xc0, 0x20, 0x00, 0x28, 0xd0, 0x7c, 0xe3, 0x30, 0x22, 0x10, 0xc0, 0x20, 0x00, 0xd8, 0xa1, + 0x29, 0xd0, 0x1b, 0xfd, 0xf0, 0xd0, 0x74, 0xd9, 0xa1, 0x66, 0x4d, 0x87, 0xc0, 0x20, 0x00, 0x61, + 0xa5, 0xe7, 0x88, 0x21, 0x89, 0xb6, 0xc0, 0x20, 0x00, 0x78, 0x31, 0x72, 0x66, 0xc8, 0xc0, 0x20, + 0x00, 0x58, 0x41, 0x48, 0x11, 0x52, 0x66, 0xd0, 0xbc, 0xb4, 0x01, 0x90, 0xe8, 0x22, 0xaf, 0xd8, + 0x0c, 0x09, 0x99, 0xa1, 0x00, 0xa2, 0x11, 0xa0, 0xa0, 0x31, 0x38, 0xa1, 0x48, 0xa1, 0x00, 0x33, + 0x90, 0x1b, 0x54, 0x50, 0x40, 0x74, 0x32, 0x93, 0x00, 0x49, 0xa1, 0xa7, 0xa3, 0x01, 0x2d, 0x03, + 0x00, 0xa2, 0x11, 0x66, 0x44, 0xe0, 0x31, 0xff, 0xe6, 0x08, 0x03, 0x02, 0x20, 0x16, 0x22, 0x53, + 0x2e, 0xc0, 0x00, 0x00, 0x06, 0x02, 0x00, 0x51, 0xfb, 0xe6, 0x42, 0xae, 0x7c, 0x42, 0x55, 0x2e, + 0xa1, 0x9e, 0xe7, 0x98, 0x01, 0x71, 0xf7, 0xe6, 0x88, 0x09, 0x62, 0x97, 0x2e, 0xa0, 0x88, 0x20, + 0x89, 0x09, 0x62, 0x57, 0x42, 0x46, 0x0b, 0x00, 0x22, 0x9d, 0x2e, 0xc0, 0x09, 0x00, 0xc0, 0x20, + 0x00, 0xb1, 0x84, 0xe7, 0x08, 0xdb, 0xf0, 0x00, 0x10, 0xc0, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x09, + 0xdb, 0xc0, 0x20, 0x00, 0xd8, 0xdb, 0x7c, 0xee, 0xe0, 0xdd, 0x10, 0xc0, 0x20, 0x00, 0xd9, 0xdb, + 0xc0, 0x20, 0x00, 0xb2, 0x2b, 0x58, 0xc8, 0x61, 0xd8, 0x71, 0xe8, 0x81, 0xf8, 0x91, 0x08, 0x51, + 0x12, 0xc1, 0x40, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x03, 0x10, 0x31, + 0x20, 0x20, 0xc2, 0x20, 0x21, 0xe0, 0xe6, 0x09, 0x21, 0x22, 0x02, 0x5e, 0x05, 0x84, 0xff, 0x01, + 0xdd, 0xe6, 0x0c, 0x02, 0x5d, 0x01, 0x1b, 0x62, 0x5a, 0x42, 0x32, 0x04, 0x00, 0x60, 0x20, 0x74, + 0xca, 0x33, 0x32, 0x44, 0x00, 0x66, 0x62, 0xed, 0x21, 0x52, 0xe8, 0x0c, 0xd3, 0x4d, 0x01, 0x62, + 0x00, 0x5f, 0x52, 0x00, 0x7e, 0x80, 0x66, 0x01, 0x60, 0x68, 0x31, 0x85, 0x00, 0x02, 0xc8, 0x31, + 0x08, 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x20, 0x72, 0x20, 0x12, 0xc1, 0xe0, 0x32, 0x61, + 0x00, 0x21, 0x53, 0xe8, 0x02, 0x61, 0x01, 0xc9, 0x21, 0xd9, 0x31, 0xcd, 0x05, 0xdd, 0x04, 0x79, + 0x41, 0x85, 0xc2, 0x04, 0x08, 0x41, 0xc0, 0x20, 0x00, 0x28, 0x0d, 0xc7, 0x92, 0xf7, 0x2d, 0x00, + 0x01, 0xaa, 0xe6, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x0c, 0x54, 0x21, 0x56, 0xe7, 0xc0, 0x20, 0x00, + 0x32, 0x22, 0x58, 0x30, 0x3f, 0x41, 0x40, 0x33, 0x10, 0x66, 0x53, 0x13, 0x7c, 0xd5, 0xc0, 0x20, + 0x00, 0x42, 0x22, 0x58, 0x50, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x62, 0x58, 0x46, 0x01, 0x00, + 0xc0, 0x20, 0x00, 0x62, 0x22, 0x58, 0x71, 0xb7, 0xe6, 0x78, 0x07, 0x72, 0x27, 0x19, 0x00, 0x20, + 0x74, 0xc0, 0x07, 0x00, 0xc8, 0x21, 0xd8, 0x31, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, + 0x42, 0xa0, 0x00, 0x12, 0xc1, 0xe0, 0xe2, 0x61, 0x05, 0xd2, 0x61, 0x04, 0x09, 0x21, 0xc9, 0x31, + 0x01, 0x36, 0xe8, 0xcd, 0x02, 0xdd, 0x03, 0x0c, 0x22, 0x31, 0x32, 0xe8, 0xe2, 0x00, 0x7d, 0x3a, + 0x44, 0x80, 0xee, 0x01, 0x3a, 0x22, 0x42, 0x14, 0x00, 0x42, 0x51, 0x00, 0x22, 0x02, 0x00, 0xe0, + 0xe8, 0x31, 0x22, 0x41, 0x02, 0x0c, 0xd2, 0xe6, 0x7c, 0x20, 0x0c, 0x53, 0x4d, 0x00, 0x42, 0x04, + 0x7c, 0x0b, 0x2c, 0x80, 0x44, 0x01, 0x40, 0x48, 0x31, 0x49, 0x11, 0x40, 0x4e, 0xc0, 0x40, 0x22, + 0x82, 0xc5, 0x14, 0x07, 0xe8, 0x11, 0x2a, 0xee, 0x06, 0x08, 0x00, 0x32, 0x00, 0x7e, 0x80, 0x33, + 0x01, 0x30, 0x38, 0x31, 0xe0, 0x33, 0xc0, 0xc7, 0xa2, 0x02, 0x46, 0x42, 0x00, 0x22, 0xcc, 0xfa, + 0x20, 0x23, 0x82, 0x32, 0xa0, 0x05, 0x85, 0x12, 0x07, 0x20, 0xee, 0x80, 0x66, 0x1d, 0x0b, 0xd2, + 0xaf, 0xfa, 0xd2, 0x41, 0x00, 0xd2, 0x41, 0x02, 0xc6, 0x08, 0x00, 0x32, 0xcd, 0xfe, 0x56, 0x93, + 0x0b, 0x01, 0x15, 0xe8, 0x32, 0x00, 0x7f, 0x32, 0x41, 0x00, 0x22, 0x00, 0x80, 0x22, 0x41, 0x01, + 0x02, 0x00, 0x81, 0x02, 0x41, 0x02, 0xd2, 0x01, 0x01, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0xe6, + 0x7c, 0x2c, 0x32, 0x01, 0x00, 0x22, 0xcc, 0xff, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x80, 0x33, + 0x01, 0x30, 0x38, 0x31, 0x30, 0x3d, 0xc0, 0x30, 0x22, 0x82, 0x32, 0xa0, 0x05, 0x05, 0x0d, 0x07, + 0x02, 0x01, 0x00, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0x20, 0x00, 0x80, 0x06, 0x08, 0x00, 0x02, + 0x01, 0x02, 0x22, 0xa0, 0x0d, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xd0, 0x00, 0xc0, 0xc7, 0x22, + 0x74, 0x32, 0xa0, 0x05, 0x22, 0xcc, 0xfa, 0x20, 0x20, 0x82, 0x45, 0x0a, 0x07, 0xd0, 0x02, 0x80, + 0xa1, 0xfb, 0xe7, 0x0a, 0x9e, 0x41, 0x03, 0xe7, 0x90, 0x90, 0x74, 0x60, 0x99, 0x11, 0xc0, 0x20, + 0x00, 0x82, 0x24, 0xda, 0xa0, 0x88, 0x10, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x64, 0xda, + 0x0c, 0x17, 0xc0, 0x20, 0x00, 0x68, 0xd4, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x69, 0xd4, 0x7c, + 0xe5, 0xc0, 0x20, 0x00, 0x38, 0xd4, 0x50, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x39, 0xd4, 0xc8, 0x31, + 0xd8, 0x41, 0xe8, 0x51, 0x08, 0x21, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0xa2, 0xcd, 0xfd, 0x56, 0x4a, + 0xf5, 0x01, 0xe5, 0xe7, 0x32, 0x00, 0x82, 0x32, 0x41, 0x00, 0x22, 0x00, 0x83, 0x22, 0x41, 0x01, + 0x02, 0x00, 0x84, 0x06, 0xcf, 0xff, 0x0c, 0x53, 0x22, 0xcc, 0xfe, 0x20, 0x20, 0x82, 0x05, 0x03, + 0x07, 0x06, 0xe2, 0xff, 0x00, 0x00, 0x00, 0x22, 0xcc, 0xfe, 0x20, 0x23, 0x82, 0x0c, 0x53, 0x05, + 0x02, 0x07, 0xc6, 0xbc, 0xff, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x03, 0x01, 0x4d, + 0xe6, 0x08, 0x40, 0x29, 0x21, 0x27, 0x70, 0x0f, 0x31, 0x4b, 0xe6, 0x20, 0x22, 0x90, 0x32, 0xc3, + 0x2d, 0x3a, 0x22, 0x05, 0xcd, 0xfd, 0x28, 0x21, 0x41, 0x38, 0xe6, 0xc0, 0x20, 0x00, 0x42, 0x24, + 0x9c, 0x17, 0x64, 0x25, 0x20, 0x20, 0x74, 0x3d, 0x01, 0x45, 0x5d, 0xff, 0x85, 0x74, 0x03, 0x0c, + 0x02, 0xc5, 0x57, 0x00, 0x21, 0x40, 0xe6, 0x08, 0x02, 0x02, 0x20, 0x16, 0x22, 0x92, 0x2e, 0xc0, + 0x00, 0x00, 0x1c, 0xe2, 0x01, 0x21, 0xe6, 0xc0, 0x00, 0x00, 0x08, 0x31, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xb0, 0xe9, 0xd1, 0xf9, 0xe1, 0x29, 0x71, 0xd9, 0xc1, 0xc9, + 0xb1, 0xc1, 0xbf, 0xe7, 0x09, 0xa1, 0x02, 0x0c, 0x5f, 0xdd, 0x03, 0xcc, 0x30, 0x2c, 0x8e, 0xc6, + 0x04, 0x00, 0x66, 0x10, 0x04, 0x1c, 0xae, 0xc6, 0x02, 0x00, 0x32, 0xc0, 0xfe, 0x22, 0xa0, 0x18, + 0xe2, 0xa0, 0x28, 0x30, 0xe2, 0x83, 0x2d, 0x0d, 0x3d, 0x0e, 0xc5, 0xfe, 0x06, 0xe6, 0x92, 0x17, + 0x2d, 0x0d, 0x3d, 0x0e, 0x85, 0xf7, 0x06, 0x20, 0x0e, 0x82, 0xd0, 0x00, 0xc0, 0x00, 0x00, 0xa0, + 0xf0, 0x20, 0x11, 0x29, 0x61, 0xc6, 0x08, 0x00, 0x20, 0x4e, 0xc0, 0xe6, 0x94, 0x17, 0xd0, 0x2d, + 0x20, 0xe0, 0x3e, 0x20, 0x85, 0xf5, 0x06, 0x02, 0xc2, 0x01, 0x00, 0x0e, 0x82, 0xd0, 0x00, 0xc0, + 0x00, 0x00, 0xa0, 0x46, 0xf6, 0xff, 0x22, 0xa0, 0x00, 0x22, 0x61, 0x06, 0x32, 0x0c, 0x7b, 0x22, + 0x0c, 0x9e, 0x16, 0xa3, 0x06, 0x32, 0x61, 0x05, 0xf2, 0x0c, 0x7a, 0x80, 0x22, 0x11, 0x2a, 0xff, + 0x16, 0xcf, 0x05, 0x2d, 0x03, 0x7c, 0x6e, 0xd0, 0xee, 0x82, 0xd0, 0x22, 0xc1, 0x30, 0x33, 0xa0, + 0xf0, 0x33, 0x11, 0x22, 0x61, 0x10, 0x32, 0x61, 0x12, 0x3d, 0x0f, 0xc5, 0xf7, 0x06, 0x02, 0x21, + 0x12, 0x42, 0x21, 0x10, 0x07, 0x22, 0x02, 0xc6, 0x48, 0x00, 0x2d, 0x04, 0x3d, 0x0f, 0x05, 0xf0, + 0x06, 0xc5, 0x01, 0x07, 0x29, 0x21, 0x2d, 0x0f, 0x45, 0x01, 0x07, 0xfd, 0x02, 0x28, 0x51, 0x85, + 0x00, 0x07, 0x3d, 0x02, 0x2d, 0x0f, 0xc5, 0x5c, 0x05, 0x3d, 0x02, 0x28, 0x21, 0x05, 0x46, 0x05, + 0xf1, 0x8d, 0xe7, 0x38, 0x0f, 0x85, 0x45, 0x05, 0x45, 0x67, 0x05, 0x2a, 0xfe, 0x06, 0x02, 0x00, + 0xf2, 0xa0, 0x00, 0xe2, 0xaf, 0xf6, 0xd0, 0xee, 0x82, 0x02, 0x0c, 0x9a, 0xf2, 0x61, 0x13, 0x16, + 0x70, 0x06, 0x02, 0x61, 0x04, 0x22, 0x0c, 0x9f, 0xf2, 0x0c, 0x99, 0x80, 0x22, 0x11, 0x2a, 0xff, + 0x16, 0x6f, 0x05, 0x3d, 0x0f, 0xd0, 0x20, 0xc1, 0x22, 0x61, 0x11, 0x00, 0xd0, 0xa0, 0xf0, 0xdd, + 0x11, 0x45, 0xf0, 0x06, 0x02, 0x21, 0x11, 0xd7, 0x22, 0x02, 0x46, 0x3c, 0x00, 0x3d, 0x0f, 0x2d, + 0x00, 0xc5, 0xe8, 0x06, 0x85, 0xfa, 0x06, 0x29, 0x31, 0xd8, 0x41, 0x2d, 0x0f, 0x05, 0xfa, 0x06, + 0xfd, 0x02, 0x2d, 0x0d, 0x05, 0xf9, 0x06, 0x3d, 0x02, 0xd8, 0x31, 0x2d, 0x0f, 0x45, 0x55, 0x05, + 0x3d, 0x02, 0x2d, 0x0d, 0x85, 0x3e, 0x05, 0x31, 0x6f, 0xe7, 0x38, 0x03, 0x05, 0x3e, 0x05, 0x05, + 0x60, 0x05, 0xf2, 0x21, 0x13, 0x2a, 0x3e, 0x06, 0x01, 0x00, 0xf2, 0x21, 0x13, 0x0c, 0x03, 0x39, + 0xf1, 0x21, 0x69, 0xe7, 0xd2, 0x1c, 0x50, 0x01, 0xdb, 0xe5, 0xda, 0xde, 0x08, 0x00, 0x2a, 0xdd, + 0x08, 0x00, 0x2d, 0x0d, 0xc0, 0x00, 0x00, 0x01, 0x64, 0xe7, 0x41, 0xd6, 0xe5, 0x0c, 0x03, 0x52, + 0xa0, 0x64, 0x57, 0x22, 0x01, 0xdd, 0x03, 0x32, 0x1c, 0x51, 0x28, 0x04, 0x3a, 0xee, 0x0a, 0xee, + 0x08, 0x02, 0x2d, 0x0e, 0xc0, 0x00, 0x00, 0x38, 0xf1, 0x08, 0x71, 0x42, 0x1c, 0x3e, 0x0b, 0x00, + 0x00, 0x00, 0x40, 0x40, 0x40, 0xb1, 0x07, 0x64, 0x02, 0x56, 0x6f, 0x11, 0x42, 0x1c, 0x4e, 0x00, + 0x00, 0x40, 0x40, 0x40, 0xb1, 0x07, 0x64, 0x02, 0x56, 0x93, 0x11, 0x56, 0xfd, 0x08, 0x52, 0xa0, + 0x64, 0x57, 0x22, 0x01, 0x0c, 0x0e, 0xc8, 0x61, 0xe0, 0xce, 0x93, 0x86, 0x20, 0x00, 0x20, 0x6f, + 0xc0, 0x07, 0x26, 0x02, 0x06, 0x3c, 0x00, 0x2d, 0x04, 0x3d, 0x0f, 0x45, 0xdd, 0x06, 0x1b, 0x22, + 0xc5, 0xee, 0x06, 0x29, 0x01, 0x2d, 0x0f, 0x85, 0xee, 0x06, 0x29, 0x11, 0x28, 0x51, 0x85, 0xed, + 0x06, 0x3d, 0x02, 0xf8, 0x01, 0x28, 0x11, 0xc5, 0x49, 0x05, 0x3d, 0x02, 0x2d, 0x0f, 0x05, 0x33, + 0x05, 0x31, 0x40, 0xe7, 0x38, 0x03, 0x85, 0x32, 0x05, 0x45, 0x54, 0x05, 0xc6, 0xb2, 0xff, 0x20, + 0x4f, 0xc0, 0xd7, 0x24, 0x02, 0x06, 0x2d, 0x00, 0x3d, 0x0f, 0x2d, 0x00, 0x05, 0xd9, 0x06, 0x1b, + 0x22, 0xc5, 0xea, 0x06, 0xdd, 0x02, 0x2d, 0x0f, 0x45, 0xea, 0x06, 0xfd, 0x02, 0x28, 0x41, 0x85, + 0xe9, 0x06, 0x3d, 0x02, 0x2d, 0x0f, 0xc5, 0x45, 0x05, 0x3d, 0x02, 0x2d, 0x0d, 0x05, 0x2f, 0x05, + 0x31, 0x31, 0xe7, 0x38, 0x03, 0x85, 0x2e, 0x05, 0x45, 0x50, 0x05, 0xc6, 0xc0, 0xff, 0xd0, 0xcd, + 0x20, 0xe1, 0x2e, 0xe7, 0x0c, 0x0d, 0x2d, 0x0c, 0x85, 0xeb, 0x06, 0x29, 0x91, 0x39, 0x81, 0x51, + 0x2c, 0xe7, 0x41, 0x2c, 0xe7, 0xc5, 0x65, 0x05, 0x5d, 0x0e, 0x4d, 0x0d, 0x85, 0x8f, 0x05, 0xc5, + 0xa1, 0x05, 0x38, 0x81, 0x51, 0x29, 0xe7, 0xfd, 0x02, 0x41, 0x26, 0xe7, 0x28, 0x91, 0x45, 0x64, + 0x05, 0x4d, 0x0d, 0x5d, 0x0e, 0x05, 0x8e, 0x05, 0xd1, 0x14, 0xe7, 0x05, 0xa0, 0x05, 0x71, 0x31, + 0xe6, 0x51, 0x22, 0xe7, 0xf0, 0x60, 0x94, 0x50, 0x52, 0x10, 0xc0, 0x66, 0x01, 0x2d, 0x0c, 0xc0, + 0x20, 0x00, 0x42, 0x2d, 0xa8, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0x50, 0x44, 0x20, 0xc0, 0x20, + 0x00, 0xc8, 0xb1, 0xe8, 0xd1, 0x42, 0x6d, 0xa8, 0xf8, 0xe1, 0xd8, 0xc1, 0x08, 0xa1, 0x12, 0xc1, + 0x50, 0x0d, 0xf0, 0xcd, 0x0f, 0x06, 0xe2, 0xff, 0x0c, 0x0f, 0xc6, 0x86, 0xff, 0xf2, 0x21, 0x13, + 0x0c, 0x03, 0x46, 0xa2, 0xff, 0xcd, 0x03, 0x86, 0xdd, 0xff, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, + 0x21, 0x09, 0x11, 0xcc, 0x52, 0x0c, 0x00, 0x0c, 0x0c, 0x86, 0x10, 0x00, 0xe6, 0x12, 0x02, 0xc6, + 0x70, 0x00, 0x32, 0xa0, 0x64, 0xb0, 0xc2, 0x11, 0xc0, 0x2c, 0x20, 0x45, 0xcb, 0x06, 0x0d, 0x02, + 0x0c, 0xa3, 0x2d, 0x0c, 0x80, 0xc0, 0x01, 0xc0, 0xc8, 0x31, 0x45, 0xca, 0x06, 0x0c, 0xa3, 0x85, + 0xd0, 0x06, 0xa6, 0x22, 0x02, 0x06, 0x73, 0x00, 0x0c, 0x10, 0x46, 0x04, 0x00, 0xc2, 0x01, 0x01, + 0x02, 0x01, 0x00, 0x80, 0xcc, 0x01, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xc0, 0xc8, 0x31, 0xe6, + 0x1c, 0x05, 0x00, 0x41, 0x21, 0xc6, 0x01, 0x00, 0x0b, 0x2c, 0x00, 0x12, 0x40, 0x00, 0x40, 0xa1, + 0x21, 0xe6, 0xe6, 0xc0, 0x20, 0x00, 0x42, 0x62, 0xb5, 0x62, 0xcc, 0x1e, 0x0c, 0x05, 0x00, 0x16, + 0x40, 0x00, 0x30, 0xa1, 0xc0, 0x35, 0xb3, 0xc0, 0x20, 0x00, 0x32, 0x62, 0xa7, 0xe6, 0x1c, 0x05, + 0x00, 0x41, 0x21, 0xc6, 0x01, 0x00, 0x0b, 0x7c, 0x00, 0x17, 0x40, 0x00, 0x40, 0xa1, 0xc0, 0x20, + 0x00, 0x0c, 0x06, 0x42, 0x62, 0xec, 0xa2, 0xcc, 0x1e, 0x0c, 0x09, 0x00, 0x1a, 0x40, 0x00, 0x80, + 0xa1, 0xc0, 0x89, 0xb3, 0xc0, 0x20, 0x00, 0x82, 0x62, 0xa1, 0x26, 0x10, 0x14, 0x66, 0x20, 0x04, + 0x0c, 0x85, 0x86, 0x03, 0x00, 0x32, 0xc0, 0xfd, 0x0c, 0xab, 0x5d, 0x06, 0x30, 0x5b, 0x83, 0x46, + 0x00, 0x00, 0x0c, 0x25, 0xa6, 0xbc, 0x0d, 0x6c, 0x04, 0x40, 0x4c, 0x90, 0x00, 0x14, 0x40, 0x00, + 0x45, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x04, 0xc0, 0x20, 0x00, 0x42, 0x62, 0xa3, 0x7c, 0x0b, 0xa6, + 0x1c, 0x10, 0xe6, 0xbc, 0x0d, 0x7c, 0xe7, 0x70, 0x7c, 0x90, 0x00, 0x17, 0x40, 0x00, 0x75, 0xa1, + 0xc6, 0x01, 0x00, 0x0c, 0x08, 0x50, 0x72, 0x21, 0xc0, 0x78, 0x93, 0xc0, 0x20, 0x00, 0x6c, 0x1a, + 0x72, 0x62, 0xa2, 0x81, 0xd0, 0xe5, 0xc7, 0xab, 0x10, 0xd6, 0xdc, 0x00, 0x1c, 0xe9, 0x90, 0x9c, + 0x90, 0x00, 0x19, 0x40, 0x00, 0x75, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x07, 0x7c, 0x19, 0xc0, 0x20, + 0x00, 0x72, 0x68, 0xc3, 0xc7, 0xaa, 0x10, 0x97, 0xac, 0x0d, 0x3c, 0xc3, 0x30, 0x3c, 0x90, 0x00, + 0x13, 0x40, 0x00, 0x45, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x04, 0xc0, 0x20, 0x00, 0x42, 0x68, 0xc2, + 0x26, 0x10, 0x14, 0x66, 0x20, 0x04, 0x0c, 0x40, 0x86, 0x03, 0x00, 0x52, 0xc0, 0xfd, 0x0c, 0x54, + 0x50, 0x64, 0x83, 0x0d, 0x06, 0x46, 0x00, 0x00, 0x0c, 0x10, 0xa6, 0xbc, 0x0d, 0x6c, 0x06, 0x60, + 0x6c, 0x90, 0x00, 0x16, 0x40, 0x00, 0x40, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x04, 0xc0, 0x20, 0x00, + 0x42, 0x62, 0xef, 0xa6, 0x1c, 0x10, 0xe6, 0xbc, 0x0d, 0x7c, 0xe7, 0x70, 0x7c, 0x90, 0x00, 0x17, + 0x40, 0x00, 0x50, 0xa1, 0xc6, 0x01, 0x00, 0x0c, 0x08, 0x00, 0x52, 0x21, 0xc0, 0x58, 0x93, 0xc0, + 0x20, 0x00, 0x52, 0x62, 0xee, 0xc7, 0xab, 0x10, 0xd6, 0xdc, 0x00, 0x1c, 0xeb, 0xb0, 0xbc, 0x90, + 0x00, 0x1b, 0x40, 0x00, 0x50, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x05, 0xc0, 0x20, 0x00, 0x52, 0x62, + 0xeb, 0xc7, 0xaa, 0x10, 0x97, 0xac, 0x0d, 0x3c, 0xc3, 0x30, 0x3c, 0x90, 0x00, 0x13, 0x40, 0x00, + 0x00, 0xa1, 0x46, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x20, 0x00, 0xc8, 0x21, 0x02, 0x62, 0xea, 0x08, + 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0xd6, 0x32, 0xe6, 0x32, 0xa0, 0x64, 0xb0, 0xc2, 0x11, 0xc0, + 0x2c, 0x20, 0xc5, 0xae, 0x06, 0x0d, 0x02, 0x0c, 0xa3, 0x2d, 0x0c, 0x0b, 0xc0, 0x80, 0xcc, 0x01, + 0xc0, 0xc8, 0x31, 0xc5, 0xad, 0x06, 0x0c, 0xa3, 0xc5, 0xb3, 0x06, 0x7c, 0x83, 0x37, 0xa2, 0x11, + 0x0c, 0x10, 0x46, 0x92, 0xff, 0x0c, 0x30, 0xe6, 0x82, 0x02, 0x46, 0x90, 0xff, 0x0c, 0x20, 0x06, + 0x8f, 0xff, 0x0c, 0x30, 0x7c, 0xe4, 0x47, 0xa2, 0x02, 0x86, 0x8c, 0xff, 0x0c, 0x20, 0x46, 0x8b, + 0xff, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xbd, 0xe4, 0xdc, 0x22, 0x1c, 0x04, + 0xc0, 0x20, 0x00, 0x32, 0x20, 0xe4, 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x60, 0xe4, 0x06, + 0x04, 0x00, 0x6c, 0xf6, 0xc0, 0x20, 0x00, 0x52, 0x20, 0xe4, 0x60, 0x55, 0x10, 0xc0, 0x20, 0x00, + 0x52, 0x60, 0xe4, 0x41, 0xe8, 0xe4, 0x80, 0x32, 0x01, 0x22, 0x04, 0x5e, 0x30, 0x38, 0x31, 0x80, + 0x22, 0x01, 0x20, 0x28, 0x31, 0x85, 0x8c, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0x12, 0xc1, 0xf0, 0xc2, 0x61, 0x01, 0x02, 0x61, 0x00, 0x20, 0xc2, 0x20, 0x85, 0x30, 0xfd, 0x2d, + 0x0c, 0x05, 0xfa, 0xff, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x61, 0x9e, 0xe5, 0xb1, 0x6b, 0xe5, 0x41, 0x47, 0xe6, 0x51, 0xc7, 0xe4, 0x12, 0xc1, 0xe0, 0xc9, + 0x51, 0x09, 0x41, 0xd9, 0x61, 0x82, 0xaf, 0x80, 0x21, 0x67, 0xe5, 0xd1, 0x53, 0xe6, 0xc0, 0x20, + 0x00, 0x32, 0x22, 0x58, 0x60, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x62, 0x58, 0xc0, 0x20, 0x00, + 0x02, 0x22, 0x43, 0xb0, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x43, 0xc1, 0x5d, 0xe6, 0xc0, + 0x20, 0x00, 0xa2, 0x22, 0xd0, 0xc0, 0xaa, 0x10, 0xb0, 0xaa, 0x20, 0xc0, 0x20, 0x00, 0xa2, 0x62, + 0xd0, 0x91, 0x58, 0xe6, 0xc0, 0x20, 0x00, 0x92, 0x62, 0x5b, 0x71, 0x57, 0xe6, 0xc0, 0x20, 0x00, + 0x72, 0x62, 0x5a, 0x61, 0x8d, 0xe5, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x54, 0x60, 0x33, 0x10, 0xc0, + 0x20, 0x00, 0x32, 0x62, 0x54, 0xc0, 0x20, 0x00, 0xc2, 0xa1, 0x90, 0x02, 0x22, 0xc6, 0xc0, 0x20, + 0x00, 0xc2, 0x62, 0xc6, 0xb1, 0x4e, 0xe6, 0xa1, 0x4e, 0xe6, 0xc0, 0x20, 0x00, 0x92, 0x2d, 0xbb, + 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x6d, 0xbb, 0x71, 0x4a, 0xe6, 0xc0, + 0x20, 0x00, 0x62, 0x2d, 0xe2, 0x70, 0x66, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x04, 0x00, 0x62, 0x6d, + 0xe2, 0x42, 0xc4, 0xf1, 0x40, 0x40, 0x64, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x52, 0x80, 0x33, 0x10, + 0x40, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x62, 0x52, 0x01, 0x3f, 0xe6, 0xc1, 0x40, 0xe6, 0xc0, + 0x20, 0x00, 0xb2, 0x22, 0x4a, 0x00, 0xbb, 0x10, 0xc0, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x62, + 0x4a, 0xa1, 0x3b, 0xe6, 0xc0, 0x20, 0x00, 0x98, 0xd2, 0xa0, 0x99, 0x10, 0xc0, 0x20, 0x00, 0x99, + 0xd2, 0x2c, 0x67, 0xc0, 0x20, 0x00, 0x62, 0x22, 0x51, 0x80, 0x66, 0x10, 0x70, 0x66, 0x20, 0xc0, + 0x20, 0x00, 0x62, 0x62, 0x51, 0x42, 0xaf, 0xc0, 0x1c, 0x13, 0xc0, 0x20, 0x00, 0x02, 0x22, 0xdc, + 0x40, 0x00, 0x10, 0x30, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0xdc, 0xc1, 0x32, 0xe5, 0xc0, + 0x20, 0x00, 0xb2, 0x2d, 0xa8, 0xc0, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x6d, 0xa8, 0xa1, 0x29, + 0xe6, 0x91, 0x29, 0xe6, 0xc0, 0x20, 0x00, 0x82, 0x22, 0x59, 0xa0, 0x88, 0x10, 0x90, 0x88, 0x20, + 0xc0, 0x20, 0x00, 0x82, 0x62, 0x59, 0x71, 0x05, 0xe6, 0x61, 0x24, 0xe6, 0xc0, 0x20, 0x00, 0x42, + 0x22, 0x59, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x62, 0x59, 0x31, 0x20, + 0xe6, 0x01, 0x20, 0xe6, 0xc0, 0x20, 0x00, 0xc2, 0x22, 0x57, 0x30, 0xcc, 0x10, 0x00, 0xcc, 0x20, + 0xc0, 0x20, 0x00, 0xc2, 0x62, 0x57, 0xb1, 0x1c, 0xe6, 0xa1, 0x1c, 0xe6, 0xc0, 0x20, 0x00, 0x92, + 0x22, 0x54, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x62, 0x54, 0xc0, 0x20, + 0x00, 0x72, 0xa0, 0x80, 0x82, 0x22, 0xc6, 0xc0, 0x20, 0x00, 0x72, 0x62, 0xc6, 0x0c, 0x46, 0xc0, + 0x20, 0x00, 0x42, 0x22, 0xc4, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x62, 0xc4, 0x31, 0x10, + 0xe6, 0x01, 0x10, 0xe6, 0xc0, 0x20, 0x00, 0xc2, 0x22, 0xdc, 0x30, 0xcc, 0x10, 0x00, 0xcc, 0x20, + 0xc0, 0x20, 0x00, 0xc2, 0x62, 0xdc, 0xb1, 0x0c, 0xe6, 0xa1, 0x0c, 0xe6, 0xc0, 0x20, 0x00, 0x92, + 0x22, 0xc9, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x62, 0xc9, 0x81, 0x08, + 0xe6, 0x71, 0x08, 0xe6, 0xc0, 0x20, 0x00, 0x62, 0x22, 0x56, 0x80, 0x66, 0x10, 0x70, 0x66, 0x20, + 0xc0, 0x20, 0x00, 0x62, 0x62, 0x56, 0x41, 0x04, 0xe6, 0x31, 0x04, 0xe6, 0xc0, 0x20, 0x00, 0x02, + 0x22, 0xd3, 0x40, 0x00, 0x10, 0x30, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0xd3, 0xc1, 0x0c, + 0xe5, 0xb1, 0xff, 0xe5, 0xc0, 0x20, 0x00, 0xa2, 0x22, 0xc8, 0xc0, 0xaa, 0x10, 0xb0, 0xaa, 0x20, + 0xc0, 0x20, 0x00, 0xa2, 0x62, 0xc8, 0x91, 0xfb, 0xe5, 0xc0, 0x20, 0x00, 0x82, 0x2d, 0xe2, 0x90, + 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x6d, 0xe2, 0x71, 0xf8, 0xe5, 0x61, 0xf8, 0xe5, 0xc0, 0x20, + 0x00, 0x42, 0x25, 0x9c, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x9c, + 0x31, 0xf4, 0xe5, 0xc0, 0x20, 0x00, 0x02, 0x22, 0xd1, 0x30, 0x00, 0x10, 0xc0, 0x20, 0x00, 0x02, + 0x62, 0xd1, 0x0c, 0x02, 0xc5, 0xd2, 0xff, 0xc1, 0x3f, 0xe4, 0x08, 0x0c, 0x08, 0x30, 0x0c, 0x02, + 0xc0, 0x00, 0x00, 0xa2, 0xaf, 0xcf, 0x2c, 0x08, 0x31, 0x06, 0xe4, 0x61, 0x05, 0xe5, 0x91, 0xe9, + 0xe5, 0x7c, 0xe4, 0xc0, 0x20, 0x00, 0x72, 0x2d, 0x8e, 0xa0, 0x77, 0x10, 0x80, 0x77, 0x20, 0xc0, + 0x20, 0x00, 0x72, 0x6d, 0x8e, 0xc0, 0x20, 0x00, 0xa1, 0xc7, 0xe4, 0x21, 0xe3, 0xe5, 0x52, 0x2a, + 0x92, 0xc0, 0x20, 0x00, 0x22, 0x6a, 0x92, 0x0c, 0x60, 0xc0, 0x20, 0x00, 0xb2, 0x2a, 0x93, 0x00, + 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x6a, 0x93, 0xc0, 0x20, 0x00, 0x92, 0x6a, 0xc7, 0xc0, 0x20, + 0x00, 0x82, 0x2a, 0xc7, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x6a, 0xc7, 0x7c, 0xd7, 0xc0, + 0x20, 0x00, 0x21, 0x15, 0xe4, 0x52, 0x22, 0xa5, 0x70, 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, 0x62, + 0xa5, 0xc0, 0x20, 0x00, 0x02, 0x22, 0xa5, 0x40, 0x00, 0x10, 0xc0, 0x20, 0x00, 0x02, 0x62, 0xa5, + 0xb1, 0xcf, 0xe5, 0xc0, 0x20, 0x00, 0x98, 0xaa, 0xb0, 0x99, 0x10, 0xc0, 0x20, 0x00, 0x99, 0xaa, + 0x7c, 0x98, 0x0c, 0x27, 0xc0, 0x20, 0x00, 0x52, 0x26, 0x89, 0x80, 0x55, 0x10, 0x70, 0x55, 0x20, + 0xc0, 0x20, 0x00, 0x52, 0x66, 0x89, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xf0, 0x40, 0x22, 0x10, 0xc0, + 0x20, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x28, 0x22, 0x63, 0xf0, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x08, + 0x0c, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x0c, 0xc4, 0xc0, 0x00, 0x00, 0x0c, 0x22, 0x08, 0x0c, 0x0c, + 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa1, 0x84, 0xc0, 0x00, 0x00, 0x0c, 0x32, 0x08, 0x0c, 0x0c, 0x23, + 0x02, 0x20, 0x2b, 0x0c, 0x64, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x2f, 0xc0, 0x00, 0x00, + 0x28, 0x4c, 0x01, 0xb3, 0xe5, 0x07, 0xf2, 0x17, 0xb7, 0xf2, 0x14, 0x32, 0xa0, 0x7f, 0x41, 0xb1, + 0xe5, 0x51, 0xb1, 0xe5, 0x1c, 0x06, 0x0c, 0x07, 0x2d, 0x00, 0xc5, 0x27, 0xfe, 0x01, 0xac, 0xe5, + 0x0c, 0x12, 0x42, 0x2c, 0x74, 0x0c, 0x08, 0x31, 0x31, 0xe4, 0x71, 0x66, 0xe5, 0x52, 0xc3, 0x7c, + 0x62, 0xc3, 0x16, 0x72, 0x07, 0x00, 0x89, 0x11, 0x89, 0x21, 0x89, 0x31, 0x09, 0x01, 0x1b, 0x77, + 0x70, 0x70, 0x74, 0x05, 0x40, 0xfe, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x24, 0x0c, 0x75, 0x08, + 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x72, 0xa0, 0xe8, 0xc0, 0x00, 0x00, 0x0c, 0x13, 0xc0, 0x20, + 0x00, 0x22, 0x2d, 0x98, 0x30, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x6d, 0x98, 0xc8, 0x51, 0xd8, + 0x61, 0x08, 0x41, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x51, 0x9a, 0xe5, 0x41, 0x98, 0xe5, 0x12, 0xc1, + 0xf0, 0x09, 0x01, 0x01, 0xc9, 0xe3, 0x20, 0x44, 0xd1, 0x5a, 0x24, 0xc0, 0x20, 0x00, 0x32, 0x22, + 0x87, 0x37, 0x00, 0x08, 0xc0, 0x20, 0x00, 0x52, 0x22, 0x87, 0x07, 0x85, 0xf6, 0x22, 0xa0, 0x64, + 0x01, 0xbe, 0xe3, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0xb1, 0x8d, 0xe5, 0xa1, 0x8d, 0xe5, 0x31, 0x9e, 0xe3, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xe6, 0xb0, + 0x22, 0x10, 0xa0, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xe6, 0xc0, 0x20, 0x00, 0x92, 0x23, + 0xe7, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x63, 0xe7, 0x81, 0x83, 0xe5, + 0x71, 0x69, 0xe4, 0xc0, 0x20, 0x00, 0x62, 0x23, 0xe5, 0x80, 0x66, 0x10, 0x70, 0x66, 0x20, 0xc0, + 0x20, 0x00, 0x62, 0x63, 0xe5, 0x51, 0x7e, 0xe5, 0x41, 0x7f, 0xe5, 0xc0, 0x20, 0x00, 0x22, 0x23, + 0xe6, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xe6, 0xb1, 0x7a, 0xe5, + 0xa1, 0x7b, 0xe5, 0xc0, 0x20, 0x00, 0x92, 0x23, 0xe8, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, + 0x20, 0x00, 0x92, 0x63, 0xe8, 0x81, 0x76, 0xe5, 0x72, 0xa1, 0x00, 0xc0, 0x20, 0x00, 0x62, 0x23, + 0xf2, 0x80, 0x66, 0x10, 0x70, 0x66, 0x20, 0xc0, 0x20, 0x00, 0x62, 0x63, 0xf2, 0x52, 0xaf, 0x80, + 0x4c, 0x74, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xe6, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, + 0x00, 0x22, 0x63, 0xe6, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x41, 0x6a, 0xe5, 0x09, 0x01, + 0x22, 0x04, 0x82, 0x01, 0x6f, 0xe3, 0x66, 0x22, 0x17, 0x52, 0xa0, 0x69, 0x62, 0xaf, 0x94, 0xc0, + 0x20, 0x00, 0x32, 0x20, 0x68, 0x60, 0x33, 0x10, 0x50, 0x33, 0x20, 0xc0, 0x20, 0x00, 0x32, 0x60, + 0x68, 0x32, 0x04, 0x83, 0x26, 0x13, 0x02, 0x66, 0x33, 0x2a, 0x0c, 0x1a, 0xb2, 0xaf, 0xbc, 0xc0, + 0x20, 0x00, 0x92, 0x20, 0x68, 0xb0, 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x60, + 0x68, 0x7c, 0xe8, 0xc0, 0x20, 0x00, 0x72, 0x20, 0x5d, 0x80, 0x77, 0x10, 0xc0, 0x20, 0x00, 0x72, + 0x60, 0x5d, 0x32, 0x04, 0x83, 0x52, 0xae, 0xff, 0x26, 0x23, 0x02, 0x66, 0x33, 0x2b, 0xc0, 0x20, + 0x00, 0x21, 0x57, 0xe3, 0x02, 0x22, 0x8d, 0x32, 0xae, 0xff, 0x30, 0x00, 0x10, 0xc0, 0x20, 0x00, + 0x0c, 0x03, 0x0c, 0x04, 0x02, 0x62, 0x8d, 0x0c, 0x15, 0x0c, 0x02, 0x01, 0x56, 0xe3, 0xc0, 0x00, + 0x00, 0x01, 0x4f, 0xe3, 0x41, 0x48, 0xe5, 0x52, 0xae, 0xff, 0x32, 0x04, 0x7c, 0x26, 0x13, 0x11, + 0xc0, 0x20, 0x00, 0x62, 0x20, 0x8d, 0x50, 0x66, 0x10, 0xc0, 0x20, 0x00, 0x62, 0x60, 0x8d, 0x32, + 0x04, 0x7c, 0x66, 0x23, 0x11, 0x82, 0xa1, 0x00, 0xc0, 0x20, 0x00, 0x72, 0x20, 0x85, 0x80, 0x77, + 0x20, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x85, 0x62, 0xae, 0xcf, 0x32, 0x04, 0x81, 0x3c, 0x07, 0x66, + 0x13, 0x14, 0xc0, 0x20, 0x00, 0x92, 0x20, 0x86, 0x60, 0x99, 0x10, 0x70, 0x99, 0x20, 0xc0, 0x20, + 0x00, 0x92, 0x60, 0x86, 0x46, 0x0d, 0x00, 0x66, 0x23, 0x11, 0xc0, 0x20, 0x00, 0xa2, 0x20, 0x8e, + 0x50, 0xaa, 0x10, 0xc0, 0x20, 0x00, 0xa2, 0x60, 0x8e, 0x06, 0x08, 0x00, 0xc0, 0x20, 0x00, 0x22, + 0x20, 0x86, 0x60, 0x22, 0x10, 0x70, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x60, 0x86, 0xc0, 0x20, + 0x00, 0xb2, 0x20, 0x8e, 0x50, 0xbb, 0x10, 0xc0, 0x20, 0x00, 0xb2, 0x60, 0x8e, 0x32, 0x04, 0x7e, + 0x2c, 0x08, 0x26, 0x13, 0x26, 0x26, 0x33, 0x23, 0x26, 0x43, 0x20, 0x26, 0x53, 0x1d, 0x32, 0x04, + 0x80, 0x52, 0xc3, 0xfd, 0x56, 0x25, 0x10, 0xc0, 0x20, 0x00, 0x72, 0x20, 0x8d, 0x60, 0x77, 0x10, + 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x8d, 0xc6, 0x2a, 0x00, 0x51, 0x25, 0xe3, 0x0c, + 0x09, 0x0b, 0xa3, 0x16, 0xba, 0x0f, 0xb2, 0xc3, 0xfc, 0x16, 0x5b, 0x0f, 0x22, 0xc3, 0xfd, 0x16, + 0x72, 0x15, 0xa2, 0xc3, 0xfb, 0x16, 0x1a, 0x15, 0x32, 0xae, 0x0f, 0xc0, 0x20, 0x00, 0x52, 0x20, + 0x82, 0x30, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x60, 0x82, 0xc0, 0x20, 0x00, + 0x22, 0x20, 0x83, 0x30, 0x22, 0x10, 0x70, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x60, 0x83, 0xb2, + 0x04, 0x7f, 0xb6, 0x2b, 0x26, 0xc0, 0x20, 0x00, 0x92, 0x20, 0x85, 0x60, 0x99, 0x10, 0x80, 0x99, + 0x20, 0xc0, 0x20, 0x00, 0x92, 0x60, 0x85, 0xc0, 0x20, 0x00, 0x72, 0x20, 0x8d, 0x60, 0x77, 0x10, + 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x8d, 0x06, 0x08, 0x00, 0xc0, 0x20, 0x00, 0xb2, + 0x20, 0x85, 0x60, 0xbb, 0x10, 0x70, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x60, 0x85, 0xc0, 0x20, + 0x00, 0xa2, 0x20, 0x8d, 0x60, 0xaa, 0x10, 0xc0, 0x20, 0x00, 0xa2, 0x60, 0x8d, 0x32, 0x04, 0x7e, + 0x66, 0x13, 0x02, 0x06, 0x23, 0x00, 0x66, 0x33, 0x02, 0x86, 0x21, 0x00, 0x02, 0xc3, 0xfc, 0x16, + 0xf0, 0x0d, 0x22, 0xc3, 0xfb, 0x16, 0x92, 0x0d, 0x01, 0xef, 0xe4, 0x41, 0xf4, 0xe2, 0x02, 0x00, + 0x7d, 0x31, 0x1f, 0xe3, 0x66, 0x10, 0x15, 0x51, 0x00, 0xe3, 0xc0, 0x20, 0x00, 0x28, 0x14, 0x30, + 0x22, 0x10, 0x50, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x29, 0x14, 0x46, 0x05, 0x00, 0x66, 0x20, 0x12, + 0x61, 0x41, 0xe3, 0xc0, 0x20, 0x00, 0x58, 0x14, 0x30, 0x55, 0x10, 0x60, 0x55, 0x20, 0xc0, 0x20, + 0x00, 0x59, 0x14, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x66, 0x23, 0xba, 0xc0, 0x20, 0x00, + 0x72, 0x20, 0x85, 0x60, 0x77, 0x10, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x60, 0x85, 0x46, + 0xe9, 0xff, 0x32, 0x04, 0x7f, 0xa2, 0xc3, 0xfd, 0x16, 0xfa, 0x0c, 0xb2, 0xc3, 0xfb, 0x16, 0x9b, + 0x0c, 0xf6, 0x23, 0x02, 0x46, 0x2c, 0x00, 0x21, 0xd4, 0xe4, 0xc0, 0x20, 0x00, 0x22, 0x65, 0x40, + 0x06, 0xbd, 0xff, 0x32, 0x04, 0x7f, 0x66, 0x13, 0x1e, 0x0c, 0x12, 0x0c, 0x03, 0x0c, 0x14, 0x0c, + 0x05, 0x01, 0xd8, 0xe2, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x83, 0x0c, 0x84, 0x0c, 0x05, 0x01, + 0xd5, 0xe2, 0xc0, 0x00, 0x00, 0xc6, 0xd7, 0xff, 0x56, 0xc3, 0xf5, 0x0c, 0x02, 0x0c, 0x13, 0x0c, + 0x14, 0x0c, 0x05, 0x01, 0xd0, 0xe2, 0xc0, 0x00, 0x00, 0x0c, 0x82, 0x0c, 0x03, 0x0c, 0x84, 0x0c, + 0x05, 0x01, 0xcc, 0xe2, 0xc0, 0x00, 0x00, 0x46, 0xcf, 0xff, 0x32, 0x04, 0x7f, 0x26, 0x33, 0x76, + 0x26, 0x53, 0x73, 0xb6, 0x23, 0x5b, 0x31, 0xbd, 0xe4, 0xc0, 0x20, 0x00, 0x32, 0x65, 0x40, 0x46, + 0xa5, 0xff, 0x32, 0x04, 0x7f, 0x66, 0x13, 0x1e, 0x0c, 0x02, 0x0c, 0x13, 0x0c, 0x14, 0x0c, 0x05, + 0x01, 0xc1, 0xe2, 0xc0, 0x00, 0x00, 0x0c, 0x82, 0x0c, 0x03, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0xbd, + 0xe2, 0xc0, 0x00, 0x00, 0x06, 0xc0, 0xff, 0x56, 0xd3, 0xef, 0x0c, 0x12, 0x0c, 0x03, 0x0c, 0x14, + 0x0c, 0x05, 0x01, 0xb8, 0xe2, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x83, 0x0c, 0x84, 0x0c, 0x05, + 0x01, 0xb5, 0xe2, 0xc0, 0x00, 0x00, 0x86, 0xb7, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x65, 0x40, 0x46, + 0x91, 0xff, 0xc0, 0x20, 0x00, 0x92, 0x65, 0x40, 0x06, 0x8f, 0xff, 0x91, 0xa5, 0xe4, 0xc0, 0x20, + 0x00, 0x92, 0x65, 0x40, 0x06, 0x8c, 0xff, 0xa1, 0xa3, 0xe4, 0xc0, 0x20, 0x00, 0xa2, 0x65, 0x40, + 0x06, 0x89, 0xff, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x9f, 0xe4, 0x22, 0x00, 0x80, 0x56, + 0x62, 0x08, 0x01, 0xd8, 0xe2, 0x22, 0xa0, 0x66, 0x08, 0x00, 0x0c, 0x33, 0x02, 0x20, 0x24, 0x0c, + 0x14, 0xc0, 0x00, 0x00, 0x31, 0xd4, 0xe2, 0x22, 0x63, 0x96, 0x21, 0x9d, 0xe2, 0xc0, 0x20, 0x00, + 0x52, 0x22, 0xe5, 0x52, 0x63, 0x97, 0xc0, 0x20, 0x00, 0x42, 0x22, 0xe6, 0x42, 0x63, 0x98, 0xc0, + 0x20, 0x00, 0x0c, 0x14, 0x0c, 0x55, 0x0c, 0x06, 0x3c, 0xc7, 0x22, 0x22, 0xe7, 0x22, 0x63, 0x99, + 0x08, 0x03, 0x22, 0xa0, 0x66, 0x02, 0x20, 0x27, 0x0c, 0x33, 0xc0, 0x00, 0x00, 0x01, 0x8a, 0xe4, + 0x21, 0x8b, 0xe4, 0xc0, 0x20, 0x00, 0x71, 0x8e, 0xe2, 0xb2, 0x27, 0xe7, 0x20, 0xbb, 0x20, 0xc0, + 0x20, 0x00, 0xb2, 0x67, 0xe7, 0xa1, 0x76, 0xe3, 0xc0, 0x20, 0x00, 0x92, 0x27, 0xe6, 0xa0, 0x99, + 0x20, 0xc0, 0x20, 0x00, 0x92, 0x67, 0xe6, 0x81, 0x82, 0xe4, 0xc0, 0x20, 0x00, 0x62, 0x27, 0xe5, + 0x80, 0x66, 0x10, 0xc0, 0x20, 0x00, 0x62, 0x67, 0xe5, 0x0c, 0x13, 0x32, 0x40, 0x80, 0x08, 0x01, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x79, 0xe4, + 0x22, 0x00, 0x7d, 0x66, 0x12, 0x38, 0x22, 0xa0, 0x66, 0x0c, 0x33, 0x01, 0xae, 0xe2, 0x0c, 0x14, + 0x08, 0x00, 0x51, 0x74, 0xe4, 0x02, 0x20, 0x26, 0x52, 0x05, 0x80, 0xc0, 0x00, 0x00, 0x01, 0x71, + 0xe4, 0x31, 0x73, 0xe2, 0x52, 0x20, 0x21, 0xc0, 0x20, 0x00, 0x52, 0x63, 0xe5, 0x42, 0x20, 0x22, + 0xc0, 0x20, 0x00, 0x42, 0x63, 0xe6, 0x22, 0x20, 0x23, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xe7, 0x0c, + 0x06, 0x62, 0x40, 0x7d, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x66, 0x12, 0x05, 0xc5, 0xef, 0xff, 0x86, 0x00, 0x00, 0xc5, 0xf9, 0xff, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xe0, 0xd2, 0x61, 0x06, 0x09, 0x41, 0xc9, 0x51, 0x21, 0x60, + 0xe3, 0xc1, 0x94, 0xe2, 0xc0, 0x20, 0x00, 0x42, 0x22, 0x97, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x96, + 0xc0, 0x20, 0x00, 0x10, 0x48, 0x40, 0x0c, 0x13, 0x0c, 0x74, 0x0c, 0x35, 0x0c, 0x26, 0x0c, 0x07, + 0x08, 0x0c, 0x22, 0x22, 0x97, 0x02, 0x20, 0x27, 0x22, 0xa0, 0x61, 0xc0, 0x00, 0x00, 0x05, 0xad, + 0xff, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x04, 0x0c, 0x05, 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, + 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x85, 0x46, 0x01, 0x31, 0xbc, 0xe2, 0x2d, 0x03, 0x4b, 0x33, + 0x45, 0x87, 0x00, 0x48, 0x4c, 0xd1, 0x48, 0xe4, 0x67, 0xf4, 0x0b, 0x0c, 0x02, 0xc5, 0xd2, 0xfc, + 0x58, 0x4c, 0xd0, 0x55, 0x20, 0x59, 0x4c, 0x85, 0x36, 0xfe, 0xd1, 0x44, 0xe4, 0x62, 0x0d, 0x77, + 0x8c, 0x66, 0x0c, 0x02, 0xc5, 0x90, 0xfe, 0x46, 0x01, 0x00, 0x22, 0xa0, 0x01, 0x45, 0x90, 0xfe, + 0x52, 0xa0, 0x40, 0x0c, 0x07, 0x0c, 0x06, 0x0c, 0x19, 0x0c, 0x0a, 0x41, 0xe2, 0xe3, 0x21, 0xab, + 0xe2, 0x82, 0x0c, 0x77, 0x32, 0xc2, 0x14, 0x80, 0x88, 0x01, 0x42, 0x14, 0x01, 0xa9, 0x01, 0x99, + 0x11, 0x80, 0x88, 0x31, 0x82, 0xc8, 0x1f, 0x80, 0x88, 0x01, 0x80, 0x88, 0x31, 0x80, 0x68, 0xb3, + 0x60, 0x60, 0x74, 0x05, 0x19, 0x01, 0x98, 0x4c, 0xb7, 0xf9, 0x04, 0x0c, 0x62, 0x05, 0x36, 0xfd, + 0x22, 0xa0, 0x00, 0x85, 0x89, 0x02, 0x85, 0x62, 0xff, 0x0c, 0x22, 0x01, 0x53, 0xe2, 0xc0, 0x20, + 0x00, 0xb2, 0x20, 0x9c, 0x20, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0x0c, 0x12, 0x0c, 0x73, 0x0c, 0x54, + 0x51, 0x28, 0xe4, 0x0c, 0x16, 0x0c, 0x07, 0xb2, 0x60, 0x9c, 0xa1, 0x94, 0xe2, 0xa9, 0x01, 0xc5, + 0xbd, 0xfe, 0x05, 0x9d, 0x01, 0x38, 0x4c, 0xb7, 0x73, 0x27, 0x05, 0xdf, 0xfc, 0x62, 0xab, 0xff, + 0x51, 0x1b, 0xe2, 0xc0, 0x20, 0x00, 0x42, 0x25, 0xd0, 0x60, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, + 0x65, 0xd0, 0x0c, 0x02, 0x85, 0x5b, 0xff, 0x08, 0x0c, 0x02, 0x20, 0x16, 0x22, 0x9c, 0x2e, 0xc0, + 0x00, 0x00, 0x0c, 0x10, 0x98, 0x0c, 0x22, 0x0d, 0x77, 0x42, 0x0d, 0x89, 0x8c, 0xa2, 0x32, 0x0d, + 0x7d, 0x02, 0x4d, 0x76, 0x00, 0x33, 0x20, 0x32, 0x4d, 0x7d, 0x92, 0x29, 0x27, 0x9c, 0x14, 0x22, + 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0xf4, 0x0c, 0x15, 0x0c, 0x16, 0x0c, 0x17, 0xc0, 0x09, 0x00, 0x86, + 0x05, 0x00, 0x22, 0xa0, 0x77, 0x32, 0xa0, 0x00, 0x42, 0xa0, 0x0f, 0x52, 0xa0, 0x01, 0x72, 0x0d, + 0x76, 0x0c, 0x16, 0x70, 0x70, 0x04, 0xc0, 0x09, 0x00, 0x22, 0x0d, 0x77, 0x32, 0x0d, 0x78, 0x42, + 0x0d, 0x79, 0x05, 0x59, 0xfd, 0x0c, 0x02, 0xc8, 0x51, 0xd8, 0x61, 0x08, 0x41, 0x12, 0xc1, 0x20, + 0x0d, 0xf0, 0x00, 0x00, 0x31, 0x00, 0xe4, 0x12, 0xc1, 0xe0, 0x02, 0x61, 0x05, 0x22, 0xc1, 0x10, + 0x02, 0xa0, 0x00, 0x02, 0x61, 0x04, 0x05, 0x73, 0x00, 0x0c, 0x02, 0x32, 0xc1, 0x10, 0x81, 0xe0, + 0xe3, 0x0c, 0x09, 0x71, 0x9c, 0xe3, 0x51, 0xf8, 0xe3, 0x41, 0x2a, 0xe2, 0x62, 0xc5, 0x9a, 0x42, + 0x24, 0x74, 0x72, 0x07, 0x00, 0x99, 0x11, 0x99, 0x21, 0x99, 0x31, 0x89, 0x01, 0x1b, 0x77, 0x70, + 0x70, 0x74, 0x05, 0xcd, 0xfd, 0x21, 0x5d, 0xe2, 0x0c, 0x04, 0x32, 0xc2, 0x6f, 0x85, 0x6c, 0xfd, + 0x4d, 0x02, 0x21, 0xa4, 0xe3, 0x42, 0x62, 0x58, 0x9b, 0x32, 0xc5, 0x6b, 0xfd, 0x08, 0x51, 0x12, + 0xc1, 0x20, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, 0x11, 0x21, 0xe5, 0xe2, 0xc0, 0x20, 0x00, 0x42, + 0x22, 0x85, 0x49, 0x01, 0x7c, 0xe3, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x85, 0x30, 0x00, 0x10, 0xc0, + 0x20, 0x00, 0x02, 0x62, 0x85, 0x5c, 0x02, 0x01, 0xe1, 0xe3, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x01, + 0xf6, 0xe1, 0xc0, 0x00, 0x00, 0x0c, 0x87, 0x7c, 0x38, 0x61, 0xd4, 0xe1, 0xc0, 0x20, 0x00, 0x52, + 0x26, 0xd0, 0x80, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x66, 0xd0, 0x22, 0xa3, + 0xe8, 0x01, 0xed, 0xe1, 0xc0, 0x00, 0x00, 0x0c, 0x4b, 0xc0, 0x20, 0x00, 0xa1, 0xcc, 0xe1, 0x92, + 0x2a, 0xd0, 0x7c, 0x30, 0x00, 0x99, 0x10, 0xb0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x6a, 0xd0, + 0x0c, 0x12, 0x01, 0xe5, 0xe1, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x31, 0xc9, 0xe2, 0x28, 0x01, + 0x22, 0x63, 0x85, 0x07, 0x62, 0x08, 0x22, 0xa0, 0xa0, 0x01, 0xc8, 0xe3, 0xc0, 0x00, 0x00, 0x08, + 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0x01, + 0xc4, 0xe3, 0xcd, 0x02, 0x22, 0x00, 0x8f, 0xc2, 0x40, 0x79, 0xcc, 0x62, 0x0c, 0x13, 0x32, 0x40, + 0x8f, 0x06, 0x0d, 0x00, 0x52, 0xa0, 0x00, 0x42, 0x00, 0x6f, 0x52, 0x40, 0x8f, 0x17, 0xe4, 0x28, + 0x22, 0xa0, 0x04, 0x45, 0x21, 0x03, 0x01, 0xba, 0xe3, 0x62, 0x00, 0x90, 0x56, 0x56, 0x00, 0x45, + 0xf3, 0xff, 0x01, 0xb7, 0xe3, 0xc0, 0x2c, 0x20, 0x72, 0xa0, 0x00, 0x72, 0x40, 0x90, 0x45, 0xec, + 0xff, 0x22, 0xa0, 0x04, 0x0c, 0x03, 0x85, 0x30, 0x03, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x00, 0x00, 0x6d, 0x02, 0xfb, 0x72, 0x91, 0x1c, 0xe2, 0x42, 0x02, 0x00, 0x5d, 0x09, + 0x42, 0x49, 0x00, 0x32, 0x02, 0x01, 0x82, 0xc9, 0xc0, 0x30, 0x31, 0x04, 0x32, 0x49, 0x02, 0xa2, + 0x06, 0x02, 0xa2, 0x45, 0x03, 0x1b, 0x66, 0x1b, 0x55, 0x77, 0x96, 0xf2, 0x5d, 0x09, 0x6d, 0x02, + 0x3b, 0x72, 0x32, 0x06, 0x11, 0x1b, 0x55, 0x1b, 0x66, 0x32, 0x45, 0x11, 0x42, 0x06, 0x13, 0x80, + 0xb3, 0x01, 0x4a, 0x33, 0x32, 0x45, 0x14, 0x32, 0x06, 0x16, 0xb0, 0xb8, 0x31, 0x3a, 0xbb, 0xb2, + 0x45, 0x17, 0x77, 0x96, 0xdc, 0x6d, 0x02, 0x5d, 0x09, 0x4b, 0x72, 0x42, 0x02, 0x1a, 0x42, 0x48, + 0x5c, 0x32, 0x02, 0x1b, 0x32, 0x48, 0x5d, 0xb2, 0x02, 0x1c, 0xa2, 0x02, 0x1d, 0xb0, 0xb0, 0x54, + 0x80, 0xbb, 0x11, 0xb0, 0xaa, 0x20, 0xa2, 0x58, 0x2f, 0xa2, 0x06, 0x1e, 0xa2, 0x45, 0x20, 0x1b, + 0x66, 0x1b, 0x55, 0x77, 0x96, 0xf2, 0x5d, 0x09, 0x6d, 0x02, 0x6b, 0x72, 0xb2, 0x06, 0x22, 0xb2, + 0x45, 0x24, 0x1b, 0x66, 0x1b, 0x55, 0x77, 0x96, 0xf2, 0x5d, 0x09, 0x6d, 0x02, 0x8b, 0x72, 0x32, + 0x06, 0x28, 0x32, 0x45, 0x2a, 0x1b, 0x66, 0x1b, 0x55, 0x77, 0x96, 0xf2, 0x0c, 0x55, 0x32, 0x02, + 0x30, 0x32, 0x48, 0x41, 0xb2, 0x02, 0x31, 0xb2, 0x48, 0x73, 0xa2, 0x02, 0x32, 0xa2, 0x48, 0x74, + 0x92, 0x02, 0x33, 0x92, 0x48, 0x75, 0x72, 0x02, 0x34, 0x72, 0x48, 0x76, 0x62, 0x02, 0x35, 0x62, + 0x48, 0x77, 0x42, 0x02, 0x36, 0x42, 0x48, 0x78, 0x32, 0x02, 0x37, 0x32, 0x48, 0x79, 0xb2, 0x02, + 0x38, 0xb2, 0x48, 0x7a, 0xa2, 0x02, 0x40, 0xa2, 0x48, 0x7b, 0x92, 0x02, 0x41, 0x92, 0x48, 0x7c, + 0x72, 0x02, 0x42, 0x62, 0x02, 0x43, 0x70, 0x70, 0x54, 0x80, 0x77, 0x11, 0x70, 0x66, 0x20, 0x62, + 0x58, 0x3f, 0x42, 0x02, 0x44, 0x42, 0x48, 0x80, 0x32, 0x02, 0x45, 0x32, 0x48, 0x81, 0xb2, 0x02, + 0x47, 0xa2, 0x02, 0x46, 0x80, 0xbb, 0x01, 0x80, 0xaa, 0x01, 0xa0, 0xa8, 0x31, 0xb0, 0xb8, 0x31, + 0x80, 0xbb, 0x11, 0xb0, 0xaa, 0x20, 0xa2, 0x58, 0x41, 0x92, 0x02, 0x49, 0x72, 0x02, 0x48, 0x80, + 0x99, 0x01, 0x80, 0x77, 0x01, 0x70, 0x78, 0x31, 0x90, 0x98, 0x31, 0x80, 0x99, 0x11, 0x90, 0x77, + 0x20, 0x72, 0x58, 0x42, 0x62, 0x02, 0x4a, 0x62, 0x48, 0x86, 0x42, 0x02, 0x4b, 0x6d, 0x05, 0x40, + 0x40, 0x34, 0x42, 0x48, 0x88, 0xf6, 0x64, 0x01, 0x6d, 0x04, 0x62, 0x48, 0x88, 0x92, 0x02, 0x4b, + 0x90, 0x94, 0x24, 0x92, 0x48, 0x8a, 0x72, 0x02, 0x4b, 0x70, 0x77, 0x04, 0x72, 0x48, 0x8c, 0x62, + 0x02, 0x4c, 0x60, 0x60, 0x34, 0x62, 0x48, 0x87, 0x67, 0x35, 0x01, 0x5d, 0x06, 0x52, 0x48, 0x87, + 0x42, 0x02, 0x4c, 0x40, 0x44, 0x24, 0x42, 0x48, 0x89, 0x32, 0x02, 0x4c, 0x30, 0x37, 0x04, 0x32, + 0x48, 0x8b, 0xb2, 0x02, 0x4d, 0xb0, 0xb0, 0x34, 0xb2, 0x48, 0x8e, 0xa2, 0x02, 0x4d, 0xa0, 0xa4, + 0x34, 0xa2, 0x48, 0x8d, 0x92, 0x02, 0x4e, 0x92, 0x48, 0x8f, 0x72, 0x02, 0x4f, 0x72, 0x48, 0x90, + 0x62, 0x02, 0x50, 0x62, 0x48, 0x91, 0x42, 0x02, 0x51, 0x42, 0x48, 0x92, 0x32, 0x02, 0x52, 0x32, + 0x48, 0x93, 0xb2, 0x02, 0x53, 0xb2, 0x48, 0x94, 0xa2, 0x02, 0x54, 0xa2, 0x48, 0x95, 0x92, 0x02, + 0x55, 0x92, 0x48, 0x96, 0x72, 0x02, 0x56, 0x72, 0x48, 0x97, 0x62, 0x02, 0x57, 0x62, 0x48, 0x98, + 0x42, 0x02, 0x58, 0x42, 0x48, 0x99, 0x32, 0x02, 0x59, 0x32, 0x48, 0x9a, 0xb2, 0x02, 0x5a, 0xb2, + 0x48, 0x9b, 0xa2, 0x02, 0x5b, 0xa2, 0x48, 0x9c, 0x92, 0x02, 0x5c, 0x92, 0x48, 0x9d, 0x72, 0x02, + 0x5d, 0x72, 0x48, 0x9e, 0x62, 0x02, 0x5e, 0x62, 0x48, 0x9f, 0x42, 0x02, 0x5f, 0x42, 0x48, 0xa0, + 0x32, 0x02, 0x60, 0x32, 0x48, 0xa1, 0xb2, 0x02, 0x61, 0xb2, 0x48, 0xa2, 0xa2, 0x02, 0x62, 0xa2, + 0x48, 0xa3, 0x92, 0x02, 0x63, 0x92, 0x48, 0xa4, 0x72, 0x02, 0x64, 0x72, 0x48, 0xa5, 0x62, 0x02, + 0x65, 0x62, 0x48, 0xa6, 0x42, 0x02, 0x66, 0x42, 0x48, 0xa7, 0x32, 0x02, 0x67, 0x32, 0x48, 0xa8, + 0xb2, 0x02, 0x68, 0xb2, 0x48, 0xa9, 0xa2, 0x02, 0x69, 0xa2, 0x48, 0xaa, 0x0c, 0x02, 0x0d, 0xf0, + 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x02, 0xc2, 0x61, 0x03, 0x7c, 0xf2, 0xc1, 0x11, 0xe1, 0x01, 0x49, + 0xe1, 0xc0, 0x20, 0x00, 0x0c, 0x23, 0x0c, 0x84, 0x0c, 0x05, 0x08, 0x00, 0x22, 0x6c, 0x49, 0x02, + 0x20, 0x26, 0x22, 0xa0, 0x6a, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0xc0, 0x20, 0x00, 0x22, 0x6c, 0x43, + 0x0c, 0x32, 0x45, 0x7f, 0x02, 0xc0, 0x20, 0x00, 0x0c, 0x07, 0x72, 0x6c, 0x50, 0xc0, 0x20, 0x00, + 0x72, 0x6c, 0x51, 0x7c, 0xe6, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0x6a, 0x60, 0x55, 0x10, 0xc0, 0x20, + 0x00, 0x52, 0x6c, 0x6a, 0xc0, 0x20, 0x00, 0x42, 0x2c, 0x40, 0x49, 0x11, 0x31, 0x06, 0xe3, 0xc0, + 0x20, 0x00, 0x32, 0x6c, 0x40, 0x0c, 0x82, 0x0c, 0x03, 0x05, 0x8a, 0x02, 0x91, 0xc2, 0xe1, 0xc0, + 0x20, 0x00, 0x82, 0x2c, 0x42, 0x01, 0xa3, 0xe2, 0x90, 0x88, 0x20, 0x02, 0x00, 0x80, 0x89, 0x01, + 0x66, 0x10, 0x2c, 0x22, 0xa0, 0x67, 0x01, 0x2b, 0xe1, 0x0c, 0x43, 0x08, 0x00, 0x0c, 0x14, 0x02, + 0x20, 0x26, 0x52, 0xa0, 0x88, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x67, 0x01, 0x26, 0xe1, 0x0c, 0x43, + 0x08, 0x00, 0x0c, 0x24, 0x02, 0x20, 0x26, 0x52, 0xa0, 0x91, 0xc0, 0x00, 0x00, 0x46, 0x07, 0x00, + 0x66, 0x20, 0x1a, 0x22, 0xa0, 0x67, 0x32, 0xa0, 0x04, 0x42, 0xa0, 0x02, 0x01, 0x1e, 0xe1, 0x52, + 0xa0, 0x07, 0x08, 0x00, 0x0c, 0x56, 0x02, 0x20, 0x27, 0x0c, 0x27, 0xc0, 0x00, 0x00, 0xc0, 0x20, + 0x00, 0x28, 0x01, 0x22, 0x6c, 0x42, 0x0c, 0x12, 0xc5, 0xb2, 0x02, 0xc0, 0x20, 0x00, 0x38, 0x11, + 0x08, 0x21, 0x32, 0x6c, 0x40, 0xc8, 0x31, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0xc2, + 0x61, 0x01, 0x02, 0x61, 0x00, 0x85, 0x84, 0x02, 0x20, 0xc2, 0x20, 0x01, 0xe0, 0xe2, 0xc0, 0x00, + 0x00, 0x01, 0xdd, 0xe2, 0x22, 0x00, 0x4e, 0x02, 0x00, 0xb2, 0x9c, 0x12, 0x66, 0x10, 0x05, 0x05, + 0xef, 0xff, 0x46, 0x02, 0x00, 0xcc, 0x60, 0x26, 0x1c, 0x04, 0x8c, 0x1c, 0x05, 0xee, 0xff, 0xc8, + 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x01, 0x75, 0xe2, + 0x21, 0x01, 0xe1, 0x02, 0x00, 0x80, 0x28, 0x42, 0x16, 0x40, 0x04, 0xb7, 0xf2, 0x02, 0x05, 0xec, + 0xff, 0x01, 0xc7, 0xe0, 0xc0, 0x20, 0x00, 0x32, 0x20, 0x46, 0x27, 0x73, 0x32, 0xc0, 0x20, 0x00, + 0x42, 0x20, 0x46, 0x40, 0x4d, 0x25, 0x66, 0x24, 0x26, 0x51, 0xbd, 0xe0, 0xc0, 0x20, 0x00, 0x52, + 0x25, 0x88, 0x87, 0x65, 0x1a, 0x0c, 0x12, 0x01, 0xc6, 0xe2, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x01, + 0xc5, 0xe2, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x32, 0xa2, 0xb6, 0x01, 0xc3, 0xe2, 0xc0, 0x00, 0x00, + 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x71, 0xc1, 0xe2, 0x31, 0x7e, 0xe1, 0x42, 0x07, + 0x7f, 0x51, 0xbf, 0xe2, 0x26, 0x14, 0x68, 0x26, 0x34, 0x65, 0x61, 0xbe, 0xe2, 0x26, 0x44, 0x71, + 0x26, 0x54, 0x6e, 0x42, 0x07, 0x81, 0x66, 0x24, 0x11, 0x21, 0xbb, 0xe2, 0xc0, 0x20, 0x00, 0x22, + 0x63, 0xd8, 0xc0, 0x20, 0x00, 0x62, 0x63, 0xd9, 0x46, 0x04, 0x00, 0x66, 0x34, 0x0e, 0x41, 0xb7, + 0xe2, 0xc0, 0x20, 0x00, 0x42, 0x63, 0xd8, 0xc0, 0x20, 0x00, 0x52, 0x63, 0xd9, 0xa1, 0x6f, 0xe1, + 0xc0, 0x20, 0x00, 0x92, 0x23, 0x40, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x63, 0x40, 0x81, + 0xb0, 0xe2, 0x71, 0xe9, 0xe0, 0xc0, 0x20, 0x00, 0x62, 0x23, 0x42, 0x80, 0x66, 0x10, 0x70, 0x66, + 0x20, 0xc0, 0x20, 0x00, 0x62, 0x63, 0x42, 0x0c, 0x25, 0xc0, 0x20, 0x00, 0x59, 0xa3, 0x0d, 0xf0, + 0xc0, 0x20, 0x00, 0x52, 0x63, 0xd8, 0xb1, 0xa7, 0xe2, 0xc0, 0x20, 0x00, 0xb2, 0x63, 0xd9, 0x86, + 0xee, 0xff, 0xc0, 0x20, 0x00, 0x62, 0x63, 0xd8, 0x21, 0xa4, 0xe2, 0xc0, 0x20, 0x00, 0x22, 0x63, + 0xd9, 0x06, 0xea, 0xff, 0x12, 0xc1, 0xf0, 0xd9, 0x31, 0xc9, 0x21, 0xc1, 0xc2, 0xe0, 0x09, 0x11, + 0x08, 0x4c, 0xdd, 0x02, 0x97, 0xf0, 0x4d, 0x01, 0x91, 0xe2, 0xc0, 0x00, 0x00, 0x51, 0x9b, 0xe2, + 0x41, 0x9c, 0xe2, 0x61, 0xa3, 0xe2, 0x71, 0xa1, 0xe2, 0x81, 0x9f, 0xe2, 0x91, 0x9e, 0xe2, 0xa1, + 0x9c, 0xe2, 0xb1, 0x9a, 0xe2, 0x01, 0x98, 0xe2, 0x29, 0x0c, 0x31, 0x96, 0xe2, 0x32, 0x62, 0x3a, + 0x02, 0x62, 0x28, 0xb2, 0x62, 0x22, 0xa9, 0xa2, 0x92, 0x62, 0x16, 0x82, 0x62, 0x19, 0x79, 0x92, + 0x62, 0x62, 0x36, 0x42, 0x62, 0x12, 0x52, 0x62, 0x43, 0x41, 0x97, 0xe2, 0x51, 0x96, 0xe2, 0x52, + 0x62, 0x1e, 0x42, 0x62, 0x1d, 0x61, 0x95, 0xe2, 0x82, 0x0c, 0x5e, 0x62, 0x06, 0x00, 0x80, 0x88, + 0x01, 0xcc, 0xc6, 0x2d, 0x0d, 0xc5, 0xb1, 0xff, 0xdd, 0x02, 0x0c, 0xe7, 0x79, 0x01, 0x06, 0x02, + 0x00, 0xd2, 0xa0, 0x00, 0x80, 0x88, 0x31, 0x82, 0x61, 0x00, 0xc5, 0xe7, 0xff, 0x85, 0xed, 0xff, + 0x45, 0x3d, 0xff, 0x45, 0x7b, 0xff, 0x21, 0x8a, 0xe2, 0x45, 0xee, 0xfb, 0x91, 0x88, 0xe2, 0x92, + 0x09, 0x00, 0x08, 0x4c, 0x66, 0x19, 0x0a, 0xb7, 0xf0, 0x27, 0x28, 0x01, 0x05, 0xc3, 0xfc, 0xc6, + 0x07, 0x00, 0x0c, 0x04, 0x21, 0xd2, 0xe0, 0xa1, 0xfb, 0xe1, 0x32, 0xc2, 0x6f, 0xa0, 0xa0, 0x20, + 0xa9, 0x4c, 0x45, 0x09, 0xfd, 0x4d, 0x02, 0x21, 0x17, 0xe2, 0x42, 0x6c, 0x78, 0x9b, 0x32, 0x85, + 0x08, 0xfd, 0x21, 0x7c, 0xe2, 0x61, 0x7c, 0xe2, 0x01, 0x73, 0xe0, 0xc0, 0x20, 0x00, 0xc2, 0x20, + 0x9f, 0xc0, 0xc0, 0xf4, 0x20, 0xcc, 0x20, 0xc0, 0x20, 0x00, 0xc2, 0x60, 0x9f, 0xb2, 0x06, 0x7a, + 0x66, 0x2b, 0x40, 0x42, 0x06, 0x79, 0x02, 0x06, 0x87, 0x52, 0x06, 0x8a, 0x32, 0x06, 0x77, 0x22, + 0x06, 0x76, 0x80, 0x33, 0x11, 0x30, 0x22, 0x20, 0x32, 0x06, 0x88, 0x80, 0x55, 0x01, 0x80, 0x33, + 0x11, 0x30, 0x00, 0x20, 0x32, 0x06, 0x78, 0x80, 0x44, 0x01, 0x00, 0x33, 0x11, 0x40, 0x33, 0x20, + 0x42, 0x06, 0x89, 0x30, 0x22, 0x20, 0x00, 0x44, 0x11, 0x50, 0x44, 0x20, 0x40, 0x00, 0x20, 0xc0, + 0x20, 0x00, 0x09, 0x02, 0x08, 0x11, 0xc8, 0x21, 0x51, 0x61, 0xe2, 0x2d, 0x0d, 0x0c, 0x14, 0xd8, + 0x31, 0x42, 0x45, 0x00, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x26, 0x42, 0x14, 0x26, + 0xb2, 0x09, 0x1c, 0x23, 0x37, 0x12, 0x10, 0x1c, 0x44, 0x47, 0x12, 0x03, 0x0c, 0x12, 0x0d, 0xf0, + 0x0c, 0x32, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x0c, 0x22, 0x0d, 0xf0, 0x8c, 0xf2, 0x26, 0x12, + 0x05, 0x26, 0x22, 0x0e, 0x26, 0x32, 0x03, 0x1c, 0x02, 0x0d, 0xf0, 0x1c, 0x42, 0x0d, 0xf0, 0x0c, + 0x42, 0x0d, 0xf0, 0x1c, 0x22, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xe0, 0xd9, 0x31, 0xf9, 0x51, 0xc9, + 0x21, 0xe9, 0x41, 0x09, 0x11, 0xed, 0x03, 0x08, 0x02, 0xcd, 0x02, 0x00, 0x03, 0x05, 0x56, 0xe0, + 0x08, 0xf1, 0x5c, 0xe0, 0x21, 0xf9, 0xe0, 0x08, 0x0f, 0x22, 0x12, 0x00, 0x02, 0x20, 0x29, 0x20, + 0x20, 0x44, 0xc0, 0x00, 0x00, 0x0c, 0x12, 0x08, 0x0f, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x1c, 0xf4, + 0xc0, 0x00, 0x00, 0x0c, 0x0d, 0xd0, 0x2d, 0x20, 0x05, 0xfa, 0xff, 0x42, 0xa1, 0xf4, 0x52, 0xa0, + 0x0c, 0x10, 0x61, 0x20, 0x08, 0x0f, 0x3d, 0x02, 0x02, 0x20, 0x3a, 0x0c, 0x02, 0xc0, 0x00, 0x00, + 0x02, 0x01, 0x00, 0x22, 0x01, 0x01, 0x80, 0x00, 0x01, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x00, + 0x08, 0x31, 0x80, 0x22, 0x11, 0x20, 0x00, 0x20, 0xe0, 0x2d, 0x90, 0x02, 0x52, 0x00, 0x1b, 0xdd, + 0xd0, 0xd0, 0x74, 0x66, 0x4d, 0xbe, 0x3d, 0x01, 0x21, 0xe0, 0xe0, 0x0c, 0x14, 0x22, 0x12, 0x00, + 0x85, 0x0c, 0x00, 0x21, 0xdd, 0xe0, 0x3d, 0x01, 0x22, 0x12, 0x00, 0x45, 0x02, 0x00, 0x08, 0x0f, + 0x02, 0x20, 0x2a, 0xd1, 0x0f, 0xe0, 0xc0, 0x00, 0x00, 0x28, 0x0c, 0xd0, 0x22, 0x20, 0x29, 0x0c, + 0xc8, 0x21, 0xd8, 0x31, 0xe8, 0x41, 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, + 0x80, 0x92, 0x11, 0x81, 0x22, 0xe2, 0x71, 0xfe, 0xdf, 0xb1, 0x21, 0xe2, 0xa1, 0x22, 0xe2, 0x12, + 0xc1, 0xf0, 0xc9, 0x11, 0xe9, 0x31, 0x09, 0x01, 0xd9, 0x21, 0x0c, 0x00, 0x1c, 0x8d, 0x70, 0x50, + 0xa0, 0xc0, 0x20, 0x00, 0x42, 0x25, 0xc1, 0x80, 0x44, 0x10, 0x90, 0x44, 0x20, 0xc0, 0x20, 0x00, + 0x42, 0x65, 0xc1, 0x00, 0x21, 0x41, 0x70, 0x22, 0xa0, 0x62, 0x03, 0x01, 0x52, 0x03, 0x00, 0x80, + 0x66, 0x01, 0x80, 0x55, 0x01, 0x50, 0x58, 0x31, 0x60, 0x68, 0x31, 0x07, 0x60, 0x1d, 0x20, 0xe5, + 0x11, 0xb0, 0x46, 0x01, 0xc0, 0x20, 0x00, 0xc2, 0x22, 0x81, 0xb0, 0xcc, 0x10, 0x40, 0xcc, 0x20, + 0xe0, 0xcc, 0x20, 0xc0, 0x20, 0x00, 0xc2, 0x62, 0x81, 0xc6, 0x05, 0x00, 0x90, 0x46, 0x11, 0xc0, + 0x20, 0x00, 0xe2, 0x22, 0x81, 0xa0, 0xee, 0x10, 0x40, 0xee, 0x20, 0x50, 0xee, 0x20, 0xc0, 0x20, + 0x00, 0xe2, 0x62, 0x81, 0x1b, 0x00, 0x00, 0x00, 0x74, 0xd7, 0x90, 0x91, 0xc8, 0x11, 0xd8, 0x21, + 0xe8, 0x31, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x20, 0x20, 0x44, 0x12, + 0xc1, 0xf0, 0x49, 0x01, 0xc9, 0x21, 0x09, 0x11, 0xcd, 0x03, 0x05, 0xe6, 0xff, 0x41, 0x43, 0xe0, + 0x40, 0x22, 0x90, 0x32, 0x12, 0x02, 0x32, 0x4c, 0x00, 0x22, 0x12, 0x02, 0x08, 0x01, 0x20, 0x28, + 0x41, 0x22, 0x4c, 0x01, 0xbc, 0x40, 0x0c, 0x02, 0x0c, 0x23, 0x42, 0x0c, 0x00, 0x01, 0x01, 0xe0, + 0x80, 0x44, 0x01, 0x08, 0x00, 0x40, 0x48, 0x31, 0x02, 0x20, 0x2b, 0x40, 0x40, 0xf4, 0xc0, 0x00, + 0x00, 0x0c, 0x12, 0x0c, 0x23, 0x42, 0x0c, 0x01, 0x01, 0xfb, 0xdf, 0x80, 0x44, 0x01, 0x08, 0x00, + 0x40, 0x48, 0x31, 0x02, 0x20, 0x2b, 0x40, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0xc8, 0x21, 0x08, 0x11, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x26, 0x12, 0x14, 0x26, 0x22, 0x15, 0x26, 0x32, + 0x16, 0x26, 0x42, 0x17, 0x42, 0xc2, 0xfb, 0x0c, 0x63, 0x0c, 0x52, 0x40, 0x23, 0x83, 0x0d, 0xf0, + 0x0c, 0xe2, 0x0d, 0xf0, 0x0c, 0xa2, 0x0d, 0xf0, 0x0c, 0x82, 0x0d, 0xf0, 0x0c, 0x72, 0x0d, 0xf0, + 0x12, 0xc1, 0xe0, 0x09, 0x01, 0x39, 0x51, 0xc9, 0x11, 0xd9, 0x21, 0xf9, 0x41, 0xe9, 0x31, 0xfd, + 0x03, 0xed, 0x02, 0xd2, 0x13, 0x00, 0x22, 0x02, 0x00, 0xd0, 0xc9, 0x24, 0xd0, 0x30, 0x34, 0x80, + 0x02, 0x01, 0x00, 0x08, 0x31, 0xd0, 0xd4, 0x04, 0xd0, 0xdd, 0x90, 0x30, 0xdd, 0x90, 0xd0, 0xd0, + 0x74, 0xa6, 0x10, 0x7c, 0x66, 0x4d, 0x10, 0x02, 0xc0, 0xf8, 0x2b, 0xdd, 0xd0, 0xd0, 0x74, 0x02, + 0x4e, 0x00, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xa6, 0x10, 0x3e, 0xf6, 0x7c, 0x1e, 0x2d, 0x0c, + 0x45, 0xf8, 0xff, 0x02, 0x0e, 0x00, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x20, 0x00, 0xc0, 0x02, 0x4e, + 0x00, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xa6, 0x10, 0x1f, 0x66, 0x7c, 0xe0, 0xa6, 0x10, 0x19, + 0xf6, 0x9d, 0x16, 0x02, 0xc0, 0xf8, 0x2b, 0xdd, 0xd0, 0xd0, 0x74, 0x02, 0x4e, 0x00, 0x80, 0x00, + 0x01, 0x00, 0x08, 0x31, 0xa6, 0x10, 0x02, 0xb6, 0x9d, 0xe8, 0xc0, 0xec, 0x11, 0x08, 0x01, 0xc8, + 0x11, 0xfb, 0xee, 0xe0, 0xe0, 0x74, 0xb0, 0xee, 0x11, 0xb6, 0x6d, 0x04, 0xab, 0xdd, 0xd0, 0xd0, + 0x74, 0xea, 0xed, 0xe2, 0x5f, 0x00, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x12, 0xc1, 0x20, 0x0d, + 0xf0, 0x77, 0x62, 0xd5, 0xb6, 0x7d, 0x16, 0xd2, 0xcd, 0xfe, 0x8b, 0x20, 0x22, 0x4e, 0x00, 0xd0, + 0xd0, 0x74, 0x80, 0x02, 0x01, 0x00, 0x08, 0x31, 0x77, 0x62, 0x02, 0xf6, 0x7d, 0xe8, 0xd6, 0x80, + 0xfb, 0xb6, 0x2c, 0x1d, 0x0b, 0xcc, 0xc0, 0xc0, 0x74, 0x2d, 0x0c, 0xc5, 0xef, 0xff, 0x32, 0x0e, + 0x00, 0x2a, 0x23, 0x22, 0x4e, 0x00, 0x80, 0x02, 0x01, 0x00, 0x08, 0x31, 0x77, 0x62, 0x02, 0x66, + 0x1c, 0xe1, 0xd6, 0x40, 0xf9, 0x66, 0x6d, 0x91, 0xd2, 0xcd, 0xfe, 0x8b, 0x20, 0x22, 0x4e, 0x00, + 0xd0, 0xd0, 0x74, 0xc6, 0xe0, 0xff, 0x00, 0x00, 0x12, 0xc1, 0xe0, 0x29, 0x41, 0x09, 0x71, 0x2d, + 0x01, 0x85, 0x09, 0x01, 0x0c, 0x33, 0x52, 0x11, 0x03, 0xb2, 0x11, 0x02, 0x82, 0x11, 0x01, 0xa2, + 0x11, 0x07, 0x72, 0x11, 0x06, 0x92, 0x11, 0x05, 0x62, 0x11, 0x04, 0x01, 0x9e, 0xdf, 0x0c, 0x04, + 0x2d, 0x04, 0x08, 0x00, 0x9a, 0x66, 0xaa, 0x77, 0xba, 0x88, 0x08, 0xe0, 0x8a, 0x55, 0x70, 0x77, + 0x90, 0x60, 0x66, 0x90, 0x70, 0x66, 0xc0, 0x70, 0x55, 0xd0, 0x00, 0x55, 0x11, 0x00, 0x66, 0x11, + 0x60, 0x60, 0x31, 0x50, 0x50, 0x31, 0x50, 0x25, 0xb3, 0x60, 0x46, 0xb3, 0x00, 0x44, 0x11, 0x00, + 0x22, 0x11, 0x20, 0x20, 0x31, 0x40, 0x40, 0x31, 0x49, 0x51, 0xc0, 0x00, 0x00, 0x01, 0x8d, 0xdf, + 0x0c, 0x33, 0x08, 0x00, 0x29, 0x61, 0x08, 0xe0, 0x28, 0x51, 0xc0, 0x00, 0x00, 0x38, 0x61, 0x08, + 0x71, 0x20, 0x33, 0xc0, 0x28, 0x41, 0x12, 0xc1, 0x20, 0x3a, 0x22, 0x00, 0x22, 0x11, 0x20, 0x20, + 0x31, 0x0d, 0xf0, 0x00, 0x0c, 0x13, 0x5c, 0xf4, 0x21, 0x74, 0xe1, 0x12, 0xc1, 0xe0, 0xc9, 0x61, + 0x09, 0x51, 0xc1, 0x1d, 0xe0, 0x01, 0x7f, 0xdf, 0x22, 0x5c, 0x00, 0x08, 0x00, 0x22, 0x5c, 0x00, + 0x02, 0x20, 0x2b, 0x0c, 0x72, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x01, 0x7a, 0xdf, 0x0c, 0x13, 0x08, + 0x00, 0x42, 0x1c, 0x00, 0x02, 0x20, 0x2b, 0x40, 0x40, 0x44, 0xc0, 0x00, 0x00, 0x22, 0x1c, 0x00, + 0x32, 0xc1, 0x10, 0x0c, 0x14, 0x45, 0xd9, 0xff, 0x4c, 0x02, 0x31, 0x64, 0xe1, 0x0c, 0x14, 0x1c, + 0xf5, 0x72, 0xc1, 0x12, 0x81, 0xa8, 0xdf, 0x62, 0x1c, 0x00, 0x92, 0xa1, 0x38, 0x60, 0x60, 0x44, + 0x99, 0x01, 0x82, 0x08, 0x00, 0x89, 0x11, 0x45, 0x47, 0x01, 0x02, 0x01, 0x12, 0x2c, 0x47, 0x80, + 0x00, 0x01, 0x00, 0x08, 0x31, 0x07, 0x27, 0x02, 0xe6, 0xa0, 0x39, 0x1c, 0x82, 0x3d, 0x0c, 0x00, + 0x22, 0xc0, 0x22, 0x41, 0x12, 0x22, 0xc1, 0x12, 0x45, 0xde, 0xff, 0x0c, 0x72, 0x01, 0x61, 0xdf, + 0x0c, 0x13, 0x08, 0x00, 0x42, 0x1c, 0x00, 0x02, 0x20, 0x2b, 0x40, 0x45, 0x41, 0xc0, 0x00, 0x00, + 0x0c, 0x02, 0x01, 0x5c, 0xdf, 0x0c, 0x13, 0x08, 0x00, 0x42, 0x1c, 0x00, 0x02, 0x20, 0x2b, 0x40, + 0x40, 0x44, 0xc0, 0x00, 0x00, 0x22, 0x1c, 0x00, 0x32, 0xc1, 0x10, 0x0c, 0x14, 0xc5, 0xd1, 0xff, + 0x22, 0x1c, 0x00, 0x32, 0xc1, 0x10, 0x85, 0xc7, 0xff, 0x08, 0x51, 0x22, 0x1c, 0x00, 0x31, 0x8b, + 0xdf, 0xc8, 0x61, 0x22, 0x53, 0x3b, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x0c, 0x05, 0x0c, 0x06, + 0x0c, 0x07, 0x20, 0x40, 0x74, 0x0c, 0x03, 0x12, 0xc1, 0xe0, 0xc9, 0x51, 0xd9, 0x61, 0x09, 0x41, + 0xe9, 0x71, 0x39, 0x21, 0x39, 0x11, 0xe1, 0x47, 0xdf, 0x39, 0x01, 0x08, 0x0e, 0x0c, 0x12, 0x02, + 0x20, 0x1a, 0x4c, 0x03, 0xc0, 0x00, 0x00, 0x0c, 0x0d, 0x0c, 0x0c, 0x08, 0x0e, 0x08, 0xb0, 0x22, + 0xa1, 0x38, 0xc0, 0x00, 0x00, 0x1b, 0xdd, 0xca, 0xc2, 0x00, 0xcc, 0x11, 0xc0, 0xc0, 0x31, 0x66, + 0x4d, 0xe8, 0x08, 0x0e, 0x02, 0x20, 0x1b, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x08, 0x41, 0xd8, 0x61, + 0x4b, 0x3c, 0xbb, 0x2c, 0xe8, 0x71, 0xc8, 0x51, 0x30, 0x23, 0xb3, 0x20, 0x23, 0x21, 0x12, 0xc1, + 0x20, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x0c, 0x14, 0x1c, 0xf5, + 0x82, 0xa1, 0x38, 0x61, 0xcd, 0xdf, 0x12, 0xc1, 0xc0, 0xc9, 0x61, 0xd9, 0x71, 0xe9, 0x81, 0xf9, + 0x91, 0x72, 0xc1, 0x10, 0x29, 0xc1, 0x09, 0x51, 0x4c, 0x02, 0x38, 0xc1, 0x01, 0x62, 0xdf, 0x62, + 0x16, 0x00, 0x89, 0x01, 0x60, 0x60, 0x44, 0x02, 0x00, 0x00, 0x09, 0x11, 0xc5, 0x35, 0x01, 0x0c, + 0x0e, 0x0c, 0x00, 0xf2, 0xa0, 0x6f, 0x72, 0x01, 0x10, 0x68, 0xc1, 0x0c, 0x0a, 0xa9, 0xd1, 0x82, + 0x06, 0x05, 0x80, 0x77, 0x01, 0x62, 0x06, 0x00, 0x70, 0x78, 0x31, 0x72, 0xc7, 0x1f, 0x72, 0x41, + 0x10, 0x80, 0x66, 0xc0, 0x00, 0x66, 0x11, 0x60, 0x60, 0x31, 0xf0, 0x76, 0x11, 0x82, 0xc7, 0xf9, + 0x89, 0xb1, 0x72, 0xc7, 0xf8, 0x00, 0x77, 0x11, 0x70, 0x70, 0x31, 0x79, 0xa1, 0x32, 0x01, 0x10, + 0x2d, 0x0f, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x0a, 0x03, 0x02, 0x41, 0x10, 0x0a, 0xc6, 0x80, + 0x00, 0x01, 0x00, 0x08, 0x31, 0x07, 0x2f, 0x01, 0x2d, 0x00, 0x22, 0x41, 0x10, 0x69, 0xf1, 0xc5, + 0xef, 0xff, 0x80, 0x4c, 0x01, 0xdd, 0x02, 0x0c, 0x1c, 0x40, 0x48, 0x31, 0x49, 0xe1, 0x47, 0x2f, + 0x01, 0x0c, 0x0c, 0x28, 0xe1, 0xc0, 0x2f, 0x93, 0x05, 0xee, 0xff, 0x58, 0xb1, 0x20, 0x7d, 0xc0, + 0x00, 0x07, 0x11, 0x00, 0x00, 0x31, 0x57, 0x20, 0x05, 0x32, 0xa0, 0xa8, 0xd7, 0xa3, 0x51, 0x8c, + 0xee, 0x48, 0xd1, 0x58, 0xa1, 0x07, 0x24, 0x08, 0x57, 0x20, 0x05, 0x62, 0xa0, 0xa8, 0xd7, 0xa6, + 0x3f, 0x5c, 0x08, 0x87, 0x22, 0x3a, 0x98, 0xe1, 0x68, 0xf1, 0xc0, 0x9f, 0x93, 0xf7, 0x19, 0x30, + 0x1b, 0xee, 0x00, 0x27, 0x11, 0x0c, 0x2a, 0x1b, 0x90, 0x2b, 0x80, 0x90, 0x89, 0xb3, 0x0d, 0x0a, + 0x80, 0x81, 0x21, 0x80, 0x86, 0xc0, 0x0b, 0x88, 0x80, 0x88, 0x01, 0x80, 0x88, 0x31, 0xa6, 0x28, + 0x01, 0x0d, 0x08, 0xe0, 0xe0, 0x74, 0x20, 0x20, 0x31, 0x29, 0xd1, 0xa2, 0xce, 0xf6, 0x56, 0xba, + 0xf5, 0x08, 0xc1, 0xc8, 0x61, 0x02, 0x00, 0x00, 0xf8, 0x91, 0xf0, 0x30, 0x11, 0x37, 0xad, 0x1f, + 0x9c, 0xce, 0xd0, 0x20, 0xd0, 0x1b, 0x32, 0x2b, 0x22, 0x30, 0x23, 0xb3, 0x20, 0x21, 0x21, 0x00, + 0x22, 0x11, 0x20, 0x20, 0x31, 0xd8, 0x71, 0xe8, 0x81, 0x08, 0x51, 0x12, 0xc1, 0x40, 0x0d, 0xf0, + 0x0c, 0x02, 0xc6, 0xfb, 0xff, 0x00, 0x00, 0x00, 0x8c, 0xa2, 0x26, 0x23, 0x0c, 0x26, 0x33, 0x09, + 0x26, 0x63, 0x06, 0x26, 0x73, 0x03, 0x0c, 0x02, 0x0d, 0xf0, 0x21, 0x17, 0xdf, 0x41, 0x13, 0xdf, + 0x32, 0x02, 0x4e, 0x42, 0x04, 0x4e, 0x22, 0x02, 0x4d, 0x80, 0x44, 0x01, 0x80, 0x33, 0x01, 0x30, + 0x38, 0x31, 0x40, 0x48, 0x31, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0xe6, 0x74, 0xd9, 0x2d, 0x03, + 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xd0, 0x09, 0x11, 0x39, 0x61, 0x69, 0x71, 0x29, 0x01, 0x49, + 0x81, 0xf9, 0x51, 0xd9, 0x31, 0xc9, 0x21, 0xe9, 0x41, 0x0c, 0x0c, 0x1c, 0x8e, 0xd1, 0x94, 0xde, + 0xf8, 0x81, 0x2d, 0x0c, 0x38, 0x01, 0x85, 0x72, 0x00, 0xfa, 0x02, 0x02, 0x00, 0x00, 0x48, 0x61, + 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xf6, 0x8c, 0x04, 0x4a, 0x40, 0x06, 0x02, 0x00, 0x58, 0x71, + 0x4d, 0x05, 0x07, 0xa5, 0x01, 0x4d, 0x00, 0x02, 0xaf, 0x00, 0xd0, 0x3c, 0xa0, 0x40, 0x80, 0x60, + 0x4d, 0x0e, 0x80, 0x88, 0x01, 0x80, 0x88, 0x31, 0x87, 0x2e, 0x01, 0x4d, 0x08, 0x40, 0x50, 0x74, + 0xc0, 0x20, 0x00, 0x22, 0x23, 0xc1, 0x00, 0x22, 0x10, 0x50, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, + 0x63, 0xc1, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0xe7, 0x9c, 0xa7, 0xc8, 0x21, 0xd8, 0x31, 0xe8, 0x41, + 0xf8, 0x51, 0x08, 0x11, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x91, 0xa2, 0xe0, 0x60, + 0x82, 0x01, 0x12, 0xc1, 0xf0, 0x72, 0xa1, 0x00, 0x30, 0x77, 0xc0, 0x69, 0x11, 0x59, 0x01, 0xc9, + 0x31, 0x09, 0x21, 0xcd, 0x02, 0x01, 0xa7, 0xde, 0x51, 0x72, 0xde, 0x61, 0x99, 0xe0, 0x70, 0x70, + 0x74, 0x60, 0x77, 0x11, 0x60, 0x64, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x25, 0xee, 0x90, 0x22, 0x10, + 0x80, 0x22, 0x20, 0x70, 0x22, 0x20, 0x60, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x0c, 0xa3, 0x08, 0x00, + 0x22, 0x65, 0xee, 0x02, 0x20, 0x1c, 0x0c, 0x42, 0xc0, 0x00, 0x00, 0xd0, 0x5c, 0x11, 0xc0, 0x70, + 0x04, 0x0c, 0x16, 0x88, 0x01, 0x0c, 0x04, 0x22, 0x58, 0x00, 0x70, 0x46, 0x83, 0x50, 0x44, 0x20, + 0x80, 0x44, 0x01, 0x51, 0x89, 0xe0, 0xc0, 0x20, 0x00, 0x31, 0x5d, 0xde, 0x22, 0x23, 0xee, 0x50, + 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x01, 0x8f, 0xde, 0x08, 0x00, 0x22, 0x63, 0xee, + 0x0c, 0x42, 0x02, 0x20, 0x1c, 0x0c, 0xa3, 0xc0, 0x00, 0x00, 0x08, 0x21, 0x98, 0x11, 0xc8, 0x31, + 0x22, 0x59, 0x00, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x9d, 0x03, 0x0c, 0x0b, 0x12, 0xc1, 0xb0, 0x69, + 0x91, 0x52, 0x61, 0x10, 0xf9, 0x61, 0x29, 0xc1, 0x09, 0x21, 0xc9, 0x31, 0xd9, 0x41, 0xe9, 0x51, + 0xdd, 0x04, 0x0c, 0x0e, 0x0c, 0x0c, 0xb9, 0xe1, 0x99, 0x11, 0x0c, 0x00, 0x0c, 0x02, 0xf2, 0x21, + 0x10, 0x38, 0xc1, 0x29, 0xf1, 0x09, 0xd1, 0x0c, 0x72, 0x0c, 0x30, 0x32, 0xc3, 0xf4, 0x70, 0x02, + 0x93, 0x30, 0x30, 0x74, 0x39, 0xb1, 0x09, 0xa1, 0xf6, 0x3c, 0x45, 0x4d, 0x0f, 0x01, 0x75, 0xde, + 0x32, 0xa0, 0x80, 0xe0, 0x2e, 0xd1, 0x3a, 0x22, 0x08, 0x00, 0x38, 0xf1, 0x20, 0x28, 0x21, 0x29, + 0x81, 0x02, 0x20, 0x42, 0x3a, 0x22, 0x0c, 0x13, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0xc0, 0x00, + 0x00, 0x4d, 0x0f, 0x38, 0x81, 0x01, 0x6b, 0xde, 0x30, 0x32, 0xc0, 0x08, 0x00, 0x2d, 0x0e, 0x80, + 0x33, 0x01, 0x30, 0x38, 0x31, 0x39, 0xf1, 0x02, 0x20, 0x42, 0x0c, 0x03, 0xc0, 0x00, 0x00, 0xed, + 0x02, 0x22, 0xa0, 0x01, 0x32, 0x21, 0x0b, 0x48, 0x11, 0x5d, 0x01, 0x2b, 0x61, 0xc5, 0xec, 0xff, + 0x72, 0x91, 0x01, 0x52, 0x91, 0x00, 0x0d, 0x07, 0x77, 0xa5, 0x01, 0x0d, 0x05, 0x0c, 0x14, 0x00, + 0x30, 0x11, 0x50, 0x27, 0xc0, 0x50, 0x22, 0x11, 0x30, 0x30, 0x31, 0x00, 0x34, 0x83, 0x05, 0x04, + 0x05, 0x02, 0xc2, 0x10, 0x00, 0x05, 0x21, 0x02, 0x4d, 0x00, 0x8c, 0x9f, 0x28, 0xf1, 0xd6, 0x52, + 0x00, 0x00, 0x30, 0x60, 0x32, 0x4d, 0x00, 0x0c, 0x02, 0x38, 0xc1, 0x48, 0x11, 0x5d, 0x01, 0x2b, + 0x61, 0x85, 0xe8, 0xff, 0x32, 0x91, 0x01, 0x42, 0x91, 0x00, 0x30, 0x24, 0xc0, 0x4a, 0x33, 0x40, + 0x22, 0x11, 0x0c, 0x14, 0x00, 0x33, 0x11, 0x30, 0x30, 0x31, 0x30, 0x34, 0x83, 0x05, 0x00, 0x05, + 0x52, 0xc2, 0x10, 0x50, 0x55, 0x21, 0x52, 0x4d, 0x01, 0x8c, 0x7f, 0xd6, 0x5e, 0x00, 0x50, 0x50, + 0x60, 0x52, 0x4d, 0x01, 0x02, 0x0d, 0x00, 0x28, 0xf1, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xf6, + 0x3c, 0x16, 0x50, 0xee, 0xc0, 0x00, 0x32, 0xc0, 0x80, 0x33, 0x01, 0x80, 0xee, 0x01, 0xe0, 0xe8, + 0x31, 0x30, 0x28, 0x31, 0x29, 0xf1, 0x46, 0x1a, 0x00, 0x28, 0xd1, 0x48, 0xe1, 0x2a, 0x35, 0x4a, + 0x60, 0x80, 0x66, 0x01, 0x80, 0x33, 0x01, 0x30, 0x28, 0x31, 0x60, 0x48, 0x31, 0x49, 0xe1, 0x29, + 0xd1, 0x66, 0x6c, 0x4e, 0x38, 0xf1, 0x28, 0xe1, 0x01, 0x33, 0xde, 0x2b, 0x22, 0x08, 0x00, 0x20, + 0x22, 0x21, 0x20, 0x43, 0xc0, 0x80, 0x44, 0x01, 0x40, 0x38, 0x31, 0x39, 0xf1, 0x38, 0xd1, 0x08, + 0x00, 0x2b, 0x33, 0x30, 0x32, 0x21, 0x39, 0x71, 0x30, 0xee, 0xc0, 0x80, 0xee, 0x01, 0xe0, 0xe8, + 0x31, 0xc0, 0x00, 0x00, 0xe6, 0x52, 0x0e, 0x01, 0x27, 0xde, 0x08, 0x00, 0x08, 0x00, 0x28, 0x71, + 0xc0, 0x00, 0x00, 0xa6, 0x52, 0x0c, 0x31, 0x19, 0xe0, 0x41, 0x3e, 0xde, 0x28, 0x03, 0x40, 0x22, + 0x20, 0x29, 0x03, 0x58, 0x91, 0x9c, 0x95, 0x21, 0x16, 0xe0, 0x42, 0x0d, 0x01, 0x32, 0x0d, 0x00, + 0x80, 0x44, 0x01, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x40, 0x48, 0x31, 0x01, 0xdd, 0xdd, 0xc0, + 0x00, 0x00, 0x58, 0xa1, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0xc0, 0x55, 0xc0, 0x56, 0x85, 0xe7, 0x0c, + 0x13, 0x4d, 0x0f, 0x01, 0x14, 0xde, 0x28, 0xf1, 0x08, 0x00, 0x80, 0x22, 0x01, 0x02, 0x20, 0x42, + 0x20, 0x28, 0x31, 0xc0, 0x00, 0x00, 0x4d, 0x0f, 0x01, 0x0f, 0xde, 0x0c, 0x03, 0x08, 0x00, 0x80, + 0x2e, 0x01, 0x02, 0x20, 0x42, 0x20, 0x28, 0x31, 0xc0, 0x00, 0x00, 0x08, 0x21, 0xc8, 0x31, 0xf8, + 0x61, 0xe2, 0x4d, 0x01, 0x28, 0xf1, 0x22, 0x4d, 0x00, 0xe8, 0x51, 0xd8, 0x41, 0x12, 0xc1, 0x50, + 0x0d, 0xf0, 0x00, 0x00, 0x30, 0x93, 0x20, 0x12, 0xc1, 0xc0, 0xc2, 0x61, 0x09, 0xf2, 0x61, 0x0c, + 0x59, 0xd1, 0x69, 0x31, 0x49, 0x21, 0x09, 0x81, 0xd9, 0xa1, 0xe9, 0xb1, 0xdd, 0x02, 0xed, 0x07, + 0x08, 0x02, 0x99, 0x11, 0x00, 0x01, 0x05, 0x56, 0xa0, 0x18, 0xf8, 0xd1, 0x22, 0xa0, 0x77, 0x0c, + 0x03, 0xc1, 0xf8, 0xdd, 0x1c, 0x04, 0x08, 0x0c, 0x0c, 0x05, 0x02, 0x20, 0x25, 0x0c, 0x06, 0xc0, + 0x00, 0x00, 0x0c, 0x03, 0x0c, 0xf4, 0x0c, 0x65, 0x0c, 0x66, 0x08, 0x0c, 0x29, 0x51, 0x02, 0x20, + 0x25, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x0c, 0x94, 0x0c, 0x75, 0x0c, 0x06, 0x08, + 0x0c, 0x29, 0x61, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, + 0x28, 0x29, 0x71, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x30, 0x0c, 0x12, 0xc0, 0x00, 0x00, + 0x28, 0x21, 0x20, 0x20, 0xb4, 0xc5, 0x64, 0xfb, 0x28, 0x21, 0x3d, 0x01, 0x0c, 0x14, 0xc5, 0x74, + 0xff, 0x08, 0x0c, 0x08, 0x60, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x08, 0xf0, 0x0c, 0x12, + 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0x94, 0x0c, 0x75, 0x08, 0x0c, 0x0c, 0x06, + 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x04, 0x0c, + 0x25, 0x08, 0x0c, 0x0c, 0x26, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x28, 0x31, 0x72, + 0x01, 0x44, 0x3d, 0x0f, 0x2b, 0x41, 0xf2, 0x01, 0x40, 0x5d, 0x0e, 0x6d, 0x0f, 0x85, 0xd1, 0xff, + 0x08, 0x0c, 0x02, 0x20, 0x1b, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, + 0x04, 0x0c, 0x05, 0x0c, 0x06, 0x08, 0x0c, 0x78, 0x51, 0x02, 0x20, 0x27, 0x79, 0x41, 0xc0, 0x00, + 0x00, 0x78, 0x61, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0xf4, 0x08, 0x0c, 0x0c, 0x65, 0x02, 0x20, + 0x27, 0x0c, 0x66, 0xc0, 0x00, 0x00, 0x78, 0x71, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0x94, 0x08, + 0x0c, 0x0c, 0x75, 0x02, 0x20, 0x27, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, + 0x1c, 0x04, 0x0c, 0x25, 0x08, 0x0c, 0x0c, 0x26, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, + 0x0c, 0xf2, 0x42, 0x01, 0x02, 0x7c, 0x10, 0x80, 0x44, 0x01, 0x40, 0x48, 0x31, 0x07, 0x24, 0x01, + 0x0d, 0x04, 0x42, 0x01, 0x03, 0x07, 0x22, 0x01, 0x2d, 0x00, 0x6c, 0x10, 0x22, 0x41, 0x02, 0x80, + 0x44, 0x01, 0x80, 0x32, 0x01, 0x30, 0x38, 0x31, 0x40, 0x48, 0x31, 0x1c, 0xf2, 0x07, 0x24, 0x01, + 0x0d, 0x04, 0x07, 0x22, 0x01, 0x2d, 0x00, 0x22, 0x41, 0x03, 0x80, 0x42, 0x01, 0x40, 0x48, 0x31, + 0x8c, 0xee, 0x58, 0x41, 0x8c, 0xa5, 0x30, 0x30, 0x60, 0x32, 0x41, 0x02, 0x80, 0x33, 0x01, 0x30, + 0x38, 0x31, 0x8c, 0xdf, 0x21, 0x98, 0xdf, 0x01, 0x62, 0xdd, 0xc0, 0x00, 0x00, 0x42, 0x01, 0x03, + 0x32, 0x01, 0x02, 0x30, 0x57, 0x04, 0x80, 0xe3, 0x01, 0xe0, 0xe8, 0x31, 0x16, 0x65, 0x08, 0xe2, + 0xc3, 0x20, 0x06, 0x20, 0x00, 0xc2, 0x13, 0x00, 0xc0, 0xe8, 0x41, 0x80, 0xcc, 0x01, 0xc0, 0xc8, + 0x31, 0x61, 0x28, 0xde, 0x80, 0xae, 0x01, 0xb1, 0x48, 0xde, 0xe0, 0x9c, 0x01, 0xb0, 0x99, 0x20, + 0xe1, 0x12, 0xdf, 0xb1, 0x44, 0xde, 0xc0, 0x20, 0x00, 0x82, 0x2e, 0x98, 0xb0, 0x88, 0x10, 0xa0, + 0x88, 0x20, 0x90, 0x88, 0x20, 0xc0, 0x20, 0x00, 0x82, 0x6e, 0x98, 0x2c, 0x07, 0xc0, 0x20, 0x00, + 0x58, 0xa6, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x59, 0xa6, 0x7c, 0x04, 0x0c, 0x23, 0xc0, 0x20, + 0x00, 0x22, 0x2e, 0x8f, 0x40, 0x22, 0x10, 0x30, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x6e, 0x8f, + 0x02, 0xae, 0x0e, 0x0c, 0x1f, 0xc0, 0x20, 0x00, 0xd2, 0x2e, 0x99, 0x00, 0xdd, 0x10, 0xf0, 0xdd, + 0x20, 0xc0, 0x20, 0x00, 0xc8, 0x91, 0xd2, 0x6e, 0x99, 0xf8, 0xc1, 0xd8, 0xa1, 0xe8, 0xb1, 0x08, + 0x81, 0x12, 0xc1, 0x40, 0x0d, 0xf0, 0x80, 0xf4, 0x01, 0xf0, 0xf8, 0x31, 0x77, 0x64, 0x02, 0xf2, + 0xc4, 0x40, 0x08, 0x0c, 0x80, 0xcf, 0x01, 0x02, 0x20, 0x2a, 0xc0, 0xc8, 0x31, 0xc0, 0x00, 0x00, + 0x31, 0x4e, 0xdd, 0x28, 0x0d, 0x80, 0x4f, 0x01, 0x80, 0x5e, 0x11, 0x40, 0x48, 0x31, 0x50, 0x44, + 0x20, 0x58, 0x11, 0x30, 0x22, 0x20, 0x42, 0x55, 0x00, 0x29, 0x0d, 0x86, 0xd4, 0xff, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0xd9, 0x21, 0xc9, 0x11, 0xe9, 0x31, 0xe1, 0xa0, 0xdd, 0x09, 0x01, 0x08, 0x0e, + 0xc1, 0x65, 0xdd, 0x77, 0xf0, 0x35, 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x0c, 0x04, 0x0c, 0x55, 0x08, + 0x0c, 0x0c, 0x46, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x91, 0x9b, 0xdd, 0xa8, 0x0c, + 0x22, 0x09, 0x01, 0xa2, 0x2a, 0x27, 0x16, 0xd2, 0x04, 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x0c, 0x44, + 0x0c, 0x75, 0x0c, 0x46, 0x0c, 0x17, 0xc0, 0x0a, 0x00, 0x86, 0x12, 0x00, 0xd2, 0x0e, 0x4a, 0x22, + 0xa0, 0x61, 0x0c, 0x13, 0x0c, 0x24, 0x0c, 0x45, 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x7d, + 0x0d, 0xc0, 0x00, 0x00, 0x72, 0x0e, 0x4b, 0x22, 0xa0, 0x66, 0x0c, 0x33, 0x0c, 0x14, 0x08, 0x0c, + 0x0c, 0x55, 0x02, 0x20, 0x27, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, + 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x0c, 0x44, 0x0c, 0x75, + 0x0c, 0x46, 0x0c, 0x27, 0xc0, 0x0a, 0x00, 0x22, 0xa0, 0x68, 0x0c, 0x33, 0x0c, 0x14, 0x0c, 0x05, + 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6a, 0x0c, + 0x23, 0x0c, 0x64, 0x0c, 0x45, 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x0c, 0x87, 0xc0, 0x00, + 0x00, 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x0c, 0x44, 0x0c, 0x05, 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, + 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x0c, 0x34, 0x0c, 0x65, 0x08, + 0x0c, 0x0c, 0x66, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6a, 0x0c, 0x23, + 0x0c, 0x44, 0x0c, 0x35, 0x08, 0x0c, 0x0c, 0x36, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, + 0x22, 0xa0, 0x6a, 0x0c, 0x23, 0x0c, 0x44, 0x0c, 0x35, 0x08, 0x0c, 0x0c, 0x36, 0x02, 0x20, 0x27, + 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x64, 0x01, 0x08, 0xdd, 0xc0, 0x00, 0x00, 0x22, 0xa0, + 0x6a, 0x0c, 0x23, 0x0c, 0x54, 0x08, 0x0c, 0x0c, 0x55, 0x02, 0x20, 0x25, 0x0c, 0x06, 0xc0, 0x00, + 0x00, 0x0c, 0x33, 0x0c, 0x14, 0x0c, 0x05, 0x0c, 0x06, 0x0c, 0x07, 0x08, 0x0c, 0xdd, 0x02, 0x02, + 0x20, 0x27, 0x22, 0xa0, 0x68, 0xc0, 0x00, 0x00, 0x01, 0x54, 0xdd, 0x41, 0x0c, 0xdf, 0x62, 0x00, + 0x01, 0xb6, 0x3d, 0x04, 0x3c, 0xc2, 0xd7, 0xb2, 0x0b, 0x51, 0x07, 0xdd, 0x32, 0x24, 0x00, 0x50, + 0x33, 0x20, 0x32, 0x64, 0x00, 0xbc, 0x56, 0x1c, 0xe3, 0xc0, 0x2d, 0x11, 0x22, 0xc2, 0xd9, 0x05, + 0xb1, 0x04, 0xd0, 0x3d, 0xf0, 0x20, 0xd0, 0x74, 0xd2, 0x4e, 0x4a, 0xe0, 0x23, 0x11, 0x20, 0x20, + 0xf4, 0x0c, 0x93, 0x05, 0xbb, 0x04, 0x61, 0x9d, 0xdd, 0x58, 0x0e, 0x20, 0x40, 0x74, 0x2b, 0x44, + 0x40, 0x42, 0x21, 0x42, 0x4e, 0x4b, 0x60, 0x55, 0x20, 0x59, 0x0e, 0x06, 0xac, 0xff, 0x1c, 0x43, + 0xd0, 0x2d, 0xa0, 0xd0, 0x22, 0x90, 0x22, 0xc2, 0xf2, 0x45, 0xad, 0x04, 0x86, 0xf0, 0xff, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0xc9, 0x11, 0xd9, 0x21, 0xcd, 0x03, 0xdd, 0x02, 0x21, 0x33, 0xdd, + 0x3d, 0x0d, 0x22, 0x02, 0x6e, 0x05, 0x86, 0xff, 0x0d, 0x02, 0x31, 0x33, 0xdd, 0xf6, 0xbd, 0x3a, + 0x51, 0xee, 0xde, 0xd0, 0x4d, 0x90, 0x5a, 0x44, 0xa0, 0x04, 0x00, 0xc6, 0x13, 0x00, 0x06, 0x13, + 0x00, 0x46, 0x1e, 0x00, 0x86, 0x1d, 0x00, 0xc6, 0x10, 0x00, 0x06, 0x10, 0x00, 0x46, 0x1b, 0x00, + 0x86, 0x1a, 0x00, 0x46, 0x18, 0x00, 0x06, 0x16, 0x00, 0xc6, 0x13, 0x00, 0x06, 0x0d, 0x00, 0xc6, + 0x10, 0x00, 0x86, 0x0e, 0x00, 0x46, 0x0c, 0x00, 0x06, 0x0a, 0x00, 0xca, 0x2d, 0x22, 0xd2, 0xff, + 0x22, 0x02, 0xf0, 0xf6, 0x8d, 0x0c, 0x42, 0x03, 0x61, 0xcc, 0x14, 0x22, 0x0c, 0x00, 0x2a, 0x20, + 0x20, 0x20, 0x74, 0xc8, 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x22, 0x03, + 0x63, 0x86, 0xf7, 0xff, 0x22, 0x0c, 0x00, 0x06, 0xf6, 0xff, 0x22, 0x0c, 0x02, 0x86, 0xf4, 0xff, + 0x22, 0x0c, 0x04, 0x06, 0xf3, 0xff, 0x22, 0x0c, 0x06, 0x86, 0xf1, 0xff, 0x22, 0x0c, 0x01, 0x06, + 0xf0, 0xff, 0x22, 0x0c, 0x03, 0x86, 0xee, 0xff, 0x22, 0x0c, 0x05, 0x06, 0xed, 0xff, 0x22, 0x03, + 0x62, 0x86, 0xeb, 0xff, 0x2b, 0x64, 0x82, 0x93, 0x00, 0x00, 0x04, 0x40, 0x80, 0x90, 0xb1, 0x90, + 0x88, 0xc0, 0x00, 0x16, 0x40, 0x8a, 0x82, 0x00, 0x25, 0xa1, 0x00, 0x88, 0x11, 0x80, 0x80, 0x31, + 0x82, 0x53, 0x00, 0x27, 0x28, 0x14, 0x20, 0x48, 0xc0, 0x50, 0x20, 0x60, 0x80, 0x22, 0x01, 0x20, + 0x28, 0x31, 0x42, 0x53, 0x00, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x20, 0x40, 0x60, 0x87, 0x24, + 0xf5, 0x2a, 0x48, 0x80, 0x25, 0x01, 0x20, 0x28, 0x31, 0x46, 0xf9, 0xff, 0x12, 0xc1, 0x90, 0xf2, + 0x61, 0x18, 0x02, 0x61, 0x14, 0x22, 0x61, 0x11, 0x52, 0x61, 0x12, 0x62, 0x61, 0x19, 0xc2, 0x61, + 0x15, 0xe2, 0x61, 0x17, 0xd2, 0x61, 0x16, 0xdd, 0x04, 0xed, 0x03, 0xc1, 0x7c, 0xdc, 0xc0, 0x20, + 0x00, 0xc2, 0x2c, 0xd8, 0x22, 0xa1, 0x38, 0xc0, 0xc8, 0x45, 0xc5, 0x42, 0xff, 0x22, 0x61, 0x13, + 0xf6, 0x8c, 0x0a, 0x7c, 0xf2, 0x20, 0x2c, 0x30, 0x20, 0x20, 0x24, 0x46, 0x00, 0x00, 0x2d, 0x0c, + 0x3d, 0x0e, 0xc5, 0xeb, 0xff, 0xf1, 0x28, 0xde, 0xe1, 0xe5, 0xdc, 0x6c, 0x03, 0x42, 0x21, 0x13, + 0x0d, 0x02, 0x52, 0x21, 0x11, 0x2c, 0x0a, 0x5a, 0x52, 0x52, 0x61, 0x10, 0x52, 0x05, 0x00, 0x2d, + 0x0a, 0xe0, 0x55, 0x11, 0x50, 0x44, 0xc0, 0x00, 0x44, 0x11, 0x40, 0x40, 0x31, 0x37, 0x24, 0x01, + 0x3d, 0x04, 0x09, 0xe1, 0x68, 0x0e, 0x37, 0x2a, 0x01, 0x2d, 0x03, 0x00, 0x82, 0x11, 0x80, 0x80, + 0x31, 0xd7, 0x76, 0x19, 0x09, 0xe1, 0xdc, 0x40, 0x2d, 0x08, 0x89, 0xc1, 0x3d, 0x0f, 0x0c, 0x44, + 0x0c, 0x25, 0xd9, 0xd1, 0xc5, 0xf1, 0xff, 0x0d, 0x02, 0x0c, 0x0d, 0x06, 0x11, 0x00, 0x3d, 0x0d, + 0x2d, 0x08, 0x89, 0xc1, 0xd9, 0xd1, 0x0c, 0x44, 0x0c, 0x25, 0x85, 0xf0, 0xff, 0x98, 0xe1, 0xdd, + 0x02, 0x56, 0x89, 0x2a, 0xa8, 0xc1, 0xe6, 0x1a, 0x02, 0x06, 0xa8, 0x00, 0xa6, 0xba, 0x02, 0x86, + 0xa6, 0x00, 0x56, 0x72, 0x29, 0x02, 0x0f, 0x02, 0x1b, 0x00, 0x00, 0x00, 0x74, 0x02, 0x4f, 0x02, + 0x1c, 0x42, 0x27, 0x90, 0x0b, 0x7c, 0xed, 0x48, 0xd1, 0x0c, 0x03, 0x32, 0x4f, 0x02, 0x32, 0x54, + 0x00, 0x0c, 0x00, 0x62, 0x21, 0x19, 0x8c, 0x6d, 0x0c, 0x05, 0x52, 0x4f, 0x03, 0x52, 0x5f, 0x00, + 0x02, 0x61, 0x1a, 0xbc, 0x36, 0x21, 0x79, 0xde, 0x3d, 0x0c, 0x48, 0xc1, 0x62, 0x9f, 0x00, 0x71, + 0x48, 0xdc, 0x58, 0xd1, 0x70, 0x7c, 0xa0, 0x52, 0x95, 0x00, 0xc0, 0x20, 0x00, 0x82, 0x0e, 0x4e, + 0x72, 0x27, 0xc1, 0x80, 0x88, 0x01, 0x80, 0x77, 0x01, 0x70, 0x78, 0x31, 0x80, 0x88, 0x31, 0x89, + 0x01, 0x01, 0x37, 0xdc, 0xc0, 0x00, 0x00, 0x02, 0x21, 0x1a, 0x62, 0x21, 0x12, 0x16, 0x86, 0x21, + 0xc9, 0xf1, 0xcc, 0x3d, 0xc9, 0xf1, 0x16, 0xf0, 0x20, 0x0c, 0x05, 0xfd, 0x0d, 0xa1, 0xea, 0xdd, + 0x22, 0x0e, 0x78, 0xc2, 0xa0, 0x7f, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x50, 0x95, 0x90, 0x80, + 0x7c, 0x01, 0x70, 0x78, 0x31, 0x1b, 0x55, 0xe0, 0x99, 0x90, 0x92, 0x09, 0x55, 0x50, 0x50, 0x74, + 0x80, 0x99, 0x01, 0x90, 0x98, 0x31, 0x77, 0xa9, 0x01, 0xcd, 0x09, 0x66, 0x45, 0xdd, 0x51, 0xfe, + 0xdc, 0xca, 0xc2, 0x80, 0xcc, 0x01, 0xc0, 0xc8, 0x31, 0x16, 0x8d, 0x09, 0x2c, 0x44, 0xd0, 0x9c, + 0xc0, 0x80, 0x99, 0x01, 0x90, 0x98, 0x31, 0x97, 0xa4, 0x0b, 0x02, 0x61, 0x1a, 0x22, 0x15, 0x00, + 0xb2, 0xa3, 0xe4, 0x27, 0x3b, 0x0e, 0xe6, 0xa9, 0x7b, 0x42, 0x15, 0x00, 0x31, 0x51, 0xde, 0x02, + 0x61, 0x1a, 0x47, 0x33, 0x6f, 0x22, 0xc1, 0x20, 0x31, 0xf0, 0xdc, 0x1c, 0x85, 0x90, 0x55, 0xc0, + 0x52, 0x41, 0x20, 0xc5, 0x19, 0xff, 0x62, 0x0e, 0x79, 0x72, 0x01, 0x20, 0x41, 0x4a, 0xde, 0x21, + 0xea, 0xdc, 0xc0, 0x8d, 0xc0, 0x82, 0xc8, 0x18, 0x22, 0x12, 0x00, 0x32, 0x04, 0x4a, 0x80, 0x77, + 0x01, 0x80, 0x66, 0x01, 0x60, 0x68, 0x31, 0x70, 0x78, 0x31, 0x80, 0x33, 0x01, 0x70, 0x58, 0xc0, + 0x5a, 0x66, 0x30, 0x38, 0x31, 0x80, 0x77, 0xc0, 0x7a, 0xff, 0x5a, 0x33, 0x62, 0x4e, 0x79, 0x32, + 0x44, 0x4a, 0x32, 0xc1, 0x22, 0x0c, 0x04, 0x45, 0x0c, 0xff, 0x21, 0xdb, 0xdc, 0x32, 0xc1, 0x22, + 0x22, 0x12, 0x00, 0xc5, 0x01, 0xff, 0x02, 0x21, 0x1a, 0x51, 0xd7, 0xdc, 0xa1, 0xb7, 0xdd, 0x32, + 0x15, 0x00, 0x32, 0x5e, 0x3b, 0xf0, 0x9c, 0xc0, 0x00, 0xf0, 0x93, 0x80, 0x99, 0x01, 0x90, 0x98, + 0x31, 0x80, 0x4f, 0x01, 0x40, 0xf8, 0x31, 0xd6, 0x4f, 0x00, 0x4c, 0x6b, 0x97, 0xab, 0x0b, 0xe6, + 0x1f, 0x02, 0x46, 0x3d, 0x00, 0xe6, 0xa9, 0x02, 0xc6, 0x3b, 0x00, 0xac, 0x90, 0x0c, 0x8d, 0xb2, + 0x0a, 0x03, 0x7c, 0x89, 0x80, 0xbb, 0x01, 0xb0, 0xb8, 0x31, 0x00, 0xbb, 0xc0, 0xb2, 0x4a, 0x03, + 0x80, 0xbb, 0x01, 0xb0, 0xb8, 0x31, 0x97, 0x2b, 0x01, 0x9d, 0x0b, 0x0d, 0x0d, 0x97, 0x2d, 0x01, + 0x0d, 0x09, 0x02, 0x4a, 0x03, 0xc6, 0x0b, 0x00, 0x32, 0x0e, 0x78, 0x01, 0x1e, 0xde, 0x22, 0x0e, + 0x79, 0xd2, 0x00, 0x4a, 0x80, 0x22, 0x01, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x20, 0x28, 0x31, + 0x80, 0xdd, 0x01, 0xf0, 0x22, 0x80, 0xf0, 0x33, 0xc0, 0x32, 0x4e, 0x78, 0x22, 0x4e, 0x79, 0xd0, + 0xd8, 0x31, 0xf0, 0xdd, 0x80, 0xd2, 0x40, 0x4a, 0x22, 0x0e, 0x4e, 0x32, 0xc1, 0x28, 0x05, 0xd2, + 0xfc, 0x45, 0xe9, 0x00, 0xf2, 0x21, 0x19, 0x51, 0xb0, 0xdc, 0x16, 0xdf, 0x07, 0x21, 0x0e, 0xde, + 0x52, 0x0e, 0x78, 0x32, 0x0e, 0x79, 0x41, 0x0b, 0xde, 0x80, 0x33, 0x01, 0x42, 0x04, 0x4a, 0x80, + 0x55, 0x01, 0x50, 0x58, 0x31, 0x80, 0x44, 0x01, 0x30, 0x38, 0x31, 0x40, 0x48, 0x31, 0xc0, 0x20, + 0x00, 0x88, 0xf1, 0xb2, 0x21, 0x10, 0xd8, 0xc1, 0x71, 0xa4, 0xdc, 0xa1, 0xd1, 0xdb, 0x72, 0x17, + 0x00, 0x62, 0x2a, 0xd8, 0xd9, 0x01, 0xb2, 0x0b, 0x00, 0xb9, 0x11, 0x89, 0x21, 0x92, 0x0e, 0x4e, + 0x80, 0x66, 0x01, 0x80, 0x99, 0x01, 0x90, 0x98, 0x31, 0x99, 0x31, 0x60, 0x68, 0x31, 0x60, 0x60, + 0x60, 0xa0, 0x88, 0xa0, 0xc0, 0x20, 0x00, 0x82, 0x28, 0xc1, 0x01, 0x77, 0xdd, 0x80, 0x88, 0x01, + 0x80, 0x88, 0x31, 0x89, 0x41, 0x02, 0x00, 0x03, 0xc9, 0x61, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, + 0x09, 0x51, 0x01, 0xb7, 0xdb, 0xc0, 0x00, 0x00, 0x51, 0x90, 0xdc, 0x21, 0xf0, 0xdd, 0x32, 0x0e, + 0x79, 0x42, 0x15, 0x00, 0x52, 0x0e, 0x78, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x80, 0x55, 0x01, + 0x50, 0x58, 0x31, 0x01, 0xaf, 0xdb, 0xc0, 0x00, 0x00, 0xc2, 0x21, 0x15, 0xd2, 0x21, 0x16, 0xe2, + 0x21, 0x17, 0xf2, 0x21, 0x18, 0x02, 0x21, 0x14, 0x12, 0xc1, 0x70, 0x0d, 0xf0, 0x0c, 0x00, 0x86, + 0x5a, 0xff, 0x00, 0x00, 0x41, 0x8b, 0xdc, 0x7c, 0xe6, 0x31, 0xa8, 0xdb, 0xc0, 0x20, 0x00, 0x22, + 0x23, 0xd7, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xd7, 0xb1, 0x75, 0xdc, 0xc0, 0x20, + 0x00, 0xa2, 0x23, 0xd7, 0xb0, 0xaa, 0x10, 0xc0, 0x20, 0x00, 0xa2, 0x63, 0xd7, 0xc0, 0x20, 0x00, + 0x92, 0x23, 0xd4, 0x60, 0x99, 0x10, 0xc0, 0x20, 0x00, 0x92, 0x63, 0xd4, 0x0c, 0x28, 0xc0, 0x20, + 0x00, 0x72, 0x23, 0xd8, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x63, 0xd8, 0xc0, 0x20, 0x00, + 0x52, 0x23, 0xd8, 0x60, 0x55, 0x10, 0xc0, 0x20, 0x00, 0x52, 0x63, 0xd8, 0x0c, 0x14, 0xc0, 0x20, + 0x00, 0x22, 0x23, 0xd8, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xd8, 0x0d, 0xf0, 0x00, + 0x12, 0xc1, 0xe0, 0x02, 0x61, 0x06, 0x01, 0x04, 0xdc, 0xc2, 0x61, 0x07, 0x02, 0x00, 0x64, 0x30, + 0xc3, 0x20, 0x00, 0x00, 0x04, 0x56, 0x50, 0x0b, 0x01, 0xfd, 0xdb, 0x31, 0x88, 0xdb, 0xc0, 0x20, + 0x00, 0x42, 0x23, 0xd4, 0xf7, 0xf4, 0x5f, 0xc0, 0x20, 0x00, 0x62, 0x23, 0xd4, 0x71, 0x3a, 0xdd, + 0x60, 0x68, 0x25, 0x56, 0x06, 0x05, 0x72, 0x07, 0x04, 0x56, 0xa7, 0x04, 0x32, 0x00, 0x4e, 0x29, + 0x51, 0xb6, 0x73, 0x02, 0xc6, 0x23, 0x00, 0x41, 0xf1, 0xdb, 0x0b, 0x23, 0x52, 0x94, 0x06, 0x42, + 0x94, 0x07, 0x59, 0x41, 0x50, 0x34, 0xc0, 0x30, 0x22, 0x82, 0x0c, 0x53, 0x05, 0x5a, 0x04, 0x08, + 0x41, 0x2a, 0x00, 0x86, 0x00, 0x00, 0x60, 0x06, 0x20, 0x10, 0x21, 0x20, 0x31, 0x24, 0xdd, 0x00, + 0x40, 0x11, 0x40, 0x40, 0x31, 0xc5, 0x9d, 0xfc, 0x2d, 0x01, 0x31, 0x25, 0xdd, 0x41, 0xa8, 0xdd, + 0x58, 0x51, 0x6d, 0x0c, 0x45, 0xba, 0xff, 0xc5, 0xf0, 0xff, 0x31, 0x23, 0xdd, 0x0c, 0x02, 0x01, + 0xa5, 0xdb, 0x22, 0x43, 0x04, 0x21, 0x9f, 0xdd, 0x08, 0x00, 0x22, 0x02, 0x4a, 0x08, 0x00, 0x80, + 0x22, 0x01, 0x20, 0x28, 0x31, 0xc0, 0x00, 0x00, 0xa6, 0x82, 0x22, 0x2d, 0x0c, 0x51, 0x99, 0xdd, + 0x0c, 0x04, 0x42, 0x45, 0x4a, 0x05, 0x69, 0xfe, 0x61, 0xd5, 0xdb, 0x32, 0x26, 0x1c, 0x1b, 0x33, + 0x32, 0x66, 0x1c, 0x8c, 0x7c, 0x21, 0x97, 0xdd, 0x01, 0x5a, 0xdb, 0xc0, 0x00, 0x00, 0xc8, 0x71, + 0x08, 0x61, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0xf6, 0xa3, 0x22, 0x41, 0xcc, 0xdb, 0x22, 0xc3, 0xfa, + 0x52, 0x94, 0x07, 0x42, 0x94, 0x08, 0x52, 0x61, 0x03, 0x50, 0x34, 0xc0, 0x30, 0x22, 0x82, 0x32, + 0xa0, 0x05, 0xc5, 0x50, 0x04, 0x02, 0x21, 0x03, 0x2a, 0x00, 0xc6, 0xda, 0xff, 0x62, 0x90, 0x09, + 0x22, 0xa0, 0x0d, 0x37, 0xb2, 0x02, 0x06, 0xd7, 0xff, 0x30, 0x23, 0xa0, 0x31, 0xc0, 0xdb, 0x22, + 0xc2, 0xc9, 0x32, 0x93, 0x08, 0x32, 0x61, 0x02, 0x30, 0x36, 0xc0, 0x30, 0x22, 0x82, 0x32, 0xa0, + 0x16, 0xc5, 0x4d, 0x04, 0x08, 0x21, 0x2a, 0x00, 0x46, 0xcf, 0xff, 0x00, 0x91, 0x44, 0xdb, 0x81, + 0x33, 0xdd, 0x0c, 0x0b, 0x12, 0xc1, 0xf0, 0xc9, 0x11, 0x09, 0x01, 0xd9, 0x21, 0x0c, 0x00, 0xd2, + 0xa0, 0xff, 0x7c, 0xfc, 0x90, 0x60, 0xa0, 0x20, 0x70, 0x90, 0x5d, 0x0d, 0xad, 0x0b, 0xc0, 0x20, + 0x00, 0x32, 0xa1, 0x17, 0x62, 0x26, 0xe0, 0x1b, 0x00, 0x00, 0x00, 0x74, 0xc0, 0x66, 0x30, 0x60, + 0x40, 0x74, 0x42, 0xc4, 0xeb, 0x60, 0x60, 0xa4, 0x62, 0x57, 0x00, 0x40, 0xa4, 0xb3, 0x30, 0xaa, + 0x82, 0x80, 0x36, 0x10, 0xa0, 0xa8, 0x21, 0xa7, 0x2d, 0x01, 0x5d, 0x0a, 0x3a, 0x35, 0x32, 0x57, + 0x00, 0x66, 0x80, 0xbf, 0xc8, 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, + 0x12, 0xc1, 0xe0, 0x09, 0x61, 0x39, 0x41, 0x29, 0x51, 0x7c, 0xd5, 0x21, 0x28, 0xdb, 0xc0, 0x20, + 0x00, 0x42, 0x22, 0xd4, 0x50, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x62, 0xd4, 0x0c, 0x23, 0xc0, + 0x20, 0x00, 0x02, 0x22, 0xd4, 0x30, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0xd4, 0x1c, 0x92, + 0x01, 0x3e, 0xdb, 0xc0, 0x00, 0x00, 0x2d, 0x01, 0x05, 0xf6, 0xff, 0x28, 0x51, 0x02, 0x11, 0x03, + 0x42, 0x11, 0x02, 0x32, 0x11, 0x01, 0x92, 0x11, 0x07, 0x72, 0x11, 0x05, 0x62, 0x11, 0x04, 0x82, + 0x11, 0x06, 0x7a, 0x66, 0x9a, 0x88, 0x4a, 0x33, 0x3a, 0x00, 0x80, 0x88, 0x90, 0x60, 0x66, 0x90, + 0x60, 0x60, 0xf4, 0x80, 0x70, 0xf4, 0xf0, 0x90, 0x11, 0x90, 0x90, 0xf4, 0x77, 0x39, 0x05, 0x80, + 0x80, 0xd0, 0x46, 0x00, 0x00, 0x0c, 0x08, 0x82, 0x52, 0x00, 0x08, 0x41, 0x77, 0x36, 0x05, 0x70, + 0x26, 0xc0, 0x46, 0x00, 0x00, 0x0c, 0x02, 0x22, 0x50, 0x00, 0x08, 0x61, 0x12, 0xc1, 0x20, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x30, 0x40, 0xf4, 0x12, 0xc1, 0xc0, 0xc9, 0x61, 0xe9, 0x81, 0xf9, 0x91, + 0x59, 0xd1, 0x69, 0x41, 0x0c, 0x13, 0xd9, 0x71, 0xd1, 0x3b, 0xdb, 0x09, 0x51, 0x08, 0x0d, 0x29, + 0x31, 0x02, 0x20, 0x2b, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0x28, 0xd1, 0xc1, 0xfc, 0xda, 0x16, 0x52, + 0x12, 0x4c, 0x0f, 0x0c, 0x1e, 0xd2, 0xc2, 0xfc, 0x4c, 0x07, 0x1c, 0xc8, 0x0c, 0x09, 0x0c, 0x0a, + 0x0c, 0x0b, 0xb9, 0x21, 0xa9, 0xb1, 0x99, 0xc1, 0x89, 0x11, 0x79, 0x01, 0xd9, 0xa1, 0x0c, 0x0d, + 0x0c, 0x12, 0x01, 0x2c, 0xdb, 0x0c, 0x23, 0x08, 0x00, 0x48, 0x01, 0x02, 0x20, 0x2b, 0x40, 0x40, + 0xf4, 0xc0, 0x00, 0x00, 0x01, 0x28, 0xdb, 0x0c, 0x02, 0x08, 0x00, 0x0c, 0x23, 0x02, 0x20, 0x2b, + 0xf0, 0x40, 0xf4, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x31, 0x23, 0xdd, 0x32, 0x6c, 0xd3, 0xc0, + 0x20, 0x00, 0x21, 0x22, 0xdd, 0x22, 0x6c, 0xd3, 0x0c, 0x22, 0x01, 0x03, 0xdb, 0xc0, 0x00, 0x00, + 0x08, 0x01, 0x38, 0x11, 0x88, 0x21, 0x71, 0xd8, 0xdb, 0x52, 0xa0, 0x7f, 0x4d, 0x0d, 0xc0, 0x20, + 0x00, 0x62, 0x2c, 0xd3, 0x60, 0x68, 0x75, 0x60, 0x4e, 0x83, 0x56, 0xe4, 0xfe, 0xc0, 0x20, 0x00, + 0x92, 0x2c, 0xd3, 0x0c, 0x1b, 0x90, 0x9f, 0x05, 0xb0, 0x99, 0x30, 0xc0, 0x20, 0x00, 0x22, 0x2c, + 0xd3, 0x0c, 0x0a, 0x70, 0x22, 0x10, 0x20, 0xab, 0x83, 0x9c, 0x29, 0x9d, 0x05, 0xfa, 0xf3, 0x00, + 0xff, 0x11, 0xf0, 0xf0, 0x31, 0xf7, 0x25, 0x01, 0x9d, 0x0f, 0xfd, 0x09, 0x46, 0x03, 0x00, 0x30, + 0x2f, 0xc0, 0xfd, 0x0d, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x20, 0xf2, 0xb3, 0x9c, 0x2a, 0x9d, + 0x05, 0x0a, 0x03, 0x00, 0x00, 0x11, 0x00, 0x00, 0x31, 0x07, 0x25, 0x01, 0x9d, 0x00, 0x0d, 0x09, + 0x46, 0x03, 0x00, 0x30, 0x20, 0xc0, 0x0d, 0x0d, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x20, 0x02, + 0xb3, 0x09, 0x01, 0x48, 0xa1, 0x72, 0xc3, 0xfe, 0x30, 0x61, 0x21, 0x1b, 0x66, 0x0c, 0x13, 0x80, + 0x66, 0x01, 0x60, 0x68, 0x31, 0x70, 0x36, 0x93, 0x39, 0x11, 0x47, 0x28, 0x17, 0x78, 0xb1, 0xa8, + 0xc1, 0x0a, 0x97, 0xfa, 0xba, 0x00, 0xbb, 0x11, 0x00, 0x99, 0x11, 0x90, 0x70, 0x31, 0xb0, 0xa0, + 0x31, 0xa9, 0xc1, 0x79, 0xb1, 0xa8, 0xd1, 0x1b, 0x88, 0x80, 0x80, 0x74, 0x89, 0x21, 0x80, 0xaa, + 0xc0, 0x56, 0xba, 0xef, 0xc6, 0x01, 0x00, 0x0c, 0x09, 0x0c, 0x0a, 0xa9, 0xb1, 0x99, 0xc1, 0x0c, + 0x12, 0x0c, 0x23, 0xf8, 0xb1, 0xd1, 0xe7, 0xda, 0x2b, 0xff, 0x08, 0x0d, 0xf0, 0x42, 0xf4, 0x02, + 0x20, 0x2b, 0xf0, 0xf2, 0x21, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x23, 0xe8, 0xc1, 0x08, 0x0d, + 0x2b, 0xee, 0xe0, 0x42, 0xf4, 0x02, 0x20, 0x2b, 0xe0, 0xe2, 0x21, 0xc0, 0x00, 0x00, 0x0c, 0x12, + 0x08, 0x0d, 0x0c, 0x13, 0x02, 0x20, 0x2b, 0x42, 0xa0, 0x7f, 0xc0, 0x00, 0x00, 0x41, 0xdc, 0xdc, + 0xc0, 0x20, 0x00, 0x28, 0x31, 0x38, 0x41, 0x42, 0x6c, 0xd3, 0xe2, 0x43, 0x00, 0xf2, 0x43, 0x01, + 0x9c, 0xf2, 0x91, 0xc2, 0xda, 0xe0, 0x7e, 0x01, 0x70, 0x8f, 0x01, 0x61, 0x53, 0xdc, 0xc0, 0x20, + 0x00, 0x52, 0x26, 0x99, 0x90, 0x55, 0x10, 0x80, 0x55, 0x20, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, + 0x52, 0x66, 0x99, 0xc8, 0x61, 0xd8, 0x71, 0xe8, 0x81, 0xf8, 0x91, 0x08, 0x51, 0x12, 0xc1, 0x40, + 0x0d, 0xf0, 0x00, 0x00, 0x0c, 0x04, 0x8b, 0x52, 0x22, 0xa0, 0x7f, 0x30, 0x55, 0xe0, 0x00, 0x55, + 0x11, 0x50, 0x50, 0x31, 0x50, 0x45, 0xb3, 0x00, 0x44, 0x11, 0x40, 0x30, 0x31, 0xe6, 0xe3, 0x01, + 0x2d, 0x03, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x0d, 0xf0, 0x00, 0x00, 0x0c, 0x07, 0x12, 0xc1, + 0xb0, 0xe9, 0x81, 0xf9, 0x91, 0xd9, 0x71, 0x09, 0x51, 0xc9, 0x61, 0x69, 0xa1, 0x49, 0xe1, 0x52, + 0x61, 0x10, 0x0c, 0x94, 0x0c, 0x75, 0x0c, 0x06, 0xcd, 0x03, 0x01, 0xb6, 0xda, 0xdd, 0x02, 0x08, + 0x00, 0x22, 0xa0, 0x77, 0x02, 0x20, 0x27, 0x0c, 0x03, 0xc0, 0x00, 0x00, 0x4d, 0x0c, 0x3d, 0x0d, + 0x0c, 0x05, 0x0c, 0x06, 0x01, 0xb0, 0xda, 0x0c, 0x02, 0x29, 0x01, 0x29, 0x11, 0x29, 0x21, 0x08, + 0x00, 0x0c, 0x07, 0x02, 0x20, 0x1a, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x33, 0x52, + 0x01, 0x10, 0x59, 0xb1, 0x39, 0xc1, 0x0c, 0x0d, 0x0c, 0x0f, 0x98, 0xa1, 0x0c, 0x08, 0x8c, 0x4c, + 0x26, 0x1c, 0x09, 0x66, 0x2c, 0x0a, 0x0c, 0x76, 0x69, 0xb1, 0xc6, 0x00, 0x00, 0x0c, 0xf7, 0x79, + 0xb1, 0xa8, 0xb1, 0xca, 0x99, 0x99, 0xd1, 0x82, 0x49, 0x00, 0x1b, 0xaa, 0xa9, 0xf1, 0xbc, 0xac, + 0x26, 0x1c, 0x1d, 0x66, 0x2c, 0x53, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x24, 0x01, 0x99, 0xda, + 0x0c, 0x65, 0x08, 0x00, 0x0c, 0x46, 0x02, 0x20, 0x27, 0x7d, 0x0d, 0xc0, 0x00, 0x00, 0x06, 0x0e, + 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x24, 0x01, 0x93, 0xda, 0x0c, 0x35, 0x08, 0x00, 0x0c, + 0x06, 0x02, 0x20, 0x27, 0x7d, 0x0d, 0xc0, 0x00, 0x00, 0x46, 0x07, 0x00, 0x22, 0xa0, 0x6b, 0x0c, + 0x23, 0x0c, 0x14, 0x0c, 0x35, 0x0c, 0x06, 0x01, 0x8b, 0xda, 0x0c, 0x17, 0x08, 0x00, 0x70, 0x7d, + 0x90, 0x02, 0x20, 0x27, 0x70, 0x70, 0x74, 0xc0, 0x00, 0x00, 0x01, 0x86, 0xda, 0x08, 0x00, 0x28, + 0xe1, 0x02, 0x20, 0x1c, 0x0c, 0xa3, 0xc0, 0x00, 0x00, 0xed, 0x02, 0x22, 0x21, 0x10, 0x8c, 0xb2, + 0x21, 0x85, 0xdc, 0x3d, 0x0d, 0x4d, 0x0e, 0x01, 0x42, 0xda, 0xc0, 0x00, 0x00, 0xe7, 0xaf, 0x0e, + 0xfd, 0x0e, 0x48, 0xd1, 0x0c, 0x13, 0x30, 0x3d, 0x90, 0xc0, 0x3d, 0x93, 0x32, 0x44, 0x00, 0x48, + 0xf1, 0x1b, 0xdd, 0xd0, 0xd0, 0x74, 0xd0, 0x44, 0xc0, 0x56, 0x14, 0xf6, 0xe2, 0x21, 0x10, 0x8c, + 0xee, 0x21, 0x79, 0xdc, 0x48, 0xd1, 0x3d, 0x0c, 0x42, 0x04, 0x00, 0x01, 0x35, 0xda, 0xc0, 0x00, + 0x00, 0xac, 0x2c, 0x26, 0x1c, 0x65, 0x66, 0x2c, 0x38, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x24, + 0x0c, 0x65, 0x01, 0x6c, 0xda, 0x0c, 0x46, 0x08, 0x00, 0x78, 0xd1, 0x02, 0x20, 0x27, 0x72, 0x07, + 0x00, 0xc0, 0x00, 0x00, 0x86, 0x06, 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0x14, 0x0c, 0x35, + 0x01, 0x65, 0xda, 0x0c, 0x06, 0x08, 0x00, 0x78, 0xd1, 0x02, 0x20, 0x27, 0x72, 0x07, 0x00, 0xc0, + 0x00, 0x00, 0x28, 0xc1, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x0b, 0x22, 0x29, 0xc1, 0x56, 0x52, 0xed, + 0x01, 0x5d, 0xda, 0x08, 0x00, 0x02, 0x20, 0x1b, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0xc8, 0x61, 0xd8, + 0x71, 0xe8, 0x81, 0xf8, 0x91, 0x08, 0x51, 0x12, 0xc1, 0x50, 0x0d, 0xf0, 0x22, 0xa0, 0x6b, 0x0c, + 0x23, 0x0c, 0x24, 0x0c, 0x35, 0x01, 0x53, 0xda, 0x0c, 0x06, 0x08, 0x00, 0x78, 0xd1, 0x02, 0x20, + 0x27, 0x72, 0x07, 0x00, 0xc0, 0x00, 0x00, 0xc6, 0xed, 0xff, 0x00, 0x00, 0x12, 0xc1, 0xa0, 0xf9, + 0x81, 0x09, 0x41, 0xd9, 0x61, 0xc9, 0x51, 0xe9, 0x71, 0x79, 0xd1, 0x59, 0xe1, 0x39, 0xb1, 0x49, + 0xc1, 0x0c, 0x03, 0x0c, 0x94, 0x0c, 0x75, 0x0c, 0x07, 0xed, 0x06, 0xc1, 0x46, 0xda, 0xdd, 0x02, + 0x08, 0x0c, 0x22, 0xa0, 0x77, 0x02, 0x20, 0x27, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x28, 0xc1, 0x16, + 0x72, 0x15, 0xf2, 0xaf, 0x80, 0x0c, 0x0b, 0xe0, 0x60, 0x24, 0xe0, 0x53, 0x14, 0xd9, 0x91, 0x32, + 0x11, 0x30, 0x42, 0x01, 0x64, 0x0c, 0x08, 0x82, 0x61, 0x15, 0x49, 0xa1, 0x32, 0x61, 0x14, 0xd2, + 0xa0, 0x7f, 0x50, 0x55, 0x90, 0x0c, 0x0e, 0x60, 0x55, 0x90, 0x50, 0x50, 0x74, 0x59, 0xf1, 0xa2, + 0x21, 0x15, 0x98, 0xb1, 0xb2, 0x61, 0x12, 0xaa, 0x99, 0xa8, 0xe1, 0x92, 0x09, 0x00, 0x92, 0x61, + 0x11, 0xa0, 0x99, 0xc0, 0x92, 0x61, 0x10, 0x32, 0x21, 0x10, 0x28, 0xf1, 0xe0, 0x33, 0xc0, 0x80, + 0x33, 0x01, 0x30, 0x38, 0x31, 0xc5, 0xd8, 0xff, 0x0c, 0x00, 0x20, 0x02, 0xb3, 0x80, 0xc0, 0x01, + 0xc0, 0xc8, 0x31, 0xc7, 0xad, 0x04, 0x0b, 0xcd, 0x06, 0x01, 0x00, 0xf7, 0xac, 0x01, 0x1b, 0xcf, + 0x0c, 0x12, 0x38, 0x91, 0xc0, 0x40, 0x74, 0x0c, 0x05, 0x01, 0x22, 0xda, 0x0c, 0x06, 0x69, 0x01, + 0x69, 0x11, 0x69, 0x21, 0x08, 0x00, 0x0c, 0x07, 0x02, 0x20, 0x1a, 0x0c, 0x06, 0xc0, 0x00, 0x00, + 0x01, 0x1d, 0xda, 0x08, 0x00, 0x08, 0xb0, 0x22, 0x21, 0x14, 0xc0, 0x00, 0x00, 0x01, 0x19, 0xda, + 0x08, 0x00, 0x22, 0x61, 0x13, 0x08, 0xb0, 0x22, 0x21, 0x14, 0xc0, 0x00, 0x00, 0x02, 0x21, 0x13, + 0x62, 0x21, 0x11, 0x2a, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x31, 0x4b, 0x00, 0x00, 0x03, 0x21, + 0x60, 0x60, 0xc0, 0x00, 0x66, 0x11, 0x60, 0x60, 0x31, 0xe6, 0x16, 0x08, 0x80, 0xdc, 0x01, 0xd0, + 0xd8, 0x31, 0x46, 0x01, 0x00, 0x80, 0xfc, 0x01, 0xf0, 0xf8, 0x31, 0xac, 0x46, 0x26, 0x06, 0x22, + 0x80, 0x2c, 0x01, 0x20, 0x28, 0x31, 0xcc, 0x12, 0x96, 0x76, 0x01, 0x1b, 0x3f, 0x37, 0x1d, 0x12, + 0x42, 0x21, 0x12, 0xea, 0xe6, 0x1b, 0x54, 0x50, 0x40, 0x74, 0x42, 0x61, 0x12, 0x42, 0xc4, 0xf6, + 0x56, 0x34, 0xf4, 0x98, 0xa1, 0xb2, 0x21, 0x15, 0x78, 0xe1, 0xa8, 0xd1, 0x70, 0x7c, 0xc0, 0xba, + 0xaa, 0x80, 0x67, 0x01, 0x60, 0x68, 0x31, 0x72, 0x4a, 0x00, 0x6c, 0x87, 0x77, 0xa6, 0x06, 0x6c, + 0x86, 0x6c, 0x88, 0x82, 0x4a, 0x00, 0x9c, 0x39, 0x42, 0x21, 0x11, 0x21, 0xfc, 0xdb, 0x32, 0x21, + 0x15, 0x80, 0x50, 0x01, 0x50, 0x58, 0x31, 0x10, 0x11, 0x20, 0x45, 0x88, 0x01, 0xf2, 0xaf, 0x80, + 0xd2, 0xa0, 0x7f, 0x0c, 0x0e, 0x0c, 0x0b, 0x72, 0x21, 0x15, 0x68, 0xc1, 0x1b, 0x87, 0x80, 0x70, + 0x74, 0x72, 0x61, 0x15, 0x70, 0x66, 0xc0, 0x56, 0x46, 0xed, 0xc1, 0xea, 0xd9, 0x3c, 0x29, 0x38, + 0xd1, 0x28, 0xc1, 0xa2, 0x03, 0x00, 0x3a, 0x22, 0x80, 0xaa, 0x01, 0x22, 0xc2, 0x80, 0x02, 0x02, + 0x7f, 0xa0, 0xa8, 0x31, 0x80, 0x00, 0x01, 0x00, 0x08, 0x31, 0xa0, 0xa0, 0xc0, 0xa7, 0xa9, 0x05, + 0x42, 0xc0, 0xce, 0x42, 0x43, 0x00, 0x61, 0x1c, 0xda, 0x62, 0x06, 0x5e, 0xbc, 0x66, 0x58, 0xc1, + 0x0b, 0x55, 0xa6, 0x15, 0x30, 0x61, 0x15, 0xda, 0x0c, 0x07, 0x48, 0xc1, 0x72, 0x61, 0x15, 0x6a, + 0x44, 0x82, 0x21, 0x15, 0xb2, 0x04, 0x67, 0x6a, 0xd8, 0xd2, 0x0d, 0x68, 0xa2, 0x02, 0x7f, 0xd0, + 0xbb, 0xc0, 0xba, 0xaa, 0xb8, 0xd1, 0x1b, 0x98, 0x8a, 0xbb, 0xa2, 0x4b, 0x00, 0x90, 0x80, 0x74, + 0x82, 0x61, 0x15, 0x87, 0x95, 0xda, 0x08, 0x0c, 0x02, 0x20, 0x1b, 0x0c, 0x12, 0xc0, 0x00, 0x00, + 0xc8, 0x51, 0xd8, 0x61, 0xe8, 0x71, 0xf8, 0x81, 0x08, 0x41, 0x12, 0xc1, 0x60, 0x0d, 0xf0, 0x00, + 0x82, 0xc2, 0xfe, 0x12, 0xc1, 0xa0, 0xc2, 0x61, 0x0a, 0xe2, 0x61, 0x0c, 0xf9, 0xd1, 0x09, 0x91, + 0x69, 0xe1, 0x52, 0x61, 0x13, 0xd9, 0xb1, 0x89, 0x11, 0xd1, 0x8d, 0xd9, 0xc0, 0x20, 0x00, 0x92, + 0x2d, 0xe0, 0x00, 0x08, 0x40, 0x90, 0x90, 0xb1, 0xc0, 0x20, 0x00, 0xa2, 0x2d, 0xe3, 0x00, 0x08, + 0x40, 0xa0, 0xa0, 0xb1, 0xa0, 0xf9, 0xc0, 0xc0, 0x20, 0x00, 0x62, 0x2d, 0xe2, 0x00, 0x08, 0x40, + 0x60, 0x60, 0xb1, 0xc0, 0x20, 0x00, 0x79, 0x01, 0x02, 0x2d, 0xe1, 0x00, 0x08, 0x40, 0xaa, 0x99, + 0x2d, 0x09, 0x88, 0xe1, 0x00, 0x00, 0xb1, 0x0a, 0xe6, 0x80, 0x85, 0x30, 0x60, 0x00, 0xc0, 0xcd, + 0x00, 0x40, 0x63, 0x30, 0x80, 0x66, 0x30, 0x60, 0x60, 0x74, 0x8c, 0x66, 0xcd, 0x0e, 0x2d, 0x0f, + 0xed, 0x00, 0xfd, 0x09, 0x22, 0x61, 0x10, 0xc0, 0xdf, 0x31, 0x4d, 0x02, 0x20, 0x5f, 0x31, 0x59, + 0xf1, 0x3d, 0x05, 0xc5, 0xb9, 0x02, 0x5d, 0x0d, 0x4d, 0x0c, 0x39, 0x31, 0x29, 0x41, 0x3d, 0x0d, + 0x2d, 0x0c, 0xc5, 0xb8, 0x02, 0x0c, 0x06, 0x0c, 0x10, 0x0c, 0x07, 0x58, 0x31, 0xb8, 0x41, 0x3a, + 0x55, 0x2a, 0x4b, 0x40, 0x70, 0x83, 0xb7, 0xb4, 0x01, 0x1b, 0x55, 0xbd, 0x04, 0xad, 0x05, 0x50, + 0x60, 0x83, 0x77, 0x06, 0x03, 0xbd, 0x00, 0x0c, 0x0a, 0xf0, 0x4f, 0x20, 0xf2, 0x61, 0x06, 0xe2, + 0x61, 0x12, 0x38, 0xf1, 0x22, 0x21, 0x10, 0xa2, 0x61, 0x14, 0xb2, 0x61, 0x15, 0xe0, 0x8f, 0x31, + 0xf0, 0x5f, 0x31, 0x59, 0x51, 0x82, 0x61, 0x11, 0x45, 0xb4, 0x02, 0xe2, 0x21, 0x15, 0xf2, 0x21, + 0x14, 0x52, 0x21, 0x11, 0x42, 0x21, 0x12, 0x39, 0x71, 0x29, 0x81, 0x3d, 0x0d, 0x2d, 0x0c, 0x05, + 0xb3, 0x02, 0x08, 0x71, 0x30, 0x00, 0xc0, 0x38, 0x81, 0x20, 0xa3, 0xc0, 0xa7, 0xb3, 0x01, 0x0b, + 0x00, 0x70, 0x2a, 0x11, 0xf0, 0x5f, 0x20, 0x4d, 0x0e, 0x10, 0x47, 0x40, 0xa0, 0x30, 0x81, 0x85, + 0xb4, 0x02, 0x38, 0x01, 0x80, 0x42, 0x01, 0x58, 0xe1, 0x40, 0x48, 0x31, 0x1b, 0x44, 0x40, 0x41, + 0x21, 0x40, 0x20, 0x60, 0x50, 0x24, 0x83, 0x58, 0x51, 0x48, 0x61, 0x22, 0x43, 0x00, 0x29, 0x21, + 0x3d, 0x0d, 0x2d, 0x0c, 0x85, 0xae, 0x02, 0x52, 0x21, 0x11, 0x42, 0x21, 0x12, 0xdd, 0x03, 0xcd, + 0x02, 0x38, 0xf1, 0x22, 0x21, 0x10, 0x85, 0xad, 0x02, 0x3a, 0x0d, 0x2a, 0x2c, 0xc7, 0xb2, 0x01, + 0x1b, 0x00, 0xe0, 0x4e, 0x20, 0xf0, 0x5f, 0x20, 0xc8, 0x01, 0x10, 0x47, 0x40, 0xd2, 0x21, 0x13, + 0x20, 0x30, 0x81, 0x70, 0x22, 0x11, 0x05, 0xaf, 0x02, 0x52, 0x01, 0x60, 0x80, 0x62, 0x01, 0x60, + 0x68, 0x31, 0x1b, 0x66, 0x60, 0x61, 0x21, 0x60, 0x00, 0x60, 0xd0, 0x06, 0x83, 0x02, 0x4c, 0x01, + 0xac, 0x35, 0x21, 0x6f, 0xdb, 0xc0, 0x20, 0x00, 0x31, 0x32, 0xd9, 0x48, 0x11, 0x80, 0x50, 0x01, + 0x50, 0x58, 0x31, 0x00, 0x04, 0x40, 0x32, 0x23, 0xf9, 0x48, 0x21, 0x30, 0x30, 0xb1, 0x80, 0x44, + 0x01, 0x40, 0x48, 0x31, 0x85, 0x63, 0x01, 0xc8, 0xa1, 0xd8, 0xb1, 0xe8, 0xc1, 0xf8, 0xd1, 0x08, + 0x91, 0x12, 0xc1, 0x60, 0x0d, 0xf0, 0x00, 0x00, 0x9d, 0x03, 0x12, 0xc1, 0xb0, 0x79, 0x71, 0x49, + 0x51, 0x62, 0x61, 0x12, 0x52, 0x61, 0x11, 0x09, 0x81, 0x22, 0x61, 0x10, 0xf9, 0xc1, 0xd9, 0xa1, + 0xe9, 0xb1, 0xc9, 0x91, 0x0c, 0x0e, 0x0c, 0x0c, 0xd1, 0x53, 0xd9, 0xf2, 0x01, 0x54, 0x99, 0x61, + 0x0c, 0x22, 0x02, 0x21, 0x10, 0x22, 0x61, 0x13, 0x52, 0x21, 0x12, 0x62, 0x21, 0x11, 0x62, 0x41, + 0x10, 0x52, 0x41, 0x11, 0x0c, 0x12, 0x00, 0x10, 0x40, 0x00, 0x22, 0xa1, 0x02, 0x01, 0x58, 0x09, + 0xe1, 0x20, 0x20, 0xf4, 0x29, 0xd1, 0x0c, 0x14, 0x5d, 0x0f, 0x32, 0xa0, 0x80, 0x08, 0x0d, 0xc0, + 0x2c, 0xd1, 0x02, 0x20, 0x3e, 0x3a, 0x22, 0x20, 0x28, 0x21, 0x32, 0xc1, 0x10, 0x29, 0xf1, 0x20, + 0x2e, 0xc0, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0xc0, 0x00, 0x00, 0x32, 0xc1, 0x11, 0x0c, 0x04, + 0x5d, 0x0f, 0x08, 0x0d, 0xed, 0x02, 0x02, 0x20, 0x3e, 0x2d, 0x0c, 0xc0, 0x00, 0x00, 0x38, 0xd1, + 0x08, 0x0d, 0xcd, 0x02, 0x08, 0xd0, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x22, 0x21, 0x10, 0x38, 0x61, + 0x52, 0x01, 0x11, 0x82, 0x21, 0x11, 0x62, 0x01, 0x10, 0x0c, 0x19, 0x80, 0x66, 0xc0, 0x82, 0x21, + 0x12, 0x60, 0x69, 0x93, 0x62, 0x41, 0x10, 0x80, 0x55, 0xc0, 0x88, 0xe1, 0x50, 0x59, 0x93, 0x52, + 0x41, 0x11, 0x89, 0x01, 0x08, 0x0d, 0x48, 0x51, 0x02, 0x20, 0x12, 0x72, 0xc1, 0x12, 0xc0, 0x00, + 0x00, 0x28, 0xf1, 0x02, 0x01, 0x12, 0x2a, 0x2e, 0x80, 0xe0, 0x01, 0x02, 0x01, 0x13, 0xe0, 0xe8, + 0x31, 0x2a, 0xee, 0x80, 0x00, 0x01, 0x80, 0xee, 0x01, 0xe0, 0xe8, 0x31, 0x00, 0x08, 0x31, 0x00, + 0xcc, 0xc0, 0x08, 0x0d, 0x80, 0xcc, 0x01, 0x08, 0xc0, 0xc0, 0xc8, 0x31, 0xc0, 0x00, 0x00, 0x32, + 0x21, 0x13, 0x0b, 0x33, 0x32, 0x61, 0x13, 0x56, 0xb3, 0xf4, 0x22, 0x01, 0x12, 0x08, 0x0d, 0x80, + 0x22, 0x01, 0x08, 0x00, 0x20, 0x28, 0x31, 0xc0, 0x00, 0x00, 0xe6, 0x52, 0x12, 0x22, 0x01, 0x13, + 0x08, 0x0d, 0x80, 0x22, 0x01, 0x08, 0x00, 0x20, 0x28, 0x31, 0xc0, 0x00, 0x00, 0xa6, 0x52, 0x17, + 0x71, 0xe5, 0xd9, 0x41, 0x06, 0xdb, 0x61, 0x8c, 0xda, 0x38, 0x04, 0x52, 0x06, 0x05, 0x70, 0x33, + 0x20, 0x1b, 0x55, 0x52, 0x46, 0x05, 0x39, 0x04, 0x0c, 0xf2, 0x7c, 0x10, 0x07, 0x2e, 0x01, 0x0d, + 0x0e, 0x07, 0x22, 0x01, 0x2d, 0x00, 0x6c, 0x10, 0x80, 0xe2, 0x01, 0xe0, 0xe8, 0x31, 0x1c, 0xf2, + 0x07, 0x2c, 0x01, 0x0d, 0x0c, 0x07, 0x22, 0x01, 0x2d, 0x00, 0x32, 0xc1, 0x10, 0x0c, 0x14, 0x5d, + 0x0f, 0x80, 0xc2, 0x01, 0x08, 0x0d, 0xc0, 0xc8, 0x31, 0x02, 0x20, 0x3e, 0x2d, 0x0e, 0xc0, 0x00, + 0x00, 0x5d, 0x0f, 0x2d, 0x0c, 0x08, 0x0d, 0x32, 0xc1, 0x11, 0x02, 0x20, 0x3e, 0x0c, 0x04, 0xc0, + 0x00, 0x00, 0x08, 0x81, 0xd8, 0xa1, 0xf8, 0xc1, 0x38, 0x71, 0x22, 0x21, 0x14, 0xe2, 0x43, 0x00, + 0xc2, 0x42, 0x00, 0xe8, 0xb1, 0xc8, 0x91, 0x12, 0xc1, 0x50, 0x0d, 0xf0, 0x9d, 0x05, 0xad, 0x03, + 0x12, 0xc1, 0xb0, 0xd9, 0xe1, 0xe9, 0xf1, 0x79, 0x81, 0x0c, 0x03, 0x0c, 0x05, 0xf2, 0x61, 0x10, + 0x09, 0xc1, 0xc9, 0xd1, 0x62, 0x61, 0x13, 0x29, 0x51, 0x49, 0x61, 0x22, 0xa0, 0x77, 0x1c, 0x04, + 0x0c, 0x06, 0xc1, 0xe8, 0xd8, 0xa2, 0x61, 0x11, 0x08, 0x0c, 0x92, 0x61, 0x12, 0x02, 0x20, 0x25, + 0xf2, 0x21, 0x13, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x0c, 0xf4, 0x0c, 0x65, 0x0c, 0x66, 0x08, 0x0c, + 0xed, 0x02, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x1c, 0x84, 0x0c, + 0x55, 0x0c, 0x56, 0x08, 0x0c, 0xdd, 0x02, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, + 0x0c, 0x03, 0x1c, 0x84, 0x0c, 0x35, 0x0c, 0x36, 0x08, 0x0c, 0x29, 0x91, 0x02, 0x20, 0x25, 0x22, + 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x0c, 0x94, 0x0c, 0x75, 0x0c, 0x06, 0x08, 0x0c, 0x29, + 0xa1, 0x02, 0x20, 0x25, 0x22, 0xa0, 0x77, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x29, 0x71, 0x02, 0x20, + 0x10, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0xe2, 0x41, 0x10, 0xd2, 0x41, 0x11, 0x8c, 0xcf, 0x08, 0x0c, + 0x22, 0xc1, 0x10, 0x02, 0x20, 0x45, 0x32, 0xc1, 0x11, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, + 0x03, 0x1c, 0x04, 0x0c, 0x25, 0x08, 0x0c, 0x0c, 0x26, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, + 0x00, 0xe9, 0xb1, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x84, 0x0c, 0x75, 0x08, 0x0c, 0x0c, 0x17, + 0x92, 0x01, 0x10, 0x82, 0x01, 0x11, 0xe0, 0x99, 0xc0, 0xd0, 0x88, 0xc0, 0x80, 0x87, 0x93, 0x90, + 0x97, 0x93, 0x92, 0x41, 0x10, 0x82, 0x41, 0x11, 0x02, 0x20, 0x27, 0x0c, 0x76, 0xc0, 0x00, 0x00, + 0x08, 0x0c, 0xe2, 0x21, 0x11, 0x02, 0x20, 0x14, 0x28, 0x61, 0xc0, 0x00, 0x00, 0x0c, 0x05, 0x0c, + 0x06, 0x0c, 0x07, 0x4d, 0x02, 0x0c, 0x03, 0x39, 0x21, 0x39, 0x11, 0x39, 0x01, 0x08, 0x0c, 0x0c, + 0x12, 0x02, 0x20, 0x1a, 0x3d, 0x0e, 0xc0, 0x00, 0x00, 0x28, 0x51, 0x78, 0x81, 0x62, 0xc1, 0x13, + 0x42, 0x01, 0x11, 0x58, 0x91, 0x32, 0x01, 0x10, 0xed, 0x05, 0xf9, 0x11, 0x69, 0x01, 0x79, 0x21, + 0x72, 0xc1, 0x12, 0x08, 0x0c, 0x68, 0xa1, 0x02, 0x20, 0x43, 0xfd, 0x06, 0xc0, 0x00, 0x00, 0x08, + 0x0c, 0x02, 0x20, 0x1b, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x78, 0xb1, 0x22, 0xa0, 0x77, 0x0c, 0x03, + 0x1c, 0x04, 0x08, 0x0c, 0x0c, 0x05, 0x02, 0x20, 0x27, 0x0c, 0x06, 0xc0, 0x00, 0x00, 0x7d, 0x0d, + 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0xf4, 0x08, 0x0c, 0x0c, 0x65, 0x02, 0x20, 0x27, 0x0c, 0x66, + 0xc0, 0x00, 0x00, 0x7d, 0x0e, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x84, 0x08, 0x0c, 0x0c, 0x55, + 0x02, 0x20, 0x27, 0x0c, 0x56, 0xc0, 0x00, 0x00, 0x7d, 0x0f, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, + 0x84, 0x0c, 0x35, 0x08, 0x0c, 0x0c, 0x36, 0x02, 0x20, 0x27, 0xd8, 0x71, 0xc0, 0x00, 0x00, 0x7d, + 0x0d, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0x94, 0x08, 0x0c, 0x0c, 0x75, 0x02, 0x20, 0x27, 0x0c, + 0x06, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x84, 0x0c, 0x75, 0x08, 0x0c, 0x0c, + 0x76, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0x04, + 0x0c, 0x25, 0x08, 0x0c, 0x0c, 0x26, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x08, 0x0c, + 0xd2, 0x21, 0x12, 0x02, 0x20, 0x10, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0x08, 0xc1, 0xc8, 0xd1, 0xe8, + 0xf1, 0x32, 0x01, 0x12, 0xf2, 0x21, 0x10, 0x32, 0x4d, 0x00, 0x22, 0x01, 0x13, 0x22, 0x4d, 0x01, + 0xd8, 0xe1, 0x12, 0xc1, 0x50, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x51, 0x38, 0xd8, + 0xc0, 0x20, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0x84, 0x52, 0x25, 0xd8, 0x61, 0xa3, 0xd8, + 0x01, 0x69, 0xd8, 0x62, 0x06, 0x6f, 0x08, 0x00, 0x50, 0x50, 0x60, 0x80, 0x55, 0x01, 0x02, 0x20, + 0x26, 0x50, 0x58, 0x31, 0x80, 0x66, 0x01, 0x60, 0x68, 0x31, 0x60, 0x55, 0xc0, 0x52, 0xc5, 0xe8, + 0x50, 0x50, 0x74, 0xc0, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x5d, 0x03, 0x12, 0xc1, 0xf0, 0x0c, 0x03, 0x09, 0x01, 0xe9, 0x31, 0xd9, 0x21, 0xc9, 0x11, 0xdd, + 0x04, 0xc1, 0x58, 0xd8, 0xed, 0x02, 0x08, 0x0c, 0x22, 0xa0, 0x77, 0x02, 0x20, 0x26, 0x1c, 0xb4, + 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x08, 0x0c, 0x0c, 0x54, 0x02, 0x20, 0x26, 0xe0, + 0x54, 0x74, 0xc0, 0x00, 0x00, 0xe0, 0x50, 0x34, 0x22, 0xa0, 0x77, 0x08, 0x0c, 0x0c, 0x03, 0x02, + 0x20, 0x26, 0x0c, 0x64, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0xf4, 0x0c, 0x45, + 0x08, 0x0c, 0x50, 0x5d, 0x20, 0x02, 0x20, 0x26, 0x50, 0x50, 0x74, 0xc0, 0x00, 0x00, 0x5d, 0x0d, + 0x22, 0xa0, 0x77, 0x08, 0x0c, 0x0c, 0x03, 0x02, 0x20, 0x26, 0x0c, 0xf4, 0xc0, 0x00, 0x00, 0xc8, + 0x11, 0xd8, 0x21, 0xe8, 0x31, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x32, 0xa0, 0xf0, 0x30, + 0x11, 0xc0, 0x02, 0x61, 0x2b, 0xe2, 0x61, 0x2e, 0xd2, 0x61, 0x2d, 0xf2, 0x61, 0x2f, 0x22, 0x61, + 0x30, 0xc2, 0x61, 0x2c, 0xc1, 0x38, 0xd8, 0x21, 0x28, 0xd8, 0xf1, 0x70, 0xd8, 0xc0, 0x20, 0x00, + 0x02, 0x2f, 0x00, 0x22, 0x22, 0x80, 0x00, 0x0c, 0x05, 0x56, 0x30, 0x26, 0x22, 0xa0, 0x06, 0x3d, + 0x01, 0xc5, 0xd8, 0xfb, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0xf4, 0x0c, 0x15, 0x08, 0x0c, 0x0c, + 0x16, 0x02, 0x20, 0x27, 0x0c, 0x17, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x0c, 0xa4, + 0x08, 0x0c, 0x0c, 0x55, 0x02, 0x20, 0x25, 0x0c, 0x46, 0xc0, 0x00, 0x00, 0x0c, 0x23, 0x0c, 0xa4, + 0x0c, 0x55, 0x0c, 0x46, 0x0c, 0x27, 0x08, 0x0c, 0x22, 0x61, 0x2a, 0x02, 0x20, 0x27, 0x22, 0xa0, + 0x6b, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, 0x28, 0xc0, 0x00, 0x00, 0x08, 0x0c, 0x02, 0x20, + 0x30, 0x0c, 0x12, 0xc0, 0x00, 0x00, 0x21, 0xb8, 0xd8, 0x22, 0x12, 0x00, 0x45, 0xf2, 0xf9, 0x08, + 0x0c, 0x08, 0x60, 0x0c, 0x02, 0xc0, 0x00, 0x00, 0xd1, 0xe2, 0xd7, 0xc0, 0x20, 0x00, 0xe2, 0xc1, + 0x70, 0x5c, 0xf4, 0xd2, 0x2d, 0xd8, 0x3c, 0x02, 0x0c, 0x08, 0x0c, 0x09, 0xc2, 0xd1, 0xff, 0xc2, + 0xcc, 0x10, 0x92, 0x61, 0x32, 0x82, 0x61, 0x33, 0x22, 0x61, 0x35, 0xd0, 0xd0, 0x60, 0xd2, 0x4f, + 0x6f, 0xd2, 0xcd, 0x1f, 0x80, 0xdd, 0x01, 0xd0, 0xd8, 0x31, 0xd2, 0x61, 0x34, 0x0c, 0x0d, 0x32, + 0x21, 0x34, 0x0d, 0x04, 0xd0, 0x33, 0xc0, 0x80, 0x33, 0x01, 0x30, 0x38, 0x31, 0x37, 0x24, 0x01, + 0x0d, 0x03, 0x0c, 0x02, 0x00, 0x20, 0xb3, 0x80, 0x22, 0x01, 0x20, 0x28, 0x31, 0x22, 0x61, 0x36, + 0x85, 0x2c, 0xfe, 0x4d, 0x02, 0x02, 0x21, 0x34, 0x22, 0x21, 0x36, 0xc0, 0xfd, 0x90, 0x20, 0x00, + 0xc0, 0xf0, 0x00, 0x11, 0xf6, 0x4d, 0x18, 0x42, 0x5f, 0x80, 0x32, 0x21, 0x33, 0x00, 0x54, 0xc0, + 0x5a, 0x53, 0x00, 0x55, 0x11, 0x50, 0x30, 0x31, 0x32, 0x61, 0x33, 0x5d, 0x04, 0x86, 0x08, 0x00, + 0x66, 0x4d, 0x10, 0x62, 0x21, 0x33, 0x2b, 0x76, 0x70, 0x72, 0x21, 0x00, 0x77, 0x11, 0x70, 0x60, + 0x31, 0x62, 0x61, 0x33, 0x52, 0x21, 0x33, 0x50, 0x50, 0x80, 0x00, 0x55, 0x11, 0x50, 0x50, 0x31, + 0x52, 0x5f, 0x80, 0x62, 0x21, 0x32, 0x40, 0x05, 0xc0, 0x56, 0x36, 0x01, 0x00, 0x60, 0x11, 0x60, + 0x60, 0x31, 0xa6, 0x26, 0x0a, 0x72, 0xa0, 0x01, 0x0b, 0x86, 0x82, 0x61, 0x31, 0x72, 0x61, 0x32, + 0x72, 0x21, 0x30, 0x0c, 0x02, 0x62, 0x21, 0x31, 0x0c, 0x89, 0x60, 0x60, 0xc0, 0x0d, 0x09, 0x00, + 0x66, 0x11, 0x60, 0x60, 0x31, 0x67, 0x29, 0x01, 0x0d, 0x06, 0x00, 0x20, 0xb3, 0x00, 0x02, 0x11, + 0x00, 0x00, 0x31, 0x02, 0x61, 0x29, 0x8c, 0xc7, 0x21, 0xe3, 0xd9, 0x32, 0x21, 0x36, 0x6d, 0x00, + 0x85, 0x06, 0x01, 0x02, 0x21, 0x29, 0x02, 0x5f, 0x80, 0x31, 0xdf, 0xd9, 0x22, 0x21, 0x36, 0x5c, + 0xf4, 0x3a, 0x22, 0xea, 0x3d, 0x22, 0x02, 0x00, 0x1b, 0xdd, 0x22, 0x43, 0x00, 0x32, 0x21, 0x35, + 0xd0, 0xd0, 0xf4, 0x0b, 0x33, 0x32, 0x61, 0x35, 0x56, 0x33, 0xf1, 0xc6, 0x6a, 0x00, 0x1b, 0x6d, + 0xc0, 0x5d, 0x90, 0x42, 0x95, 0x80, 0x60, 0xd0, 0xf4, 0x20, 0x44, 0x90, 0x42, 0x94, 0x00, 0x42, + 0x55, 0x80, 0x07, 0x9d, 0xe8, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0xf4, 0x0c, 0x15, 0x08, 0x0f, + 0x0c, 0x16, 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x08, + 0x0f, 0x0c, 0x74, 0x02, 0x20, 0x26, 0x0c, 0x05, 0xc0, 0x00, 0x00, 0x22, 0xa0, 0x77, 0x08, 0x0f, + 0x0c, 0x03, 0x02, 0x20, 0x24, 0x0c, 0xf4, 0xc0, 0x00, 0x00, 0xf2, 0x11, 0x50, 0x0c, 0x0c, 0x0c, + 0x0d, 0x32, 0xa0, 0xfb, 0x42, 0xa1, 0x00, 0xa2, 0x01, 0x70, 0xa2, 0x61, 0x37, 0x42, 0x61, 0x39, + 0x30, 0x22, 0x10, 0x22, 0x61, 0x38, 0xb2, 0x21, 0x37, 0x22, 0x01, 0x9f, 0xb7, 0x3d, 0x02, 0x46, + 0x28, 0x00, 0xf2, 0xa4, 0x00, 0x02, 0xa4, 0x00, 0x22, 0xa7, 0xff, 0x5d, 0x02, 0x3d, 0x00, 0xf7, + 0x32, 0x01, 0x5d, 0x0f, 0x07, 0x35, 0x01, 0x3d, 0x05, 0x30, 0xf0, 0xf4, 0x42, 0x21, 0x38, 0xd0, + 0x30, 0x74, 0x2d, 0x0f, 0x85, 0xd2, 0xff, 0x02, 0x21, 0x39, 0x1b, 0xdd, 0xd0, 0xd0, 0xf4, 0x0b, + 0x00, 0x02, 0x61, 0x39, 0x56, 0xe0, 0xfb, 0x72, 0x21, 0x2a, 0x22, 0xa0, 0x6b, 0x0c, 0x23, 0x01, + 0xa1, 0xd7, 0x0c, 0xa4, 0x08, 0x00, 0x0c, 0x55, 0x02, 0x20, 0x27, 0x0c, 0x46, 0xc0, 0x00, 0x00, + 0x31, 0xd7, 0xd7, 0x41, 0x2f, 0xd8, 0x28, 0x03, 0xc1, 0x9b, 0xd7, 0x40, 0x22, 0x20, 0x29, 0x03, + 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x0c, 0xf4, 0x0c, 0x15, 0x08, 0x0c, 0x0c, 0x16, 0x02, 0x20, 0x27, + 0x0c, 0x07, 0xc0, 0x00, 0x00, 0x05, 0xc9, 0xff, 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0xb4, 0x0c, + 0x75, 0x08, 0x0c, 0x0c, 0x06, 0x02, 0x20, 0x27, 0x72, 0xa0, 0xff, 0xc0, 0x00, 0x00, 0xc2, 0x21, + 0x2c, 0xd2, 0x21, 0x2d, 0xe2, 0x21, 0x2e, 0xf2, 0x21, 0x2f, 0x22, 0xa0, 0xf0, 0x02, 0x21, 0x2b, + 0x2a, 0x11, 0x0d, 0xf0, 0xd7, 0xb2, 0x05, 0xf2, 0x11, 0x37, 0xc6, 0xd5, 0xff, 0x22, 0xc1, 0xf0, + 0x2a, 0x2c, 0x02, 0x02, 0x80, 0xea, 0x3c, 0xd7, 0xb0, 0x1d, 0x32, 0x03, 0x00, 0xd7, 0xb3, 0x56, + 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0xea, 0x4c, 0x42, 0x04, 0x00, 0xd7, 0x34, 0xf2, 0x02, 0xc1, 0xf0, + 0x0a, 0x0c, 0x02, 0x00, 0x80, 0x86, 0x0f, 0x00, 0x02, 0x61, 0x3a, 0x07, 0xbd, 0x38, 0x52, 0xa0, + 0x01, 0x42, 0x02, 0x7f, 0x22, 0xd1, 0xff, 0x40, 0x30, 0xc0, 0x22, 0xc2, 0x10, 0x40, 0x4d, 0xc0, + 0x20, 0x2c, 0x90, 0x30, 0x30, 0x74, 0xf2, 0x92, 0x7f, 0x22, 0x92, 0x80, 0x30, 0x35, 0x83, 0xf0, + 0x22, 0xc0, 0x00, 0x22, 0x11, 0x20, 0x20, 0x31, 0x40, 0x22, 0x82, 0x45, 0x49, 0x03, 0x02, 0x21, + 0x3a, 0x20, 0xff, 0x80, 0xf0, 0xf0, 0xf4, 0xd0, 0x20, 0xc0, 0x56, 0x72, 0xee, 0x32, 0xa0, 0x2e, + 0xf2, 0xd1, 0xff, 0xf2, 0xcf, 0x10, 0xf0, 0xfc, 0x90, 0xf2, 0x1f, 0x80, 0xc7, 0xb3, 0x02, 0x86, + 0xb4, 0xff, 0x1b, 0xcc, 0xc0, 0xc0, 0x74, 0x86, 0xb2, 0xff, 0xf1, 0x62, 0xd7, 0x08, 0x0f, 0x02, + 0x20, 0x32, 0xc0, 0x00, 0x00, 0x08, 0x0f, 0x02, 0x20, 0x31, 0xc0, 0x00, 0x00, 0x08, 0x0f, 0x02, + 0x20, 0x2f, 0xc0, 0x00, 0x00, 0x2c, 0xfd, 0xc0, 0xfd, 0x90, 0x22, 0x9f, 0x7f, 0x0b, 0xdd, 0x52, + 0x9f, 0x80, 0xd0, 0xd0, 0xf4, 0x27, 0xa5, 0x02, 0x52, 0x5f, 0x7f, 0x56, 0x8d, 0xfe, 0x3c, 0x00, + 0xf1, 0x55, 0xd7, 0x0c, 0x0d, 0x21, 0x5d, 0xd9, 0x86, 0x84, 0xff, 0x00, 0x12, 0xc1, 0xf0, 0x02, + 0x61, 0x00, 0x56, 0x83, 0x00, 0x32, 0xa0, 0x05, 0x85, 0x4c, 0x03, 0xc6, 0x05, 0x00, 0x01, 0xdf, + 0xd8, 0x37, 0xb0, 0x0b, 0xc5, 0x4b, 0x03, 0x40, 0x22, 0x11, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x22, 0x11, 0x05, 0x4b, 0x03, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x30, 0x22, 0x82, 0x20, 0x2c, 0x41, 0x0d, 0xf0, 0x51, 0x0a, 0xd7, 0xc0, 0x20, 0x00, 0x42, 0x25, + 0x47, 0x4a, 0x42, 0xc0, 0x20, 0x00, 0x61, 0x4a, 0xd9, 0x42, 0x65, 0x41, 0x31, 0xcf, 0xd7, 0x0c, + 0x15, 0x27, 0x33, 0x01, 0x0c, 0x05, 0x52, 0x46, 0x00, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x39, + 0x01, 0x09, 0x11, 0x01, 0x75, 0xd7, 0xc9, 0x21, 0x02, 0x00, 0x39, 0xc1, 0xfd, 0xd6, 0xdc, 0x20, + 0x7c, 0xc5, 0xc0, 0x20, 0x00, 0x32, 0x2c, 0x59, 0x50, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, 0x6c, + 0x59, 0x86, 0x07, 0x00, 0x66, 0x10, 0x07, 0x2c, 0x06, 0x60, 0x44, 0x20, 0xc6, 0x04, 0x00, 0x66, + 0x20, 0x10, 0x0c, 0x38, 0xc0, 0x20, 0x00, 0x72, 0x2c, 0x59, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, + 0x72, 0x6c, 0x59, 0x0c, 0x03, 0x01, 0x27, 0xd7, 0xc0, 0x20, 0x00, 0x32, 0x6c, 0x50, 0xc0, 0x20, + 0x00, 0x22, 0x6c, 0x51, 0xc0, 0x20, 0x00, 0x22, 0xa0, 0x77, 0x0c, 0x55, 0x0c, 0x56, 0x0c, 0x17, + 0x08, 0x00, 0x42, 0x6c, 0x40, 0x02, 0x20, 0x27, 0x1c, 0xc4, 0xc0, 0x00, 0x00, 0x51, 0x8e, 0xd8, + 0x41, 0x19, 0xd7, 0x31, 0xe7, 0xd6, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xf2, 0x50, 0x22, 0x10, 0x40, + 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0xf2, 0x0c, 0x12, 0x01, 0xfb, 0xd6, 0xc0, 0x00, 0x00, + 0x22, 0xa0, 0x77, 0x0c, 0x03, 0x1c, 0xc4, 0x01, 0x13, 0xd7, 0x0c, 0x55, 0x08, 0x00, 0x0c, 0x56, + 0x02, 0x20, 0x27, 0x0c, 0x07, 0xc0, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x28, 0x01, 0x08, 0x11, 0x22, + 0x6c, 0x44, 0xc8, 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x20, 0x90, 0x54, 0xa2, + 0xaf, 0xc0, 0x51, 0xcf, 0xd6, 0xc0, 0x20, 0x00, 0x82, 0x25, 0x46, 0xa0, 0x88, 0x10, 0x90, 0x88, + 0x20, 0xc0, 0x20, 0x00, 0x82, 0x65, 0x46, 0x30, 0x60, 0x04, 0x7c, 0xe7, 0xc0, 0x20, 0x00, 0x42, + 0x25, 0x6a, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x6a, 0x0d, 0xf0, + 0x61, 0x09, 0xd9, 0x28, 0x06, 0x66, 0x02, 0x25, 0x51, 0xd9, 0xd6, 0x41, 0x09, 0xd8, 0x21, 0xc4, + 0xd7, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x96, 0x50, 0x33, 0x10, 0x30, 0x3f, 0x41, 0x66, 0x13, 0x0f, + 0xc0, 0x20, 0x00, 0x22, 0x22, 0x95, 0x40, 0x22, 0x10, 0x20, 0x28, 0x75, 0x29, 0x06, 0x0d, 0xf0, + 0xc0, 0x20, 0x00, 0x22, 0x22, 0x97, 0x06, 0xfb, 0xff, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0xc5, 0xfb, 0xff, 0x26, 0x22, 0x0c, 0x0c, 0x42, 0x0c, 0x03, 0x41, 0xf7, 0xd8, 0xc5, 0xeb, + 0xff, 0xc6, 0x07, 0x00, 0x01, 0x25, 0xd7, 0x02, 0x00, 0x65, 0x66, 0x20, 0x0c, 0x0c, 0x42, 0x0c, + 0x03, 0x41, 0xf1, 0xd8, 0x45, 0xea, 0xff, 0x46, 0x02, 0x00, 0x0c, 0x42, 0x0c, 0x03, 0x41, 0x77, + 0xd7, 0x85, 0xe9, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0xc5, 0xf7, 0xff, 0x26, 0x22, 0x0c, 0x0c, 0x02, 0x0c, 0x03, 0x41, 0xe7, 0xd8, 0xc5, 0xe7, + 0xff, 0xc6, 0x07, 0x00, 0x01, 0x15, 0xd7, 0x02, 0x00, 0x65, 0x66, 0x20, 0x0c, 0x0c, 0x02, 0x0c, + 0x03, 0x41, 0xe1, 0xd8, 0x45, 0xe6, 0xff, 0x46, 0x02, 0x00, 0x0c, 0x02, 0x0c, 0x03, 0x41, 0x67, + 0xd7, 0x85, 0xe5, 0xff, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0xc9, 0x11, 0xd9, 0x21, 0x51, 0x98, 0xd7, 0xdd, 0x02, 0xc1, 0x95, 0xd6, 0xc0, 0x20, 0x00, + 0x42, 0x2c, 0x5c, 0x50, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x6c, 0x5c, 0x32, 0xa1, 0x01, 0xc0, + 0x20, 0x00, 0x32, 0x6c, 0x5b, 0x21, 0x70, 0xd7, 0xc0, 0x20, 0x00, 0x02, 0x2c, 0x5b, 0x20, 0x00, + 0x20, 0xc0, 0x20, 0x00, 0x22, 0xa0, 0x64, 0x02, 0x6c, 0x5b, 0x01, 0xa3, 0xd6, 0xc0, 0x00, 0x00, + 0xc0, 0x20, 0x00, 0x62, 0x2c, 0x5c, 0x96, 0x86, 0x00, 0xc0, 0x20, 0x00, 0x72, 0x2c, 0x5c, 0xd6, + 0x67, 0xff, 0x31, 0x6f, 0xd7, 0xc0, 0x20, 0x00, 0x01, 0xf4, 0xd6, 0x22, 0x2c, 0x5c, 0x02, 0x00, + 0x01, 0x30, 0x22, 0x10, 0x8c, 0x40, 0x26, 0x10, 0x07, 0x26, 0x20, 0x3d, 0x2c, 0x83, 0x86, 0x00, + 0x00, 0x32, 0xa0, 0x1a, 0xc0, 0x22, 0x11, 0xc2, 0x2d, 0x01, 0x85, 0x24, 0x03, 0x16, 0xcc, 0x01, + 0x32, 0xa1, 0xff, 0x27, 0xbc, 0x05, 0xc0, 0x02, 0xc0, 0x86, 0x00, 0x00, 0x20, 0x0c, 0xc0, 0x07, + 0x33, 0x0c, 0x20, 0x32, 0xa0, 0xc0, 0x2c, 0x90, 0x3a, 0x22, 0x20, 0x23, 0x41, 0x29, 0x1d, 0xc8, + 0x11, 0xd8, 0x21, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x1c, 0x83, 0x06, 0xf1, 0xff, 0x00, + 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x85, 0xe8, 0xff, 0x01, 0x66, 0xd6, 0x26, 0x12, 0x2b, 0xac, 0x82, + 0x21, 0xda, 0xd6, 0x32, 0x02, 0x01, 0x42, 0x02, 0x65, 0x9c, 0x13, 0x26, 0x24, 0x0f, 0x51, 0xa7, + 0xd8, 0xc0, 0x20, 0x00, 0x52, 0x60, 0x43, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x61, 0xa4, + 0xd8, 0xc0, 0x20, 0x00, 0x62, 0x60, 0x43, 0x06, 0xfb, 0xff, 0x71, 0xa2, 0xd8, 0xc0, 0x20, 0x00, + 0x72, 0x60, 0x43, 0x06, 0xf8, 0xff, 0x00, 0x00, 0x31, 0xcc, 0xd6, 0x22, 0x03, 0x39, 0x32, 0x03, + 0x3a, 0x26, 0x22, 0x10, 0x26, 0x13, 0x0d, 0x26, 0x33, 0x0a, 0x0c, 0x23, 0x41, 0x51, 0xd6, 0xc0, + 0x20, 0x00, 0x32, 0x64, 0x68, 0x0d, 0xf0, 0x00, 0x71, 0xc0, 0xd6, 0x81, 0x51, 0xd7, 0xc0, 0x20, + 0x00, 0x62, 0x28, 0x86, 0x21, 0x4f, 0xd6, 0x70, 0x66, 0x10, 0xc0, 0x20, 0x00, 0x22, 0x22, 0x46, + 0x71, 0x92, 0xd8, 0x27, 0x72, 0x51, 0x51, 0x45, 0xd6, 0xc0, 0x20, 0x00, 0x92, 0x25, 0x56, 0x77, + 0x19, 0x03, 0x0c, 0x12, 0x0d, 0xf0, 0xc0, 0x20, 0x00, 0x22, 0x25, 0x4f, 0x20, 0xa2, 0x15, 0x66, + 0x3a, 0xef, 0x20, 0xb4, 0x25, 0x66, 0x2b, 0xe9, 0x20, 0x37, 0x85, 0x92, 0xa0, 0x7f, 0x37, 0x89, + 0xe0, 0xc0, 0x20, 0x00, 0x22, 0x25, 0x4f, 0x20, 0x42, 0x15, 0x66, 0x34, 0xd4, 0x20, 0xa4, 0x25, + 0x66, 0x2a, 0xce, 0x20, 0xb7, 0x85, 0xb7, 0x89, 0xc8, 0xc0, 0x20, 0x00, 0x22, 0x25, 0x56, 0x77, + 0x92, 0xbf, 0xc0, 0x20, 0x00, 0x62, 0x68, 0x86, 0x0c, 0x02, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x26, 0x12, 0x0b, 0x26, 0x22, 0x08, 0x0c, 0x12, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x45, 0xf7, 0xff, 0x31, 0x6f, 0xd8, 0x41, 0x75, 0xd8, 0x22, 0x43, 0x02, 0x42, 0x04, 0x00, 0x02, + 0x03, 0x00, 0x22, 0x43, 0x01, 0x40, 0x00, 0x10, 0x00, 0x02, 0x20, 0x02, 0x43, 0x01, 0x00, 0x00, + 0x74, 0x56, 0x20, 0xfd, 0x31, 0x6f, 0xd8, 0x0c, 0x12, 0x22, 0x43, 0x00, 0x61, 0x20, 0xd6, 0x7c, + 0xf0, 0xa1, 0x1f, 0xd6, 0xc0, 0x20, 0x00, 0x02, 0x6a, 0x49, 0xb1, 0xe6, 0xd6, 0xc0, 0x20, 0x00, + 0x92, 0x2a, 0x42, 0xb0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x6a, 0x42, 0x0c, 0x87, 0x7c, 0x38, + 0xc0, 0x20, 0x00, 0x52, 0x26, 0xd0, 0x80, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, + 0x66, 0xd0, 0x0c, 0x02, 0x46, 0xe4, 0xff, 0x00, 0x26, 0x12, 0x02, 0x66, 0x22, 0x2f, 0x51, 0x54, + 0xd8, 0x22, 0x05, 0x01, 0xec, 0x62, 0x21, 0x0e, 0xd6, 0xc0, 0x20, 0x00, 0x32, 0x22, 0x4a, 0x30, + 0x30, 0x14, 0xcc, 0xa3, 0xc0, 0x20, 0x00, 0x42, 0x22, 0x4a, 0x40, 0x40, 0x14, 0x16, 0x34, 0xff, + 0x0c, 0x27, 0xc0, 0x20, 0x00, 0x62, 0x22, 0x4a, 0x70, 0x66, 0x10, 0x62, 0x45, 0x03, 0x0d, 0xf0, + 0x81, 0x51, 0xd8, 0x31, 0x07, 0xd6, 0x61, 0x02, 0xd6, 0xc0, 0x20, 0x00, 0x82, 0x66, 0x44, 0x0c, + 0x07, 0xc0, 0x20, 0x00, 0x72, 0x66, 0x51, 0x51, 0x2c, 0xd6, 0xc0, 0x20, 0x00, 0x52, 0x66, 0x40, + 0x41, 0xa6, 0xd7, 0xc0, 0x20, 0x00, 0x22, 0x23, 0xf2, 0x40, 0x22, 0x10, 0xc0, 0x20, 0x00, 0x22, + 0x63, 0xf2, 0x0d, 0xf0, 0xa1, 0x45, 0xd8, 0x31, 0x29, 0xd6, 0x61, 0x1f, 0xd6, 0xc0, 0x20, 0x00, + 0xa2, 0x66, 0xf8, 0x91, 0x42, 0xd8, 0x81, 0xc1, 0xd6, 0xc0, 0x20, 0x00, 0x72, 0x26, 0x9d, 0x90, + 0x77, 0x10, 0x80, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, 0x66, 0x9d, 0x51, 0x18, 0xd6, 0x41, 0x89, + 0xd7, 0xc0, 0x20, 0x00, 0x22, 0x26, 0x9d, 0x50, 0x22, 0x10, 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, + 0x22, 0x66, 0x9d, 0xb1, 0x87, 0xd7, 0xa1, 0x97, 0xd7, 0xc0, 0x20, 0x00, 0x92, 0x26, 0x9d, 0xb0, + 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x66, 0x9d, 0x81, 0x31, 0xd8, 0x71, 0xc6, + 0xd6, 0xc0, 0x20, 0x00, 0x52, 0x26, 0x9d, 0x80, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, + 0x52, 0x66, 0x9d, 0x41, 0xe1, 0xd6, 0xc0, 0x20, 0x00, 0x22, 0x23, 0x81, 0x40, 0x22, 0x10, 0xc0, + 0x20, 0x00, 0x22, 0x63, 0x81, 0x0d, 0xf0, 0x00, 0x41, 0x4c, 0xd6, 0x12, 0xc1, 0xf0, 0xc9, 0x11, + 0x09, 0x01, 0x02, 0x04, 0x35, 0xc1, 0xfc, 0xd5, 0x26, 0x10, 0x76, 0x26, 0x30, 0x73, 0x26, 0x40, + 0x70, 0x26, 0x50, 0x6d, 0x0c, 0x00, 0xc0, 0x20, 0x00, 0x02, 0x6c, 0xf8, 0x01, 0x1d, 0xd8, 0x31, + 0xff, 0xd5, 0xc0, 0x20, 0x00, 0xb2, 0x2c, 0x9d, 0x00, 0xbb, 0x10, 0xc0, 0x20, 0x00, 0xb2, 0x6c, + 0x9d, 0xa1, 0x67, 0xd7, 0xc0, 0x20, 0x00, 0x92, 0x2c, 0x9d, 0xa0, 0x99, 0x10, 0xc0, 0x20, 0x00, + 0x92, 0x6c, 0x9d, 0x81, 0xee, 0xd5, 0xc0, 0x20, 0x00, 0x72, 0x2c, 0x9d, 0x80, 0x77, 0x10, 0xc0, + 0x20, 0x00, 0x72, 0x6c, 0x9d, 0x61, 0x0d, 0xd8, 0xc0, 0x20, 0x00, 0x52, 0x2c, 0x9d, 0x60, 0x55, + 0x10, 0xc0, 0x20, 0x00, 0x52, 0x6c, 0x9d, 0x41, 0xa0, 0xd6, 0xc0, 0x20, 0x00, 0x22, 0x23, 0x81, + 0x40, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x63, 0x81, 0xc8, 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, + 0x0d, 0xf0, 0x22, 0x04, 0x36, 0x05, 0x2d, 0x00, 0x06, 0xe4, 0xff, 0x00, 0x1c, 0x42, 0x12, 0xc1, + 0xe0, 0xc9, 0x11, 0xd9, 0x21, 0xe9, 0x31, 0xf9, 0x41, 0x09, 0x01, 0x01, 0xcb, 0xd5, 0xc0, 0x00, + 0x00, 0x0c, 0x0c, 0xe1, 0xfc, 0xd7, 0xd1, 0x9b, 0xd6, 0xf1, 0xdc, 0xd5, 0xc0, 0x20, 0x00, 0x02, + 0x2d, 0x84, 0x00, 0x00, 0x34, 0xcc, 0x90, 0xc0, 0x20, 0x00, 0x22, 0x2f, 0xf4, 0x20, 0x2c, 0x34, + 0x9c, 0x02, 0x0c, 0x22, 0x01, 0xc1, 0xd5, 0xc0, 0x00, 0x00, 0x3d, 0x0c, 0x1b, 0xcc, 0xc0, 0xc0, + 0xf4, 0x37, 0xbe, 0xd7, 0xc8, 0x11, 0xd8, 0x21, 0xe8, 0x31, 0xf8, 0x41, 0x08, 0x01, 0x12, 0xc1, + 0x20, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x31, 0x10, 0xd6, 0x09, 0x01, 0x02, 0x03, 0x35, 0x42, + 0xae, 0xcf, 0x26, 0x10, 0x0f, 0x26, 0x30, 0x0c, 0x26, 0x40, 0x09, 0x26, 0x50, 0x06, 0x08, 0x01, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x3c, 0x06, 0x21, 0x92, 0xd5, 0xc0, 0x20, 0x00, 0x52, 0x22, 0x85, + 0x40, 0x55, 0x10, 0x60, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x52, 0x62, 0x85, 0xc0, 0x20, 0x00, 0x02, + 0x22, 0x8d, 0x40, 0x00, 0x10, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x8d, 0x02, 0x03, 0x35, 0x26, 0x10, + 0x2d, 0x26, 0x30, 0x2a, 0x26, 0x40, 0x02, 0x66, 0x50, 0xc3, 0x62, 0x03, 0x36, 0xb6, 0x26, 0xbd, + 0x0c, 0x02, 0x0c, 0x13, 0x0c, 0x14, 0x0c, 0x05, 0x01, 0x87, 0xd5, 0xc0, 0x00, 0x00, 0x0c, 0x82, + 0x0c, 0x03, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0x83, 0xd5, 0xc0, 0x00, 0x00, 0x86, 0xe7, 0xff, 0x72, + 0x03, 0x36, 0xb6, 0x27, 0x98, 0x0c, 0x12, 0x0c, 0x03, 0x0c, 0x14, 0x0c, 0x05, 0x01, 0x7d, 0xd5, + 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x83, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0x7a, 0xd5, 0xc0, 0x00, + 0x00, 0x46, 0xde, 0xff, 0x12, 0xc1, 0xf0, 0x31, 0xe8, 0xd5, 0x09, 0x01, 0x02, 0x03, 0x35, 0x52, + 0xae, 0xcf, 0x26, 0x10, 0x0f, 0x26, 0x30, 0x0c, 0x26, 0x40, 0x09, 0x26, 0x50, 0x06, 0x08, 0x01, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x22, 0x03, 0x36, 0x01, 0x6a, 0xd5, 0xb6, 0x22, 0x28, 0x2c, 0x06, + 0xc0, 0x20, 0x00, 0x72, 0x20, 0x85, 0x50, 0x77, 0x10, 0x60, 0x77, 0x20, 0xc0, 0x20, 0x00, 0x72, + 0x60, 0x85, 0xc0, 0x20, 0x00, 0x42, 0x20, 0x8d, 0x50, 0x44, 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, + 0x00, 0x42, 0x60, 0x8d, 0x86, 0x08, 0x00, 0x3c, 0x0a, 0xc0, 0x20, 0x00, 0x92, 0x20, 0x85, 0x50, + 0x99, 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x92, 0x60, 0x85, 0xc0, 0x20, 0x00, 0x82, 0x20, + 0x8d, 0x50, 0x88, 0x10, 0xc0, 0x20, 0x00, 0x82, 0x60, 0x8d, 0x02, 0x03, 0x35, 0x26, 0x10, 0x4f, + 0x26, 0x30, 0x4c, 0x26, 0x40, 0x02, 0x66, 0x50, 0x94, 0x02, 0x03, 0x36, 0x66, 0x10, 0x1e, 0x0c, + 0x02, 0x0c, 0x13, 0x0c, 0x14, 0x0c, 0x05, 0x01, 0x53, 0xd5, 0xc0, 0x00, 0x00, 0x0c, 0x82, 0x0c, + 0x03, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0x4f, 0xd5, 0xc0, 0x00, 0x00, 0xc6, 0xdb, 0xff, 0x56, 0xc0, + 0xf6, 0x0c, 0x12, 0x0c, 0x03, 0x0c, 0x14, 0x0c, 0x05, 0x01, 0x4a, 0xd5, 0xc0, 0x00, 0x00, 0x0c, + 0x02, 0x0c, 0x83, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0x47, 0xd5, 0xc0, 0x00, 0x00, 0x46, 0xd3, 0xff, + 0x02, 0x03, 0x36, 0x66, 0x10, 0x1e, 0x0c, 0x12, 0x0c, 0x03, 0x0c, 0x14, 0x0c, 0x05, 0x01, 0x41, + 0xd5, 0xc0, 0x00, 0x00, 0x0c, 0x02, 0x0c, 0x83, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0x3e, 0xd5, 0xc0, + 0x00, 0x00, 0x06, 0xca, 0xff, 0x56, 0x50, 0xf2, 0x0c, 0x02, 0x0c, 0x13, 0x0c, 0x14, 0x0c, 0x05, + 0x01, 0x39, 0xd5, 0xc0, 0x00, 0x00, 0x0c, 0x82, 0x0c, 0x03, 0x0c, 0x84, 0x0c, 0x05, 0x01, 0x35, + 0xd5, 0xc0, 0x00, 0x00, 0x86, 0xc1, 0xff, 0x00, 0x32, 0xa0, 0x00, 0x12, 0xc1, 0xf0, 0xc2, 0x61, + 0x01, 0x02, 0x61, 0x00, 0xcd, 0x02, 0x0c, 0x12, 0xc5, 0x6a, 0xfb, 0x31, 0xa0, 0xd6, 0x21, 0xf5, + 0xd5, 0xc0, 0x20, 0x00, 0x02, 0x22, 0x42, 0x30, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, 0x62, 0x42, + 0xc5, 0xae, 0xff, 0x26, 0x4c, 0x11, 0x66, 0x1c, 0x05, 0x05, 0x9b, 0xff, 0x06, 0x02, 0x00, 0x26, + 0x2c, 0x02, 0x66, 0x8c, 0x02, 0x45, 0x9e, 0xff, 0x31, 0xd5, 0xd6, 0x0c, 0x22, 0x51, 0x46, 0xd5, + 0xc0, 0x20, 0x00, 0x02, 0x25, 0x85, 0x30, 0x00, 0x10, 0x20, 0x00, 0x20, 0xc0, 0x20, 0x00, 0x02, + 0x65, 0x85, 0xb1, 0x0e, 0xd6, 0xc0, 0x20, 0x00, 0xa2, 0x25, 0x85, 0xb0, 0xaa, 0x10, 0xc0, 0x20, + 0x00, 0xa2, 0x65, 0x85, 0x91, 0xf9, 0xd5, 0xc0, 0x20, 0x00, 0x82, 0x25, 0x85, 0x90, 0x88, 0x20, + 0xc0, 0x20, 0x00, 0x82, 0x65, 0x85, 0x71, 0x5d, 0xd7, 0x61, 0xdc, 0xd5, 0xc0, 0x20, 0x00, 0x42, + 0x25, 0x9d, 0x70, 0x44, 0x10, 0x60, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x9d, 0x45, 0xdb, + 0xff, 0x05, 0xc4, 0xff, 0x45, 0xd5, 0xff, 0x66, 0x8c, 0x14, 0x61, 0x57, 0xd7, 0x51, 0x08, 0xd6, + 0xc0, 0x20, 0x00, 0x42, 0x25, 0x86, 0x60, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x65, 0x86, 0xc8, + 0x11, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x41, 0x28, 0xd5, 0x9c, 0x82, 0x26, 0x12, 0x20, + 0x26, 0x22, 0x28, 0x26, 0x32, 0x30, 0x26, 0x42, 0x38, 0x66, 0x52, 0x08, 0x21, 0x4c, 0xd7, 0xc0, + 0x20, 0x00, 0x22, 0x64, 0xf8, 0x0d, 0xf0, 0x0c, 0x03, 0xc0, 0x20, 0x00, 0x32, 0x64, 0xf8, 0x0d, + 0xf0, 0x51, 0x41, 0xd7, 0xc0, 0x20, 0x00, 0x52, 0x64, 0xf8, 0x0d, 0xf0, 0x61, 0x45, 0xd7, 0xc0, + 0x20, 0x00, 0x62, 0x64, 0xf8, 0x0d, 0xf0, 0x71, 0x43, 0xd7, 0xc0, 0x20, 0x00, 0x72, 0x64, 0xf8, + 0x0d, 0xf0, 0x81, 0x41, 0xd7, 0xc0, 0x20, 0x00, 0x82, 0x64, 0xf8, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0xe9, 0x31, 0x09, 0x01, 0xd9, 0x21, 0xc9, 0x11, 0xdd, 0x03, 0xcd, 0x02, 0x01, + 0x28, 0xd7, 0x26, 0x22, 0x02, 0x66, 0x12, 0x11, 0x56, 0xed, 0x00, 0x22, 0x00, 0x01, 0x56, 0x82, + 0x00, 0x32, 0x00, 0x03, 0x56, 0x23, 0x00, 0x45, 0x01, 0xfd, 0x7c, 0x3a, 0x0c, 0x49, 0x61, 0xe0, + 0xd5, 0x81, 0xda, 0xd4, 0xc0, 0x20, 0x00, 0x72, 0x28, 0xd0, 0xa0, 0x77, 0x10, 0x90, 0x77, 0x20, + 0xc0, 0x20, 0x00, 0x72, 0x68, 0xd0, 0x51, 0x9f, 0xd5, 0xc0, 0x20, 0x00, 0x42, 0x26, 0x86, 0x50, + 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x66, 0x86, 0x66, 0x8c, 0x11, 0xe1, 0x28, 0xd7, 0xc0, 0x20, + 0x00, 0xb2, 0x26, 0x86, 0xe0, 0xbb, 0x20, 0xc0, 0x20, 0x00, 0xb2, 0x66, 0x86, 0x61, 0x24, 0xd7, + 0xe1, 0x68, 0xd6, 0x41, 0xf5, 0xd4, 0xc0, 0x20, 0x00, 0x62, 0x64, 0x85, 0x51, 0x18, 0xd7, 0xc0, + 0x20, 0x00, 0x32, 0x24, 0x9d, 0x50, 0x33, 0x10, 0xc0, 0x20, 0x00, 0x32, 0x64, 0x9d, 0x0b, 0x2c, + 0x16, 0x52, 0x0c, 0x72, 0xcc, 0xfe, 0x16, 0xf7, 0x0b, 0x82, 0xcc, 0xf8, 0x16, 0x98, 0x0b, 0x22, + 0xa1, 0x2c, 0x01, 0xdd, 0xd4, 0xc0, 0x00, 0x00, 0xb1, 0x8b, 0xd5, 0xc0, 0x20, 0x00, 0x42, 0x2b, + 0x42, 0xe0, 0x44, 0x10, 0xc0, 0x20, 0x00, 0x42, 0x6b, 0x42, 0x0c, 0x13, 0xc0, 0x20, 0x00, 0x22, + 0x2b, 0x58, 0x30, 0x22, 0x20, 0xc0, 0x20, 0x00, 0x22, 0x6b, 0x58, 0x7c, 0xe0, 0xc0, 0x20, 0x00, + 0xa2, 0x2b, 0x58, 0x00, 0xaa, 0x10, 0xc0, 0x20, 0x00, 0xa2, 0x6b, 0x58, 0xc0, 0x20, 0x00, 0x91, + 0xda, 0xd4, 0x92, 0x29, 0x9c, 0x17, 0x69, 0x3b, 0x0c, 0x22, 0x01, 0xcb, 0xd4, 0xc0, 0x00, 0x00, + 0xa2, 0xa0, 0xf1, 0x82, 0xac, 0x00, 0xc0, 0x20, 0x00, 0x61, 0x76, 0xd5, 0x98, 0xd6, 0x80, 0x99, + 0x10, 0xa0, 0x99, 0x20, 0xc0, 0x20, 0x00, 0x99, 0xd6, 0x72, 0xa0, 0xf0, 0xc0, 0x20, 0x00, 0x58, + 0xd6, 0x80, 0x55, 0x10, 0x70, 0x55, 0x20, 0xc0, 0x20, 0x00, 0x59, 0xd6, 0x0c, 0x22, 0x01, 0xbe, + 0xd4, 0xc0, 0x00, 0x00, 0xc5, 0xca, 0xff, 0x05, 0xb2, 0xff, 0xdc, 0xed, 0xa1, 0xe1, 0xd6, 0x21, + 0xe7, 0xd6, 0xa2, 0x0a, 0x02, 0xb2, 0x02, 0x00, 0xdc, 0x0a, 0x66, 0x1b, 0x0e, 0xd1, 0xdc, 0xd6, + 0xd2, 0x0d, 0x00, 0x66, 0x1d, 0x05, 0x26, 0x2c, 0x3d, 0x26, 0x1c, 0x3a, 0xc8, 0x11, 0xd8, 0x21, + 0xe8, 0x31, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x45, 0xa3, 0xff, 0x31, 0x04, 0xd5, 0x41, + 0x07, 0xd6, 0x02, 0x23, 0x00, 0x22, 0xa0, 0x00, 0x40, 0x00, 0x20, 0x02, 0x63, 0x00, 0x45, 0x00, + 0xfd, 0x22, 0xa0, 0xc8, 0x01, 0xa9, 0xd4, 0xc0, 0x00, 0x00, 0x61, 0xfc, 0xd4, 0x58, 0x06, 0xe0, + 0x55, 0x10, 0x59, 0x06, 0x06, 0xc8, 0xff, 0x81, 0xca, 0xd6, 0x72, 0xa0, 0x00, 0x61, 0xfa, 0xd4, + 0x72, 0x42, 0x00, 0x62, 0x06, 0x64, 0x72, 0x48, 0x00, 0x17, 0xe6, 0xaf, 0x22, 0xa0, 0x04, 0x85, + 0xd4, 0xff, 0x21, 0xd8, 0xd6, 0x22, 0x02, 0x00, 0x85, 0xa0, 0xfc, 0x22, 0xa0, 0x04, 0x0c, 0x03, + 0xc5, 0xe4, 0xff, 0x46, 0xe5, 0xff, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x01, 0x8b, + 0xd4, 0xc0, 0x00, 0x00, 0x01, 0xd1, 0xd6, 0x22, 0x60, 0x00, 0x21, 0xd0, 0xd6, 0x01, 0xd0, 0xd6, + 0xc0, 0x00, 0x00, 0x31, 0xcd, 0xd6, 0x32, 0x23, 0x00, 0x0c, 0x02, 0x22, 0x63, 0x12, 0x22, 0x63, + 0x13, 0x01, 0xcc, 0xd6, 0xc0, 0x00, 0x00, 0xc5, 0x00, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0x41, 0xc5, 0xd6, 0x52, 0xa1, 0x04, 0x12, 0xc1, 0xe0, 0x32, 0xc1, 0x10, + 0x09, 0x61, 0x6d, 0x05, 0x02, 0xc1, 0x14, 0x78, 0x04, 0x22, 0xc4, 0x10, 0x52, 0x57, 0x02, 0x42, + 0xc4, 0x40, 0x52, 0xa4, 0x10, 0x0c, 0x07, 0x39, 0x01, 0x09, 0x11, 0x3c, 0x03, 0x01, 0xbe, 0xd6, + 0xc0, 0x00, 0x00, 0x28, 0x41, 0x38, 0x51, 0x42, 0xa0, 0x74, 0x01, 0xbc, 0xd6, 0xc0, 0x00, 0x00, + 0x08, 0x61, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x0c, 0x02, 0x0c, 0x03, 0x12, 0xc1, 0xf0, 0x09, + 0x01, 0x01, 0xb7, 0xd6, 0xc0, 0x00, 0x00, 0x3d, 0x02, 0x01, 0xb6, 0xd6, 0xc0, 0x00, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, 0x31, 0x29, 0x01, 0x09, + 0x21, 0x01, 0x62, 0xd4, 0xc0, 0x00, 0x00, 0x29, 0x11, 0x0c, 0x13, 0x0c, 0xc2, 0x01, 0xac, 0xd6, + 0xc0, 0x00, 0x00, 0xcd, 0x02, 0xcc, 0xa2, 0x21, 0xac, 0xd6, 0x01, 0x45, 0xd4, 0xc0, 0x00, 0x00, + 0x86, 0x0a, 0x00, 0x38, 0x01, 0x0c, 0x34, 0x58, 0x11, 0x28, 0x12, 0x52, 0x15, 0x02, 0x52, 0x42, + 0x0c, 0x42, 0x42, 0x16, 0x50, 0x58, 0x41, 0x0c, 0x64, 0x52, 0x42, 0x0d, 0xeb, 0x22, 0x01, 0xa3, + 0xd6, 0xc0, 0x00, 0x00, 0x3d, 0x0c, 0x2d, 0x0c, 0x01, 0x9f, 0xd6, 0xc0, 0x00, 0x00, 0xc8, 0x31, + 0x08, 0x21, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x01, 0xc2, 0x61, + 0x02, 0x62, 0x22, 0x01, 0xcd, 0x02, 0x69, 0x01, 0x21, 0x9a, 0xd6, 0x42, 0x06, 0x04, 0x52, 0x06, + 0x05, 0x32, 0x06, 0x07, 0x62, 0x06, 0x06, 0x80, 0x33, 0x11, 0x60, 0x33, 0x20, 0x80, 0x33, 0x11, + 0x50, 0x33, 0x20, 0x80, 0x33, 0x11, 0x40, 0x33, 0x20, 0x01, 0x29, 0xd4, 0xc0, 0x00, 0x00, 0x28, + 0x01, 0x02, 0x02, 0x07, 0x32, 0x02, 0x06, 0x80, 0x00, 0x11, 0x30, 0x00, 0x20, 0x80, 0x00, 0x11, + 0x32, 0x02, 0x05, 0x22, 0x02, 0x04, 0x30, 0x00, 0x20, 0x80, 0x00, 0x11, 0x20, 0x00, 0x20, 0x26, + 0x70, 0x1b, 0x1c, 0x92, 0x27, 0x90, 0x1d, 0xc8, 0x1c, 0x21, 0x86, 0xd6, 0xcb, 0xcc, 0x3d, 0x0c, + 0x01, 0x1c, 0xd4, 0xc0, 0x00, 0x00, 0x2d, 0x0c, 0x85, 0x84, 0xf6, 0x86, 0x01, 0x00, 0x28, 0x1c, + 0xcb, 0x22, 0x05, 0xa9, 0xf5, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x51, 0x7e, 0xd6, 0x57, 0x32, 0x09, 0x32, 0xc5, 0x30, 0x37, 0xb2, 0x03, 0x0c, 0x12, 0x0d, 0xf0, + 0x0c, 0x02, 0x0d, 0xf0, 0x12, 0xc1, 0xe0, 0xc9, 0x51, 0xd9, 0x61, 0xe9, 0x71, 0x09, 0x41, 0x01, + 0x23, 0xd4, 0xc0, 0x00, 0x00, 0x3c, 0x03, 0x51, 0x1c, 0xd4, 0x62, 0xa4, 0x00, 0x0c, 0x17, 0xed, + 0x02, 0xc1, 0x72, 0xd6, 0xc9, 0x01, 0x42, 0xcc, 0x50, 0x4b, 0x0c, 0x22, 0xcc, 0x20, 0x09, 0x11, + 0x01, 0x66, 0xd6, 0xc0, 0x00, 0x00, 0xd8, 0x0c, 0x01, 0x26, 0xd4, 0xc0, 0x00, 0x00, 0x9c, 0x8d, + 0x0c, 0x03, 0x0c, 0x0c, 0x08, 0x3e, 0x28, 0x2d, 0x1b, 0xcc, 0x39, 0x2d, 0xd9, 0x00, 0x8b, 0x0d, + 0x09, 0x3e, 0xdd, 0x02, 0x56, 0xe2, 0xfe, 0x46, 0x00, 0x00, 0x0c, 0x0c, 0x01, 0x1e, 0xd4, 0xc0, + 0x00, 0x00, 0x3d, 0x0c, 0x21, 0x63, 0xd6, 0x01, 0xf6, 0xd3, 0xc0, 0x00, 0x00, 0xc8, 0x51, 0xd8, + 0x61, 0xe8, 0x71, 0x08, 0x41, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0xf0, 0xc9, + 0x11, 0xd9, 0x21, 0xe9, 0x31, 0x09, 0x01, 0x01, 0x05, 0xd4, 0xc0, 0x00, 0x00, 0xdd, 0x02, 0x21, + 0x59, 0xd6, 0x01, 0xeb, 0xd3, 0xc0, 0x00, 0x00, 0x01, 0x0e, 0xd4, 0xc0, 0x00, 0x00, 0xe8, 0x2d, + 0xdc, 0x2e, 0x01, 0x0c, 0xd4, 0xc0, 0x00, 0x00, 0x21, 0x54, 0xd6, 0x01, 0xe5, 0xd3, 0xc0, 0x00, + 0x00, 0x0c, 0x0c, 0x46, 0x25, 0x00, 0xcd, 0x0e, 0x2d, 0x0e, 0x45, 0xf3, 0xff, 0x16, 0xa2, 0x09, + 0x08, 0x2d, 0x8b, 0x2d, 0x08, 0x20, 0x09, 0x2d, 0xcc, 0x00, 0x29, 0x3d, 0x0c, 0x1d, 0x46, 0x00, + 0x00, 0x0c, 0x0d, 0x01, 0x00, 0xd4, 0xc0, 0x00, 0x00, 0x21, 0x48, 0xd6, 0x01, 0xd9, 0xd3, 0xc0, + 0x00, 0x00, 0x16, 0xbd, 0xfc, 0x21, 0x46, 0xd6, 0x01, 0xd6, 0xd3, 0xc0, 0x00, 0x00, 0x0c, 0x03, + 0x28, 0x1c, 0x39, 0x2c, 0x0c, 0xc3, 0x01, 0x44, 0xd6, 0xc0, 0x00, 0x00, 0x82, 0xa0, 0xf0, 0x0c, + 0xc9, 0x0c, 0x0a, 0x78, 0x1c, 0x1c, 0x2b, 0xb2, 0x47, 0x01, 0xa2, 0x47, 0x03, 0x62, 0x07, 0x00, + 0x92, 0x47, 0x02, 0x52, 0x07, 0x02, 0x80, 0x66, 0x10, 0x62, 0x47, 0x00, 0x50, 0x50, 0xb4, 0x61, + 0x39, 0xd6, 0x40, 0x55, 0x11, 0xc0, 0x20, 0x00, 0x42, 0x1c, 0x01, 0x00, 0x44, 0x11, 0xc0, 0x20, + 0x00, 0x72, 0x1c, 0x00, 0x70, 0x44, 0x20, 0x60, 0x44, 0x10, 0x50, 0x44, 0x20, 0xc0, 0x20, 0x00, + 0x42, 0x5c, 0x00, 0x40, 0x40, 0xf5, 0xc0, 0x20, 0x00, 0x42, 0x5c, 0x01, 0x08, 0x01, 0xd8, 0x21, + 0x2d, 0x0c, 0xe8, 0x31, 0xc8, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0xc8, 0x2e, 0x16, 0x0c, 0xf7, + 0x2d, 0x0c, 0xc5, 0xe8, 0xff, 0x8c, 0xe2, 0x08, 0x2e, 0x8b, 0x2e, 0x08, 0x20, 0x09, 0x2e, 0x56, + 0x90, 0xf5, 0x29, 0x3d, 0x06, 0xd5, 0xff, 0xed, 0x0c, 0x86, 0xf7, 0xff, 0x21, 0x24, 0xd6, 0x12, + 0xc1, 0xf0, 0x09, 0x01, 0x01, 0xaf, 0xd3, 0xc0, 0x00, 0x00, 0x05, 0xef, 0xff, 0x61, 0x17, 0xd6, + 0x31, 0x82, 0xd5, 0x29, 0x26, 0xcc, 0xa2, 0x21, 0x1e, 0xd6, 0x01, 0xa9, 0xd3, 0xc0, 0x00, 0x00, + 0xc6, 0x10, 0x00, 0xc0, 0x20, 0x00, 0x52, 0x12, 0x01, 0x00, 0x55, 0x11, 0xc0, 0x20, 0x00, 0x72, + 0x12, 0x00, 0x48, 0x12, 0x70, 0x55, 0x20, 0x30, 0x55, 0x10, 0x50, 0x5c, 0x41, 0x5a, 0x44, 0x49, + 0x36, 0xc0, 0x20, 0x00, 0x02, 0x12, 0x01, 0x00, 0x00, 0x11, 0xc0, 0x20, 0x00, 0x0c, 0x05, 0x42, + 0x12, 0x00, 0x52, 0x56, 0x09, 0x40, 0x00, 0x20, 0x30, 0x00, 0x10, 0x00, 0x0c, 0x41, 0x00, 0x00, + 0x60, 0x02, 0xd0, 0x04, 0x02, 0x56, 0x08, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, + 0x9d, 0x03, 0x12, 0xc1, 0xd0, 0x79, 0x91, 0x69, 0x81, 0x3d, 0x02, 0x29, 0x41, 0x49, 0x61, 0x59, + 0x71, 0x09, 0x31, 0x82, 0xc1, 0x10, 0x89, 0x11, 0x99, 0x51, 0x89, 0x01, 0x0c, 0x40, 0x5d, 0x08, + 0x4d, 0x08, 0x21, 0x00, 0xd6, 0x09, 0x21, 0x6d, 0x00, 0x45, 0x25, 0x00, 0x08, 0x31, 0x12, 0xc1, + 0x30, 0x0d, 0xf0, 0x00, 0x31, 0xf2, 0xd5, 0x12, 0xc1, 0xf0, 0x09, 0x01, 0x28, 0x23, 0x32, 0x13, + 0x09, 0x05, 0x0b, 0x00, 0x08, 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x12, 0xc1, 0xc0, 0xc2, + 0x61, 0x04, 0x22, 0x61, 0x08, 0x39, 0x91, 0x49, 0xa1, 0x59, 0xb1, 0x69, 0xc1, 0x79, 0xd1, 0x09, + 0x31, 0x85, 0xe2, 0xff, 0xcd, 0x02, 0xcc, 0x72, 0x21, 0xf0, 0xd5, 0x01, 0x79, 0xd3, 0xc0, 0x00, + 0x00, 0x91, 0x4d, 0xd5, 0x81, 0xe2, 0xd5, 0xc0, 0x20, 0x00, 0xb2, 0x1c, 0x01, 0x00, 0xbb, 0x11, + 0xc0, 0x20, 0x00, 0x02, 0x1c, 0x00, 0xa8, 0x1c, 0x00, 0xbb, 0x20, 0x90, 0xbb, 0x10, 0xb0, 0xbc, + 0x41, 0xba, 0xaa, 0xa9, 0x38, 0xc0, 0x20, 0x00, 0x72, 0x1c, 0x01, 0x00, 0x77, 0x11, 0xc0, 0x20, + 0x00, 0x21, 0xe0, 0xd5, 0x02, 0x1c, 0x00, 0x0c, 0x44, 0xa2, 0xc1, 0x20, 0xb2, 0xc1, 0x20, 0x0c, + 0x05, 0x32, 0xc1, 0x20, 0x38, 0x03, 0x52, 0x58, 0x09, 0xb9, 0x01, 0xa9, 0x11, 0x49, 0x21, 0x00, + 0x77, 0x20, 0x90, 0x77, 0x10, 0x48, 0x01, 0x68, 0x21, 0x70, 0x7c, 0x41, 0x58, 0x11, 0x70, 0x70, + 0x60, 0x72, 0xd7, 0x04, 0x72, 0x58, 0x08, 0x85, 0x1a, 0x00, 0x29, 0x51, 0x31, 0xc8, 0xd5, 0x2d, + 0x0c, 0x32, 0x13, 0x09, 0xc5, 0x00, 0x00, 0x28, 0x51, 0x48, 0x31, 0xc8, 0x41, 0x0d, 0x04, 0x12, + 0xc1, 0x40, 0x0d, 0xf0, 0x12, 0xc1, 0xf0, 0xc9, 0x21, 0x09, 0x11, 0xcd, 0x02, 0x2d, 0x03, 0x08, + 0x1c, 0x0c, 0x43, 0x09, 0x01, 0x01, 0xc9, 0xd5, 0xc0, 0x00, 0x00, 0x31, 0x27, 0xd5, 0xc0, 0x20, + 0x00, 0x52, 0x1c, 0x01, 0x00, 0x55, 0x11, 0xc0, 0x20, 0x00, 0x62, 0x1c, 0x00, 0x60, 0x55, 0x20, + 0x30, 0x55, 0x10, 0x50, 0x5c, 0x41, 0x2a, 0x55, 0x50, 0x50, 0xb4, 0x61, 0xba, 0xd5, 0x40, 0x55, + 0x11, 0xc0, 0x20, 0x00, 0x42, 0x1c, 0x01, 0x00, 0x44, 0x11, 0xc0, 0x20, 0x00, 0x72, 0x1c, 0x00, + 0x70, 0x44, 0x20, 0x60, 0x44, 0x10, 0x50, 0x44, 0x20, 0xc0, 0x20, 0x00, 0x42, 0x5c, 0x00, 0x40, + 0x40, 0xf5, 0xc0, 0x20, 0x00, 0x42, 0x5c, 0x01, 0xc0, 0x20, 0x00, 0x22, 0x1c, 0x01, 0x00, 0x22, + 0x11, 0xc0, 0x20, 0x00, 0x42, 0x1c, 0x00, 0x40, 0x22, 0x20, 0x30, 0x22, 0x10, 0x38, 0x01, 0x20, + 0x2c, 0x41, 0x2b, 0x33, 0x22, 0x43, 0x00, 0x20, 0x28, 0x41, 0x22, 0x43, 0x01, 0x3d, 0x0c, 0x2d, + 0x0c, 0x01, 0x98, 0xd5, 0xc0, 0x00, 0x00, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, 0xf0, + 0x12, 0xc1, 0xf0, 0x51, 0x9a, 0xd5, 0x09, 0x01, 0x02, 0x15, 0x08, 0x32, 0x15, 0x09, 0x9c, 0x40, + 0x48, 0x35, 0x1b, 0x33, 0x0b, 0x60, 0x62, 0x55, 0x08, 0x32, 0x55, 0x09, 0x22, 0x44, 0x00, 0x1b, + 0x44, 0x49, 0x35, 0x06, 0x02, 0x00, 0x21, 0x9e, 0xd5, 0x01, 0x25, 0xd3, 0xc0, 0x00, 0x00, 0x08, + 0x01, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x12, 0xc1, 0x80, 0xc2, 0x61, 0x16, 0xf2, 0x61, + 0x19, 0x32, 0x61, 0x1c, 0xd2, 0x61, 0x17, 0xe2, 0x61, 0x18, 0x02, 0x61, 0x15, 0xed, 0x02, 0x0c, + 0x00, 0xdd, 0x04, 0x0c, 0x03, 0x4d, 0x05, 0xf2, 0x21, 0x1c, 0x0c, 0x15, 0xf0, 0x35, 0x83, 0x20, + 0x05, 0x83, 0x37, 0x00, 0x09, 0x1b, 0xc1, 0x3c, 0x06, 0x62, 0x41, 0x00, 0x06, 0x12, 0x00, 0xcd, + 0x01, 0x42, 0x61, 0x1b, 0x62, 0x61, 0x14, 0x40, 0x7f, 0x31, 0x72, 0x61, 0x1a, 0xf0, 0x3f, 0x20, + 0xe0, 0x2e, 0x20, 0x52, 0x21, 0x1a, 0x42, 0x21, 0x1b, 0xc5, 0xb6, 0x01, 0x3d, 0x0f, 0x52, 0x21, + 0x1a, 0x92, 0x21, 0x14, 0x42, 0x21, 0x1b, 0x2a, 0x99, 0x92, 0x09, 0x00, 0x2d, 0x0e, 0x92, 0x4c, + 0x00, 0x1b, 0xcc, 0x45, 0x6f, 0x01, 0xed, 0x02, 0xfd, 0x03, 0x0c, 0x10, 0x30, 0x30, 0x93, 0x20, + 0x20, 0x93, 0x30, 0xa2, 0x20, 0x56, 0x4a, 0xfc, 0x0d, 0x01, 0xe2, 0x21, 0x18, 0xf2, 0x21, 0x19, + 0x0c, 0x04, 0x17, 0x1c, 0x12, 0x10, 0x2c, 0xc0, 0x0b, 0xcc, 0x32, 0x0c, 0x00, 0x32, 0x4d, 0x00, + 0x1b, 0xdd, 0xc7, 0x30, 0xf2, 0x46, 0x00, 0x00, 0x0c, 0x02, 0x02, 0x21, 0x15, 0xc2, 0x21, 0x16, + 0x42, 0x4d, 0x00, 0x32, 0xa0, 0x80, 0xd2, 0x21, 0x17, 0x3a, 0x11, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x72, 0xa0, 0xa0, 0x70, 0x11, 0xc0, 0x02, 0x61, 0x17, 0x62, 0x61, 0x23, 0x12, 0x61, 0x21, 0x42, + 0x61, 0x16, 0x52, 0x61, 0x15, 0x22, 0x61, 0x20, 0x32, 0x61, 0x13, 0xf2, 0x61, 0x1b, 0xe2, 0x61, + 0x1a, 0xc2, 0x61, 0x18, 0xd2, 0x61, 0x19, 0x0c, 0x0c, 0x0c, 0x0d, 0x0c, 0x0e, 0x0c, 0x0f, 0x32, + 0x21, 0x13, 0xd2, 0x61, 0x10, 0x22, 0x03, 0x00, 0x1b, 0x33, 0x16, 0x42, 0x49, 0xc2, 0x61, 0x12, + 0x32, 0x61, 0x13, 0x2c, 0x5a, 0xa7, 0x92, 0x1e, 0x3c, 0x04, 0x2c, 0xdb, 0x1b, 0x03, 0xc2, 0x03, + 0x00, 0x02, 0x61, 0x13, 0xb7, 0x9c, 0x4a, 0xc2, 0x03, 0x01, 0x0c, 0x12, 0x22, 0x61, 0x1c, 0x2b, + 0x33, 0x32, 0x61, 0x13, 0xc6, 0x0f, 0x00, 0x02, 0x21, 0x20, 0xc0, 0x00, 0x00, 0xc2, 0x61, 0x12, + 0xd2, 0x61, 0x10, 0x06, 0x08, 0x00, 0x1c, 0x82, 0x07, 0x22, 0x04, 0x2c, 0x43, 0x32, 0x61, 0x23, + 0x02, 0x21, 0x16, 0x22, 0x21, 0x23, 0xd2, 0x61, 0x10, 0x0a, 0x22, 0x22, 0xd2, 0xff, 0x02, 0x21, + 0x20, 0x22, 0x02, 0xfc, 0xc0, 0x00, 0x00, 0xd2, 0x21, 0x10, 0xc2, 0x21, 0x12, 0x1b, 0xdd, 0x06, + 0xe3, 0xff, 0x0c, 0x03, 0x32, 0x61, 0x1c, 0x2c, 0xf9, 0x0c, 0x03, 0x47, 0x9c, 0x12, 0x62, 0x21, + 0x13, 0x0c, 0x15, 0x52, 0x61, 0x1d, 0xc2, 0x06, 0x00, 0x1b, 0x66, 0x62, 0x61, 0x13, 0x06, 0x01, + 0x00, 0x0c, 0x07, 0x72, 0x61, 0x1d, 0x02, 0x21, 0x13, 0xc7, 0xb9, 0x15, 0x3c, 0x98, 0xc7, 0x38, + 0x10, 0x30, 0x33, 0xa0, 0xc0, 0x33, 0x90, 0xc2, 0x00, 0x00, 0x32, 0xc3, 0xd0, 0x1b, 0x00, 0x86, + 0xf9, 0xff, 0x32, 0x61, 0x14, 0xa2, 0xa0, 0x6c, 0x02, 0x61, 0x13, 0x2c, 0xe4, 0x47, 0x9c, 0x2a, + 0x52, 0x21, 0x13, 0x62, 0x21, 0x1d, 0xc2, 0x05, 0x00, 0x1b, 0x66, 0x62, 0x61, 0x1d, 0x1b, 0x55, + 0x52, 0x61, 0x13, 0x2c, 0xf7, 0xc7, 0xb7, 0x12, 0x3c, 0x98, 0xc7, 0x38, 0x0d, 0x92, 0x21, 0x13, + 0xc2, 0x09, 0x00, 0x1b, 0x99, 0x92, 0x61, 0x13, 0xc6, 0xf9, 0xff, 0x4c, 0x23, 0xa7, 0x9c, 0x1f, + 0x02, 0x21, 0x13, 0x0c, 0x19, 0xc2, 0x00, 0x00, 0x1b, 0x00, 0x02, 0x61, 0x13, 0xb2, 0xcc, 0x94, + 0x56, 0xbb, 0x26, 0xc2, 0x00, 0x00, 0x1b, 0x20, 0x22, 0x61, 0x13, 0x0c, 0x10, 0x06, 0x98, 0x00, + 0x0c, 0x00, 0x0c, 0x09, 0x37, 0x9c, 0x02, 0x06, 0x2f, 0x00, 0x4c, 0x44, 0x47, 0x9c, 0x02, 0x06, + 0x2d, 0x00, 0x5c, 0x55, 0x57, 0x9c, 0x02, 0x06, 0x2b, 0x00, 0x5c, 0x86, 0x67, 0x9c, 0x02, 0x06, + 0x29, 0x00, 0x72, 0xa0, 0x62, 0x77, 0x9c, 0x02, 0xc6, 0x26, 0x00, 0x82, 0xa0, 0x64, 0x87, 0x9c, + 0x02, 0x86, 0x24, 0x00, 0xa2, 0xa0, 0x70, 0xa7, 0x9c, 0x02, 0xc6, 0x21, 0x00, 0xb2, 0xa0, 0x75, + 0xb7, 0x9c, 0x02, 0x06, 0x20, 0x00, 0x22, 0xa0, 0x78, 0x27, 0x1c, 0x7a, 0x0c, 0x03, 0x32, 0x61, + 0x1f, 0x42, 0xa0, 0x62, 0x47, 0xac, 0x02, 0x46, 0x2d, 0x00, 0x52, 0xa0, 0x62, 0xc7, 0x25, 0x02, + 0x86, 0x38, 0x00, 0x62, 0xa0, 0x73, 0x67, 0xac, 0x02, 0x86, 0x84, 0x00, 0x72, 0xa0, 0x73, 0xc7, + 0x27, 0x02, 0x46, 0x90, 0x00, 0x82, 0xa0, 0x78, 0x87, 0xac, 0x02, 0xc6, 0xcf, 0x00, 0x92, 0xa0, + 0x78, 0xc7, 0xa9, 0x02, 0x46, 0x93, 0x00, 0xa2, 0xcc, 0xbc, 0x16, 0xca, 0x31, 0xb2, 0xcc, 0xab, + 0x16, 0x6b, 0x31, 0x02, 0xcc, 0xa8, 0x16, 0x20, 0x35, 0x22, 0xcc, 0x9c, 0x16, 0xa2, 0x30, 0x32, + 0xa0, 0x70, 0x37, 0x1c, 0x0b, 0x42, 0xcc, 0x8b, 0x16, 0xe4, 0x2f, 0x52, 0xcc, 0x88, 0x56, 0xe5, + 0x0d, 0x3d, 0x0e, 0x2d, 0x0f, 0x4d, 0x01, 0x1c, 0x05, 0x61, 0xee, 0xd4, 0x85, 0xd4, 0xff, 0x22, + 0x61, 0x12, 0x86, 0x32, 0x00, 0x0c, 0x19, 0x16, 0x90, 0x19, 0x1c, 0x86, 0x72, 0x21, 0x23, 0x7c, + 0x8a, 0x7b, 0x97, 0xa0, 0x99, 0x10, 0x8b, 0x79, 0x72, 0x61, 0x23, 0x77, 0x26, 0x05, 0x82, 0x21, + 0x15, 0x06, 0x03, 0x00, 0x1c, 0x8b, 0x97, 0x2b, 0x04, 0x2c, 0x8e, 0xe2, 0x61, 0x23, 0x82, 0x21, + 0x16, 0xf2, 0x21, 0x23, 0x8a, 0xff, 0xf2, 0xdf, 0xff, 0xe2, 0x2f, 0x3f, 0xf2, 0x2f, 0x3e, 0x22, + 0xcc, 0x9c, 0x16, 0x32, 0x13, 0x32, 0xcc, 0xbc, 0x16, 0xd3, 0x12, 0x0c, 0x0e, 0xc6, 0xce, 0xff, + 0x4c, 0x46, 0x67, 0x2c, 0x20, 0x4c, 0x47, 0xc7, 0x27, 0x02, 0x46, 0xda, 0xff, 0x5c, 0x58, 0x87, + 0xac, 0x02, 0x06, 0x63, 0x00, 0x5c, 0x59, 0xc7, 0x29, 0x02, 0x46, 0xd6, 0xff, 0xa2, 0xcc, 0xa8, + 0x56, 0x1a, 0x1a, 0x06, 0xd4, 0xff, 0x4c, 0x2b, 0xb7, 0xac, 0x02, 0xc6, 0x6a, 0x00, 0x4c, 0x22, + 0xc7, 0xa2, 0x02, 0x46, 0x7a, 0x00, 0x32, 0x21, 0x14, 0x32, 0x61, 0x12, 0xcc, 0x83, 0x2c, 0x06, + 0x4c, 0x05, 0x00, 0x56, 0x83, 0x52, 0x61, 0x12, 0x72, 0x21, 0x12, 0xd2, 0x61, 0x10, 0x0b, 0x77, + 0x72, 0x61, 0x22, 0xa6, 0x17, 0x29, 0x0c, 0x0c, 0xdd, 0x01, 0xe0, 0x3e, 0x20, 0xf0, 0x2f, 0x20, + 0xc0, 0x4c, 0x20, 0xc5, 0x1e, 0x02, 0x1b, 0xcc, 0x20, 0xb0, 0x04, 0x3c, 0x19, 0x2c, 0xe0, 0x82, + 0x21, 0x22, 0xb0, 0x09, 0x93, 0x02, 0x4d, 0x00, 0x1b, 0xdd, 0xc7, 0x98, 0xdc, 0xd2, 0x21, 0x10, + 0x12, 0x61, 0x21, 0x02, 0x21, 0x1d, 0x32, 0x21, 0x12, 0x22, 0x21, 0x14, 0x42, 0x21, 0x1f, 0x30, + 0x22, 0xc0, 0x0b, 0x32, 0x40, 0x23, 0x93, 0x22, 0x61, 0x1e, 0x9c, 0x70, 0x42, 0x21, 0x1f, 0x8c, + 0xd4, 0x02, 0x21, 0x20, 0x2d, 0x04, 0xc0, 0x00, 0x00, 0x1b, 0xdd, 0x0c, 0x02, 0x22, 0x61, 0x1f, + 0x3c, 0x0c, 0x46, 0x00, 0x00, 0x2c, 0x0c, 0x32, 0x21, 0x1c, 0x02, 0x21, 0x1e, 0xec, 0x03, 0x1b, + 0x00, 0x06, 0x03, 0x00, 0x02, 0x21, 0x20, 0x2d, 0x0c, 0xc0, 0x00, 0x00, 0x02, 0x21, 0x11, 0x1b, + 0xdd, 0x22, 0x21, 0x1e, 0x0b, 0x00, 0x02, 0x61, 0x11, 0x0b, 0x22, 0x22, 0x61, 0x1e, 0xe6, 0x10, + 0xe2, 0x32, 0x21, 0x1f, 0xc2, 0x21, 0x12, 0x8c, 0x83, 0x02, 0x21, 0x20, 0x2d, 0x03, 0xc0, 0x00, + 0x00, 0x1b, 0xdd, 0x1b, 0x0c, 0x46, 0x05, 0x00, 0x32, 0x21, 0x21, 0x02, 0x21, 0x20, 0x22, 0x03, + 0x00, 0x1b, 0x33, 0x32, 0x61, 0x21, 0xc0, 0x00, 0x00, 0x02, 0x21, 0x24, 0x1b, 0xdd, 0x0b, 0xcc, + 0x0b, 0x00, 0x02, 0x61, 0x24, 0xe6, 0x10, 0xdf, 0x42, 0x21, 0x1c, 0x16, 0x04, 0xcc, 0x52, 0x21, + 0x1e, 0x1b, 0x55, 0x52, 0x61, 0x11, 0x86, 0x32, 0x00, 0x0c, 0x0a, 0x0c, 0x09, 0xe6, 0x1e, 0x06, + 0xcc, 0x1e, 0xa7, 0xbf, 0x01, 0x0c, 0x19, 0x16, 0x19, 0xe0, 0x2c, 0xd6, 0x7c, 0xf8, 0x80, 0xee, + 0x30, 0x62, 0x61, 0x1f, 0x1b, 0x7e, 0xf0, 0xe7, 0x83, 0xf0, 0xf0, 0x60, 0x46, 0x7c, 0xff, 0x0c, + 0x00, 0xc6, 0x67, 0xff, 0x16, 0xf9, 0x15, 0xb2, 0x21, 0x23, 0x1c, 0x8a, 0x9d, 0x0b, 0x4b, 0xbb, + 0xb2, 0x61, 0x23, 0xb7, 0xaa, 0x02, 0x06, 0x26, 0x00, 0x82, 0x21, 0x15, 0xc6, 0x27, 0x00, 0x02, + 0xa0, 0x64, 0x07, 0x2c, 0x49, 0x22, 0xa0, 0x64, 0xc7, 0x22, 0x02, 0x06, 0x7e, 0xff, 0x32, 0xa0, + 0x70, 0x37, 0x9c, 0x40, 0x02, 0x21, 0x20, 0x3c, 0x02, 0xc0, 0x00, 0x00, 0x02, 0x21, 0x20, 0x22, + 0xa0, 0x78, 0xc0, 0x00, 0x00, 0x0c, 0x82, 0x0c, 0x13, 0x32, 0x61, 0x1d, 0x22, 0x61, 0x14, 0x06, + 0x75, 0xff, 0x5c, 0x34, 0x47, 0x9c, 0x1d, 0x62, 0x21, 0x23, 0x1c, 0x85, 0x0d, 0x06, 0x4b, 0x66, + 0x62, 0x61, 0x23, 0x67, 0xa5, 0x02, 0xc6, 0x20, 0x00, 0x02, 0x21, 0x15, 0x86, 0x22, 0x00, 0x72, + 0xa0, 0x63, 0x77, 0x1c, 0x5f, 0x02, 0x21, 0x20, 0x2c, 0x52, 0xc0, 0x00, 0x00, 0x02, 0x21, 0x20, + 0x2d, 0x0c, 0xc0, 0x00, 0x00, 0x2b, 0xdd, 0x06, 0xaa, 0xff, 0x2c, 0x52, 0x27, 0x9c, 0xe5, 0x02, + 0x21, 0x20, 0x2c, 0x52, 0xc0, 0x00, 0x00, 0x06, 0xa6, 0xff, 0x02, 0x21, 0x20, 0x2c, 0x02, 0xc0, + 0x00, 0x00, 0x1b, 0xdd, 0x22, 0x21, 0x11, 0x0b, 0x22, 0x22, 0x61, 0x11, 0xe6, 0x12, 0xea, 0x06, + 0xf7, 0xfe, 0x1c, 0x83, 0x97, 0x23, 0x04, 0x2c, 0x44, 0x42, 0x61, 0x23, 0x82, 0x21, 0x16, 0xf2, + 0x21, 0x23, 0x8a, 0xff, 0xf2, 0xdf, 0xff, 0xf2, 0x2f, 0x3f, 0xf0, 0xef, 0x31, 0x86, 0x73, 0xff, + 0x4c, 0x30, 0x07, 0x9c, 0x9f, 0x32, 0x21, 0x23, 0x1c, 0x82, 0x0d, 0x03, 0x4b, 0x33, 0x32, 0x61, + 0x23, 0x37, 0xa2, 0x02, 0x86, 0xfb, 0xfe, 0x02, 0x21, 0x15, 0x46, 0xfd, 0xfe, 0x1c, 0x84, 0x07, + 0x24, 0x04, 0x2c, 0x45, 0x52, 0x61, 0x23, 0x02, 0x21, 0x16, 0x62, 0x21, 0x23, 0x71, 0x46, 0xd4, + 0x0a, 0x66, 0x62, 0xd6, 0xff, 0x62, 0x26, 0x3f, 0x60, 0x67, 0x83, 0x62, 0x61, 0x21, 0x62, 0x06, + 0x00, 0x82, 0x21, 0x21, 0x16, 0x86, 0x08, 0x0c, 0x07, 0x72, 0x61, 0x12, 0x92, 0x08, 0x01, 0x02, + 0x21, 0x12, 0x1b, 0x88, 0x1b, 0x00, 0x02, 0x61, 0x12, 0x56, 0xf9, 0xfe, 0x02, 0x61, 0x12, 0x06, + 0x80, 0xff, 0x02, 0x21, 0x17, 0xc2, 0x21, 0x18, 0xe2, 0x21, 0x1a, 0xf2, 0x21, 0x1b, 0x2d, 0x0d, + 0x32, 0xa0, 0xa0, 0xd2, 0x21, 0x19, 0x3a, 0x11, 0x0d, 0xf0, 0x3d, 0x0e, 0x2d, 0x0f, 0x4d, 0x01, + 0x0c, 0xa5, 0x61, 0x32, 0xd4, 0x05, 0xa5, 0xff, 0x22, 0x61, 0x12, 0x46, 0x74, 0xff, 0xa2, 0xcc, + 0x8b, 0x56, 0x0a, 0xf1, 0xc6, 0x2f, 0xff, 0xe2, 0x21, 0x23, 0x1c, 0x8b, 0x9d, 0x0e, 0x4b, 0xee, + 0xe2, 0x61, 0x23, 0xe7, 0x2b, 0x05, 0x82, 0x21, 0x15, 0x86, 0xd0, 0xff, 0x1c, 0x8f, 0x97, 0x2f, + 0x04, 0x2c, 0x42, 0x22, 0x61, 0x23, 0x82, 0x21, 0x16, 0x86, 0xcc, 0xff, 0x3d, 0x0e, 0x2d, 0x0f, + 0x4d, 0x01, 0x1c, 0x05, 0x61, 0x23, 0xd4, 0x05, 0xa1, 0xff, 0x22, 0x61, 0x12, 0xc6, 0x63, 0xff, + 0x0c, 0x03, 0x32, 0x61, 0x12, 0x86, 0x62, 0xff, 0x41, 0x1f, 0xd4, 0x48, 0x04, 0x0c, 0x03, 0x22, + 0x64, 0x2a, 0x32, 0x64, 0x2b, 0x0d, 0xf0, 0x00, 0x51, 0x1c, 0xd4, 0x41, 0x1c, 0xd4, 0x21, 0x19, + 0xd4, 0x12, 0xc1, 0xf0, 0x02, 0x61, 0x00, 0x22, 0x22, 0x00, 0x22, 0x61, 0x01, 0x32, 0x22, 0x2b, + 0x22, 0x22, 0x2a, 0xc5, 0xc4, 0x00, 0x08, 0x11, 0x4d, 0x02, 0x1b, 0x22, 0x47, 0xb2, 0x14, 0x22, + 0x60, 0x2a, 0x41, 0x9d, 0xd2, 0x1b, 0x23, 0x22, 0x60, 0x2b, 0x40, 0x22, 0x10, 0x08, 0x01, 0x12, + 0xc1, 0x10, 0x0d, 0xf0, 0x22, 0x60, 0x2a, 0x32, 0x60, 0x2b, 0x21, 0x97, 0xd2, 0x08, 0x01, 0x20, + 0x23, 0x10, 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x82, 0x02, 0x00, 0x92, 0x03, 0x00, 0x0c, 0x3a, + 0x97, 0x98, 0x4c, 0x30, 0xb2, 0x20, 0xa7, 0x0b, 0x4e, 0x30, 0xb2, 0x30, 0xa7, 0x8b, 0x30, 0x1b, + 0x22, 0x16, 0x38, 0x09, 0x1b, 0x33, 0xa7, 0x02, 0x3e, 0x82, 0x02, 0x00, 0x92, 0x03, 0x00, 0x1b, + 0x22, 0x97, 0x98, 0x2b, 0x16, 0x08, 0x08, 0x1b, 0x33, 0xa7, 0x02, 0x2b, 0x82, 0x02, 0x00, 0x92, + 0x03, 0x00, 0x1b, 0x22, 0x97, 0x98, 0x18, 0x16, 0xd8, 0x06, 0x1b, 0x33, 0x06, 0x06, 0x00, 0x00, + 0x82, 0x02, 0x00, 0x92, 0x03, 0x00, 0x1b, 0x22, 0x97, 0x98, 0x04, 0x1b, 0x33, 0x56, 0xf8, 0xfe, + 0x90, 0x28, 0xc0, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x42, 0xa0, 0xff, 0x71, 0xf5, 0xd3, 0xc6, 0x00, + 0x00, 0x4b, 0x22, 0x4b, 0x33, 0x88, 0x02, 0x98, 0x03, 0xf0, 0x58, 0x11, 0x97, 0x98, 0x3c, 0x50, + 0x98, 0x20, 0x77, 0x49, 0xeb, 0x47, 0x08, 0x2f, 0x51, 0xeb, 0xd3, 0x61, 0x8f, 0xd1, 0x57, 0x08, + 0x26, 0x71, 0xe9, 0xd3, 0x67, 0x08, 0x20, 0x77, 0x08, 0x1d, 0x4b, 0x22, 0x4b, 0x33, 0x46, 0x00, + 0x00, 0x4b, 0x33, 0x88, 0x02, 0x98, 0x03, 0x4b, 0x22, 0x97, 0x98, 0x0f, 0x47, 0x08, 0x08, 0x57, + 0x08, 0x05, 0x67, 0x08, 0x02, 0x77, 0x88, 0xe8, 0x0c, 0x02, 0x0d, 0xf0, 0x90, 0x28, 0x30, 0x47, + 0x82, 0x21, 0x51, 0xdc, 0xd3, 0x47, 0x08, 0xef, 0x57, 0x82, 0x24, 0x61, 0x7f, 0xd1, 0x57, 0x08, + 0xe6, 0x67, 0x82, 0x27, 0x67, 0x08, 0xe0, 0x80, 0xa8, 0x75, 0x90, 0xb8, 0x75, 0xb0, 0x2a, 0xc0, + 0x0d, 0xf0, 0x00, 0x00, 0x80, 0xa0, 0x74, 0x90, 0xb0, 0x74, 0xb0, 0x2a, 0xc0, 0x0d, 0xf0, 0x00, + 0x80, 0xa8, 0x74, 0x90, 0xb8, 0x74, 0xb0, 0x2a, 0xc0, 0x0d, 0xf0, 0x00, 0x80, 0xa0, 0x75, 0x90, + 0xb0, 0x75, 0xb0, 0x2a, 0xc0, 0x0d, 0xf0, 0x00, 0x67, 0xc3, 0x04, 0x70, 0x72, 0x11, 0x8c, 0x07, + 0x0d, 0xf0, 0x2d, 0x03, 0x0d, 0xf0, 0x00, 0x00, 0x80, 0x76, 0x11, 0x70, 0x33, 0x30, 0xc6, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x61, 0xc8, 0xd3, 0x30, 0x72, 0x30, 0x96, 0xa7, 0xfe, 0x67, 0x42, 0xd7, + 0x67, 0x43, 0xde, 0x20, 0x77, 0x85, 0x30, 0x87, 0x85, 0x87, 0x37, 0x4c, 0x67, 0x03, 0x28, 0x60, + 0x33, 0x20, 0x80, 0x33, 0x11, 0x30, 0x38, 0x41, 0x80, 0xa7, 0xc0, 0xf6, 0xca, 0x29, 0x00, 0x0a, + 0x40, 0x0c, 0x09, 0x90, 0x93, 0x81, 0x30, 0x30, 0x91, 0x3a, 0x22, 0x20, 0xa7, 0x85, 0x77, 0x1a, + 0x4a, 0x8d, 0x07, 0x46, 0x15, 0x00, 0x00, 0x00, 0x70, 0x33, 0x11, 0x30, 0x39, 0x41, 0x67, 0x02, + 0x04, 0x1b, 0x88, 0x46, 0xf4, 0xff, 0x3a, 0x22, 0x0d, 0xf0, 0x00, 0x00, 0x70, 0x22, 0x11, 0x20, + 0x29, 0x41, 0x1b, 0x77, 0x46, 0x03, 0x00, 0x00, 0x00, 0x67, 0x02, 0xef, 0x60, 0x22, 0x20, 0x80, + 0x22, 0x11, 0x20, 0x28, 0x41, 0x70, 0xa8, 0xc0, 0xf6, 0xca, 0x1c, 0x00, 0x0a, 0x40, 0x00, 0x92, + 0xa1, 0x20, 0x20, 0x91, 0x3a, 0x22, 0x20, 0xa7, 0x85, 0x87, 0x9a, 0x0f, 0xd6, 0x69, 0x00, 0x1b, + 0x22, 0xf0, 0x99, 0x11, 0xac, 0xc9, 0x0d, 0xf0, 0x2d, 0x03, 0x0d, 0xf0, 0xad, 0x02, 0x20, 0x21, + 0x41, 0x1b, 0x88, 0xa0, 0x88, 0x01, 0x8a, 0x22, 0x67, 0x42, 0x08, 0x07, 0x6a, 0x03, 0x1b, 0x22, + 0x9c, 0x09, 0x0d, 0xf0, 0x20, 0x27, 0x85, 0x90, 0x22, 0x01, 0xf0, 0x88, 0x11, 0x80, 0x22, 0x20, + 0x0d, 0xf0, 0x00, 0x00, 0x20, 0x21, 0x41, 0xf0, 0x22, 0x11, 0x0d, 0xf0, 0x67, 0xc3, 0x05, 0x41, + 0x16, 0xd3, 0x40, 0x22, 0x20, 0x0d, 0xf0, 0x00, 0x80, 0x76, 0x11, 0x70, 0x23, 0x30, 0x0d, 0xf0, + 0x80, 0x76, 0x11, 0x70, 0x33, 0x30, 0xc6, 0xc8, 0xff, 0x00, 0x00, 0x00, 0x61, 0x8e, 0xd3, 0x30, + 0x72, 0x30, 0x96, 0xa7, 0xfe, 0x67, 0x42, 0xd3, 0x67, 0x43, 0xdc, 0x20, 0x77, 0x75, 0x30, 0x87, + 0x75, 0x37, 0x32, 0x4b, 0x67, 0x03, 0x2d, 0x60, 0x33, 0x20, 0x80, 0x33, 0x11, 0x30, 0x38, 0x41, + 0x80, 0xa7, 0xc0, 0xf6, 0xca, 0x37, 0x00, 0x0a, 0x40, 0x0c, 0x09, 0x90, 0x93, 0x81, 0x30, 0x30, + 0x91, 0x30, 0x22, 0xc0, 0x90, 0x90, 0x60, 0x0b, 0xa2, 0x90, 0x2a, 0x93, 0x20, 0xa7, 0x75, 0x77, + 0x1a, 0x51, 0xc6, 0x1b, 0x00, 0x37, 0x12, 0x68, 0x70, 0x33, 0x11, 0x30, 0x39, 0x41, 0x67, 0x02, + 0xce, 0x1b, 0x88, 0x46, 0xf2, 0xff, 0x00, 0x00, 0x80, 0x76, 0x11, 0x70, 0x23, 0x30, 0x0d, 0xf0, + 0x67, 0x02, 0x3c, 0x60, 0x22, 0x20, 0x80, 0x22, 0x11, 0x20, 0x28, 0x41, 0x70, 0xa8, 0xc0, 0xf6, + 0xca, 0xe5, 0x00, 0x0a, 0x40, 0x0c, 0x09, 0x90, 0x92, 0x81, 0x20, 0x20, 0x91, 0x80, 0xb6, 0x11, + 0xb0, 0x33, 0x30, 0x20, 0x23, 0xc0, 0x90, 0x90, 0x60, 0x0b, 0xa2, 0x90, 0x2a, 0x93, 0x20, 0xa7, + 0x75, 0x87, 0x9a, 0x20, 0xd6, 0x69, 0x00, 0x1b, 0x22, 0xf0, 0x99, 0x11, 0xbc, 0xc9, 0x0d, 0xf0, + 0x37, 0x12, 0x0d, 0x70, 0x22, 0x11, 0x20, 0x29, 0x41, 0x67, 0x03, 0xbf, 0x1b, 0x77, 0x86, 0xee, + 0xff, 0x0c, 0x02, 0x0d, 0xf0, 0x70, 0x82, 0x11, 0xac, 0x88, 0x60, 0xf8, 0x40, 0x80, 0x89, 0x41, + 0xa7, 0xa6, 0x2e, 0x1b, 0x66, 0x00, 0x16, 0x40, 0x90, 0x88, 0x81, 0x00, 0x99, 0xa1, 0x20, 0x27, + 0x85, 0x60, 0x22, 0xc0, 0x90, 0x22, 0x01, 0x8a, 0x22, 0xc6, 0xed, 0xff, 0x20, 0x21, 0x41, 0xf0, + 0x22, 0x11, 0x0d, 0xf0, 0x16, 0x99, 0xfc, 0xb2, 0xca, 0xe8, 0x1c, 0x86, 0xb0, 0x6a, 0xa3, 0x86, + 0xf4, 0xff, 0x6d, 0x0a, 0x46, 0xf3, 0xff, 0x00, 0xf0, 0x22, 0x11, 0x20, 0x21, 0x41, 0xac, 0xe2, + 0xa0, 0xf2, 0x40, 0xa2, 0xca, 0xf8, 0x00, 0x1a, 0x40, 0x00, 0x22, 0xa1, 0x0c, 0x18, 0xa0, 0x88, + 0xc0, 0xc6, 0x1e, 0x00, 0xf0, 0x33, 0x11, 0x30, 0x31, 0x41, 0x9c, 0x23, 0xa0, 0xf3, 0x40, 0xa2, + 0xca, 0xf8, 0x00, 0x1a, 0x40, 0x00, 0x33, 0xa1, 0x0c, 0x19, 0xa0, 0x99, 0xc0, 0x86, 0x18, 0x00, + 0x70, 0x2f, 0x05, 0x10, 0x22, 0x01, 0x06, 0x34, 0x00, 0xf0, 0x83, 0x11, 0xcc, 0x88, 0x41, 0xbe, + 0xd2, 0x40, 0x22, 0x20, 0x86, 0x30, 0x00, 0x00, 0x67, 0xc3, 0x06, 0x70, 0x83, 0x11, 0x8c, 0x08, + 0x2d, 0x03, 0x70, 0x7f, 0x05, 0xf0, 0x22, 0x11, 0x00, 0x41, 0x40, 0x20, 0x27, 0x81, 0x06, 0x2a, + 0x00, 0xf0, 0x82, 0x11, 0x56, 0x88, 0xfe, 0x71, 0xb4, 0xd2, 0x70, 0x23, 0x20, 0x46, 0x26, 0x00, + 0x12, 0xc1, 0xe0, 0xc9, 0x41, 0xd9, 0x51, 0xe9, 0x61, 0xf9, 0x71, 0x61, 0x2e, 0xd3, 0x30, 0x72, + 0x30, 0x67, 0x42, 0xb4, 0x67, 0x43, 0xd9, 0x20, 0x87, 0x75, 0x30, 0x97, 0x75, 0x16, 0x78, 0xf6, + 0x16, 0x09, 0xf8, 0x9a, 0x88, 0xa1, 0x78, 0xd2, 0x60, 0x22, 0x20, 0xa0, 0x22, 0x10, 0x60, 0x33, + 0x20, 0xa0, 0x33, 0x10, 0x20, 0x40, 0xf5, 0x30, 0x50, 0xf5, 0x50, 0x62, 0xc1, 0x30, 0xb4, 0xc1, + 0x0c, 0x09, 0xba, 0x66, 0xb7, 0xb6, 0x01, 0x1b, 0x99, 0x10, 0x40, 0x40, 0x60, 0x99, 0x81, 0x30, + 0xb2, 0xc1, 0x00, 0x66, 0xa1, 0xba, 0x66, 0xb7, 0xb6, 0x01, 0x1b, 0x99, 0x50, 0x24, 0xc1, 0x9a, + 0x22, 0x0c, 0x94, 0x20, 0x5f, 0x41, 0x8c, 0x25, 0x0b, 0x44, 0x1b, 0x88, 0x00, 0x14, 0x40, 0x60, + 0x22, 0x81, 0x00, 0x66, 0xa1, 0x42, 0xa0, 0x80, 0x40, 0x88, 0xc0, 0x42, 0xa0, 0xfe, 0x47, 0xb8, + 0x2f, 0xd6, 0x76, 0x00, 0x1b, 0x22, 0xf0, 0x66, 0x11, 0x16, 0xb6, 0x01, 0x90, 0x88, 0x01, 0x8a, + 0x22, 0x70, 0x7f, 0x05, 0x10, 0x77, 0x01, 0x70, 0x22, 0x20, 0xc8, 0x41, 0xd8, 0x51, 0xe8, 0x61, + 0xf8, 0x71, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x20, 0x21, 0x41, 0xf0, 0x22, 0x11, 0x86, 0xf6, + 0xff, 0x96, 0x88, 0x00, 0x82, 0xa0, 0xff, 0x90, 0x28, 0x01, 0xc6, 0xf4, 0xff, 0x80, 0x80, 0x60, + 0x9d, 0x06, 0x00, 0x08, 0x40, 0xf6, 0xc8, 0x13, 0x00, 0x62, 0xa1, 0x20, 0x20, 0x91, 0x0c, 0x08, + 0x16, 0xd9, 0xfa, 0x0c, 0x19, 0x90, 0x66, 0x20, 0x46, 0xe9, 0xff, 0x00, 0x70, 0x2f, 0x05, 0x10, + 0x22, 0x01, 0x06, 0xed, 0xff, 0x00, 0x00, 0x00, 0xf0, 0x33, 0x11, 0x30, 0x31, 0x41, 0x9c, 0x33, + 0xa0, 0xf3, 0x40, 0xa2, 0xca, 0xf8, 0x00, 0x1a, 0x40, 0x00, 0x33, 0xa1, 0x0c, 0x19, 0xa0, 0x99, + 0xc0, 0x06, 0x1d, 0x00, 0x00, 0xf0, 0x42, 0x11, 0x40, 0x41, 0x41, 0x70, 0x2f, 0x05, 0x10, 0x22, + 0x01, 0x60, 0x22, 0x20, 0xcc, 0x44, 0x41, 0x6c, 0xd2, 0x40, 0x22, 0x20, 0x0d, 0xf0, 0x00, 0x00, + 0xf0, 0x22, 0x11, 0x20, 0x21, 0x41, 0x9c, 0x22, 0xa0, 0xf2, 0x40, 0xa2, 0xca, 0xf8, 0x00, 0x1a, + 0x40, 0x00, 0x22, 0xa1, 0x0c, 0x18, 0xa0, 0x88, 0xc0, 0xc6, 0x0f, 0x00, 0x70, 0x2f, 0x05, 0x10, + 0x22, 0x01, 0x0d, 0xf0, 0x30, 0x7f, 0x05, 0x10, 0x77, 0x01, 0x70, 0x22, 0x30, 0x67, 0xc3, 0x05, + 0x41, 0x5e, 0xd2, 0x40, 0x22, 0x20, 0x0d, 0xf0, 0x70, 0x83, 0x11, 0x16, 0xd8, 0xfd, 0x2d, 0x03, + 0x0d, 0xf0, 0x00, 0x00, 0x61, 0xd8, 0xd2, 0x30, 0x72, 0x30, 0x67, 0x42, 0xd6, 0x67, 0x43, 0xe7, + 0x20, 0x87, 0x75, 0x30, 0x97, 0x75, 0x16, 0xe9, 0xf6, 0x16, 0x38, 0xfa, 0x90, 0x88, 0xc0, 0xa1, + 0x22, 0xd2, 0x60, 0x22, 0x20, 0xa0, 0x22, 0x10, 0x60, 0x33, 0x20, 0xa0, 0x33, 0x10, 0x27, 0x33, + 0x04, 0xf0, 0x22, 0x11, 0x0b, 0x88, 0x30, 0x22, 0xc0, 0xf0, 0x22, 0x11, 0x0c, 0x1a, 0x92, 0xa0, + 0x17, 0xf0, 0xaa, 0x11, 0x37, 0x32, 0x04, 0x1b, 0xaa, 0x30, 0x22, 0xc0, 0xf0, 0x22, 0x11, 0x0b, + 0x99, 0x56, 0xc9, 0xfe, 0x82, 0xc8, 0x7e, 0x42, 0xa0, 0xfe, 0x47, 0xb8, 0x17, 0x37, 0x32, 0x04, + 0x1b, 0xaa, 0x37, 0x12, 0x1a, 0x90, 0x88, 0x01, 0x8a, 0x2a, 0x70, 0x7f, 0x05, 0x10, 0x77, 0x01, + 0x70, 0x22, 0x20, 0x0d, 0xf0, 0x96, 0x08, 0x01, 0x1b, 0x84, 0x90, 0x28, 0x01, 0x46, 0xfa, 0xff, + 0xa0, 0xa1, 0x41, 0xf0, 0xaa, 0x11, 0xc6, 0xf6, 0xff, 0x80, 0x80, 0x60, 0x00, 0x08, 0x40, 0xf6, + 0xc8, 0x22, 0x00, 0x6a, 0xa1, 0xa0, 0xa0, 0x91, 0x0c, 0x08, 0x8c, 0x32, 0x0c, 0x19, 0x90, 0x66, + 0x20, 0xd6, 0x06, 0xfc, 0x1b, 0xaa, 0xf0, 0x66, 0x11, 0x56, 0x86, 0xfb, 0xa0, 0xa1, 0x41, 0xf0, + 0xaa, 0x11, 0xc6, 0xeb, 0xff, 0x70, 0x2f, 0x05, 0x10, 0x22, 0x01, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x61, 0xa9, 0xd2, 0x67, 0x42, 0x22, 0x20, 0x47, 0x75, 0x42, 0xc4, 0x82, 0xe6, 0xc4, 0x20, 0xa6, + 0x14, 0x29, 0x60, 0x72, 0x20, 0x80, 0x57, 0x11, 0x00, 0x14, 0x40, 0x50, 0x50, 0x91, 0x50, 0x20, + 0x60, 0x70, 0x25, 0xb3, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x70, 0x42, 0x11, 0x8c, 0x04, 0x0c, 0x02, + 0x80, 0x46, 0x11, 0x0b, 0x54, 0x20, 0x45, 0xb3, 0x2d, 0x04, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, 0xf0, + 0x61, 0x99, 0xd2, 0x67, 0x42, 0x25, 0x20, 0x47, 0x75, 0x42, 0xc4, 0x81, 0xe6, 0xc4, 0x25, 0x96, + 0xe4, 0x02, 0x60, 0x72, 0x20, 0x80, 0x57, 0x11, 0x1b, 0x44, 0x26, 0xc4, 0x27, 0x00, 0x14, 0x40, + 0x50, 0x50, 0x91, 0x50, 0x20, 0x60, 0x70, 0x25, 0xb3, 0x0d, 0xf0, 0x00, 0x70, 0x42, 0x11, 0x8c, + 0x24, 0x7c, 0xf2, 0x0d, 0xf0, 0x80, 0x46, 0x11, 0x7c, 0xf5, 0x20, 0x45, 0xb3, 0x2d, 0x04, 0x0d, + 0xf0, 0x0c, 0x02, 0x0d, 0xf0, 0x96, 0x32, 0x00, 0x2d, 0x05, 0x0d, 0xf0, 0x80, 0x26, 0x11, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x33, 0x11, 0x30, 0x31, 0x41, 0x20, 0xa3, 0x20, 0x16, 0x4a, 0x08, + 0x9c, 0x53, 0xa0, 0xf3, 0x40, 0xa2, 0xca, 0xf5, 0x00, 0x1a, 0x40, 0x20, 0x33, 0x81, 0x00, 0x22, + 0xa1, 0x0c, 0x18, 0xa0, 0x88, 0xc0, 0x86, 0x36, 0x00, 0xa0, 0xf2, 0x40, 0xa2, 0xca, 0xf5, 0x6c, + 0x18, 0xa0, 0x88, 0xc0, 0x00, 0x1a, 0x40, 0x96, 0x9a, 0x00, 0x00, 0x32, 0xa1, 0x0c, 0x02, 0x46, + 0x30, 0x00, 0x00, 0x00, 0x20, 0x30, 0x91, 0x00, 0x22, 0xa1, 0x86, 0x2d, 0x00, 0xf0, 0x55, 0x11, + 0x50, 0x51, 0x41, 0x40, 0xa5, 0x20, 0xbc, 0xba, 0x9c, 0x55, 0xa0, 0xf5, 0x40, 0xa2, 0xca, 0xf5, + 0x00, 0x1a, 0x40, 0x40, 0x55, 0x81, 0x00, 0x44, 0xa1, 0x0c, 0x19, 0xa0, 0x99, 0xc0, 0x46, 0x25, + 0x00, 0xa0, 0xf4, 0x40, 0xa2, 0xca, 0xf5, 0x6c, 0x19, 0xa0, 0x99, 0xc0, 0x00, 0x1a, 0x40, 0x96, + 0x9a, 0x00, 0x00, 0x54, 0xa1, 0x0c, 0x04, 0x06, 0x1f, 0x00, 0x00, 0x00, 0x40, 0x50, 0x91, 0x00, + 0x44, 0xa1, 0x46, 0x1c, 0x00, 0x70, 0x3f, 0x05, 0x10, 0x33, 0x01, 0x0c, 0x02, 0x46, 0x64, 0x00, + 0xcc, 0xd4, 0xf0, 0x85, 0x11, 0xcc, 0x88, 0x41, 0xe6, 0xcf, 0x40, 0x33, 0x20, 0x46, 0x60, 0x00, + 0x00, 0x67, 0xc5, 0x0b, 0x40, 0x85, 0x11, 0x40, 0x88, 0x20, 0x8c, 0x28, 0x3d, 0x05, 0x2d, 0x04, + 0x70, 0x7f, 0x05, 0xf0, 0x33, 0x11, 0x00, 0x41, 0x40, 0x30, 0x37, 0x81, 0x86, 0x58, 0x00, 0x00, + 0x56, 0x82, 0xfe, 0xf0, 0x83, 0x11, 0x56, 0x28, 0xfe, 0x71, 0xd9, 0xcf, 0x70, 0x35, 0x20, 0xc6, + 0x53, 0x00, 0x00, 0x00, 0x12, 0xc1, 0xe0, 0xc9, 0x41, 0xd9, 0x51, 0xe9, 0x61, 0xf9, 0x71, 0x61, + 0x4a, 0xd2, 0x50, 0x73, 0x30, 0x67, 0x43, 0xa7, 0x67, 0x45, 0xd4, 0x30, 0x84, 0xa5, 0x50, 0x94, + 0xa5, 0x16, 0xf8, 0xef, 0x16, 0x59, 0xf4, 0x9a, 0x88, 0xa1, 0x44, 0xd2, 0x60, 0x33, 0x20, 0xa0, + 0x33, 0x10, 0x60, 0x55, 0x20, 0xa0, 0x55, 0x10, 0x79, 0x11, 0x20, 0xc0, 0xf5, 0x40, 0xd0, 0xf5, + 0x30, 0xe0, 0xf5, 0x50, 0xf0, 0xf5, 0xd0, 0xa2, 0xc1, 0x40, 0xbc, 0xc1, 0x0c, 0x09, 0xba, 0xaa, + 0xb7, 0xba, 0x01, 0x1b, 0x99, 0x10, 0x40, 0x40, 0xa0, 0x69, 0x81, 0x40, 0xb2, 0xc1, 0x00, 0xaa, + 0xa1, 0xba, 0xaa, 0xb7, 0xba, 0x02, 0x62, 0xc6, 0x01, 0x0c, 0x09, 0x50, 0xb2, 0xc1, 0xba, 0x66, + 0xb7, 0xb6, 0x01, 0x1b, 0x99, 0xd0, 0xbc, 0xc1, 0xb0, 0x66, 0x80, 0xb7, 0xb6, 0x01, 0x1b, 0x99, + 0x40, 0xb3, 0xc1, 0xba, 0x66, 0xb7, 0xb6, 0x01, 0x1b, 0x99, 0x8c, 0x3a, 0x0c, 0x1b, 0xb0, 0x66, + 0x20, 0xf0, 0x72, 0xc1, 0x40, 0xbe, 0xc1, 0x0c, 0x0a, 0x7a, 0xbb, 0x77, 0xbb, 0x02, 0xa2, 0xca, + 0x01, 0x50, 0x7c, 0xc1, 0x70, 0xbb, 0x80, 0x77, 0xbb, 0x02, 0xa2, 0xca, 0x01, 0xd0, 0x73, 0xc1, + 0x70, 0xbb, 0x80, 0x77, 0xbb, 0x02, 0xa2, 0xca, 0x01, 0xb0, 0xaa, 0x81, 0x9a, 0xaa, 0x00, 0xbb, + 0xa1, 0xba, 0x66, 0xb7, 0xb6, 0x02, 0xa2, 0xca, 0x01, 0x0c, 0x09, 0xf0, 0x2c, 0xc1, 0xaa, 0x22, + 0xa7, 0xb2, 0x01, 0x1b, 0x99, 0x50, 0xa3, 0xc1, 0xa0, 0x22, 0x80, 0xa7, 0xb2, 0x02, 0x92, 0xc9, + 0x01, 0xd0, 0xae, 0xc1, 0xaa, 0x22, 0xa7, 0xb2, 0x02, 0x92, 0xc9, 0x01, 0xf0, 0xb3, 0xc1, 0x50, + 0x7e, 0xc1, 0x0c, 0x0a, 0x70, 0xbb, 0x80, 0x77, 0xbb, 0x02, 0xa2, 0xca, 0x01, 0xb0, 0xaa, 0x81, + 0x9a, 0xaa, 0x00, 0xbb, 0xa1, 0xba, 0x22, 0xb7, 0xb2, 0x01, 0x1b, 0xaa, 0xf0, 0x3e, 0xc1, 0xaa, + 0x33, 0x78, 0x11, 0x0c, 0xb4, 0x30, 0x59, 0x41, 0xcc, 0x45, 0x42, 0xc4, 0x01, 0x82, 0xc8, 0xff, + 0x00, 0x14, 0x40, 0x20, 0x33, 0x81, 0x60, 0x22, 0x81, 0x00, 0x66, 0xa1, 0x42, 0xa3, 0xff, 0x40, + 0x88, 0xc0, 0xf0, 0x44, 0x11, 0x47, 0xb8, 0x37, 0xd6, 0x86, 0x00, 0x1b, 0x22, 0xac, 0x82, 0xf0, + 0x66, 0x11, 0x9c, 0xa6, 0xc0, 0x88, 0x01, 0x8a, 0x33, 0x70, 0x7f, 0x05, 0x10, 0x77, 0x01, 0x70, + 0x33, 0x20, 0xc8, 0x41, 0xd8, 0x51, 0xe8, 0x61, 0xf8, 0x71, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, + 0x20, 0x21, 0x41, 0xf0, 0x22, 0x11, 0x86, 0xf6, 0xff, 0x1b, 0x33, 0x46, 0xf5, 0xff, 0x00, 0x00, + 0x96, 0x98, 0x00, 0x1b, 0x84, 0xc0, 0x38, 0x01, 0x0c, 0x02, 0xc6, 0xf2, 0xff, 0x80, 0x80, 0x60, + 0x9d, 0x06, 0x00, 0x08, 0x40, 0xf6, 0xc8, 0x0b, 0x00, 0x62, 0xa1, 0x20, 0x23, 0x81, 0x30, 0x30, + 0x91, 0x06, 0x04, 0x00, 0xf6, 0xd8, 0x1c, 0x00, 0xa2, 0xa1, 0x20, 0x63, 0x81, 0x30, 0x20, 0x91, + 0x0c, 0x03, 0xa0, 0x99, 0x20, 0x0c, 0x08, 0x16, 0xd9, 0xf8, 0x0c, 0x19, 0x90, 0x66, 0x20, 0x46, + 0xe1, 0xff, 0x00, 0x00, 0x70, 0x3f, 0x05, 0x10, 0x33, 0x01, 0x0c, 0x02, 0x86, 0xe4, 0xff, 0x00, + 0xf0, 0x55, 0x11, 0x50, 0x51, 0x41, 0x40, 0xa5, 0x20, 0xbc, 0xba, 0x9c, 0x55, 0xa0, 0xf5, 0x40, + 0xa2, 0xca, 0xf5, 0x00, 0x1a, 0x40, 0x40, 0x55, 0x81, 0x00, 0x44, 0xa1, 0x0c, 0x19, 0xa0, 0x99, + 0xc0, 0x06, 0x36, 0x00, 0xa0, 0xf4, 0x40, 0xa2, 0xca, 0xf5, 0x6c, 0x19, 0xa0, 0x99, 0xc0, 0x00, + 0x1a, 0x40, 0x96, 0x7a, 0x00, 0x00, 0x54, 0xa1, 0x0c, 0x04, 0xc6, 0x2f, 0x00, 0x40, 0x50, 0x91, + 0x00, 0x44, 0xa1, 0x86, 0x2d, 0x00, 0x00, 0x00, 0xf0, 0x33, 0x11, 0x30, 0x31, 0x41, 0x30, 0x22, + 0x20, 0x70, 0x3f, 0x05, 0x10, 0x33, 0x01, 0x60, 0x33, 0x20, 0xcc, 0x42, 0x41, 0x51, 0xcf, 0x40, + 0x33, 0x20, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0xf0, 0x33, 0x11, 0x30, 0x31, 0x41, 0x20, 0xa3, + 0x20, 0xbc, 0xba, 0x9c, 0x53, 0xa0, 0xf3, 0x40, 0xa2, 0xca, 0xf5, 0x00, 0x1a, 0x40, 0x20, 0x33, + 0x81, 0x00, 0x22, 0xa1, 0x0c, 0x18, 0xa0, 0x88, 0xc0, 0xc6, 0x1c, 0x00, 0xa0, 0xf2, 0x40, 0xa2, + 0xca, 0xf5, 0x6c, 0x18, 0xa0, 0x88, 0xc0, 0x00, 0x1a, 0x40, 0x96, 0x7a, 0x00, 0x00, 0x32, 0xa1, + 0x0c, 0x02, 0x86, 0x16, 0x00, 0x20, 0x30, 0x91, 0x00, 0x22, 0xa1, 0x46, 0x14, 0x00, 0x00, 0x00, + 0x70, 0x3f, 0x05, 0x10, 0x33, 0x01, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0x50, 0x7f, 0x05, 0x10, + 0x77, 0x01, 0x70, 0x33, 0x30, 0x67, 0xc5, 0x05, 0x41, 0x36, 0xcf, 0x40, 0x33, 0x20, 0x0d, 0xf0, + 0x40, 0x85, 0x11, 0x40, 0x88, 0x20, 0x16, 0x68, 0xfd, 0x3d, 0x05, 0x2d, 0x04, 0x0d, 0xf0, 0x00, + 0x47, 0x32, 0x37, 0x46, 0x0f, 0x00, 0x00, 0x00, 0x61, 0xa4, 0xd1, 0x50, 0x73, 0x30, 0x67, 0x43, + 0xca, 0x67, 0x45, 0xdb, 0x30, 0x84, 0xa5, 0x50, 0x94, 0xa5, 0x16, 0x29, 0xf0, 0x16, 0x78, 0xf6, + 0x90, 0x88, 0xc0, 0xa1, 0x9e, 0xd1, 0x60, 0x33, 0x20, 0xa0, 0x33, 0x10, 0x60, 0x55, 0x20, 0xa0, + 0x55, 0x10, 0x10, 0x4f, 0x40, 0x37, 0x35, 0x0b, 0x37, 0x15, 0xc4, 0x20, 0x33, 0x81, 0x00, 0x22, + 0xa1, 0x82, 0xc8, 0xff, 0x50, 0x33, 0xc0, 0x47, 0xb2, 0x02, 0x32, 0xc3, 0xff, 0x40, 0x22, 0xc0, + 0x20, 0x33, 0x81, 0x00, 0x22, 0xa1, 0x0c, 0x0a, 0x0c, 0x1b, 0x3c, 0x49, 0xb0, 0xaa, 0x81, 0x00, + 0xbb, 0xa1, 0x57, 0x33, 0x0f, 0x57, 0x13, 0x3f, 0x1b, 0xbb, 0x50, 0x33, 0xc0, 0x47, 0xb2, 0x01, + 0x0b, 0x33, 0x40, 0x22, 0xc0, 0x20, 0x33, 0x81, 0x00, 0x22, 0xa1, 0x0b, 0x99, 0x56, 0xb9, 0xfd, + 0x92, 0xa3, 0xfe, 0x9a, 0x88, 0x92, 0xd9, 0x04, 0x97, 0xb8, 0x38, 0x57, 0x33, 0x07, 0x57, 0x13, + 0x1e, 0x1b, 0xbb, 0x16, 0x5b, 0x08, 0x2d, 0x0b, 0xc0, 0x88, 0x01, 0x8a, 0x3a, 0x70, 0x7f, 0x05, + 0x10, 0x77, 0x01, 0x70, 0x33, 0x20, 0x0d, 0xf0, 0x47, 0xb2, 0xbc, 0x86, 0xf1, 0xff, 0x00, 0x00, + 0x47, 0x32, 0xe2, 0x47, 0x92, 0xda, 0x1b, 0xbb, 0x16, 0x0b, 0x06, 0xb0, 0xb1, 0x41, 0xf0, 0xbb, + 0x11, 0x46, 0xf4, 0xff, 0x96, 0x98, 0x00, 0x1b, 0x89, 0xc0, 0x38, 0x01, 0x0c, 0x02, 0xc6, 0xf2, + 0xff, 0x80, 0x80, 0x60, 0x00, 0x08, 0x40, 0xf6, 0xc8, 0x0d, 0x00, 0x6b, 0xa1, 0xb0, 0xba, 0x81, + 0xa0, 0xa0, 0x91, 0x86, 0x04, 0x00, 0x00, 0x00, 0xf6, 0xd8, 0x35, 0x00, 0x9b, 0xa1, 0xb0, 0x6a, + 0x81, 0xa0, 0xb0, 0x91, 0x0c, 0x0a, 0x90, 0x22, 0x20, 0x0c, 0x08, 0x20, 0x33, 0x20, 0x8c, 0x33, + 0x0c, 0x19, 0x90, 0x66, 0x20, 0xd6, 0xd6, 0xf8, 0x1b, 0xbb, 0x8c, 0xeb, 0xf0, 0x66, 0x11, 0x56, + 0x36, 0xf8, 0xb0, 0xb1, 0x41, 0xf0, 0xbb, 0x11, 0x86, 0xde, 0xff, 0x00, 0x1b, 0xaa, 0x06, 0xdd, + 0xff, 0x70, 0x3f, 0x05, 0x10, 0x33, 0x01, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x61, 0x5b, 0xd1, 0x67, + 0x43, 0x25, 0x30, 0x44, 0xa5, 0x60, 0x53, 0x95, 0x50, 0x44, 0xc0, 0xe6, 0xc4, 0x25, 0xa6, 0x14, + 0x2e, 0x60, 0x73, 0x20, 0x10, 0x45, 0x40, 0x20, 0x57, 0x81, 0x00, 0x14, 0x40, 0x50, 0x50, 0x91, + 0x50, 0x20, 0x60, 0x70, 0x25, 0xb3, 0x0d, 0xf0, 0x40, 0x43, 0x11, 0x20, 0x44, 0x20, 0x16, 0x24, + 0x00, 0x32, 0xa0, 0x00, 0x50, 0x46, 0x11, 0x0b, 0x54, 0x30, 0x45, 0xb3, 0x2d, 0x04, 0x0d, 0xf0, + 0x0c, 0x02, 0x0d, 0xf0, 0x61, 0x49, 0xd1, 0x67, 0x43, 0x2a, 0x30, 0x44, 0xa5, 0x60, 0x54, 0x95, + 0x50, 0x44, 0xc0, 0xe6, 0xc4, 0x2a, 0x96, 0x34, 0x03, 0x60, 0x73, 0x20, 0x10, 0x45, 0x40, 0x20, + 0x57, 0x81, 0x1b, 0x44, 0x26, 0xc4, 0x29, 0x00, 0x14, 0x40, 0x50, 0x50, 0x91, 0x50, 0x20, 0x60, + 0x70, 0x25, 0xb3, 0x0d, 0xf0, 0x40, 0x43, 0x11, 0x20, 0x44, 0x20, 0x8c, 0x24, 0x7c, 0xf2, 0x0d, + 0xf0, 0x50, 0x46, 0x11, 0x7c, 0xf5, 0x30, 0x45, 0xb3, 0x2d, 0x04, 0x0d, 0xf0, 0x0c, 0x02, 0x0d, + 0xf0, 0x96, 0x33, 0x00, 0x2d, 0x05, 0x0d, 0xf0, 0x50, 0x26, 0x11, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x41, 0x34, 0xd1, 0x40, 0x53, 0xc0, 0x50, 0x63, 0x30, 0x96, 0x36, 0x05, 0x50, 0x64, 0xa5, 0x16, + 0xd6, 0x04, 0x42, 0xa0, 0xff, 0x47, 0xa6, 0x27, 0x10, 0x4d, 0x40, 0x20, 0x55, 0x81, 0x00, 0x42, + 0xa1, 0x30, 0x6f, 0x05, 0x10, 0x66, 0x01, 0x50, 0x26, 0x20, 0xd6, 0x64, 0x00, 0x1b, 0x22, 0xf0, + 0x44, 0x11, 0x8c, 0x24, 0x0d, 0xf0, 0x00, 0x00, 0x20, 0x21, 0x41, 0xf0, 0x22, 0x11, 0x0d, 0xf0, + 0x41, 0x22, 0xd1, 0x47, 0xc3, 0x0a, 0x40, 0x53, 0x11, 0x20, 0x55, 0x20, 0x8c, 0x15, 0x40, 0x41, + 0x41, 0xc0, 0x44, 0x11, 0x30, 0x6f, 0x05, 0x00, 0x41, 0x40, 0x40, 0x26, 0x81, 0x0d, 0xf0, 0x00, + 0x30, 0x64, 0xa5, 0x52, 0xa3, 0x80, 0x60, 0x65, 0xc0, 0x1b, 0x66, 0xf6, 0xc6, 0x29, 0x30, 0x55, + 0x11, 0x30, 0x55, 0x20, 0x50, 0x55, 0x11, 0x50, 0x5b, 0x41, 0x10, 0x4d, 0x40, 0x20, 0x55, 0x81, + 0x00, 0x42, 0xa1, 0x00, 0x06, 0x40, 0x00, 0x74, 0xa1, 0x40, 0x45, 0x81, 0x50, 0x50, 0x91, 0x16, + 0xe7, 0xf8, 0x60, 0x44, 0x20, 0x06, 0xe2, 0xff, 0x30, 0x2f, 0x05, 0x10, 0x22, 0x01, 0x0d, 0xf0, + 0x12, 0xc1, 0xd0, 0x22, 0x61, 0x00, 0x52, 0x61, 0x03, 0x42, 0x61, 0x02, 0x09, 0x61, 0x39, 0x11, + 0xc9, 0x71, 0xd9, 0x81, 0xcd, 0x02, 0xdd, 0x04, 0x3d, 0x04, 0x45, 0x39, 0x01, 0x48, 0x31, 0x08, + 0x11, 0xc0, 0x44, 0x82, 0xd0, 0x00, 0x82, 0xc8, 0x71, 0xd8, 0x81, 0x4a, 0x00, 0x0a, 0x33, 0x08, + 0x61, 0x12, 0xc1, 0x30, 0x0d, 0xf0, 0x00, 0x00, 0x8d, 0x04, 0x7d, 0x05, 0x62, 0xa0, 0xf0, 0x60, + 0x11, 0xc0, 0x39, 0x11, 0x29, 0x01, 0x59, 0x31, 0x49, 0x21, 0xd2, 0x61, 0x2b, 0x02, 0x61, 0x29, + 0xc2, 0x61, 0x2a, 0x0d, 0x02, 0xcd, 0x03, 0x96, 0x53, 0x19, 0x0c, 0x0d, 0xc9, 0x51, 0x9d, 0x00, + 0x28, 0x31, 0x99, 0x41, 0xd6, 0x02, 0x01, 0x40, 0x80, 0x60, 0x72, 0xaf, 0xff, 0x70, 0xdd, 0x30, + 0x70, 0x75, 0x30, 0x1b, 0x37, 0x40, 0x73, 0x83, 0x79, 0x71, 0x89, 0x61, 0x5d, 0x00, 0x3d, 0x08, + 0x0d, 0x08, 0x16, 0xa7, 0x17, 0x77, 0xbc, 0x27, 0x0c, 0x0c, 0x0c, 0x00, 0x3d, 0x00, 0x16, 0xed, + 0x43, 0xd2, 0x21, 0x2b, 0x42, 0xa0, 0xf0, 0xc0, 0x20, 0x60, 0x7c, 0xf9, 0x90, 0x30, 0x30, 0x1b, + 0x83, 0xc0, 0x38, 0x83, 0x02, 0x21, 0x29, 0xc2, 0x21, 0x2a, 0x4a, 0x11, 0x0d, 0xf0, 0x00, 0x00, + 0x82, 0x61, 0x26, 0xa0, 0xf7, 0x40, 0xa2, 0x61, 0x27, 0xcc, 0xca, 0xc7, 0x37, 0x05, 0x87, 0xb5, + 0x02, 0x46, 0x07, 0x01, 0x0c, 0x1c, 0x06, 0xf0, 0xff, 0x52, 0x61, 0x14, 0x32, 0x21, 0x26, 0x52, + 0x21, 0x27, 0x2c, 0x06, 0x50, 0x66, 0xc0, 0x00, 0x06, 0x40, 0x62, 0x61, 0x1e, 0xc0, 0x20, 0x91, + 0x00, 0x15, 0x40, 0x22, 0x61, 0x1f, 0x30, 0x37, 0x81, 0x32, 0x61, 0x24, 0x30, 0x30, 0xf5, 0x32, + 0x61, 0x25, 0x05, 0x1a, 0x01, 0x02, 0x21, 0x14, 0x32, 0x21, 0x1e, 0x22, 0x61, 0x23, 0x42, 0x21, + 0x27, 0x22, 0x61, 0x35, 0x00, 0x14, 0x40, 0x22, 0x21, 0x1f, 0x00, 0xcc, 0xa1, 0x00, 0x03, 0x40, + 0x00, 0x00, 0x91, 0x32, 0x21, 0x25, 0x00, 0xcc, 0x20, 0xc2, 0x61, 0x20, 0xc0, 0xc0, 0xf5, 0x45, + 0x25, 0x01, 0x00, 0x42, 0x11, 0x02, 0x21, 0x35, 0x22, 0x21, 0x24, 0x40, 0x4c, 0x20, 0xcd, 0x04, + 0x20, 0x20, 0xf4, 0x22, 0x61, 0x21, 0x00, 0x22, 0x82, 0x27, 0xb4, 0x1a, 0x0b, 0x60, 0x52, 0x21, + 0x24, 0x62, 0x61, 0x23, 0x4a, 0xc5, 0x57, 0x3c, 0x0d, 0x27, 0xbc, 0x0a, 0x82, 0xc0, 0xfe, 0x72, + 0x21, 0x24, 0x82, 0x61, 0x23, 0xca, 0xc7, 0x32, 0x21, 0x25, 0x20, 0xcc, 0xc0, 0x2d, 0x0c, 0x45, + 0x13, 0x01, 0x32, 0x21, 0x25, 0x22, 0x61, 0x37, 0x22, 0x61, 0x36, 0x92, 0x21, 0x20, 0x2d, 0x0c, + 0x90, 0x90, 0xf4, 0x92, 0x61, 0x22, 0xc5, 0x1f, 0x01, 0x02, 0x21, 0x37, 0x52, 0x21, 0x36, 0x00, + 0xa2, 0x11, 0x92, 0x21, 0x22, 0x22, 0x21, 0x21, 0xa0, 0x99, 0x20, 0x4d, 0x09, 0x50, 0x22, 0x82, + 0x27, 0xb9, 0x13, 0xb2, 0x21, 0x24, 0x0b, 0x05, 0x90, 0x4b, 0x80, 0xb7, 0x34, 0x08, 0x27, 0xb4, + 0x05, 0x40, 0x4b, 0x80, 0x02, 0xc5, 0xfe, 0x32, 0x21, 0x26, 0x52, 0x21, 0x27, 0x20, 0x44, 0xc0, + 0x42, 0x61, 0x38, 0x22, 0x21, 0x23, 0x00, 0x15, 0x40, 0x00, 0x33, 0xa1, 0x00, 0x22, 0x11, 0x20, + 0x20, 0x20, 0x22, 0x61, 0x1b, 0xcd, 0x02, 0x85, 0x1e, 0x01, 0x02, 0x21, 0x38, 0x37, 0x30, 0x17, + 0x30, 0x40, 0xc0, 0x56, 0x34, 0xeb, 0x62, 0x21, 0x27, 0x52, 0x21, 0x14, 0x00, 0x16, 0x40, 0x00, + 0x55, 0xa1, 0x27, 0x35, 0x02, 0x46, 0xa8, 0xff, 0xc2, 0x21, 0x1b, 0x0b, 0xcc, 0x46, 0xa6, 0xff, + 0x7c, 0xfd, 0xd0, 0xc3, 0x30, 0x1b, 0x0c, 0x20, 0xc0, 0x83, 0x20, 0x00, 0x60, 0xc6, 0x96, 0xff, + 0x92, 0x61, 0x15, 0x87, 0x3c, 0x02, 0x86, 0x39, 0x00, 0xc2, 0x61, 0x28, 0x82, 0x61, 0x1c, 0x40, + 0xf8, 0x40, 0x9c, 0x34, 0x00, 0x14, 0x40, 0x00, 0x25, 0xa1, 0x50, 0x6c, 0x81, 0x00, 0x78, 0xa1, + 0x72, 0x61, 0x1c, 0x62, 0x61, 0x28, 0x22, 0x61, 0x15, 0xc2, 0x21, 0x15, 0x32, 0x21, 0x1c, 0x22, + 0x21, 0x28, 0x30, 0x30, 0xf5, 0x32, 0x61, 0x18, 0x85, 0x05, 0x01, 0x32, 0x21, 0x18, 0x22, 0x61, + 0x10, 0x22, 0x61, 0x2f, 0xc0, 0x40, 0xf5, 0x42, 0x61, 0x16, 0x22, 0x21, 0x28, 0x45, 0x12, 0x01, + 0x42, 0x21, 0x2f, 0x00, 0x62, 0x11, 0x02, 0x21, 0x1c, 0x52, 0x21, 0x16, 0x00, 0x00, 0xf4, 0x60, + 0x55, 0x20, 0x52, 0x61, 0x19, 0x02, 0x61, 0x1d, 0x40, 0x00, 0x82, 0x07, 0xb5, 0x27, 0x82, 0x21, + 0x1c, 0x0b, 0x94, 0x92, 0x61, 0x10, 0x80, 0x75, 0x80, 0x72, 0x61, 0x19, 0x87, 0x37, 0x16, 0xa2, + 0x21, 0x19, 0x07, 0xba, 0x10, 0xb2, 0x21, 0x19, 0x32, 0xc4, 0xfe, 0x22, 0x21, 0x1c, 0x32, 0x61, + 0x10, 0xba, 0xb2, 0xb2, 0x61, 0x19, 0x22, 0x21, 0x19, 0x32, 0x21, 0x18, 0x00, 0x22, 0xc0, 0x22, + 0x61, 0x19, 0x05, 0xff, 0x00, 0x32, 0x21, 0x18, 0x22, 0x61, 0x31, 0x22, 0x61, 0x30, 0xc0, 0x40, + 0xf4, 0x42, 0x61, 0x17, 0x22, 0x21, 0x19, 0xc5, 0x0b, 0x01, 0x02, 0x21, 0x31, 0x42, 0x21, 0x10, + 0x32, 0x21, 0x30, 0x00, 0x62, 0x11, 0x52, 0x21, 0x17, 0x82, 0x21, 0x1d, 0x60, 0x55, 0x20, 0x30, + 0x88, 0x82, 0x87, 0xb5, 0x0f, 0x72, 0x21, 0x1c, 0x0b, 0x03, 0x7a, 0x55, 0x77, 0x35, 0x05, 0x87, + 0xb5, 0x02, 0x02, 0xc3, 0xfe, 0x00, 0xc4, 0x11, 0xc0, 0xc0, 0x20, 0x0c, 0x00, 0xc6, 0x66, 0xff, + 0x56, 0xe8, 0x00, 0x52, 0x61, 0x14, 0x22, 0xa0, 0x01, 0x85, 0xf9, 0x00, 0x20, 0x02, 0x20, 0x52, + 0x21, 0x14, 0x02, 0x61, 0x1c, 0x30, 0xf0, 0x40, 0xec, 0x03, 0x02, 0x61, 0x1c, 0x00, 0x40, 0xf5, + 0x0c, 0x12, 0x00, 0x30, 0xf4, 0x00, 0x5c, 0xc0, 0x52, 0x61, 0x28, 0x32, 0x61, 0x1d, 0x22, 0x61, + 0x11, 0x42, 0x61, 0x18, 0xc2, 0x21, 0x18, 0x06, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x13, 0x40, 0x2c, + 0x0a, 0x30, 0xaa, 0xc0, 0x00, 0x60, 0xa1, 0x62, 0x61, 0x1c, 0x00, 0x0a, 0x40, 0xc0, 0x20, 0x91, + 0x00, 0x13, 0x40, 0x29, 0xc1, 0x60, 0x30, 0xf5, 0x00, 0x75, 0xa1, 0x50, 0x8c, 0x81, 0x82, 0x61, + 0x28, 0x72, 0x61, 0x15, 0x32, 0x61, 0x18, 0xc5, 0xf3, 0x00, 0xb2, 0x21, 0x28, 0x29, 0xf1, 0x22, + 0x61, 0x2c, 0xc2, 0x21, 0x18, 0x28, 0xc1, 0x3d, 0x0c, 0xb0, 0xb0, 0xf5, 0xb9, 0xd1, 0x45, 0x00, + 0x01, 0x02, 0x21, 0x2c, 0x00, 0x52, 0x11, 0x32, 0x21, 0x1c, 0x48, 0xd1, 0x30, 0x30, 0xf4, 0x50, + 0x44, 0x20, 0x42, 0x61, 0x13, 0x32, 0x61, 0x1d, 0x00, 0x33, 0x82, 0x37, 0xb4, 0x24, 0x72, 0x21, + 0x1c, 0x0b, 0x80, 0x89, 0xf1, 0x7a, 0x64, 0x62, 0x61, 0x13, 0x77, 0x36, 0x15, 0x92, 0x21, 0x13, + 0x37, 0xb9, 0x0f, 0xa2, 0x21, 0x13, 0x22, 0xc0, 0xfe, 0xb2, 0x21, 0x1c, 0x29, 0xf1, 0xaa, 0xab, + 0xa2, 0x61, 0x13, 0x22, 0x21, 0x13, 0x30, 0x22, 0xc0, 0x22, 0x61, 0x13, 0x3d, 0x0c, 0x45, 0xed, + 0x00, 0x22, 0x61, 0x2e, 0x32, 0x21, 0x28, 0x22, 0x61, 0x2d, 0x30, 0x30, 0xf4, 0x22, 0x21, 0x13, + 0x39, 0xe1, 0x3d, 0x0c, 0xc5, 0xf9, 0x00, 0x02, 0x21, 0x2e, 0x32, 0x21, 0x2d, 0x52, 0x21, 0x1d, + 0x88, 0xe1, 0x00, 0x92, 0x11, 0x90, 0x88, 0x20, 0x4d, 0x08, 0x30, 0x55, 0x82, 0x57, 0xb8, 0x11, + 0xa2, 0x21, 0x1c, 0x0b, 0x03, 0xaa, 0x48, 0xa7, 0x34, 0x07, 0x57, 0xb4, 0x04, 0x02, 0xc3, 0xfe, + 0x4a, 0x4a, 0x50, 0x34, 0xc0, 0x28, 0xf1, 0x32, 0x61, 0x28, 0x00, 0x22, 0x11, 0x20, 0x20, 0x20, + 0x22, 0x61, 0x11, 0x22, 0x21, 0x28, 0x3d, 0x0c, 0x85, 0xe7, 0x00, 0xc0, 0x3c, 0x20, 0x22, 0x61, + 0x12, 0x22, 0x61, 0x32, 0x42, 0x21, 0x15, 0x22, 0x21, 0x28, 0x40, 0x40, 0xf5, 0x42, 0x61, 0x16, + 0x05, 0xf4, 0x00, 0x42, 0x21, 0x32, 0x02, 0x21, 0x1d, 0x52, 0x21, 0x16, 0x00, 0x62, 0x11, 0x60, + 0x55, 0x20, 0x52, 0x61, 0x1a, 0x40, 0x00, 0x82, 0x07, 0xb5, 0x27, 0x82, 0x21, 0x1c, 0x0b, 0x94, + 0x92, 0x61, 0x12, 0x8a, 0x75, 0x72, 0x61, 0x1a, 0x87, 0x37, 0x17, 0xa2, 0x21, 0x1a, 0x07, 0xba, + 0x11, 0xb2, 0x21, 0x1a, 0x32, 0xc4, 0xfe, 0x22, 0x21, 0x1c, 0x32, 0x61, 0x12, 0xb0, 0xb2, 0x80, + 0xb2, 0x61, 0x1a, 0x22, 0x21, 0x1a, 0x3d, 0x0c, 0x00, 0x22, 0xc0, 0x22, 0x61, 0x1a, 0x45, 0xe1, + 0x00, 0xc0, 0x3c, 0x20, 0x22, 0x61, 0x34, 0x22, 0x61, 0x33, 0x42, 0x21, 0x15, 0x22, 0x21, 0x1a, + 0x40, 0x40, 0xf4, 0x42, 0x61, 0x17, 0xc5, 0xed, 0x00, 0x42, 0x21, 0x34, 0x02, 0x21, 0x33, 0x82, + 0x21, 0x17, 0x00, 0x92, 0x11, 0x90, 0x88, 0x20, 0x92, 0x21, 0x1d, 0x52, 0x21, 0x12, 0x00, 0x99, + 0x82, 0x97, 0xb8, 0x0f, 0xa2, 0x21, 0x1c, 0x0b, 0x40, 0xaa, 0x88, 0xa7, 0x38, 0x05, 0x97, 0xb8, + 0x02, 0x42, 0xc0, 0xfe, 0x02, 0x21, 0x11, 0x00, 0xc5, 0x11, 0xc0, 0xc4, 0x20, 0xc6, 0xee, 0xfe, + 0x02, 0x21, 0x29, 0xd2, 0x21, 0x2b, 0x2d, 0x0c, 0x42, 0xa0, 0xf0, 0xc2, 0x21, 0x2a, 0x4a, 0x11, + 0x0d, 0xf0, 0x0c, 0x0c, 0x86, 0xe8, 0xfe, 0x00, 0x8d, 0x02, 0x62, 0xa0, 0xc0, 0x60, 0x11, 0xc0, + 0x89, 0x01, 0x59, 0x31, 0x49, 0x21, 0x39, 0x11, 0x02, 0x61, 0x1e, 0xd2, 0x61, 0x20, 0xe2, 0x61, + 0x21, 0xc2, 0x61, 0x1f, 0xed, 0x02, 0xcd, 0x03, 0xdd, 0x03, 0x0d, 0x04, 0x3d, 0x04, 0x16, 0xb5, + 0x17, 0x57, 0xbc, 0x17, 0x0c, 0x03, 0x0c, 0x02, 0xe2, 0x21, 0x21, 0xd2, 0x21, 0x20, 0xc2, 0x21, + 0x1f, 0x42, 0xa0, 0xc0, 0x02, 0x21, 0x1e, 0x4a, 0x11, 0x0d, 0xf0, 0x00, 0x42, 0x61, 0x2e, 0xd0, + 0xf5, 0x40, 0xdc, 0xed, 0xc7, 0x35, 0x05, 0x47, 0xb2, 0x02, 0xc6, 0xfc, 0x00, 0x0c, 0x03, 0x0c, + 0x12, 0xe2, 0x21, 0x21, 0xd2, 0x21, 0x20, 0xc2, 0x21, 0x1f, 0x42, 0xa0, 0xc0, 0x02, 0x21, 0x1e, + 0x4a, 0x11, 0x0d, 0xf0, 0x82, 0x61, 0x12, 0xe2, 0x21, 0x2e, 0x2c, 0x04, 0xd0, 0x44, 0xc0, 0x00, + 0x04, 0x40, 0x42, 0x61, 0x16, 0xc0, 0x20, 0x91, 0x00, 0x1d, 0x40, 0x22, 0x61, 0x17, 0xe0, 0x35, + 0x81, 0x32, 0x61, 0x1c, 0x30, 0x30, 0xf5, 0x32, 0x61, 0x1d, 0x85, 0xd1, 0x00, 0x02, 0x21, 0x12, + 0x32, 0x21, 0x16, 0x22, 0x61, 0x1b, 0x22, 0x61, 0x2b, 0x00, 0x1d, 0x40, 0x00, 0xcc, 0xa1, 0x22, + 0x21, 0x17, 0x00, 0x03, 0x40, 0x00, 0x00, 0x91, 0x32, 0x21, 0x1d, 0x00, 0xcc, 0x20, 0xc2, 0x61, + 0x18, 0xc0, 0xc0, 0xf5, 0xc5, 0xdc, 0x00, 0x00, 0x42, 0x11, 0x02, 0x21, 0x2b, 0x22, 0x21, 0x1c, + 0x40, 0x4c, 0x20, 0xcd, 0x04, 0x20, 0x20, 0xf4, 0x22, 0x61, 0x19, 0x00, 0x22, 0x82, 0x27, 0xb4, + 0x1b, 0x0b, 0x60, 0x52, 0x21, 0x1c, 0x62, 0x61, 0x1b, 0x40, 0xc5, 0x80, 0x57, 0x3c, 0x0d, 0x27, + 0xbc, 0x0a, 0x82, 0xc0, 0xfe, 0x72, 0x21, 0x1c, 0x82, 0x61, 0x1b, 0xca, 0xc7, 0x32, 0x21, 0x1d, + 0x20, 0xcc, 0xc0, 0x2d, 0x0c, 0xc5, 0xca, 0x00, 0x32, 0x21, 0x1d, 0x22, 0x61, 0x2d, 0x22, 0x61, + 0x2c, 0x92, 0x21, 0x18, 0x2d, 0x0c, 0x90, 0x90, 0xf4, 0x92, 0x61, 0x1a, 0x45, 0xd7, 0x00, 0x02, + 0x21, 0x2d, 0x32, 0x21, 0x2c, 0x00, 0x52, 0x11, 0x42, 0x21, 0x1a, 0x22, 0x21, 0x19, 0x50, 0x44, + 0x20, 0xcd, 0x04, 0x30, 0x22, 0x82, 0x27, 0xb4, 0x11, 0x62, 0x21, 0x1c, 0x0b, 0x03, 0x4a, 0xc6, + 0x67, 0x3c, 0x07, 0x27, 0xbc, 0x04, 0xca, 0xc6, 0x02, 0xc3, 0xfe, 0x20, 0xcc, 0xc0, 0x00, 0x1d, + 0x40, 0x22, 0x21, 0x1b, 0x00, 0x3e, 0xa1, 0x00, 0x22, 0x11, 0x20, 0x20, 0x20, 0x22, 0x61, 0x15, + 0xed, 0x02, 0xc5, 0xd6, 0x00, 0x37, 0x3c, 0x0e, 0x37, 0x9c, 0x28, 0x32, 0x21, 0x12, 0x00, 0x1d, + 0x40, 0x00, 0x33, 0xa1, 0x27, 0xb3, 0x1c, 0x0c, 0x03, 0x02, 0x21, 0x1e, 0xc2, 0x21, 0x1f, 0xd2, + 0x21, 0x20, 0xe2, 0x21, 0x15, 0x42, 0xa0, 0xc0, 0x0b, 0xee, 0x2d, 0x0e, 0xe2, 0x21, 0x21, 0x4a, + 0x11, 0x0d, 0xf0, 0x00, 0x0c, 0x03, 0x02, 0x21, 0x1e, 0xc2, 0x21, 0x1f, 0xd2, 0x21, 0x20, 0x2d, + 0x0e, 0x42, 0xa0, 0xc0, 0xe2, 0x21, 0x21, 0x4a, 0x11, 0x0d, 0xf0, 0x00, 0x00, 0x47, 0x3c, 0x02, + 0x86, 0x36, 0x00, 0x09, 0xd1, 0x40, 0xf4, 0x40, 0x16, 0xe4, 0x00, 0x00, 0x14, 0x40, 0x20, 0xdc, + 0x81, 0x00, 0xe2, 0xa1, 0x00, 0x03, 0xa1, 0x02, 0x61, 0x0d, 0xc8, 0xd1, 0x2d, 0x0d, 0xc0, 0x30, + 0xf5, 0x32, 0x61, 0x13, 0xc5, 0xbd, 0x00, 0x29, 0xc1, 0x22, 0x61, 0x25, 0xe0, 0x30, 0xf5, 0x32, + 0x61, 0x10, 0x2d, 0x0d, 0x32, 0x21, 0x13, 0xc5, 0xca, 0x00, 0x42, 0x21, 0x25, 0x00, 0x32, 0x11, + 0xc0, 0x00, 0xf4, 0x22, 0x21, 0x10, 0x09, 0xe1, 0x30, 0x22, 0x20, 0xdd, 0x02, 0x40, 0x00, 0x82, + 0x07, 0xb2, 0x12, 0xca, 0xd2, 0x0b, 0x54, 0x59, 0xc1, 0xc7, 0x3d, 0x09, 0x07, 0xbd, 0x06, 0xda, + 0xdc, 0x62, 0xc4, 0xfe, 0x69, 0xc1, 0x32, 0x21, 0x13, 0x00, 0xdd, 0xc0, 0x2d, 0x0d, 0x45, 0xb9, + 0x00, 0xe0, 0xe0, 0xf4, 0x22, 0x61, 0x27, 0x22, 0x61, 0x26, 0x32, 0x21, 0x13, 0x2d, 0x0d, 0x45, + 0xc6, 0x00, 0x02, 0x21, 0x27, 0x32, 0x21, 0x26, 0x00, 0x22, 0x11, 0x48, 0xe1, 0x20, 0x2e, 0x20, + 0x30, 0x44, 0x82, 0x47, 0xb2, 0x29, 0x0b, 0x03, 0xca, 0x22, 0xc7, 0x32, 0x22, 0x47, 0xb2, 0x1f, + 0xc2, 0x21, 0x1f, 0xd2, 0x21, 0x20, 0xe2, 0x21, 0x21, 0x42, 0xa0, 0xc0, 0x02, 0xc3, 0xfe, 0x28, + 0xc1, 0x0c, 0x03, 0x00, 0x22, 0x11, 0x20, 0x20, 0x20, 0x02, 0x21, 0x1e, 0x4a, 0x11, 0x0d, 0xf0, + 0x0c, 0x03, 0xc2, 0x21, 0x1f, 0xd2, 0x21, 0x20, 0xe2, 0x21, 0x21, 0x28, 0xc1, 0x42, 0xa0, 0xc0, + 0x00, 0x22, 0x11, 0x20, 0x20, 0x20, 0x02, 0x21, 0x1e, 0x4a, 0x11, 0x0d, 0xf0, 0x00, 0xcc, 0xb4, + 0x82, 0x61, 0x12, 0x0c, 0x12, 0xc5, 0xb1, 0x00, 0x82, 0x21, 0x12, 0x0d, 0x02, 0x09, 0xd1, 0x30, + 0xf0, 0x40, 0xdc, 0x33, 0x09, 0xd1, 0x0c, 0x13, 0x00, 0xdc, 0xc0, 0x00, 0x40, 0xf4, 0x00, 0xc0, + 0xf5, 0x49, 0xe1, 0x39, 0xb1, 0x86, 0x32, 0x00, 0x00, 0x00, 0x13, 0x40, 0x58, 0xd1, 0x2c, 0x00, + 0x30, 0x00, 0xc0, 0x00, 0x55, 0xa1, 0x59, 0xd1, 0x00, 0x00, 0x40, 0xc0, 0x20, 0x91, 0x29, 0x81, + 0x00, 0x13, 0x40, 0x80, 0xdc, 0x81, 0x00, 0xe8, 0xa1, 0x50, 0xc0, 0xf5, 0x3d, 0x0c, 0x45, 0xad, + 0x00, 0x29, 0xa1, 0x22, 0x61, 0x22, 0xd0, 0x30, 0xf5, 0x39, 0x91, 0x28, 0x81, 0x3d, 0x0c, 0x45, + 0xba, 0x00, 0x02, 0x21, 0x22, 0x00, 0x52, 0x11, 0x38, 0xd1, 0x48, 0x91, 0x30, 0x30, 0xf4, 0x50, + 0x44, 0x20, 0x42, 0x61, 0x11, 0x39, 0xe1, 0x00, 0x33, 0x82, 0x37, 0xb4, 0x22, 0x78, 0xd1, 0x0b, + 0x80, 0x89, 0xa1, 0x7a, 0x64, 0x62, 0x61, 0x11, 0x77, 0x36, 0x14, 0x92, 0x21, 0x11, 0x37, 0xb9, + 0x0e, 0xa2, 0x21, 0x11, 0x22, 0xc0, 0xfe, 0xb8, 0xd1, 0x29, 0xa1, 0xaa, 0xab, 0xa2, 0x61, 0x11, + 0x22, 0x21, 0x11, 0x30, 0x22, 0xc0, 0x22, 0x61, 0x11, 0x3d, 0x0c, 0x85, 0xa7, 0x00, 0xd0, 0xd0, + 0xf4, 0x22, 0x61, 0x24, 0x22, 0x61, 0x23, 0x3d, 0x0c, 0x22, 0x21, 0x11, 0x45, 0xb4, 0x00, 0x02, + 0x21, 0x24, 0x32, 0x21, 0x23, 0x58, 0xe1, 0x00, 0x82, 0x11, 0x80, 0x8d, 0x20, 0x4d, 0x08, 0x30, + 0x55, 0x82, 0x57, 0xb8, 0x10, 0x98, 0xd1, 0x0b, 0x03, 0x9a, 0x48, 0x97, 0x34, 0x07, 0x57, 0xb4, + 0x04, 0x02, 0xc3, 0xfe, 0x4a, 0x49, 0xb8, 0xa1, 0x50, 0xd4, 0xc0, 0x00, 0xbb, 0x11, 0xb0, 0xb0, + 0x20, 0xb9, 0xb1, 0x2d, 0x0d, 0x3d, 0x0c, 0xc5, 0xa2, 0x00, 0x3d, 0x0c, 0x29, 0xf1, 0x22, 0x61, + 0x28, 0xe0, 0x00, 0xf5, 0x02, 0x61, 0x10, 0x2d, 0x0d, 0x85, 0xaf, 0x00, 0x42, 0x21, 0x28, 0xd8, + 0xe1, 0x52, 0x21, 0x10, 0x00, 0x62, 0x11, 0x60, 0x55, 0x20, 0x52, 0x61, 0x14, 0x40, 0x0d, 0x82, + 0x07, 0xb5, 0x22, 0x88, 0xd1, 0x0b, 0x94, 0x99, 0xf1, 0x8a, 0x75, 0x72, 0x61, 0x14, 0x87, 0x37, + 0x14, 0xa2, 0x21, 0x14, 0x07, 0xba, 0x0e, 0xb2, 0x21, 0x14, 0x32, 0xc4, 0xfe, 0x28, 0xd1, 0x39, + 0xf1, 0xba, 0xb2, 0xb2, 0x61, 0x14, 0x22, 0x21, 0x14, 0x3d, 0x0c, 0x00, 0x22, 0xc0, 0x22, 0x61, + 0x14, 0x05, 0x9d, 0x00, 0xe0, 0xe0, 0xf4, 0x22, 0x61, 0x2a, 0x22, 0x61, 0x29, 0x3d, 0x0c, 0x22, + 0x21, 0x14, 0x05, 0xaa, 0x00, 0x02, 0x21, 0x2a, 0x00, 0x52, 0x11, 0x42, 0x21, 0x29, 0x50, 0x5e, + 0x20, 0x40, 0x8d, 0x82, 0x87, 0xb5, 0x2c, 0x68, 0xd1, 0x0b, 0x04, 0x6a, 0x55, 0x67, 0x35, 0x23, + 0x87, 0xb5, 0x20, 0x38, 0xb1, 0xc2, 0x21, 0x1f, 0xd2, 0x21, 0x20, 0xe2, 0x21, 0x21, 0x02, 0xc4, + 0xfe, 0x28, 0xf1, 0x42, 0xa0, 0xc0, 0x00, 0x22, 0x11, 0x20, 0x20, 0x20, 0x02, 0x21, 0x1e, 0x4a, + 0x11, 0x0d, 0xf0, 0x00, 0x38, 0xb1, 0xc2, 0x21, 0x1f, 0xd2, 0x21, 0x20, 0xe2, 0x21, 0x21, 0x28, + 0xf1, 0x42, 0xa0, 0xc0, 0x00, 0x22, 0x11, 0x20, 0x20, 0x20, 0x02, 0x21, 0x1e, 0x4a, 0x11, 0x0d, + 0xf0, 0x0c, 0x02, 0x0c, 0x03, 0xc2, 0x21, 0x1f, 0xd2, 0x21, 0x20, 0xe2, 0x21, 0x21, 0x42, 0xa0, + 0xc0, 0x02, 0x21, 0x1e, 0x4a, 0x11, 0x0d, 0xf0, 0x62, 0xa0, 0xb0, 0x60, 0x11, 0xc0, 0x59, 0x31, + 0x49, 0x21, 0x39, 0x11, 0x02, 0x61, 0x1f, 0xd2, 0x61, 0x21, 0xc2, 0x61, 0x20, 0xe2, 0x61, 0x22, + 0xf2, 0x61, 0x23, 0xed, 0x02, 0xfd, 0x04, 0xcd, 0x03, 0xdd, 0x03, 0x0d, 0x02, 0x09, 0x01, 0x40, + 0x34, 0x20, 0x16, 0xb5, 0x1e, 0x57, 0xbc, 0x02, 0x06, 0x73, 0x00, 0x42, 0x61, 0x29, 0x02, 0x61, + 0x2a, 0xf0, 0xf5, 0x40, 0x56, 0x5f, 0x04, 0xc7, 0x35, 0x05, 0x47, 0xb2, 0x02, 0xc6, 0x03, 0x01, + 0x30, 0x20, 0xc0, 0x27, 0x30, 0x1a, 0xd2, 0x21, 0x21, 0xe2, 0x21, 0x22, 0xf2, 0x21, 0x23, 0x50, + 0x0c, 0xc0, 0x42, 0xa0, 0xb0, 0xc2, 0x21, 0x20, 0x3d, 0x00, 0x02, 0x21, 0x1f, 0x4a, 0x11, 0x0d, + 0xf0, 0xd2, 0x21, 0x21, 0xe2, 0x21, 0x22, 0xf2, 0x21, 0x23, 0x50, 0x0c, 0xc0, 0x42, 0xa0, 0xb0, + 0xc2, 0x21, 0x20, 0x0b, 0x30, 0x02, 0x21, 0x1f, 0x4a, 0x11, 0x0d, 0xf0, 0x00, 0xd2, 0x21, 0x29, + 0xed, 0x02, 0x2c, 0x04, 0xf0, 0x44, 0xc0, 0x00, 0x04, 0x40, 0x42, 0x61, 0x17, 0xc0, 0x20, 0x91, + 0x00, 0x1f, 0x40, 0x22, 0x61, 0x18, 0xd0, 0x35, 0x81, 0x32, 0x61, 0x1d, 0x30, 0x30, 0xf5, 0x32, + 0x61, 0x1e, 0x05, 0x8a, 0x00, 0x32, 0x21, 0x17, 0x22, 0x61, 0x1a, 0x22, 0x61, 0x26, 0x00, 0x1f, + 0x40, 0x00, 0xcc, 0xa1, 0x22, 0x21, 0x18, 0x00, 0x03, 0x40, 0xe0, 0x00, 0x91, 0x32, 0x21, 0x1e, + 0x00, 0xcc, 0x20, 0xc2, 0x61, 0x19, 0xc0, 0xc0, 0xf5, 0x85, 0x95, 0x00, 0x00, 0x42, 0x11, 0x02, + 0x21, 0x26, 0x22, 0x21, 0x1d, 0x40, 0x4c, 0x20, 0xcd, 0x04, 0x20, 0x20, 0xf4, 0x22, 0x61, 0x1b, + 0x00, 0x22, 0x82, 0x27, 0xb4, 0x1b, 0x0b, 0x60, 0x52, 0x21, 0x1d, 0x62, 0x61, 0x1a, 0x4a, 0xc5, + 0x57, 0x3c, 0x0e, 0x27, 0xbc, 0x0b, 0x82, 0xc0, 0xfe, 0x72, 0x21, 0x1d, 0x82, 0x61, 0x1a, 0xc0, + 0xc7, 0x80, 0x32, 0x21, 0x1e, 0x20, 0xcc, 0xc0, 0xc0, 0x2c, 0x20, 0x85, 0x83, 0x00, 0x32, 0x21, + 0x1e, 0x22, 0x61, 0x28, 0x22, 0x61, 0x27, 0x92, 0x21, 0x19, 0x2d, 0x0c, 0x90, 0x90, 0xf4, 0x92, + 0x61, 0x1c, 0x05, 0x90, 0x00, 0x02, 0x21, 0x28, 0x42, 0x21, 0x1a, 0x32, 0x21, 0x27, 0x00, 0x62, + 0x11, 0x52, 0x21, 0x1c, 0x22, 0x21, 0x1b, 0x60, 0x55, 0x20, 0xcd, 0x05, 0x30, 0x22, 0x82, 0x27, + 0xb5, 0x11, 0x72, 0x21, 0x1d, 0x0b, 0x03, 0x5a, 0xc7, 0x77, 0x3c, 0x07, 0x27, 0xbc, 0x04, 0x02, + 0xc3, 0xfe, 0xca, 0xc7, 0x20, 0xcc, 0xc0, 0x00, 0x1f, 0x40, 0x00, 0x24, 0x11, 0x00, 0xdd, 0xa1, + 0x3d, 0x0d, 0x20, 0x20, 0x20, 0x85, 0x8f, 0x00, 0x5d, 0x02, 0x0d, 0x03, 0x37, 0x3c, 0x10, 0x00, + 0x1f, 0x40, 0x00, 0x4e, 0xa1, 0x37, 0x9c, 0x20, 0x27, 0xb4, 0x1d, 0xc6, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0x40, 0x00, 0x4e, 0xa1, 0x0c, 0x13, 0xd0, 0x25, 0xc0, 0x27, 0x35, 0x01, 0x0c, 0x03, + 0x52, 0x21, 0x1d, 0x50, 0x50, 0xc0, 0x30, 0x35, 0xc0, 0x30, 0x3c, 0xc0, 0x02, 0x21, 0x17, 0x20, + 0x54, 0xc0, 0x57, 0x34, 0x27, 0xe2, 0x21, 0x22, 0xd2, 0x21, 0x21, 0xc2, 0x21, 0x20, 0x00, 0x10, + 0x40, 0x00, 0x43, 0xa1, 0x02, 0x21, 0x1f, 0x00, 0x0f, 0x40, 0x30, 0x30, 0x91, 0x50, 0x20, 0x91, + 0xf2, 0x21, 0x23, 0x40, 0x22, 0x20, 0x42, 0xa0, 0xb0, 0x4a, 0x11, 0x0d, 0xf0, 0xc2, 0x21, 0x20, + 0xd2, 0x21, 0x21, 0xe2, 0x21, 0x22, 0x00, 0x10, 0x40, 0x0b, 0x33, 0x02, 0x21, 0x1f, 0x00, 0x43, + 0xa1, 0x00, 0x0f, 0x40, 0x30, 0x30, 0x91, 0x50, 0x20, 0x91, 0xf2, 0x21, 0x23, 0x40, 0x22, 0x20, + 0x42, 0xa0, 0xb0, 0x4a, 0x11, 0x0d, 0xf0, 0x00, 0x02, 0x21, 0x1f, 0xd2, 0x21, 0x21, 0xe2, 0x21, + 0x22, 0xf2, 0x21, 0x23, 0x3d, 0x0c, 0x42, 0xa0, 0xb0, 0xc2, 0x21, 0x20, 0x4a, 0x11, 0x0d, 0xf0, + 0x00, 0x47, 0x3c, 0x02, 0x06, 0x2a, 0x00, 0x20, 0xf4, 0x40, 0x29, 0xb1, 0x8c, 0xc2, 0x29, 0xb1, + 0x00, 0x12, 0x40, 0x00, 0xf4, 0xa1, 0x00, 0xdc, 0x81, 0x00, 0xe0, 0xa1, 0x2d, 0x0d, 0xe0, 0x40, + 0xf5, 0xf0, 0x30, 0xf5, 0x32, 0x61, 0x14, 0x42, 0x61, 0x12, 0x85, 0x7e, 0x00, 0x32, 0x21, 0x14, + 0xc2, 0x21, 0x12, 0x00, 0x02, 0x11, 0xf0, 0x50, 0xf4, 0x52, 0x61, 0x11, 0x2d, 0x0d, 0x00, 0xcc, + 0x20, 0xc9, 0xe1, 0x05, 0x6f, 0x00, 0x02, 0x21, 0x11, 0x20, 0x00, 0x82, 0x07, 0xbc, 0x0b, 0xc8, + 0xe1, 0xfa, 0xcc, 0xf7, 0x3c, 0x04, 0x07, 0xbc, 0x01, 0xca, 0xcf, 0xe0, 0xd0, 0xf4, 0x32, 0x21, + 0x14, 0x00, 0xcc, 0xc0, 0x2d, 0x0c, 0xc5, 0x7a, 0x00, 0x00, 0xe2, 0x11, 0x32, 0x21, 0x14, 0x2d, + 0x0c, 0xe0, 0xed, 0x20, 0xdd, 0x0e, 0xc5, 0x6b, 0x00, 0x02, 0x21, 0x11, 0x20, 0x00, 0x82, 0x07, + 0xbe, 0x09, 0xfa, 0xde, 0xf7, 0x3d, 0x04, 0x07, 0xbd, 0x01, 0xda, 0xdf, 0xc2, 0x21, 0x20, 0xe2, + 0x21, 0x22, 0xf2, 0x21, 0x23, 0x42, 0xa0, 0xb0, 0x00, 0x2d, 0xc0, 0x38, 0xb1, 0x02, 0x21, 0x1f, + 0xd2, 0x21, 0x21, 0x00, 0x03, 0x40, 0x20, 0x20, 0x91, 0x0c, 0x03, 0x4a, 0x11, 0x0d, 0xf0, 0x00, + 0x02, 0x61, 0x2a, 0x56, 0xb4, 0x00, 0x22, 0xa0, 0x01, 0x85, 0x67, 0x00, 0x02, 0x21, 0x2a, 0x20, + 0xf2, 0x20, 0x40, 0xff, 0x40, 0xdc, 0x14, 0x49, 0xb1, 0xf0, 0xd0, 0xf4, 0xf0, 0x4c, 0xc0, 0x42, + 0x61, 0x15, 0xf0, 0xc0, 0xf5, 0xc6, 0x28, 0x00, 0x00, 0x00, 0x49, 0xb1, 0x2c, 0x03, 0x00, 0x14, + 0x40, 0x00, 0xff, 0xa1, 0x40, 0x33, 0xc0, 0x00, 0x03, 0x40, 0xc0, 0x20, 0x91, 0x29, 0xc1, 0x00, + 0x14, 0x40, 0x00, 0xe0, 0xa1, 0x00, 0xdc, 0x81, 0xd2, 0x61, 0x15, 0xf0, 0xc0, 0xf5, 0xd0, 0xd0, + 0xf5, 0x3d, 0x0c, 0x05, 0x71, 0x00, 0x00, 0x42, 0x11, 0x3d, 0x0c, 0x28, 0xc1, 0x40, 0x4d, 0x20, + 0x49, 0x91, 0x42, 0x61, 0x10, 0xf0, 0xd0, 0xf4, 0x85, 0x61, 0x00, 0x52, 0x21, 0x10, 0x20, 0x0d, + 0x82, 0x07, 0xb5, 0x11, 0x68, 0x91, 0xfa, 0x66, 0x62, 0x61, 0x10, 0xf7, 0x36, 0x07, 0x07, 0xb6, + 0x04, 0x6a, 0x8f, 0x82, 0x61, 0x10, 0x3d, 0x0c, 0x92, 0x21, 0x15, 0x22, 0x21, 0x10, 0x90, 0x90, + 0xf4, 0x00, 0x22, 0xc0, 0x22, 0x61, 0x10, 0x99, 0xd1, 0x85, 0x6c, 0x00, 0x3d, 0x0c, 0x00, 0xb2, + 0x11, 0xa8, 0xd1, 0x22, 0x21, 0x10, 0xb0, 0xaa, 0x20, 0xa9, 0xa1, 0xa2, 0x61, 0x25, 0x45, 0x5d, + 0x00, 0x02, 0x21, 0x25, 0x20, 0x2d, 0x82, 0x27, 0xb0, 0x0b, 0x08, 0xa1, 0xfa, 0x00, 0xf7, 0x30, + 0x04, 0x27, 0xb0, 0x01, 0x0a, 0x0f, 0x20, 0x30, 0xc0, 0x32, 0x61, 0x15, 0x22, 0x21, 0x15, 0x3d, + 0x0c, 0xe0, 0x40, 0xf5, 0x42, 0x61, 0x12, 0xc5, 0x68, 0x00, 0x3d, 0x0c, 0x00, 0x62, 0x11, 0x52, + 0x21, 0x12, 0x22, 0x21, 0x15, 0x60, 0x55, 0x20, 0x59, 0xf1, 0x52, 0x61, 0x16, 0x45, 0x59, 0x00, + 0x72, 0x21, 0x16, 0x20, 0x0d, 0x82, 0x07, 0xb7, 0x12, 0x88, 0xf1, 0xfa, 0x88, 0x82, 0x61, 0x16, + 0xf7, 0x38, 0x08, 0x07, 0xb8, 0x05, 0x80, 0xaf, 0x80, 0xa2, 0x61, 0x16, 0x3d, 0x0c, 0x22, 0x21, + 0x16, 0xe0, 0xb0, 0xf4, 0xb2, 0x61, 0x13, 0x00, 0x22, 0xc0, 0x22, 0x61, 0x16, 0x45, 0x64, 0x00, + 0xe8, 0xb1, 0x00, 0x22, 0x11, 0x02, 0x21, 0x13, 0x3d, 0x0c, 0x20, 0x00, 0x20, 0x22, 0x21, 0x16, + 0x09, 0x81, 0x02, 0x61, 0x24, 0xc5, 0x54, 0x00, 0x02, 0x21, 0x24, 0x20, 0x2d, 0x82, 0x27, 0xb0, + 0x2c, 0x08, 0x81, 0xfa, 0x00, 0xf7, 0x30, 0x25, 0x27, 0xb0, 0x22, 0x0c, 0x03, 0xc2, 0x21, 0x20, + 0xd2, 0x21, 0x21, 0x42, 0xa0, 0xb0, 0x00, 0x0e, 0x40, 0x0a, 0x0f, 0xe2, 0x21, 0x22, 0xf2, 0x21, + 0x23, 0x20, 0x20, 0xc0, 0x20, 0x20, 0x91, 0x02, 0x21, 0x1f, 0x4a, 0x11, 0x0d, 0xf0, 0x0c, 0x03, + 0xc2, 0x21, 0x20, 0xd2, 0x21, 0x21, 0xf2, 0x21, 0x23, 0x42, 0xa0, 0xb0, 0x20, 0x20, 0xc0, 0x00, + 0x0e, 0x40, 0x02, 0x21, 0x1f, 0xe2, 0x21, 0x22, 0x20, 0x20, 0x91, 0x4a, 0x11, 0x0d, 0xf0, 0x00, + 0x02, 0x21, 0x1f, 0xc2, 0x21, 0x20, 0xe2, 0x21, 0x22, 0xf2, 0x21, 0x23, 0x3d, 0x0d, 0x42, 0xa0, + 0xb0, 0xd2, 0x21, 0x21, 0x4a, 0x11, 0x0d, 0xf0, 0x40, 0x74, 0x20, 0x12, 0xc1, 0xb0, 0xc2, 0x61, + 0x10, 0x09, 0xf1, 0xe2, 0x61, 0x12, 0xd2, 0x61, 0x11, 0xed, 0x05, 0x42, 0xc1, 0x30, 0xdd, 0x03, + 0x79, 0xe1, 0x3d, 0x01, 0x85, 0x06, 0x00, 0x02, 0x01, 0x00, 0x0c, 0x2c, 0xac, 0xb0, 0x2d, 0x0d, + 0x3d, 0x01, 0x45, 0x22, 0x00, 0xac, 0x22, 0xc8, 0xc1, 0x0c, 0x0d, 0xbc, 0x6c, 0x2d, 0x0c, 0x3d, + 0x01, 0x42, 0xc1, 0x30, 0x85, 0x04, 0x00, 0x22, 0x01, 0x00, 0xc8, 0xc1, 0x9c, 0xf2, 0x2d, 0x01, + 0x32, 0xc1, 0x34, 0xc5, 0x0a, 0x00, 0x66, 0x12, 0x0a, 0xc8, 0xd1, 0x38, 0xe1, 0x0c, 0x12, 0xc9, + 0x03, 0x06, 0x06, 0x00, 0x48, 0xd1, 0x1b, 0xdd, 0xd0, 0xd0, 0x74, 0x49, 0x0e, 0x4b, 0xee, 0x56, + 0xac, 0xfc, 0x46, 0x00, 0x00, 0x0c, 0x0d, 0xe8, 0xe1, 0x0c, 0x02, 0xd9, 0x0e, 0xc2, 0x21, 0x10, + 0xd2, 0x21, 0x11, 0xe2, 0x21, 0x12, 0x08, 0xf1, 0x12, 0xc1, 0x50, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0x49, 0x11, 0x29, 0x01, 0xc9, 0x31, 0x09, 0x21, 0xcd, 0x03, 0x3d, 0x01, 0x85, + 0x04, 0x00, 0x0c, 0x07, 0x0c, 0x93, 0x08, 0x01, 0x0c, 0xd2, 0x02, 0x00, 0x00, 0x9c, 0x80, 0x27, + 0x10, 0x16, 0x26, 0x90, 0x13, 0x26, 0xc0, 0x18, 0x37, 0x10, 0x15, 0x02, 0x4c, 0x00, 0x08, 0x01, + 0x1b, 0xcc, 0x1b, 0x00, 0x09, 0x01, 0x06, 0xf8, 0xff, 0x0d, 0x07, 0x72, 0x4c, 0x00, 0x06, 0x01, + 0x00, 0x72, 0x4c, 0x00, 0x08, 0x01, 0x28, 0x11, 0xc8, 0x31, 0x09, 0x02, 0x0c, 0x02, 0x08, 0x21, + 0x12, 0xc1, 0x10, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x0c, 0x97, 0x62, 0x02, 0x00, 0x26, 0xc6, 0x02, + 0x77, 0x96, 0x04, 0x1b, 0x22, 0x46, 0xfc, 0xff, 0x29, 0x03, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, + 0x12, 0xc1, 0xf0, 0xc9, 0x21, 0x09, 0x11, 0xcd, 0x03, 0x02, 0x02, 0x00, 0x3c, 0x03, 0x37, 0x90, + 0x18, 0x02, 0x02, 0x01, 0x5c, 0x84, 0x47, 0x10, 0x27, 0x52, 0xa0, 0x78, 0x57, 0x10, 0x21, 0x3d, + 0x01, 0x05, 0x03, 0x00, 0x66, 0x12, 0x0a, 0x86, 0x07, 0x00, 0x3d, 0x01, 0x45, 0x02, 0x00, 0x26, + 0x12, 0x16, 0x0c, 0x02, 0x68, 0x01, 0x69, 0x0c, 0xc8, 0x21, 0x08, 0x11, 0x12, 0xc1, 0x10, 0x0d, + 0xf0, 0x3d, 0x01, 0xc5, 0x0a, 0x00, 0x66, 0x12, 0xe8, 0x0c, 0x12, 0x78, 0x01, 0x79, 0x0c, 0x46, + 0xf9, 0xff, 0x00, 0x00, 0x82, 0x02, 0x00, 0x6d, 0x02, 0x9c, 0x28, 0x3c, 0x9a, 0x2c, 0xf9, 0x7d, + 0x08, 0x77, 0xb9, 0x57, 0x77, 0x3a, 0x54, 0x72, 0x06, 0x01, 0x1b, 0x66, 0x56, 0x17, 0xff, 0x0c, + 0x09, 0x0c, 0xa4, 0x20, 0x76, 0xc0, 0x6d, 0x02, 0x70, 0x70, 0x74, 0x77, 0x34, 0x37, 0x66, 0x97, + 0x40, 0x3c, 0x4a, 0x87, 0x3a, 0x2f, 0x0c, 0x02, 0x7d, 0x09, 0x0c, 0x98, 0x7c, 0xf5, 0x20, 0x22, + 0xa0, 0x42, 0x06, 0x00, 0x1b, 0x77, 0x1b, 0x66, 0x70, 0x70, 0x74, 0x40, 0x22, 0x90, 0x22, 0xc2, + 0xd0, 0x87, 0x97, 0xe9, 0x72, 0x06, 0x00, 0x20, 0x22, 0xa0, 0xf0, 0x82, 0x11, 0x80, 0x55, 0xc0, + 0x82, 0xc7, 0xd0, 0x87, 0xb5, 0x2d, 0x99, 0x03, 0x0c, 0x12, 0x0d, 0xf0, 0x0c, 0x12, 0x29, 0x03, + 0x0d, 0xf0, 0x9c, 0x97, 0x2d, 0x09, 0x20, 0x22, 0xa0, 0x42, 0x06, 0x00, 0x0b, 0x77, 0x1b, 0x66, + 0x70, 0x70, 0x74, 0x40, 0x22, 0x90, 0x22, 0xc2, 0xd0, 0x56, 0x97, 0xfe, 0x86, 0x02, 0x00, 0x2d, + 0x09, 0x46, 0x01, 0x00, 0x70, 0x22, 0x90, 0x22, 0xc2, 0xd0, 0x29, 0x03, 0x0c, 0x02, 0x0d, 0xf0, + 0x62, 0x02, 0x02, 0x2b, 0x72, 0x16, 0x16, 0x05, 0xb2, 0xa0, 0x66, 0xa2, 0xa0, 0x60, 0x2c, 0xf9, + 0x0c, 0x08, 0x67, 0xb9, 0x20, 0x3c, 0x94, 0x67, 0x34, 0x1b, 0x52, 0xc6, 0xd0, 0x50, 0x50, 0x74, + 0x20, 0x67, 0xc0, 0xe6, 0x96, 0x2b, 0x62, 0x07, 0x01, 0xc0, 0x88, 0x11, 0x8a, 0x85, 0x1b, 0x77, + 0x56, 0xe6, 0xfd, 0x46, 0x09, 0x00, 0x4c, 0x04, 0x67, 0xb4, 0x0a, 0x4c, 0x65, 0x67, 0x35, 0x05, + 0x52, 0xc6, 0xc9, 0x86, 0xf5, 0xff, 0x67, 0xba, 0x18, 0x67, 0x3b, 0x15, 0x52, 0xc6, 0xa9, 0x86, + 0xf2, 0xff, 0x0c, 0x12, 0x0c, 0x06, 0x69, 0x03, 0x0d, 0xf0, 0x0c, 0x08, 0x89, 0x03, 0x0c, 0x02, + 0x0d, 0xf0, 0x0c, 0x12, 0x29, 0x03, 0x0d, 0xf0, 0xad, 0x02, 0x42, 0xa0, 0xff, 0x51, 0x01, 0xcd, + 0x61, 0xa6, 0xca, 0x71, 0x01, 0xcd, 0x07, 0xe3, 0x0b, 0x17, 0xe3, 0x17, 0x0c, 0x38, 0x87, 0x0a, + 0x2c, 0xc6, 0x15, 0x00, 0x00, 0x82, 0x03, 0x00, 0x1b, 0x33, 0x82, 0x4a, 0x00, 0x9c, 0x88, 0x1b, + 0xaa, 0x17, 0x63, 0xe7, 0x82, 0x03, 0x00, 0x82, 0x4a, 0x00, 0x8c, 0xb8, 0x82, 0x03, 0x01, 0x2b, + 0x33, 0x82, 0x4a, 0x01, 0x2b, 0xaa, 0x56, 0x28, 0xfd, 0x0d, 0xf0, 0x00, 0x4b, 0xaa, 0x88, 0x03, + 0x4b, 0x33, 0x47, 0x08, 0x0e, 0x57, 0x08, 0x10, 0x67, 0x08, 0x14, 0x89, 0x0a, 0x77, 0x88, 0xeb, + 0x0d, 0xf0, 0x00, 0x00, 0x82, 0x4a, 0x00, 0x0d, 0xf0, 0x82, 0x5a, 0x00, 0x0d, 0xf0, 0x00, 0x00, + 0x82, 0x5a, 0x00, 0x0c, 0x08, 0x82, 0x4a, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0x82, 0x03, 0x00, 0x1b, + 0x33, 0x82, 0x4a, 0x00, 0x1b, 0xaa, 0x56, 0x28, 0xff, 0x0d, 0xf0, 0x00, 0x0d, 0xf0, 0x00, 0x00, + 0x0d, 0xf0, 0x00, 0x00, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x8c, 0xd4, 0x4a, 0x73, 0x62, 0x03, 0x00, + 0x1b, 0x33, 0x62, 0x45, 0x00, 0x1b, 0x55, 0x77, 0x23, 0xf2, 0x0d, 0xf0, 0xb6, 0x74, 0xe9, 0x62, + 0x03, 0x00, 0x1b, 0x33, 0x42, 0xc4, 0xff, 0x62, 0x45, 0x00, 0x52, 0xc5, 0x01, 0x17, 0x65, 0x24, + 0xb6, 0x64, 0xd5, 0x62, 0x03, 0x00, 0x72, 0x03, 0x01, 0x2b, 0x33, 0x42, 0xc4, 0xfe, 0x62, 0x45, + 0x00, 0x72, 0x45, 0x01, 0x2b, 0x55, 0xc6, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 0x52, 0x20, 0x07, + 0xe2, 0xc9, 0x17, 0xe2, 0xda, 0x40, 0x74, 0x41, 0x0c, 0x38, 0x87, 0x83, 0x62, 0x9c, 0xc7, 0xc0, + 0x87, 0x11, 0x3a, 0x88, 0x68, 0x03, 0x78, 0x13, 0x69, 0x05, 0x68, 0x23, 0x79, 0x15, 0x78, 0x33, + 0x69, 0x25, 0x32, 0xc3, 0x10, 0x79, 0x35, 0x52, 0xc5, 0x10, 0x87, 0x23, 0xe6, 0x37, 0x64, 0x0b, + 0x68, 0x03, 0x78, 0x13, 0x8b, 0x33, 0x69, 0x05, 0x79, 0x15, 0x8b, 0x55, 0x27, 0xe4, 0x08, 0x17, + 0xe4, 0x15, 0x07, 0xe4, 0x22, 0x0d, 0xf0, 0x00, 0x68, 0x03, 0x4b, 0x33, 0x69, 0x05, 0x4b, 0x55, + 0x17, 0xe4, 0x04, 0x07, 0xe4, 0x11, 0x0d, 0xf0, 0x62, 0x13, 0x00, 0x2b, 0x33, 0x62, 0x55, 0x00, + 0x2b, 0x55, 0x07, 0xe4, 0x02, 0x0d, 0xf0, 0x00, 0x62, 0x03, 0x00, 0x62, 0x45, 0x00, 0x0d, 0xf0, + 0x16, 0xa4, 0xff, 0x00, 0x23, 0x40, 0x80, 0xb3, 0x10, 0xb0, 0x33, 0xc0, 0x68, 0x03, 0xac, 0xa7, + 0xc0, 0xa7, 0x11, 0x30, 0xaa, 0x80, 0x78, 0x13, 0x88, 0x23, 0x60, 0x67, 0x81, 0x69, 0x05, 0x98, + 0x33, 0x70, 0x78, 0x81, 0x79, 0x15, 0x68, 0x43, 0x80, 0x89, 0x81, 0x89, 0x25, 0x32, 0xc3, 0x10, + 0x90, 0x96, 0x81, 0x92, 0x65, 0x03, 0x52, 0xc5, 0x10, 0xa7, 0x23, 0xd9, 0x37, 0x64, 0x14, 0x78, + 0x13, 0x88, 0x23, 0x60, 0x67, 0x81, 0x69, 0x05, 0x8b, 0x33, 0x70, 0x78, 0x81, 0x79, 0x15, 0x8b, + 0x55, 0x80, 0x68, 0x20, 0x27, 0x64, 0x0c, 0x78, 0x13, 0x4b, 0x33, 0x60, 0x67, 0x81, 0x69, 0x05, + 0x4b, 0x55, 0x6d, 0x07, 0xba, 0x33, 0x17, 0xe4, 0x06, 0x07, 0xe4, 0x18, 0x0d, 0xf0, 0x00, 0x00, + 0x62, 0x03, 0x00, 0x72, 0x03, 0x01, 0x2b, 0x33, 0x62, 0x45, 0x00, 0x72, 0x45, 0x01, 0x2b, 0x55, + 0x07, 0xe4, 0x01, 0x0d, 0xf0, 0x62, 0x03, 0x00, 0x62, 0x45, 0x00, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x30, 0x72, 0x30, 0x20, 0x61, 0x60, 0x30, 0x31, 0x60, 0xb6, 0x23, 0x37, 0x60, 0x51, 0x41, 0x37, + 0x35, 0x3d, 0x50, 0xf6, 0x40, 0x40, 0xf3, 0x40, 0x50, 0x44, 0xc0, 0x00, 0x14, 0x40, 0x00, 0x33, + 0xa1, 0x22, 0xa0, 0x00, 0x37, 0x36, 0x04, 0x30, 0x66, 0xc0, 0x1b, 0x22, 0xf0, 0x22, 0x11, 0x30, + 0x31, 0x41, 0x0b, 0x44, 0x56, 0xc4, 0xfe, 0x37, 0x36, 0x01, 0x1b, 0x22, 0x20, 0x50, 0x60, 0x70, + 0x25, 0xa3, 0x0d, 0xf0, 0x9c, 0x53, 0x60, 0x20, 0x60, 0x70, 0x26, 0xb3, 0x0d, 0xf0, 0x00, 0x00, + 0x37, 0x36, 0x10, 0x0c, 0x12, 0x7c, 0xf4, 0x70, 0x24, 0xa3, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x44, 0x49, 0x56, 0x30, 0x0c, 0x02, 0x0d, 0xf0, 0x7d, 0x02, 0x20, 0x21, 0x60, 0x30, 0x31, 0x60, + 0xb6, 0x23, 0x30, 0x50, 0xf2, 0x40, 0x40, 0xf3, 0x40, 0x47, 0xb5, 0x17, 0x50, 0x44, 0xc0, 0x00, + 0x14, 0x40, 0x00, 0x33, 0xa1, 0x37, 0x32, 0x02, 0x30, 0x22, 0xc0, 0x30, 0x31, 0x41, 0x42, 0xc4, + 0xff, 0x56, 0x04, 0xff, 0x37, 0x32, 0x02, 0x30, 0x22, 0xc0, 0xd6, 0x27, 0x00, 0x20, 0x20, 0x60, + 0x0d, 0xf0, 0x00, 0x00, 0xcc, 0x53, 0x00, 0x00, 0x00, 0x44, 0x49, 0x56, 0x30, 0x0c, 0x02, 0x0d, + 0xf0, 0x00, 0x00, 0x00, 0xb6, 0x23, 0x30, 0x6d, 0x02, 0x50, 0xf6, 0x40, 0x40, 0xf3, 0x40, 0x47, + 0xb5, 0x29, 0x50, 0x44, 0xc0, 0x00, 0x14, 0x40, 0x00, 0x33, 0xa1, 0x0c, 0x02, 0x37, 0x36, 0x04, + 0x30, 0x66, 0xc0, 0x1b, 0x22, 0xf0, 0x22, 0x11, 0x30, 0x31, 0x41, 0x0b, 0x44, 0x56, 0xc4, 0xfe, + 0x37, 0x36, 0x01, 0x1b, 0x22, 0x0d, 0xf0, 0x00, 0x8c, 0x93, 0x0d, 0xf0, 0x37, 0x36, 0x0c, 0x0c, + 0x12, 0x0d, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x49, 0x56, 0x30, 0x0c, 0x02, 0x0d, 0xf0, + 0x00, 0x04, 0x40, 0xe6, 0xc4, 0x09, 0x20, 0x23, 0x81, 0x30, 0x30, 0xb1, 0x0d, 0xf0, 0x00, 0x00, + 0x30, 0x20, 0xb1, 0x30, 0x3f, 0x31, 0x0d, 0xf0, 0xbc, 0x62, 0x0c, 0x07, 0x06, 0x02, 0x00, 0x00, + 0xac, 0xe2, 0x20, 0x7f, 0x05, 0x20, 0x21, 0x60, 0x40, 0xf2, 0x40, 0x00, 0x14, 0x40, 0x00, 0x52, + 0xa1, 0x50, 0x28, 0x41, 0x80, 0x65, 0x01, 0x52, 0xa0, 0x9d, 0x40, 0x55, 0xc0, 0x90, 0x55, 0x01, + 0x5a, 0x22, 0x10, 0x77, 0x01, 0x70, 0x22, 0x20, 0xd6, 0x66, 0x00, 0x1b, 0x22, 0xf0, 0x66, 0x11, + 0x8c, 0x06, 0x0d, 0xf0, 0x20, 0x21, 0x41, 0xf0, 0x22, 0x11, 0x0d, 0xf0, 0xac, 0xe2, 0x0c, 0x07, + 0x06, 0x02, 0x00, 0x00, 0xac, 0x62, 0x20, 0x7f, 0x05, 0x20, 0x21, 0x60, 0x40, 0xf2, 0x40, 0x00, + 0x14, 0x40, 0x00, 0x52, 0xa1, 0x50, 0x3b, 0x41, 0xb0, 0x25, 0x01, 0x52, 0xa4, 0x1d, 0x40, 0x55, + 0xc0, 0xc0, 0x55, 0x01, 0x5a, 0x33, 0x10, 0x77, 0x01, 0x70, 0x33, 0x20, 0x0d, 0xf0, 0x0c, 0x03, + 0x0d, 0xf0, 0x00, 0x00, 0xb6, 0x23, 0x28, 0x50, 0xf2, 0x40, 0x40, 0xf3, 0x40, 0x47, 0xb5, 0x17, + 0x50, 0x44, 0xc0, 0x00, 0x14, 0x40, 0x00, 0x33, 0xa1, 0x37, 0x32, 0x02, 0x30, 0x22, 0xc0, 0x30, + 0x31, 0x41, 0x42, 0xc4, 0xff, 0x56, 0x04, 0xff, 0x37, 0x32, 0x02, 0x30, 0x22, 0xc0, 0x0d, 0xf0, + 0xcc, 0x53, 0x00, 0x00, 0x00, 0x44, 0x49, 0x56, 0x30, 0x0c, 0x02, 0x0d, 0xf0, 0x00, 0x00, 0x00, + 0x12, 0xc1, 0xe0, 0xc9, 0x41, 0xd9, 0x51, 0xe9, 0x61, 0xf9, 0x71, 0x20, 0x40, 0xf5, 0x30, 0x50, + 0xf5, 0x50, 0x62, 0xc1, 0x30, 0xb4, 0xc1, 0x0c, 0x09, 0xba, 0x66, 0xb7, 0xb6, 0x02, 0x92, 0xc9, + 0x01, 0x10, 0x40, 0x40, 0x60, 0x99, 0x81, 0x30, 0xb2, 0xc1, 0x00, 0x66, 0xa1, 0xba, 0x66, 0xb7, + 0xb6, 0x01, 0x1b, 0x99, 0x50, 0x34, 0xc1, 0x9a, 0x33, 0x2d, 0x06, 0xc8, 0x41, 0xd8, 0x51, 0xe8, + 0x61, 0xf8, 0x71, 0x12, 0xc1, 0x20, 0x0d, 0xf0, 0x00, 0x00, 0xff, 0x3f, 0xfc, 0x04, 0x00, 0x00, + 0x55, 0x00, 0xf0, 0x0b, 0xa4, 0x4b, 0x10, 0x40, 0x5c, 0x5a, 0x10, 0x40, 0xd0, 0x4a, 0x10, 0x40, + 0x94, 0xd6, 0x10, 0x40, 0xec, 0x60, 0x00, 0x40, 0xd0, 0x60, 0x00, 0x40, 0xa4, 0x76, 0x10, 0x40, + 0x8c, 0xd6, 0x10, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x00, 0x20, 0x00, 0x24, 0x00, 0x28, 0x00, 0x2c, 0x00, 0x30, 0x00, 0x34, + 0x00, 0x40, 0x00, 0x60, 0x00, 0x64, 0x00, 0x68, 0x00, 0x70, 0x00, 0x74, 0x00, 0x78, 0x00, 0x7c, + 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xf0, 0xe3, 0xd6, 0xca, 0xbf, 0xb4, 0xaa, 0xa1, 0x98, 0x8f, 0x87, 0x80, 0x78, 0x72, 0x6b, + 0x65, 0x60, 0x5a, 0x55, 0x51, 0x4c, 0x48, 0x44, 0x40, 0x3c, 0x39, 0x36, 0x33, 0x30, 0x2d, 0x2b, + 0x28, 0x26, 0x24, 0x22, 0x20, 0x1e, 0x1d, 0x1b, 0x19, 0x18, 0x17, 0x15, 0x14, 0x13, 0x12, 0x11, + 0x10, 0x0f, 0x0e, 0x0e, 0x0d, 0x0c, 0x0b, 0x0b, 0x0a, 0x0a, 0x09, 0x09, 0x08, 0x08, 0x07, 0x07, + 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x04, 0x0f, 0x04, 0x1e, 0x04, 0x2d, 0x04, 0x3d, 0x04, 0x4c, 0x04, 0x5c, 0x04, 0x6d, 0x04, + 0x7d, 0x04, 0x8e, 0x04, 0x9e, 0x04, 0xb0, 0x04, 0xc1, 0x04, 0xd3, 0x04, 0xe5, 0x04, 0xf7, 0x04, + 0x09, 0x05, 0x1c, 0x05, 0x2f, 0x05, 0x42, 0x05, 0x56, 0x05, 0x69, 0x05, 0x7d, 0x05, 0x92, 0x05, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x03, 0xff, 0x3f, + 0x40, 0x04, 0xff, 0x3f, 0x9c, 0x04, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x11, 0xff, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x33, 0xcd, 0xab, 0x34, 0x12, 0x6d, 0xe6, + 0xec, 0xde, 0x05, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xff, 0x3f, 0x00, 0x05, 0xff, 0x3f, + 0x08, 0x0d, 0x00, 0x00, 0x18, 0xfe, 0x34, 0x11, 0xbe, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, + 0xa9, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, + 0xa9, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, + 0x6c, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x42, 0x00, 0x00, 0x80, 0x43, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x41, 0xf8, 0x00, 0xff, 0x3f, 0x62, 0x6f, 0x6f, 0x74, 0x20, 0x65, 0x76, 0x74, + 0x0a, 0x00, 0x00, 0x00, 0x65, 0x70, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x77, 0x69, 0x66, 0x69, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x0a, 0x00, 0x00, 0x73, 0x64, 0x69, 0x6f, + 0x5f, 0x61, 0x74, 0x65, 0x20, 0x25, 0x73, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x31, 0x34, 0x3a, 0x33, + 0x31, 0x3a, 0x30, 0x39, 0x00, 0x00, 0x00, 0x00, 0x62, 0x73, 0x73, 0x20, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x30, 0x78, 0x25, + 0x30, 0x38, 0x78, 0x20, 0x0a, 0x00, 0x00, 0x00, 0x6f, 0x6f, 0x62, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x6d, 0x64, 0x73, 0x74, 0x6f, 0x70, 0x20, 0x74, 0x72, 0x75, 0x65, 0x21, 0x0a, 0x00, 0x00, + 0x25, 0x73, 0x20, 0x25, 0x75, 0x0a, 0x00, 0x00, 0x61, 0x70, 0x70, 0x5f, 0x6d, 0x61, 0x69, 0x6e, + 0x2e, 0x63, 0x00, 0x00, 0x75, 0x72, 0x74, 0x34, 0x3a, 0x25, 0x75, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x54, 0x78, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x74, 0x78, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x3a, 0x30, 0x78, 0x25, 0x78, 0x21, 0x0a, 0x00, 0x00, 0x00, 0x44, 0x65, 0x73, 0x69, + 0x72, 0x65, 0x64, 0x3a, 0x20, 0x25, 0x64, 0x20, 0x52, 0x53, 0x53, 0x49, 0x3a, 0x20, 0x25, 0x64, + 0x20, 0x67, 0x61, 0x69, 0x6e, 0x3a, 0x20, 0x25, 0x64, 0x20, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x3a, + 0x20, 0x25, 0x64, 0x20, 0x65, 0x72, 0x72, 0x3a, 0x20, 0x25, 0x64, 0x20, 0x65, 0x72, 0x72, 0x5f, + 0x66, 0x63, 0x73, 0x3a, 0x20, 0x25, 0x64, 0x20, 0x67, 0x6f, 0x6f, 0x64, 0x3a, 0x20, 0x25, 0x64, + 0x0a, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x63, 0x49, 0x6e, 0x69, 0x74, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x41, 0x64, 0x64, 0x72, 0x3a, 0x30, 0x78, 0x25, 0x78, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x30, 0x78, 0x25, 0x78, 0x0a, 0x00, 0x00, 0x46, 0x61, 0x69, 0x6c, 0x20, 0x72, 0x65, 0x61, + 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x21, 0x0a, 0x00, 0x00, + 0x44, 0x61, 0x74, 0x61, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x41, 0x64, 0x64, 0x72, 0x20, 0x30, + 0x78, 0x25, 0x78, 0x20, 0x3a, 0x30, 0x78, 0x25, 0x78, 0x0a, 0x00, 0x00, 0x25, 0x64, 0x20, 0x25, + 0x64, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x77, 0x69, 0x66, 0x69, 0x69, 0x6e, 0x69, 0x74, + 0x0a, 0x00, 0x00, 0x00, 0x73, 0x64, 0x74, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x0a, 0x00, 0x00, 0x00, + 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x78, 0x5f, 0x70, 0x77, 0x63, 0x74, 0x72, 0x6c, 0x00, 0x00, + 0x74, 0x73, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x00, 0x00, 0x00, 0x72, 0x66, 0x63, 0x61, + 0x6c, 0x5f, 0x70, 0x77, 0x63, 0x74, 0x72, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x77, 0x63, 0x74, + 0x72, 0x6c, 0x20, 0x6f, 0x6b, 0x0a, 0x00, 0x00, 0x72, 0x66, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x77, + 0x63, 0x74, 0x72, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x77, 0x63, 0x74, 0x72, 0x6c, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x20, 0x6f, + 0x6b, 0x0a, 0x00, 0x00, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x63, 0x5f, 0x64, 0x72, 0x69, 0x66, + 0x74, 0x00, 0x00, 0x00, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x72, 0x66, 0x63, 0x61, 0x6c, 0x5f, 0x74, + 0x78, 0x69, 0x71, 0x00, 0x72, 0x66, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x78, 0x69, 0x71, 0x20, 0x4f, + 0x76, 0x65, 0x72, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x57, 0x69, 0x66, 0x69, 0x54, 0x78, 0x41, 0x63, + 0x6b, 0x00, 0x00, 0x00, 0x20, 0x77, 0x69, 0x66, 0x69, 0x20, 0x74, 0x78, 0x20, 0x6f, 0x75, 0x74, + 0x0a, 0x00, 0x00, 0x00, 0x20, 0x54, 0x78, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x61, 0x63, 0x6b, 0x3a, 0x20, 0x25, 0x64, 0x21, 0x0a, + 0x00, 0x00, 0x00, 0x00, 0x53, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x73, + 0x74, 0x00, 0x00, 0x00, 0x20, 0x54, 0x78, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x20, 0x30, 0x78, 0x25, 0x78, + 0x21, 0x0a, 0x00, 0x00, 0x52, 0x46, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x6c, + 0x5f, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x00, 0x20, 0x52, 0x46, 0x20, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x20, 0x61, 0x73, 0x20, 0x25, 0x64, + 0x0a, 0x00, 0x00, 0x00, 0x57, 0x69, 0x66, 0x69, 0x54, 0x78, 0x54, 0x6f, 0x6e, 0x65, 0x00, 0x00, + 0x20, 0x77, 0x69, 0x66, 0x69, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x72, + 0x72, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x75, 0x74, 0x0a, 0x00, 0x00, 0x00, 0x73, 0x74, 0x6f, 0x70, + 0x74, 0x6f, 0x6e, 0x65, 0x00, 0x00, 0x00, 0x00, 0x20, 0x57, 0x69, 0x66, 0x69, 0x20, 0x54, 0x78, + 0x20, 0x54, 0x6f, 0x6e, 0x65, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x21, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x52, 0x46, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x6c, 0x00, 0x00, 0x00, 0x00, + 0x57, 0x69, 0x66, 0x69, 0x52, 0x78, 0x53, 0x74, 0x61, 0x72, 0x74, 0x00, 0x77, 0x69, 0x66, 0x69, + 0x20, 0x72, 0x78, 0x20, 0x69, 0x6e, 0x0a, 0x00, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x5f, + 0x63, 0x66, 0x67, 0x00, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x20, 0x61, 0x73, 0x20, 0x74, + 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x3d, 0x25, 0x64, 0x21, 0x0a, 0x00, 0x46, 0x69, 0x6c, 0x6c, + 0x54, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x00, 0x00, 0x00, 0x00, 0x46, 0x69, 0x6c, 0x6c, + 0x20, 0x54, 0x78, 0x20, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x20, 0x4f, 0x4b, 0x21, 0x0a, 0x00, + 0x72, 0x64, 0x00, 0x00, 0x30, 0x78, 0x25, 0x78, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x6b, + 0x21, 0x0a, 0x00, 0x00, 0x77, 0x72, 0x00, 0x00, 0x6d, 0x77, 0x72, 0x00, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x20, 0x6f, 0x6b, 0x21, 0x0a, 0x00, 0x00, 0x73, 0x6d, 0x00, 0x00, 0x72, 0x65, 0x67, 0x20, + 0x30, 0x78, 0x25, 0x78, 0x20, 0x72, 0x65, 0x61, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x69, 0x73, + 0x20, 0x30, 0x78, 0x25, 0x78, 0x0a, 0x00, 0x00, 0x63, 0x6d, 0x00, 0x00, 0x67, 0x62, 0x00, 0x00, + 0x57, 0x69, 0x66, 0x69, 0x49, 0x6e, 0x69, 0x74, 0x00, 0x00, 0x00, 0x00, 0x49, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x57, 0x69, 0x66, 0x69, 0x20, 0x42, 0x61, 0x73, 0x65, + 0x62, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x4d, 0x61, 0x63, 0x20, 0x4f, 0x6b, 0x21, + 0x0a, 0x00, 0x00, 0x00, 0x52, 0x46, 0x49, 0x6e, 0x69, 0x74, 0x00, 0x00, 0x49, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x72, 0x66, 0x20, 0x4f, 0x6b, 0x21, 0x0a, 0x00, 0x00, + 0x42, 0x42, 0x49, 0x6e, 0x69, 0x74, 0x00, 0x00, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x20, 0x42, 0x42, 0x20, 0x4f, 0x6b, 0x21, 0x0a, 0x00, 0x00, 0x4d, 0x61, 0x63, 0x49, + 0x6e, 0x69, 0x74, 0x00, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x4d, + 0x61, 0x63, 0x20, 0x4f, 0x6b, 0x21, 0x0a, 0x00, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x45, 0x72, 0x61, + 0x73, 0x65, 0x00, 0x00, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x20, 0x45, 0x72, 0x61, 0x73, 0x65, 0x20, + 0x4f, 0x6b, 0x21, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x20, 0x45, 0x72, + 0x61, 0x73, 0x65, 0x20, 0x46, 0x61, 0x69, 0x6c, 0x21, 0x0a, 0x00, 0x00, 0x46, 0x6c, 0x61, 0x73, + 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x00, 0x00, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x20, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x20, 0x4f, 0x6b, 0x21, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x46, 0x6c, 0x61, 0x73, + 0x68, 0x20, 0x57, 0x72, 0x69, 0x74, 0x65, 0x20, 0x46, 0x61, 0x69, 0x6c, 0x21, 0x0a, 0x00, 0x00, + 0x46, 0x6c, 0x61, 0x73, 0x68, 0x52, 0x65, 0x61, 0x64, 0x00, 0x00, 0x00, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x52, 0x65, 0x61, 0x64, 0x00, 0x00, 0x00, 0x52, 0x64, 0x4d, 0x65, 0x6d, 0x00, 0x00, 0x00, + 0x30, 0x78, 0x25, 0x78, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x30, + 0x78, 0x25, 0x78, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x30, 0x78, + 0x25, 0x78, 0x20, 0x30, 0x78, 0x25, 0x78, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x47, 0x70, 0x69, 0x6f, + 0x52, 0x65, 0x61, 0x64, 0x00, 0x00, 0x00, 0x00, 0x47, 0x50, 0x49, 0x4f, 0x25, 0x64, 0x3a, 0x25, + 0x64, 0x0a, 0x00, 0x00, 0x47, 0x70, 0x69, 0x6f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x00, 0x00, 0x00, + 0x4f, 0x4b, 0x21, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x47, 0x70, 0x69, 0x6f, 0x43, 0x6c, 0x6b, 0x00, + 0x43, 0x6c, 0x6b, 0x20, 0x54, 0x78, 0x20, 0x4f, 0x4b, 0x21, 0x0a, 0x00, 0x72, 0x69, 0x00, 0x00, + 0x77, 0x69, 0x00, 0x00, 0x77, 0x69, 0x6d, 0x00, 0x72, 0x69, 0x6d, 0x00, 0x70, 0x62, 0x75, 0x73, + 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x6d, 0x6f, 0x64, 0x65, 0x00, 0x00, 0x70, 0x62, 0x75, 0x73, + 0x20, 0x73, 0x65, 0x74, 0x20, 0x64, 0x65, 0x62, 0x75, 0x67, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x6f, + 0x6b, 0x21, 0x0a, 0x00, 0x70, 0x62, 0x75, 0x73, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6d, 0x6f, 0x64, + 0x65, 0x00, 0x00, 0x00, 0x70, 0x62, 0x75, 0x73, 0x20, 0x73, 0x65, 0x74, 0x20, 0x77, 0x6f, 0x72, + 0x6b, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x6f, 0x6b, 0x21, 0x0a, 0x00, 0x00, 0x70, 0x62, 0x75, 0x73, + 0x00, 0x00, 0x00, 0x00, 0x70, 0x62, 0x75, 0x73, 0x20, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x6b, 0x21, + 0x0a, 0x00, 0x00, 0x00, 0x70, 0x62, 0x75, 0x73, 0x5f, 0x72, 0x64, 0x00, 0x74, 0x78, 0x74, 0x6f, + 0x6e, 0x65, 0x00, 0x00, 0x74, 0x78, 0x20, 0x74, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x6b, 0x21, 0x0a, + 0x00, 0x00, 0x00, 0x00, 0x73, 0x74, 0x6f, 0x70, 0x20, 0x74, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x6b, + 0x21, 0x0a, 0x00, 0x00, 0x61, 0x63, 0x63, 0x75, 0x6d, 0x69, 0x71, 0x00, 0x74, 0x78, 0x5f, 0x6f, + 0x6e, 0x6f, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x20, 0x50, 0x41, 0x20, 0x4f, 0x4e, 0x5f, 0x4f, + 0x46, 0x46, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x21, + 0x0a, 0x00, 0x00, 0x00, 0x20, 0x50, 0x41, 0x20, 0x4f, 0x4e, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, + 0x21, 0x0a, 0x00, 0x00, 0x61, 0x64, 0x63, 0x74, 0x72, 0x69, 0x67, 0x00, 0x69, 0x71, 0x6d, 0x69, + 0x73, 0x5f, 0x73, 0x65, 0x74, 0x00, 0x00, 0x00, 0x20, 0x69, 0x71, 0x6d, 0x69, 0x73, 0x5f, 0x73, + 0x65, 0x74, 0x20, 0x6f, 0x6b, 0x21, 0x0a, 0x00, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x71, 0x6d, 0x69, + 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x43, 0x6d, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x00, + 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x20, 0x63, 0x6d, 0x64, 0x0a, 0x00, 0x00, 0x20, 0x63, 0x6d, 0x64, + 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x21, 0x0a, 0x00, + 0x57, 0x69, 0x66, 0x69, 0x54, 0x78, 0x53, 0x74, 0x61, 0x72, 0x74, 0x00, 0x54, 0x78, 0x20, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x21, 0x0a, 0x00, 0x00, 0x20, 0x54, 0x78, 0x20, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x21, 0x0a, 0x00, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x78, 0x5f, 0x74, 0x6f, 0x6e, 0x65, 0x5f, + 0x70, 0x77, 0x72, 0x00, 0x74, 0x6f, 0x6e, 0x65, 0x5f, 0x50, 0x53, 0x44, 0x00, 0x00, 0x00, 0x00, + 0x73, 0x64, 0x69, 0x6f, 0x5f, 0x62, 0x75, 0x66, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x00, 0x00, 0x00, + 0x73, 0x64, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x00, 0x00, 0x72, 0x78, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, + 0x72, 0x66, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x78, 0x69, 0x71, 0x00, 0x00, 0x61, 0x6d, 0x70, 0x5f, + 0x6d, 0x69, 0x73, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x70, 0x68, 0x61, 0x5f, 0x6d, 0x69, 0x73, 0x3d, + 0x25, 0x64, 0x0a, 0x00, 0x70, 0x62, 0x75, 0x73, 0x5f, 0x64, 0x63, 0x6f, 0x00, 0x00, 0x00, 0x00, + 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x0a, 0x00, + 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x00, 0x00, 0x00, + 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x78, 0x74, 0x6f, 0x6e, 0x65, 0x5f, 0x70, 0x77, 0x72, 0x00, + 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x78, 0x5f, 0x70, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x00, 0x00, + 0x20, 0x77, 0x69, 0x66, 0x69, 0x20, 0x74, 0x78, 0x20, 0x6f, 0x75, 0x74, 0x2c, 0x20, 0x0a, 0x00, + 0x20, 0x54, 0x78, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x20, 0x74, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x3a, 0x30, 0x78, 0x25, 0x78, 0x21, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, + 0x00, 0x00, 0x00, 0x00, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x77, 0x61, 0x6b, 0x65, + 0x75, 0x70, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x25, 0x64, 0x75, 0x73, 0x20, 0x00, 0x00, 0x00, + 0x66, 0x6c, 0x61, 0x67, 0x3d, 0x25, 0x78, 0x2c, 0x20, 0x72, 0x78, 0x64, 0x63, 0x5f, 0x66, 0x6c, + 0x61, 0x67, 0x3d, 0x25, 0x78, 0x20, 0x00, 0x00, 0x25, 0x64, 0x20, 0x00, 0x43, 0x6f, 0x72, 0x72, + 0x65, 0x63, 0x74, 0x3a, 0x20, 0x25, 0x64, 0x20, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x3a, + 0x20, 0x25, 0x64, 0x20, 0x52, 0x53, 0x53, 0x49, 0x3a, 0x20, 0x25, 0x64, 0x20, 0x67, 0x61, 0x69, + 0x6e, 0x3a, 0x20, 0x25, 0x64, 0x20, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x3a, 0x20, 0x25, 0x64, 0x20, + 0x65, 0x72, 0x72, 0x3a, 0x20, 0x25, 0x64, 0x20, 0x65, 0x72, 0x72, 0x5f, 0x66, 0x63, 0x73, 0x3a, + 0x20, 0x25, 0x64, 0x20, 0x65, 0x72, 0x72, 0x5f, 0x61, 0x31, 0x3a, 0x20, 0x25, 0x64, 0x0a, 0x00, + 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x25, 0x64, 0x20, 0x44, 0x65, 0x73, 0x69, + 0x72, 0x65, 0x64, 0x3a, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x30, 0x78, 0x25, 0x78, + 0x2c, 0x30, 0x78, 0x25, 0x78, 0x0a, 0x00, 0x00, 0x66, 0x61, 0x69, 0x6c, 0x0a, 0x00, 0x00, 0x00, + 0x30, 0x78, 0x25, 0x78, 0x2c, 0x30, 0x78, 0x25, 0x78, 0x2c, 0x30, 0x78, 0x25, 0x78, 0x2c, 0x30, + 0x78, 0x25, 0x78, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x20, 0x70, + 0x6c, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x73, 0x20, 0x32, + 0x6d, 0x73, 0x21, 0x21, 0x21, 0x0a, 0x00, 0x00, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3d, + 0x25, 0x64, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x71, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3d, + 0x25, 0x64, 0x2c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x78, 0x5f, 0x67, + 0x61, 0x69, 0x6e, 0x3a, 0x20, 0x72, 0x66, 0x74, 0x78, 0x3d, 0x25, 0x78, 0x2c, 0x20, 0x72, 0x66, + 0x72, 0x78, 0x3d, 0x78, 0x25, 0x78, 0x2c, 0x20, 0x61, 0x74, 0x74, 0x3d, 0x25, 0x64, 0x2c, 0x20, + 0x74, 0x78, 0x62, 0x62, 0x3d, 0x30, 0x78, 0x25, 0x78, 0x2c, 0x20, 0x62, 0x62, 0x72, 0x78, 0x31, + 0x3d, 0x30, 0x78, 0x25, 0x78, 0x2c, 0x20, 0x62, 0x62, 0x72, 0x78, 0x32, 0x3d, 0x30, 0x78, 0x25, + 0x78, 0x2c, 0x20, 0x74, 0x64, 0x63, 0x3a, 0x25, 0x64, 0x2c, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x77, 0x72, 0x3d, 0x25, 0x6c, 0x64, 0x2c, 0x20, 0x6d, + 0x61, 0x78, 0x3d, 0x25, 0x6c, 0x64, 0x2c, 0x20, 0x0a, 0x00, 0x00, 0x00, 0x25, 0x64, 0x5f, 0x25, + 0x64, 0x5f, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x72, 0x78, 0x69, 0x71, 0x5f, 0x72, 0x65, 0x67, + 0x3a, 0x20, 0x69, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x61, 0x5f, 0x6d, 0x69, 0x73, 0x3d, 0x25, 0x64, + 0x2c, 0x20, 0x70, 0x5f, 0x6d, 0x69, 0x73, 0x3d, 0x25, 0x64, 0x0a, 0x00, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x3a, 0x20, 0x25, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x20, 0x30, 0x78, 0x25, + 0x78, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x30, 0x78, 0x25, 0x78, 0x20, 0x30, 0x78, 0x25, 0x78, + 0x0a, 0x00, 0x00, 0x00, 0x25, 0x33, 0x64, 0x2c, 0x25, 0x33, 0x64, 0x3b, 0x20, 0x00, 0x00, 0x00, + 0x74, 0x78, 0x69, 0x71, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x74, 0x78, + 0x69, 0x71, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x3d, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x54, 0x58, 0x50, 0x57, 0x31, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, + 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, + 0x54, 0x58, 0x5f, 0x50, 0x57, 0x43, 0x54, 0x52, 0x4c, 0x2c, 0x20, 0x74, 0x6f, 0x74, 0x5f, 0x70, + 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x64, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x3d, 0x25, 0x64, 0x2c, + 0x20, 0x63, 0x6f, 0x61, 0x74, 0x74, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x74, 0x3d, 0x25, + 0x64, 0x2c, 0x20, 0x72, 0x66, 0x5f, 0x67, 0x3d, 0x25, 0x78, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, + 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x68, 0x70, 0x63, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, + 0x0a, 0x00, 0x00, 0x00, 0x54, 0x3a, 0x25, 0x64, 0x2c, 0x25, 0x78, 0x2c, 0x25, 0x64, 0x0a, 0x00, + 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x75, 0x6d, + 0x3a, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x6e, 0x75, 0x6d, 0x5f, 0x6b, 0x3d, 0x25, 0x64, + 0x2c, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6f, 0x75, 0x74, 0x3d, 0x25, 0x64, 0x2c, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x72, 0x65, 0x67, 0x5f, 0x69, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x69, 0x6e, + 0x64, 0x61, 0x74, 0x61, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x00, 0x00, 0x00, 0x70, 0x77, 0x63, 0x74, + 0x72, 0x6c, 0x3a, 0x20, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x3d, 0x25, 0x64, 0x2c, 0x20, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x3d, 0x25, 0x64, 0x2c, 0x20, + 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x3d, 0x25, 0x64, 0x2c, + 0x20, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x3d, 0x25, 0x64, 0x2c, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x72, 0x78, 0x69, 0x71, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x73, + 0x3a, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x77, 0x72, 0x3d, 0x25, 0x64, 0x2c, 0x20, + 0x25, 0x64, 0x2d, 0x25, 0x64, 0x2c, 0x20, 0x00, 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, + 0x25, 0x64, 0x2c, 0x20, 0x25, 0x64, 0x2c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x6f, 0x62, 0x75, + 0x66, 0x0a, 0x00, 0x00, 0x73, 0x69, 0x70, 0x63, 0x6d, 0x64, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, + 0x61, 0x74, 0x65, 0x63, 0x6d, 0x64, 0x20, 0x25, 0x73, 0x0a, 0x00, 0x00, 0x65, 0x70, 0x62, 0x75, + 0x66, 0x6e, 0x75, 0x6d, 0x20, 0x25, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x31, 0x0a, 0x00, 0x00, + 0x34, 0x0a, 0x00, 0x00, 0x32, 0x0a, 0x00, 0x00, 0x33, 0x0a, 0x00, 0x00, 0x65, 0x50, 0x68, 0x79, + 0x49, 0x6e, 0x69, 0x74, 0x0a, 0x00, 0x00, 0x00, 0x65, 0x70, 0x4e, 0x6f, 0x42, 0x75, 0x66, 0x0a, + 0x00, 0x00, 0x00, 0x00, 0x65, 0x70, 0x6e, 0x6f, 0x62, 0x75, 0x66, 0x0a, 0x00, 0x00, 0x00, 0x00, + 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x66, 0x20, 0x6e, 0x6f, 0x20, 0x62, 0x75, 0x66, 0x0a, 0x00, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x00, 0x00, 0x30, 0x31, 0x32, 0x33, + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x6e, 0x75, 0x6c, 0x6c, 0x3e, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x7c, 0x00, 0x0c, 0x01, 0x00, + 0x08, 0x01, 0x08, 0x0c, 0x08, 0x0d, 0x08, 0x0e, 0x08, 0x0f, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x38, 0xc6, 0x10, 0x40, 0xaf, 0x04, 0x00, 0x00, 0x0e, 0xf0, 0x01, 0x80, + 0x13, 0x8c, 0x12, 0x8d, 0x11, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0xe8, 0xca, 0x10, 0x40, 0x60, 0x04, 0x00, 0x00, 0x0e, 0xc0, 0x01, 0x80, 0x12, 0x8c, 0x11, 0x8d, + 0x10, 0x8e, 0x0f, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x48, 0xcf, 0x10, 0x40, + 0x70, 0x04, 0x00, 0x00, 0x0e, 0xb0, 0x01, 0x80, 0x0d, 0x8c, 0x0c, 0x8d, 0x0b, 0x8e, 0x0a, 0x8f, + 0x09, 0x00, 0x00, 0x00, 0x08, 0x12, 0xff, 0x3f, 0x10, 0x94, 0xff, 0x3f, 0x00, 0x00, 0x00, 0xf3, + + }; + + // const static int eagle_fw3_size = 60448; diff --git a/drivers/net/wireless/esp8089/esp_conf.h b/drivers/net/wireless/esp8089/esp_conf.h new file mode 100755 index 000000000000..59423925dae9 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_conf.h @@ -0,0 +1,6 @@ +#ifndef _ESP_CONF_H_ +#define _ESP_CONF_H_ + +#define INIT_DATA_CONF_BUF "crystal_26M_en=1;test_xtal=0;sdio_configure=2;bt_configure=0;bt_protocol=0;dual_ant_configure=0;test_uart_configure=0;share_xtal=0;gpio_wake=0;no_auto_sleep=1;ext_rst=0;wakeup_gpio=12;ate_test=0;speed_suspend=0;$" + +#endif /*_ESP_CONF_H_ */ diff --git a/drivers/net/wireless/esp8089/esp_config.mk b/drivers/net/wireless/esp8089/esp_config.mk new file mode 100755 index 000000000000..2026cdf8be64 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_config.mk @@ -0,0 +1 @@ +EXTRA_CFLAGS += -DP2P_CONCURRENT -DESP_ACK_INTERRUPT -DESP_USE_SDIO diff --git a/drivers/net/wireless/esp8089/esp_ctrl.c b/drivers/net/wireless/esp8089/esp_ctrl.c new file mode 100755 index 000000000000..e391525cf612 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_ctrl.c @@ -0,0 +1,807 @@ +/* + * Copyright (c) 2009 - 2014 Espressif System. + * + * SIP ctrl packet parse and pack + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include +#include +#include +#include +#include + +#include "esp_pub.h" +#include "esp_sip.h" +#include "esp_ctrl.h" +#include "esp_sif.h" +#include "esp_debug.h" +#include "esp_wmac.h" +#include "esp_utils.h" +#include "esp_wl.h" +#include "esp_file.h" +#include "esp_path.h" +#ifdef TEST_MODE +#include "testmode.h" +#endif /* TEST_MODE */ +#include "esp_version.h" + +extern struct completion *gl_bootup_cplx; + +static void esp_tx_ba_session_op(struct esp_sip *sip, struct esp_node *node, trc_ampdu_state_t state, u8 tid ) +{ + struct esp_tx_tid *txtid; + + txtid = &node->tid[tid]; + if (state == TRC_TX_AMPDU_STOPPED) { + if (txtid->state == ESP_TID_STATE_OPERATIONAL) { + esp_dbg(ESP_DBG_TXAMPDU, "%s tid %d TXAMPDU GOT STOP EVT\n", __func__, tid); + + spin_lock_bh(&sip->epub->tx_ampdu_lock); + txtid->state = ESP_TID_STATE_WAIT_STOP; + spin_unlock_bh(&sip->epub->tx_ampdu_lock); +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + ieee80211_stop_tx_ba_session(sip->epub->hw, node->addr, (u16)tid, WLAN_BACK_INITIATOR); +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 32)) + ieee80211_stop_tx_ba_session(sip->epub->hw, node->sta->addr, (u16)tid, WLAN_BACK_INITIATOR); +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 35)) + ieee80211_stop_tx_ba_session(node->sta, (u16)tid, WLAN_BACK_INITIATOR); +#else + ieee80211_stop_tx_ba_session(node->sta, (u16)tid); +#endif /* KERNEL_VERSION 2.6.39 */ + } else { + esp_dbg(ESP_DBG_TXAMPDU, "%s tid %d TXAMPDU GOT STOP EVT IN WRONG STATE %d\n", __func__, tid, txtid->state); + } + } else if (state == TRC_TX_AMPDU_OPERATIONAL) { + if (txtid->state == ESP_TID_STATE_STOP) { + esp_dbg(ESP_DBG_TXAMPDU, "%s tid %d TXAMPDU GOT OPERATIONAL\n", __func__, tid); + + spin_lock_bh(&sip->epub->tx_ampdu_lock); + txtid->state = ESP_TID_STATE_TRIGGER; + spin_unlock_bh(&sip->epub->tx_ampdu_lock); +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + ieee80211_start_tx_ba_session(sip->epub->hw, node->addr, tid); +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 32)) + ieee80211_start_tx_ba_session(sip->epub->hw, node->sta->addr, tid); +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 37)) + ieee80211_start_tx_ba_session(node->sta, (u16)tid); +#else + ieee80211_start_tx_ba_session(node->sta, (u16)tid, 0); +#endif /* KERNEL_VERSION 2.6.39 */ + + } else if(txtid->state == ESP_TID_STATE_OPERATIONAL) { +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + sip_send_ampdu_action(sip->epub, SIP_AMPDU_TX_OPERATIONAL, node->addr, tid, node->ifidx, 0); +#else + sip_send_ampdu_action(sip->epub, SIP_AMPDU_TX_OPERATIONAL, node->sta->addr, tid, node->ifidx, 0); +#endif + } else { + esp_dbg(ESP_DBG_TXAMPDU, "%s tid %d TXAMPDU GOT OPERATIONAL EVT IN WRONG STATE %d\n", __func__, tid, txtid->state); + } + } +} + +#ifdef TEST_MODE +int sip_parse_event_debug(struct esp_pub *epub, const u8 *src, u8 *dst) +{ + struct sip_evt_debug* debug_evt = (struct sip_evt_debug *)(src + SIP_CTRL_HDR_LEN); + + switch (debug_evt->results[0]) { + case RDRSSI: { + u32 mask = debug_evt->results[1]; + u8 *p = (u8 *)&debug_evt->results[2]; + u8 index; + struct esp_node *enode; + + while (mask != 0) { + index = ffs(mask) - 1; + if (index >= ESP_PUB_MAX_STA) + break; + enode = esp_get_node_by_index(epub, index); + if (enode == NULL) { + esp_dbg(ESP_DBG_ERROR, "trc mask dismatch"); + } else { + dst += sprintf(dst, "%02x:%02x:%02x:%02x:%02x:%02x 0x%x 0x%x\n", +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + enode->sta->addr[0], enode->sta->addr[1], enode->sta->addr[2], + enode->sta->addr[3], enode->sta->addr[4], enode->sta->addr[5], +#else + enode->addr[0], enode->addr[1], enode->addr[2], + enode->addr[3], enode->addr[4], enode->addr[5], +#endif + *p, *(p+1)); + p += 2; + } + mask &= ~(1<len; i++) + dst += sprintf(dst, "0x%x%s", debug_evt->results[i], i == debug_evt->len -1 ? "":" " ); + break; + } + } + + return 0; +} +#endif /*TEST_MODE*/ + + +int sip_parse_events(struct esp_sip *sip, u8 *buf) +{ + struct sip_hdr *hdr = (struct sip_hdr *)buf; + + switch (hdr->c_evtid) { + case SIP_EVT_TARGET_ON: { + /* use rx work queue to send... */ + if (atomic_read(&sip->state) == SIP_PREPARE_BOOT || atomic_read(&sip->state) == SIP_BOOT) { + atomic_set(&sip->state, SIP_SEND_INIT); + queue_work(sip->epub->esp_wkq, &sip->rx_process_work); + } else { + esp_dbg(ESP_DBG_ERROR, "%s boot during wrong state %d\n", __func__, atomic_read(&sip->state)); + } + break; + } + + case SIP_EVT_BOOTUP: { + struct sip_evt_bootup2 *bootup_evt = (struct sip_evt_bootup2 *)(buf + SIP_CTRL_HDR_LEN); + if (sip->rawbuf) + kfree(sip->rawbuf); + + sip_post_init(sip, bootup_evt); + + if (gl_bootup_cplx) + complete(gl_bootup_cplx); + + break; + } + case SIP_EVT_RESETTING:{ + sip->epub->wait_reset = 1; + if (gl_bootup_cplx) + complete(gl_bootup_cplx); + break; + } + case SIP_EVT_SLEEP:{ + //atomic_set(&sip->epub->ps.state, ESP_PM_ON); + break; + } + case SIP_EVT_TXIDLE:{ + //struct sip_evt_txidle *txidle = (struct sip_evt_txidle *)(buf + SIP_CTRL_HDR_LEN); + //sip_txdone_clear(sip, txidle->last_seq); + break; + } +#ifndef FAST_TX_STATUS + case SIP_EVT_TX_STATUS: { + struct sip_evt_tx_report *report = (struct sip_evt_tx_report *)(buf + SIP_CTRL_HDR_LEN); + sip_txdoneq_process(sip, report); + + break; + } +#endif /* FAST_TX_STATUS */ + + case SIP_EVT_SCAN_RESULT: { + struct sip_evt_scan_report *report = (struct sip_evt_scan_report *)(buf + SIP_CTRL_HDR_LEN); + if (atomic_read(&sip->epub->wl.off)) { + esp_dbg(ESP_DBG_ERROR, "%s scan result while wlan off\n", __func__); + return 0; + } + sip_scandone_process(sip, report); + + break; + } + + case SIP_EVT_ROC: { + struct sip_evt_roc* report = (struct sip_evt_roc *)(buf + SIP_CTRL_HDR_LEN); + esp_rocdone_process(sip->epub->hw, report); + break; + } + + +#ifdef ESP_RX_COPYBACK_TEST + + case SIP_EVT_COPYBACK: { + u32 len = hdr->len - SIP_CTRL_HDR_LEN; + + esp_dbg(ESP_DBG_TRACE, "%s copyback len %d seq %u\n", __func__, len, hdr->seq); + + memcpy(copyback_buf + copyback_offset, pkt->buf + SIP_CTRL_HDR_LEN, len); + copyback_offset += len; + + //show_buf(pkt->buf, 256); + + //how about totlen % 256 == 0?? + if (hdr->hdr.len < 256) { + kfree(copyback_buf); + } + } + break; +#endif /* ESP_RX_COPYBACK_TEST */ + case SIP_EVT_CREDIT_RPT: + break; + +#ifdef TEST_MODE + case SIP_EVT_WAKEUP: { + u8 check_str[12]; + struct sip_evt_wakeup* wakeup_evt= (struct sip_evt_wakeup *)(buf + SIP_CTRL_HDR_LEN); + sprintf((char *)&check_str, "%d", wakeup_evt->check_data); + esp_test_cmd_event(TEST_CMD_WAKEUP, (char *)&check_str); + break; + } + + case SIP_EVT_DEBUG: { + u8 check_str[640]; + sip_parse_event_debug(sip->epub, buf, check_str); + esp_dbg(ESP_DBG_TRACE, "%s", check_str); + esp_test_cmd_event(TEST_CMD_DEBUG, (char *)&check_str); + break; + } + + case SIP_EVT_LOOPBACK: { + u8 check_str[12]; + struct sip_evt_loopback *loopback_evt = (struct sip_evt_loopback *)(buf + SIP_CTRL_HDR_LEN); + esp_dbg(ESP_DBG_LOG, "%s loopback len %d seq %u\n", __func__,hdr->len, hdr->seq); + + if(loopback_evt->pack_id!=get_loopback_id()) { + sprintf((char *)&check_str, "seq id error %d, expect %d", loopback_evt->pack_id, get_loopback_id()); + esp_test_cmd_event(TEST_CMD_LOOPBACK, (char *)&check_str); + } + + if((loopback_evt->pack_id+1) txlen, loopback_evt->rxlen, get_loopback_id()); + } else { + sprintf((char *)&check_str, "test over!"); + sp_test_cmd_event(TEST_CMD_LOOPBACK, (char *)&check_str); + } + break; + } +#endif /*TEST_MODE*/ + + case SIP_EVT_SNPRINTF_TO_HOST: { + u8 *p = (buf + sizeof(struct sip_hdr) + sizeof(u16)); + u16 *len = (u16 *)(buf + sizeof(struct sip_hdr)); + char test_res_str[560]; + sprintf(test_res_str, "esp_host:%llx\nesp_target: %.*s", DRIVER_VER, *len, p); + + esp_dbg(ESP_SHOW, "%s\n", test_res_str); + + if(*len && sip->epub->sdio_state == ESP_SDIO_STATE_FIRST_INIT){ + char filename[256]; + if (mod_eagle_path_get() == NULL) + sprintf(filename, "%s/%s", FWPATH, "test_results"); + else + sprintf(filename, "%s/%s", mod_eagle_path_get(), "test_results"); + esp_readwrite_file(filename, NULL, test_res_str, strlen(test_res_str)); + } + break; + } + case SIP_EVT_TRC_AMPDU: { + struct sip_evt_trc_ampdu *ep = (struct sip_evt_trc_ampdu*)(buf + SIP_CTRL_HDR_LEN); + struct esp_node *node = NULL; + int i = 0; + + if (atomic_read(&sip->epub->wl.off)) { + esp_dbg(ESP_DBG_ERROR, "%s scan result while wlan off\n", __func__); + return 0; + } + + node = esp_get_node_by_addr(sip->epub, ep->addr); + if(node == NULL) + break; + for (i = 0; i < 8; i++) { + if (ep->tid & (1<state, i); + } + } + break; + } + +#ifdef TEST_MODE + case SIP_EVT_EP: { + char *ep = (char *)(buf + SIP_CTRL_HDR_LEN); + static int counter = 0; + + esp_dbg(ESP_ATE, "%s EVT_EP \n\n", __func__); + if (counter++ < 2) { + esp_dbg(ESP_ATE, "ATE: %s \n", ep); + } + + esp_test_ate_done_cb(ep); + + break; + } +#endif /*TEST_MODE*/ + + case SIP_EVT_INIT_EP: { + char *ep = (char *)(buf + SIP_CTRL_HDR_LEN); + esp_dbg(ESP_ATE, "Phy Init: %s \n", ep); + break; + } + + case SIP_EVT_NOISEFLOOR:{ + struct sip_evt_noisefloor *ep = (struct sip_evt_noisefloor *)(buf + SIP_CTRL_HDR_LEN); + atomic_set(&sip->noise_floor, ep->noise_floor); + break; + } + default: + break; + } + + return 0; +} + +#ifdef HAS_INIT_DATA +#include "esp_init_data.h" +#else +#define ESP_INIT_NAME "esp_init_data.bin" +#endif /* HAS_INIT_DATA */ + +void sip_send_chip_init(struct esp_sip *sip) +{ + size_t size = 0; +#ifndef HAS_INIT_DATA + const struct firmware *fw_entry; + u8 * esp_init_data = NULL; + int ret = 0; + + ret = esp_request_firmware(&fw_entry, ESP_INIT_NAME, sip->epub->dev); + + if (ret) { + esp_dbg(ESP_DBG_ERROR, "%s =============ERROR! NO INIT DATA!!=================\n", __func__); + return; + } + esp_init_data = kmemdup(fw_entry->data, fw_entry->size, GFP_KERNEL); + + size = fw_entry->size; + + esp_release_firmware(fw_entry); + + if (esp_init_data == NULL) { + esp_dbg(ESP_DBG_ERROR, "%s =============ERROR! NO MEMORY!!=================\n", __func__); + return; + } +#else + size = sizeof(esp_init_data); + +#endif /* !HAS_INIT_DATA */ + + fix_init_data(esp_init_data, size); + + atomic_sub(1, &sip->tx_credits); + + sip_send_cmd(sip, SIP_CMD_INIT, size, (void *)esp_init_data); + +#ifndef HAS_INIT_DATA + kfree(esp_init_data); +#endif /* !HAS_INIT_DATA */ +} + +int sip_send_config(struct esp_pub *epub, struct ieee80211_conf * conf) +{ + struct sk_buff *skb = NULL; + struct sip_cmd_config *configcmd; + + skb = sip_alloc_ctrl_skbuf(epub->sip, sizeof(struct sip_cmd_config) + sizeof(struct sip_hdr), SIP_CMD_CONFIG); + if (!skb) + return -EINVAL; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)) + esp_dbg(ESP_DBG_TRACE, "%s config center freq %d\n", __func__, conf->chandef.chan->center_freq); +#else + esp_dbg(ESP_DBG_TRACE, "%s config center freq %d\n", __func__, conf->channel->center_freq); +#endif + configcmd = (struct sip_cmd_config *)(skb->data + sizeof(struct sip_hdr)); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)) + configcmd->center_freq= conf->chandef.chan->center_freq; +#else + configcmd->center_freq= conf->channel->center_freq; +#endif + configcmd->duration= 0; + return sip_cmd_enqueue(epub->sip, skb, ENQUEUE_PRIOR_TAIL); +} + +int sip_send_bss_info_update(struct esp_pub *epub, struct esp_vif *evif, u8 *bssid, int assoc) +{ + struct sk_buff *skb = NULL; + struct sip_cmd_bss_info_update*bsscmd; + + skb = sip_alloc_ctrl_skbuf(epub->sip, sizeof(struct sip_cmd_bss_info_update) + sizeof(struct sip_hdr), SIP_CMD_BSS_INFO_UPDATE); + if (!skb) + return -EINVAL; + + bsscmd = (struct sip_cmd_bss_info_update *)(skb->data + sizeof(struct sip_hdr)); + if (assoc == 2) { //hack for softAP mode + bsscmd->beacon_int = evif->beacon_interval; + } else if (assoc == 1) { + set_bit(ESP_WL_FLAG_CONNECT, &epub->wl.flags); + } else { + clear_bit(ESP_WL_FLAG_CONNECT, &epub->wl.flags); + } + bsscmd->bssid_no = evif->index; + bsscmd->isassoc= assoc; + bsscmd->beacon_int = evif->beacon_interval; + memcpy(bsscmd->bssid, bssid, ETH_ALEN); + return sip_cmd_enqueue(epub->sip, skb, ENQUEUE_PRIOR_TAIL); +} + +int sip_send_wmm_params(struct esp_pub *epub, u8 aci, const struct ieee80211_tx_queue_params *params) +{ + struct sk_buff *skb = NULL; + struct sip_cmd_set_wmm_params* bsscmd; + skb = sip_alloc_ctrl_skbuf(epub->sip, sizeof(struct sip_cmd_set_wmm_params) + sizeof(struct sip_hdr), SIP_CMD_SET_WMM_PARAM); + if (!skb) + return -EINVAL; + + bsscmd = (struct sip_cmd_set_wmm_params *)(skb->data + sizeof(struct sip_hdr)); + bsscmd->aci= aci; + bsscmd->aifs=params->aifs; + bsscmd->txop_us=params->txop*32; + + bsscmd->ecw_min = 32 - __builtin_clz(params->cw_min); + bsscmd->ecw_max= 32 -__builtin_clz(params->cw_max); + + return sip_cmd_enqueue(epub->sip, skb, ENQUEUE_PRIOR_TAIL); +} + +int sip_send_ampdu_action(struct esp_pub *epub, u8 action_num, const u8 * addr, u16 tid, u16 ssn, u8 buf_size) +{ + int index = 0; + struct sk_buff *skb = NULL; + struct sip_cmd_ampdu_action * action; + if(action_num == SIP_AMPDU_RX_START){ + index = esp_get_empty_rxampdu(epub, addr, tid); + } else if(action_num == SIP_AMPDU_RX_STOP){ + index = esp_get_exist_rxampdu(epub, addr, tid); + } + if(index < 0) + return -EACCES; + skb = sip_alloc_ctrl_skbuf(epub->sip, sizeof(struct sip_cmd_ampdu_action) + sizeof(struct sip_hdr), SIP_CMD_AMPDU_ACTION); + if(!skb) + return -EINVAL; + + action = (struct sip_cmd_ampdu_action *)(skb->data + sizeof(struct sip_hdr)); + action->action = action_num; + //for TX, it means interface index + action->index = ssn; + + switch(action_num) { + case SIP_AMPDU_RX_START: + action->ssn = ssn; + case SIP_AMPDU_RX_STOP: + action->index = index; + case SIP_AMPDU_TX_OPERATIONAL: + case SIP_AMPDU_TX_STOP: + action->win_size = buf_size; + action->tid = tid; + memcpy(action->addr, addr, ETH_ALEN); + break; + } + + return sip_cmd_enqueue(epub->sip, skb, ENQUEUE_PRIOR_TAIL); +} + +#ifdef HW_SCAN +/*send cmd to target, if aborted is true, inform target stop scan, report scan complete imediately + return 1: complete over, 0: success, still have next scan, -1: hardware failure + */ +int sip_send_scan(struct esp_pub *epub) +{ + struct cfg80211_scan_request *scan_req = epub->wl.scan_req; + struct sk_buff *skb = NULL; + struct sip_cmd_scan *scancmd; + u8 *ptr = NULL; + int i; + u8 append_len, ssid_len; + + ESSERT(scan_req != NULL); + ssid_len = scan_req->n_ssids == 0 ? 0: + (scan_req->n_ssids == 1 ? scan_req->ssids->ssid_len: scan_req->ssids->ssid_len + (scan_req->ssids + 1)->ssid_len); + append_len = ssid_len + scan_req->n_channels + scan_req->ie_len; + + skb = sip_alloc_ctrl_skbuf(epub->sip, sizeof(struct sip_cmd_scan) + sizeof(struct sip_hdr) + append_len, SIP_CMD_SCAN); + + if (!skb) + return -EINVAL; + + ptr = skb->data; + scancmd = (struct sip_cmd_scan *)(ptr + sizeof(struct sip_hdr)); + ptr += sizeof(struct sip_hdr); + + scancmd->aborted= false; + + if (scancmd->aborted==false) { + ptr += sizeof(struct sip_cmd_scan); + if (scan_req->n_ssids <=0 || (scan_req->n_ssids == 1&& ssid_len == 0)) { + scancmd->ssid_len = 0; + } else { + scancmd->ssid_len = ssid_len; + if(scan_req->ssids->ssid_len == ssid_len) + memcpy(ptr, scan_req->ssids->ssid, scancmd->ssid_len); + else + memcpy(ptr, (scan_req->ssids + 1)->ssid, scancmd->ssid_len); + } + + ptr += scancmd->ssid_len; + scancmd->n_channels=scan_req->n_channels; + for (i=0; in_channels; i++) + ptr[i] = scan_req->channels[i]->hw_value; + + ptr += scancmd->n_channels; + if (scan_req->ie_len && scan_req->ie != NULL) { + scancmd->ie_len=scan_req->ie_len; + memcpy(ptr, scan_req->ie, scan_req->ie_len); + } else { + scancmd->ie_len = 0; + } + //add a flag that support two ssids, + if(scan_req->n_ssids > 1) + scancmd->ssid_len |= 0x80; + + } + + return sip_cmd_enqueue(epub->sip, skb, ENQUEUE_PRIOR_TAIL); +} +#endif + +int sip_send_suspend_config(struct esp_pub *epub, u8 suspend) +{ + struct sip_cmd_suspend *cmd = NULL; + struct sk_buff *skb = NULL; + + skb = sip_alloc_ctrl_skbuf(epub->sip, sizeof(struct sip_cmd_suspend) + sizeof(struct sip_hdr), SIP_CMD_SUSPEND); + + if (!skb) + return -EINVAL; + + cmd = (struct sip_cmd_suspend *)(skb->data + sizeof(struct sip_hdr)); + cmd->suspend = suspend; + return sip_cmd_enqueue(epub->sip, skb, ENQUEUE_PRIOR_TAIL); +} + +int sip_send_ps_config(struct esp_pub *epub, struct esp_ps *ps) +{ + struct sip_cmd_ps *pscmd = NULL; + struct sk_buff *skb = NULL; + struct sip_hdr *shdr = NULL; + + skb = sip_alloc_ctrl_skbuf(epub->sip, sizeof(struct sip_cmd_ps) + sizeof(struct sip_hdr), SIP_CMD_PS); + + if (!skb) + return -EINVAL; + + shdr = (struct sip_hdr *)skb->data; + pscmd = (struct sip_cmd_ps *)(skb->data + sizeof(struct sip_hdr)); + + pscmd->dtim_period = ps->dtim_period; + pscmd->max_sleep_period = ps->max_sleep_period; + + return sip_cmd_enqueue(epub->sip, skb, ENQUEUE_PRIOR_TAIL); +} + +void sip_scandone_process(struct esp_sip *sip, struct sip_evt_scan_report *scan_report) +{ + struct esp_pub *epub = sip->epub; + + esp_dbg(ESP_DBG_TRACE, "eagle hw scan report\n"); + + if (epub->wl.scan_req) { + hw_scan_done(epub, scan_report->aborted); + epub->wl.scan_req = NULL; + } +} + +int sip_send_setkey(struct esp_pub *epub, u8 bssid_no, u8 *peer_addr, struct ieee80211_key_conf *key, u8 isvalid) +{ + struct sip_cmd_setkey *setkeycmd; + struct sk_buff *skb = NULL; + + skb = sip_alloc_ctrl_skbuf(epub->sip, sizeof(struct sip_cmd_setkey) + sizeof(struct sip_hdr), SIP_CMD_SETKEY); + + if (!skb) + return -EINVAL; + + setkeycmd = (struct sip_cmd_setkey *)(skb->data + sizeof(struct sip_hdr)); + + if (peer_addr) { + memcpy(setkeycmd->addr, peer_addr, ETH_ALEN); + } else { + memset(setkeycmd->addr, 0, ETH_ALEN); + } + + setkeycmd->bssid_no = bssid_no; + setkeycmd->hw_key_idx= key->hw_key_idx; + + if (isvalid) { +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)) + setkeycmd->alg= key->alg; +#else + setkeycmd->alg= esp_cipher2alg(key->cipher); +#endif /* NEW_KERNEL */ + setkeycmd->keyidx = key->keyidx; + setkeycmd->keylen = key->keylen; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)) + if (key->alg == ALG_TKIP) { +#else + if (key->cipher == WLAN_CIPHER_SUITE_TKIP) { +#endif /* NEW_KERNEL */ + memcpy(setkeycmd->key, key->key, 16); + memcpy(setkeycmd->key+16,key->key+24,8); + memcpy(setkeycmd->key+24,key->key+16,8); + } else { + memcpy(setkeycmd->key, key->key, key->keylen); + } + + setkeycmd->flags=1; + } else { + setkeycmd->flags=0; + } + return sip_cmd_enqueue(epub->sip, skb, ENQUEUE_PRIOR_TAIL); + } + +#ifdef FPGA_LOOPBACK +#define LOOPBACK_PKT_LEN 200 + int sip_send_loopback_cmd_mblk(struct esp_sip *sip) + { + int cnt, ret; + + for (cnt = 0; cnt < 4; cnt++) { + if (0!=(ret=sip_send_loopback_mblk(sip, LOOPBACK_PKT_LEN, LOOPBACK_PKT_LEN, 0))) + return ret; + } + return 0; + } +#endif /* FPGA_LOOPBACK */ + + int sip_send_loopback_mblk(struct esp_sip *sip, int txpacket_len, int rxpacket_len, int packet_id) + { + struct sk_buff *skb = NULL; + struct sip_cmd_loopback *cmd; + u8 *ptr = NULL; + int i, ret; + + //send 100 loopback pkt + if(txpacket_len) + skb = sip_alloc_ctrl_skbuf(sip, sizeof(struct sip_cmd_loopback) + sizeof(struct sip_hdr) + txpacket_len, SIP_CMD_LOOPBACK); + else + skb = sip_alloc_ctrl_skbuf(sip, sizeof(struct sip_cmd_loopback) + sizeof(struct sip_hdr), SIP_CMD_LOOPBACK); + + if (!skb) + return -ENOMEM; + + ptr = skb->data; + cmd = (struct sip_cmd_loopback *)(ptr + sizeof(struct sip_hdr)); + ptr += sizeof(struct sip_hdr); + cmd->txlen = txpacket_len; + cmd->rxlen = rxpacket_len; + cmd->pack_id = packet_id; + + if (txpacket_len) { + ptr += sizeof(struct sip_cmd_loopback); + /* fill up pkt payload */ + for (i = 0; i < txpacket_len; i++) { + ptr[i] = i; + } + } + + ret = sip_cmd_enqueue(sip, skb, ENQUEUE_PRIOR_TAIL); + if (ret <0) + return ret; + + return 0; + } + + //remain_on_channel + int sip_send_roc(struct esp_pub *epub, u16 center_freq, u16 duration) + { + struct sk_buff *skb = NULL; + struct sip_cmd_config *configcmd; + + skb = sip_alloc_ctrl_skbuf(epub->sip, sizeof(struct sip_cmd_config) + sizeof(struct sip_hdr), SIP_CMD_CONFIG); + if (!skb) + return -EINVAL; + + configcmd = (struct sip_cmd_config *)(skb->data + sizeof(struct sip_hdr)); + configcmd->center_freq= center_freq; + configcmd->duration= duration; + return sip_cmd_enqueue(epub->sip, skb, ENQUEUE_PRIOR_TAIL); + } + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + int sip_send_set_sta(struct esp_pub *epub, u8 ifidx, u8 set, struct ieee80211_sta *sta, struct ieee80211_vif *vif, u8 index) +#else + int sip_send_set_sta(struct esp_pub *epub, u8 ifidx, u8 set, struct esp_node *node, struct ieee80211_vif *vif, u8 index) +#endif + { + struct sk_buff *skb = NULL; + struct sip_cmd_setsta *setstacmd; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + struct ieee80211_ht_info ht_info = node->ht_info; +#endif + skb = sip_alloc_ctrl_skbuf(epub->sip, sizeof(struct sip_cmd_setsta) + sizeof(struct sip_hdr), SIP_CMD_SETSTA); + if (!skb) + return -EINVAL; + + setstacmd = (struct sip_cmd_setsta *)(skb->data + sizeof(struct sip_hdr)); + setstacmd->ifidx = ifidx; + setstacmd->index = index; + setstacmd->set = set; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + if(sta->aid == 0) + setstacmd->aid = vif->bss_conf.aid; + else + setstacmd->aid = sta->aid; + memcpy(setstacmd->mac, sta->addr, ETH_ALEN); + if(set){ + if(sta->ht_cap.ht_supported){ + if(sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_20) + setstacmd->phymode = ESP_IEEE80211_T_HT20_S; + else + setstacmd->phymode = ESP_IEEE80211_T_HT20_L; + setstacmd->ampdu_factor = sta->ht_cap.ampdu_factor; + setstacmd->ampdu_density = sta->ht_cap.ampdu_density; + } else { + if(sta->supp_rates[IEEE80211_BAND_2GHZ] & (~(u32)CONF_HW_BIT_RATE_11B_MASK)){ + setstacmd->phymode = ESP_IEEE80211_T_OFDM; + } else { + setstacmd->phymode = ESP_IEEE80211_T_CCK; + } + } + } +#else + setstacmd->aid = node->aid; + memcpy(setstacmd->mac, node->addr, ETH_ALEN); + if(set){ + if(ht_info.ht_supported){ + if(ht_info.cap & IEEE80211_HT_CAP_SGI_20) + setstacmd->phymode = ESP_IEEE80211_T_HT20_S; + else + setstacmd->phymode = ESP_IEEE80211_T_HT20_L; + setstacmd->ampdu_factor = ht_info.ampdu_factor; + setstacmd->ampdu_density = ht_info.ampdu_density; + } else { + //note supp_rates is u64[] in 2.6.27 + if(node->supp_rates[IEEE80211_BAND_2GHZ] & (~(u64)CONF_HW_BIT_RATE_11B_MASK)){ + setstacmd->phymode = ESP_IEEE80211_T_OFDM; + } else { + setstacmd->phymode = ESP_IEEE80211_T_CCK; + } + } + } +#endif + return sip_cmd_enqueue(epub->sip, skb, ENQUEUE_PRIOR_TAIL); + } + + int sip_send_recalc_credit(struct esp_pub *epub) + { + struct sk_buff *skb = NULL; + + skb = sip_alloc_ctrl_skbuf(epub->sip, 0 + sizeof(struct sip_hdr), SIP_CMD_RECALC_CREDIT); + if (!skb) + return -ENOMEM; + + return sip_cmd_enqueue(epub->sip, skb, ENQUEUE_PRIOR_HEAD); + } + + int sip_cmd(struct esp_pub *epub, enum sip_cmd_id cmd_id, u8 *cmd_buf, u8 cmd_len) + { + struct sk_buff *skb = NULL; + + skb = sip_alloc_ctrl_skbuf(epub->sip, cmd_len + sizeof(struct sip_hdr), cmd_id); + if (!skb) + return -ENOMEM; + + memcpy(skb->data + sizeof(struct sip_hdr), cmd_buf, cmd_len); + + return sip_cmd_enqueue(epub->sip, skb, ENQUEUE_PRIOR_TAIL); + } diff --git a/drivers/net/wireless/esp8089/esp_ctrl.h b/drivers/net/wireless/esp8089/esp_ctrl.h new file mode 100755 index 000000000000..7fb142afdad2 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_ctrl.h @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2009- 2014 Espressif System. + * + * SIP ctrl packet parse and pack + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ +#ifndef _ESP_CTRL_H_ +#define _ESP_CTRL_H_ + +int sip_send_loopback_mblk(struct esp_sip *sip, int txpacket_len, int rxpacket_len, int packet_id); + +int sip_send_config(struct esp_pub *epub, struct ieee80211_conf * conf); + +int sip_send_setkey(struct esp_pub *epub, u8 bssid_no, u8 *peer_addr, struct ieee80211_key_conf *key, u8 isvalid); + +int sip_send_scan(struct esp_pub *epub); + +void sip_scandone_process(struct esp_sip *sip, struct sip_evt_scan_report *scan_report); + +int sip_send_bss_info_update(struct esp_pub *epub, struct esp_vif *evif, u8 *bssid, int assoc); + +int sip_send_wmm_params(struct esp_pub *epub, u8 aci, const struct ieee80211_tx_queue_params *params); + +int sip_send_ampdu_action(struct esp_pub *epub, u8 action_num, const u8 * addr, u16 tid, u16 ssn, u8 buf_size); + +int sip_send_roc(struct esp_pub *epub, u16 center_freq, u16 duration); + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) +int sip_send_set_sta(struct esp_pub *epub, u8 ifidx, u8 set, struct ieee80211_sta *sta, struct ieee80211_vif *vif, u8 index); +#else +int sip_send_set_sta(struct esp_pub *epub, u8 ifidx, u8 set, struct esp_node *node, struct ieee80211_vif *vif, u8 index); +#endif + +int sip_send_suspend_config(struct esp_pub *epub, u8 suspend); + +int sip_send_ps_config(struct esp_pub *epub, struct esp_ps *ps); + +int sip_parse_events(struct esp_sip *sip, u8 *buf); + +int sip_send_recalc_credit(struct esp_pub *epub); + +int sip_cmd(struct esp_pub *epub, enum sip_cmd_id cmd_id, u8 *cmd_buf, u8 cmd_len); + +#endif /* _ESP_CTRL_H_ */ + diff --git a/drivers/net/wireless/esp8089/esp_debug.c b/drivers/net/wireless/esp8089/esp_debug.c new file mode 100755 index 000000000000..f4c22e9ea0fd --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_debug.c @@ -0,0 +1,304 @@ +/* + * Copyright (c) 2011-2014 Espressif System. + * + * esp debug interface + * - debugfs + * - debug level control + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include +#include +#include + +#include +#include "sip2_common.h" + +#include "esp_debug.h" + +#if defined(CONFIG_DEBUG_FS) && defined(DEBUG_FS) + +static struct dentry *esp_debugfs_root = NULL; + +static int esp_debugfs_open(struct inode *inode, struct file *filp) +{ + filp->private_data = inode->i_private; + return 0; +} + +static ssize_t esp_debugfs_read(struct file *filp, char __user *buffer, + size_t count, loff_t *ppos) +{ + if (*ppos >= 32) + return 0; + if (*ppos + count > 32) + count = 32 - *ppos; + + if (copy_to_user(buffer, filp->private_data + *ppos, count)) + return -EFAULT; + + *ppos += count; + + return count; +} + +static ssize_t esp_debugfs_write(struct file *filp, const char __user *buffer, + size_t count, loff_t *ppos) +{ + if (*ppos >= 32) + return 0; + if (*ppos + count > 32) + count = 32 - *ppos; + + if (copy_from_user(filp->private_data + *ppos, buffer, count)) + return -EFAULT; + + *ppos += count; + + return count; +} + +struct file_operations esp_debugfs_fops = { + .owner = THIS_MODULE, + .open = esp_debugfs_open, + .read = esp_debugfs_read, + .write = esp_debugfs_write, +}; + + +struct dentry *esp_dump_var(const char *name, struct dentry *parent, void *value, esp_type type) { + struct dentry *rc = NULL; + umode_t mode = 0644; + + if(!esp_debugfs_root) + return NULL; + + if(!parent) + parent = esp_debugfs_root; + + switch(type) { + case ESP_U8: + rc = debugfs_create_u8(name, mode, parent, (u8*)value); + break; + case ESP_U16: + rc = debugfs_create_u16(name, mode, parent, (u16*)value); + break; + case ESP_U32: + rc = debugfs_create_u32(name, mode, parent, (u32*)value); + break; + case ESP_U64: + rc = debugfs_create_u64(name, mode, parent, (u64*)value); + break; + case ESP_BOOL: +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 4, 0)) + rc = debugfs_create_bool(name, mode, parent, (u32*)value); +#else + rc = debugfs_create_bool(name, mode, parent, (bool*)value); +#endif + break; + default: //32 + rc = debugfs_create_u32(name, mode, parent, (u32*)value); + } + + if (!rc) + goto Fail; + else + return rc; +Fail: + debugfs_remove_recursive(esp_debugfs_root); + esp_debugfs_root = NULL; + esp_dbg(ESP_DBG_ERROR, "%s failed, debugfs root removed; var name: %s\n", __FUNCTION__, name); + return NULL; +} + +struct dentry *esp_dump_array(const char *name, struct dentry *parent, struct debugfs_blob_wrapper *blob) { + struct dentry * rc = NULL; + umode_t mode = 0644; + + if(!esp_debugfs_root) + return NULL; + + if(!parent) + parent = esp_debugfs_root; + + rc = debugfs_create_blob(name, mode, parent, blob); + + if (!rc) + goto Fail; + else + return rc; + +Fail: + debugfs_remove_recursive(esp_debugfs_root); + esp_debugfs_root = NULL; + esp_dbg(ESP_DBG_ERROR, "%s failed, debugfs root removed; var name: %s\n", __FUNCTION__, name); + return NULL; +} + +struct dentry *esp_dump(const char *name, struct dentry *parent, void *data, int size) { + struct dentry *rc; + umode_t mode = 0644; + + if(!esp_debugfs_root) + return NULL; + + if(!parent) + parent = esp_debugfs_root; + + rc = debugfs_create_file(name, mode, parent, data, &esp_debugfs_fops); + + if (!rc) + goto Fail; + else + return rc; + +Fail: + debugfs_remove_recursive(esp_debugfs_root); + esp_debugfs_root = NULL; + esp_dbg(ESP_DBG_ERROR, "%s failed, debugfs root removed; var name: %s\n", __FUNCTION__, name); + return NULL; +} + +struct dentry *esp_debugfs_add_sub_dir(const char *name) { + struct dentry *sub_dir = NULL; + + sub_dir = debugfs_create_dir(name, esp_debugfs_root); + + if (!sub_dir) + goto Fail; + + return sub_dir; + +Fail: + debugfs_remove_recursive(esp_debugfs_root); + esp_debugfs_root = NULL; + esp_dbg(ESP_DBG_ERROR, "%s failed, debugfs root removed; dir name: %s\n", __FUNCTION__, name); + return NULL; + +} + +int esp_debugfs_init(void) +{ + esp_dbg(ESP_DBG, "esp debugfs init\n"); + esp_debugfs_root = debugfs_create_dir("esp_debug", NULL); + + if (!esp_debugfs_root || IS_ERR_OR_NULL(esp_debugfs_root)) { + return -ENOENT; + } + + return 0; +} + +void esp_debugfs_exit(void) +{ + esp_dbg(ESP_DBG, "esp debugfs exit"); + + debugfs_remove_recursive(esp_debugfs_root); + + return; +} + +#else + +inline struct dentry *esp_dump_var(const char *name, struct dentry *parent, void *value, esp_type type) { + return NULL; +} + +inline struct dentry *esp_dump_array(const char *name, struct dentry *parent, struct debugfs_blob_wrapper *blob) { + return NULL; +} + +inline struct dentry *esp_dump(const char *name, struct dentry *parent, void *data, int size) { + return NULL; +} + +struct dentry *esp_debugfs_add_sub_dir(const char *name) { + return NULL; +} + +inline int esp_debugfs_init(void) +{ + return -EPERM; +} + +inline void esp_debugfs_exit(void) +{ + +} + +#endif + + +void show_buf(u8 *buf, u32 len) +{ + // print_hex_dump(KERN_DEBUG, "", DUMP_PREFIX_OFFSET, 16, 1, buf, len, true); +#if 1 + int i = 0, j; + + printk(KERN_INFO "\n++++++++++++++++show rbuf+++++++++++++++\n"); + for (i = 0; i < (len / 16); i++) { + j = i * 16; + printk(KERN_INFO "0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x \n", buf[j], buf[j+1],buf[j+2],buf[j+3],buf[j+4],buf[j+5],buf[j+6],buf[j+7],buf[j+8],buf[j+9],buf[j+10],buf[j+11],buf[j+12],buf[j+13],buf[j+14],buf[j+15]); + } + printk(KERN_INFO "\n++++++++++++++++++++++++++++++++++++++++\n"); +#endif//0000 +} + +#ifdef HOST_RC +static u8 get_cnt(u32 cnt_store, int idx) +{ + int shift = idx << 2; + + return (u8)((cnt_store>>shift) & 0xf); +} + +void esp_show_rcstatus(struct sip_rc_status *rcstatus) +{ + int i; + char msg[82]; + char rcstr[16]; + u32 cnt_store = rcstatus->rc_cnt_store; + + memset(msg, 0 ,sizeof(msg)); + memset(rcstr, 0 ,sizeof(rcstr)); + + printk(KERN_INFO "rcstatus map 0x%08x cntStore 0x%08x\n", rcstatus->rc_map, rcstatus->rc_cnt_store); + + for (i = 0; i < IEEE80211_TX_MAX_RATES; i++) { + if (rcstatus->rc_map & BIT(i)) { + sprintf(rcstr, "rcIdx %d, cnt %d ", i, get_cnt(cnt_store, i)); + strcat(msg, rcstr); + } + } + printk(KERN_INFO "%s \n", msg); +} + +void esp_show_tx_rates(struct ieee80211_tx_rate* rates) +{ + int i; + char msg[128]; + char rcstr[32]; + + memset(msg, 0 ,sizeof(msg)); + memset(rcstr, 0 ,sizeof(rcstr)); + + for (i = 0; i < IEEE80211_TX_MAX_RATES; i++) { + if (rates->idx != -1 ) { + sprintf(rcstr, "Idx %d, cnt %d, flag %02x ", rates->idx, rates->count, rates->flags); + strcat(msg, rcstr); + } + rates++; + } + strcat(msg, "\n"); + printk(KERN_INFO "%s \n", msg); +} +#endif /* HOST_RC */ diff --git a/drivers/net/wireless/esp8089/esp_debug.h b/drivers/net/wireless/esp8089/esp_debug.h new file mode 100755 index 000000000000..a3ba4c47ac28 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_debug.h @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2011-2014 Espressif System. + * + * esp debug + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef _DEBUG_H_ + +#ifdef ASSERT_PANIC +#define ESSERT(v) BUG_ON(!(v)) +#else +#define ESSERT(v) if(!(v)) printk("ESSERT:%s %d\n", __FILE__, __LINE__) +#endif + + +#include +#include +#include + +typedef enum esp_type { + ESP_BOOL, + ESP_U8, + ESP_U16, + ESP_U32, + ESP_U64 +} esp_type; + +struct dentry *esp_dump_var(const char *name, struct dentry *parent, void *value, esp_type type); + +struct dentry *esp_dump_array(const char *name, struct dentry *parent, struct debugfs_blob_wrapper *blob); + +struct dentry *esp_dump(const char *name, struct dentry *parent, void *data, int size); + +struct dentry *esp_debugfs_add_sub_dir(const char *name); + +int esp_debugfs_init(void); + +void esp_debugfs_exit(void); + +enum { + ESP_DBG_ERROR = BIT(0), + ESP_DBG_TRACE = BIT(1), + ESP_DBG_LOG = BIT(2), + ESP_DBG = BIT(3), + ESP_SHOW = BIT(4), + ESP_DBG_TXAMPDU = BIT(5), + ESP_DBG_OP = BIT(6), + ESP_DBG_PS = BIT(7), + ESP_ATE = BIT(8), + ESP_DBG_ALL = 0xffffffff +}; + +extern unsigned int esp_msg_level; + +#ifdef ESP_ANDROID_LOGGER +extern bool log_off; +#endif /* ESP_ANDROID_LOGGER */ + +#ifdef ESP_ANDROID_LOGGER +#include "esp_file.h" +#define esp_dbg(mask, fmt, args...) do {\ + if (esp_msg_level & mask) \ + { \ + if (log_off) \ + printk(fmt, ##args); \ + else \ + logger_write(4, "esp_wifi", fmt, ##args);\ + } \ +} while (0) +#else +#define esp_dbg(mask, fmt, args...) do {\ + if (esp_msg_level & mask) \ + printk(fmt, ##args); \ +} while (0) +#endif /* ESP_ANDROID_LOGGER */ + +void show_buf(u8 *buf, u32 len); + +#ifdef HOST_RC +struct sip_rc_status; +struct ieee80211_tx_rate; + +void esp_show_rcstatus(struct sip_rc_status *rcstatus); + +void esp_show_tx_rates(struct ieee80211_tx_rate *rates); +#endif /* HOST_RC */ + +#endif /* _DEBUG_H_ */ diff --git a/drivers/net/wireless/esp8089/esp_ext.c b/drivers/net/wireless/esp8089/esp_ext.c new file mode 100755 index 000000000000..d28de5dfcd06 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_ext.c @@ -0,0 +1,495 @@ +/* + * Copyright (c) 2010 -2013 Espressif System. + * + * extended gpio + * - interface for other driver or kernel + * - gpio control + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifdef USE_EXT_GPIO + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "esp_ext.h" +#include "esp_debug.h" +#include "esp_sip.h" +#include "esp_sif.h" + +#ifdef EXT_GPIO_OPS +extern void register_ext_gpio_ops(struct esp_ext_gpio_ops *ops); +extern void unregister_ext_gpio_ops(void); + +static struct esp_ext_gpio_ops ext_gpio_ops = { + .gpio_request = ext_gpio_request, /* gpio_request gpio_no from 0x0 to 0xf*/ + .gpio_release = ext_gpio_release, /* gpio_release */ + .gpio_set_mode = ext_gpio_set_mode, /* gpio_set_mode, data is irq_func of irq_mode , default level of output_mode */ + .gpio_get_mode = ext_gpio_get_mode, /* gpio_get_mode, current mode */ + .gpio_set_state = ext_gpio_set_output_state, /* only output state, high level or low level */ + .gpio_get_state = ext_gpio_get_state, /* current state */ + .irq_ack = ext_irq_ack, /* ack interrupt */ +}; + + +#endif + +static struct esp_pub *ext_epub = NULL; + +static u16 intr_mask_reg = 0x0000; +struct workqueue_struct *ext_irq_wkq = NULL; +struct work_struct ext_irq_work; +static struct mutex ext_mutex_lock; + +static struct ext_gpio_info gpio_list[EXT_GPIO_MAX_NUM] = { + { 0, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + { 1, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + { 2, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + { 3, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + { 4, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + { 5, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + { 6, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + { 7, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + { 8, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + { 9, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + {10, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + {11, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + {12, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + {13, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + {14, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, + {15, EXT_GPIO_MODE_DISABLE, EXT_GPIO_STATE_IDLE, NULL}, +}; + +static struct pending_intr_list_info esp_pending_intr_list = { + .start_pos = 0, + .end_pos = 0, + .curr_num = 0, +}; + +u16 ext_gpio_get_int_mask_reg(void) +{ + return intr_mask_reg; +} + +int ext_gpio_request(int gpio_no) +{ + if (ext_epub == NULL || ext_epub->sip == NULL || + atomic_read(&ext_epub->sip->state) != SIP_RUN) { + esp_dbg(ESP_DBG_ERROR, "%s esp state is not ok\n", __func__); + return -ENOTRECOVERABLE; + } + + mutex_lock(&ext_mutex_lock); + + if (gpio_no >= EXT_GPIO_MAX_NUM || gpio_no < 0) { + mutex_unlock(&ext_mutex_lock); + esp_dbg(ESP_DBG_ERROR, "%s unkown gpio num\n", __func__); + return -ERANGE; + } + + if (gpio_list[gpio_no].gpio_mode != EXT_GPIO_MODE_DISABLE) { + mutex_unlock(&ext_mutex_lock); + esp_dbg(ESP_DBG_ERROR, "%s gpio is already in used by other\n", __func__); + return -EPERM; + } else { + gpio_list[gpio_no].gpio_mode = EXT_GPIO_MODE_MAX; + mutex_unlock(&ext_mutex_lock); + return 0; + } +} +EXPORT_SYMBOL(ext_gpio_request); + +int ext_gpio_release(int gpio_no) +{ + int ret; + + if (ext_epub == NULL || ext_epub->sip == NULL || + atomic_read(&ext_epub->sip->state) != SIP_RUN) { + esp_dbg(ESP_DBG_ERROR, "%s esp state is not ok\n", __func__); + return -ENOTRECOVERABLE; + } + + mutex_lock(&ext_mutex_lock); + + if (gpio_no >= EXT_GPIO_MAX_NUM || gpio_no < 0) { + mutex_unlock(&ext_mutex_lock); + esp_dbg(ESP_DBG_ERROR, "%s unkown gpio num\n", __func__); + return -ERANGE; + } + sif_lock_bus(ext_epub); + ret = sif_config_gpio_mode(ext_epub, (u8)gpio_no, EXT_GPIO_MODE_DISABLE); + sif_unlock_bus(ext_epub); + if (ret) { + esp_dbg(ESP_DBG_ERROR, "%s gpio release error\n", __func__); + mutex_unlock(&ext_mutex_lock); + return ret; + } + + gpio_list[gpio_no].gpio_mode = EXT_GPIO_MODE_DISABLE; + gpio_list[gpio_no].gpio_state = EXT_GPIO_STATE_IDLE; + gpio_list[gpio_no].irq_handler = NULL; + intr_mask_reg &= ~(1<sip == NULL || + atomic_read(&ext_epub->sip->state) != SIP_RUN) { + esp_dbg(ESP_DBG_LOG, "%s esp state is not ok\n", __func__); + return -ENOTRECOVERABLE; + } + + mutex_lock(&ext_mutex_lock); + + if (gpio_no >= EXT_GPIO_MAX_NUM || gpio_no < 0) { + mutex_unlock(&ext_mutex_lock); + esp_dbg(ESP_DBG_ERROR, "%s unkown gpio num\n", __func__); + return -ERANGE; + } + + if (gpio_list[gpio_no].gpio_mode == EXT_GPIO_MODE_DISABLE) { + mutex_unlock(&ext_mutex_lock); + esp_dbg(ESP_DBG_ERROR, "%s gpio is not in occupy, please request gpio\n", __func__); + return -ENOTRECOVERABLE; + } + + if (mode <= EXT_GPIO_MODE_OOB || mode >= EXT_GPIO_MODE_MAX) { + mutex_unlock(&ext_mutex_lock); + esp_dbg(ESP_DBG_ERROR, "%s gpio mode unknown\n", __func__); + return -EOPNOTSUPP; + } + + memcpy(&backup_info, &gpio_list[gpio_no], sizeof(struct ext_gpio_info)); + + gpio_list[gpio_no].gpio_mode = mode; + gpio_mode = (u8)mode; + + switch (mode) { + case EXT_GPIO_MODE_INTR_POSEDGE: + case EXT_GPIO_MODE_INTR_NEGEDGE: + case EXT_GPIO_MODE_INTR_LOLEVEL: + case EXT_GPIO_MODE_INTR_HILEVEL: + if (!data) { + memcpy(&gpio_list[gpio_no], &backup_info, sizeof(struct ext_gpio_info)); + esp_dbg(ESP_DBG_ERROR, "%s irq_handler is NULL\n", __func__); + mutex_unlock(&ext_mutex_lock); + return -EINVAL; + } + gpio_list[gpio_no].irq_handler = (ext_irq_handler_t)data; + intr_mask_reg |= (1<sip == NULL || + atomic_read(&ext_epub->sip->state) != SIP_RUN) { + esp_dbg(ESP_DBG_LOG, "%s esp state is not ok\n", __func__); + return -ENOTRECOVERABLE; + } + + mutex_lock(&ext_mutex_lock); + + if (gpio_no >= EXT_GPIO_MAX_NUM || gpio_no < 0) { + esp_dbg(ESP_DBG_ERROR, "%s unkown gpio num\n", __func__); + mutex_unlock(&ext_mutex_lock); + return -ERANGE; + } + + gpio_mode = gpio_list[gpio_no].gpio_mode; + + mutex_unlock(&ext_mutex_lock); + + return gpio_mode; +} +EXPORT_SYMBOL(ext_gpio_get_mode); + + +int ext_gpio_set_output_state(int gpio_no, int state) +{ + int ret; + + if (ext_epub == NULL || ext_epub->sip == NULL || + atomic_read(&ext_epub->sip->state) != SIP_RUN) { + esp_dbg(ESP_DBG_LOG, "%s esp state is not ok\n", __func__); + return -ENOTRECOVERABLE; + } + + mutex_lock(&ext_mutex_lock); + + if (gpio_no >= EXT_GPIO_MAX_NUM || gpio_no < 0) { + mutex_unlock(&ext_mutex_lock); + esp_dbg(ESP_DBG_ERROR, "%s unkown gpio num\n", __func__); + return -ERANGE; + } + + if (gpio_list[gpio_no].gpio_mode != EXT_GPIO_MODE_OUTPUT) { + mutex_unlock(&ext_mutex_lock); + esp_dbg(ESP_DBG_ERROR, "%s gpio is not in output state, please request gpio or set output state\n", __func__); + return -EOPNOTSUPP; + } + + if (state != EXT_GPIO_STATE_LOW && state != EXT_GPIO_STATE_HIGH) { + mutex_unlock(&ext_mutex_lock); + esp_dbg(ESP_DBG_ERROR, "%s gpio state unknown\n", __func__); + return -ENOTRECOVERABLE; + } + + sif_lock_bus(ext_epub); + ret = sif_set_gpio_output(ext_epub, 1<sip == NULL || + atomic_read(&ext_epub->sip->state) != SIP_RUN) { + esp_dbg(ESP_DBG_LOG, "%s esp state is not ok\n", __func__); + return -ENOTRECOVERABLE; + } + + mutex_lock(&ext_mutex_lock); + + if (gpio_no >= EXT_GPIO_MAX_NUM || gpio_no < 0) { + esp_dbg(ESP_DBG_ERROR, "%s unkown gpio num\n", __func__); + mutex_unlock(&ext_mutex_lock); + return -ERANGE; + } + + if (gpio_list[gpio_no].gpio_mode == EXT_GPIO_MODE_OUTPUT) { + state = gpio_list[gpio_no].gpio_state; + } else if (gpio_list[gpio_no].gpio_mode == EXT_GPIO_MODE_INPUT) { + sif_lock_bus(ext_epub); + ret = sif_get_gpio_input(ext_epub, &mask, &state); + sif_unlock_bus(ext_epub); + if (ret) { + esp_dbg(ESP_DBG_ERROR, "%s get gpio_input state error\n", __func__); + mutex_unlock(&ext_mutex_lock); + return ret; + } + } else { + esp_dbg(ESP_DBG_ERROR, "%s gpio_state is not input or output\n", __func__); + mutex_unlock(&ext_mutex_lock); + return -EOPNOTSUPP; + } + mutex_unlock(&ext_mutex_lock); + + return (state & (1<sip == NULL || + atomic_read(&ext_epub->sip->state) != SIP_RUN) { + esp_dbg(ESP_DBG_LOG, "%s esp state is not ok\n", __func__); + return -ENOTRECOVERABLE; + } + + mutex_lock(&ext_mutex_lock); + if (gpio_no >= EXT_GPIO_MAX_NUM || gpio_no < 0) { + esp_dbg(ESP_DBG_ERROR, "%s unkown gpio num\n", __func__); + mutex_unlock(&ext_mutex_lock); + return -ERANGE; + } + + if (gpio_list[gpio_no].gpio_mode != EXT_GPIO_MODE_INTR_POSEDGE + && gpio_list[gpio_no].gpio_mode != EXT_GPIO_MODE_INTR_NEGEDGE + && gpio_list[gpio_no].gpio_mode != EXT_GPIO_MODE_INTR_LOLEVEL + && gpio_list[gpio_no].gpio_mode != EXT_GPIO_MODE_INTR_HILEVEL) { + esp_dbg(ESP_DBG_ERROR, "%s gpio mode is not intr mode\n", __func__); + mutex_unlock(&ext_mutex_lock); + return -ENOTRECOVERABLE; + } + + sif_lock_bus(ext_epub); + ret = sif_set_gpio_output(ext_epub, 0x00, 1< 0) + queue_work(ext_irq_wkq, &ext_irq_work); + spin_unlock(&esp_pending_intr_list.spin_lock); +} + +void ext_gpio_int_process(u16 value) { + if (value == 0x00) + return; + + esp_dbg(ESP_DBG_TRACE, "%s enter\n", __func__); + + /* intr cycle queue is full, wait */ + while (esp_pending_intr_list.curr_num >= MAX_PENDING_INTR_LIST) + { + udelay(1); + } + + spin_lock(&esp_pending_intr_list.spin_lock); + + esp_pending_intr_list.pending_intr_list[esp_pending_intr_list.end_pos] = value; + esp_pending_intr_list.end_pos = (esp_pending_intr_list.end_pos + 1) % MAX_PENDING_INTR_LIST; + esp_pending_intr_list.curr_num++; + + queue_work(ext_irq_wkq, &ext_irq_work); + + spin_unlock(&esp_pending_intr_list.spin_lock); +} + +int ext_gpio_init(struct esp_pub *epub) +{ + esp_dbg(ESP_DBG_ERROR, "%s enter\n", __func__); + + ext_irq_wkq = create_singlethread_workqueue("esp_ext_irq_wkq"); + if (ext_irq_wkq == NULL) { + esp_dbg(ESP_DBG_ERROR, "%s create workqueue error\n", __func__); + return -EACCES; + } + + INIT_WORK(&ext_irq_work, esp_tx_work); + mutex_init(&ext_mutex_lock); + + ext_epub = epub; + + if (ext_epub == NULL) + return -EINVAL; + +#ifdef EXT_GPIO_OPS + register_ext_gpio_ops(&ext_gpio_ops); +#endif + + return 0; +} + +void ext_gpio_deinit(void) +{ + esp_dbg(ESP_DBG_ERROR, "%s enter\n", __func__); + +#ifdef EXT_GPIO_OPS + unregister_ext_gpio_ops(); +#endif + ext_epub = NULL; + cancel_work_sync(&ext_irq_work); + + if (ext_irq_wkq) + destroy_workqueue(ext_irq_wkq); +} + +#endif /* USE_EXT_GPIO */ diff --git a/drivers/net/wireless/esp8089/esp_ext.h b/drivers/net/wireless/esp8089/esp_ext.h new file mode 100755 index 000000000000..0bfac4201e75 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_ext.h @@ -0,0 +1,100 @@ +#ifdef USE_EXT_GPIO + +#ifndef _ESP_EXT_H_ +#define _ESP_EXT_H_ + +#include +#include +#include "esp_sip.h" + +#define MAX_PENDING_INTR_LIST 16 + +#ifdef EXT_GPIO_OPS +typedef struct esp_ext_gpio_ops { + int (*gpio_request)(int gpio_no); /* gpio_request gpio_no from 0x0 to 0xf*/ + int (*gpio_release)(int gpio_no); /* gpio_release */ + int (*gpio_set_mode)(int gpio_no, int mode , void *data); /* gpio_set_mode, data is irq_func of irq_mode , default level of output_mode */ + int (*gpio_get_mode)(int gpio_no); /* gpio_get_mode, current mode */ + int (*gpio_set_state)(int gpio_no, int state); /* only output state, high level or low level */ + int (*gpio_get_state)(int gpio_no); /* current state */ + int (*irq_ack)(int gpio_no); /* ack interrupt */ +} esp_ext_gpio_ops_t; +#endif + +typedef enum EXT_GPIO_NO { + EXT_GPIO_GPIO0 = 0, + EXT_GPIO_U0TXD, + EXT_GPIO_GPIO2, + EXT_GPIO_U0RXD, + EXT_GPIO_GPIO4, + EXT_GPIO_GPIO5, + EXT_GPIO_SD_CLK, + EXT_GPIO_SD_DATA0, + EXT_GPIO_SD_DATA1, + EXT_GPIO_SD_DATA2, + EXT_GPIO_SD_DATA3, + EXT_GPIO_SD_CMD, + EXT_GPIO_MTDI, + EXT_GPIO_MTCK, + EXT_GPIO_MTMS, + EXT_GPIO_MTDO, + EXT_GPIO_MAX_NUM +} EXT_GPIO_NO_T; + +typedef enum EXT_GPIO_MODE { //dir def pullup mode wake + EXT_GPIO_MODE_OOB = 0, //output 1 0 n/a n/a + EXT_GPIO_MODE_OUTPUT, //output / 0 n/a n/a + EXT_GPIO_MODE_DISABLE, //input n/a 0 DIS n/a + EXT_GPIO_MODE_INTR_POSEDGE, //input n/a 0 POS 1 + EXT_GPIO_MODE_INTR_NEGEDGE, //input n/a 1 NEG 1 + EXT_GPIO_MODE_INPUT, //input n/a 0 ANY 1 + EXT_GPIO_MODE_INTR_LOLEVEL, //input n/a 1 LOW 1 + EXT_GPIO_MODE_INTR_HILEVEL, //input n/a 0 HIGH 1 + EXT_GPIO_MODE_MAX, +} EXT_GPIO_MODE_T; + +typedef enum EXT_GPIO_STATE { + EXT_GPIO_STATE_LOW, + EXT_GPIO_STATE_HIGH, + EXT_GPIO_STATE_IDLE +} EXT_GPIO_STATE_T; + +typedef irqreturn_t (*ext_irq_handler_t)(void); + +struct ext_gpio_info { + int gpio_no; + int gpio_mode; + int gpio_state; + ext_irq_handler_t irq_handler; +}; + +struct pending_intr_list_info { + u16 pending_intr_list[MAX_PENDING_INTR_LIST]; + int start_pos; + int end_pos; + int curr_num; + spinlock_t spin_lock; +}; + +u16 ext_gpio_get_int_mask_reg(void); + +/* for extern user start */ +int ext_gpio_request(int gpio_no); +int ext_gpio_release(int gpio_no); + +int ext_gpio_set_mode(int gpio_no, int mode, void *data); +int ext_gpio_get_mode(int gpio_no); + +int ext_gpio_set_output_state(int gpio_no, int state); +int ext_gpio_get_state(int gpio_no); + +int ext_irq_ack(int gpio_no); +/* for extern user end */ + +void ext_gpio_int_process(u16 value); + +int ext_gpio_init(struct esp_pub *epub); +void ext_gpio_deinit(void); +#endif /* _ESP_EXT_H_ */ + +#endif /* USE_EXT_GPIO */ diff --git a/drivers/net/wireless/esp8089/esp_file.c b/drivers/net/wireless/esp8089/esp_file.c new file mode 100644 index 000000000000..2edb7a9f4da0 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_file.c @@ -0,0 +1,419 @@ +/* + * Copyright (c) 2010 -2014 Espressif System. + * + * file operation in kernel space + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "esp_file.h" +#include "esp_debug.h" +#include "esp_sif.h" + +#include "esp_path.h" +#include "esp_conf.h" + +int esp_readwrite_file(const char *filename, char *rbuf, const char *wbuf, size_t length) +{ + int ret = 0; + struct file *filp = (struct file *)-ENOENT; + mm_segment_t oldfs; + oldfs = get_fs(); + set_fs(KERNEL_DS); + do { + int mode = (wbuf) ? O_RDWR | O_CREAT : O_RDONLY; + filp = filp_open(filename, mode, (S_IRUSR | S_IWUSR)); + if (IS_ERR(filp) || !filp->f_op) { + esp_dbg(ESP_DBG_ERROR, "%s: file %s filp_open error\n", __FUNCTION__, filename); + ret = -ENOENT; + break; + } + + if (length==0) { + /* Read the length of the file only */ + struct inode *inode; + + inode = GET_INODE_FROM_FILEP(filp); + if (!inode) { + esp_dbg(ESP_DBG_ERROR, "%s: Get inode from %s failed\n", __FUNCTION__, filename); + ret = -ENOENT; + break; + } + ret = i_size_read(inode->i_mapping->host); + break; + } + + if (wbuf) { + if ( (ret=vfs_write(filp, wbuf, length, &filp->f_pos)) < 0) { + esp_dbg(ESP_DBG_ERROR, "%s: Write %u bytes to file %s error %d\n", __FUNCTION__, + (unsigned int)length, filename, ret); + break; + } + } else { + if ( (ret=filp->f_op->read(filp, rbuf, length, &filp->f_pos)) < 0) { + esp_dbg(ESP_DBG_ERROR, "%s: Read %u bytes from file %s error %d\n", __FUNCTION__, + (unsigned int)length, filename, ret); + break; + } + } + } while (0); + + if (!IS_ERR(filp)) { + filp_close(filp, NULL); + } + set_fs(oldfs); + + return ret; +} + +int esp_request_firmware(const struct firmware **firmware_p, const char *name, + struct device *device) +{ + int ret = 0; + struct firmware *firmware; + char filename[256]; + const char *raw_filename = name; + *firmware_p = firmware = kmalloc((sizeof(*firmware)), GFP_KERNEL); + if (!firmware) + return -ENOMEM; + + memset(firmware, 0, sizeof(*firmware)); + + if (mod_eagle_path_get() == NULL) + sprintf(filename, "%s/%s", FWPATH, raw_filename); + else + sprintf(filename, "%s/%s", mod_eagle_path_get(), raw_filename); + + do { + size_t length, bufsize, bmisize; + + if ( (ret=esp_readwrite_file(filename, NULL, NULL, 0)) < 0) { + break; + } else { + length = ret; + } + + bufsize = ALIGN(length, PAGE_SIZE); + bmisize = E_ROUND_UP(length, 4); + bufsize = max(bmisize, bufsize); + firmware->data = vmalloc(bufsize); + firmware->size = length; + if (!firmware->data) { + esp_dbg(ESP_DBG_ERROR, "%s: Cannot allocate buffer for firmware\n", __FUNCTION__); + ret = -ENOMEM; + break; + } + + if ( (ret=esp_readwrite_file(filename, (char*)firmware->data, NULL, length)) != length) { + esp_dbg(ESP_DBG_ERROR, "%s: file read error, ret %d request %d\n", __FUNCTION__, ret, (unsigned int)length); + ret = -1; + break; + } + + } while (0); + + if (ret<0) { + if (firmware) { + if (firmware->data) + vfree(firmware->data); + + kfree(firmware); + } + *firmware_p = NULL; + } else { + ret = 0; + } + + return ret; +} + +void esp_release_firmware(const struct firmware *firmware) +{ + if (firmware) { + if (firmware->data) + vfree(firmware->data); + + kfree((struct firmware *)firmware); + } +} + +#ifdef ESP_ANDROID_LOGGER +int logger_write( const unsigned char prio, + const char __kernel * const tag, + const char __kernel * const fmt, + ...) +{ + int ret = 0; + va_list vargs; + struct file *filp = (struct file *)-ENOENT; + mm_segment_t oldfs; + struct iovec vec[3]; + int tag_bytes = strlen(tag) + 1, msg_bytes; + char *msg; + va_start(vargs, fmt); + msg = kvasprintf(GFP_ATOMIC, fmt, vargs); + va_end(vargs); + if (!msg) + return -ENOMEM; + if (in_interrupt()) { + /* we have no choice since aio_write may be blocked */ + printk(KERN_ALERT "%s", msg); + goto out_free_message; + } + msg_bytes = strlen(msg) + 1; + if (msg_bytes <= 1) /* empty message? */ + goto out_free_message; /* don't bother, then */ + if ((msg_bytes + tag_bytes + 1) > 2048) { + ret = -E2BIG; + goto out_free_message; + } + + vec[0].iov_base = (unsigned char *) &prio; + vec[0].iov_len = 1; + vec[1].iov_base = (void *) tag; + vec[1].iov_len = strlen(tag) + 1; + vec[2].iov_base = (void *) msg; + vec[2].iov_len = strlen(msg) + 1; + + oldfs = get_fs(); + set_fs(KERNEL_DS); + do { + filp = filp_open("/dev/log/main", O_WRONLY, S_IRUSR); + if (IS_ERR(filp) || !filp->f_op) { + + esp_dbg(ESP_DBG_ERROR, "%s: filp open /dev/log/main error\n", __FUNCTION__); + ret = -ENOENT; + break; + } + + if (filp->f_op->aio_write) { + int nr_segs = sizeof(vec) / sizeof(vec[0]); + int len = vec[0].iov_len + vec[1].iov_len + vec[2].iov_len; + struct kiocb kiocb; + init_sync_kiocb(&kiocb, filp); + kiocb.ki_pos = 0; + kiocb.ki_left = len; + kiocb.ki_nbytes = len; + ret = filp->f_op->aio_write(&kiocb, vec, nr_segs, kiocb.ki_pos); + } + + } while (0); + + if (!IS_ERR(filp)) { + filp_close(filp, NULL); + } + set_fs(oldfs); +out_free_message: + if (msg) { + kfree(msg); + } + return ret; +} +#endif + + +struct esp_init_table_elem esp_init_table[MAX_ATTR_NUM] = { + {"crystal_26M_en", 48, -1}, + {"test_xtal", 49, -1}, + {"sdio_configure", 50, -1}, + {"bt_configure", 51, -1}, + {"bt_protocol", 52, -1}, + {"dual_ant_configure", 53, -1}, + {"test_uart_configure", 54, -1}, + {"share_xtal", 55, -1}, + {"gpio_wake", 56, -1}, + {"no_auto_sleep", 57, -1}, + {"speed_suspend", 58, -1}, + {"attr11", -1, -1}, + {"attr12", -1, -1}, + {"attr13", -1, -1}, + {"attr14", -1, -1}, + {"attr15", -1, -1}, + //attr that is not send to target + {"ext_rst", -1, -1}, + {"wakeup_gpio", -1, -1}, + {"ate_test", -1, -1}, + {"attr19", -1, -1}, + {"attr20", -1, -1}, + {"attr21", -1, -1}, + {"attr22", -1, -1}, + {"attr23", -1, -1}, + +}; + +int esp_atoi(char *str) +{ + int num = 0; + int ng_flag = 0; + + if (*str == '-') { + str++; + ng_flag = 1; + } + + while(*str != '\0') { + num = num * 10 + *str++ - '0'; + } + + return ng_flag ? 0-num : num; +} + +void show_esp_init_table(struct esp_init_table_elem *econf) +{ + int i; + for (i = 0; i < MAX_ATTR_NUM; i++) + if (esp_init_table[i].offset > -1) + esp_dbg(ESP_DBG_ERROR, "%s: esp_init_table[%d] attr[%s] offset[%d] value[%d]\n", + __FUNCTION__, i, + esp_init_table[i].attr, + esp_init_table[i].offset, + esp_init_table[i].value); +} + +int request_init_conf(void) +{ + + u8 *conf_buf; + u8 *pbuf; + int flag; + int str_len; + int length; + int ret; + int i; + char attr_name[CONF_ATTR_LEN]; + char num_buf[CONF_VAL_LEN]; +#ifdef INIT_DATA_CONF + char filename[256]; + + if (mod_eagle_path_get() == NULL) + sprintf(filename, "%s/%s", FWPATH, INIT_CONF_FILE); + else + sprintf(filename, "%s/%s", mod_eagle_path_get(), INIT_CONF_FILE); + + if ((ret=esp_readwrite_file(filename, NULL, NULL, 0)) < 0 || ret > MAX_BUF_LEN) { + esp_dbg(ESP_DBG_ERROR, "%s: file read length error, ret %d\n", __FUNCTION__, ret); + return ret; + } else { + length = ret; + } +#endif /* INIT_DATA_CONF */ + conf_buf = (u8 *)kmalloc(MAX_BUF_LEN, GFP_KERNEL); + if (conf_buf == NULL) { + esp_dbg(ESP_DBG_ERROR, "%s: failed kmalloc memory for read init_data_conf", __func__); + return -ENOMEM; + } + +#ifdef INIT_DATA_CONF + if ((ret=esp_readwrite_file(filename, conf_buf, NULL, length)) != length) { + esp_dbg(ESP_DBG_ERROR, "%s: file read error, ret %d request %d\n", __FUNCTION__, ret, length); + goto failed; + } +#else + length = strlen(INIT_DATA_CONF_BUF); + strncpy(conf_buf, INIT_DATA_CONF_BUF, length); +#endif + conf_buf[length] = '\0'; + + flag = 0; + str_len = 0; + for (pbuf = conf_buf; *pbuf != '$' && *pbuf != '\n'; pbuf++) { + if (*pbuf == '=') { + flag = 1; + *(attr_name+str_len) = '\0'; + str_len = 0; + continue; + } + + if (*pbuf == ';') { + int value; + flag = 0; + *(num_buf+str_len) = '\0'; + if((value = esp_atoi(num_buf)) > 255 || value < 0){ + esp_dbg(ESP_DBG_ERROR, "%s: value is too big", __FUNCTION__); + goto failed; + } + + for (i = 0; i < MAX_ATTR_NUM; i++) { + if (strcmp(esp_init_table[i].attr, attr_name) == 0) { + esp_dbg(ESP_DBG_TRACE, "%s: attr_name[%s]", __FUNCTION__, attr_name); /* add by th */ + esp_init_table[i].value = value; + } + + if (esp_init_table[i].value < 0) + continue; + + if(strcmp(esp_init_table[i].attr, "share_xtal") == 0){ + sif_record_bt_config(esp_init_table[i].value); + } + + if(strcmp(esp_init_table[i].attr, "ext_rst") == 0){ + sif_record_rst_config(esp_init_table[i].value); + } + + if(strcmp(esp_init_table[i].attr, "wakeup_gpio") == 0){ + sif_record_wakeup_gpio_config(esp_init_table[i].value); + } + + if(strcmp(esp_init_table[i].attr, "ate_test") == 0){ + sif_record_ate_config(esp_init_table[i].value); + } + + } + str_len = 0; + continue; + } + + if (flag == 0) { + *(attr_name+str_len) = *pbuf; + if (++str_len > CONF_ATTR_LEN) { + esp_dbg(ESP_DBG_ERROR, "%s: attr len is too long", __FUNCTION__); + goto failed; + } + } else { + *(num_buf+str_len) = *pbuf; + if (++str_len > CONF_VAL_LEN) { + esp_dbg(ESP_DBG_ERROR, "%s: value len is too long", __FUNCTION__); + goto failed; + } + } + } + + //show_esp_init_table(esp_init_table); + + ret = 0; +failed: + if (conf_buf) + kfree(conf_buf); + return ret; +} + +void fix_init_data(u8 *init_data_buf, int buf_size) +{ + int i; + + for (i = 0; i < MAX_FIX_ATTR_NUM; i++) { + if (esp_init_table[i].offset > -1 && esp_init_table[i].offset < buf_size && esp_init_table[i].value > -1) { + *(u8 *)(init_data_buf + esp_init_table[i].offset) = esp_init_table[i].value; + } else if (esp_init_table[i].offset > buf_size) { + esp_dbg(ESP_DBG_ERROR, "%s: offset[%d] longer than init_data_buf len[%d] Ignore\n", __FUNCTION__, esp_init_table[i].offset, buf_size); + } + } + +} diff --git a/drivers/net/wireless/esp8089/esp_file.h b/drivers/net/wireless/esp8089/esp_file.h new file mode 100644 index 000000000000..4e6fba077002 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_file.h @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2010 -2014 Espressif System. + * + * file operation in kernel space + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef _ESP_FILE_H_ +#define _ESP_FILE_H_ + +#include +#include + + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20) +#define GET_INODE_FROM_FILEP(filp) \ + (filp)->f_path.dentry->d_inode +#else +#define GET_INODE_FROM_FILEP(filp) \ + (filp)->f_dentry->d_inode +#endif + +#define E_ROUND_UP(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) + +int esp_readwrite_file(const char *filename, char *rbuf, const char *wbuf, size_t length); + +int esp_request_firmware(const struct firmware **firmware_p, const char *name, struct device *device); + +void esp_release_firmware(const struct firmware *firmware); + +#ifdef INIT_DATA_CONF +#define INIT_CONF_FILE "init_data.conf" +#endif /* def INIT_DATA_CONF */ + +#define CONF_ATTR_LEN 24 +#define CONF_VAL_LEN 3 +#define MAX_ATTR_NUM 24 +#define MAX_FIX_ATTR_NUM 16 +#define MAX_BUF_LEN ((CONF_ATTR_LEN + CONF_VAL_LEN + 2) * MAX_ATTR_NUM + 2) + +struct esp_init_table_elem { + char attr[CONF_ATTR_LEN]; + int offset; + short value; +}; + +int request_init_conf(void); +void fix_init_data(u8 *init_data_buf, int buf_size); + + +#ifdef ESP_ANDROID_LOGGER +extern int logger_write( const unsigned char prio, + const char __kernel * const tag, + const char __kernel * const fmt, + ...); + +#endif + +#endif /* _ESP_FILE_H_ */ diff --git a/drivers/net/wireless/esp8089/esp_init_data.h b/drivers/net/wireless/esp8089/esp_init_data.h new file mode 100755 index 000000000000..38a349dc5f90 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_init_data.h @@ -0,0 +1 @@ +static char esp_init_data[] = {0x5,0x0,4,2,5,5,5,2,5,0,4,5,5,4,5,5,4,-2,-3,-1,-16,-16,-16,-32,-32,-32,204,1,0xff,0xff,0,0,0,0,82,78,74,68,64,56,0,0,1,1,2,3,4,5,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,240,10,0x0,0x0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; \ No newline at end of file diff --git a/drivers/net/wireless/esp8089/esp_io.c b/drivers/net/wireless/esp8089/esp_io.c new file mode 100755 index 000000000000..4f196a976256 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_io.c @@ -0,0 +1,649 @@ +/* + * Copyright (c) 2009 - 2014 Espressif System. + * IO interface + * - sdio/spi common i/f driver + * - target sdio hal + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include +#include "esp_sif.h" +#include "slc_host_register.h" +#include "esp_debug.h" + +#ifdef SIF_DEBUG_DSR_DUMP_REG +static void dump_slc_regs(struct slc_host_regs *regs); +#endif /* SIF_DEBUG_DSR_DUMP_REG */ + +int esp_common_read(struct esp_pub *epub, u8 *buf, u32 len, int sync, bool noround) +{ + if (sync) { +#ifdef ESP_USE_SDIO + return sif_lldesc_read_sync(epub, buf, len); +#endif +#ifdef ESP_USE_SPI + return sif_spi_read_sync(epub, buf, len, NOT_DUMMYMODE); +#endif + } else { +#ifdef ESP_USE_SDIO + return sif_lldesc_read_raw(epub, buf, len, noround); +#endif +#ifdef ESP_USE_SPI + return sif_spi_read_nosync(epub, buf, len, NOT_DUMMYMODE, noround); +#endif + } +} + +int esp_common_write(struct esp_pub *epub, u8 *buf, u32 len, int sync) +{ + if (sync) { +#ifdef ESP_USE_SDIO + return sif_lldesc_write_sync(epub, buf, len); +#endif +#ifdef ESP_USE_SPI + return sif_spi_write_sync(epub, buf, len, NOT_DUMMYMODE); +#endif + } else { +#ifdef ESP_USE_SDIO + return sif_lldesc_write_raw(epub, buf, len); +#endif +#ifdef ESP_USE_SPI + return sif_spi_write_nosync(epub, buf, len, NOT_DUMMYMODE); +#endif + } +} + +int esp_common_read_with_addr(struct esp_pub *epub, u32 addr, u8 *buf, u32 len, int sync) +{ + if (sync) { +#ifdef ESP_USE_SDIO + return sif_io_sync(epub, addr, buf, len, SIF_FROM_DEVICE | SIF_SYNC | SIF_BYTE_BASIS | SIF_INC_ADDR); +#endif +#ifdef ESP_USE_SPI + return sif_spi_epub_read_mix_sync(epub, addr, buf, len, NOT_DUMMYMODE); +#endif + } else { +#ifdef ESP_USE_SDIO + return sif_io_raw(epub, addr, buf, len, SIF_FROM_DEVICE | SIF_BYTE_BASIS | SIF_INC_ADDR); +#endif +#ifdef ESP_USE_SPI + return sif_spi_epub_read_mix_nosync(epub, addr, buf, len, NOT_DUMMYMODE); +#endif + } +} + +int esp_common_write_with_addr(struct esp_pub *epub, u32 addr, u8 *buf, u32 len, int sync) +{ + if (sync) { +#ifdef ESP_USE_SDIO + return sif_io_sync(epub, addr, buf, len, SIF_TO_DEVICE | SIF_SYNC | SIF_BYTE_BASIS | SIF_INC_ADDR); +#endif +#ifdef ESP_USE_SPI + return sif_spi_epub_write_mix_sync(epub, addr, buf, len, NOT_DUMMYMODE); +#endif + } else { +#ifdef ESP_USE_SDIO + return sif_io_raw(epub, addr, buf, len, SIF_TO_DEVICE | SIF_BYTE_BASIS | SIF_INC_ADDR); +#endif +#ifdef ESP_USE_SPI + return sif_spi_epub_write_mix_nosync(epub, addr, buf, len, NOT_DUMMYMODE); +#endif + } +} + +int esp_common_readbyte_with_addr(struct esp_pub *epub, u32 addr, u8 *buf, int sync) +{ + if(sync){ +#ifdef ESP_USE_SDIO + int res; + sif_lock_bus(epub); + *buf = sdio_io_readb(epub, addr, &res); + sif_unlock_bus(epub); + return res; +#endif +#ifdef ESP_USE_SPI + return sif_spi_epub_read_mix_sync(epub, addr, buf, 1, NOT_DUMMYMODE); +#endif + } else { +#ifdef ESP_USE_SDIO + int res; + *buf = sdio_io_readb(epub, addr, &res); + return res; +#endif +#ifdef ESP_USE_SPI + return sif_spi_epub_read_mix_nosync(epub, addr, buf, 1, NOT_DUMMYMODE); +#endif + } +} + +int esp_common_writebyte_with_addr(struct esp_pub *epub, u32 addr, u8 buf, int sync) +{ + if(sync){ +#ifdef ESP_USE_SDIO + int res; + sif_lock_bus(epub); + sdio_io_writeb(epub, buf, addr, &res); + sif_unlock_bus(epub); + return res; +#endif +#ifdef ESP_USE_SPI + return sif_spi_epub_write_mix_sync(epub, addr, &buf, 1, NOT_DUMMYMODE); +#endif + } else { +#ifdef ESP_USE_SDIO + int res; + sdio_io_writeb(epub, buf, addr, &res); + return res; +#endif +#ifdef ESP_USE_SPI + return sif_spi_epub_write_mix_nosync(epub, addr, &buf, 1, NOT_DUMMYMODE); +#endif + } +} + +int sif_read_reg_window(struct esp_pub *epub, unsigned int reg_addr, u8 *value) +{ + u8 *p_tbuf = NULL; + int ret = 0; + int retry = 20; + + reg_addr >>= 2; + if(reg_addr > 0x1f) + return -1; + + p_tbuf = kzalloc(4, GFP_KERNEL); + if(p_tbuf == NULL) + return -ENOMEM; + + p_tbuf[0] = 0x80 | (reg_addr & 0x1f); + + ret = esp_common_write_with_addr(epub, SLC_HOST_WIN_CMD, p_tbuf, 1, ESP_SIF_NOSYNC); + + if(ret == 0) + { + do{ + if(retry < 20) + mdelay(10); + retry --; + ret = esp_common_read_with_addr(epub, SLC_HOST_STATE_W0, p_tbuf, 4, ESP_SIF_NOSYNC); + }while(retry >0 && ret != 0); + } + + if(ret ==0) + memcpy(value,p_tbuf,4); + + kfree(p_tbuf); + return ret; +} + +int sif_write_reg_window(struct esp_pub *epub, unsigned int reg_addr,u8 *value) +{ + u8 *p_tbuf = NULL; + int ret = 0; + + reg_addr >>= 2; + if(reg_addr > 0x1f) + return -1; + + p_tbuf = kzalloc(8, GFP_KERNEL); + if(p_tbuf == NULL) + return -ENOMEM; + memcpy(p_tbuf,value,4); + p_tbuf[4] = 0xc0 |(reg_addr & 0x1f); + + ret = esp_common_write_with_addr(epub, SLC_HOST_CONF_W5, p_tbuf, 5, ESP_SIF_NOSYNC); + + kfree(p_tbuf); + return ret; +} + +int sif_ack_target_read_err(struct esp_pub *epub) +{ + u32 value[1]; + int ret; + + ret = sif_read_reg_window(epub, SLC_RX_LINK, (u8 *)value); + if(ret) + return ret; + value[0] |= SLC_RXLINK_START; + ret = sif_write_reg_window(epub, SLC_RX_LINK, (u8 *)value); + return ret; +} + +int sif_had_io_enable(struct esp_pub *epub) +{ + u32 *p_tbuf = NULL; + int ret; + + p_tbuf = kzalloc(sizeof(u32), GFP_KERNEL); + if(p_tbuf == NULL) + return -ENOMEM; + + *p_tbuf = SLC_TXEOF_ENA | (0x4 << SLC_FIFO_MAP_ENA_S) | SLC_TX_DUMMY_MODE | SLC_HDA_MAP_128K | (0xFE << SLC_TX_PUSH_IDLE_NUM_S); + ret = sif_write_reg_window(epub, SLC_BRIDGE_CONF, (u8 *)p_tbuf); + + if(ret) + goto _err; + + *p_tbuf = 0x30; + ret = esp_common_write_with_addr((epub), SLC_HOST_CONF_W4 + 1, (u8 *)p_tbuf, 1, ESP_SIF_NOSYNC); + + if(ret) + goto _err; + //set w3 0 + *p_tbuf = 0x1; + ret = esp_common_write_with_addr((epub), SLC_HOST_CONF_W3, (u8 *)p_tbuf, 1, ESP_SIF_NOSYNC); + +_err: + kfree(p_tbuf); + return ret; +} + +typedef enum _SDIO_INTR_MODE { + SDIO_INTR_IB = 0, + SDIO_INTR_OOB_TOGGLE, + SDIO_INTR_OOB_HIGH_LEVEL, + SDIO_INTR_OOB_LOW_LEVEL, +} SDIO_INTR_MODE; + +#define GEN_GPIO_SEL(_gpio_num, _sel_func, _intr_mode, _offset) (((_offset)<< 9 ) |((_intr_mode) << 7)|((_sel_func) << 4)|(_gpio_num)) +//bit[3:0] = gpio num, 2 +//bit[6:4] = gpio sel func, 0 +//bit[8:7] = gpio intr mode, SDIO_INTR_OOB_TOGGLE +//bit[15:9] = register offset, 0x38 + +u16 gpio_sel_sets[17] = { + GEN_GPIO_SEL(0, 0, SDIO_INTR_OOB_TOGGLE, 0x34),//GPIO0 + GEN_GPIO_SEL(1, 3, SDIO_INTR_OOB_TOGGLE, 0x18),//U0TXD + GEN_GPIO_SEL(2, 0, SDIO_INTR_OOB_TOGGLE, 0x38),//GPIO2 + GEN_GPIO_SEL(3, 3, SDIO_INTR_OOB_TOGGLE, 0x14),//U0RXD + GEN_GPIO_SEL(4, 0, SDIO_INTR_OOB_TOGGLE, 0x3C),//GPIO4 + GEN_GPIO_SEL(5, 0, SDIO_INTR_OOB_TOGGLE, 0x40),//GPIO5 + GEN_GPIO_SEL(6, 3, SDIO_INTR_OOB_TOGGLE, 0x1C),//SD_CLK + GEN_GPIO_SEL(7, 3, SDIO_INTR_OOB_TOGGLE, 0x20),//SD_DATA0 + GEN_GPIO_SEL(8, 3, SDIO_INTR_OOB_TOGGLE, 0x24),//SD_DATA1 + GEN_GPIO_SEL(9, 3, SDIO_INTR_OOB_TOGGLE, 0x28),//SD_DATA2 + GEN_GPIO_SEL(10, 3, SDIO_INTR_OOB_TOGGLE, 0x2C),//SD_DATA3 + GEN_GPIO_SEL(11, 3, SDIO_INTR_OOB_TOGGLE, 0x30),//SD_CMD + GEN_GPIO_SEL(12, 3, SDIO_INTR_OOB_TOGGLE, 0x04),//MTDI + GEN_GPIO_SEL(13, 3, SDIO_INTR_OOB_TOGGLE, 0x08),//MTCK + GEN_GPIO_SEL(14, 3, SDIO_INTR_OOB_TOGGLE, 0x0C),//MTMS + GEN_GPIO_SEL(15, 3, SDIO_INTR_OOB_TOGGLE, 0x10),//MTDO + //pls do not change sel before, if you want to change intr mode,change the one blow + //GEN_GPIO_SEL(2, 0, SDIO_INTR_OOB_TOGGLE, 0x38) + GEN_GPIO_SEL(2, 0, SDIO_INTR_OOB_LOW_LEVEL, 0x38) +}; +#if defined(USE_EXT_GPIO) +u16 gpio_forbidden = 0; +#endif + +int sif_interrupt_target(struct esp_pub *epub, u8 index) +{ + u8 low_byte = BIT(index); + return esp_common_writebyte_with_addr(epub, SLC_HOST_CONF_W4 + 2, low_byte, ESP_SIF_NOSYNC); +} + +#ifdef USE_EXT_GPIO +int sif_config_gpio_mode(struct esp_pub *epub, u8 gpio_num, u8 gpio_mode) +{ + u32 *p_tbuf = NULL; + int err; + + if((BIT(gpio_num) & gpio_forbidden) || gpio_num > 15) + return -EINVAL; + + p_tbuf = kzalloc(sizeof(u32), GFP_KERNEL); + if(p_tbuf == NULL) + return -ENOMEM; + *p_tbuf = (gpio_mode << 16) | gpio_sel_sets[gpio_num]; + err = esp_common_write_with_addr(epub, SLC_HOST_CONF_W1, (u8*)p_tbuf, sizeof(u32), ESP_SIF_NOSYNC); + kfree(p_tbuf); + if (err) + return err; + + return sif_interrupt_target(epub, 4); +} + +int sif_set_gpio_output(struct esp_pub *epub, u16 mask, u16 value) +{ + u32 *p_tbuf = NULL; + int err; + + mask &= ~gpio_forbidden; + p_tbuf = kzalloc(sizeof(u32), GFP_KERNEL); + if(p_tbuf == NULL) + return -ENOMEM; + *p_tbuf = (mask << 16) | value; + err = esp_common_write_with_addr(epub, SLC_HOST_CONF_W2, (u8*)p_tbuf, sizeof(u32), ESP_SIF_NOSYNC); + kfree(p_tbuf); + if (err) + return err; + + return sif_interrupt_target(epub, 5); +} + +int sif_get_gpio_intr(struct esp_pub *epub, u16 intr_mask, u16 *value) +{ + u32 *p_tbuf = NULL; + int err; + + p_tbuf = kzalloc(sizeof(u32), GFP_KERNEL); + if(p_tbuf == NULL) + return -ENOMEM; + *p_tbuf = 0; + err = esp_common_read_with_addr(epub, SLC_HOST_CONF_W3, (u8*)p_tbuf, sizeof(u32), ESP_SIF_NOSYNC); + if (err){ + kfree(p_tbuf); + return err; + } + + *value = *p_tbuf & intr_mask; + kfree(p_tbuf); + if(*value == 0) + return 0; + return sif_interrupt_target(epub, 6); +} + +int sif_get_gpio_input(struct esp_pub *epub, u16 *mask, u16 *value) +{ + u32 *p_tbuf = NULL; + int err; + + err = sif_interrupt_target(epub, 3); + if (err) + return err; + + udelay(20); + p_tbuf = kzalloc(sizeof(u32), GFP_KERNEL); + if(p_tbuf == NULL) + return -ENOMEM; + *p_tbuf = 0; + err = esp_common_read_with_addr(epub, SLC_HOST_CONF_W3, (u8*)p_tbuf, sizeof(u32), ESP_SIF_NOSYNC); + if (err){ + kfree(p_tbuf); + return err; + } + + *mask = *p_tbuf >> 16; + *value = *p_tbuf & *mask; + kfree(p_tbuf); + + return 0; +} +#endif + +void check_target_id(struct esp_pub *epub) +{ + u32 date; + int err = 0; + int i; + + EPUB_CTRL_CHECK(epub, _err); + + sif_lock_bus(epub); + + for(i = 0; i < 4; i++) { + err = esp_common_readbyte_with_addr(epub, SLC_HOST_DATE + i, (u8 *)&date + i, ESP_SIF_NOSYNC); + err = esp_common_readbyte_with_addr(epub, SLC_HOST_ID + i, (u8 *)&EPUB_TO_CTRL(epub)->target_id + i, ESP_SIF_NOSYNC); + } + + sif_unlock_bus(epub); + + esp_dbg(ESP_DBG_LOG, "\n\n \t\t SLC data 0x%08x, ID 0x%08x\n\n", date, EPUB_TO_CTRL(epub)->target_id); + + switch(EPUB_TO_CTRL(epub)->target_id) { + case 0x100: + EPUB_TO_CTRL(epub)->slc_window_end_addr = 0x20000; + break; + case 0x600: + EPUB_TO_CTRL(epub)->slc_window_end_addr = 0x20000 - 0x800; + + do{ + u16 gpio_sel; + u8 low_byte = 0; + u8 high_byte = 0; + u8 byte2 = 0; + u8 byte3 = 0; +#ifdef USE_OOB_INTR + gpio_sel = gpio_sel_sets[16]; + low_byte = gpio_sel; + high_byte = gpio_sel >> 8; +#ifdef USE_EXT_GPIO + gpio_forbidden |= BIT(gpio_sel & 0xf); +#endif /* USE_EXT_GPIO */ +#endif /* USE_OOB_INTR */ + + if(sif_get_bt_config() == 1 && sif_get_rst_config() != 1){ + u8 gpio_num = sif_get_wakeup_gpio_config(); + gpio_sel = gpio_sel_sets[gpio_num]; + byte2 = gpio_sel; + byte3 = gpio_sel >> 8; +#ifdef USE_EXT_GPIO + gpio_forbidden |= BIT(gpio_num); +#endif + } + sif_lock_bus(epub); + err = esp_common_writebyte_with_addr(epub, SLC_HOST_CONF_W1, low_byte, ESP_SIF_NOSYNC); + err = esp_common_writebyte_with_addr(epub, SLC_HOST_CONF_W1 + 1, high_byte, ESP_SIF_NOSYNC); + err = esp_common_writebyte_with_addr(epub, SLC_HOST_CONF_W1 + 2, byte2, ESP_SIF_NOSYNC); + err = esp_common_writebyte_with_addr(epub, SLC_HOST_CONF_W1 + 3, byte3, ESP_SIF_NOSYNC); + sif_unlock_bus(epub); + }while(0); + break; + default: + EPUB_TO_CTRL(epub)->slc_window_end_addr = 0x20000; + break; + } +_err: + return; +} + +u32 sif_get_blksz(struct esp_pub *epub) +{ + EPUB_CTRL_CHECK(epub, _err); + + return EPUB_TO_CTRL(epub)->slc_blk_sz; +_err: + return 512; +} + +u32 sif_get_target_id(struct esp_pub *epub) +{ + EPUB_CTRL_CHECK(epub, _err); + + return EPUB_TO_CTRL(epub)->target_id; +_err: + return 0x600; +} + +#ifdef ESP_USE_SDIO +void sif_dsr(struct sdio_func *func) +{ + struct esp_sdio_ctrl *sctrl = sdio_get_drvdata(func); +#else +void sif_dsr(struct spi_device *spi) +{ + struct esp_spi_ctrl *sctrl = spi_get_drvdata(spi); + u32 buf[1]; +#endif + static int dsr_cnt = 0, real_intr_cnt = 0, bogus_intr_cnt = 0; + struct slc_host_regs *regs = &(sctrl->slc_regs); + esp_dbg(ESP_DBG_TRACE, " %s enter %d \n", __func__, dsr_cnt++); + +#ifdef ESP_USE_SPI + + if(sctrl->epub->wait_reset == 1) + { + mdelay(50); + return; + } + + if(sctrl->epub->enable_int == 1) + { + sif_read_reg_window(sctrl->epub, SLC_INT_ENA, (u8 *)buf); + buf[0] &= ~(SLC_RX_EOF_INT_ENA); + buf[0] |= SLC_FRHOST_BIT2_INT_ENA; + sif_write_reg_window(sctrl->epub, SLC_INT_ENA, (u8 *)buf); + + sctrl->epub->enable_int = 0; + } +#endif + atomic_set(&sctrl->irq_handling, 1); + +#ifdef ESP_USE_SDIO + sdio_release_host(sctrl->func); +#endif + + sif_lock_bus(sctrl->epub); + + do { + int ret =0; + + memset(regs, 0x0, sizeof(struct slc_host_regs)); + + ret = esp_common_read_with_addr(sctrl->epub, REG_SLC_HOST_BASE + 8, (u8 *)regs, sizeof(struct slc_host_regs), ESP_SIF_NOSYNC); + + if ( (regs->intr_raw & SLC_HOST_RX_ST) && (ret == 0) ) { + esp_dbg(ESP_DBG_TRACE, "%s eal intr cnt: %d", __func__, ++real_intr_cnt); + + esp_dsr(sctrl->epub); + + } else { +#ifdef ESP_ACK_INTERRUPT + sif_platform_ack_interrupt(sctrl->epub); +#endif //ESP_ACK_INTERRUPT + sif_unlock_bus(sctrl->epub); + + esp_dbg(ESP_DBG_TRACE, "%s bogus_intr_cnt %d\n", __func__, ++bogus_intr_cnt); + } + +#ifdef SIF_DEBUG_DSR_DUMP_REG + dump_slc_regs(regs); +#endif /* SIF_DEBUG_DUMP_DSR */ + + } while (0); + +#ifdef ESP_USE_SDIO + sdio_claim_host(func); +#endif + + atomic_set(&sctrl->irq_handling, 0); +} + + +struct slc_host_regs * sif_get_regs(struct esp_pub *epub) +{ + EPUB_CTRL_CHECK(epub, _err); + + return &EPUB_TO_CTRL(epub)->slc_regs; +_err: + return NULL; +} + +void sif_disable_target_interrupt(struct esp_pub *epub) +{ + EPUB_FUNC_CHECK(epub, _exit); + sif_lock_bus(epub); +#ifdef HOST_RESET_BUG + mdelay(10); +#endif + memset(EPUB_TO_CTRL(epub)->dma_buffer, 0x00, sizeof(u32)); + esp_common_write_with_addr(epub, SLC_HOST_INT_ENA, EPUB_TO_CTRL(epub)->dma_buffer, sizeof(u32), ESP_SIF_NOSYNC); +#ifdef HOST_RESET_BUG + mdelay(10); +#endif + + sif_unlock_bus(epub); + + mdelay(1); + + sif_lock_bus(epub); + sif_interrupt_target(epub, 7); + sif_unlock_bus(epub); +_exit: + return; +} + +#ifdef SIF_DEBUG_DSR_DUMP_REG +static void dump_slc_regs(struct slc_host_regs *regs) +{ + esp_dbg(ESP_DBG_TRACE, "\n\n ------- %s --------------\n", __func__); + + esp_dbg(ESP_DBG_TRACE, " \ + intr_raw 0x%08X \t \n \ + state_w0 0x%08X \t state_w1 0x%08X \n \ + config_w0 0x%08X \t config_w1 0x%08X \n \ + intr_status 0x%08X \t config_w2 0x%08X \n \ + config_w3 0x%08X \t config_w4 0x%08X \n \ + token_wdata 0x%08X \t intr_clear 0x%08X \n \ + intr_enable 0x%08X \n\n", regs->intr_raw, \ + regs->state_w0, regs->state_w1, regs->config_w0, regs->config_w1, \ + regs->intr_status, \ + regs->config_w2, regs->config_w3, regs->config_w4, regs->token_wdata, \ + regs->intr_clear, regs->intr_enable); +} +#endif /* SIF_DEBUG_DSR_DUMP_REG */ + +static int bt_config = 0; +void sif_record_bt_config(int value) +{ + bt_config = value; +} + +int sif_get_bt_config(void) +{ + return bt_config; +} + +static int rst_config = 0; +void sif_record_rst_config(int value) +{ + rst_config = value; +} + +int sif_get_rst_config(void) +{ + return rst_config; +} + +static int ate_test = 0; +void sif_record_ate_config(int value) +{ + ate_test =value; +} + +int sif_get_ate_config(void) +{ + return ate_test; +} + +static int retry_reset = 0; +void sif_record_retry_config(void) +{ + retry_reset = 1; +} + +int sif_get_retry_config(void) +{ + return retry_reset; +} + +static int wakeup_gpio = 12; +void sif_record_wakeup_gpio_config(int value) +{ + wakeup_gpio = value; +} + +int sif_get_wakeup_gpio_config(void) +{ + return wakeup_gpio; +} diff --git a/drivers/net/wireless/esp8089/esp_mac80211.c b/drivers/net/wireless/esp8089/esp_mac80211.c new file mode 100755 index 000000000000..6b6016b63366 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_mac80211.c @@ -0,0 +1,2329 @@ +/* + * Copyright (c) 2011-2014 Espressif System. + * + * MAC80211 support module + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)) +#include +#endif +#include "esp_pub.h" +#include "esp_sip.h" +#include "esp_ctrl.h" +#include "esp_sif.h" +#include "esp_debug.h" +#include "esp_wl.h" +#include "esp_utils.h" + +#define ESP_IEEE80211_DBG esp_dbg + +#define GET_NEXT_SEQ(seq) (((seq) +1) & 0x0fff) + +#ifdef P2P_CONCURRENT +static u8 esp_mac_addr[ETH_ALEN * 2]; +#endif +static u8 getaddr_index(u8 * addr, struct esp_pub *epub); + +static +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)) +void +esp_op_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control, struct sk_buff *skb) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)) +void +esp_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) +#else +int +esp_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) +#endif /* NEW_KERNEL */ +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; + + ESP_IEEE80211_DBG(ESP_DBG_LOG, "%s enter\n", __func__); + if (!mod_support_no_txampdu() && +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)) + cfg80211_get_chandef_type(&epub->hw->conf.chandef) != NL80211_CHAN_NO_HT +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) + hw->conf.channel_type != NL80211_CHAN_NO_HT +#else + !(hw->conf.flags&IEEE80211_CONF_SUPPORT_HT_MODE) +#endif + ) { + struct ieee80211_tx_info * tx_info = IEEE80211_SKB_CB(skb); + struct ieee80211_hdr * wh = (struct ieee80211_hdr *)skb->data; + if(ieee80211_is_data_qos(wh->frame_control)) { + if(!(tx_info->flags & IEEE80211_TX_CTL_AMPDU)) { + u8 tidno = ieee80211_get_qos_ctl(wh)[0] & IEEE80211_QOS_CTL_TID_MASK; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)) + struct esp_node * node = esp_get_node_by_addr(epub, wh->addr1); +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + struct ieee80211_sta *sta = tx_info->control.sta; + struct esp_node * node = (struct esp_node *)sta->drv_priv; + if(sta->ht_cap.ht_supported) +#else + struct esp_node * node = esp_get_node_by_addr(epub, wh->addr1); + if(node->ht_info.ht_supported) +#endif + { + struct esp_tx_tid *tid = &node->tid[tidno]; + //record ssn + spin_lock_bh(&epub->tx_ampdu_lock); + tid->ssn = GET_NEXT_SEQ(le16_to_cpu(wh->seq_ctrl)>>4); + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "tidno:%u,ssn:%u\n", tidno, tid->ssn); + spin_unlock_bh(&epub->tx_ampdu_lock); + } + } else { + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "tx ampdu pkt, sn:%u, %u\n", le16_to_cpu(wh->seq_ctrl)>>4, skb->len); + } + } + } + +#ifdef GEN_ERR_CHECKSUM + esp_gen_err_checksum(skb); +#endif + + sip_tx_data_pkt_enqueue(epub, skb); + if (epub) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)) + ieee80211_queue_work(hw, &epub->tx_work); +#else + queue_work(hw->workqueue,&epub->tx_work); +#endif +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)) + return NETDEV_TX_OK; +#endif /*2.6.39*/ +} + +static int esp_op_start(struct ieee80211_hw *hw) +{ + struct esp_pub *epub; + + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s\n", __func__); + + if (!hw) { + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "%s no hw!\n", __func__); + return -EINVAL; + } + + epub = (struct esp_pub *)hw->priv; + + if (!epub) { + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "%s no epub!\n", __func__); + return EINVAL; + } + /*add rfkill poll function*/ + + atomic_set(&epub->wl.off, 0); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)) + wiphy_rfkill_start_polling(hw->wiphy); +#endif + return 0; +} + +static void esp_op_stop(struct ieee80211_hw *hw) +{ + struct esp_pub *epub; + + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s\n", __func__); + + if (!hw) { + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "%s no hw!\n", __func__); + return; + } + + epub = (struct esp_pub *)hw->priv; + + if (!epub) { + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "%s no epub!\n", __func__); + return; + } + + atomic_set(&epub->wl.off, 1); + +#ifdef HOST_RESET_BUG + mdelay(200); +#endif + + if (epub->wl.scan_req) { + hw_scan_done(epub, true); + epub->wl.scan_req=NULL; + //msleep(2); + } +} + +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)) +#ifdef CONFIG_PM +static int esp_op_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan) +{ + esp_dbg(ESP_DBG_OP, "%s\n", __func__); + + return 0; +} + +static int esp_op_resume(struct ieee80211_hw *hw) +{ + esp_dbg(ESP_DBG_OP, "%s\n", __func__); + + return 0; +} +#endif //CONFIG_PM +#endif + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)) +static int esp_op_add_interface(struct ieee80211_hw *hw, + struct ieee80211_if_init_conf *conf) +#else +static int esp_op_add_interface(struct ieee80211_hw *hw, + struct ieee80211_vif *vif) +#endif +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)) + struct ieee80211_vif *vif = conf->vif; +#endif + struct esp_vif *evif = (struct esp_vif *)vif->drv_priv; + struct sip_cmd_setvif svif; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)) + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter: type %d, addr %pM\n", __func__, vif->type, conf->mac_addr); +#else + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter: type %d, addr %pM\n", __func__, vif->type, vif->addr); +#endif + + memset(&svif, 0, sizeof(struct sip_cmd_setvif)); +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)) + memcpy(svif.mac, conf->mac_addr, ETH_ALEN); + evif->index = svif.index = getaddr_index(conf->mac_addr, epub); +#else + memcpy(svif.mac, vif->addr, ETH_ALEN); + evif->index = svif.index = getaddr_index(vif->addr, epub); +#endif + evif->epub = epub; + epub->vif = vif; + svif.set = 1; + if((1 << svif.index) & epub->vif_slot){ + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "%s interface %d already used\n", __func__, svif.index); + return -EOPNOTSUPP; + } + epub->vif_slot |= 1 << svif.index; + + if (svif.index == ESP_PUB_MAX_VIF) { + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "%s only support MAX %d interface\n", __func__, ESP_PUB_MAX_VIF); + return -EOPNOTSUPP; + } + + switch (vif->type) { + case NL80211_IFTYPE_STATION: + //if (svif.index == 1) + // vif->type = NL80211_IFTYPE_UNSPECIFIED; + ESP_IEEE80211_DBG(ESP_SHOW, "%s STA \n", __func__); + svif.op_mode = 0; + svif.is_p2p = 0; + break; + case NL80211_IFTYPE_AP: + ESP_IEEE80211_DBG(ESP_SHOW, "%s AP \n", __func__); + svif.op_mode = 1; + svif.is_p2p = 0; + break; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) + case NL80211_IFTYPE_P2P_CLIENT: + ESP_IEEE80211_DBG(ESP_SHOW, "%s P2P_CLIENT \n", __func__); + svif.op_mode = 0; + svif.is_p2p = 1; + break; + case NL80211_IFTYPE_P2P_GO: + ESP_IEEE80211_DBG(ESP_SHOW, "%s P2P_GO \n", __func__); + svif.op_mode = 1; + svif.is_p2p = 1; + break; +#endif + case NL80211_IFTYPE_UNSPECIFIED: + case NL80211_IFTYPE_ADHOC: + case NL80211_IFTYPE_AP_VLAN: + case NL80211_IFTYPE_WDS: + case NL80211_IFTYPE_MONITOR: + default: + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "%s does NOT support type %d\n", __func__, vif->type); + return -EOPNOTSUPP; + } + + sip_cmd(epub, SIP_CMD_SETVIF, (u8 *)&svif, sizeof(struct sip_cmd_setvif)); + return 0; +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) +static int esp_op_change_interface(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + enum nl80211_iftype new_type, bool p2p) +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; + struct esp_vif *evif = (struct esp_vif *)vif->drv_priv; + struct sip_cmd_setvif svif; + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter,change to if:%d \n", __func__, new_type); + + if (new_type == NL80211_IFTYPE_AP) { + ESP_IEEE80211_DBG(ESP_SHOW, "%s enter,change to AP \n", __func__); + } + + if (vif->type != new_type) { + ESP_IEEE80211_DBG(ESP_SHOW, "%s type from %d to %d\n", __func__, vif->type, new_type); + } + + memset(&svif, 0, sizeof(struct sip_cmd_setvif)); + memcpy(svif.mac, vif->addr, ETH_ALEN); + svif.index = evif->index; + svif.set = 2; + + switch (new_type) { + case NL80211_IFTYPE_STATION: + svif.op_mode = 0; + svif.is_p2p = p2p; + break; + case NL80211_IFTYPE_AP: + svif.op_mode = 1; + svif.is_p2p = p2p; + break; + case NL80211_IFTYPE_P2P_CLIENT: + svif.op_mode = 0; + svif.is_p2p = 1; + break; + case NL80211_IFTYPE_P2P_GO: + svif.op_mode = 1; + svif.is_p2p = 1; + break; + case NL80211_IFTYPE_UNSPECIFIED: + case NL80211_IFTYPE_ADHOC: + case NL80211_IFTYPE_AP_VLAN: + case NL80211_IFTYPE_WDS: + case NL80211_IFTYPE_MONITOR: + default: + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "%s does NOT support type %d\n", __func__, vif->type); + return -EOPNOTSUPP; + } + sip_cmd(epub, SIP_CMD_SETVIF, (u8 *)&svif, sizeof(struct sip_cmd_setvif)); + return 0; +} +#endif + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)) +static void esp_op_remove_interface(struct ieee80211_hw *hw, + struct ieee80211_if_init_conf *conf) +#else +static void esp_op_remove_interface(struct ieee80211_hw *hw, + struct ieee80211_vif *vif) +#endif +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)) + struct ieee80211_vif *vif = conf->vif; +#endif + struct esp_vif *evif = (struct esp_vif *)vif->drv_priv; + struct sip_cmd_setvif svif; + +#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 30)) + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter, vif addr %pM\n", __func__, conf->mac_addr); +#elif (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)) + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter, vif addr %pM, beacon enable %x\n", __func__, conf->mac_addr, vif->bss_conf.enable_beacon); +#else + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter, vif addr %pM, beacon enable %x\n", __func__, vif->addr, vif->bss_conf.enable_beacon); +#endif + + memset(&svif, 0, sizeof(struct sip_cmd_setvif)); + svif.index = evif->index; + epub->vif_slot &= ~(1 << svif.index); + + if(evif->ap_up){ + evif->beacon_interval = 0; + del_timer_sync(&evif->beacon_timer); + evif->ap_up = false; + } + epub->vif = NULL; + evif->epub = NULL; + + sip_cmd(epub, SIP_CMD_SETVIF, (u8 *)&svif, sizeof(struct sip_cmd_setvif)); + + /* clean up tx/rx queue */ +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) +#define BEACON_TIM_SAVE_MAX 20 +u8 beacon_tim_saved[BEACON_TIM_SAVE_MAX]; +int beacon_tim_count; +static void beacon_tim_init(void) +{ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0)) + memset(beacon_tim_saved, 0, BEACON_TIM_SAVE_MAX); +#else + memset(beacon_tim_saved, BEACON_TIM_SAVE_MAX, 0); +#endif + beacon_tim_count = 0; +} + +static u8 beacon_tim_save(u8 this_tim) +{ + u8 all_tim = 0; + int i; + beacon_tim_saved[beacon_tim_count] = this_tim; + if(++beacon_tim_count >= BEACON_TIM_SAVE_MAX) + beacon_tim_count = 0; + for(i = 0; i < BEACON_TIM_SAVE_MAX; i++) + all_tim |= beacon_tim_saved[i]; + return all_tim; +} + +static bool beacon_tim_alter(struct sk_buff *beacon) +{ + u8 *p, *tim_end; + u8 tim_count; + int len; + int remain_len; + struct ieee80211_mgmt * mgmt; + + if (beacon == NULL) + return false; + + mgmt = (struct ieee80211_mgmt *)((u8 *)beacon->data); + + remain_len = beacon->len - ((u8 *)mgmt->u.beacon.variable - (u8 *)mgmt + 12); + p = mgmt->u.beacon.variable; + + while (remain_len > 0) { + len = *(++p); + if (*p == WLAN_EID_TIM) { // tim field + tim_end = p + len; + tim_count = *(++p); + p += 2; + //multicast + if(tim_count == 0) + *p |= 0x1; + if((*p & 0xfe) == 0 && tim_end >= p+1){// we only support 8 sta in this case + p++; + *p = beacon_tim_save(*p); + } + return tim_count == 0; + } + p += (len + 1); + remain_len -= (2 + len); + } + + return false; +} + +unsigned long init_jiffies; +unsigned long cycle_beacon_count; +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) +static void drv_handle_beacon(unsigned long data) +#else + struct ieee80211_vif *_gvif = NULL; +static void drv_handle_beacon(struct timer_list *list) +#endif +{ +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + struct ieee80211_vif *vif = (struct ieee80211_vif *) data; +#else + struct ieee80211_vif *vif = (struct ieee80211_vif *) _gvif; +#endif + struct esp_vif *evif = (struct esp_vif *)vif->drv_priv; + struct sk_buff *beacon; + struct sk_buff *skb; + static int dbgcnt = 0; + bool tim_reach = false; + + if(evif->epub == NULL) + return; + + mdelay(2400 * (cycle_beacon_count % 25) % 10000 /1000); + + beacon = ieee80211_beacon_get(evif->epub->hw, vif); + + tim_reach = beacon_tim_alter(beacon); + + if (beacon && !(dbgcnt++ % 600)) { + ESP_IEEE80211_DBG(ESP_SHOW, " beacon length:%d,fc:0x%x\n", beacon->len, + ((struct ieee80211_mgmt *)(beacon->data))->frame_control); + } + + if(beacon) + sip_tx_data_pkt_enqueue(evif->epub, beacon); + + if(cycle_beacon_count++ == 100){ + init_jiffies = jiffies; + cycle_beacon_count -= 100; + } +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + mod_timer(&evif->beacon_timer, init_jiffies + msecs_to_jiffies(cycle_beacon_count * vif->bss_conf.beacon_int*1024/1000)); +#else + mod_timer(&evif->beacon_timer, init_jiffies +msecs_to_jiffies(cycle_beacon_count * evif->beacon_interval*1024/1000)); +#endif + //FIXME:the packets must be sent at home channel + //send buffer mcast frames + if(tim_reach){ + skb = ieee80211_get_buffered_bc(evif->epub->hw, vif); + while (skb) { + sip_tx_data_pkt_enqueue(evif->epub, skb); + skb = ieee80211_get_buffered_bc(evif->epub->hw, vif); + } + } +} + +static void init_beacon_timer(struct ieee80211_vif *vif) +{ + struct esp_vif *evif = (struct esp_vif *)vif->drv_priv; + + ESP_IEEE80211_DBG(ESP_DBG_OP, " %s enter: beacon interval %x\n", __func__, evif->beacon_interval); + + beacon_tim_init(); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + evif->beacon_timer.expires = init_jiffies + msecs_to_jiffies(cycle_beacon_count * vif->bss_conf.beacon_int*1024/1000); +#else + evif->beacon_timer.expires = init_jiffies + msecs_to_jiffies(cycle_beacon_count * evif->beacon_interval*1024/1000); +#endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + init_timer(&evif->beacon_timer); //TBD, not init here... + cycle_beacon_count = 1; + init_jiffies = jiffies; + evif->beacon_timer.data = (unsigned long) vif; + evif->beacon_timer.function = drv_handle_beacon; +#else + _gvif = vif; + timer_setup(&evif->beacon_timer, drv_handle_beacon, 0); +#endif + add_timer(&evif->beacon_timer); +} +#endif + +/* +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) +static void init_beacon_timer(struct ieee80211_vif *vif) +#else +static void init_beacon_timer(struct ieee80211_conf *conf) +#endif +{ +struct esp_vif *evif = (struct esp_vif *)vif->drv_priv; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) +ESP_IEEE80211_DBG(ESP_DBG_OP, " %s enter: beacon interval %x\n", __func__, vif->bss_conf.beacon_int); +#else +ESP_IEEE80211_DBG(ESP_DBG_OP, " %s enter: beacon interval %x\n", __func__, conf->beacon_int); +#endif +init_timer(&evif->beacon_timer); //TBD, not init here... +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) +evif->beacon_timer.expires=jiffies+msecs_to_jiffies(vif->bss_conf.beacon_int*102/100); +evif->beacon_timer.data = (unsigned long) vif; +#else +evif->beacon_timer.expires=jiffies+msecs_to_jiffies(conf->beacon_int*102/100); +evif->beacon_timer.data = (unsigned long) conf; +#endif +//evif->beacon_timer.data = (unsigned long) vif; +evif->beacon_timer.function = drv_handle_beacon; +add_timer(&evif->beacon_timer); +} +*/ + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) +static int esp_op_config(struct ieee80211_hw *hw, u32 changed) +#else +static int esp_op_config(struct ieee80211_hw *hw, struct ieee80211_conf *conf) +#endif +{ + //struct ieee80211_conf *conf = &hw->conf; + + struct esp_pub *epub = (struct esp_pub *)hw->priv; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)) + //struct esp_vif *evif = (struct esp_vif *)epub->vif->drv_priv; +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter 0x%08x\n", __func__, changed); + + if (changed & (IEEE80211_CONF_CHANGE_CHANNEL | IEEE80211_CONF_CHANGE_IDLE)) { + sip_send_config(epub, &hw->conf); + } +#else + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter 0x%08x\n", __func__, conf->flags); + sip_send_config(epub, &hw->conf); +#endif + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)) + //evif->beacon_interval = conf->beacon_int; + //init_beacon_timer(epub->vif); +#endif + + +#if 0 + if (changed & IEEE80211_CONF_CHANGE_PS) { + struct esp_ps *ps = &epub->ps; + + ps->dtim_period = conf->ps_dtim_period; + ps->max_sleep_period = conf->max_sleep_period; + esp_ps_config(epub, ps, (conf->flags & IEEE80211_CONF_PS)); + } +#endif + return 0; +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) +static int esp_op_config_interface (struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + struct ieee80211_if_conf *conf) +{ + // assoc = 2 means AP + struct esp_pub *epub = (struct esp_pub *)hw->priv; + struct esp_vif *evif = (struct esp_vif *)vif->drv_priv; + ESP_IEEE80211_DBG(ESP_DBG_OP, " %s enter: changed %x, bssid %pM,vif->type = %d\n", __func__, conf->changed, conf->bssid,vif->type); + + if(conf->bssid) + memcpy(epub->wl.bssid, conf->bssid, ETH_ALEN); + else + memset(epub->wl.bssid, 0, ETH_ALEN); + + if(vif->type == NL80211_IFTYPE_AP){ + if((conf->changed & IEEE80211_IFCC_BEACON)){ + sip_send_bss_info_update(epub, evif, (u8*)conf->bssid, 2); + //evif->beacon_interval = conf->beacon_int; + } + else{ + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "%s op----1-- mode unspecified\n", __func__); + } + } + else{ + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "%s op----2-- mode unspecified\n", __func__); + } + return 0; +} +#endif + +static void esp_op_bss_info_changed(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + struct ieee80211_bss_conf *info, + u32 changed) +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; + struct esp_vif *evif = (struct esp_vif *)vif->drv_priv; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + + struct sta_info *sta; + struct esp_node *node; + struct ieee80211_ht_info *ht_info; + + u8 addr_0[ETH_ALEN]; + memset(addr_0,0,ETH_ALEN); + + ESP_IEEE80211_DBG(ESP_DBG_OP,"%s enter, changed %x\n",__func__,changed); + + if((changed & BSS_CHANGED_ASSOC) && (memcmp(epub->wl.bssid,addr_0, ETH_ALEN))) + { + + rcu_read_lock(); + node = esp_get_node_by_addr(epub, epub->wl.bssid ); + sta = sta_info_get(container_of(hw,struct ieee80211_local,hw), epub->wl.bssid); + + ht_info = &sta->ht_info; + memcpy(node->supp_rates, sta->supp_rates, sizeof(node->supp_rates)); + memcpy(&node->ht_info.cap, &ht_info->cap, sizeof(node->ht_info.cap)); + memcpy(&node->ht_info.ht_supported, &ht_info->ht_supported, sizeof(node->ht_info.ht_supported)); + memcpy(&node->ht_info.ampdu_density, &ht_info->ampdu_density, sizeof(node->ht_info.ampdu_density)); + memcpy(&node->ht_info.ampdu_factor, &ht_info->ampdu_factor, sizeof(node->ht_info.ampdu_factor)); + if(sta->aid == 0) + memcpy(&node->aid, &info->aid, sizeof(node->aid)); + else + memcpy(&node->aid, &sta->aid, sizeof(node->aid)); + rcu_read_unlock(); + + sip_send_set_sta(epub, evif->index, 1, node, vif, (u8)node->index); + } +#else + + // ieee80211_bss_conf(include/net/mac80211.h) is included in ieee80211_sub_if_data(net/mac80211/ieee80211_i.h) , does bssid=ieee80211_if_ap's ssid ? + // in 2.6.27, ieee80211_sub_if_data has ieee80211_bss_conf while in 2.6.32 ieee80211_sub_if_data don't have ieee80211_bss_conf + // in 2.6.27, ieee80211_bss_conf->enable_beacon don't exist, does it mean it support beacon always? + // ESP_IEEE80211_DBG(ESP_DBG_OP, " %s enter: vif addr %pM, changed %x, assoc %x, bssid %pM\n", __func__, vif->addr, changed, info->assoc, info->bssid); + // sdata->u.sta.bssid + + ESP_IEEE80211_DBG(ESP_DBG_OP, " %s enter: changed %x, assoc %x, bssid %pM\n", __func__, changed, info->assoc, info->bssid); + + if (vif->type == NL80211_IFTYPE_STATION) { + if ((changed & BSS_CHANGED_BSSID) || + ((changed & BSS_CHANGED_ASSOC) && (info->assoc))) + { + ESP_IEEE80211_DBG(ESP_DBG_TRACE, " %s STA change bssid or assoc\n", __func__); + evif->beacon_interval = info->aid; + memcpy(epub->wl.bssid, (u8*)info->bssid, ETH_ALEN); + sip_send_bss_info_update(epub, evif, (u8*)info->bssid, info->assoc); + } else if ((changed & BSS_CHANGED_ASSOC) && (!info->assoc)) { + ESP_IEEE80211_DBG(ESP_DBG_TRACE, " %s STA change disassoc\n", __func__); + evif->beacon_interval = 0; + memset(epub->wl.bssid, 0, ETH_ALEN); + sip_send_bss_info_update(epub, evif, (u8*)info->bssid, info->assoc); + } else { + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s wrong mode of STA mode\n", __func__); + } + } else if (vif->type == NL80211_IFTYPE_AP) { + if ((changed & BSS_CHANGED_BEACON_ENABLED) || + (changed & BSS_CHANGED_BEACON_INT)) { + ESP_IEEE80211_DBG(ESP_DBG_TRACE, " %s AP change enable %d, interval is %d, bssid %pM\n", __func__, info->enable_beacon, info->beacon_int, info->bssid); + if (info->enable_beacon && evif->ap_up != true) { + evif->beacon_interval = info->beacon_int; + init_beacon_timer(vif); + sip_send_bss_info_update(epub, evif, (u8*)info->bssid, 2); + evif->ap_up = true; + } else if (!info->enable_beacon && evif->ap_up && +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) + !(hw->conf.flags & IEEE80211_CONF_OFFCHANNEL) +#else + true +#endif + ) { + ESP_IEEE80211_DBG(ESP_DBG_TRACE, " %s AP disable beacon, interval is %d\n", __func__, info->beacon_int); + evif->beacon_interval = 0; + del_timer_sync(&evif->beacon_timer); + sip_send_bss_info_update(epub, evif, (u8*)info->bssid, 2); + evif->ap_up = false; + } + } + } else { + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "%s op mode unspecified\n", __func__); + } +#endif +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)) +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 35)) +static u64 esp_op_prepare_multicast(struct ieee80211_hw *hw, + int mc_count, struct dev_addr_list *mc_list) +{ + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + + return 0; +} +#else +static u64 esp_op_prepare_multicast(struct ieee80211_hw *hw, + struct netdev_hw_addr_list *mc_list) +{ + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + + return 0; +} + +#endif /* NEW_KERNEL && KERNEL_35 */ +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)) +static void esp_op_configure_filter(struct ieee80211_hw *hw, + unsigned int changed_flags, + unsigned int *total_flags, + u64 multicast) +#else +static void esp_op_configure_filter(struct ieee80211_hw *hw, + unsigned int changed_flags, + unsigned int *total_flags, + int mc_count, + struct dev_addr_list *mc_list) +#endif +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; + + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + + epub->rx_filter = 0; + + if (*total_flags & FIF_ALLMULTI) + epub->rx_filter |= FIF_ALLMULTI; + + *total_flags = epub->rx_filter; +} + +#if 0 +static int esp_op_set_tim(struct ieee80211_hw *hw, struct ieee80211_sta *sta, + bool set) +{ + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + + return 0; +} +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)) +static int esp_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, + struct ieee80211_vif *vif, struct ieee80211_sta *sta, + struct ieee80211_key_conf *key) +#else +static int esp_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, + const u8 *local_address,const u8 *address, + struct ieee80211_key_conf *key) +#endif +{ + u8 i; + int ret; + struct esp_pub *epub = (struct esp_pub *)hw->priv; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)) + struct esp_vif *evif = (struct esp_vif *)vif->drv_priv; + u8 ifidx = evif->index; +#else + u8 ifidx = getaddr_index((u8 *)(local_address), epub); +#endif + u8 *peer_addr,isvalid; + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter, flags = %x keyindx = %x cmd = %x mac = %pM cipher = %x\n", __func__, key->flags, key->keyidx, cmd, vif->addr, key->cipher); +#else + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter, flags = %x keyindx = %x cmd = %x cipher = %x\n", __func__, key->flags, key->keyidx, cmd, key->alg); +#endif + + key->flags= key->flags|IEEE80211_KEY_FLAG_GENERATE_IV; + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)) + if (sta) { + if (memcmp(sta->addr, epub->wl.bssid, ETH_ALEN)) + peer_addr = sta->addr; + else + peer_addr = epub->wl.bssid; + } else { + peer_addr=epub->wl.bssid; + } +#else + peer_addr = (u8 *)address; +#endif + isvalid = (cmd==SET_KEY) ? 1 : 0; + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) + if ((key->flags&IEEE80211_KEY_FLAG_PAIRWISE) || (key->cipher == WLAN_CIPHER_SUITE_WEP40 || key->cipher == WLAN_CIPHER_SUITE_WEP104)) +#else + if ((key->flags&IEEE80211_KEY_FLAG_PAIRWISE) || (key->alg == ALG_WEP)) +#endif + { + if (isvalid) { + for (i = 0; i < 19; i++) { + if (epub->hi_map[i].flag == 0) { + epub->hi_map[i].flag = 1; + key->hw_key_idx = i + 6; + memcpy(epub->hi_map[i].mac, peer_addr, ETH_ALEN); + break; + } + } + } else { + u8 index = key->hw_key_idx - 6; + epub->hi_map[index].flag = 0; + memset(epub->hi_map[index].mac, 0, ETH_ALEN); + } + } else { + if(isvalid){ + for(i = 0; i < 2; i++) + if (epub->low_map[ifidx][i].flag == 0) { + epub->low_map[ifidx][i].flag = 1; + key->hw_key_idx = i + ifidx * 2 + 2; + memcpy(epub->low_map[ifidx][i].mac, peer_addr, ETH_ALEN); + break; + } + } else { + u8 index = key->hw_key_idx - 2 - ifidx * 2; + epub->low_map[ifidx][index].flag = 0; + memset(epub->low_map[ifidx][index].mac, 0, ETH_ALEN); + } + //key->hw_key_idx = key->keyidx + ifidx * 2 + 1; + } + + if (key->hw_key_idx >= 6) { + /*send sub_scan task to target*/ + //epub->wl.ptk = (cmd==SET_KEY) ? key : NULL; + if(isvalid) + atomic_inc(&epub->wl.ptk_cnt); + else + atomic_dec(&epub->wl.ptk_cnt); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) + if (key->cipher == WLAN_CIPHER_SUITE_WEP40 || key->cipher == WLAN_CIPHER_SUITE_WEP104) +#else + if (key->alg == ALG_WEP) +#endif + { + if(isvalid) + atomic_inc(&epub->wl.gtk_cnt); + else + atomic_dec(&epub->wl.gtk_cnt); + } + } else { + /*send sub_scan task to target*/ + if(isvalid) + atomic_inc(&epub->wl.gtk_cnt); + else + atomic_dec(&epub->wl.gtk_cnt); + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) + if((key->cipher == WLAN_CIPHER_SUITE_WEP40 || key->cipher == WLAN_CIPHER_SUITE_WEP104)) +#else + if((key->alg == ALG_WEP)) +#endif + { + if(isvalid) + atomic_inc(&epub->wl.ptk_cnt); + else + atomic_dec(&epub->wl.ptk_cnt); + //epub->wl.ptk = (cmd==SET_KEY) ? key : NULL; + } + } + + ret = sip_send_setkey(epub, ifidx, peer_addr, key, isvalid); + +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 35)) + if((key->cipher == WLAN_CIPHER_SUITE_TKIP || key->cipher == WLAN_CIPHER_SUITE_TKIP)) +#else + if((key->alg == ALG_TKIP)) +#endif + { + if(ret == 0) + atomic_set(&epub->wl.tkip_key_set, 1); + } + + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s exit\n", __func__); + return ret; +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)) +static void esp_op_update_tkip_key(struct ieee80211_hw *hw, + struct ieee80211_key_conf *conf, const u8 *address, + u32 iv32, u16 *phase1key) +{ + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + +} +#else +static void esp_op_update_tkip_key(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + struct ieee80211_key_conf *conf, + struct ieee80211_sta *sta, + u32 iv32, u16 *phase1key) +{ + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + +} +#endif /* KERNEL_35 NEW_KERNEL*/ + + +void hw_scan_done(struct esp_pub *epub, bool aborted) +{ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) + struct cfg80211_scan_info info = { + .scan_start_tsf = 0, + .aborted = aborted, + }; +#endif + cancel_delayed_work_sync(&epub->scan_timeout_work); + + ESSERT(epub->wl.scan_req != NULL); + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) + ieee80211_scan_completed(epub->hw, &info); +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)) + ieee80211_scan_completed(epub->hw, aborted); +#else + ieee80211_scan_completed(epub->hw); +#endif + if (test_and_clear_bit(ESP_WL_FLAG_STOP_TXQ, &epub->wl.flags)) { + sip_trigger_txq_process(epub->sip); + } +} + +static void hw_scan_timeout_report(struct work_struct *work) +{ + struct esp_pub *epub = + container_of(work, struct esp_pub, scan_timeout_work.work); + bool aborted; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) + struct cfg80211_scan_info info = { + .scan_start_tsf = 0, + }; +#endif + + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "eagle hw scan done\n"); + + if (test_and_clear_bit(ESP_WL_FLAG_STOP_TXQ, &epub->wl.flags)) { + sip_trigger_txq_process(epub->sip); + } + /*check if normally complete or aborted like timeout/hw error */ + aborted = (epub->wl.scan_req) ? true : false; + + if (aborted==true) { + epub->wl.scan_req = NULL; + } + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) + info.aborted = aborted; + ieee80211_scan_completed(epub->hw, &info); +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)) + ieee80211_scan_completed(epub->hw, aborted); +#else + ieee80211_scan_completed(epub->hw); +#endif +} + +#if 0 +static void esp_op_sw_scan_start(struct ieee80211_hw *hw) +{} + +static void esp_op_sw_scan_complete(struct ieee80211_hw *hw) +{ + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); +} +#endif + +#if 0 +static int esp_op_get_stats(struct ieee80211_hw *hw, + struct ieee80211_low_level_stats *stats) +{ + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + + return 0; +} + +static void esp_op_get_tkip_seq(struct ieee80211_hw *hw, u8 hw_key_idx, + u32 *iv32, u16 *iv16) +{ + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); +} +#endif + +static int esp_op_set_rts_threshold(struct ieee80211_hw *hw, u32 value) +{ + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + + return 0; +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) +static int esp_node_attach(struct ieee80211_hw *hw, u8 ifidx, struct ieee80211_sta *sta) +#else +static int esp_node_attach(struct ieee80211_hw *hw, u8 ifidx, const u8 *addr) +#endif +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; + struct esp_node *node; + u8 tidno; + struct esp_tx_tid *tid; + int i; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + struct sta_info *info = sta_info_get(container_of(hw,struct ieee80211_local,hw),(u8 *)addr); + struct ieee80211_ht_info *ht_info = &info->ht_info; +#endif + + spin_lock_bh(&epub->tx_ampdu_lock); + + if(hweight32(epub->enodes_maps[ifidx]) < ESP_PUB_MAX_STA && (i = ffz(epub->enodes_map)) < ESP_PUB_MAX_STA + 1){ + epub->enodes_map |= (1 << i); + epub->enodes_maps[ifidx] |= (1 << i); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + node = (struct esp_node *)sta->drv_priv; + epub->enodes[i] = node; + node->sta = sta; +#else + node = &epub->nodes[i]; + epub->enodes[i] = node; + memcpy(node->addr, addr, ETH_ALEN); + memcpy(&node->aid, &info->aid, sizeof(node->aid)); + memcpy(node->supp_rates, info->supp_rates, sizeof(node->supp_rates)); + memcpy(&node->ht_info.cap, &ht_info->cap, sizeof(node->ht_info.cap)); + memcpy(&node->ht_info.ht_supported, &ht_info->ht_supported, sizeof(node->ht_info.ht_supported)); + memcpy(&node->ht_info.ampdu_factor, &ht_info->ampdu_factor, sizeof(node->ht_info.ampdu_factor)); + memcpy(&node->ht_info.ampdu_density, &ht_info->ampdu_density, sizeof(node->ht_info.ampdu_density)); +#endif + node->ifidx = ifidx; + node->index = i; + + for(tidno = 0, tid = &node->tid[tidno]; tidno < WME_NUM_TID; tidno++) { + tid->ssn = 0; + tid->cnt = 0; + tid->state = ESP_TID_STATE_INIT; + } + + + } else { + i = -1; + } + + spin_unlock_bh(&epub->tx_ampdu_lock); + return i; +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) +static int esp_node_detach(struct ieee80211_hw *hw, u8 ifidx, struct ieee80211_sta *sta) +#else +static int esp_node_detach(struct ieee80211_hw *hw, u8 ifidx, const u8 *addr) +#endif +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; + u32 map; + int i; + struct esp_node *node = NULL; + + spin_lock_bh(&epub->tx_ampdu_lock); + map = epub->enodes_maps[ifidx]; + while(map != 0){ + i = ffs(map) - 1; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + if(epub->enodes[i]->sta == sta){ + epub->enodes[i]->sta = NULL; +#else + if(memcmp(epub->enodes[i]->addr, addr, ETH_ALEN) == 0){ +#endif + node = epub->enodes[i]; + epub->enodes[i] = NULL; + epub->enodes_map &= ~(1 << i); + epub->enodes_maps[ifidx] &= ~(1 << i); + + spin_unlock_bh(&epub->tx_ampdu_lock); + return i; + } + map &= ~(1 << i); + } + + spin_unlock_bh(&epub->tx_ampdu_lock); + return -1; +} + +struct esp_node * esp_get_node_by_addr(struct esp_pub * epub, const u8 *addr) +{ + int i; + u32 map; + struct esp_node *node = NULL; + if(addr == NULL) + return NULL; + spin_lock_bh(&epub->tx_ampdu_lock); + map = epub->enodes_map; + while(map != 0){ + i = ffs(map) - 1; + if(i < 0){ + spin_unlock_bh(&epub->tx_ampdu_lock); + return NULL; + } + map &= ~(1 << i); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + if(memcmp(epub->enodes[i]->sta->addr, addr, ETH_ALEN) == 0) +#else + if(memcmp(epub->enodes[i]->addr, addr, ETH_ALEN) == 0) +#endif + { + node = epub->enodes[i]; + break; + } + } + + spin_unlock_bh(&epub->tx_ampdu_lock); + return node; +} + +struct esp_node * esp_get_node_by_index(struct esp_pub * epub, u8 index) +{ + u32 map; + struct esp_node *node = NULL; + + if (epub == NULL) + return NULL; + + spin_lock_bh(&epub->tx_ampdu_lock); + map = epub->enodes_map; + if (map & BIT(index)) { + node = epub->enodes[index]; + } else { + spin_unlock_bh(&epub->tx_ampdu_lock); + return NULL; + } + + spin_unlock_bh(&epub->tx_ampdu_lock); + return node; +} + +int esp_get_empty_rxampdu(struct esp_pub * epub, const u8 *addr, u8 tid) +{ + int index = -1; + if(addr == NULL) + return index; + spin_lock_bh(&epub->rx_ampdu_lock); + if((index = ffz(epub->rxampdu_map)) < ESP_PUB_MAX_RXAMPDU){ + epub->rxampdu_map |= BIT(index); + epub->rxampdu_node[index] = esp_get_node_by_addr(epub, addr); + epub->rxampdu_tid[index] = tid; + } else { + index = -1; + } + spin_unlock_bh(&epub->rx_ampdu_lock); + return index; +} + +int esp_get_exist_rxampdu(struct esp_pub * epub, const u8 *addr, u8 tid) +{ + u8 map; + int index = -1; + int i; + if(addr == NULL) + return index; + spin_lock_bh(&epub->rx_ampdu_lock); + map = epub->rxampdu_map; + while(map != 0){ + i = ffs(map) - 1; + if(i < 0){ + spin_unlock_bh(&epub->rx_ampdu_lock); + return index; + } + map &= ~ BIT(i); + if(epub->rxampdu_tid[i] == tid && +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + memcmp(epub->rxampdu_node[i]->sta->addr, addr, ETH_ALEN) == 0 +#else + memcmp(epub->rxampdu_node[i]->addr, addr, ETH_ALEN) == 0 +#endif + ){ + index = i; + break; + } + } + + epub->rxampdu_map &= ~ BIT(index); + spin_unlock_bh(&epub->rx_ampdu_lock); + return index; + +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) +static int esp_op_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) +#else +static int esp_op_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *addr) +#endif +{ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + struct esp_pub *epub = (struct esp_pub *)hw->priv; +#endif + struct esp_vif *evif = (struct esp_vif *)vif->drv_priv; + int index; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter, addr %pM\n", __func__, addr); + index = esp_node_attach(hw, evif->index, addr); + +#else +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)) + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter, sta addr %pM\n", __func__, sta->addr); +#else + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter, vif addr %pM, sta addr %pM\n", __func__, vif->addr, sta->addr); +#endif + index = esp_node_attach(hw, evif->index, sta); +#endif + + if(index < 0) + return -1; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + sip_send_set_sta(epub, evif->index, 1, sta, vif, (u8)index); +#else + //node = esp_get_node_by_addr(epub, addr); + //sip_send_set_sta(epub, evif->index, 1, node, vif, (u8)index); +#endif + return 0; +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) +static int esp_op_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) +#else +static int esp_op_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, const u8 *addr) +#endif +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; + struct esp_vif *evif = (struct esp_vif *)vif->drv_priv; + int index; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + struct esp_node *node; + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter, addr %pM\n", __func__, addr); +#elif (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)) + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter, sta addr %pM\n", __func__, sta->addr); +#else + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter, vif addr %pM, sta addr %pM\n", __func__, vif->addr, sta->addr); +#endif + + //remove a connect in target +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + index = esp_node_detach(hw, evif->index, sta); + sip_send_set_sta(epub, evif->index, 0, sta, vif, (u8)index); +#else + node = esp_get_node_by_addr(epub, addr); + index = esp_node_detach(hw, evif->index, addr); + sip_send_set_sta(epub, evif->index, 0, node, vif, node->index); +#endif + + return 0; +} + + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) +static void esp_op_sta_notify(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum sta_notify_cmd cmd, struct ieee80211_sta *sta) +#else +static void esp_op_sta_notify(struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum sta_notify_cmd cmd, const u8 *addr) +#endif +{ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + struct esp_pub *epub = (struct esp_pub *)hw->priv; +#endif + + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + + switch (cmd) { +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)) + case STA_NOTIFY_ADD: + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "%s cmd add\n", __func__); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + esp_op_sta_add(hw, vif, sta); +#else + memcpy(epub->wl.bssid, addr, ETH_ALEN); + esp_op_sta_add(hw, vif, addr); +#endif + break; + + case STA_NOTIFY_REMOVE: +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + esp_op_sta_remove(hw, vif, sta); +#else + esp_op_sta_remove(hw, vif, addr); + memset(epub->wl.bssid, 0, ETH_ALEN); +#endif + break; +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) + case STA_NOTIFY_SLEEP: + break; + + case STA_NOTIFY_AWAKE: + break; +#endif /* NEW_KERNEL */ + + default: + break; + } +} + + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)) +static int esp_op_conf_tx(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + u16 queue, + const struct ieee80211_tx_queue_params *params) + +#else +static int esp_op_conf_tx(struct ieee80211_hw *hw, u16 queue, + const struct ieee80211_tx_queue_params *params) +#endif +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + return sip_send_wmm_params(epub, queue, params); +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 35)) +static int esp_op_get_tx_stats(struct ieee80211_hw *hw, + struct ieee80211_tx_queue_stats *stats) +{ + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + + return 0; +} +#endif /* !NEW_KERNEL && !KERNEL_35*/ + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)) +static u64 esp_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) +#else +static u64 esp_op_get_tsf(struct ieee80211_hw *hw) +#endif +{ + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + + return 0; +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)) +static void esp_op_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) +#else +static void esp_op_set_tsf(struct ieee80211_hw *hw, u64 tsf) +#endif +{ + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); +} +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)) +static void esp_op_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) +#else +static void esp_op_reset_tsf(struct ieee80211_hw *hw) +#endif +{ + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)) +static void esp_op_rfkill_poll(struct ieee80211_hw *hw) +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; + + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + + wiphy_rfkill_set_hw_state(hw->wiphy, + test_bit(ESP_WL_FLAG_RFKILL, &epub->wl.flags) ? true : false); +} +#endif + +#ifdef HW_SCAN +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 35)) +static int esp_op_hw_scan(struct ieee80211_hw *hw, + struct cfg80211_scan_request *req) +#else +static int esp_op_hw_scan(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + struct cfg80211_scan_request *req) +#endif /* NEW_KERNEL && KERNEL_35 */ +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; + int i, ret; + bool scan_often = true; + + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s\n", __func__); + + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "scan, %d\n", req->n_ssids); + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "scan, len 1:%d,ssid 1:%s\n", req->ssids->ssid_len, req->ssids->ssid_len == 0? "":(char *)req->ssids->ssid); + if(req->n_ssids > 1) + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "scan, len 2:%d,ssid 2:%s\n", (req->ssids+1)->ssid_len, (req->ssids+1)->ssid_len == 0? "":(char *)(req->ssids + 1)->ssid); + + /*scan_request is keep allocate untill scan_done,record it + to split request into multi sdio_cmd*/ + if (atomic_read(&epub->wl.off)) { + esp_dbg(ESP_DBG_ERROR, "%s scan but wl off \n", __func__); + return -EPERM; + } + + if(req->n_ssids > 1){ + struct cfg80211_ssid *ssid2 = req->ssids + 1; + if((req->ssids->ssid_len > 0 && ssid2->ssid_len > 0) || req->n_ssids > 2){ + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "scan ssid num: %d, ssid1:%s, ssid2:%s,not support\n", req->n_ssids, + req->ssids->ssid_len == 0 ? "":(char *)req->ssids->ssid, ssid2->ssid_len == 0? "":(char *)ssid2->ssid); + return -EINVAL; + } + } + + epub->wl.scan_req = req; + + for (i = 0; i < req->n_channels; i++) + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "eagle hw_scan freq %d\n", + req->channels[i]->center_freq); +#if 0 + for (i = 0; i < req->n_ssids; i++) { + if (req->ssids->ssid_len> 0) { + req->ssids->ssid[req->ssids->ssid_len]='\0'; + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "scan_ssid %d:%s\n", + i, req->ssids->ssid); + } + } +#endif + + /*in connect state, suspend tx data*/ + if(epub->sip->support_bgscan && + test_bit(ESP_WL_FLAG_CONNECT, &epub->wl.flags) && + req->n_channels > 0) + { + + scan_often = epub->scan_permit_valid && time_before(jiffies, epub->scan_permit); + epub->scan_permit_valid = true; + + if (!scan_often) { + /* epub->scan_permit = jiffies + msecs_to_jiffies(900); + set_bit(ESP_WL_FLAG_STOP_TXQ, &epub->wl.flags); + if (atomic_read(&epub->txq_stopped) == false) { + atomic_set(&epub->txq_stopped, true); + ieee80211_stop_queues(hw); + } + */ + } else { + ESP_IEEE80211_DBG(ESP_DBG_LOG, "scan too often\n"); + return -EACCES; + } + } else { + scan_often = false; + } + + /*send sub_scan task to target*/ + ret = sip_send_scan(epub); + + if (ret) { + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "fail to send scan_cmd\n"); + return ret; + } else { + if(!scan_often) { + epub->scan_permit = jiffies + msecs_to_jiffies(900); + set_bit(ESP_WL_FLAG_STOP_TXQ, &epub->wl.flags); + if (atomic_read(&epub->txq_stopped) == false) { + atomic_set(&epub->txq_stopped, true); + ieee80211_stop_queues(hw); + } + /*force scan complete in case target fail to report in time*/ + ieee80211_queue_delayed_work(hw, &epub->scan_timeout_work, req->n_channels * HZ / 4); + } + } + + return 0; +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)) +static int esp_op_remain_on_channel(struct ieee80211_hw *hw, + struct ieee80211_channel *chan, + enum nl80211_channel_type channel_type, + int duration) +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; + + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter, center_freq = %d duration = %d\n", __func__, chan->center_freq, duration); + sip_send_roc(epub, chan->center_freq, duration); + return 0; +} + +static int esp_op_cancel_remain_on_channel(struct ieee80211_hw *hw) +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; + + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter \n", __func__); + epub->roc_flags= 0; // to disable roc state + sip_send_roc(epub, 0, 0); + return 0; +} +#endif /* > 2.6.38 */ +#endif + +void esp_rocdone_process(struct ieee80211_hw *hw, struct sip_evt_roc *report) +{ + struct esp_pub *epub = (struct esp_pub *)hw->priv; + + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter, state = %d is_ok = %d\n", __func__, report->state, report->is_ok); + + //roc process begin + if((report->state==1)&&(report->is_ok==1)) + { + epub->roc_flags=1; //flags in roc state, to fix channel, not change +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)) + ieee80211_ready_on_channel(hw); +#endif + } + else if ((report->state==0)&&(report->is_ok==1)) //roc process timeout + { + epub->roc_flags= 0; // to disable roc state +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)) + ieee80211_remain_on_channel_expired(hw); +#endif + } +} + +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)) +static int esp_op_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif, + const struct cfg80211_bitrate_mask *mask) +{ + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter \n", __func__); + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s vif->macaddr[%pM], mask[%d]\n", __func__, vif->addr, mask->control[0].legacy); + + return 0; +} +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0)) +void esp_op_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u32 queues, bool drop) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)) +void esp_op_flush(struct ieee80211_hw *hw, u32 queues, bool drop) +#else +void esp_op_flush(struct ieee80211_hw *hw, bool drop) +#endif +{ + + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter \n", __func__); + do{ + + struct esp_pub *epub = (struct esp_pub *)hw->priv; + unsigned long time = jiffies + msecs_to_jiffies(15); + while(atomic_read(&epub->sip->tx_data_pkt_queued)){ + if(!time_before(jiffies, time)){ + break; + } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32) + if(sif_get_ate_config() == 0){ + ieee80211_queue_work(epub->hw, &epub->tx_work); + } else { + queue_work(epub->esp_wkq, &epub->tx_work); + } +#else + queue_work(epub->esp_wkq, &epub->tx_work); +#endif + //sip_txq_process(epub); + } + mdelay(10); + + }while(0); +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) +static int esp_op_ampdu_action(struct ieee80211_hw *hw, + enum ieee80211_ampdu_mlme_action action, + struct ieee80211_sta *sta, u16 tid, u16 *ssn) +#else +static int esp_op_ampdu_action(struct ieee80211_hw *hw, + enum ieee80211_ampdu_mlme_action action, + const u8 *addr, u16 tid, u16 *ssn) +#endif +#else +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)) +static int esp_op_ampdu_action(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + enum ieee80211_ampdu_mlme_action action, + struct ieee80211_sta *sta, u16 tid, u16 *ssn) +#else +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0)) +static int esp_op_ampdu_action(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + enum ieee80211_ampdu_mlme_action action, + struct ieee80211_sta *sta, u16 tid, u16 *ssn, + u8 buf_size) +#else +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 4, 0)) +static int esp_op_ampdu_action(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + enum ieee80211_ampdu_mlme_action action, + struct ieee80211_sta *sta, u16 tid, u16 *ssn, + u8 buf_size, bool amsdu) +#else +static int esp_op_ampdu_action(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + struct ieee80211_ampdu_params *params) +#endif +#endif +#endif +#endif /* NEW_KERNEL && KERNEL_35 */ +{ + int ret = -EOPNOTSUPP; + struct esp_pub *epub = (struct esp_pub *)hw->priv; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0)) + enum ieee80211_ampdu_mlme_action action = params->action; + struct ieee80211_sta *sta = params->sta; + u16 tid = params->tid; + u16 *ssn = ¶ms->ssn; + u8 buf_size = params->buf_size; +#endif +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + struct esp_node * node = (struct esp_node *)sta->drv_priv; +#else + struct esp_node * node = esp_get_node_by_addr(epub, addr); +#endif + struct esp_tx_tid * tid_info = &node->tid[tid]; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)) + u8 buf_size = 64; +#endif + + ESP_IEEE80211_DBG(ESP_DBG_OP, "%s enter \n", __func__); + switch(action) { + case IEEE80211_AMPDU_TX_START: + if (mod_support_no_txampdu() || +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)) + cfg80211_get_chandef_type(&epub->hw->conf.chandef) == NL80211_CHAN_NO_HT +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) + hw->conf.channel_type == NL80211_CHAN_NO_HT +#else + !(hw->conf.flags&IEEE80211_CONF_SUPPORT_HT_MODE) +#endif + || +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + !sta->ht_cap.ht_supported +#else + !node->ht_info.ht_supported +#endif + ) + return ret; + + //if (vif->p2p || vif->type != NL80211_IFTYPE_STATION) + // return ret; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s TX START, addr:%pM,tid:%u\n", __func__, addr, tid); +#else + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s TX START, addr:%pM,tid:%u,state:%d\n", __func__, sta->addr, tid, tid_info->state); +#endif + spin_lock_bh(&epub->tx_ampdu_lock); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + ESSERT(tid_info->state == ESP_TID_STATE_TRIGGER); + *ssn = tid_info->ssn; + tid_info->state = ESP_TID_STATE_PROGRESS; +#endif + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + ieee80211_start_tx_ba_cb_irqsafe(hw, addr, tid); +#elif (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)) + ieee80211_start_tx_ba_cb_irqsafe(hw, sta->addr, tid); +#else + ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); +#endif + spin_unlock_bh(&epub->tx_ampdu_lock); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) + ret = 0; +#else + spin_lock_bh(&epub->tx_ampdu_lock); + + if (tid_info->state != ESP_TID_STATE_PROGRESS) { + if (tid_info->state == ESP_TID_STATE_INIT) { + printk(KERN_ERR "%s WIFI RESET, IGNORE\n", __func__); + spin_unlock_bh(&epub->tx_ampdu_lock); + return -ENETRESET; + } else { + ESSERT(0); + } + } + + tid_info->state = ESP_TID_STATE_OPERATIONAL; + spin_unlock_bh(&epub->tx_ampdu_lock); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + ret = sip_send_ampdu_action(epub, SIP_AMPDU_TX_OPERATIONAL, sta->addr, tid, node->ifidx, buf_size); +#else + ret = sip_send_ampdu_action(epub, SIP_AMPDU_TX_OPERATIONAL, addr, tid, node->ifidx, buf_size); +#endif +#endif + break; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)) + case IEEE80211_AMPDU_TX_STOP_CONT: +#else + case IEEE80211_AMPDU_TX_STOP: +#endif +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s TX STOP, addr:%pM,tid:%u\n", __func__, addr, tid); +#else + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s TX STOP, addr:%pM,tid:%u,state:%d\n", __func__, sta->addr, tid, tid_info->state); +#endif + spin_lock_bh(&epub->tx_ampdu_lock); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + if(tid_info->state == ESP_TID_STATE_WAIT_STOP) + tid_info->state = ESP_TID_STATE_STOP; + else + tid_info->state = ESP_TID_STATE_INIT; +#endif +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + ieee80211_stop_tx_ba_cb_irqsafe(hw, addr, tid); +#elif (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)) + ieee80211_stop_tx_ba_cb_irqsafe(hw, sta->addr, tid); +#else + ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); +#endif + spin_unlock_bh(&epub->tx_ampdu_lock); +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + ret = sip_send_ampdu_action(epub, SIP_AMPDU_TX_STOP, addr, tid, node->ifidx, 0); +#else + ret = sip_send_ampdu_action(epub, SIP_AMPDU_TX_STOP, sta->addr, tid, node->ifidx, 0); +#endif + break; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)) + case IEEE80211_AMPDU_TX_STOP_FLUSH: + case IEEE80211_AMPDU_TX_STOP_FLUSH_CONT: +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + if(tid_info->state == ESP_TID_STATE_WAIT_STOP) + tid_info->state = ESP_TID_STATE_STOP; + else + tid_info->state = ESP_TID_STATE_INIT; +#endif + ret = sip_send_ampdu_action(epub, SIP_AMPDU_TX_STOP, sta->addr, tid, node->ifidx, 0); + break; +#endif +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)) + case IEEE80211_AMPDU_TX_OPERATIONAL: +#else + case IEEE80211_AMPDU_TX_RESUME: +#endif + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s TX OPERATION, addr:%pM,tid:%u,state:%d\n", __func__, sta->addr, tid, tid_info->state); + spin_lock_bh(&epub->tx_ampdu_lock); + + if (tid_info->state != ESP_TID_STATE_PROGRESS) { + if (tid_info->state == ESP_TID_STATE_INIT) { + printk(KERN_ERR "%s WIFI RESET, IGNORE\n", __func__); + spin_unlock_bh(&epub->tx_ampdu_lock); + return -ENETRESET; + } else { + ESSERT(0); + } + } + + tid_info->state = ESP_TID_STATE_OPERATIONAL; + spin_unlock_bh(&epub->tx_ampdu_lock); + ret = sip_send_ampdu_action(epub, SIP_AMPDU_TX_OPERATIONAL, sta->addr, tid, node->ifidx, buf_size); + break; +#endif + case IEEE80211_AMPDU_RX_START: + if(mod_support_no_rxampdu() || +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)) + cfg80211_get_chandef_type(&epub->hw->conf.chandef) == NL80211_CHAN_NO_HT +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) + hw->conf.channel_type == NL80211_CHAN_NO_HT +#else + !(hw->conf.flags&IEEE80211_CONF_SUPPORT_HT_MODE) +#endif + || +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + !sta->ht_cap.ht_supported +#else + !node->ht_info.ht_supported +#endif + ) + return ret; + + if ( +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) + (vif->p2p && false) +#else + false +#endif +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)) + || false +#else + || (vif->type != NL80211_IFTYPE_STATION && false) +#endif + ) + return ret; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s RX START %pM tid %u %u\n", __func__, addr, tid, *ssn); + ret = sip_send_ampdu_action(epub, SIP_AMPDU_RX_START, addr, tid, *ssn, 64); +#else + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s RX START %pM tid %u %u\n", __func__, sta->addr, tid, *ssn); + ret = sip_send_ampdu_action(epub, SIP_AMPDU_RX_START, sta->addr, tid, *ssn, 64); +#endif + break; + case IEEE80211_AMPDU_RX_STOP: +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s RX STOP %pM tid %u\n", __func__, addr, tid); + ret = sip_send_ampdu_action(epub, SIP_AMPDU_RX_STOP, addr, tid, 0, 0); +#else + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s RX STOP %pM tid %u\n", __func__, sta->addr, tid); + ret = sip_send_ampdu_action(epub, SIP_AMPDU_RX_STOP, sta->addr, tid, 0, 0); +#endif + break; + default: + break; + } + return ret; +} + +#if 0 +static int esp_op_tx_last_beacon(struct ieee80211_hw *hw) +{ + + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + + return 0; +} + +#ifdef CONFIG_NL80211_TESTMODE +static int esp_op_testmode_cmd(struct ieee80211_hw *hw, void *data, int len) +{ + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter \n", __func__); + + return 0; +} +#endif /* CONFIG_NL80211_TESTMODE */ +#endif + + static void +esp_tx_work(struct work_struct *work) +{ + struct esp_pub *epub = container_of(work, struct esp_pub, tx_work); + + mutex_lock(&epub->tx_mtx); + sip_txq_process(epub); + mutex_unlock(&epub->tx_mtx); +} + +#ifndef RX_SENDUP_SYNC +//for debug +static int data_pkt_dequeue_cnt = 0; +static void _esp_flush_rxq(struct esp_pub *epub) +{ + struct sk_buff *skb = NULL; + + while ((skb = skb_dequeue(&epub->rxq))) { + //do not log when in spin_lock + //esp_dbg(ESP_DBG_TRACE, "%s call ieee80211_rx \n", __func__); + ieee80211_rx(epub->hw, skb); + } +} + + static void +esp_sendup_work(struct work_struct *work) +{ + struct esp_pub *epub = container_of(work, struct esp_pub, sendup_work); + spin_lock_bh(&epub->rx_lock); + _esp_flush_rxq(epub); + spin_unlock_bh(&epub->rx_lock); +} +#endif /* !RX_SENDUP_SYNC */ + +static const struct ieee80211_ops esp_mac80211_ops = { + .tx = esp_op_tx, + .start = esp_op_start, + .stop = esp_op_stop, +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)) +#ifdef CONFIG_PM + .suspend = esp_op_suspend, + .resume = esp_op_resume, +#endif +#endif + .add_interface = esp_op_add_interface, + .remove_interface = esp_op_remove_interface, + .config = esp_op_config, + + .bss_info_changed = esp_op_bss_info_changed, +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + .config_interface = esp_op_config_interface, +#endif +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)) + .prepare_multicast = esp_op_prepare_multicast, +#endif + .configure_filter = esp_op_configure_filter, + .set_key = esp_op_set_key, + .update_tkip_key = esp_op_update_tkip_key, + //.sched_scan_start = esp_op_sched_scan_start, + //.sched_scan_stop = esp_op_sched_scan_stop, + .set_rts_threshold = esp_op_set_rts_threshold, + .sta_notify = esp_op_sta_notify, + .conf_tx = esp_op_conf_tx, +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 35)) + .get_tx_stats = esp_op_get_tx_stats, +#endif /* KERNEL_VERSION < 2.6.35*/ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) + .change_interface = esp_op_change_interface, +#endif + .get_tsf = esp_op_get_tsf, +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)) + .set_tsf = esp_op_set_tsf, +#endif + .reset_tsf = esp_op_reset_tsf, +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)) + .rfkill_poll= esp_op_rfkill_poll, +#endif +#ifdef HW_SCAN + .hw_scan = esp_op_hw_scan, +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)) + .remain_on_channel= esp_op_remain_on_channel, + .cancel_remain_on_channel=esp_op_cancel_remain_on_channel, +#endif /* >=2.6.38 */ +#endif + .ampdu_action = esp_op_ampdu_action, + //.get_survey = esp_op_get_survey, +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34)) + .sta_add = esp_op_sta_add, + .sta_remove = esp_op_sta_remove, +#endif /* >= 2.6.34 */ +#ifdef CONFIG_NL80211_TESTMODE + //CFG80211_TESTMODE_CMD(esp_op_tm_cmd) +#endif +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)) + .set_bitrate_mask = esp_op_set_bitrate_mask, +#endif +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34)) + .flush = esp_op_flush, +#endif +}; + +struct esp_pub * esp_pub_alloc_mac80211(struct device *dev) +{ + struct ieee80211_hw *hw; + struct esp_pub *epub; + int ret = 0; + + hw = ieee80211_alloc_hw(sizeof(struct esp_pub), &esp_mac80211_ops); + + if (hw == NULL) { + esp_dbg(ESP_DBG_ERROR, "ieee80211 can't alloc hw!\n"); + ret = -ENOMEM; + return ERR_PTR(ret); + } +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)) + hw->wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL; +#endif + + epub = hw->priv; + memset(epub, 0, sizeof(*epub)); + epub->hw = hw; + SET_IEEE80211_DEV(hw, dev); + epub->dev = dev; + + skb_queue_head_init(&epub->txq); + skb_queue_head_init(&epub->txdoneq); + skb_queue_head_init(&epub->rxq); + + spin_lock_init(&epub->tx_ampdu_lock); + spin_lock_init(&epub->rx_ampdu_lock); + spin_lock_init(&epub->tx_lock); + mutex_init(&epub->tx_mtx); + spin_lock_init(&epub->rx_lock); + + INIT_WORK(&epub->tx_work, esp_tx_work); +#ifndef RX_SENDUP_SYNC + INIT_WORK(&epub->sendup_work, esp_sendup_work); +#endif //!RX_SENDUP_SYNC + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)) + //epub->esp_wkq = create_freezeable_workqueue("esp_wkq"); + epub->esp_wkq = create_singlethread_workqueue("esp_wkq"); +#else + //epub->esp_wkq = create_freezable_workqueue("esp_wkq"); + epub->esp_wkq = create_singlethread_workqueue("esp_wkq"); +#endif /* NEW_KERNEL */ + + if (epub->esp_wkq == NULL) { + ret = -ENOMEM; + return ERR_PTR(ret); + } + epub->scan_permit_valid = false; + INIT_DELAYED_WORK(&epub->scan_timeout_work, hw_scan_timeout_report); + + return epub; +} + + +int esp_pub_dealloc_mac80211(struct esp_pub *epub) +{ + set_bit(ESP_WL_FLAG_RFKILL, &epub->wl.flags); + + destroy_workqueue(epub->esp_wkq); + mutex_destroy(&epub->tx_mtx); + +#ifdef ESP_NO_MAC80211 + free_netdev(epub->net_dev); + wiphy_free(epub->wdev->wiphy); + kfree(epub->wdev); +#else + if (epub->hw) { + ieee80211_free_hw(epub->hw); + } +#endif + + return 0; +} + +#if 0 +static int esp_reg_notifier(struct wiphy *wiphy, + struct regulatory_request *request) +{ + struct ieee80211_supported_band *sband; + struct ieee80211_channel *ch; + int i; + + ESP_IEEE80211_DBG(ESP_DBG_TRACE, "%s enter %d\n", __func__, request->initiator + ); + + //TBD +} +#endif + +/* 2G band channels */ +static struct ieee80211_channel esp_channels_2ghz[] = { + { .hw_value = 1, .center_freq = 2412, .max_power = 25 }, + { .hw_value = 2, .center_freq = 2417, .max_power = 25 }, + { .hw_value = 3, .center_freq = 2422, .max_power = 25 }, + { .hw_value = 4, .center_freq = 2427, .max_power = 25 }, + { .hw_value = 5, .center_freq = 2432, .max_power = 25 }, + { .hw_value = 6, .center_freq = 2437, .max_power = 25 }, + { .hw_value = 7, .center_freq = 2442, .max_power = 25 }, + { .hw_value = 8, .center_freq = 2447, .max_power = 25 }, + { .hw_value = 9, .center_freq = 2452, .max_power = 25 }, + { .hw_value = 10, .center_freq = 2457, .max_power = 25 }, + { .hw_value = 11, .center_freq = 2462, .max_power = 25 }, + { .hw_value = 12, .center_freq = 2467, .max_power = 25 }, + { .hw_value = 13, .center_freq = 2472, .max_power = 25 }, + //{ .hw_value = 14, .center_freq = 2484, .max_power = 25 }, +}; + +/* 11G rate */ +static struct ieee80211_rate esp_rates_2ghz[] = { + { + .bitrate = 10, + .hw_value = CONF_HW_BIT_RATE_1MBPS, + .hw_value_short = CONF_HW_BIT_RATE_1MBPS, + }, + { + .bitrate = 20, + .hw_value = CONF_HW_BIT_RATE_2MBPS, + .hw_value_short = CONF_HW_BIT_RATE_2MBPS, + .flags = IEEE80211_RATE_SHORT_PREAMBLE + }, + { + .bitrate = 55, + .hw_value = CONF_HW_BIT_RATE_5_5MBPS, + .hw_value_short = CONF_HW_BIT_RATE_5_5MBPS, + .flags = IEEE80211_RATE_SHORT_PREAMBLE + }, + { + .bitrate = 110, + .hw_value = CONF_HW_BIT_RATE_11MBPS, + .hw_value_short = CONF_HW_BIT_RATE_11MBPS, + .flags = IEEE80211_RATE_SHORT_PREAMBLE + }, + { + .bitrate = 60, + .hw_value = CONF_HW_BIT_RATE_6MBPS, + .hw_value_short = CONF_HW_BIT_RATE_6MBPS, + }, + { + .bitrate = 90, + .hw_value = CONF_HW_BIT_RATE_9MBPS, + .hw_value_short = CONF_HW_BIT_RATE_9MBPS, + }, + { + .bitrate = 120, + .hw_value = CONF_HW_BIT_RATE_12MBPS, + .hw_value_short = CONF_HW_BIT_RATE_12MBPS, + }, + { + .bitrate = 180, + .hw_value = CONF_HW_BIT_RATE_18MBPS, + .hw_value_short = CONF_HW_BIT_RATE_18MBPS, + }, + { + .bitrate = 240, + .hw_value = CONF_HW_BIT_RATE_24MBPS, + .hw_value_short = CONF_HW_BIT_RATE_24MBPS, + }, + { + .bitrate = 360, + .hw_value = CONF_HW_BIT_RATE_36MBPS, + .hw_value_short = CONF_HW_BIT_RATE_36MBPS, + }, + { + .bitrate = 480, + .hw_value = CONF_HW_BIT_RATE_48MBPS, + .hw_value_short = CONF_HW_BIT_RATE_48MBPS, + }, + { + .bitrate = 540, + .hw_value = CONF_HW_BIT_RATE_54MBPS, + .hw_value_short = CONF_HW_BIT_RATE_54MBPS, + }, +}; + + static void +esp_pub_init_mac80211(struct esp_pub *epub) +{ + struct ieee80211_hw *hw = epub->hw; + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)) + static const u32 cipher_suites[] = { + WLAN_CIPHER_SUITE_WEP40, + WLAN_CIPHER_SUITE_WEP104, + WLAN_CIPHER_SUITE_TKIP, + WLAN_CIPHER_SUITE_CCMP, + }; +#endif + + hw->max_listen_interval = 10; + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0 )) + ieee80211_hw_set(hw, SIGNAL_DBM); + ieee80211_hw_set(hw, HAS_RATE_CONTROL); + ieee80211_hw_set(hw, SUPPORTS_PS); + ieee80211_hw_set(hw, AMPDU_AGGREGATION); + ieee80211_hw_set(hw, HOST_BROADCAST_PS_BUFFERING); +#else + hw->flags = IEEE80211_HW_SIGNAL_DBM | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 33)) + IEEE80211_HW_HAS_RATE_CONTROL | +#endif /* >= 2.6.33 */ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)) + IEEE80211_HW_SUPPORTS_PS | +#endif +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) + IEEE80211_HW_AMPDU_AGGREGATION | +#endif + IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING; +#endif /*Linux 4.2.0*/ + //IEEE80211_HW_PS_NULLFUNC_STACK | + //IEEE80211_HW_CONNECTION_MONITOR | + //IEEE80211_HW_BEACON_FILTER | + //IEEE80211_HW_AMPDU_AGGREGATION | + //IEEE80211_HW_REPORTS_TX_ACK_STATUS; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)) + hw->max_rx_aggregation_subframes = 0x40; + hw->max_tx_aggregation_subframes = 0x40; +#endif /* >= 2.6.39 */ + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)) + hw->wiphy->cipher_suites = cipher_suites; + hw->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites); + hw->wiphy->max_scan_ie_len = epub->sip->tx_blksz - sizeof(struct sip_hdr) - sizeof(struct sip_cmd_scan); +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + /* ONLY station for now, support P2P soon... */ + hw->wiphy->interface_modes = +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) +#ifdef P2P_CONCURRENT + BIT(NL80211_IFTYPE_P2P_GO) | + BIT(NL80211_IFTYPE_P2P_CLIENT) | +#endif +#endif + BIT(NL80211_IFTYPE_STATION) | + BIT(NL80211_IFTYPE_AP); +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)) + hw->wiphy->max_scan_ssids = 2; + //hw->wiphy->max_sched_scan_ssids = 16; + //hw->wiphy->max_match_sets = 16; +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)) + hw->wiphy->max_remain_on_channel_duration = 5000; +#endif + + atomic_set(&epub->wl.off, 1); + + epub->wl.sbands[IEEE80211_BAND_2GHZ].band = IEEE80211_BAND_2GHZ; + epub->wl.sbands[IEEE80211_BAND_2GHZ].channels = esp_channels_2ghz; + epub->wl.sbands[IEEE80211_BAND_2GHZ].bitrates = esp_rates_2ghz; + epub->wl.sbands[IEEE80211_BAND_2GHZ].n_channels = ARRAY_SIZE(esp_channels_2ghz); + epub->wl.sbands[IEEE80211_BAND_2GHZ].n_bitrates = ARRAY_SIZE(esp_rates_2ghz); + /*add to support 11n*/ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) + epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_cap.ht_supported = true; + epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_cap.cap = 0x116C;//IEEE80211_HT_CAP_RX_STBC; //IEEE80211_HT_CAP_SGI_20; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)) + epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_cap.ampdu_factor = IEEE80211_HT_MAX_AMPDU_16K; + epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_cap.ampdu_density = IEEE80211_HT_MPDU_DENSITY_NONE; +#else + epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_cap.ampdu_factor = 1;//IEEE80211_HT_MAX_AMPDU_16K; + epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_cap.ampdu_density = 0;//IEEE80211_HT_MPDU_DENSITY_NONE; +#endif + memset(&epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_cap.mcs, 0, + sizeof(epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_cap.mcs)); + epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_cap.mcs.rx_mask[0] = 0xff; + //epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_cap.mcs.rx_highest = 7; + //epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_cap.mcs.tx_params = IEEE80211_HT_MCS_TX_DEFINED; +#else + epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_info.ht_supported = true; + epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_info.cap = 0x116C;//IEEE80211_HT_CAP_RX_STBC; //IEEE80211_HT_CAP_SGI_20; + epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_info.ampdu_factor = 1;//IEEE80211_HT_MAX_AMPDU_16K; + epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_info.ampdu_density = 0;//IEEE80211_HT_MPDU_DENSITY_NONE; + memset(&epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_info.supp_mcs_set, 0, + sizeof(epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_info.supp_mcs_set)); + epub->wl.sbands[IEEE80211_BAND_2GHZ].ht_info.supp_mcs_set[0] = 0xff; +#endif + + + /* BAND_5GHZ TBD */ + + hw->wiphy->bands[IEEE80211_BAND_2GHZ] = + &epub->wl.sbands[IEEE80211_BAND_2GHZ]; + /* BAND_5GHZ TBD */ + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)) + /*no fragment*/ + hw->wiphy->frag_threshold = IEEE80211_MAX_FRAG_THRESHOLD; +#endif + + /* handle AC queue in f/w */ + hw->queues = 4; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)) + hw->max_rates = 4; +#else + hw->max_altrates = 4; +#endif +#endif + //hw->wiphy->reg_notifier = esp_reg_notify; + + hw->vif_data_size = sizeof(struct esp_vif); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + hw->sta_data_size = sizeof(struct esp_node); +#endif + + //hw->max_rx_aggregation_subframes = 8; +} + + int +esp_register_mac80211(struct esp_pub *epub) +{ + int ret = 0; +#ifdef P2P_CONCURRENT + u8 *wlan_addr; + u8 *p2p_addr; + int idx; +#endif + + esp_pub_init_mac80211(epub); + +#ifdef P2P_CONCURRENT + epub->hw->wiphy->addresses = (struct mac_address *)esp_mac_addr; + memcpy(&epub->hw->wiphy->addresses[0], epub->mac_addr, ETH_ALEN); + memcpy(&epub->hw->wiphy->addresses[1], epub->mac_addr, ETH_ALEN); + wlan_addr = (u8 *)&epub->hw->wiphy->addresses[0]; + p2p_addr = (u8 *)&epub->hw->wiphy->addresses[1]; + + for (idx = 0; idx < 64; idx++) { + p2p_addr[0] = wlan_addr[0] | 0x02; + p2p_addr[0] ^= idx << 2; + if (strncmp(p2p_addr, wlan_addr, 6) != 0) + break; + } + + epub->hw->wiphy->n_addresses = 2; +#else + + SET_IEEE80211_PERM_ADDR(epub->hw, epub->mac_addr); +#endif + + ret = ieee80211_register_hw(epub->hw); + + if (ret < 0) { + ESP_IEEE80211_DBG(ESP_DBG_ERROR, "unable to register mac80211 hw: %d\n", ret); + return ret; + } else { +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) +#ifdef MAC80211_NO_CHANGE + rtnl_lock(); + if (epub->hw->wiphy->interface_modes & + (BIT(NL80211_IFTYPE_P2P_GO) | BIT(NL80211_IFTYPE_P2P_CLIENT))) { + ret = ieee80211_if_add(hw_to_local(epub->hw), "p2p%d", NULL, + NL80211_IFTYPE_STATION, NULL); + if (ret) + wiphy_warn(epub->hw->wiphy, + "Failed to add default virtual iface\n"); + } + + rtnl_unlock(); +#endif +#endif + } + + set_bit(ESP_WL_FLAG_HW_REGISTERED, &epub->wl.flags); + + return ret; +} + +static u8 getaddr_index(u8 * addr, struct esp_pub *epub) +{ +#ifdef P2P_CONCURRENT + int i; + for(i = 0; i < ESP_PUB_MAX_VIF; i++) + if(memcmp(addr, (u8 *)&epub->hw->wiphy->addresses[i], ETH_ALEN) == 0) + return i; + return ESP_PUB_MAX_VIF; +#else + return 0; +#endif +} diff --git a/drivers/net/wireless/esp8089/esp_mac80211.h b/drivers/net/wireless/esp8089/esp_mac80211.h new file mode 100644 index 000000000000..740d37a49057 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_mac80211.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2011-2014 Espressif System. + * + * MAC80211 support module + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ +#ifndef _ESP_MAC80211_H_ +#define _ESP_MAC80211_H_ + +struct esp_80211_wmm_ac_param { + u8 aci_aifsn; /* AIFSN, ACM, ACI */ + u8 cw; /* ECWmin, ECWmax (CW = 2^ECW - 1) */ + u16 txop_limit; +}; + +struct esp_80211_wmm_param_element { + /* Element ID: 221 (0xdd); length: 24 */ + /* required fields for WMM version 1 */ + u8 oui[3]; /* 00:50:f2 */ + u8 oui_type; /* 2 */ + u8 oui_subtype; /* 1 */ + u8 version; /* 1 for WMM version 1.0 */ + u8 qos_info; /* AP/STA specif QoS info */ + u8 reserved; /* 0 */ + struct esp_80211_wmm_ac_param ac[4]; /* AC_BE, AC_BK, AC_VI, AC_VO */ +}; +#endif /* _ESP_MAC80211_H_ */ diff --git a/drivers/net/wireless/esp8089/esp_main.c b/drivers/net/wireless/esp8089/esp_main.c new file mode 100755 index 000000000000..21efce9b31b7 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_main.c @@ -0,0 +1,269 @@ +/* + * Copyright (c) 2010 - 2014 Espressif System. + * + * main routine + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "esp_pub.h" +#include "esp_sip.h" +#include "esp_sif.h" +#include "esp_debug.h" +#include "esp_file.h" +#include "esp_wl.h" + +struct completion *gl_bootup_cplx = NULL; + +#ifndef FPGA_DEBUG +static int esp_download_fw(struct esp_pub * epub); +#endif /* !FGPA_DEBUG */ + +static int modparam_no_txampdu = 0; +static int modparam_no_rxampdu = 0; +module_param_named(no_txampdu, modparam_no_txampdu, int, 0444); +MODULE_PARM_DESC(no_txampdu, "Disable tx ampdu."); +module_param_named(no_rxampdu, modparam_no_rxampdu, int, 0444); +MODULE_PARM_DESC(no_rxampdu, "Disable rx ampdu."); + +static char *modparam_eagle_path = ""; +module_param_named(eagle_path, modparam_eagle_path, charp, 0444); +MODULE_PARM_DESC(eagle_path, "eagle path"); + +bool mod_support_no_txampdu() +{ + return modparam_no_txampdu; +} + +bool mod_support_no_rxampdu() +{ + return modparam_no_rxampdu; +} + +void mod_support_no_txampdu_set(bool value) +{ + modparam_no_txampdu = value; +} + +char *mod_eagle_path_get(void) +{ + if (modparam_eagle_path[0] == '\0') + return NULL; + + return modparam_eagle_path; +} + +int esp_pub_init_all(struct esp_pub *epub) +{ + int ret = 0; + + /* completion for bootup event poll*/ + DECLARE_COMPLETION_ONSTACK(complete); + atomic_set(&epub->ps.state, ESP_PM_OFF); + if(epub->sdio_state == ESP_SDIO_STATE_FIRST_INIT){ + epub->sip = sip_attach(epub); + if (epub->sip == NULL) { + printk(KERN_ERR "%s sip alloc failed\n", __func__); + return -ENOMEM; + } + + esp_dump_var("esp_msg_level", NULL, &esp_msg_level, ESP_U32); + +#ifdef ESP_ANDROID_LOGGER + esp_dump_var("log_off", NULL, &log_off, ESP_U32); +#endif /* ESP_ANDROID_LOGGER */ + } else { + atomic_set(&epub->sip->state, SIP_PREPARE_BOOT); + atomic_set(&epub->sip->tx_credits, 0); + } + + epub->sip->to_host_seq = 0; + +#ifdef TEST_MODE + if(sif_get_ate_config() != 0 && sif_get_ate_config() != 1 && sif_get_ate_config() !=6 ) + { + esp_test_init(epub); + return -1; + } +#endif + +#ifndef FPGA_DEBUG + ret = esp_download_fw(epub); +#ifdef ESP_USE_SPI + if(sif_get_ate_config() != 1) + epub->enable_int = 1; +#endif +#ifdef TEST_MODE + if(sif_get_ate_config() == 6) + { + sif_enable_irq(epub); + mdelay(500); + sif_disable_irq(epub); + mdelay(1000); + esp_test_init(epub); + return -1; + } +#endif + if (ret) { + esp_dbg(ESP_DBG_ERROR, "download firmware failed\n"); + return ret; + } + + esp_dbg(ESP_DBG_TRACE, "download firmware OK \n"); +#else + sip_send_bootup(epub->sip); +#endif /* FPGA_DEBUG */ + + gl_bootup_cplx = &complete; + epub->wait_reset = 0; + sif_enable_irq(epub); + + if(epub->sdio_state == ESP_SDIO_STATE_SECOND_INIT || sif_get_ate_config() == 1){ + ret = sip_poll_bootup_event(epub->sip); + } else { + ret = sip_poll_resetting_event(epub->sip); + if (ret == 0) { + sif_lock_bus(epub); + sif_interrupt_target(epub, 7); + sif_unlock_bus(epub); + } + + } + + gl_bootup_cplx = NULL; + + if (sif_get_ate_config() == 1) + ret = -EOPNOTSUPP; + + return ret; +} + + void +esp_dsr(struct esp_pub *epub) +{ + sip_rx(epub); +} + + +struct esp_fw_hdr { + u8 magic; + u8 blocks; + u8 pad[2]; + u32 entry_addr; +} __packed; + +struct esp_fw_blk_hdr { + u32 load_addr; + u32 data_len; +} __packed; + +#define ESP_FW_NAME1 "eagle_fw1.bin" +#define ESP_FW_NAME2 "eagle_fw2.bin" +#define ESP_FW_NAME3 "eagle_fw3.bin" + +#ifndef FPGA_DEBUG +static int esp_download_fw(struct esp_pub * epub) +{ +#ifndef HAS_FW + const struct firmware *fw_entry; +#endif /* !HAS_FW */ + u8 * fw_buf = NULL; + u32 offset = 0; + int ret = 0; + u8 blocks; + struct esp_fw_hdr *fhdr; + struct esp_fw_blk_hdr *bhdr=NULL; + struct sip_cmd_bootup bootcmd; + +#ifndef HAS_FW + + if(sif_get_ate_config() == 1) { + char * esp_fw_name = ESP_FW_NAME3; + } else { + char * esp_fw_name = epub->sdio_state == ESP_SDIO_STATE_FIRST_INIT ? ESP_FW_NAME1 : ESP_FW_NAME2; + } + ret = esp_request_firmware(&fw_entry, esp_fw_name, epub->dev); + + if (ret) + return ret; + + fw_buf = kmemdup(fw_entry->data, fw_entry->size, GFP_KERNEL); + + esp_release_firmware(fw_entry); + + if (fw_buf == NULL) { + return -ENOMEM; + } +#else + +#include "eagle_fw1.h" +#include "eagle_fw2.h" +#include "eagle_fw3.h" + if(sif_get_ate_config() == 1){ + fw_buf = &eagle_fw3[0]; + } else { + fw_buf = epub->sdio_state == ESP_SDIO_STATE_FIRST_INIT ? &eagle_fw1[0] : &eagle_fw2[0]; + } +#endif /* HAS_FW */ + + fhdr = (struct esp_fw_hdr *)fw_buf; + + if (fhdr->magic != 0xE9) { + esp_dbg(ESP_DBG_ERROR, "%s wrong magic! \n", __func__); + goto _err; + } + + blocks = fhdr->blocks; + offset += sizeof(struct esp_fw_hdr); + + while (blocks) { + + bhdr = (struct esp_fw_blk_hdr *)(&fw_buf[offset]); + offset += sizeof(struct esp_fw_blk_hdr); + + ret = sip_write_memory(epub->sip, bhdr->load_addr, &fw_buf[offset], bhdr->data_len); + + if (ret) { + esp_dbg(ESP_DBG_ERROR, "%s Failed to write fw, err: %d\n", __func__, ret); + goto _err; + } + + blocks--; + offset += bhdr->data_len; + } + + /* TODO: last byte should be the checksum and skip checksum for now */ + + bootcmd.boot_addr = fhdr->entry_addr; + ret = sip_send_cmd(epub->sip, SIP_CMD_BOOTUP, sizeof(struct sip_cmd_bootup), &bootcmd); + + if (ret) { + goto _err; + } + +_err: +#ifndef HAS_FW + kfree(fw_buf); +#endif /* !HAS_FW */ + + return ret; +} +#endif /* !FPGA_DEBUG */ diff --git a/drivers/net/wireless/esp8089/esp_path.h b/drivers/net/wireless/esp8089/esp_path.h new file mode 100755 index 000000000000..514f79cee5fc --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_path.h @@ -0,0 +1,6 @@ +#ifndef _ESP_PATH_H_ +#define _ESP_PATH_H_ +#define FWPATH "/system/lib/modules" +//module_param_string(fwpath, fwpath, sizeof(fwpath), 0644); + +#endif /* _ESP_PATH_H_ */ diff --git a/drivers/net/wireless/esp8089/esp_pm.c b/drivers/net/wireless/esp8089/esp_pm.c new file mode 100755 index 000000000000..7cffe3bc0798 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_pm.c @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2010 -2014 Espressif System. + * + * power save control of system + */ +#ifdef CONFIG_HAS_WAKELOCK +#include +#endif +#ifdef CONFIG_HAS_EARLYSUSPEND +#include +#endif +#include "esp_pub.h" + +#ifdef CONFIG_HAS_EARLYSUSPEND + +static void esp_early_suspend(struct early_suspend *h) +{ + printk("%s\n", __func__); +} + +static void esp_late_resume(struct early_suspend*h) +{ + printk("%s\n", __func__); +} + +static struct early_suspend esp_early_suspend_ctrl = { + .suspend = esp_early_suspend, + .resume = esp_late_resume, + .level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN - 20, +}; +#endif /* EARLYSUSPEND */ + +void esp_register_early_suspend(void) +{ +#ifdef CONFIG_HAS_EARLYSUSPEND + register_early_suspend(&esp_early_suspend_ctrl); +#endif +} + +void esp_unregister_early_suspend(void) +{ +#ifdef CONFIG_HAS_EARLYSUSPEND + unregister_early_suspend(&esp_early_suspend_ctrl); +#endif +} + +#ifdef CONFIG_HAS_WAKELOCK +static struct wake_lock esp_wake_lock_; +#endif /* WAKELOCK */ + +void esp_wakelock_init(void) +{ +#ifdef CONFIG_HAS_WAKELOCK + wake_lock_init(&esp_wake_lock_, WAKE_LOCK_SUSPEND, "eagle"); +#endif +} + +void esp_wakelock_destroy(void) +{ +#ifdef CONFIG_HAS_WAKELOCK + wake_lock_destroy(&esp_wake_lock_); +#endif +} + +void esp_wake_lock(void) +{ +#ifdef CONFIG_HAS_WAKELOCK + wake_lock(&esp_wake_lock_); +#endif +} + +void esp_wake_unlock(void) +{ +#ifdef CONFIG_HAS_WAKELOCK + wake_unlock(&esp_wake_lock_); +#endif +} diff --git a/drivers/net/wireless/esp8089/esp_pub.h b/drivers/net/wireless/esp8089/esp_pub.h new file mode 100755 index 000000000000..51242f4302bc --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_pub.h @@ -0,0 +1,254 @@ +/* + * Copyright (c) 2011-2014 Espressif System. + * + * wlan device header file + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef _ESP_PUB_H_ +#define _ESP_PUB_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "sip2_common.h" + +// to support kernel < 2.6.28 there's no ieee80211_sta +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) +#include +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) +enum ieee80211_band { + IEEE80211_BAND_2GHZ = NL80211_BAND_2GHZ, + IEEE80211_BAND_5GHZ = NL80211_BAND_5GHZ, + IEEE80211_BAND_60GHZ = NL80211_BAND_60GHZ, + + /* keep last */ + IEEE80211_NUM_BANDS +}; +#endif + +enum esp_sdio_state{ + ESP_SDIO_STATE_FIRST_INIT, + ESP_SDIO_STATE_FIRST_NORMAL_EXIT, + ESP_SDIO_STATE_FIRST_ERROR_EXIT, + ESP_SDIO_STATE_SECOND_INIT, + ESP_SDIO_STATE_SECOND_ERROR_EXIT, +}; + +enum esp_tid_state { + ESP_TID_STATE_INIT, + ESP_TID_STATE_TRIGGER, + ESP_TID_STATE_PROGRESS, + ESP_TID_STATE_OPERATIONAL, + ESP_TID_STATE_WAIT_STOP, + ESP_TID_STATE_STOP, +}; + +struct esp_tx_tid { + u8 state; + u8 cnt; + u16 ssn; +}; + +#define WME_NUM_TID 16 +struct esp_node { + struct esp_tx_tid tid[WME_NUM_TID]; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + struct ieee80211_sta *sta; +#else + u8 addr[ETH_ALEN]; + u16 aid; + u64 supp_rates[IEEE80211_NUM_BANDS]; + struct ieee80211_ht_info ht_info; +#endif + u8 ifidx; + u8 index; +}; + +#define WME_AC_BE 2 +#define WME_AC_BK 3 +#define WME_AC_VI 1 +#define WME_AC_VO 0 + +struct llc_snap_hdr { + u8 dsap; + u8 ssap; + u8 cntl; + u8 org_code[3]; + __be16 eth_type; +} __packed; + +struct esp_vif { + struct esp_pub *epub; + u8 index; + u32 beacon_interval; + bool ap_up; + struct timer_list beacon_timer; +}; + +/* WLAN related, mostly... */ +/*struct hw_scan_timeout { + struct delayed_work w; + struct ieee80211_hw *hw; + };*/ + +typedef struct esp_wl { + u8 bssid[ETH_ALEN]; + u8 req_bssid[ETH_ALEN]; + + //struct hw_scan_timeout *hsd; + struct cfg80211_scan_request *scan_req; + atomic_t ptk_cnt; + atomic_t gtk_cnt; + atomic_t tkip_key_set; + + /* so far only 2G band */ + struct ieee80211_supported_band sbands[IEEE80211_NUM_BANDS]; + + unsigned long flags; + atomic_t off; +} esp_wl_t; + +typedef struct esp_hw_idx_map { + u8 mac[ETH_ALEN]; + u8 flag; +} esp_hw_idx_map_t; + +#define ESP_WL_FLAG_RFKILL BIT(0) +#define ESP_WL_FLAG_HW_REGISTERED BIT(1) +#define ESP_WL_FLAG_CONNECT BIT(2) +#define ESP_WL_FLAG_STOP_TXQ BIT(3) + +#define ESP_PUB_MAX_VIF 2 +#define ESP_PUB_MAX_STA 4 //for one interface +#define ESP_PUB_MAX_RXAMPDU 8 //for all interfaces + +enum { + ESP_PM_OFF = 0, + ESP_PM_TURNING_ON, + ESP_PM_ON, + ESP_PM_TURNING_OFF, /* Do NOT change the order */ +}; + +struct esp_ps { + u32 dtim_period; + u32 max_sleep_period; + unsigned long last_config_time; + atomic_t state; + bool nulldata_pm_on; +}; + +struct esp_mac_prefix { + u8 mac_index; + u8 mac_addr_prefix[3]; +}; + +struct esp_pub { + struct device *dev; +#ifdef ESP_NO_MAC80211 + struct net_device *net_dev; + struct wireless_dev *wdev; + struct net_device_stats *net_stats; +#else + struct ieee80211_hw *hw; + struct ieee80211_vif *vif; + u8 vif_slot; +#endif /* ESP_MAC80211 */ + + void *sif; /* serial interface control block, e.g. sdio */ + enum esp_sdio_state sdio_state; + struct esp_sip *sip; + struct esp_wl wl; + struct esp_hw_idx_map hi_map[19]; + struct esp_hw_idx_map low_map[ESP_PUB_MAX_VIF][2]; + //u32 flags; //flags to represent rfkill switch,start + u8 roc_flags; //0: not in remain on channel state, 1: in roc state + + struct work_struct tx_work; /* attach to ieee80211 workqueue */ + /* latest mac80211 has multiple tx queue, but we stick with single queue now */ + spinlock_t rx_lock; + spinlock_t tx_ampdu_lock; + spinlock_t rx_ampdu_lock; + spinlock_t tx_lock; + struct mutex tx_mtx; + struct sk_buff_head txq; + atomic_t txq_stopped; + + struct work_struct sendup_work; /* attach to ieee80211 workqueue */ + struct sk_buff_head txdoneq; + struct sk_buff_head rxq; + + struct workqueue_struct *esp_wkq; + + //u8 bssid[ETH_ALEN]; + u8 mac_addr[ETH_ALEN]; + + u32 rx_filter; + unsigned long scan_permit; + bool scan_permit_valid; + struct delayed_work scan_timeout_work; + u32 enodes_map; + u8 rxampdu_map; + u32 enodes_maps[ESP_PUB_MAX_VIF]; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + struct esp_node nodes[ESP_PUB_MAX_STA + 1]; +#endif + struct esp_node * enodes[ESP_PUB_MAX_STA + 1]; + struct esp_node * rxampdu_node[ESP_PUB_MAX_RXAMPDU]; + u8 rxampdu_tid[ESP_PUB_MAX_RXAMPDU]; + struct esp_ps ps; + int enable_int; + int wait_reset; +}; + +typedef struct esp_pub esp_pub_t; + +struct esp_pub *esp_pub_alloc_mac80211(struct device *dev); +int esp_pub_dealloc_mac80211(struct esp_pub *epub); +int esp_register_mac80211(struct esp_pub *epub); + +int esp_pub_init_all(struct esp_pub *epub); + +char *mod_eagle_path_get(void); + +void esp_dsr(struct esp_pub *epub); +void hw_scan_done(struct esp_pub *epub, bool aborted); +void esp_rocdone_process(struct ieee80211_hw *hw, struct sip_evt_roc *report); + +void esp_ps_config(struct esp_pub *epub, struct esp_ps *ps, bool on); + + +void esp_register_early_suspend(void); +void esp_unregister_early_suspend(void); +void esp_wakelock_init(void); +void esp_wakelock_destroy(void); +void esp_wake_lock(void); +void esp_wake_unlock(void); +struct esp_node * esp_get_node_by_addr(struct esp_pub * epub, const u8 *addr); +struct esp_node * esp_get_node_by_index(struct esp_pub * epub, u8 index); +int esp_get_empty_rxampdu(struct esp_pub * epub, const u8 *addr, u8 tid); +int esp_get_exist_rxampdu(struct esp_pub * epub, const u8 *addr, u8 tid); + +#ifdef TEST_MODE +int test_init_netlink(struct esp_sip *sip); +void test_exit_netlink(void); +void esp_test_cmd_event(u32 cmd_type, char *reply_info); +void esp_test_init(struct esp_pub *epub); +#endif +#endif /* _ESP_PUB_H_ */ diff --git a/drivers/net/wireless/esp8089/esp_sif.h b/drivers/net/wireless/esp8089/esp_sif.h new file mode 100755 index 000000000000..c038f9aa334b --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_sif.h @@ -0,0 +1,301 @@ +/* + * Copyright (c) 2011 - 2014 Espressif System. + * + * Serial I/F wrapper layer for eagle WLAN device, + * abstraction of buses like SDIO/SIP, and provides + * flow control for tx/rx layer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef _ESP_SIF_H_ +#define _ESP_SIF_H_ + +#include "esp_pub.h" +#include +#include + +/* + * H/W SLC module definitions + */ + +#define SIF_SLC_BLOCK_SIZE 512 + + +/* S/W struct mapping to slc registers */ +typedef struct slc_host_regs { + /* do NOT read token_rdata + * + u32 pf_data; + u32 token_rdata; + */ + u32 intr_raw; + u32 state_w0; + u32 state_w1; + u32 config_w0; + u32 config_w1; + u32 intr_status; + u32 config_w2; + u32 config_w3; + u32 config_w4; + u32 token_wdata; + u32 intr_clear; + u32 intr_enable; +} sif_slc_reg_t; + + +enum io_sync_type { + ESP_SIF_NOSYNC = 0, + ESP_SIF_SYNC, +}; + +#ifdef ESP_USE_SDIO +typedef struct esp_sdio_ctrl { + struct sdio_func *func; +#else + typedef struct esp_spi_ctrl { + struct spi_device *spi; +#endif + struct esp_pub *epub; + + + struct list_head free_req; + + u8 *dma_buffer; + + spinlock_t scat_lock; + struct list_head scat_req; + + bool off; + atomic_t irq_handling; +#ifdef ESP_USE_SDIO + const struct sdio_device_id *id; +#else + const struct spi_device_id *id; +#endif + u32 slc_blk_sz; + u32 target_id; + u32 slc_window_end_addr; + + struct slc_host_regs slc_regs; + atomic_t irq_installed; + +#ifdef ESP_USE_SDIO + } esp_sdio_ctrl_t; +#else +} esp_spi_ctrl_t; +#endif + +#ifdef ESP_USE_SPI +struct esp_spi_resp { + u32 max_dataW_resp_size; + u32 max_dataR_resp_size; + u32 max_block_dataW_resp_size; + u32 max_block_dataR_resp_size; + u32 max_cmd_resp_size; + u32 data_resp_size_w; + u32 data_resp_size_r; + u32 block_w_data_resp_size_final; + u32 block_r_data_resp_size_final; +}; +#endif + +#define SIF_TO_DEVICE 0x1 +#define SIF_FROM_DEVICE 0x2 + +#define SIF_SYNC 0x00000010 +#define SIF_ASYNC 0x00000020 + +#define SIF_BYTE_BASIS 0x00000040 +#define SIF_BLOCK_BASIS 0x00000080 + +#define SIF_FIXED_ADDR 0x00000100 +#define SIF_INC_ADDR 0x00000200 + +#ifdef ESP_USE_SDIO +#define EPUB_CTRL_CHECK(_epub, _go_err) do{\ + if (_epub == NULL) {\ + ESSERT(0);\ + goto _go_err;\ + }\ + if ((_epub)->sif == NULL) {\ + ESSERT(0);\ + goto _go_err;\ + }\ +}while(0) + +#define EPUB_FUNC_CHECK(_epub, _go_err) do{\ + if (_epub == NULL) {\ + ESSERT(0);\ + goto _go_err;\ + }\ + if ((_epub)->sif == NULL) {\ + ESSERT(0);\ + goto _go_err;\ + }\ + if (((struct esp_sdio_ctrl *)(_epub)->sif)->func == NULL) {\ + ESSERT(0);\ + goto _go_err;\ + }\ +}while(0) + +#define EPUB_TO_CTRL(_epub) (((struct esp_sdio_ctrl *)(_epub)->sif)) + +#define EPUB_TO_FUNC(_epub) (((struct esp_sdio_ctrl *)(_epub)->sif)->func) +#endif + + +#ifdef ESP_USE_SPI +#define EPUB_CTRL_CHECK(_epub, _go_err) do{\ + if (_epub == NULL) {\ + ESSERT(0);\ + goto _go_err;\ + }\ + if ((_epub)->sif == NULL) {\ + ESSERT(0);\ + goto _go_err;\ + }\ +}while(0) + +#define EPUB_FUNC_CHECK(_epub, _go_err) do{\ + if (_epub == NULL) {\ + ESSERT(0);\ + goto _go_err;\ + }\ + if ((_epub)->sif == NULL) {\ + ESSERT(0);\ + goto _go_err;\ + }\ + if (((struct esp_spi_ctrl *)(_epub)->sif)->spi == NULL) {\ + ESSERT(0);\ + goto _go_err;\ + }\ +}while(0) + +#define EPUB_TO_CTRL(_epub) (((struct esp_spi_ctrl *)(_epub)->sif)) + +#define EPUB_TO_FUNC(_epub) (((struct esp_spi_ctrl *)(_epub)->sif)->spi) +#endif + +void sdio_io_writeb(struct esp_pub *epub, u8 value, int addr, int *res); +u8 sdio_io_readb(struct esp_pub *epub, int addr, int *res); + + +void sif_enable_irq(struct esp_pub *epub); +void sif_disable_irq(struct esp_pub *epub); +void sif_disable_target_interrupt(struct esp_pub *epub); + +u32 sif_get_blksz(struct esp_pub *epub); +u32 sif_get_target_id(struct esp_pub *epub); + +#ifdef ESP_USE_SDIO +void sif_dsr(struct sdio_func *func); +int sif_io_raw(struct esp_pub *epub, u32 addr, u8 *buf, u32 len, u32 flag); +int sif_io_sync(struct esp_pub *epub, u32 addr, u8 *buf, u32 len, u32 flag); +int sif_io_async(struct esp_pub *epub, u32 addr, u8 *buf, u32 len, u32 flag, void * context); +int sif_lldesc_read_sync(struct esp_pub *epub, u8 *buf, u32 len); +int sif_lldesc_write_sync(struct esp_pub *epub, u8 *buf, u32 len); +int sif_lldesc_read_raw(struct esp_pub *epub, u8 *buf, u32 len, bool noround); +int sif_lldesc_write_raw(struct esp_pub *epub, u8 *buf, u32 len); +void sif_platform_check_r1_ready(struct esp_pub *epub); +#endif + +#ifdef ESP_USE_SPI +enum if_dummymode { + NOT_DUMMYMODE = 0, + DUMMYMODE, +}; + +#ifdef REGISTER_SPI_BOARD_INFO +void sif_platform_register_board_info(void); +#endif + +void sif_dsr(struct spi_device *spi); +int sif_spi_read_mix_nosync(struct spi_device *spi, unsigned int addr, unsigned char *buf, int len, int dummymode); +int sif_spi_epub_read_mix_sync(struct esp_pub *epub, unsigned int addr,unsigned char *buf, int len, int dummymode); +int sif_spi_epub_read_mix_nosync(struct esp_pub *epub, unsigned int addr,unsigned char *buf, int len, int dummymode); +int sif_spi_read_sync(struct esp_pub *epub, unsigned char *buf, int len, int dummymode); +int sif_spi_read_nosync(struct esp_pub *epub, unsigned char *buf, int len, int dummymode, bool noround); + +int sif_spi_write_mix_nosync(struct spi_device *spi, unsigned int addr, unsigned char *buf, int len, int dummymode); +int sif_spi_epub_write_mix_sync(struct esp_pub *epub, unsigned int addr,unsigned char *buf, int len, int dummymode); +int sif_spi_epub_write_mix_nosync(struct esp_pub *epub, unsigned int addr,unsigned char *buf, int len, int dummymode); +int sif_spi_write_sync(struct esp_pub *epub, unsigned char *buf, int len, int dummymode); +int sif_spi_write_nosync(struct esp_pub *epub, unsigned char *buf, int len, int dummymode); + +int sif_platform_get_irq_no(void); +int sif_platform_is_irq_occur(void); +void sif_platform_irq_clear(void); +void sif_platform_irq_mask(int enable_mask); +int sif_platform_irq_init(void); +void sif_platform_irq_deinit(void); + +int sif_spi_write_bytes(struct spi_device *spi, unsigned int addr,unsigned char *dst, int count, int check_idle); +int sif_spi_read_bytes(struct spi_device *spi, unsigned int addr,unsigned char *dst, int count, int check_idle); +struct esp_spi_resp *sif_get_spi_resp(void); +#endif + +int esp_common_read(struct esp_pub *epub, u8 *buf, u32 len, int sync, bool noround); +int esp_common_write(struct esp_pub *epub, u8 *buf, u32 len, int sync); +int esp_common_read_with_addr(struct esp_pub *epub, u32 addr, u8 *buf, u32 len, int sync); +int esp_common_write_with_addr(struct esp_pub *epub, u32 addr, u8 *buf, u32 len, int sync); + +int esp_common_readbyte_with_addr(struct esp_pub *epub, u32 addr, u8 *buf, int sync); +int esp_common_writebyte_with_addr(struct esp_pub *epub, u32 addr, u8 buf, int sync); + +int sif_read_reg_window(struct esp_pub *epub, unsigned int reg_addr, unsigned char *value); +int sif_write_reg_window(struct esp_pub *epub, unsigned int reg_addr, unsigned char *value); +int sif_ack_target_read_err(struct esp_pub *epub); +int sif_had_io_enable(struct esp_pub *epub); + +struct slc_host_regs * sif_get_regs(struct esp_pub *epub); + +void sif_lock_bus(struct esp_pub *epub); +void sif_unlock_bus(struct esp_pub *epub); + +void sif_platform_target_poweroff(void); +void sif_platform_target_poweron(void); +void sif_platform_target_speed(int high_speed); + +void sif_platform_reset_target(void); +void sif_platform_rescan_card(unsigned insert); + +int sif_interrupt_target(struct esp_pub *epub, u8 index); +#ifdef USE_EXT_GPIO +int sif_config_gpio_mode(struct esp_pub *epub, u8 gpio_num, u8 gpio_mode); +int sif_set_gpio_output(struct esp_pub *epub, u16 mask, u16 value); +int sif_get_gpio_intr(struct esp_pub *epub, u16 intr_mask, u16 *value); +int sif_get_gpio_input(struct esp_pub *epub, u16 *mask, u16 *value); +#endif + +void check_target_id(struct esp_pub *epub); + +void sif_record_bt_config(int value); +int sif_get_bt_config(void); +void sif_record_rst_config(int value); +int sif_get_rst_config(void); +void sif_record_ate_config(int value); +int sif_get_ate_config(void); +void sif_record_retry_config(void); +int sif_get_retry_config(void); +void sif_record_wakeup_gpio_config(int value); +int sif_get_wakeup_gpio_config(void); + +#ifdef ESP_ACK_INTERRUPT +//extern void sif_platform_ack_interrupt(struct mmc_host *mmc); +extern void sif_platform_ack_interrupt(struct esp_pub *epub); +#endif //ESP_ACK_INTERRUPT + +#define sif_reg_read_sync(epub, addr, buf, len) sif_io_sync((epub), (addr), (buf), (len), SIF_FROM_DEVICE | SIF_BYTE_BASIS | SIF_INC_ADDR) + +#define sif_reg_write_sync(epub, addr, buf, len) sif_io_sync((epub), (addr), (buf), (len), SIF_TO_DEVICE | SIF_BYTE_BASIS | SIF_INC_ADDR) + +#endif /* _ESP_SIF_H_ */ diff --git a/drivers/net/wireless/esp8089/esp_sip.c b/drivers/net/wireless/esp8089/esp_sip.c new file mode 100755 index 000000000000..68349d70c5ff --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_sip.c @@ -0,0 +1,2375 @@ +/* + * Copyright (c) 2009 - 2014 Espressif System. + * + * Serial Interconnctor Protocol + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "esp_mac80211.h" +#include "esp_pub.h" +#include "esp_sip.h" +#include "esp_ctrl.h" +#include "esp_sif.h" +#include "esp_debug.h" +#include "slc_host_register.h" +#include "esp_wmac.h" +#include "esp_utils.h" +#ifdef TEST_MODE +#include "testmode.h" +#endif + +#ifdef USE_EXT_GPIO +#include "esp_ext.h" +#endif /* USE_EXT_GPIO */ + +extern struct completion *gl_bootup_cplx; + +static int old_signal = -35; +static int avg_signal = 0; +static int signal_loop = 0; + +struct esp_mac_prefix esp_mac_prefix_table[] = { + {0,{0x18,0xfe,0x34}}, + {1,{0xac,0xd0,0x74}}, + {255,{0x18,0xfe,0x34}}, +}; + +#define SIGNAL_COUNT 300 + +#define TID_TO_AC(_tid) ((_tid)== 0||((_tid)==3)?WME_AC_BE:((_tid)<3)?WME_AC_BK:((_tid)<6)?WME_AC_VI:WME_AC_VO) + +#ifdef SIP_DEBUG +#define esp_sip_dbg esp_dbg +struct sip_trace { + u32 tx_data; + u32 tx_cmd; + u32 rx_data; + u32 rx_evt; + u32 rx_tx_status; + u32 tx_out_of_credit; + u32 tx_one_shot_overflow; +}; +static struct sip_trace str; +#define STRACE_TX_DATA_INC() (str.tx_data++) +#define STRACE_TX_CMD_INC() (str.tx_cmd++) +#define STRACE_RX_DATA_INC() (str.rx_data++) +#define STRACE_RX_EVENT_INC() (str.rx_evt++) +#define STRACE_RX_TXSTATUS_INC() (str.rx_tx_status++) +#define STRACE_TX_OUT_OF_CREDIT_INC() (str.tx_out_of_credit++) +#define STRACE_TX_ONE_SHOT_INC() (str.tx_one_shot_overflow++) +#define STRACE_SHOW(sip) +#else +#define esp_sip_dbg(...) +#define STRACE_TX_DATA_INC() +#define STRACE_TX_CMD_INC() +#define STRACE_RX_DATA_INC() +#define STRACE_RX_EVENT_INC() +#define STRACE_RX_TXSTATUS_INC() +#define STRACE_TX_OUT_OF_CREDIT_INC() +#define STRACE_TX_ONE_SHOT_INC() +#define STRACE_SHOW(sip) +#endif /* SIP_DEBUG */ + +#define SIP_STOP_QUEUE_THRESHOLD 48 +#define SIP_RESUME_QUEUE_THRESHOLD 12 +#ifndef FAST_TX_STATUS +#define SIP_PENDING_STOP_TX_THRESHOLD 6 +#define SIP_PENDING_RESUME_TX_THRESHOLD 6 +#endif /* !FAST_TX_STATUS */ + +#define SIP_MIN_DATA_PKT_LEN (sizeof(struct esp_mac_rx_ctrl) + 24) //24 is min 80211hdr + +#ifdef ESP_PREALLOC +extern struct sk_buff *esp_get_sip_skb(int size); +extern void esp_put_sip_skb(struct sk_buff **skb); + +extern u8 *esp_get_tx_aggr_buf(void); +extern void esp_put_tx_aggr_buf(u8 **p); + +#endif + +static void sip_recalc_credit_init(struct esp_sip *sip); + +static int sip_recalc_credit_claim(struct esp_sip *sip, int force); + +static void sip_recalc_credit_release(struct esp_sip *sip); + +static struct sip_pkt *sip_get_ctrl_buf(struct esp_sip *sip, SIP_BUF_TYPE bftype); + +static void sip_reclaim_ctrl_buf(struct esp_sip *sip, struct sip_pkt *pkt, SIP_BUF_TYPE bftype); + +static void sip_free_init_ctrl_buf(struct esp_sip *sip); + +static int sip_pack_pkt(struct esp_sip *sip, struct sk_buff *skb, int *pm_state); + +static struct esp_mac_rx_ctrl *sip_parse_normal_mac_ctrl(struct sk_buff *skb, int * pkt_len_enc, int *buf_len, int *pulled_len); + +static struct sk_buff * sip_parse_data_rx_info(struct esp_sip *sip, struct sk_buff *skb, int pkt_len_enc, int buf_len, struct esp_mac_rx_ctrl *mac_ctrl, int *pulled_len); + +static inline void sip_rx_pkt_enqueue(struct esp_sip *sip, struct sk_buff *skb); + +#ifndef FAST_TX_STATUS +static void sip_after_tx_status_update(struct esp_sip *sip); +#endif /* !FAST_TX_STATUS */ + +static void sip_after_write_pkts(struct esp_sip *sip); + +static void sip_update_tx_credits(struct esp_sip *sip, u16 recycled_credits); + +//static void sip_trigger_txq_process(struct esp_sip *sip); + +static bool sip_rx_pkt_process(struct esp_sip * sip, struct sk_buff *skb); + +#ifdef FAST_TX_STATUS +static void sip_tx_status_report(struct esp_sip *sip, struct sk_buff *skb, struct ieee80211_tx_info* tx_info, bool success); +#endif /* FAST_TX_STATUS */ + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 35)) +static void sip_check_skb_alignment(struct sk_buff *skb); +#endif /* NEW_KERNEL */ + +#ifdef FPGA_TXDATA +int sip_send_tx_data(struct esp_sip *sip); +#endif/* FPGA_TXDATA */ + +#ifdef FPGA_LOOPBACK +int sip_send_loopback_cmd_mblk(struct esp_sip *sip); +#endif /* FPGA_LOOPBACK */ + +static bool check_ac_tid(u8 *pkt, u8 ac, u8 tid) +{ + struct ieee80211_hdr * wh = (struct ieee80211_hdr *)pkt; +#ifdef TID_DEBUG + u16 real_tid = 0; +#endif //TID_DEBUG + + if (ieee80211_is_data_qos(wh->frame_control)) { +#ifdef TID_DEBUG + real_tid = *ieee80211_get_qos_ctl(wh) & IEEE80211_QOS_CTL_TID_MASK; + + esp_sip_dbg(ESP_SHOW, "ac:%u, tid:%u, tid in pkt:%u\n", ac, tid, real_tid); + if (tid != real_tid) { + esp_sip_dbg(ESP_DBG_ERROR, "111 ac:%u, tid:%u, tid in pkt:%u\n", ac, tid, real_tid); + } + if (TID_TO_AC(tid) != ac) { + esp_sip_dbg(ESP_DBG_ERROR, "222 ac:%u, tid:%u, tid in pkt:%u\n", ac, tid, real_tid); + } + +#endif /* TID_DEBUG*/ + } else if (ieee80211_is_mgmt(wh->frame_control)) { +#ifdef TID_DEBUG + esp_sip_dbg(ESP_SHOW, "ac:%u, tid:%u\n", ac, tid); + if (tid != 7 || ac != WME_AC_VO) { + esp_sip_dbg(ESP_DBG_ERROR, "333 ac:%u, tid:%u\n", ac, tid); + } +#endif /* TID_DEBUG*/ + } else { + if (ieee80211_is_ctl(wh->frame_control)) { +#ifdef TID_DEBUG + esp_sip_dbg(ESP_SHOW, "%s is ctrl pkt fc 0x%04x ac:%u, tid:%u, tid in pkt:%u\n", __func__, wh->frame_control, ac, tid, real_tid); +#endif /* TID_DEBUG*/ + } else { + if (tid != 0 || ac != WME_AC_BE) { + //show_buf(pkt, 24); + esp_sip_dbg(ESP_DBG_LOG, "444 ac:%u, tid:%u \n", ac, tid); + if (tid == 7 && ac == WME_AC_VO) + return false; + } + return true; //hack to modify non-qos null data. + + } + } + + return false; +} + +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) +static void sip_recalc_credit_timeout(unsigned long data) +#else + struct esp_sip *_gsip = NULL; +static void sip_recalc_credit_timeout(struct timer_list *list) +#endif +{ +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + struct esp_sip *sip = (struct esp_sip *)data; +#else + struct esp_sip *sip = (struct esp_sip *)list->flags; +#endif + + esp_dbg(ESP_DBG_ERROR, "rct"); + + sip_recalc_credit_claim(sip, 1); /* recalc again */ +} + +static void sip_recalc_credit_init(struct esp_sip *sip) +{ + atomic_set(&sip->credit_status, RECALC_CREDIT_DISABLE); //set it disable +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + init_timer(&sip->credit_timer); + sip->credit_timer.data = (unsigned long)sip; + sip->credit_timer.function = sip_recalc_credit_timeout; +#else + _gsip = sip; + timer_setup(&sip->credit_timer, sip_recalc_credit_timeout, 0); +#endif +} + +static int sip_recalc_credit_claim(struct esp_sip *sip, int force) +{ + int ret; + + if (atomic_read(&sip->credit_status) == RECALC_CREDIT_ENABLE && force == 0) + return 1; + + atomic_set(&sip->credit_status, RECALC_CREDIT_ENABLE); + ret = sip_send_recalc_credit(sip->epub); + if (ret) { + esp_dbg(ESP_DBG_ERROR, "%s error %d", __func__, ret); + return ret; + } + /*setup a timer for handle the abs_credit not receive */ + mod_timer(&sip->credit_timer, jiffies + msecs_to_jiffies(2000)); + + esp_dbg(ESP_SHOW, "rcc"); + + return ret; +} + +static void sip_recalc_credit_release(struct esp_sip *sip) +{ + esp_dbg(ESP_SHOW, "rcr"); + + if (atomic_read(&sip->credit_status) == RECALC_CREDIT_ENABLE) { + atomic_set(&sip->credit_status, RECALC_CREDIT_DISABLE); + del_timer_sync(&sip->credit_timer); + } else + esp_dbg(ESP_SHOW, "maybe bogus credit"); +} + +static void sip_update_tx_credits(struct esp_sip *sip, u16 recycled_credits) +{ + esp_sip_dbg(ESP_DBG_TRACE, "%s:before add, credits is %d\n", __func__, atomic_read(&sip->tx_credits)); + + if (recycled_credits & 0x800) { + atomic_set(&sip->tx_credits, (recycled_credits & 0x7ff)); + sip_recalc_credit_release(sip); + } else + atomic_add(recycled_credits, &sip->tx_credits); + + esp_sip_dbg(ESP_DBG_TRACE, "%s:after add %d, credits is %d\n", __func__, recycled_credits, atomic_read(&sip->tx_credits)); +} + +void sip_trigger_txq_process(struct esp_sip *sip) +{ + if (atomic_read(&sip->tx_credits) <= sip->credit_to_reserve + SIP_CTRL_CREDIT_RESERVE //no credits, do nothing + || atomic_read(&sip->credit_status) == RECALC_CREDIT_ENABLE) + return; + + if (sip_queue_may_resume(sip)) { + /* wakeup upper queue only if we have sufficient credits */ + esp_sip_dbg(ESP_DBG_TRACE, "%s wakeup ieee80211 txq \n", __func__); + atomic_set(&sip->epub->txq_stopped, false); + ieee80211_wake_queues(sip->epub->hw); + } else if (atomic_read(&sip->epub->txq_stopped) ) { + esp_sip_dbg(ESP_DBG_TRACE, "%s can't wake txq, credits: %d \n", __func__, atomic_read(&sip->tx_credits) ); + } + + if (!skb_queue_empty(&sip->epub->txq)) { + /* try to send out pkt already in sip queue once we have credits */ + esp_sip_dbg(ESP_DBG_TRACE, "%s resume sip txq \n", __func__); + +#if !defined(FPGA_TXDATA) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)) + if(sif_get_ate_config() == 0){ + ieee80211_queue_work(sip->epub->hw, &sip->epub->tx_work); + } else { + queue_work(sip->epub->esp_wkq, &sip->epub->tx_work); + } +#else + queue_work(sip->epub->esp_wkq, &sip->epub->tx_work); +#endif + } +} + +static bool sip_ampdu_occupy_buf(struct esp_sip *sip, struct esp_rx_ampdu_len * ampdu_len) +{ + return (ampdu_len->substate == 0 || esp_wmac_rxsec_error(ampdu_len->substate) || (sip->dump_rpbm_err && ampdu_len->substate == RX_RPBM_ERR)); +} + +static bool sip_rx_pkt_process(struct esp_sip * sip, struct sk_buff *skb) +{ +#define DO_NOT_COPY false +#define DO_COPY true + + struct sip_hdr * hdr = NULL; + struct sk_buff * rskb = NULL; + int remains_len = 0; + int first_pkt_len = 0; + u8 *bufptr = NULL; + int ret = 0; + bool trigger_rxq = false; + + if (skb == NULL) { + esp_sip_dbg(ESP_DBG_ERROR, "%s NULL SKB!!!!!!!! \n", __func__); + return trigger_rxq; + } + + hdr = (struct sip_hdr *)skb->data; + bufptr = skb->data; + + + esp_sip_dbg(ESP_DBG_TRACE, "%s Hcredits 0x%08x, realCredits %d\n", __func__, hdr->h_credits, hdr->h_credits & SIP_CREDITS_MASK); + if (hdr->h_credits & SIP_CREDITS_MASK) { + sip_update_tx_credits(sip, hdr->h_credits & SIP_CREDITS_MASK); + } + + hdr->h_credits &= ~SIP_CREDITS_MASK; /* clean credits in sip_hdr, prevent over-add */ + + esp_sip_dbg(ESP_DBG_TRACE, "%s credits %d\n", __func__, hdr->h_credits); + + /* + * first pkt's length is stored in recycled_credits first 20 bits + * config w3 [31:12] + * repair hdr->len of first pkt + */ + remains_len = hdr->len; + first_pkt_len = hdr->h_credits >> 12; + hdr->len = first_pkt_len; + + esp_dbg(ESP_DBG_TRACE, "%s first_pkt_len %d, whole pkt len %d \n", __func__, first_pkt_len, remains_len); + if (first_pkt_len > remains_len) { + sip_recalc_credit_claim(sip, 0); + esp_dbg(ESP_DBG_ERROR, "first_pkt_len %d, whole pkt len %d\n", first_pkt_len, remains_len); + show_buf((u8 *)hdr, first_pkt_len); + ESSERT(0); + goto _exit; + } + + /* + * pkts handling, including the first pkt, should alloc new skb for each data pkt. + * free the original whole skb after parsing is done. + */ + while (remains_len) { + if (remains_len < sizeof(struct sip_hdr)) { + sip_recalc_credit_claim(sip, 0); + ESSERT(0); + show_buf((u8 *)hdr, 512); + goto _exit; + } + + hdr = (struct sip_hdr *)bufptr; + if (hdr->len <= 0) { + sip_recalc_credit_claim(sip, 0); + show_buf((u8 *)hdr, 512); + ESSERT(0); + goto _exit; + } + + if((hdr->len & 3) != 0) { + sip_recalc_credit_claim(sip, 0); + show_buf((u8 *)hdr, 512); + ESSERT(0); + goto _exit; + } + if (unlikely(hdr->seq != sip->rxseq++)) { + sip_recalc_credit_claim(sip, 0); + esp_dbg(ESP_DBG_ERROR, "%s seq mismatch! got %u, expect %u\n", __func__, hdr->seq, sip->rxseq-1); + sip->rxseq = hdr->seq + 1; + show_buf(bufptr, 32); + ESSERT(0); + } + + if (SIP_HDR_IS_CTRL(hdr)) { + STRACE_RX_EVENT_INC(); + esp_sip_dbg(ESP_DBG_TRACE, "seq %u \n", hdr->seq); + + ret = sip_parse_events(sip, bufptr); + + skb_pull(skb, hdr->len); + + } else if (SIP_HDR_IS_DATA(hdr)) { + struct esp_mac_rx_ctrl * mac_ctrl = NULL; + int pkt_len_enc = 0, buf_len = 0, pulled_len = 0; + + STRACE_RX_DATA_INC(); + esp_sip_dbg(ESP_DBG_TRACE, "seq %u \n", hdr->seq); + mac_ctrl = sip_parse_normal_mac_ctrl(skb, &pkt_len_enc, &buf_len, &pulled_len); + rskb = sip_parse_data_rx_info(sip, skb, pkt_len_enc, buf_len, mac_ctrl, &pulled_len); + + if(rskb == NULL) + goto _move_on; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 35)) + sip_check_skb_alignment(rskb); +#endif /* !NEW_KERNEL */ + if (likely(atomic_read(&sip->epub->wl.off) == 0)) { +#ifndef RX_SENDUP_SYNC + skb_queue_tail(&sip->epub->rxq, rskb); + trigger_rxq = true; +#else +#ifdef RX_CHECKSUM_TEST + esp_rx_checksum_test(rskb); +#endif + local_bh_disable(); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)) + ieee80211_rx(sip->epub->hw, rskb); +#else + //simulate IEEE80211_SKB_RXCB in 2.6.32 + ieee80211_rx(sip->epub->hw, rskb ,(struct ieee80211_rx_status *)rskb->cb); +#endif + local_bh_enable(); +#endif /* RX_SENDUP_SYNC */ + } else { + /* still need go thro parsing as skb_pull should invoke */ + kfree_skb(rskb); + } + } else if (SIP_HDR_IS_AMPDU(hdr)) { + struct esp_mac_rx_ctrl * mac_ctrl = NULL; + struct esp_mac_rx_ctrl new_mac_ctrl; + struct esp_rx_ampdu_len *ampdu_len; + int pkt_num; + int pulled_len = 0; + static int pkt_dropped = 0; + static int pkt_total = 0; + bool have_rxabort = false; + bool have_goodpkt = false; + static u8 frame_head[16]; + static u8 frame_buf_ttl = 0; + + ampdu_len = (struct esp_rx_ampdu_len *)(skb->data + hdr->len/sip->rx_blksz * sip->rx_blksz); + esp_sip_dbg(ESP_DBG_TRACE, "%s rx ampdu total len %u\n", __func__, hdr->len); + if(skb->data != (u8 *)hdr) { + printk("%p %p\n", skb->data, hdr); + show_buf(skb->data, 512); + show_buf((u8 *)hdr, 512); + ESSERT(0); + goto _exit; + } + mac_ctrl = sip_parse_normal_mac_ctrl(skb, NULL, NULL, &pulled_len); + memcpy(&new_mac_ctrl, mac_ctrl, sizeof(struct esp_mac_rx_ctrl)); + mac_ctrl = &new_mac_ctrl; + pkt_num = mac_ctrl->ampdu_cnt; + esp_sip_dbg(ESP_DBG_TRACE, "%s %d rx ampdu %u pkts, %d pkts dumped, first len %u\n",__func__, + __LINE__, (unsigned int)((hdr->len % sip->rx_blksz) / sizeof(struct esp_rx_ampdu_len)), + pkt_num, (unsigned int)ampdu_len->sublen); + + pkt_total += mac_ctrl->ampdu_cnt; + //esp_sip_dbg(ESP_DBG_ERROR, "%s ampdu dropped %d/%d\n", __func__, pkt_dropped, pkt_total); + while (pkt_num > 0) { + esp_sip_dbg(ESP_DBG_TRACE, "%s %d ampdu sub state %02x,\n", __func__, __LINE__, + ampdu_len->substate); + + if (sip_ampdu_occupy_buf(sip, ampdu_len)) { //pkt is dumped + + rskb = sip_parse_data_rx_info(sip, skb, ampdu_len->sublen - FCS_LEN, 0, mac_ctrl, &pulled_len); + if (!rskb) { + ESSERT(0); + goto _exit; + } + + if (likely(atomic_read(&sip->epub->wl.off) == 0) && + (ampdu_len->substate == 0 || ampdu_len->substate == RX_TKIPMIC_ERR || + (sip->sendup_rpbm_pkt && ampdu_len->substate == RX_RPBM_ERR)) && + (sip->rxabort_fixed || !have_rxabort)) + { + if(!have_goodpkt) { + have_goodpkt = true; + memcpy(frame_head, rskb->data, 16); + frame_head[1] &= ~0x80; + frame_buf_ttl = 3; + } +#ifndef RX_SENDUP_SYNC + skb_queue_tail(&sip->epub->rxq, rskb); + trigger_rxq = true; +#else +#ifdef RX_CHECKSUM_TEST + esp_rx_checksum_test(rskb); +#endif + local_bh_disable(); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)) + ieee80211_rx(sip->epub->hw, rskb); +#else + //simulate IEEE80211_SKB_RXCB in 2.6.32 + ieee80211_rx(sip->epub->hw, rskb ,(struct ieee80211_rx_status *)rskb->cb); +#endif + local_bh_enable(); +#endif /* RX_SENDUP_SYNC */ + + } else { + kfree_skb(rskb); + } + } else { + if (ampdu_len->substate == RX_ABORT) { + u8 * a; + have_rxabort = true; + esp_sip_dbg(ESP_DBG_TRACE, "rx abort %d %d\n", frame_buf_ttl, pkt_num); + if(frame_buf_ttl && !sip->rxabort_fixed) { + struct esp_rx_ampdu_len * next_good_ampdu_len = ampdu_len + 1; + a = frame_head; + esp_sip_dbg(ESP_DBG_TRACE, "frame:%02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\n", + a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]); + while(!sip_ampdu_occupy_buf(sip, next_good_ampdu_len)) { + if(next_good_ampdu_len > ampdu_len + pkt_num - 1) + break; + next_good_ampdu_len++; + + } + if(next_good_ampdu_len <= ampdu_len + pkt_num -1) { + bool b0, b10, b11; + a = skb->data; + esp_sip_dbg(ESP_DBG_TRACE, "buf:%02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\n", + a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]); + b0 = memcmp(frame_head + 4, skb->data + 4, 12) == 0; + b10 = memcmp(frame_head + 10, skb->data, 6) == 0; + b11 = memcpy(frame_head + 11, skb->data, 5) == 0; + esp_sip_dbg(ESP_DBG_TRACE, "com %d %d %d\n", b0, b10, b11); + if(b0 && !b10 && !b11) { + have_rxabort = false; + esp_sip_dbg(ESP_DBG_TRACE, "repair 0\n"); + } else if(!b0 && b10 && !b11) { + skb_push(skb, 10); + memcpy(skb->data, frame_head, 10); + have_rxabort = false; + pulled_len -= 10; + esp_sip_dbg(ESP_DBG_TRACE, "repair 10\n"); + } else if(!b0 && !b10 && b11) { + skb_push(skb, 11); + memcpy(skb->data, frame_head, 11); + have_rxabort = false; + pulled_len -= 11; + esp_sip_dbg(ESP_DBG_TRACE, "repair 11\n"); + } + } + } + } + pkt_dropped++; + esp_sip_dbg(ESP_DBG_LOG, "%s ampdu dropped %d/%d\n", __func__, pkt_dropped, pkt_total); + } + pkt_num--; + ampdu_len++; + } + if(frame_buf_ttl) + frame_buf_ttl--; + skb_pull(skb, hdr->len - pulled_len); + } else { + esp_sip_dbg(ESP_DBG_ERROR, "%s %d unknown type\n", __func__, __LINE__); + } + +_move_on: + if (hdr->len < remains_len) { + remains_len -= hdr->len; + } else { + break; + } + bufptr += hdr->len; + } + +_exit: +#ifdef ESP_PREALLOC + esp_put_sip_skb(&skb); +#else + kfree_skb(skb); +#endif + + return trigger_rxq; + +#undef DO_NOT_COPY +#undef DO_COPY +} + +static void _sip_rxq_process(struct esp_sip *sip) +{ + struct sk_buff *skb = NULL; + bool sendup = false; + + while ((skb = skb_dequeue(&sip->rxq))) { + if (sip_rx_pkt_process(sip, skb)) + sendup = true; + } +#ifndef RX_SENDUP_SYNC + if (sendup) { + queue_work(sip->epub->esp_wkq, &sip->epub->sendup_work); + } +#endif /* !RX_SENDUP_SYNC */ + + /* probably tx_credit is updated, try txq */ + sip_trigger_txq_process(sip); +} + +void sip_rxq_process(struct work_struct *work) +{ + struct esp_sip *sip = container_of(work, struct esp_sip, rx_process_work); + if (sip == NULL) { + ESSERT(0); + return; + } + + if (unlikely(atomic_read(&sip->state) == SIP_SEND_INIT)) { + sip_send_chip_init(sip); + atomic_set(&sip->state, SIP_WAIT_BOOTUP); + return; + } + + mutex_lock(&sip->rx_mtx); + _sip_rxq_process(sip); + mutex_unlock(&sip->rx_mtx); +} + +static inline void sip_rx_pkt_enqueue(struct esp_sip *sip, struct sk_buff *skb) +{ + skb_queue_tail(&sip->rxq, skb); +} + +static inline struct sk_buff * sip_rx_pkt_dequeue(struct esp_sip *sip) { + return skb_dequeue(&sip->rxq); +} + +static u32 sip_rx_count = 0; +void sip_debug_show(struct esp_sip *sip) +{ + esp_sip_dbg(ESP_DBG_ERROR, "txq left %d %d\n", skb_queue_len(&sip->epub->txq), atomic_read(&sip->tx_data_pkt_queued)); + esp_sip_dbg(ESP_DBG_ERROR, "tx queues stop ? %d\n", atomic_read(&sip->epub->txq_stopped)); + esp_sip_dbg(ESP_DBG_ERROR, "txq stop? %d\n", test_bit(ESP_WL_FLAG_STOP_TXQ, &sip->epub->wl.flags)); + esp_sip_dbg(ESP_DBG_ERROR, "tx credit %d\n", atomic_read(&sip->tx_credits)); + esp_sip_dbg(ESP_DBG_ERROR, "rx collect %d\n", sip_rx_count); + sip_rx_count = 0; +} + +int sip_rx(struct esp_pub *epub) +{ + struct sip_hdr *shdr = NULL; + struct esp_sip *sip = epub->sip; + int err = 0; + struct sk_buff *first_skb = NULL; + u8 *rx_buf = NULL; + u32 rx_blksz; + struct sk_buff *rx_skb = NULL; + + u32 first_sz; + + first_sz = sif_get_regs(epub)->config_w0; + + if (likely(sif_get_ate_config() != 1)) { + do { + u8 raw_seq = sif_get_regs(epub)->intr_raw & 0xff; + + if (raw_seq != sip->to_host_seq) { + if (raw_seq == sip->to_host_seq + 1) { /* when last read pkt crc err, this situation may occur, but raw_seq mustn't < to_host_Seq */ + sip->to_host_seq = raw_seq; + esp_dbg(ESP_DBG_TRACE, "warn: to_host_seq reg 0x%02x, seq 0x%02x", raw_seq, sip->to_host_seq); + break; + } + esp_dbg(ESP_DBG_ERROR, "err: to_host_seq reg 0x%02x, seq 0x%02x", raw_seq, sip->to_host_seq); + goto _err; + } + } while (0); + } + esp_sip_dbg(ESP_DBG_LOG, "%s enter\n", __func__); + + + /* first read one block out, if we luck enough, that's it + * + * To make design as simple as possible, we allocate skb(s) + * separately for each sif read operation to avoid global + * read_buf_pointe access. It coule be optimized late. + */ + rx_blksz = sif_get_blksz(epub); +#ifdef ESP_PREALLOC + first_skb = esp_get_sip_skb(roundup(first_sz, rx_blksz)); +#else + first_skb = __dev_alloc_skb(roundup(first_sz, rx_blksz), GFP_KERNEL); +#endif /* ESP_PREALLOC */ + + if (first_skb == NULL) { + sif_unlock_bus(epub); + esp_sip_dbg(ESP_DBG_ERROR, "%s first no memory \n", __func__); + goto _err; + } + + rx_buf = skb_put(first_skb, first_sz); + esp_sip_dbg(ESP_DBG_LOG, "%s rx_buf ptr %p, first_sz %d\n", __func__, rx_buf, first_sz); + + +#ifdef USE_EXT_GPIO + do{ + int err2 = 0; + u16 value = 0; + u16 intr_mask = ext_gpio_get_int_mask_reg(); + if(!intr_mask) + break; + value = sif_get_regs(epub)->config_w3 & intr_mask; + if(value) + { + err2 = sif_interrupt_target(epub, 6); + esp_sip_dbg(ESP_DBG, "write gpio\n"); + } + + if(!err2 && value) { + esp_sip_dbg(ESP_DBG_TRACE, "%s intr_mask[0x%04x] value[0x%04x]\n", __func__, intr_mask, value); + ext_gpio_int_process(value); + } + }while(0); +#endif + +#ifdef ESP_ACK_INTERRUPT +#ifdef ESP_ACK_LATER + err = esp_common_read(epub, rx_buf, first_sz, ESP_SIF_NOSYNC, false); + sif_platform_ack_interrupt(epub); +#else + sif_platform_ack_interrupt(epub); + err = esp_common_read(epub, rx_buf, first_sz, ESP_SIF_NOSYNC, false); +#endif /* ESP_ACK_LATER */ +#else + err = esp_common_read(epub, rx_buf, first_sz, ESP_SIF_NOSYNC, false); +#endif //ESP_ACK_INTERRUPT + sip_rx_count++; + if (unlikely(err)) { + esp_dbg(ESP_DBG_ERROR, " %s first read err %d %d\n", __func__, err, sif_get_regs(epub)->config_w0); +#ifdef ESP_PREALLOC + esp_put_sip_skb(&first_skb); +#else + kfree_skb(first_skb); +#endif /* ESP_PREALLOC */ + sif_unlock_bus(epub); + goto _err; + } + + shdr = (struct sip_hdr *)rx_buf; + if(SIP_HDR_IS_CTRL(shdr) && (shdr->c_evtid == SIP_EVT_SLEEP)) { + atomic_set(&sip->epub->ps.state, ESP_PM_ON); + esp_dbg(ESP_DBG_TRACE, "s\n"); + } + + if (likely(sif_get_ate_config() != 1)) { + sip->to_host_seq++; + } + + if ((shdr->len & 3) != 0){ + esp_sip_dbg(ESP_DBG_ERROR, "%s shdr->len[%d] error\n", __func__, shdr->len); +#ifdef ESP_PREALLOC + esp_put_sip_skb(&first_skb); +#else + kfree_skb(first_skb); +#endif /* ESP_PREALLOC */ + sif_unlock_bus(epub); + err = -EIO; + goto _err; + } + if (shdr->len != first_sz){ + esp_sip_dbg(ESP_DBG_ERROR, "%s shdr->len[%d] first_size[%d] error\n", __func__, shdr->len, first_sz); +#ifdef ESP_PREALLOC + esp_put_sip_skb(&first_skb); +#else + kfree_skb(first_skb); +#endif /* ESP_PREALLOC */ + sif_unlock_bus(epub); + err = -EIO; + goto _err; + } else { + sif_unlock_bus(epub); + skb_trim(first_skb, shdr->len); + esp_dbg(ESP_DBG_TRACE, " %s first_skb only\n", __func__); + + rx_skb = first_skb; + } + + if (atomic_read(&sip->state) == SIP_STOP) { +#ifdef ESP_PREALLOC + esp_put_sip_skb(&rx_skb); +#else + kfree_skb(rx_skb); +#endif /* ESP_PREALLOC */ + esp_sip_dbg(ESP_DBG_ERROR, "%s when sip stopped\n", __func__); + return 0; + } + + sip_rx_pkt_enqueue(sip, rx_skb); + queue_work(sip->epub->esp_wkq, &sip->rx_process_work); + +_err: + return err; +} + +int sip_post_init(struct esp_sip *sip, struct sip_evt_bootup2 *bevt) +{ + struct esp_pub *epub; + + u8 mac_id = bevt->mac_addr[0]; + int mac_index = 0; + int i = 0; + + if (sip == NULL) { + ESSERT(0); + return -EINVAL; + } + + epub = sip->epub; + + + sip->tx_aggr_write_ptr = sip->tx_aggr_buf; + + sip->tx_blksz = bevt->tx_blksz; + sip->rx_blksz = bevt->rx_blksz; + sip->credit_to_reserve = bevt->credit_to_reserve; + + sip->dump_rpbm_err = (bevt->options & SIP_DUMP_RPBM_ERR); + sip->rxabort_fixed = (bevt->options & SIP_RXABORT_FIXED); + sip->support_bgscan = (bevt->options & SIP_SUPPORT_BGSCAN); + + sip->sendup_rpbm_pkt = sip->dump_rpbm_err && false; + + /* print out MAC addr... */ + memcpy(epub->mac_addr, bevt->mac_addr, ETH_ALEN); + for(i = 0;i < sizeof(esp_mac_prefix_table)/sizeof(struct esp_mac_prefix);i++) { + if(esp_mac_prefix_table[i].mac_index == mac_id) { + mac_index = i; + break; + } + } + + epub->mac_addr[0] = esp_mac_prefix_table[mac_index].mac_addr_prefix[0]; + epub->mac_addr[1] = esp_mac_prefix_table[mac_index].mac_addr_prefix[1]; + epub->mac_addr[2] = esp_mac_prefix_table[mac_index].mac_addr_prefix[2]; + +#ifdef SELF_MAC + epub->mac_addr[0] = 0xff; + epub->mac_addr[1] = 0xff; + epub->mac_addr[2] = 0xff; +#endif + atomic_set(&sip->noise_floor, bevt->noise_floor); + + sip_recalc_credit_init(sip); + + esp_sip_dbg(ESP_DBG_TRACE, "%s tx_blksz %d rx_blksz %d mac addr %pM\n", __func__, sip->tx_blksz, sip->rx_blksz, epub->mac_addr); + + return 0; +} + +/* write pkts in aggr buf to target memory */ +static void sip_write_pkts(struct esp_sip *sip, int pm_state) +{ + int tx_aggr_len = 0; + struct sip_hdr *first_shdr = NULL; + int err = 0; + + tx_aggr_len = sip->tx_aggr_write_ptr - sip->tx_aggr_buf; + if (tx_aggr_len < sizeof(struct sip_hdr)) { + printk("%s tx_aggr_len %d \n", __func__, tx_aggr_len); + ESSERT(0); + return; + } + if ((tx_aggr_len & 0x3) != 0) { + ESSERT(0); + return; + } + + first_shdr = (struct sip_hdr *)sip->tx_aggr_buf; + + if (atomic_read(&sip->tx_credits) <= SIP_CREDITS_LOW_THRESHOLD) { + first_shdr->fc[1] |= SIP_HDR_F_NEED_CRDT_RPT; + } + + /* still use lock bus instead of sif_lldesc_write_sync since we want to protect several global varibles assignments */ + sif_lock_bus(sip->epub); + + err = esp_common_write(sip->epub, sip->tx_aggr_buf, tx_aggr_len, ESP_SIF_NOSYNC); + + sip->tx_aggr_write_ptr = sip->tx_aggr_buf; + sip->tx_tot_len = 0; + + sif_unlock_bus(sip->epub); + + if (err) + esp_sip_dbg(ESP_DBG_ERROR, "func %s err!!!!!!!!!: %d\n", __func__, err); + +} + +/* setup sip header and tx info, copy pkt into aggr buf */ +static int sip_pack_pkt(struct esp_sip *sip, struct sk_buff *skb, int *pm_state) +{ + struct ieee80211_tx_info *itx_info; + struct sip_hdr *shdr; + u32 tx_len = 0, offset = 0; + bool is_data = true; + + itx_info = IEEE80211_SKB_CB(skb); + + if (itx_info->flags == 0xffffffff) { + shdr = (struct sip_hdr *)skb->data; + is_data = false; + tx_len = skb->len; + } else { + struct ieee80211_hdr * wh = (struct ieee80211_hdr *)skb->data; + struct esp_vif *evif = (struct esp_vif *)itx_info->control.vif->drv_priv; + u8 sta_index; + struct esp_node *node; + /* update sip header */ + shdr = (struct sip_hdr *)sip->tx_aggr_write_ptr; + + shdr->fc[0] = 0; + shdr->fc[1] = 0; + + if ((itx_info->flags & IEEE80211_TX_CTL_AMPDU) && (true || esp_is_ip_pkt(skb))) + SIP_HDR_SET_TYPE(shdr->fc[0], SIP_DATA_AMPDU); + else + SIP_HDR_SET_TYPE(shdr->fc[0], SIP_DATA); + + if(evif->epub == NULL){ +#ifndef FAST_TX_STATUS + /* TBD */ +#else + sip_tx_status_report(sip, skb, itx_info, false); + atomic_dec(&sip->tx_data_pkt_queued); + return -EINVAL; +#endif /* FAST_TX_STATUS */ + } + + /* make room for encrypted pkt */ + if (itx_info->control.hw_key) { +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)) + shdr->d_enc_flag= itx_info->control.hw_key->alg+1; +#else + int alg = esp_cipher2alg(itx_info->control.hw_key->cipher); + if (unlikely(alg == -1)) { +#ifndef FAST_TX_STATUS + /* TBD */ +#else + sip_tx_status_report(sip, skb, itx_info, false); + atomic_dec(&sip->tx_data_pkt_queued); + return -1; +#endif /* FAST_TX_STATUS */ + } else { + shdr->d_enc_flag = alg + 1; + } + +#endif /* NEW_KERNEL */ + shdr->d_hw_kid = itx_info->control.hw_key->hw_key_idx | (evif->index<<7); + } else { + shdr->d_enc_flag=0; + shdr->d_hw_kid = (evif->index << 7 | evif->index); + } + + /* update sip tx info */ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)) + node = esp_get_node_by_addr(sip->epub, wh->addr1); +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + if(itx_info->control.sta == NULL){ + node = NULL; + } else { + node = esp_get_node_by_addr(sip->epub, itx_info->control.sta->addr); + } +#else + + node = esp_get_node_by_addr(sip->epub, wh->addr1); +#endif + if(node != NULL) + sta_index = node->index; + else + sta_index = ESP_PUB_MAX_STA + 1; + SIP_HDR_SET_IFIDX(shdr->fc[0], evif->index << 3 | sta_index); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) + shdr->d_p2p = itx_info->control.vif->p2p; + if(evif->index == 1) + shdr->d_p2p = 1; +#endif + shdr->d_ac = skb_get_queue_mapping(skb); + shdr->d_tid = skb->priority & IEEE80211_QOS_CTL_TAG1D_MASK; + wh = (struct ieee80211_hdr *)skb->data; + if (ieee80211_is_mgmt(wh->frame_control)) { + /* addba/delba/bar may use different tid/ac */ + if (shdr->d_ac == WME_AC_VO) { + shdr->d_tid = 7; + } + if (ieee80211_is_beacon(wh->frame_control)) { + shdr->d_tid = 8; + shdr->d_ac = 4; + } + } + if (check_ac_tid(skb->data, shdr->d_ac, shdr->d_tid)) { + shdr->d_ac = WME_AC_BE; + shdr->d_tid = 0; + } + + + /* make sure data is start at 4 bytes aligned addr. */ + offset = roundup(sizeof(struct sip_hdr), 4); + +#ifdef HOST_RC + esp_sip_dbg(ESP_DBG_TRACE, "%s offset0 %d \n", __func__, offset); + memcpy(sip->tx_aggr_write_ptr + offset, (void *)&itx_info->control, + sizeof(struct sip_tx_rc)); + + offset += roundup(sizeof(struct sip_tx_rc), 4); + esp_show_tx_rates(&itx_info->control.rates[0]); + +#endif /* HOST_RC */ + + if (SIP_HDR_IS_AMPDU(shdr)) { + memset(sip->tx_aggr_write_ptr + offset, 0, sizeof(struct esp_tx_ampdu_entry)); + offset += roundup(sizeof(struct esp_tx_ampdu_entry), 4); + } + + tx_len = offset + skb->len; + shdr->len = tx_len; /* actual len */ + + esp_sip_dbg(ESP_DBG_TRACE, "%s offset %d skblen %d txlen %d\n", __func__, offset, skb->len, tx_len); + + } + + shdr->seq = sip->txseq++; + //esp_sip_dbg(ESP_DBG_ERROR, "%s seq %u, %u %u\n", __func__, shdr->seq, SIP_HDR_GET_TYPE(shdr->fc[0]),shdr->c_cmdid); + + /* copy skb to aggr buf */ + memcpy(sip->tx_aggr_write_ptr + offset, skb->data, skb->len); + + if (is_data) { + spin_lock_bh(&sip->epub->tx_lock); + sip->txdataseq = shdr->seq; + spin_unlock_bh(&sip->epub->tx_lock); +#ifndef FAST_TX_STATUS + /* store seq in driver data, need seq to pick pkt during tx status report */ + *(u32 *)itx_info->driver_data = shdr->seq; + atomic_inc(&sip->pending_tx_status); +#else + /* fake a tx_status and report to mac80211 stack to speed up tx, may affect + * 1) rate control (now it's all in target, so should be OK) + * 2) ps mode, mac80211 want to check ACK of ps/nulldata to see if AP is awake + * 3) BAR, mac80211 do BAR by checking ACK + */ + /* + * XXX: need to adjust for 11n, e.g. report tx_status according to BA received in target + * + */ + sip_tx_status_report(sip, skb, itx_info, true); + atomic_dec(&sip->tx_data_pkt_queued); + +#endif /* FAST_TX_STATUS */ + STRACE_TX_DATA_INC(); + } else { + /* check pm state here */ + + /* no need to hold ctrl skb */ + sip_free_ctrl_skbuff(sip, skb); + STRACE_TX_CMD_INC(); + } + + /* TBD: roundup here or whole aggr-buf */ + tx_len = roundup(tx_len, sip->tx_blksz); + + sip->tx_aggr_write_ptr += tx_len; + sip->tx_tot_len += tx_len; + + return 0; +} + +#ifndef FAST_TX_STATUS + static void +sip_after_tx_status_update(struct esp_sip *sip) +{ + if (atomic_read(&sip->data_tx_stopped) == true && sip_tx_data_may_resume(sip)) { + atomic_set(&sip->data_tx_stopped, false); + if (sip_is_tx_mblk_avail(sip) == false) { + esp_sip_dbg(ESP_DBG_ERROR, "%s mblk still unavail \n", __func__); + } else { + esp_sip_dbg(ESP_DBG_TRACE, "%s trigger txq \n", __func__); + sip_trigger_txq_process(sip); + } + } else if (!sip_tx_data_may_resume(sip)) { //JLU: this is redundant + STRACE_SHOW(sip); + } +} +#endif /* !FAST_TX_STATUS */ + +#ifdef HOST_RC +static void sip_set_tx_rate_status(struct sip_rc_status *rcstatus, struct ieee80211_tx_rate *irates) +{ + int i; + u8 shift = 0; + u32 cnt = 0; + + for (i = 0; i < IEEE80211_TX_MAX_RATES; i++) { + if (rcstatus->rc_map & BIT(i)) { + shift = i << 2; + cnt = (rcstatus->rc_cnt_store >> shift) & RC_CNT_MASK; + irates[i].idx = i; + irates[i].count = (u8)cnt; + } else { + irates[i].idx = -1; + irates[i].count = 0; + } + } + + esp_show_rcstatus(rcstatus); + esp_show_tx_rates(irates); +} +#endif /* HOST_RC */ + +#ifndef FAST_TX_STATUS + static void +sip_txdoneq_process(struct esp_sip *sip, struct sip_evt_tx_report *tx_report) +{ + struct sk_buff *skb, *tmp; + struct esp_pub *epub = sip->epub; + int matchs = 0; + struct ieee80211_tx_info *tx_info; + struct sip_tx_status *tx_status; + int i; + + esp_sip_dbg(ESP_DBG_LOG, "%s enter, report->pkts %d, pending tx_status %d\n", __func__, tx_report->pkts, atomic_read(&sip->pending_tx_status)); + + /* traversal the txdone queue, find out matched skb by seq, hand over + * to up layer stack + */ + for (i = 0; i < tx_report->pkts; i++) { + //esp_sip_dbg(ESP_DBG_TRACE, "%s status %d seq %u\n", __func__, i, tx_report->status[i].sip_seq); + skb_queue_walk_safe(&epub->txdoneq, skb, tmp) { + tx_info = IEEE80211_SKB_CB(skb); + + //esp_sip_dbg(ESP_DBG_TRACE, "%s skb seq %u\n", __func__, *(u32 *)tx_info->driver_data); + if (tx_report->status[i].sip_seq == *(u32 *)tx_info->driver_data) { + tx_status = &tx_report->status[i]; + __skb_unlink(skb, &epub->txdoneq); + + //fill up ieee80211_tx_info + //TBD: lock ?? + if (tx_status->errno == SIP_TX_ST_OK && + !(tx_info->flags & IEEE80211_TX_CTL_NO_ACK)) { + tx_info->flags |= IEEE80211_TX_STAT_ACK; + } +#ifdef HOST_RC + sip_set_tx_rate_status(&tx_report->status[i].rcstatus, &tx_info->status.rates[0]); + esp_sip_dbg(ESP_DBG_TRACE, "%s idx0 %d, cnt0 %d, flags0 0x%02x\n", __func__, tx_info->status.rates[0].idx,tx_info->status.rates[0].count, tx_info->status.rates[0].flags); + +#else + /* manipulate rate status... */ + tx_info->status.rates[0].idx = 0; + tx_info->status.rates[0].count = 1; + tx_info->status.rates[0].flags = 0; + tx_info->status.rates[1].idx = -1; +#endif /* HOST_RC */ + + ieee80211_tx_status(epub->hw, skb); + matchs++; + atomic_dec(&sip->pending_tx_status); + STRACE_RX_TXSTATUS_INC(); + } + } + } + + if (matchs < tx_report->pkts) { + esp_sip_dbg(ESP_DBG_ERROR, "%s tx report mismatch! \n", __func__); + } else { + //esp_sip_dbg(ESP_DBG_TRACE, "%s tx report %d pkts! \n", __func__, matchs); + } + + sip_after_tx_status_update(sip); +} +#else +#ifndef FAST_TX_NOWAIT + + static void +sip_txdoneq_process(struct esp_sip *sip) +{ + struct esp_pub *epub = sip->epub; + struct sk_buff *skb; + while ((skb = skb_dequeue(&epub->txdoneq))) { + ieee80211_tx_status(epub->hw, skb); + } +} +#endif +#endif /* !FAST_TX_STATUS */ + +#ifdef FAST_TX_STATUS +static void sip_tx_status_report(struct esp_sip *sip, struct sk_buff *skb, struct ieee80211_tx_info *tx_info, bool success) +{ + if(!(tx_info->flags & IEEE80211_TX_CTL_AMPDU)) { + if (likely(success)) + tx_info->flags |= IEEE80211_TX_STAT_ACK; + else + tx_info->flags &= ~IEEE80211_TX_STAT_ACK; + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) + /* manipulate rate status... */ + tx_info->status.rates[0].idx = 11; + tx_info->status.rates[0].count = 1; + tx_info->status.rates[0].flags = 0; + tx_info->status.rates[1].idx = -1; +#else + tx_info->status.retry_count = 1; + tx_info->status.excessive_retries = false; +#endif + + } else { + tx_info->flags |= IEEE80211_TX_STAT_AMPDU | IEEE80211_TX_STAT_ACK; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)) + tx_info->status.ampdu_ack_map = 1; +#else + tx_info->status.ampdu_len = 1; +#endif + tx_info->status.ampdu_ack_len = 1; + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) + /* manipulate rate status... */ + tx_info->status.rates[0].idx = 7; + tx_info->status.rates[0].count = 1; + tx_info->status.rates[0].flags = IEEE80211_TX_RC_MCS | IEEE80211_TX_RC_SHORT_GI; + tx_info->status.rates[1].idx = -1; +#else + tx_info->status.retry_count = 1; + tx_info->status.excessive_retries = false; +#endif + + } + + if(tx_info->flags & IEEE80211_TX_STAT_AMPDU) + esp_sip_dbg(ESP_DBG_TRACE, "%s ampdu status! \n", __func__); + + if (!mod_support_no_txampdu() && +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)) + cfg80211_get_chandef_type(&sip->epub->hw->conf.chandef) != NL80211_CHAN_NO_HT +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) + sip->epub->hw->conf.channel_type != NL80211_CHAN_NO_HT +#else + !(sip->epub->hw->conf.flags&IEEE80211_CONF_SUPPORT_HT_MODE) +#endif + ) { + struct ieee80211_tx_info * tx_info = IEEE80211_SKB_CB(skb); + struct ieee80211_hdr * wh = (struct ieee80211_hdr *)skb->data; + if(ieee80211_is_data_qos(wh->frame_control)) { + if(!(tx_info->flags & IEEE80211_TX_CTL_AMPDU)) { + u8 tidno = ieee80211_get_qos_ctl(wh)[0] & IEEE80211_QOS_CTL_TID_MASK; + struct esp_node * node; + struct esp_tx_tid *tid; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)) + struct ieee80211_sta *sta; + + node = esp_get_node_by_addr(sip->epub, wh->addr1); + if(node == NULL) + goto _exit; + if(node->sta == NULL) + goto _exit; + sta = node->sta; +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)) + struct ieee80211_sta *sta; + sta = tx_info->control.sta; + if(sta == NULL) + goto _exit; + node = (struct esp_node *)sta->drv_priv; + if(node == NULL){ + ESSERT(0); + goto _exit; + } + if(node->sta == NULL) + goto _exit; + if(!sta->ht_cap.ht_supported) + goto _exit; +#else + node = esp_get_node_by_addr(sip->epub, wh->addr1); + if(node == NULL) + goto _exit; + if(!node->ht_info.ht_supported) + goto _exit; +#endif + tid = &node->tid[tidno]; + spin_lock_bh(&sip->epub->tx_ampdu_lock); + //start session + if(tid == NULL){ + spin_unlock_bh(&sip->epub->tx_ampdu_lock); + ESSERT(0); + goto _exit; + } + if ((tid->state == ESP_TID_STATE_INIT) && + (TID_TO_AC(tidno) != WME_AC_VO) && tid->cnt >= 10) { + tid->state = ESP_TID_STATE_TRIGGER; + esp_sip_dbg(ESP_DBG_TRACE, "start tx ba session,addr:%pM,tid:%u\n", wh->addr1, tidno); + spin_unlock_bh(&sip->epub->tx_ampdu_lock); +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)) + ieee80211_start_tx_ba_session(sip->epub->hw, wh->addr1, tidno); +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 32)) + ieee80211_start_tx_ba_session(sip->epub->hw, sta->addr, tidno); +#elif (LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 37)) + ieee80211_start_tx_ba_session(sta, tidno); +#else + ieee80211_start_tx_ba_session(sta, tidno, 0); +#endif + } else { + if(tid->state == ESP_TID_STATE_INIT) + tid->cnt++; + else + tid->cnt = 0; + spin_unlock_bh(&sip->epub->tx_ampdu_lock); + } + } + } + } +_exit: +#ifndef FAST_TX_NOWAIT + skb_queue_tail(&sip->epub->txdoneq, skb); +#else + ieee80211_tx_status(sip->epub->hw, skb); +#endif +} +#endif /* FAST_TX_STATUS */ + +/* + * NB: this routine should be locked when calling + */ + void +sip_txq_process(struct esp_pub *epub) +{ + struct sk_buff *skb; + struct esp_sip *sip = epub->sip; + u32 pkt_len = 0, tx_len = 0; + int blknum = 0; + bool queued_back = false; + bool out_of_credits = false; + struct ieee80211_tx_info *itx_info; + int pm_state = 0; + + while ((skb = skb_dequeue(&epub->txq))) { + + /* cmd skb->len does not include sip_hdr too */ + pkt_len = skb->len; + itx_info = IEEE80211_SKB_CB(skb); + if (itx_info->flags != 0xffffffff) { + pkt_len += roundup(sizeof(struct sip_hdr), 4); + if ((itx_info->flags & IEEE80211_TX_CTL_AMPDU) && (true || esp_is_ip_pkt(skb))) + pkt_len += roundup(sizeof(struct esp_tx_ampdu_entry), 4); + } + + /* current design simply requires every sip_hdr must be at the begin of mblk, that definitely + * need to be optimized, e.g. calulate remain length in the previous mblk, if it larger than + * certain threshold (e.g, whole pkt or > 50% of pkt or 2 x sizeof(struct sip_hdr), append pkt + * to the previous mblk. This might be done in sip_pack_pkt() + */ + pkt_len = roundup(pkt_len, sip->tx_blksz); + blknum = pkt_len / sip->tx_blksz; + esp_dbg(ESP_DBG_TRACE, "%s skb_len %d pkt_len %d blknum %d\n", __func__, skb->len, pkt_len, blknum); + + if (unlikely(atomic_read(&sip->credit_status) == RECALC_CREDIT_ENABLE)) { /* need recalc credit */ + struct sip_hdr *hdr = (struct sip_hdr*)skb->data; + itx_info = IEEE80211_SKB_CB(skb); + if (!(itx_info->flags == 0xffffffff && SIP_HDR_GET_TYPE(hdr->fc[0]) == SIP_CTRL && hdr->c_cmdid == SIP_CMD_RECALC_CREDIT + && blknum <= atomic_read(&sip->tx_credits) - sip->credit_to_reserve)) { /* except cmd recalc credit */ + esp_dbg(ESP_DBG_ERROR, "%s recalc credits!\n", __func__); + STRACE_TX_OUT_OF_CREDIT_INC(); + queued_back = true; + out_of_credits = true; + break; + } + } else { /* normal situation */ + if (unlikely(blknum > (atomic_read(&sip->tx_credits) - sip->credit_to_reserve - SIP_CTRL_CREDIT_RESERVE))) { + itx_info = IEEE80211_SKB_CB(skb); + if (itx_info->flags == 0xffffffff) { /* priv ctrl pkt */ + if (blknum > atomic_read(&sip->tx_credits) - sip->credit_to_reserve) { + esp_dbg(ESP_DBG_TRACE, "%s cmd pkt out of credits!\n", __func__); + STRACE_TX_OUT_OF_CREDIT_INC(); + queued_back = true; + out_of_credits = true; + break; + } + } else { + esp_dbg(ESP_DBG_TRACE, "%s out of credits!\n", __func__); + STRACE_TX_OUT_OF_CREDIT_INC(); + queued_back = true; + out_of_credits = true; + break; + } + } + } + tx_len += pkt_len; + if (tx_len >= SIP_TX_AGGR_BUF_SIZE) { + /* do we need to have limitation likemax 8 pkts in a row? */ + esp_dbg(ESP_DBG_TRACE, "%s too much pkts in one shot!\n", __func__); + STRACE_TX_ONE_SHOT_INC(); + tx_len -= pkt_len; + queued_back = true; + break; + } + + if (sip_pack_pkt(sip, skb, &pm_state) != 0) { + /* wrong pkt, won't send to target */ + tx_len -= pkt_len; + continue; + } + + esp_sip_dbg(ESP_DBG_TRACE, "%s:before sub, credits is %d\n", __func__, atomic_read(&sip->tx_credits)); + atomic_sub(blknum, &sip->tx_credits); + esp_sip_dbg(ESP_DBG_TRACE, "%s:after sub %d,credits remains %d\n", __func__, blknum, atomic_read(&sip->tx_credits)); + + } + + if (queued_back) { + skb_queue_head(&epub->txq, skb); + } + + if (atomic_read(&sip->state) == SIP_STOP +#ifdef HOST_RESET_BUG + || atomic_read(&epub->wl.off) == 1 +#endif + ) + { + queued_back = 1; + tx_len = 0; + sip_after_write_pkts(sip); + } + + if (tx_len) { + + sip_write_pkts(sip, pm_state); + + sip_after_write_pkts(sip); + } + + if (queued_back && !out_of_credits) { + + /* skb pending, do async process again */ + sip_trigger_txq_process(sip); + } +} + +static void sip_after_write_pkts(struct esp_sip *sip) +{ + +#ifndef FAST_TX_NOWAIT + sip_txdoneq_process(sip); +#endif + //disable tx_data +#ifndef FAST_TX_STATUS + if (atomic_read(&sip->data_tx_stopped) == false && sip_tx_data_need_stop(sip)) { + esp_sip_dbg(ESP_DBG_TRACE, "%s data_tx_stopped \n", __func__); + atomic_set(&sip->data_tx_stopped, true); + } +#endif /* FAST_TX_STATUS */ +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 35)) +/* + * old mac80211 (2.6.32.x) needs payload is 4 byte aligned, thus we need this hack. + * TBD: However, the latest mac80211 stack does not need this. we may + * need to check kernel version here... + */ +static void sip_check_skb_alignment(struct sk_buff *skb) +{ + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; + int hdrlen; + + hdrlen = ieee80211_hdrlen(hdr->frame_control); + + if (unlikely(((unsigned long)(skb->data + hdrlen)) & 3)) { + + esp_sip_dbg(ESP_DBG_TRACE, "%s adjust skb data postion \n", __func__); + skb_push(skb, 2); + memmove(skb->data, skb->data+2, skb->len-2); + skb_trim(skb, skb->len-2); + } +} +#endif /* !NEW_KERNEL */ + +#ifndef NO_WMM_DUMMY +static struct esp_80211_wmm_param_element esp_wmm_param = { + .oui = {0x00, 0x50, 0xf2}, + .oui_type = 0x02, + .oui_subtype = 0x01, + .version = 0x01, + .qos_info = 0x00, + .reserved = 0x00, + .ac = { + { + .aci_aifsn = 0x03, + .cw = 0xa4, + .txop_limit = 0x0000, + }, + { + .aci_aifsn = 0x27, + .cw = 0xa4, + .txop_limit = 0x0000, + }, + { + .aci_aifsn = 0x42, + .cw = 0x43, + .txop_limit = 0x005e, + }, + { + .aci_aifsn = 0x62, + .cw = 0x32, + .txop_limit = 0x002f, + }, + }, +}; + +static int esp_add_wmm(struct sk_buff *skb) +{ + u8 *p; + int flag = 0; + int remain_len; + int base_len; + int len; + struct ieee80211_mgmt * mgmt; + struct ieee80211_hdr * wh; + + if (!skb) + return -1; + + wh = (struct ieee80211_hdr *)skb->data; + mgmt = (struct ieee80211_mgmt *)((u8 *)skb->data); + + if (ieee80211_is_assoc_resp(wh->frame_control)) { + p = mgmt->u.assoc_resp.variable; + base_len = (u8 *)mgmt->u.assoc_resp.variable - (u8 *)mgmt; + } else if (ieee80211_is_reassoc_resp(wh->frame_control)) { + p = mgmt->u.reassoc_resp.variable; + base_len = (u8 *)mgmt->u.reassoc_resp.variable - (u8 *)mgmt; + } else if (ieee80211_is_probe_resp(wh->frame_control)) { + p = mgmt->u.probe_resp.variable; + base_len = (u8 *)mgmt->u.probe_resp.variable - (u8 *)mgmt; + } else if (ieee80211_is_beacon(wh->frame_control)) { + p = mgmt->u.beacon.variable; + base_len = (u8 *)mgmt->u.beacon.variable - (u8 *)mgmt; + } else + return 1; + + + remain_len = skb->len - base_len; + + while (remain_len > 0) { + if (*p == 0xdd && *(p+5) == 0x02) //wmm type + return 0; + else if (*p == 0x2d) //has ht cap + flag = 1; + + len = *(++p); + p += (len + 1); + remain_len -= (len + 2); + } + + if(remain_len < 0) { + esp_dbg(ESP_DBG_TRACE, "%s remain_len %d, skb->len %d, base_len %d, flag %d", __func__, remain_len, skb->len, base_len, flag); + return -2; + } + + if (flag == 1) { + skb_put(skb, 2 + sizeof(esp_wmm_param)); + + memset(p, 0xdd, sizeof(u8)); + memset(p + 1, sizeof(esp_wmm_param), sizeof(u8)); + memcpy(p + 2, &esp_wmm_param, sizeof(esp_wmm_param)); + + esp_dbg(ESP_DBG_TRACE, "esp_wmm_param"); + } + + return 0; +} +#endif /* NO_WMM_DUMMY */ + +/* parse mac_rx_ctrl and return length */ +static int sip_parse_mac_rx_info(struct esp_sip *sip, struct esp_mac_rx_ctrl * mac_ctrl, struct sk_buff *skb) +{ + struct ieee80211_rx_status *rx_status = NULL; + struct ieee80211_hdr *hdr; + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)) + rx_status = IEEE80211_SKB_RXCB(skb); +#else + rx_status = (struct ieee80211_rx_status *)skb->cb; +#endif + rx_status->freq = esp_ieee2mhz(mac_ctrl->channel); + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)) + rx_status->signal = mac_ctrl->rssi + mac_ctrl->noise_floor; /* snr actually, need to offset noise floor e.g. -85 */ +#else + rx_status->signal = mac_ctrl->rssi; /* snr actually, need to offset noise floor e.g. -85 */ +#endif /* NEW_KERNEL */ + + hdr = (struct ieee80211_hdr *)skb->data; + if (mac_ctrl->damatch0 == 1 && mac_ctrl->bssidmatch0 == 1 /*match bssid and da, but beacon package contain other bssid*/ + && strncmp(hdr->addr2, sip->epub->wl.bssid, ETH_ALEN) == 0) { /* force match addr2 */ + if (++signal_loop >= SIGNAL_COUNT) { + avg_signal += rx_status->signal; + avg_signal /= SIGNAL_COUNT; + old_signal = rx_status->signal = (avg_signal + 5); + signal_loop = 0; + avg_signal = 0; + } else { + avg_signal += rx_status->signal; + rx_status->signal = old_signal; + } + } + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 35)) +#define ESP_RSSI_MIN_RSSI (-90) +#define ESP_RSSI_MAX_RSSI (-45) + rx_status->noise = 0; /* TBD */ + rx_status->qual = (mac_ctrl->rssi - ESP_RSSI_MIN_RSSI)* 100/(ESP_RSSI_MAX_RSSI - ESP_RSSI_MIN_RSSI); + rx_status->qual = min(rx_status->qual, 100); + rx_status->qual = max(rx_status->qual, 0); +#undef ESP_RSSI_MAX_RSSI +#undef ESP_RSSI_MIN_RSSI +#endif /* !NEW_KERNEL && KERNEL_35*/ + rx_status->antenna = 0; /* one antenna for now */ + rx_status->band = IEEE80211_BAND_2GHZ; + rx_status->flag = RX_FLAG_DECRYPTED | RX_FLAG_MMIC_STRIPPED; + if (mac_ctrl->sig_mode) { + // 2.6.27 has RX_FLAG_RADIOTAP in enum mac80211_rx_flags in include/net/mac80211.h +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) +# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)) + rx_status->flag |= RX_FLAG_HT; +# else + rx_status->encoding = RX_ENC_HT; +# endif + rx_status->rate_idx = mac_ctrl->MCS; + if(mac_ctrl->SGI) +# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)) + rx_status->flag |= RX_FLAG_SHORT_GI; +# else + rx_status->enc_flags |= RX_ENC_FLAG_SHORT_GI; +# endif +#else + rx_status->rate_idx = esp_wmac_rate2idx(0xc);//ESP_RATE_54 +#endif + } else { + rx_status->rate_idx = esp_wmac_rate2idx(mac_ctrl->rate); + } + if (mac_ctrl->rxend_state == RX_FCS_ERR) + rx_status->flag |= RX_FLAG_FAILED_FCS_CRC; + + /* Mic error frame flag */ + if (mac_ctrl->rxend_state == RX_TKIPMIC_ERR || mac_ctrl->rxend_state == RX_CCMPMIC_ERR){ + if(atomic_read(&sip->epub->wl.tkip_key_set) == 1){ + rx_status->flag|= RX_FLAG_MMIC_ERROR; + atomic_set(&sip->epub->wl.tkip_key_set, 0); + printk("mic err\n"); + } else { + printk("mic err discard\n"); + } + } + + //esp_dbg(ESP_DBG_LOG, "%s freq: %u; signal: %d; rate_idx %d; flag: %d \n", __func__, rx_status->freq, rx_status->signal, rx_status->rate_idx, rx_status->flag); + + do { + struct ieee80211_hdr * wh = (struct ieee80211_hdr *)((u8 *)skb->data); + +#ifndef NO_WMM_DUMMY + if (ieee80211_is_mgmt(wh->frame_control)) + esp_add_wmm(skb); +#endif + +#ifdef KERNEL_IV_WAR + /* some kernel e.g. 3.0.8 wrongly handles non-encrypted pkt like eapol */ + if (ieee80211_is_data(wh->frame_control)) { + if( !ieee80211_has_protected(wh->frame_control)) { + esp_sip_dbg(ESP_DBG_TRACE, "%s kiv_war, add iv_stripped flag \n", __func__); + rx_status->flag |= RX_FLAG_IV_STRIPPED; + } else { + if ((atomic_read(&sip->epub->wl.ptk_cnt) == 0 && !(wh->addr1[0] & 0x1)) || + (atomic_read(&sip->epub->wl.gtk_cnt) == 0 && (wh->addr1[0] & 0x1))) + { + esp_dbg(ESP_DBG_TRACE, "%s ==kiv_war, got bogus enc pkt==\n", __func__); + rx_status->flag |= RX_FLAG_IV_STRIPPED; + //show_buf(skb->data, 32); + } + + esp_sip_dbg(ESP_DBG_TRACE, "%s kiv_war, got enc pkt \n", __func__); + } + } +#endif /* KERNEL_IV_WAR*/ + } while (0); + + return 0; +} + +static struct esp_mac_rx_ctrl *sip_parse_normal_mac_ctrl(struct sk_buff *skb, int * pkt_len_enc, int *buf_len, int *pulled_len) +{ + struct esp_mac_rx_ctrl *mac_ctrl = NULL; + struct sip_hdr *hdr =(struct sip_hdr *)skb->data; + int len_in_hdr = hdr->len; + + ESSERT(skb != NULL); + ESSERT(skb->len > SIP_MIN_DATA_PKT_LEN); + + skb_pull(skb, sizeof(struct sip_hdr)); + *pulled_len += sizeof(struct sip_hdr); + mac_ctrl = (struct esp_mac_rx_ctrl *)skb->data; + if(!mac_ctrl->Aggregation) { + ESSERT(pkt_len_enc != NULL); + ESSERT(buf_len != NULL); + *pkt_len_enc = (mac_ctrl->sig_mode?mac_ctrl->HT_length:mac_ctrl->legacy_length) - FCS_LEN; + *buf_len = len_in_hdr - sizeof(struct sip_hdr) - sizeof(struct esp_mac_rx_ctrl); + } + skb_pull(skb, sizeof(struct esp_mac_rx_ctrl)); + *pulled_len += sizeof(struct esp_mac_rx_ctrl); + + return mac_ctrl; +} + +/* + * for one MPDU (including subframe in AMPDU) + * + */ +static struct sk_buff * sip_parse_data_rx_info(struct esp_sip *sip, struct sk_buff *skb, int pkt_len_enc, int buf_len, struct esp_mac_rx_ctrl *mac_ctrl, int *pulled_len) { + /* + * | mac_rx_ctrl | real_data_payload | ampdu_entries | + */ + //without enc + int pkt_len = 0; + struct sk_buff *rskb = NULL; + int ret; + + if (mac_ctrl->Aggregation) { + struct ieee80211_hdr * wh = (struct ieee80211_hdr *)skb->data; + pkt_len = pkt_len_enc; + if (ieee80211_has_protected(wh->frame_control))//ampdu, it is CCMP enc + pkt_len -= 8; + buf_len = roundup(pkt_len, 4); + } else + pkt_len = buf_len - 3 + ((pkt_len_enc - 1) & 0x3); + esp_dbg(ESP_DBG_TRACE, "%s pkt_len %u, pkt_len_enc %u!, delta %d \n", __func__, pkt_len, pkt_len_enc, pkt_len_enc - pkt_len); + do { +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)) +#ifndef NO_WMM_DUMMY + rskb = __dev_alloc_skb(pkt_len_enc + 2 + sizeof(esp_wmm_param) + 2, GFP_ATOMIC); +#else + rskb = __dev_alloc_skb(pkt_len_enc + 2, GFP_ATOMIC); +#endif /* NO_WMM_DUMMY */ +#else +#ifndef NO_WMM_DUMMY + rskb = __dev_alloc_skb(pkt_len_enc + sizeof(esp_wmm_param) + 2, GFP_ATOMIC); +#else + rskb = __dev_alloc_skb(pkt_len_enc, GFP_ATOMIC); +#endif /* NO_WMM_DUMMY */ +#endif/* NEW_KERNEL */ + if (unlikely(rskb == NULL)) { + esp_sip_dbg(ESP_DBG_ERROR, "%s no mem for rskb\n", __func__); + return NULL; + } + skb_put(rskb, pkt_len_enc); + } while(0); + + do { +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)) + do { + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; + int hdrlen; + + hdrlen = ieee80211_hdrlen(hdr->frame_control); + if (unlikely(((unsigned long)(rskb->data + hdrlen)) & 3)) { + skb_put(rskb, 2); + skb_pull(rskb, 2); + } + } while(0); +#endif /* < KERNEL_VERSION(2, 6, 39) */ + memcpy(rskb->data, skb->data, pkt_len); + if (pkt_len_enc > pkt_len) { + memset(rskb->data + pkt_len, 0, pkt_len_enc - pkt_len); + } + /* strip out current pkt, move to the next one */ + skb_pull(skb, buf_len); + *pulled_len += buf_len; + } while (0); + + ret = sip_parse_mac_rx_info(sip, mac_ctrl, rskb); + if(ret == -1 && !mac_ctrl->Aggregation) { + kfree_skb(rskb); + return NULL; + } + + esp_dbg(ESP_DBG_LOG, "%s after pull headers, skb->len %d rskb->len %d \n", __func__, skb->len, rskb->len); + + return rskb; +} + +struct esp_sip * sip_attach(struct esp_pub *epub) +{ + struct esp_sip *sip = NULL; + struct sip_pkt *pkt = NULL; + int i; +#ifndef ESP_PREALLOC + int po = 0; +#endif + + sip = kzalloc(sizeof(struct esp_sip), GFP_KERNEL); + if (sip == NULL) { + esp_dbg(ESP_DBG_ERROR, "no mem for sip! \n"); + goto _err_sip; + } + +#ifdef ESP_PREALLOC + sip->tx_aggr_buf = (u8 *)esp_get_tx_aggr_buf(); +#else + po = get_order(SIP_TX_AGGR_BUF_SIZE); + sip->tx_aggr_buf = (u8 *)__get_free_pages(GFP_ATOMIC, po); +#endif + if (sip->tx_aggr_buf == NULL) { + esp_dbg(ESP_DBG_ERROR, "no mem for tx_aggr_buf! \n"); + goto _err_aggr; + } + + spin_lock_init(&sip->lock); + + INIT_LIST_HEAD(&sip->free_ctrl_txbuf); + INIT_LIST_HEAD(&sip->free_ctrl_rxbuf); + + for (i = 0; i < SIP_CTRL_BUF_N; i++) { + pkt = kzalloc(sizeof(struct sip_pkt), GFP_KERNEL); + + if (!pkt) + goto _err_pkt; + + pkt->buf_begin = kzalloc(SIP_CTRL_BUF_SZ, GFP_KERNEL); + + if (pkt->buf_begin == NULL) { + kfree(pkt); + pkt = NULL; + goto _err_pkt; + } + + pkt->buf_len = SIP_CTRL_BUF_SZ; + pkt->buf = pkt->buf_begin; + + if (i < SIP_CTRL_TXBUF_N) { + list_add_tail(&pkt->list, &sip->free_ctrl_txbuf); + } else { + list_add_tail(&pkt->list, &sip->free_ctrl_rxbuf); + } + } + + mutex_init(&sip->rx_mtx); + skb_queue_head_init(&sip->rxq); + INIT_WORK(&sip->rx_process_work, sip_rxq_process); + + sip->epub = epub; + atomic_set(&sip->noise_floor, -96); + + atomic_set(&sip->state, SIP_INIT); + atomic_set(&sip->tx_credits, 0); + + if (sip->rawbuf == NULL) { + sip->rawbuf = kzalloc(SIP_BOOT_BUF_SIZE, GFP_KERNEL); + if (sip->rawbuf == NULL) { + esp_dbg(ESP_DBG_ERROR, "no mem for rawbuf! \n"); + goto _err_pkt; + } + } + + atomic_set(&sip->state, SIP_PREPARE_BOOT); + + return sip; + +_err_pkt: + sip_free_init_ctrl_buf(sip); + + if (sip->tx_aggr_buf) { +#ifdef ESP_PREALLOC + esp_put_tx_aggr_buf(&sip->tx_aggr_buf); +#else + po = get_order(SIP_TX_AGGR_BUF_SIZE); + free_pages((unsigned long)sip->tx_aggr_buf, po); + sip->tx_aggr_buf = NULL; +#endif + } +_err_aggr: + if (sip) { + kfree(sip); + sip = NULL; + } +_err_sip: + return NULL; + +} + +static void sip_free_init_ctrl_buf(struct esp_sip *sip) +{ + struct sip_pkt *pkt, *tpkt; + + list_for_each_entry_safe(pkt, tpkt, + &sip->free_ctrl_txbuf, list) { + list_del(&pkt->list); + kfree(pkt->buf_begin); + kfree(pkt); + } + + list_for_each_entry_safe(pkt, tpkt, + &sip->free_ctrl_rxbuf, list) { + list_del(&pkt->list); + kfree(pkt->buf_begin); + kfree(pkt); + } +} + +void sip_detach(struct esp_sip *sip) +{ +#ifndef ESP_PREALLOC + int po; +#endif + if (sip == NULL) + return ; + + sip_free_init_ctrl_buf(sip); + + if (atomic_read(&sip->state) == SIP_RUN) { + + sif_disable_target_interrupt(sip->epub); + + atomic_set(&sip->state, SIP_STOP); + + /* disable irq here */ + sif_disable_irq(sip->epub); + cancel_work_sync(&sip->rx_process_work); + + skb_queue_purge(&sip->rxq); + mutex_destroy(&sip->rx_mtx); + cancel_work_sync(&sip->epub->sendup_work); + skb_queue_purge(&sip->epub->rxq); + +#ifdef ESP_NO_MAC80211 + unregister_netdev(sip->epub->net_dev); + wiphy_unregister(sip->epub->wdev->wiphy); +#else + if (test_and_clear_bit(ESP_WL_FLAG_HW_REGISTERED, &sip->epub->wl.flags)) { + ieee80211_unregister_hw(sip->epub->hw); + } +#endif + + /* cancel all worker/timer */ + cancel_work_sync(&sip->epub->tx_work); + skb_queue_purge(&sip->epub->txq); + skb_queue_purge(&sip->epub->txdoneq); + +#ifdef ESP_PREALLOC + esp_put_tx_aggr_buf(&sip->tx_aggr_buf); +#else + po = get_order(SIP_TX_AGGR_BUF_SIZE); + free_pages((unsigned long)sip->tx_aggr_buf, po); + sip->tx_aggr_buf = NULL; +#endif + + atomic_set(&sip->state, SIP_INIT); + } else if (atomic_read(&sip->state) >= SIP_BOOT && atomic_read(&sip->state) <= SIP_WAIT_BOOTUP) { + + sif_disable_target_interrupt(sip->epub); + atomic_set(&sip->state, SIP_STOP); + sif_disable_irq(sip->epub); + + if (sip->rawbuf) + kfree(sip->rawbuf); + + if (atomic_read(&sip->state) == SIP_SEND_INIT) { + cancel_work_sync(&sip->rx_process_work); + skb_queue_purge(&sip->rxq); + mutex_destroy(&sip->rx_mtx); + cancel_work_sync(&sip->epub->sendup_work); + skb_queue_purge(&sip->epub->rxq); + } + +#ifdef ESP_NO_MAC80211 + unregister_netdev(sip->epub->net_dev); + wiphy_unregister(sip->epub->wdev->wiphy); +#else + if (test_and_clear_bit(ESP_WL_FLAG_HW_REGISTERED, &sip->epub->wl.flags)) { + ieee80211_unregister_hw(sip->epub->hw); + } +#endif + atomic_set(&sip->state, SIP_INIT); + } else + esp_dbg(ESP_DBG_ERROR, "%s wrong state %d\n", __func__, atomic_read(&sip->state)); + + kfree(sip); +} + +int sip_write_memory(struct esp_sip *sip, u32 addr, u8 *buf, u16 len) +{ + struct sip_cmd_write_memory *cmd; + struct sip_hdr *chdr; + u16 remains, hdrs, bufsize; + u32 loadaddr; + u8 *src; + int err = 0; + u32 *t = NULL; + + if (sip == NULL || sip->rawbuf == NULL) { + ESSERT(sip != NULL); + ESSERT(sip->rawbuf != NULL); + return -EINVAL; + } + + memset(sip->rawbuf, 0, SIP_BOOT_BUF_SIZE); + + chdr = (struct sip_hdr *)sip->rawbuf; + SIP_HDR_SET_TYPE(chdr->fc[0], SIP_CTRL); + chdr->c_cmdid = SIP_CMD_WRITE_MEMORY; + + remains = len; + hdrs = sizeof(struct sip_hdr) + sizeof(struct sip_cmd_write_memory); + + while (remains) { + src = &buf[len - remains]; + loadaddr = addr + (len - remains); + + if (remains < (SIP_BOOT_BUF_SIZE - hdrs)) { + /* aligned with 4 bytes */ + bufsize = roundup(remains, 4); + memset(sip->rawbuf + hdrs, 0, bufsize); + remains = 0; + } else { + bufsize = SIP_BOOT_BUF_SIZE - hdrs; + remains -= bufsize; + } + + chdr->len = bufsize + hdrs; + chdr->seq = sip->txseq++; + cmd = (struct sip_cmd_write_memory *)(sip->rawbuf + SIP_CTRL_HDR_LEN); + cmd->len = bufsize; + cmd->addr = loadaddr; + memcpy(sip->rawbuf+hdrs, src, bufsize); + + t = (u32 *)sip->rawbuf; + esp_dbg(ESP_DBG_TRACE, "%s t0: 0x%08x t1: 0x%08x t2:0x%08x loadaddr 0x%08x \n", __func__, t[0], t[1], t[2], loadaddr); + + err = esp_common_write(sip->epub, sip->rawbuf, chdr->len, ESP_SIF_SYNC); + + if (err) { + esp_dbg(ESP_DBG_ERROR, "%s send buffer failed\n", __func__); + return err; + } + + // 1ms is enough, in fact on dell-d430, need not delay at all. + mdelay(1); + + } + + return err; +} + +int sip_send_cmd(struct esp_sip *sip, int cid, u32 cmdlen, void *cmd) +{ + struct sip_hdr *chdr; + struct sip_pkt *pkt = NULL; + int ret = 0; + + pkt = sip_get_ctrl_buf(sip, SIP_TX_CTRL_BUF); + + if (pkt == NULL) + return -ENOMEM; + + chdr = (struct sip_hdr *)pkt->buf_begin; + chdr->len = SIP_CTRL_HDR_LEN + cmdlen; + chdr->seq = sip->txseq++; + chdr->c_cmdid = cid; + + + if (cmd) { + memset(pkt->buf, 0, cmdlen); + memcpy(pkt->buf, (u8 *)cmd, cmdlen); + } + + esp_dbg(ESP_DBG_TRACE, "cid %d, len %u, seq %u \n", chdr->c_cmdid, chdr->len, chdr->seq); + + esp_dbg(ESP_DBG_TRACE, "c1 0x%08x c2 0x%08x\n", *(u32 *)&pkt->buf[0], *(u32 *)&pkt->buf[4]); + + ret = esp_common_write(sip->epub, pkt->buf_begin, chdr->len, ESP_SIF_SYNC); + + if (ret) + esp_dbg(ESP_DBG_ERROR, "%s send cmd %d failed \n", __func__, cid); + + sip_reclaim_ctrl_buf(sip, pkt, SIP_TX_CTRL_BUF); + + /* + * Hack here: reset tx/rx seq before target ram code is up... + */ + if (cid == SIP_CMD_BOOTUP) { + sip->rxseq = 0; + sip->txseq = 0; + sip->txdataseq = 0; + } + + return ret; +} + +struct sk_buff * +sip_alloc_ctrl_skbuf(struct esp_sip *sip, u16 len, u32 cid) { + struct sip_hdr *si = NULL; + struct ieee80211_tx_info *ti = NULL; + struct sk_buff *skb = NULL; + + ESSERT(len <= sip->tx_blksz); + + /* no need to reserve space for net stack */ + skb = __dev_alloc_skb(len, GFP_KERNEL); + + if (skb == NULL) { + esp_dbg(ESP_DBG_ERROR, "no skb for ctrl !\n"); + return NULL; + } + + skb->len = len; + + ti = IEEE80211_SKB_CB(skb); + /* set tx_info flags to 0xffffffff to indicate sip_ctrl pkt */ + ti->flags = 0xffffffff; + si = (struct sip_hdr *)skb->data; + memset(si, 0, sizeof(struct sip_hdr)); + SIP_HDR_SET_TYPE(si->fc[0], SIP_CTRL); + si->len = len; + si->c_cmdid = cid; + + return skb; +} + + void +sip_free_ctrl_skbuff(struct esp_sip *sip, struct sk_buff *skb) +{ + memset(IEEE80211_SKB_CB(skb), 0, sizeof(struct ieee80211_tx_info)); + kfree_skb(skb); +} + +static struct sip_pkt * +sip_get_ctrl_buf(struct esp_sip *sip, SIP_BUF_TYPE bftype) { + struct sip_pkt *pkt = NULL; + struct list_head *bflist; + struct sip_hdr *chdr; + + bflist = (bftype == SIP_TX_CTRL_BUF) ? &sip->free_ctrl_txbuf :&sip->free_ctrl_rxbuf; + + spin_lock_bh(&sip->lock); + + if (list_empty(bflist)) { + spin_unlock_bh(&sip->lock); + return NULL; + } + + pkt = list_first_entry(bflist, struct sip_pkt, list); + list_del(&pkt->list); + spin_unlock_bh(&sip->lock); + + if (bftype == SIP_TX_CTRL_BUF) { + chdr = (struct sip_hdr *)pkt->buf_begin; + SIP_HDR_SET_TYPE(chdr->fc[0], SIP_CTRL); + pkt->buf = pkt->buf_begin + SIP_CTRL_HDR_LEN; + } else { + pkt->buf = pkt->buf_begin; + } + + return pkt; +} + + static void +sip_reclaim_ctrl_buf(struct esp_sip *sip, struct sip_pkt *pkt, SIP_BUF_TYPE bftype) +{ + struct list_head *bflist = NULL; + + if (bftype == SIP_TX_CTRL_BUF) + bflist = &sip->free_ctrl_txbuf; + else if (bftype == SIP_RX_CTRL_BUF) + bflist = &sip->free_ctrl_rxbuf; + else return; + + pkt->buf = pkt->buf_begin; + + spin_lock_bh(&sip->lock); + list_add_tail(&pkt->list, bflist); + spin_unlock_bh(&sip->lock); +} + + int +sip_poll_bootup_event(struct esp_sip *sip) +{ + int ret = 0; + + esp_dbg(ESP_DBG_TRACE, "polling bootup event... \n"); + + if (gl_bootup_cplx) + ret = wait_for_completion_timeout(gl_bootup_cplx, 2 * HZ); + + esp_dbg(ESP_DBG_TRACE, "******time remain****** = [%d]\n", ret); + if (ret <= 0) { + esp_dbg(ESP_DBG_ERROR, "bootup event timeout\n"); + return -ETIMEDOUT; + } + + if(sif_get_ate_config() == 0){ + ret = esp_register_mac80211(sip->epub); + } + +#ifdef TEST_MODE + ret = test_init_netlink(sip); + if (ret < 0) { + esp_sip_dbg(ESP_DBG_TRACE, "esp_sdio: failed initializing netlink\n"); + return ret; + } +#endif + + atomic_set(&sip->state, SIP_RUN); + esp_dbg(ESP_DBG_TRACE, "target booted up\n"); + + return ret; +} + + int +sip_poll_resetting_event(struct esp_sip *sip) +{ + int ret = 0; + + esp_dbg(ESP_DBG_TRACE, "polling resetting event... \n"); + + if (gl_bootup_cplx) { + ret = wait_for_completion_timeout(gl_bootup_cplx, 10 * HZ); + } + + esp_dbg(ESP_DBG_TRACE, "******time remain****** = [%d]\n", ret); + if (ret <= 0) { + esp_dbg(ESP_DBG_ERROR, "resetting event timeout\n"); + return -ETIMEDOUT; + } + + esp_dbg(ESP_DBG_TRACE, "target resetting %d %p\n", ret, gl_bootup_cplx); + + return 0; +} + + +#ifdef FPGA_DEBUG + +/* bogus bootup cmd for FPGA debugging */ + int +sip_send_bootup(struct esp_sip *sip) +{ + int ret; + struct sip_cmd_bootup bootcmd; + + esp_dbg(ESP_DBG_LOG, "sending bootup\n"); + + bootcmd.boot_addr = 0; + ret = sip_send_cmd(sip, SIP_CMD_BOOTUP, sizeof(struct sip_cmd_bootup), &bootcmd); + + return ret; +} + +#endif /* FPGA_DEBUG */ + + bool +sip_queue_need_stop(struct esp_sip *sip) +{ + return atomic_read(&sip->tx_data_pkt_queued) >= SIP_STOP_QUEUE_THRESHOLD + || (atomic_read(&sip->tx_credits) < 8 + && atomic_read(&sip->tx_data_pkt_queued) >= SIP_STOP_QUEUE_THRESHOLD / 4 * 3); +} + + bool +sip_queue_may_resume(struct esp_sip *sip) +{ + return atomic_read(&sip->epub->txq_stopped) + && !test_bit(ESP_WL_FLAG_STOP_TXQ, &sip->epub->wl.flags) + && ((atomic_read(&sip->tx_credits) >= 16 + && atomic_read(&sip->tx_data_pkt_queued) < SIP_RESUME_QUEUE_THRESHOLD * 2) + || atomic_read(&sip->tx_data_pkt_queued) < SIP_RESUME_QUEUE_THRESHOLD); +} + +#ifndef FAST_TX_STATUS + bool +sip_tx_data_need_stop(struct esp_sip *sip) +{ + return atomic_read(&sip->pending_tx_status) >= SIP_PENDING_STOP_TX_THRESHOLD; +} + + bool +sip_tx_data_may_resume(struct esp_sip *sip) +{ + return atomic_read(&sip->pending_tx_status) < SIP_PENDING_RESUME_TX_THRESHOLD; +} +#endif /* FAST_TX_STATUS */ + + int +sip_cmd_enqueue(struct esp_sip *sip, struct sk_buff *skb, int prior) +{ + if (!sip || !sip->epub) { + esp_dbg(ESP_DBG_ERROR, "func %s, sip->epub->txq is NULL\n", __func__); + return -EINVAL; + } + + if (!skb) { + esp_dbg(ESP_DBG_ERROR, "func %s, skb is NULL\n", __func__); + return -EINVAL; + } + + if (prior == ENQUEUE_PRIOR_HEAD) + skb_queue_head(&sip->epub->txq, skb); + else + skb_queue_tail(&sip->epub->txq, skb); + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32) + if(sif_get_ate_config() == 0){ + ieee80211_queue_work(sip->epub->hw, &sip->epub->tx_work); + } else { + queue_work(sip->epub->esp_wkq, &sip->epub->tx_work); + } +#else + queue_work(sip->epub->esp_wkq, &sip->epub->tx_work); +#endif + return 0; +} + +void sip_tx_data_pkt_enqueue(struct esp_pub *epub, struct sk_buff *skb) +{ + if(!epub || !epub->sip) { + if (!epub) + esp_dbg(ESP_DBG_ERROR, "func %s, epub is NULL\n", __func__); + else + esp_dbg(ESP_DBG_ERROR, "func %s, epub->sip is NULL\n", __func__); + + return; + } + if (!skb) { + esp_dbg(ESP_DBG_ERROR, "func %s, skb is NULL\n", __func__); + return; + } + skb_queue_tail(&epub->txq, skb); + atomic_inc(&epub->sip->tx_data_pkt_queued); + if(sip_queue_need_stop(epub->sip)){ + if (epub->hw) { + ieee80211_stop_queues(epub->hw); + atomic_set(&epub->txq_stopped, true); + } + + } +} + +#ifdef FPGA_TXDATA +int sip_send_tx_data(struct esp_sip *sip) +{ + struct sk_buff *skb = NULL; + struct sip_cmd_bss_info_update*bsscmd; + + skb = sip_alloc_ctrl_skbuf(epub->sip, sizeof(struct sip_cmd_bss_info_update), SIP_CMD_BSS_INFO_UPDATE); + if (!skb) + return -EINVAL; + + bsscmd = (struct sip_cmd_bss_info_update *)(skb->data + sizeof(struct sip_tx_info)); + bsscmd->isassoc= (assoc==true)? 1: 0; + memcpy(bsscmd->bssid, bssid, ETH_ALEN); + STRACE_SHOW(epub->sip); + return sip_cmd_enqueue(epub->sip, skb, ENQUEUE_PRIOR_TAIL); +} +#endif /* FPGA_TXDATA */ diff --git a/drivers/net/wireless/esp8089/esp_sip.h b/drivers/net/wireless/esp8089/esp_sip.h new file mode 100755 index 000000000000..8afc7655c209 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_sip.h @@ -0,0 +1,174 @@ +/* + * Copyright (c) 2009- 2014 Espressif System. + * + * Serial Interconnctor Protocol + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef _ESP_SIP_H +#define _ESP_SIP_H + +#include "sip2_common.h" + +#define SIP_CTRL_CREDIT_RESERVE 2 + +#define SIP_PKT_MAX_LEN (1024*16) + +/* 16KB on normal X86 system, should check before porting to orhters */ + +#define SIP_TX_AGGR_BUF_SIZE (4 * PAGE_SIZE) +#define SIP_RX_AGGR_BUF_SIZE (4 * PAGE_SIZE) + +struct sk_buff; + +struct sip_pkt { + struct list_head list; + + u8 * buf_begin; + u32 buf_len; + u8 * buf; +}; + +typedef enum RECALC_CREDIT_STATE { + RECALC_CREDIT_DISABLE = 0, + RECALC_CREDIT_ENABLE = 1, +} RECALC_CREDIT_STATE; + +typedef enum ENQUEUE_PRIOR { + ENQUEUE_PRIOR_TAIL = 0, + ENQUEUE_PRIOR_HEAD, +} ENQUEUE_PRIOR; + +typedef enum SIP_STATE { + SIP_INIT = 0, + SIP_PREPARE_BOOT, + SIP_BOOT, + SIP_SEND_INIT, + SIP_WAIT_BOOTUP, + SIP_RUN, + SIP_SUSPEND, + SIP_STOP +} SIP_STATE; + +enum sip_notifier { + SIP_TX_DONE = 1, + SIP_RX_DONE = 2, +}; + +#define SIP_CREDITS_LOW_THRESHOLD 64 //i.e. 4k + +struct esp_sip { + struct list_head free_ctrl_txbuf; + struct list_head free_ctrl_rxbuf; + + u32 rxseq; /* sip pkt seq, should match target side */ + u32 txseq; + u32 txdataseq; + + u8 to_host_seq; + + atomic_t state; + spinlock_t lock; + atomic_t tx_credits; + + atomic_t tx_ask_credit_update; + + u8 * rawbuf; /* used in boot stage, free once chip is fully up */ + u8 * tx_aggr_buf; + u8 * tx_aggr_write_ptr; /* update after insertion of each pkt */ + u8 * tx_aggr_lastpkt_ptr; + + struct mutex rx_mtx; + struct sk_buff_head rxq; + struct work_struct rx_process_work; + + u16 tx_blksz; + u16 rx_blksz; + + bool dump_rpbm_err; + bool sendup_rpbm_pkt; + bool rxabort_fixed; + bool support_bgscan; + u8 credit_to_reserve; + + atomic_t credit_status; + struct timer_list credit_timer; + + atomic_t noise_floor; + + u32 tx_tot_len; /* total len for one transaction */ + u32 rx_tot_len; + + atomic_t rx_handling; + atomic_t tx_data_pkt_queued; + +#ifndef FAST_TX_STATUS + atomic_t pending_tx_status; +#endif /* !FAST_TX_STATUS */ + + atomic_t data_tx_stopped; + atomic_t tx_stopped; + + struct esp_pub *epub; +}; + +int sip_rx(struct esp_pub * epub); +//int sip_download_fw(struct esp_sip *sip, u32 load_addr, u32 boot_addr); + + +int sip_write_memory(struct esp_sip *, u32 addr, u8* buf, u16 len); + +void sip_credit_process(struct esp_pub *, u8 credits); + +int sip_send_cmd(struct esp_sip *sip, int cid, u32 cmdlen, void * cmd); + +struct esp_sip * sip_attach(struct esp_pub *); + +int sip_post_init(struct esp_sip *sip, struct sip_evt_bootup2 *bevt); + +void sip_detach(struct esp_sip *sip); + +void sip_txq_process(struct esp_pub *epub); + +struct sk_buff * sip_alloc_ctrl_skbuf(struct esp_sip *sip, u16 len, u32 cid); + +void sip_free_ctrl_skbuff(struct esp_sip *sip, struct sk_buff* skb); + +bool sip_queue_need_stop(struct esp_sip *sip); +bool sip_queue_may_resume(struct esp_sip *sip); +bool sip_tx_data_need_stop(struct esp_sip *sip); +bool sip_tx_data_may_resume(struct esp_sip *sip); + +void sip_tx_data_pkt_enqueue(struct esp_pub *epub, struct sk_buff *skb); +void sip_rx_data_pkt_enqueue(struct esp_pub *epub, struct sk_buff *skb); + +int sip_cmd_enqueue(struct esp_sip *sip, struct sk_buff *skb, int prior); + +int sip_poll_bootup_event(struct esp_sip *sip); + +int sip_poll_resetting_event(struct esp_sip *sip); + +void sip_trigger_txq_process(struct esp_sip *sip); + +void sip_send_chip_init(struct esp_sip *sip); + +bool mod_support_no_txampdu(void); + +bool mod_support_no_rxampdu(void); + +void mod_support_no_txampdu_set(bool value); + +#ifdef FPGA_DEBUG +int sip_send_bootup(struct esp_sip *sip); +#endif /* FPGA_DEBUG */ +void sip_debug_show(struct esp_sip *sip); +#endif diff --git a/drivers/net/wireless/esp8089/esp_utils.c b/drivers/net/wireless/esp8089/esp_utils.c new file mode 100755 index 000000000000..e99be368b894 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_utils.c @@ -0,0 +1,242 @@ +/* + * Copyright (c) 2009 - 2014 Espressif System. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include "linux/types.h" +#include "linux/kernel.h" +#include +#include +#include + +#include +#include +#include + +#include "esp_pub.h" +#include "esp_utils.h" +#include "esp_wmac.h" +#include "esp_debug.h" + +/* + * Convert IEEE channel number to MHz frequency. + */ +u32 esp_ieee2mhz(u8 chan) +{ + if (chan == 14) + return 2484; + + if (chan < 14) + return 2407 + chan*5; + else + return 2512 + ((chan-15)*20); + //TODO, add 5GHz +} +enum { + ESP_RATE_1_LONG = 0x0, + ESP_RATE_2_LONG = 0x1, + ESP_RATE_2_SHORT = 0x5, + ESP_RATE_5_SHORT = 0x6, + ESP_RATE_5_LONG = 0x2, + ESP_RATE_11_SHORT = 0x7, + ESP_RATE_11_LONG = 0x3, + ESP_RATE_6 = 0xb, + ESP_RATE_9 = 0xf, + ESP_RATE_12 = 0xa, + ESP_RATE_18 = 0xe, + ESP_RATE_24 = 0x9, + ESP_RATE_36 = 0xd, + ESP_RATE_48 = 0x8, + ESP_RATE_54 = 0xc, + /* ESP_RATE_MCS0 =0x10, + ESP_RATE_MCS1 =0x11, + ESP_RATE_MCS2 =0x12, + ESP_RATE_MCS3 =0x13, + ESP_RATE_MCS4 =0x14, + ESP_RATE_MCS5 =0x15, + ESP_RATE_MCS6 =0x16, + ESP_RATE_MCS7 =0x17, + */ +}; + +static u8 esp_rate_table[20] = { + ESP_RATE_1_LONG, + ESP_RATE_2_SHORT, + ESP_RATE_5_SHORT, + ESP_RATE_11_SHORT, + ESP_RATE_6, + ESP_RATE_9, + ESP_RATE_12, + ESP_RATE_18, + ESP_RATE_24, + ESP_RATE_36, + ESP_RATE_48, + ESP_RATE_54, + /* ESP_RATE_MCS0, + ESP_RATE_MCS1, + ESP_RATE_MCS2, + ESP_RATE_MCS3, + ESP_RATE_MCS4, + ESP_RATE_MCS5, + ESP_RATE_MCS6, + ESP_RATE_MCS7, + */ +}; + +s8 esp_wmac_rate2idx(u8 rate) +{ + int i; + + if (rate == ESP_RATE_2_LONG) + return 1; + if (rate == ESP_RATE_5_LONG) + return 2; + if (rate == ESP_RATE_11_LONG) + return 3; + + for (i = 0; i < 20; i++) { + if (rate == esp_rate_table[i]) + return i; + } + + esp_dbg(ESP_DBG_ERROR,"%s unknown rate 0x%02x \n", __func__, rate); + + return 0; +} + +bool esp_wmac_rxsec_error(u8 error) +{ + return (error >= RX_SECOV_ERR && error <= RX_SECFIFO_TIMEOUT) || (error >= RX_WEPICV_ERR && error <= RX_WAPIMIC_ERR); +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)) +int esp_cipher2alg(int cipher) +{ + if (cipher == WLAN_CIPHER_SUITE_TKIP) + return ALG_TKIP; + + if (cipher == WLAN_CIPHER_SUITE_CCMP) + return ALG_CCMP; + + if (cipher == WLAN_CIPHER_SUITE_WEP40 || cipher == WLAN_CIPHER_SUITE_WEP104) + return ALG_WEP; + + if (cipher == WLAN_CIPHER_SUITE_AES_CMAC) + return ALG_AES_CMAC; + + //printk("%s wrong cipher 0x%x!\n",__func__,cipher); + + return -1; +} +#endif /* NEW_KERNEL */ + +#ifdef RX_CHECKSUM_TEST +atomic_t g_iv_len; +void esp_rx_checksum_test(struct sk_buff *skb) +{ + static u32 ip_err = 0; + static u32 tcp_err = 0; + struct ieee80211_hdr *pwh = (struct ieee80211_hdr *)skb->data; + int hdrlen = ieee80211_hdrlen(pwh->frame_control); + + if(ieee80211_has_protected(pwh->frame_control)) + hdrlen += atomic_read(&g_iv_len); + + if (ieee80211_is_data(pwh->frame_control)) { + struct llc_snap_hdr * llc = (struct llc_snap_hdr *)(skb->data + hdrlen); + if (ntohs(llc->eth_type) == ETH_P_IP) { + int llclen = sizeof(struct llc_snap_hdr); + struct iphdr *iph = (struct iphdr *)(skb->data + hdrlen + llclen); + __sum16 csum_bak = iph->check; + + iph->check = 0; + iph->check = ip_fast_csum(iph, iph->ihl); + if (iph->check != csum_bak) { + esp_dbg(ESP_DBG_ERROR, "total ip checksum error %d\n", ++ip_err); + } + iph->check = csum_bak; + + if (iph->protocol == 0x06) { + struct tcphdr *tcph = (struct tcphdr *)(skb->data + hdrlen + llclen + iph->ihl * 4); + int datalen = skb->len - (hdrlen + llclen + iph->ihl * 4); + csum_bak = tcph->check; + + tcph->check = 0; + tcph->check = tcp_v4_check(datalen, iph->saddr, iph->daddr, csum_partial((char *)tcph, datalen, 0)); + if (tcph->check != csum_bak) + { + esp_dbg(ESP_DBG_ERROR, "total tcp checksum error %d\n", ++tcp_err); + } + tcph->check = csum_bak; + } + } + } +} + +#endif + +#ifdef GEN_ERR_CHECKSUM + +void esp_gen_err_checksum(struct sk_buff *skb) +{ + static u32 tx_seq = 0; + if ((tx_seq++ % 16) == 0) + { + struct ieee80211_hdr * hdr = (struct ieee80211_hdr *)skb->data; + int hdrlen = ieee80211_hdrlen(hdr->frame_control); + + if(ieee80211_has_protected(pwh->frame_control)) + hdrlen += IEEE80211_SKB_CB(skb)->control.hw_key->iv_len; + + struct llc_snap_hdr * llc = (struct llc_snap_hdr *)(skb->data + hdrlen); + if (ntohs(llc->eth_type) == ETH_P_IP) { + int llclen = sizeof(struct llc_snap_hdr); + struct iphdr *iph = (struct iphdr *)(skb->data + hdrlen + llclen); + + iph->check = ~iph->check; + + if (iph->protocol == 0x06) { + struct tcphdr *tcph = (struct tcphdr *)(skb->data + hdrlen + llclen + iph->ihl * 4); + tcph->check = ~tcph->check; + } + } + } +} +#endif + +bool esp_is_ip_pkt(struct sk_buff *skb) +{ + struct ieee80211_hdr * hdr = (struct ieee80211_hdr *)skb->data; + int hdrlen; + struct llc_snap_hdr * llc; + + if (!ieee80211_is_data(hdr->frame_control)) + return false; + + hdrlen = ieee80211_hdrlen(hdr->frame_control); + if(ieee80211_has_protected(hdr->frame_control)) +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 27)) + hdrlen += IEEE80211_SKB_CB(skb)->control.hw_key->iv_len; +#else + hdrlen += IEEE80211_SKB_CB(skb)->control.iv_len; +#endif +#ifdef RX_CHECKSUM_TEST + atomic_set(&g_iv_len, IEEE80211_SKB_CB(skb)->control.hw_key->iv_len); +#endif + if(skb->len < hdrlen + sizeof(struct llc_snap_hdr)) + return false; + llc = (struct llc_snap_hdr *)(skb->data + hdrlen); + if (ntohs(llc->eth_type) != ETH_P_IP) + return false; + else + return true; +} diff --git a/drivers/net/wireless/esp8089/esp_utils.h b/drivers/net/wireless/esp8089/esp_utils.h new file mode 100755 index 000000000000..ae9b7e53b956 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_utils.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2011-2012 Espressif System. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef _ESP_UTILS_H_ +#define _ESP_UTILS_H_ + +#include "linux/types.h" +#include + +#ifndef BIT +#define BIT(x) (0x1 << (x)) +#endif + +u32 esp_ieee2mhz(u8 chan); + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)) +enum ieee80211_key_alg { + ALG_WEP, + ALG_TKIP, + ALG_CCMP, + ALG_AES_CMAC +}; + +int esp_cipher2alg(int cipher); + +void esp_rx_checksum_test(struct sk_buff *skb); +void esp_gen_err_checksum(struct sk_buff *skb); + +#endif /* NEW_KERNEL */ + +bool esp_is_ip_pkt(struct sk_buff *skb); + +#endif diff --git a/drivers/net/wireless/esp8089/esp_version.h b/drivers/net/wireless/esp8089/esp_version.h new file mode 100755 index 000000000000..481d98841fc2 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_version.h @@ -0,0 +1 @@ +#define DRIVER_VER 0xbdf5087c3debll diff --git a/drivers/net/wireless/esp8089/esp_wl.h b/drivers/net/wireless/esp8089/esp_wl.h new file mode 100755 index 000000000000..7258424bdf81 --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_wl.h @@ -0,0 +1,61 @@ +#ifndef _ESP_WL_H_ +#define _ESP_WL_H_ + +//#define MAX_PROBED_SSID_INDEX 9 + + +enum { + CONF_HW_BIT_RATE_1MBPS = BIT(0), + CONF_HW_BIT_RATE_2MBPS = BIT(1), + CONF_HW_BIT_RATE_5_5MBPS = BIT(2), + CONF_HW_BIT_RATE_11MBPS = BIT(3), + CONF_HW_BIT_RATE_6MBPS = BIT(4), + CONF_HW_BIT_RATE_9MBPS = BIT(5), + CONF_HW_BIT_RATE_12MBPS = BIT(6), + CONF_HW_BIT_RATE_18MBPS = BIT(7), + CONF_HW_BIT_RATE_22MBPS = BIT(8), + CONF_HW_BIT_RATE_24MBPS = BIT(9), + CONF_HW_BIT_RATE_36MBPS = BIT(10), + CONF_HW_BIT_RATE_48MBPS = BIT(11), + CONF_HW_BIT_RATE_54MBPS = BIT(12), + CONF_HW_BIT_RATE_11B_MASK = (CONF_HW_BIT_RATE_1MBPS | CONF_HW_BIT_RATE_2MBPS | CONF_HW_BIT_RATE_5_5MBPS | CONF_HW_BIT_RATE_11MBPS), +}; + +#if 0 +enum { + CONF_HW_RATE_INDEX_1MBPS = 0, + CONF_HW_RATE_INDEX_2MBPS = 1, + CONF_HW_RATE_INDEX_5_5MBPS = 2, + CONF_HW_RATE_INDEX_6MBPS = 3, + CONF_HW_RATE_INDEX_9MBPS = 4, + CONF_HW_RATE_INDEX_11MBPS = 5, + CONF_HW_RATE_INDEX_12MBPS = 6, + CONF_HW_RATE_INDEX_18MBPS = 7, + CONF_HW_RATE_INDEX_22MBPS = 8, + CONF_HW_RATE_INDEX_24MBPS = 9, + CONF_HW_RATE_INDEX_36MBPS = 10, + CONF_HW_RATE_INDEX_48MBPS = 11, + CONF_HW_RATE_INDEX_54MBPS = 12, + CONF_HW_RATE_INDEX_MAX, +}; + +enum { + CONF_HW_RXTX_RATE_54 = 0, + CONF_HW_RXTX_RATE_48, + CONF_HW_RXTX_RATE_36, + CONF_HW_RXTX_RATE_24, + CONF_HW_RXTX_RATE_22, + CONF_HW_RXTX_RATE_18, + CONF_HW_RXTX_RATE_12, + CONF_HW_RXTX_RATE_11, + CONF_HW_RXTX_RATE_9, + CONF_HW_RXTX_RATE_6, + CONF_HW_RXTX_RATE_5_5, + CONF_HW_RXTX_RATE_2, + CONF_HW_RXTX_RATE_1, + CONF_HW_RXTX_RATE_MAX, + CONF_HW_RXTX_RATE_UNSUPPORTED = 0xff +}; +#endif + +#endif /* _ESP_WL_H_ */ diff --git a/drivers/net/wireless/esp8089/esp_wmac.h b/drivers/net/wireless/esp8089/esp_wmac.h new file mode 100755 index 000000000000..b18c86eb549a --- /dev/null +++ b/drivers/net/wireless/esp8089/esp_wmac.h @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2011-2012 Espressif System. + * + * MAC header + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef _ESP_WMAC_H_ +#define _ESP_WMAC_H_ + +struct esp_mac_rx_ctrl { + signed rssi:8; + unsigned rate:4; + unsigned is_group:1; +unsigned:1; + unsigned sig_mode:2; + unsigned legacy_length:12; + unsigned damatch0:1; + unsigned damatch1:1; + unsigned bssidmatch0:1; + unsigned bssidmatch1:1; + unsigned MCS:7; + unsigned CWB:1; + unsigned HT_length:16; + unsigned Smoothing:1; + unsigned Not_Sounding:1; +unsigned:1; + unsigned Aggregation:1; + unsigned STBC:2; + unsigned FEC_CODING:1; + unsigned SGI:1; + unsigned rxend_state:8; + unsigned ampdu_cnt:8; + unsigned channel:4; +unsigned:4; + signed noise_floor:8; +}; + +struct esp_rx_ampdu_len { + unsigned substate:8; + unsigned sublen:12; +unsigned :12; +}; + +struct esp_tx_ampdu_entry { + u32 sub_len:12, + dili_num:7, + :1, + null_byte:2, + data:1, + enc:1, + seq:8; +}; + +//rxend_state flags +#define RX_PYH_ERR_MIN 0x42 +#define RX_AGC_ERR_MIN 0x42 +#define RX_AGC_ERR_MAX 0x47 +#define RX_OFDM_ERR_MIN 0x50 +#define RX_OFDM_ERR_MAX 0x58 +#define RX_CCK_ERR_MIN 0x59 +#define RX_CCK_ERR_MAX 0x5F +#define RX_ABORT 0x80 +#define RX_SF_ERR 0x40 +#define RX_FCS_ERR 0x41 +#define RX_AHBOV_ERR 0xC0 +#define RX_BUFOV_ERR 0xC1 +#define RX_BUFINV_ERR 0xC2 +#define RX_AMPDUSF_ERR 0xC3 +#define RX_AMPDUBUFOV_ERR 0xC4 +#define RX_MACBBFIFOOV_ERR 0xC5 +#define RX_RPBM_ERR 0xC6 +#define RX_BTFORCE_ERR 0xC7 +#define RX_SECOV_ERR 0xE1 +#define RX_SECPROT_ERR0 0xE2 +#define RX_SECPROT_ERR1 0xE3 +#define RX_SECKEY_ERR 0xE4 +#define RX_SECCRLEN_ERR 0xE5 +#define RX_SECFIFO_TIMEOUT 0xE6 +#define RX_WEPICV_ERR 0xF0 +#define RX_TKIPICV_ERR 0xF4 +#define RX_TKIPMIC_ERR 0xF5 +#define RX_CCMPMIC_ERR 0xF8 +#define RX_WAPIMIC_ERR 0xFC + +s8 esp_wmac_rate2idx(u8 rate); +bool esp_wmac_rxsec_error(u8 error); + +#endif /* _ESP_WMAC_H_ */ diff --git a/drivers/net/wireless/esp8089/firmware/LICENSE-2.0.txt b/drivers/net/wireless/esp8089/firmware/LICENSE-2.0.txt new file mode 100644 index 000000000000..0dd35c82a001 --- /dev/null +++ b/drivers/net/wireless/esp8089/firmware/LICENSE-2.0.txt @@ -0,0 +1,203 @@ +The esp8089 firmware files are licensed under the Apache License, Version 2.0: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/drivers/net/wireless/esp8089/init_data.conf b/drivers/net/wireless/esp8089/init_data.conf new file mode 100755 index 000000000000..b60b4e0bb909 --- /dev/null +++ b/drivers/net/wireless/esp8089/init_data.conf @@ -0,0 +1 @@ +crystal_26M_en=1;test_xtal=0;sdio_configure=2;bt_configure=0;bt_protocol=0;dual_ant_configure=0;test_uart_configure=2;share_xtal=0;gpio_wake=0;no_auto_sleep=0;ext_rst=0;wakeup_gpio=12;ate_test=0;speed_suspend=0;$ diff --git a/drivers/net/wireless/esp8089/sdio_sif_esp.c b/drivers/net/wireless/esp8089/sdio_sif_esp.c new file mode 100755 index 000000000000..8d0a2ac5f6e5 --- /dev/null +++ b/drivers/net/wireless/esp8089/sdio_sif_esp.c @@ -0,0 +1,939 @@ +/* + * Copyright (c) 2010 -2013 Espressif System. + * + * sdio serial i/f driver + * - sdio device control routines + * - sync/async DMA/PIO read/write + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ +#ifdef ESP_USE_SDIO +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "esp_pub.h" +#include "esp_sif.h" +#include "esp_sip.h" +#include "esp_debug.h" +#include "slc_host_register.h" +#include "esp_version.h" +#include "esp_ctrl.h" +#include "esp_file.h" +#ifdef USE_EXT_GPIO +#include "esp_ext.h" +#endif /* USE_EXT_GPIO */ + +static int /*__init*/ esp_sdio_init(void); +static void /*__exit*/ esp_sdio_exit(void); + + +#define ESP_DMA_IBUFSZ 2048 + +//unsigned int esp_msg_level = 0; +unsigned int esp_msg_level = ESP_DBG_ERROR | ESP_SHOW; + +/* HdG: Note: + * 1) MMC_HAS_FORCE_DETECT_CHANGE is a hack which is set by my sunxi-wip + * tree. FIXME replace with a version check once mmc_force_detect_change() + * is added to the mainline kernel. + * 2) This version does NOT implement keep_power, the dts must mark the + * regulators as regulator-always-on and not use mmc-pwrseq for this stub + * to work. + */ +#ifndef MMC_HAS_FORCE_DETECT_CHANGE +void mmc_force_detect_change(struct mmc_host *host, unsigned long delay, + bool keep_power) +{ + host->caps &= ~MMC_CAP_NONREMOVABLE; + host->caps |= MMC_CAP_NEEDS_POLL; + mmc_detect_change(host, delay); +} +#endif + +static struct semaphore esp_powerup_sem; + +static enum esp_sdio_state sif_sdio_state; +struct esp_sdio_ctrl *sif_sctrl = NULL; + +#ifdef ESP_ANDROID_LOGGER +bool log_off = false; +#endif /* ESP_ANDROID_LOGGER */ + +static int esdio_power_off(struct esp_sdio_ctrl *sctrl); +static int esdio_power_on(struct esp_sdio_ctrl *sctrl); + +void sif_set_clock(struct sdio_func *func, int clk); + +#include "sdio_stub.c" + +void sif_lock_bus(struct esp_pub *epub) +{ + EPUB_FUNC_CHECK(epub, _exit); + + sdio_claim_host(EPUB_TO_FUNC(epub)); +_exit: + return; +} + +void sif_unlock_bus(struct esp_pub *epub) +{ + EPUB_FUNC_CHECK(epub, _exit); + + sdio_release_host(EPUB_TO_FUNC(epub)); +_exit: + return; +} + +static inline bool bad_buf(u8 * buf) +{ + return ((unsigned long) buf & 0x3) || !virt_addr_valid(buf); +} + +u8 sdio_io_readb(struct esp_pub *epub, int addr, int *res) +{ + struct esp_sdio_ctrl *sctrl = NULL; + struct sdio_func *func = NULL; + sctrl = (struct esp_sdio_ctrl *)epub->sif; + func = sctrl->func; + + if(func->num == 0) + return sdio_f0_readb(func, addr, res); + else + return sdio_readb(func, addr, res); +} + +void sdio_io_writeb(struct esp_pub *epub, u8 value, int addr, int *res) +{ + struct esp_sdio_ctrl *sctrl = NULL; + struct sdio_func *func = NULL; + sctrl = (struct esp_sdio_ctrl *)epub->sif; + func = sctrl->func; + + if(func->num == 0) + sdio_f0_writeb(func, value, addr, res); + else + sdio_writeb(func, value, addr, res); + sif_platform_check_r1_ready(epub); +} + +int sif_io_raw(struct esp_pub *epub, u32 addr, u8 *buf, u32 len, u32 flag) +{ + int err = 0; + u8 *ibuf = NULL; + bool need_ibuf = false; + struct esp_sdio_ctrl *sctrl = NULL; + struct sdio_func *func = NULL; + + if (epub == NULL || buf == NULL) { + ESSERT(0); + err = -EINVAL; + goto _exit; + } + + sctrl = (struct esp_sdio_ctrl *)epub->sif; + func = sctrl->func; + if (func == NULL) { + ESSERT(0); + err = -EINVAL; + goto _exit; + } + + if (bad_buf(buf)) { + esp_dbg(ESP_DBG_TRACE, "%s dst 0x%08x, len %d badbuf\n", __func__, addr, len); + need_ibuf = true; + ibuf = sctrl->dma_buffer; + } else { + ibuf = buf; + } + + if (flag & SIF_BLOCK_BASIS) { + /* round up for block data transcation */ + } + + if (flag & SIF_TO_DEVICE) { + + if (need_ibuf) + memcpy(ibuf, buf, len); + + if (flag & SIF_FIXED_ADDR) + err = sdio_writesb(func, addr, ibuf, len); + else if (flag & SIF_INC_ADDR) { + err = sdio_memcpy_toio(func, addr, ibuf, len); + } + sif_platform_check_r1_ready(epub); + } else if (flag & SIF_FROM_DEVICE) { + + if (flag & SIF_FIXED_ADDR) + err = sdio_readsb(func, ibuf, addr, len); + else if (flag & SIF_INC_ADDR) { + err = sdio_memcpy_fromio(func, ibuf, addr, len); + } + + + if (!err && need_ibuf) + memcpy(buf, ibuf, len); + } + +_exit: + return err; +} + +int sif_io_sync(struct esp_pub *epub, u32 addr, u8 *buf, u32 len, u32 flag) +{ + int err = 0; + u8 * ibuf = NULL; + bool need_ibuf = false; + struct esp_sdio_ctrl *sctrl = NULL; + struct sdio_func *func = NULL; + + if (epub == NULL || buf == NULL) { + ESSERT(0); + err = -EINVAL; + goto _exit; + } + + sctrl = (struct esp_sdio_ctrl *)epub->sif; + func = sctrl->func; + if (func == NULL) { + ESSERT(0); + err = -EINVAL; + goto _exit; + } + + if (bad_buf(buf)) { + esp_dbg(ESP_DBG_TRACE, "%s dst 0x%08x, len %d badbuf\n", __func__, addr, len); + need_ibuf = true; + ibuf = sctrl->dma_buffer; + } else { + ibuf = buf; + } + + if (flag & SIF_BLOCK_BASIS) { + /* round up for block data transcation */ + } + + if (flag & SIF_TO_DEVICE) { + + esp_dbg(ESP_DBG_TRACE, "%s to addr 0x%08x, len %d \n", __func__, addr, len); + if (need_ibuf) + memcpy(ibuf, buf, len); + + sdio_claim_host(func); + + if (flag & SIF_FIXED_ADDR) + err = sdio_writesb(func, addr, ibuf, len); + else if (flag & SIF_INC_ADDR) { + err = sdio_memcpy_toio(func, addr, ibuf, len); + } + sif_platform_check_r1_ready(epub); + sdio_release_host(func); + } else if (flag & SIF_FROM_DEVICE) { + + esp_dbg(ESP_DBG_TRACE, "%s from addr 0x%08x, len %d \n", __func__, addr, len); + + sdio_claim_host(func); + + if (flag & SIF_FIXED_ADDR) + err = sdio_readsb(func, ibuf, addr, len); + else if (flag & SIF_INC_ADDR) { + err = sdio_memcpy_fromio(func, ibuf, addr, len); + } + + sdio_release_host(func); + + if (!err && need_ibuf) + memcpy(buf, ibuf, len); + } + +_exit: + return err; +} + +int sif_lldesc_read_sync(struct esp_pub *epub, u8 *buf, u32 len) +{ + struct esp_sdio_ctrl *sctrl = NULL; + u32 read_len; + + if (epub == NULL || buf == NULL) { + ESSERT(0); + return -EINVAL; + } + + sctrl = (struct esp_sdio_ctrl *)epub->sif; + + switch(sctrl->target_id) { + case 0x100: + read_len = len; + break; + case 0x600: + read_len = roundup(len, sctrl->slc_blk_sz); + break; + default: + read_len = len; + break; + } + + return sif_io_sync((epub), (sctrl->slc_window_end_addr - 2 - (len)), (buf), (read_len), SIF_FROM_DEVICE | SIF_BYTE_BASIS | SIF_INC_ADDR); +} + +int sif_lldesc_write_sync(struct esp_pub *epub, u8 *buf, u32 len) +{ + struct esp_sdio_ctrl *sctrl = NULL; + u32 write_len; + + if (epub == NULL || buf == NULL) { + ESSERT(0); + return -EINVAL; + } + + sctrl = (struct esp_sdio_ctrl *)epub->sif; + + switch(sctrl->target_id) { + case 0x100: + write_len = len; + break; + case 0x600: + write_len = roundup(len, sctrl->slc_blk_sz); + break; + default: + write_len = len; + break; + } + + return sif_io_sync((epub), (sctrl->slc_window_end_addr - (len)), (buf), (write_len), SIF_TO_DEVICE | SIF_BYTE_BASIS | SIF_INC_ADDR); +} + +int sif_lldesc_read_raw(struct esp_pub *epub, u8 *buf, u32 len, bool noround) +{ + struct esp_sdio_ctrl *sctrl = NULL; + u32 read_len; + + if (epub == NULL || buf == NULL) { + ESSERT(0); + return -EINVAL; + } + + sctrl = (struct esp_sdio_ctrl *)epub->sif; + + switch(sctrl->target_id) { + case 0x100: + read_len = len; + break; + case 0x600: + if(!noround) + read_len = roundup(len, sctrl->slc_blk_sz); + else + read_len = len; + break; + default: + read_len = len; + break; + } + + return sif_io_raw((epub), (sctrl->slc_window_end_addr - 2 - (len)), (buf), (read_len), SIF_FROM_DEVICE | SIF_BYTE_BASIS | SIF_INC_ADDR); +} + +int sif_lldesc_write_raw(struct esp_pub *epub, u8 *buf, u32 len) +{ + struct esp_sdio_ctrl *sctrl = NULL; + u32 write_len; + + if (epub == NULL || buf == NULL) { + ESSERT(0); + return -EINVAL; + } + + sctrl = (struct esp_sdio_ctrl *)epub->sif; + + switch(sctrl->target_id) { + case 0x100: + write_len = len; + break; + case 0x600: + write_len = roundup(len, sctrl->slc_blk_sz); + break; + default: + write_len = len; + break; + } + return sif_io_raw((epub), (sctrl->slc_window_end_addr - (len)), (buf), (write_len), SIF_TO_DEVICE | SIF_BYTE_BASIS | SIF_INC_ADDR); + +} + +#define MANUFACTURER_ID_EAGLE_BASE 0x1110 +#define MANUFACTURER_ID_EAGLE_BASE_MASK 0xFF00 +#define MANUFACTURER_CODE 0x6666 + +static const struct sdio_device_id esp_sdio_devices[] = { + {SDIO_DEVICE(MANUFACTURER_CODE, (MANUFACTURER_ID_EAGLE_BASE | 0x1))}, + {}, +}; + +static int esdio_power_on(struct esp_sdio_ctrl *sctrl) +{ + int err = 0; + + if (sctrl->off == false) + return err; + + sdio_claim_host(sctrl->func); + err = sdio_enable_func(sctrl->func); + + if (err) { + esp_dbg(ESP_DBG_ERROR, "Unable to enable sdio func: %d\n", err); + sdio_release_host(sctrl->func); + return err; + } + + sdio_release_host(sctrl->func); + + /* ensure device is up */ + msleep(5); + + sctrl->off = false; + + return err; +} + +static int esdio_power_off(struct esp_sdio_ctrl *sctrl) +{ + int err; + + if (sctrl->off) + return 0; + + sdio_claim_host(sctrl->func); + err = sdio_disable_func(sctrl->func); + sdio_release_host(sctrl->func); + + if (err) + return err; + + sctrl->off = true; + + return err; +} + +void sif_enable_irq(struct esp_pub *epub) +{ + int err; + struct esp_sdio_ctrl *sctrl = NULL; + + sctrl = (struct esp_sdio_ctrl *)epub->sif; + + sdio_claim_host(sctrl->func); + + err = sdio_claim_irq(sctrl->func, sif_dsr); + + if (err) + esp_dbg(ESP_DBG_ERROR, "sif %s failed\n", __func__); + + atomic_set(&epub->sip->state, SIP_BOOT); + + atomic_set(&sctrl->irq_installed, 1); + + sdio_release_host(sctrl->func); +} + +void sif_disable_irq(struct esp_pub *epub) +{ + int err; + struct esp_sdio_ctrl *sctrl = (struct esp_sdio_ctrl *)epub->sif; + int i = 0; + + if (atomic_read(&sctrl->irq_installed) == 0) + return; + + sdio_claim_host(sctrl->func); + + while (atomic_read(&sctrl->irq_handling)) { + sdio_release_host(sctrl->func); + schedule_timeout(HZ / 100); + sdio_claim_host(sctrl->func); + if (i++ >= 400) { + esp_dbg(ESP_DBG_ERROR, "%s force to stop irq\n", __func__); + break; + } + } + + err = sdio_release_irq(sctrl->func); + + if (err) { + esp_dbg(ESP_DBG_ERROR, "%s release irq failed\n", __func__); + } + + atomic_set(&sctrl->irq_installed, 0); + + sdio_release_host(sctrl->func); +} + +void sif_set_clock(struct sdio_func *func, int clk) +{ + struct mmc_host *host = NULL; + struct mmc_card *card = NULL; + + card = func->card; + host = card->host; + + sdio_claim_host(func); + + //currently only set clock + host->ios.clock = clk * 1000000; + + esp_dbg(ESP_SHOW, "%s clock is %u\n", __func__, host->ios.clock); + if (host->ios.clock > host->f_max) { + host->ios.clock = host->f_max; + } + host->ops->set_ios(host, &host->ios); + + mdelay(2); + + sdio_release_host(func); +} + +static int esp_sdio_probe(struct sdio_func *func, const struct sdio_device_id *id); +static void esp_sdio_remove(struct sdio_func *func); + +static int esp_sdio_probe(struct sdio_func *func, const struct sdio_device_id *id) +{ + int err = 0; + struct esp_pub *epub; + struct esp_sdio_ctrl *sctrl; + struct mmc_host *host = func->card->host; + + esp_dbg(ESP_DBG_TRACE, + "sdio_func_num: 0x%X, vendor id: 0x%X, dev id: 0x%X, block size: 0x%X/0x%X\n", + func->num, func->vendor, func->device, func->max_blksize, + func->cur_blksize); + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT){ + sctrl = kzalloc(sizeof(struct esp_sdio_ctrl), GFP_KERNEL); + + if (sctrl == NULL) { + return -ENOMEM; + } + + /* temp buffer reserved for un-dma-able request */ + sctrl->dma_buffer = kzalloc(ESP_DMA_IBUFSZ, GFP_KERNEL); + + if (sctrl->dma_buffer == NULL) { + err = -ENOMEM; + goto _err_last; + } + sif_sctrl = sctrl; + sctrl->slc_blk_sz = SIF_SLC_BLOCK_SIZE; + + epub = esp_pub_alloc_mac80211(&func->dev); + + if (epub == NULL) { + esp_dbg(ESP_DBG_ERROR, "no mem for epub \n"); + err = -ENOMEM; + goto _err_dma; + } + epub->sif = (void *)sctrl; + sctrl->epub = epub; + +#ifdef USE_EXT_GPIO + if (sif_get_ate_config() == 0) { + err = ext_gpio_init(epub); + if (err) { + esp_dbg(ESP_DBG_ERROR, "ext_irq_work_init failed %d\n", err); + goto _err_epub; + } + } +#endif + + } else { + sctrl = sif_sctrl; + sif_sctrl = NULL; + epub = sctrl->epub; + SET_IEEE80211_DEV(epub->hw, &func->dev); + epub->dev = &func->dev; + } + + epub->sdio_state = sif_sdio_state; + + sctrl->func = func; + sdio_set_drvdata(func, sctrl); + + sctrl->id = id; + sctrl->off = true; + + /* give us some time to enable, in ms */ + func->enable_timeout = 100; + + err = esdio_power_on(sctrl); + esp_dbg(ESP_DBG_TRACE, " %s >> power_on err %d \n", __func__, err); + + if (err){ + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT) + goto _err_ext_gpio; + else + goto _err_second_init; + } + check_target_id(epub); + + sdio_claim_host(func); + + err = sdio_set_block_size(func, sctrl->slc_blk_sz); + + if (err) { + esp_dbg(ESP_DBG_ERROR, "Set sdio block size %d failed: %d)\n", + sctrl->slc_blk_sz, err); + sdio_release_host(func); + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT) + goto _err_off; + else + goto _err_second_init; + } + + sdio_release_host(func); + +#ifdef LOWER_CLK + /* fix clock for dongle */ + sif_set_clock(func, 23); +#endif //LOWER_CLK + + err = esp_pub_init_all(epub); + + if (err) { + esp_dbg(ESP_DBG_ERROR, "esp_init_all failed: %d\n", err); + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT){ + err = 0; + goto _err_first_init; + } + if(sif_sdio_state == ESP_SDIO_STATE_SECOND_INIT) + goto _err_second_init; + } + + esp_dbg(ESP_DBG_TRACE, " %s return %d\n", __func__, err); + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT){ + esp_dbg(ESP_DBG_ERROR, "first normal exit\n"); + sif_sdio_state = ESP_SDIO_STATE_FIRST_NORMAL_EXIT; + + /* Rescan the esp8089 after loading the initial firmware */ + mmc_force_detect_change(host, msecs_to_jiffies(100), true); + + up(&esp_powerup_sem); + } + + return err; + +_err_off: + esdio_power_off(sctrl); +_err_ext_gpio: +#ifdef USE_EXT_GPIO + if (sif_get_ate_config() == 0) + ext_gpio_deinit(); +_err_epub: +#endif + esp_pub_dealloc_mac80211(epub); +_err_dma: + kfree(sctrl->dma_buffer); +_err_last: + kfree(sctrl); +_err_first_init: + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT){ + esp_dbg(ESP_DBG_ERROR, "first error exit\n"); + sif_sdio_state = ESP_SDIO_STATE_FIRST_ERROR_EXIT; + up(&esp_powerup_sem); + } + return err; +_err_second_init: + sif_sdio_state = ESP_SDIO_STATE_SECOND_ERROR_EXIT; + esp_sdio_remove(func); + return err; +} + +static void esp_sdio_remove(struct sdio_func *func) +{ + struct esp_sdio_ctrl *sctrl = NULL; + + esp_dbg(ESP_SHOW, "%s enter\n", __func__); + + sctrl = sdio_get_drvdata(func); + + if (sctrl == NULL) { + esp_dbg(ESP_DBG_ERROR, "%s no sctrl\n", __func__); + return; + } + + do { + if (sctrl->epub == NULL) { + esp_dbg(ESP_DBG_ERROR, "%s epub null\n", __func__); + break; + } + sctrl->epub->sdio_state = sif_sdio_state; + if(sif_sdio_state != ESP_SDIO_STATE_FIRST_NORMAL_EXIT){ + if (sctrl->epub->sip) { + sip_detach(sctrl->epub->sip); + sctrl->epub->sip = NULL; + esp_dbg(ESP_DBG_TRACE, "%s sip detached \n", __func__); + } +#ifdef USE_EXT_GPIO + if (sif_get_ate_config() == 0) + ext_gpio_deinit(); +#endif + } else { + //sif_disable_target_interrupt(sctrl->epub); + atomic_set(&sctrl->epub->sip->state, SIP_STOP); + sif_disable_irq(sctrl->epub); + } + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 3, 0)) + esdio_power_off(sctrl); + esp_dbg(ESP_DBG_TRACE, "%s power off \n", __func__); +#endif /* kernel < 3.3.0 */ + +#ifdef TEST_MODE + test_exit_netlink(); +#endif /* TEST_MODE */ + if(sif_sdio_state != ESP_SDIO_STATE_FIRST_NORMAL_EXIT){ + esp_pub_dealloc_mac80211(sctrl->epub); + esp_dbg(ESP_DBG_TRACE, "%s dealloc mac80211 \n", __func__); + + if (sctrl->dma_buffer) { + kfree(sctrl->dma_buffer); + sctrl->dma_buffer = NULL; + esp_dbg(ESP_DBG_TRACE, "%s free dma_buffer \n", __func__); + } + + kfree(sctrl); + } + + } while (0); + + sdio_set_drvdata(func,NULL); + + esp_dbg(ESP_DBG_TRACE, "eagle sdio remove complete\n"); +} + +MODULE_DEVICE_TABLE(sdio, esp_sdio_devices); + +static int esp_sdio_suspend(struct device *dev) +{ + //#define dev_to_sdio_func(d) container_of(d, struct sdio_func, dev) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)) + struct sdio_func *func = dev_to_sdio_func(dev); +#else + struct sdio_func *func = container_of(dev, struct sdio_func, dev); +#endif + struct esp_sdio_ctrl *sctrl = sdio_get_drvdata(func); + struct esp_pub *epub = sctrl->epub; + + printk("%s", __func__); +#if 0 + sip_send_suspend_config(epub, 1); +#endif + atomic_set(&epub->ps.state, ESP_PM_ON); + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34)) + do{ + u32 sdio_flags = 0; + int ret = 0; + sdio_flags = sdio_get_host_pm_caps(func); + + if (!(sdio_flags & MMC_PM_KEEP_POWER)) { + printk("%s can't keep power while host is suspended\n", __func__); + } + + /* keep power while host suspended */ + ret = sdio_set_host_pm_flags(func, MMC_PM_KEEP_POWER); + if (ret) { + printk("%s error while trying to keep power\n", __func__); + } + }while(0); +#endif + + return 0; +} + +static int esp_sdio_resume(struct device *dev) +{ + esp_dbg(ESP_DBG_ERROR, "%s", __func__); + + return 0; +} + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)) +static const struct dev_pm_ops esp_sdio_pm_ops = { + .suspend= esp_sdio_suspend, + .resume= esp_sdio_resume, +}; +#else +static struct pm_ops esp_sdio_pm_ops = { + .suspend= esp_sdio_suspend, + .resume= esp_sdio_resume, +}; +#endif + +static struct sdio_driver esp_sdio_driver = { + .name = "eagle_sdio", + .id_table = esp_sdio_devices, + .probe = esp_sdio_probe, + .remove = esp_sdio_remove, + .drv = { .pm = &esp_sdio_pm_ops, }, +}; + +static int esp_sdio_dummy_probe(struct sdio_func *func, const struct sdio_device_id *id) +{ + esp_dbg(ESP_DBG_ERROR, "%s enter\n", __func__); + + up(&esp_powerup_sem); + + return 0; +} + +static void esp_sdio_dummy_remove(struct sdio_func *func) +{ + return; +} + +static struct sdio_driver esp_sdio_dummy_driver = { + .name = "eagle_sdio_dummy", + .id_table = esp_sdio_devices, + .probe = esp_sdio_dummy_probe, + .remove = esp_sdio_dummy_remove, +}; + +static int /*__init*/ esp_sdio_init(void) +{ +#define ESP_WAIT_UP_TIME_MS 11000 + int err; + u64 ver; + int retry = 3; + bool powerup = false; + int edf_ret = 0; + + esp_dbg(ESP_DBG_TRACE, "%s \n", __func__); + +#ifdef DRIVER_VER + ver = DRIVER_VER; + esp_dbg(ESP_SHOW, "\n***** EAGLE DRIVER VER:%llx*****\n\n", ver); +#endif + edf_ret = esp_debugfs_init(); + + request_init_conf(); + + esp_wakelock_init(); + esp_wake_lock(); + + do { + sema_init(&esp_powerup_sem, 0); + + sif_platform_target_poweron(); + + sif_platform_rescan_card(1); + + err = sdio_register_driver(&esp_sdio_dummy_driver); + if (err) { + esp_dbg(ESP_DBG_ERROR, "eagle sdio driver registration failed, error code: %d\n", err); + goto _fail; + } + + if (down_timeout(&esp_powerup_sem, + msecs_to_jiffies(ESP_WAIT_UP_TIME_MS)) == 0) + { + + powerup = true; + msleep(200); + break; + } + + esp_dbg(ESP_SHOW, "%s ------ RETRY ------ \n", __func__); + + sif_record_retry_config(); + + sdio_unregister_driver(&esp_sdio_dummy_driver); + + sif_platform_rescan_card(0); + + sif_platform_target_poweroff(); + + } while (retry--); + + if (!powerup) { + esp_dbg(ESP_DBG_ERROR, "eagle sdio can not power up!\n"); + + err = -ENODEV; + goto _fail; + } + + esp_dbg(ESP_SHOW, "%s power up OK\n", __func__); + + sdio_unregister_driver(&esp_sdio_dummy_driver); + + sif_sdio_state = ESP_SDIO_STATE_FIRST_INIT; + sema_init(&esp_powerup_sem, 0); + + sdio_register_driver(&esp_sdio_driver); + + if ((down_timeout(&esp_powerup_sem, + msecs_to_jiffies(ESP_WAIT_UP_TIME_MS)) == 0 ) && sif_get_ate_config() == 0) { + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_NORMAL_EXIT){ + sdio_unregister_driver(&esp_sdio_driver); + + sif_platform_rescan_card(0); + + msleep(100); + + sif_platform_rescan_card(1); + + sif_sdio_state = ESP_SDIO_STATE_SECOND_INIT; + + sdio_register_driver(&esp_sdio_driver); + } + } + + + esp_register_early_suspend(); + esp_wake_unlock(); + return err; + +_fail: + esp_wake_unlock(); + esp_wakelock_destroy(); + + return err; +} + +static void /*__exit*/ esp_sdio_exit(void) +{ + esp_dbg(ESP_SHOW, "%s \n", __func__); + + esp_debugfs_exit(); + + esp_unregister_early_suspend(); + + sdio_unregister_driver(&esp_sdio_driver); + + sif_platform_rescan_card(0); + +#ifndef FPGA_DEBUG + sif_platform_target_poweroff(); +#endif /* !FPGA_DEBUG */ + + esp_wakelock_destroy(); +} + +MODULE_AUTHOR("Espressif System"); +MODULE_DESCRIPTION("Driver for SDIO interconnected eagle low-power WLAN devices"); +MODULE_LICENSE("GPL"); +#endif /* ESP_USE_SDIO */ diff --git a/drivers/net/wireless/esp8089/sdio_stub.c b/drivers/net/wireless/esp8089/sdio_stub.c new file mode 100755 index 000000000000..c3abc7cdbbfc --- /dev/null +++ b/drivers/net/wireless/esp8089/sdio_stub.c @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2013 Espressif System. + * + * sdio stub code for RK + */ + +#include +#include +#include +#include +//#include +#include + +/* reset GPIO parameter defaults to GPIO 0 (ID_SD) on the Raspberry Pi */ +/* default reset port of OGA hw rev 1.1 : GPIO3_B1 (105) */ +/* default reset port of ODROID-C4 : GPIOX_18(494) */ +static int esp_reset_gpio = 494; +module_param(esp_reset_gpio, int, 0); +MODULE_PARM_DESC(esp_reset_gpio, "ESP8089 CH_PD reset GPIO number"); + +#define ESP8089_DRV_VERSION "1.9" + +extern int rk29sdk_wifi_power(int on); +extern int rk29sdk_wifi_set_carddetect(int val); +int rockchip_wifi_init_module(void) +{ + return esp_sdio_init(); +} + +void rockchip_wifi_exit_module(void) +{ + esp_sdio_exit(); +} +void sif_platform_rescan_card(unsigned insert) +{ +} + +/* default enable port of ODROID-C4 : GPIOX_17(493) */ +static int esp_enable_gpio = 493; +module_param(esp_enable_gpio, int, 0); +MODULE_PARM_DESC(esp_enable_gpio, "ESP8089 CH_EN enable GPIO number"); +void sif_platform_reset_target(void) +{ + /* set output high by default */ + printk("ESP8089 reset via GPIO %d\n", esp_reset_gpio); + gpio_request(esp_reset_gpio,"esp_reset"); + gpio_direction_output(esp_reset_gpio, 0); + msleep(200); + gpio_direction_output(esp_reset_gpio, 1); + gpio_free(esp_reset_gpio); +} + +void sif_platform_target_poweroff(void) +{ + /* reset ESP before unload so that the esp can be probed on + * warm reboot */ + sif_platform_reset_target(); + + gpio_request(esp_enable_gpio,"esp_enable"); + gpio_direction_output(esp_enable_gpio, 0); + gpio_free(esp_enable_gpio); + + sdio_notify(0); +} + +void sif_platform_target_poweron(void) +{ + gpio_request(esp_enable_gpio,"esp_enable"); + gpio_direction_output(esp_enable_gpio, 0); + + sif_platform_reset_target(); + + msleep(100); + gpio_direction_output(esp_enable_gpio, 1); + gpio_free(esp_enable_gpio); + + sdio_notify(1); + sdio_reinit(); +} + +void sif_platform_target_speed(int high_speed) +{ +} + +void sif_platform_check_r1_ready(struct esp_pub *epub) +{ +} + +#ifdef ESP_ACK_INTERRUPT +extern void sdmmc_ack_interrupt(struct mmc_host *mmc); + +void sif_platform_ack_interrupt(struct esp_pub *epub) +{ + struct esp_sdio_ctrl *sctrl = NULL; + struct sdio_func *func = NULL; + + if (epub == NULL) { + ESSERT(epub != NULL); + return; + } + sctrl = (struct esp_sdio_ctrl *)epub->sif; + func = sctrl->func; + if (func == NULL) { + ESSERT(func != NULL); + return; + } + + sdmmc_ack_interrupt(func->card->host); +} +#endif //ESP_ACK_INTERRUPT +EXPORT_SYMBOL(rockchip_wifi_init_module); +EXPORT_SYMBOL(rockchip_wifi_exit_module); + +late_initcall(esp_sdio_init); +module_exit(esp_sdio_exit); diff --git a/drivers/net/wireless/esp8089/sip2_common.h b/drivers/net/wireless/esp8089/sip2_common.h new file mode 100755 index 000000000000..7da1a584c101 --- /dev/null +++ b/drivers/net/wireless/esp8089/sip2_common.h @@ -0,0 +1,477 @@ +/* + * Copyright (c) 2010 - 2014 Espressif System. + * + * Common definitions of Serial Interconnctor Protocol + * + * little endian + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef _SIP2_COMMON_H +#define _SIP2_COMMON_H + +#ifdef __ets__ +#include "utils.h" +#endif /*__ets__*/ + +/* max 16 types */ +typedef enum { + SIP_CTRL = 0, + SIP_DATA, + SIP_DATA_AMPDU +} SIP_TYPE; + +typedef enum { + SIP_TX_CTRL_BUF = 0, /* from host */ + SIP_RX_CTRL_BUF, /* to host */ + SIP_TX_DATA_BUF, /* from host */ + SIP_RX_DATA_BUF /* to host */ +} SIP_BUF_TYPE; + +enum sip_cmd_id { + SIP_CMD_GET_VER = 0, + SIP_CMD_WRITE_MEMORY,//1 ROM code + SIP_CMD_READ_MEMORY,//2 + SIP_CMD_WRITE_REG,//3 ROM code + SIP_CMD_READ_REG, //4 + SIP_CMD_BOOTUP,//5 ROM code + SIP_CMD_COPYBACK,//6 + SIP_CMD_INIT, //7 + SIP_CMD_SCAN,//8 + SIP_CMD_SETKEY,//9 + SIP_CMD_CONFIG,//10 + SIP_CMD_BSS_INFO_UPDATE,//11 + SIP_CMD_LOOPBACK,//12 ROM code + //do not add cmd before this line + SIP_CMD_SET_WMM_PARAM, + SIP_CMD_AMPDU_ACTION, + SIP_CMD_HB_REQ, //15 + SIP_CMD_RESET_MAC, //16 + SIP_CMD_PRE_DOWN, //17 + SIP_CMD_SLEEP, /* for sleep testing */ + SIP_CMD_WAKEUP, /* for sleep testing */ + SIP_CMD_DEBUG, /* for general testing */ + SIP_CMD_GET_FW_VER, /* get fw rev. */ + SIP_CMD_SETVIF, + SIP_CMD_SETSTA, + SIP_CMD_PS, + SIP_CMD_ATE, + SIP_CMD_SUSPEND, + SIP_CMD_RECALC_CREDIT, + SIP_CMD_MAX, +}; + +enum { + SIP_EVT_TARGET_ON = 0, // + SIP_EVT_BOOTUP,//1 in ROM code + SIP_EVT_COPYBACK,//2 + SIP_EVT_SCAN_RESULT, //3 + SIP_EVT_TX_STATUS,//4 + SIP_EVT_CREDIT_RPT, //5, in ROM code + SIP_EVT_ERROR,//6 + SIP_EVT_LOOPBACK,//7, in ROM code + SIP_EVT_SNPRINTF_TO_HOST, //8 in ROM code + //do not add evt before this line + SIP_EVT_HB_ACK, //9 + SIP_EVT_RESET_MAC_ACK, //10 + SIP_EVT_WAKEUP,//11 /* for sleep testing */ + SIP_EVT_DEBUG,//12 /* for general testing */ + SIP_EVT_PRINT_TO_HOST, //13 + SIP_EVT_TRC_AMPDU, //14 + SIP_EVT_ROC, //15 + SIP_EVT_RESETTING, + SIP_EVT_ATE, + SIP_EVT_EP, + SIP_EVT_INIT_EP, + SIP_EVT_SLEEP, + SIP_EVT_TXIDLE, + SIP_EVT_NOISEFLOOR, + SIP_EVT_MAX +}; + +#define SIP_IFIDX_MASK 0xf0 +#define SIP_IFIDX_S 4 +#define SIP_TYPE_MASK 0x0f +#define SIP_TYPE_S 0 + +#define SIP_HDR_GET_IFIDX(fc0) (((fc0) & SIP_IFIDX_MASK) >> SIP_IFIDX_S) +#define SIP_HDR_SET_IFIDX(fc0, ifidx) ( (fc0) = ((fc0) & ~SIP_IFIDX_MASK) | ((ifidx) << SIP_IFIDX_S & SIP_IFIDX_MASK) ) +#define SIP_HDR_GET_TYPE(fc0) ((fc0) & SIP_TYPE_MASK ) +/* assume type field is cleared */ +#define SIP_HDR_SET_TYPE(fc0, type) ((fc0) = ((fc0) & ~ SIP_TYPE_MASK) | ((type) & SIP_TYPE_MASK)) + +/* sip 2.0, not hybrid header so far */ +#define SIP_HDR_IS_CTRL(hdr) (SIP_HDR_GET_TYPE((hdr)->fc[0]) == SIP_CTRL) +#define SIP_HDR_IS_DATA(hdr) (SIP_HDR_GET_TYPE((hdr)->fc[0]) == SIP_DATA) +#define SIP_HDR_IS_AMPDU(hdr) (SIP_HDR_GET_TYPE((hdr)->fc[0]) == SIP_DATA_AMPDU) + +/* fc[1] flags, only for data pkt. Ctrl pkts use fc[1] as eventID */ +#define SIP_HDR_SET_FLAGS(hdr, flags) ((hdr)->fc[1] |= (flags)) +#define SIP_HDR_F_MORE_PKT 0x1 +#define SIP_HDR_F_NEED_CRDT_RPT 0x2 +#define SIP_HDR_F_SYNC 0x4 +#define SIP_HDR_F_SYNC_RESET 0x8 +#define SIP_HDR_F_PM_TURNING_ON 0x10 +#define SIP_HDR_F_PM_TURNING_OFF 0x20 + +#define SIP_HDR_NEED_CREDIT_UPDATE(hdr) ((hdr)->fc[1] & SIP_HDR_F_NEED_CRDT_RPT) +#define SIP_HDR_IS_MORE_PKT(hdr) ((hdr)->fc[1] & SIP_HDR_F_MORE_PKT) +#define SIP_HDR_IS_CRDT_RPT(hdr) ((hdr)->fc[1] & SIP_HDR_F_CRDT_RPT) +#define SIP_HDR_IS_SYNC(hdr) ((hdr)->fc[1] & SIP_HDR_F_SYNC) +#define SIP_HDR_IS_SYNC_RESET(hdr) ((hdr)->fc[1] & SIP_HDR_F_SYNC_RESET) +#define SIP_HDR_IS_SYNC_PKT(hdr) (SIP_HDR_IS_SYNC(hdr) | SIP_HDR_IS_SYNC_RESET(hdr)) +#define SIP_HDR_SET_SYNC(hdr) SIP_HDR_SET_FLAGS((hdr), SIP_HDR_F_SYNC) +#define SIP_HDR_SET_SYNC_RESET(hdr) SIP_HDR_SET_FLAGS((hdr), SIP_HDR_F_SYNC_RESET) +#define SIP_HDR_SET_MORE_PKT(hdr) SIP_HDR_SET_FLAGS((hdr), SIP_HDR_F_MORE_PKT) +#define SIP_HDR_SET_PM_TURNING_ON(hdr) SIP_HDR_SET_FLAGS((hdr), SIP_HDR_F_PM_TURNING_ON) +#define SIP_HDR_IS_PM_TURNING_ON(hdr) ((hdr)->fc[1] & SIP_HDR_F_PM_TURNING_ON) +#define SIP_HDR_SET_PM_TURNING_OFF(hdr) SIP_HDR_SET_FLAGS((hdr), SIP_HDR_F_PM_TURNING_OFF) +#define SIP_HDR_IS_PM_TURNING_OFF(hdr) ((hdr)->fc[1] & SIP_HDR_F_PM_TURNING_OFF) + +/* + * fc[0]: first 4bit: ifidx; last 4bit: type + * fc[1]: flags + * + * Don't touch the header definitons + */ +struct sip_hdr_min { + u8 fc[2]; + __le16 len; +} __packed; + +/* not more than 4byte long */ +struct sip_tx_data_info { + u8 tid; + u8 ac; + u8 p2p:1, + enc_flag:7; + u8 hw_kid; +} __packed; + +/* NB: this structure should be not more than 4byte !! */ +struct sip_tx_info { + union { + u32 cmdid; + struct sip_tx_data_info dinfo; + } u; +} __packed; + +struct sip_hdr { + u8 fc[2]; //fc[0]: type and ifidx ; fc[1] is eventID if the first ctrl pkt in the chain. data pkt still can use fc[1] to set flag + __le16 len; + union { + volatile u32 recycled_credits; /* last 12bits is credits, first 20 bits is actual length of the first pkt in the chain */ + struct sip_tx_info tx_info; + } u; + u32 seq; +} __packed; + +#define h_credits u.recycled_credits +#define c_evtid fc[1] +#define c_cmdid u.tx_info.u.cmdid +#define d_ac u.tx_info.u.dinfo.ac +#define d_tid u.tx_info.u.dinfo.tid +#define d_p2p u.tx_info.u.dinfo.p2p +#define d_enc_flag u.tx_info.u.dinfo.enc_flag +#define d_hw_kid u.tx_info.u.dinfo.hw_kid + +#define SIP_CREDITS_MASK 0xfff /* last 12 bits */ + +#ifdef HOST_RC + +#define RC_CNT_MASK 0xf + +struct sip_rc_status { + u32 rc_map; + union { + u32 rc_cnt1:4, + rc_cnt2:4, + rc_cnt3:4, + rc_cnt4:4, + rc_cnt5:4; + + u32 rc_cnt_store; + }; +}; + +/* copy from mac80211.h */ +struct sip_tx_rc { + struct ieee80211_tx_rate rates[IEEE80211_TX_MAX_RATES]; + s8 rts_cts_rate_idx; +}; +#endif /* HOST_RC */ + +#define SIP_HDR_MIN_LEN 4 +#define SIP_HDR_LEN sizeof(struct sip_hdr) +#define SIP_CTRL_HDR_LEN SIP_HDR_LEN /* same as sip_hdr in sip2 design */ +#define SIP_BOOT_BUF_SIZE 256 +#define SIP_CTRL_BUF_SZ 256 /* too much?? */ +#define SIP_CTRL_BUF_N 6 +#define SIP_CTRL_TXBUF_N 2 +#define SIP_CTRL_RXBUF_N 4 + +/* WAR for mblk */ +#define SIP_RX_ADDR_PREFIX_MASK 0xfc000000 +#define SIP_RX_ADDR_SHIFT 6 /* [31:5], shift 6 bits*/ + +struct sip_cmd_write_memory { + u32 addr; + u32 len; +} __packed; + +struct sip_cmd_read_memory { + u32 addr; + u32 len; +} __packed; + +struct sip_cmd_write_reg { + u32 addr; + u32 val; +} __packed; + +struct sip_cmd_bootup { + u32 boot_addr; +} __packed; + +struct sip_cmd_loopback { + u32 txlen; //host to target packet len, 0 means no txpacket + u32 rxlen; //target to host packet len, 0 means no rxpacket + u32 pack_id; //sequence of packet +} __packed; + +struct sip_evt_loopback { + u32 txlen; //host to target packet len, 0 means no txpacket + u32 rxlen; //target to host packet len, 0 means no rxpacket + u32 pack_id; //sequence of packet +} __packed; + +struct sip_cmd_copyback { + u32 addr; + u32 len; +} __packed; + +struct sip_cmd_scan { + // u8 ssid[32]; + u8 ssid_len; + // u8 hw_channel[14]; + u8 n_channels; + u8 ie_len; + u8 aborted; +} __packed; // ie[] append at the end + + +#ifndef ETH_ALEN +#define ETH_ALEN 6 +#endif /* ETH_ALEN */ + +struct sip_cmd_setkey { + u8 bssid_no; + u8 addr[ETH_ALEN]; + u8 alg; + u8 keyidx; + u8 hw_key_idx; + u8 flags; + u8 keylen; + u8 key[32]; +} __packed; + +struct sip_cmd_config { + u16 center_freq; + u16 duration; +} __packed; + +struct sip_cmd_bss_info_update { + u8 bssid[ETH_ALEN]; + u16 isassoc; + u32 beacon_int; + u8 bssid_no; +} __packed; + +struct sip_evt_bootup { + u16 tx_blksz; + u8 mac_addr[ETH_ALEN]; + /* anything else ? */ +} __packed; + +struct sip_cmd_setvif { + u8 index; + u8 mac[ETH_ALEN]; + u8 set; + u8 op_mode; + u8 is_p2p; +} __packed; + +enum esp_ieee80211_phytype{ + ESP_IEEE80211_T_CCK = 0, + ESP_IEEE80211_T_OFDM = 1, + ESP_IEEE80211_T_HT20_L = 2, + ESP_IEEE80211_T_HT20_S = 3, +}; + +struct sip_cmd_setsta { + u8 ifidx; + u8 index; + u8 set; + u8 phymode; + u8 mac[ETH_ALEN]; + u16 aid; + u8 ampdu_factor; + u8 ampdu_density; + u16 resv; +} __packed; + +struct sip_cmd_ps { + u8 dtim_period; + u8 max_sleep_period; + u8 on; + u8 resv; +} __packed; + +struct sip_cmd_suspend { + u8 suspend; + u8 resv[3]; +} __packed; + +#define SIP_DUMP_RPBM_ERR BIT(0) +#define SIP_RXABORT_FIXED BIT(1) +#define SIP_SUPPORT_BGSCAN BIT(2) +struct sip_evt_bootup2 { + u16 tx_blksz; + u8 mac_addr[ETH_ALEN]; + u16 rx_blksz; + u8 credit_to_reserve; + u8 options; + s16 noise_floor; + u8 resv[2]; + /* anything else ? */ +} __packed; + +typedef enum { + TRC_TX_AMPDU_STOPPED = 1, + TRC_TX_AMPDU_OPERATIONAL, + TRC_TX_AMPDU_WAIT_STOP, + TRC_TX_AMPDU_WAIT_OPERATIONAL, + TRC_TX_AMPDU_START, +} trc_ampdu_state_t; + +struct sip_evt_trc_ampdu { + u8 state; + u8 tid; + u8 addr[ETH_ALEN]; +} __packed; + +struct sip_cmd_set_wmm_params { + u8 aci; + u8 aifs; + u8 ecw_min; + u8 ecw_max; + u16 txop_us; +} __packed; + +#define SIP_AMPDU_RX_START 0 +#define SIP_AMPDU_RX_STOP 1 +#define SIP_AMPDU_TX_OPERATIONAL 2 +#define SIP_AMPDU_TX_STOP 3 +struct sip_cmd_ampdu_action { + u8 action; + u8 index; + u8 tid; + u8 win_size; + u16 ssn; + u8 addr[ETH_ALEN]; +} __packed; + +#define SIP_TX_ST_OK 0 +#define SIP_TX_ST_NOEB 1 +#define SIP_TX_ST_ACKTO 2 +#define SIP_TX_ST_ENCERR 3 + +//NB: sip_tx_status must be 4 bytes aligned +struct sip_tx_status { + u32 sip_seq; +#ifdef HOST_RC + struct sip_rc_status rcstatus; +#endif /* HOST_RC */ + u8 errno; /* success or failure code */ + u8 rate_index; + char ack_signal; + u8 pad; +} __packed; + +struct sip_evt_tx_report { + u32 pkts; + struct sip_tx_status status[0]; +} __packed; + +struct sip_evt_tx_mblk { + u32 mblk_map; +} __packed; + +struct sip_evt_scan_report { + u16 scan_id; + u16 aborted; +} __packed; + +struct sip_evt_roc { + u16 state; //start:1, end :0 + u16 is_ok; +} __packed; + +struct sip_evt_txidle { + u32 last_seq; +} __packed; + +struct sip_evt_noisefloor { + s16 noise_floor; + u16 pad; +} __packed; +/* + * for mblk direct memory access, no need for sip_hdr. tx: first 2k for contrl msg, + * rest of 14k for data. rx, same. + */ +#ifdef TEST_MODE + +struct sip_cmd_sleep { + u32 sleep_mode; + u32 sleep_tm_ms; + u32 wakeup_tm_ms; //zero: after receive bcn, then sleep, nozero: delay nozero ms to sleep + u32 sleep_times; //zero: always sleep, nozero: after nozero number sleep/wakeup, then end up sleep +} __packed; + +struct sip_cmd_wakeup { + u32 check_data; //0:copy to event +} __packed; + +struct sip_evt_wakeup { + u32 check_data; +} __packed; + +//general debug command +struct sip_cmd_debug { + u32 cmd_type; + u32 para_num; + u32 para[10]; +} __packed; + +struct sip_evt_debug { + u16 len; + u32 results[12]; + u16 pad; +} __packed; + +struct sip_cmd_ate { + //u8 len; + u8 cmdstr[0]; +} __packed; + +#endif //ifdef TEST_MODE +#endif /* _SIP_COMMON_H_ */ diff --git a/drivers/net/wireless/esp8089/slc_host_register.h b/drivers/net/wireless/esp8089/slc_host_register.h new file mode 100755 index 000000000000..b932fd436882 --- /dev/null +++ b/drivers/net/wireless/esp8089/slc_host_register.h @@ -0,0 +1,271 @@ +//Generated at 2012-10-23 20:11:08 +/* + * Copyright (c) 2011 Espressif System + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef SLC_HOST_REGISTER_H_INCLUDED +#define SLC_HOST_REGISTER_H_INCLUDED + +/* #define REG_SLC_HOST_BASE 0x00000000 */ +/* skip the token1, since reading it will clean the credit */ +#define REG_SLC_HOST_BASE 0x00000000 +#define REG_SLC_BASE 0x00000000 + + +#define SLC_HOST_PF (REG_SLC_HOST_BASE + 0x0) +#define SLC_HOST_TOKEN_RDATA (REG_SLC_HOST_BASE + 0x4) +#define SLC_HOST_RX_PF_EOF 0x0000000F +#define SLC_HOST_RX_PF_EOF_S 28 +#define SLC_HOST_TOKEN1 0x00000FFF +#define SLC_HOST_TOKEN1_S 16 +#define SLC_HOST_RX_PF_VALID (BIT(15)) +#define SLC_HOST_TOKEN0 0x00000FFF +#define SLC_HOST_TOKEN0_S 0 + +#define SLC_HOST_TOKEN0_MASK SLC_HOST_TOKEN0 + +#define SLC_HOST_INT_RAW (REG_SLC_HOST_BASE + 0x8) +#define SLC_HOST_EXT_BIT3_INT_RAW (BIT(22)) +#define SLC_HOST_EXT_BIT2_INT_RAW (BIT(21)) +#define SLC_HOST_EXT_BIT1_INT_RAW (BIT(20)) +#define SLC_HOST_RXFIFO_NOT_EMPTY_INT_RAW (BIT(19)) +#define SLC_HOST_RX_PF_VALID_INT_RAW (BIT(18)) +#define SLC_HOST_TX_OVF_INT_RAW (BIT(17)) +#define SLC_HOST_RX_UDF_INT_RAW (BIT(16)) +#define SLC_HOST_TX_START_INT_RAW (BIT(15)) +#define SLC_HOST_RX_START_INT_RAW (BIT(14)) +#define SLC_HOST_RX_EOF_INT_RAW (BIT(13)) +#define SLC_HOST_RX_SOF_INT_RAW (BIT(12)) +#define SLC_HOST_TOKEN1_0TO1_INT_RAW (BIT(11)) +#define SLC_HOST_TOKEN0_0TO1_INT_RAW (BIT(10)) +#define SLC_HOST_TOKEN1_1TO0_INT_RAW (BIT(9)) +#define SLC_HOST_TOKEN0_1TO0_INT_RAW (BIT(8)) +#define SLC_HOST_TOHOST_BIT7_INT_RAW (BIT(7)) +#define SLC_HOST_TOHOST_BIT6_INT_RAW (BIT(6)) +#define SLC_HOST_TOHOST_BIT5_INT_RAW (BIT(5)) +#define SLC_HOST_TOHOST_BIT4_INT_RAW (BIT(4)) +#define SLC_HOST_TOHOST_BIT3_INT_RAW (BIT(3)) +#define SLC_HOST_TOHOST_BIT2_INT_RAW (BIT(2)) +#define SLC_HOST_TOHOST_BIT1_INT_RAW (BIT(1)) +#define SLC_HOST_TOHOST_BIT0_INT_RAW (BIT(0)) + +#define SLC_HOST_STATE_W0 (REG_SLC_HOST_BASE + 0xC) +#define SLC_HOST_STATE3 0x000000FF +#define SLC_HOST_STATE3_S 24 +#define SLC_HOST_STATE2 0x000000FF +#define SLC_HOST_STATE2_S 16 +#define SLC_HOST_STATE1 0x000000FF +#define SLC_HOST_STATE1_S 8 +#define SLC_HOST_STATE0 0x000000FF +#define SLC_HOST_STATE0_S 0 + +#define SLC_HOST_STATE_W1 (REG_SLC_HOST_BASE + 0x10) +#define SLC_HOST_STATE7 0x000000FF +#define SLC_HOST_STATE7_S 24 +#define SLC_HOST_STATE6 0x000000FF +#define SLC_HOST_STATE6_S 16 +#define SLC_HOST_STATE5 0x000000FF +#define SLC_HOST_STATE5_S 8 +#define SLC_HOST_STATE4 0x000000FF +#define SLC_HOST_STATE4_S 0 + +#define SLC_HOST_CONF_W0 (REG_SLC_HOST_BASE + 0x14) +#define SLC_HOST_CONF3 0x000000FF +#define SLC_HOST_CONF3_S 24 +#define SLC_HOST_CONF2 0x000000FF +#define SLC_HOST_CONF2_S 16 +#define SLC_HOST_CONF1 0x000000FF +#define SLC_HOST_CONF1_S 8 +#define SLC_HOST_CONF0 0x000000FF +#define SLC_HOST_CONF0_S 0 + +#define SLC_HOST_CONF_W1 (REG_SLC_HOST_BASE + 0x18) +#define SLC_HOST_CONF7 0x000000FF +#define SLC_HOST_CONF7_S 24 +#define SLC_HOST_CONF6 0x000000FF +#define SLC_HOST_CONF6_S 16 +#define SLC_HOST_CONF5 0x000000FF +#define SLC_HOST_CONF5_S 8 +#define SLC_HOST_CONF4 0x000000FF +#define SLC_HOST_CONF4_S 0 + +#define SLC_HOST_INT_ST (REG_SLC_HOST_BASE + 0x1C) +#define SLC_HOST_RX_ST (BIT(23)) +#define SLC_HOST_EXT_BIT3_INT_ST (BIT(22)) +#define SLC_HOST_EXT_BIT2_INT_ST (BIT(21)) +#define SLC_HOST_EXT_BIT1_INT_ST (BIT(20)) +#define SLC_HOST_RXFIFO_NOT_EMPTY_INT_ST (BIT(19)) +#define SLC_HOST_RX_PF_VALID_INT_ST (BIT(18)) +#define SLC_HOST_TX_OVF_INT_ST (BIT(17)) +#define SLC_HOST_RX_UDF_INT_ST (BIT(16)) +#define SLC_HOST_TX_START_INT_ST (BIT(15)) +#define SLC_HOST_RX_START_INT_ST (BIT(14)) +#define SLC_HOST_RX_EOF_INT_ST (BIT(13)) +#define SLC_HOST_RX_SOF_INT_ST (BIT(12)) +#define SLC_HOST_TOKEN1_0TO1_INT_ST (BIT(11)) +#define SLC_HOST_TOKEN0_0TO1_INT_ST (BIT(10)) +#define SLC_HOST_TOKEN1_1TO0_INT_ST (BIT(9)) +#define SLC_HOST_TOKEN0_1TO0_INT_ST (BIT(8)) +#define SLC_HOST_TOHOST_BIT7_INT_ST (BIT(7)) +#define SLC_HOST_TOHOST_BIT6_INT_ST (BIT(6)) +#define SLC_HOST_TOHOST_BIT5_INT_ST (BIT(5)) +#define SLC_HOST_TOHOST_BIT4_INT_ST (BIT(4)) +#define SLC_HOST_TOHOST_BIT3_INT_ST (BIT(3)) +#define SLC_HOST_TOHOST_BIT2_INT_ST (BIT(2)) +#define SLC_HOST_TOHOST_BIT1_INT_ST (BIT(1)) +#define SLC_HOST_TOHOST_BIT0_INT_ST (BIT(0)) + +#define SLC_HOST_CONF_W2 (REG_SLC_HOST_BASE + 0x20) +#define SLC_HOST_CONF11 0x000000FF +#define SLC_HOST_CONF11_S 24 +#define SLC_HOST_CONF10 0x000000FF +#define SLC_HOST_CONF10_S 16 +#define SLC_HOST_CONF9 0x000000FF +#define SLC_HOST_CONF9_S 8 +#define SLC_HOST_CONF8 0x000000FF +#define SLC_HOST_CONF8_S 0 + +#define SLC_HOST_CONF_W3 (REG_SLC_HOST_BASE + 0x24) +#define SLC_HOST_CONF15 0x000000FF +#define SLC_HOST_CONF15_S 24 +#define SLC_HOST_CONF14 0x000000FF +#define SLC_HOST_CONF14_S 16 +#define SLC_HOST_CONF13 0x000000FF +#define SLC_HOST_CONF13_S 8 +#define SLC_HOST_CONF12 0x000000FF +#define SLC_HOST_CONF12_S 0 + +#define SLC_HOST_GEN_TXDONE_INT BIT(16) +#define SLC_HOST_GEN_RXDONE_INT BIT(17) + +#define SLC_HOST_CONF_W4 (REG_SLC_HOST_BASE + 0x28) +#define SLC_HOST_CONF19 0x000000FF +#define SLC_HOST_CONF19_S 24 +#define SLC_HOST_CONF18 0x000000FF +#define SLC_HOST_CONF18_S 16 +#define SLC_HOST_CONF17 0x000000FF +#define SLC_HOST_CONF17_S 8 +#define SLC_HOST_CONF16 0x000000FF +#define SLC_HOST_CONF16_S 0 + +#define SLC_HOST_TOKEN_WDATA (REG_SLC_HOST_BASE + 0x2C) +#define SLC_HOST_TOKEN1_WD 0x00000FFF +#define SLC_HOST_TOKEN1_WD_S 16 +#define SLC_HOST_TOKEN0_WD 0x00000FFF +#define SLC_HOST_TOKEN0_WD_S 0 + +#define SLC_HOST_INT_CLR (REG_SLC_HOST_BASE + 0x30) +#define SLC_HOST_TOKEN1_WR (BIT(31)) +#define SLC_HOST_TOKEN0_WR (BIT(30)) +#define SLC_HOST_TOKEN1_DEC (BIT(29)) +#define SLC_HOST_TOKEN0_DEC (BIT(28)) +#define SLC_HOST_EXT_BIT3_INT_CLR (BIT(22)) +#define SLC_HOST_EXT_BIT2_INT_CLR (BIT(21)) +#define SLC_HOST_EXT_BIT1_INT_CLR (BIT(20)) +#define SLC_HOST_EXT_BIT0_INT_CLR (BIT(19)) +#define SLC_HOST_RX_PF_VALID_INT_CLR (BIT(18)) +#define SLC_HOST_TX_OVF_INT_CLR (BIT(17)) +#define SLC_HOST_RX_UDF_INT_CLR (BIT(16)) +#define SLC_HOST_TX_START_INT_CLR (BIT(15)) +#define SLC_HOST_RX_START_INT_CLR (BIT(14)) +#define SLC_HOST_RX_EOF_INT_CLR (BIT(13)) +#define SLC_HOST_RX_SOF_INT_CLR (BIT(12)) +#define SLC_HOST_TOKEN1_0TO1_INT_CLR (BIT(11)) +#define SLC_HOST_TOKEN0_0TO1_INT_CLR (BIT(10)) +#define SLC_HOST_TOKEN1_1TO0_INT_CLR (BIT(9)) +#define SLC_HOST_TOKEN0_1TO0_INT_CLR (BIT(8)) +#define SLC_HOST_TOHOST_BIT7_INT_CLR (BIT(7)) +#define SLC_HOST_TOHOST_BIT6_INT_CLR (BIT(6)) +#define SLC_HOST_TOHOST_BIT5_INT_CLR (BIT(5)) +#define SLC_HOST_TOHOST_BIT4_INT_CLR (BIT(4)) +#define SLC_HOST_TOHOST_BIT3_INT_CLR (BIT(3)) +#define SLC_HOST_TOHOST_BIT2_INT_CLR (BIT(2)) +#define SLC_HOST_TOHOST_BIT1_INT_CLR (BIT(1)) +#define SLC_HOST_TOHOST_BIT0_INT_CLR (BIT(0)) + +#define SLC_HOST_INT_ENA (REG_SLC_HOST_BASE + 0x34) +#define SLC_HOST_EXT_BIT3_INT_ENA (BIT(22)) +#define SLC_HOST_EXT_BIT2_INT_ENA (BIT(21)) +#define SLC_HOST_EXT_BIT1_INT_ENA (BIT(20)) +#define SLC_HOST_EXT_BIT0_INT_ENA (BIT(19)) +#define SLC_HOST_RX_PF_VALID_INT_ENA (BIT(18)) +#define SLC_HOST_TX_OVF_INT_ENA (BIT(17)) +#define SLC_HOST_RX_UDF_INT_ENA (BIT(16)) +#define SLC_HOST_TX_START_INT_ENA (BIT(15)) +#define SLC_HOST_RX_START_INT_ENA (BIT(14)) +#define SLC_HOST_RX_EOF_INT_ENA (BIT(13)) +#define SLC_HOST_RX_SOF_INT_ENA (BIT(12)) +#define SLC_HOST_TOKEN1_0TO1_INT_ENA (BIT(11)) +#define SLC_HOST_TOKEN0_0TO1_INT_ENA (BIT(10)) +#define SLC_HOST_TOKEN1_1TO0_INT_ENA (BIT(9)) +#define SLC_HOST_TOKEN0_1TO0_INT_ENA (BIT(8)) +#define SLC_HOST_TOHOST_BIT7_INT_ENA (BIT(7)) +#define SLC_HOST_TOHOST_BIT6_INT_ENA (BIT(6)) +#define SLC_HOST_TOHOST_BIT5_INT_ENA (BIT(5)) +#define SLC_HOST_TOHOST_BIT4_INT_ENA (BIT(4)) +#define SLC_HOST_TOHOST_BIT3_INT_ENA (BIT(3)) +#define SLC_HOST_TOHOST_BIT2_INT_ENA (BIT(2)) +#define SLC_HOST_TOHOST_BIT1_INT_ENA (BIT(1)) +#define SLC_HOST_TOHOST_BIT0_INT_ENA (BIT(0)) + +#define SLC_HOST_CONF_W5 (REG_SLC_HOST_BASE + 0x3C) +#define SLC_HOST_CONF23 0x000000FF +#define SLC_HOST_CONF23_S 24 +#define SLC_HOST_CONF22 0x000000FF +#define SLC_HOST_CONF22_S 16 +#define SLC_HOST_CONF21 0x000000FF +#define SLC_HOST_CONF21_S 8 +#define SLC_HOST_CONF20 0x000000FF +#define SLC_HOST_CONF20_S 0 + +#define SLC_HOST_WIN_CMD (REG_SLC_HOST_BASE + 0x40) + + +#define SLC_HOST_DATE (REG_SLC_HOST_BASE + 0x78) +#define SLC_HOST_ID (REG_SLC_HOST_BASE + 0x7C) + +#define SLC_ADDR_WINDOW_CLEAR_MASK (~(0xf<<12)) +#define SLC_FROM_HOST_ADDR_WINDOW (0x1<<12) +#define SLC_TO_HOST_ADDR_WINDOW (0x3<<12) + +#define SLC_SET_FROM_HOST_ADDR_WINDOW(v) do { \ + (v) &= 0xffff; \ + (v) &= SLC_ADDR_WINDOW_CLEAR_MASK; \ + (v) |= SLC_FROM_HOST_ADDR_WINDOW; \ +} while (0); + +#define SLC_SET_TO_HOST_ADDR_WINDOW(v) do { \ + (v) &= 0xffff; \ + (v) &= SLC_ADDR_WINDOW_CLEAR_MASK; \ + (v) |= SLC_TO_HOST_ADDR_WINDOW; \ +} while (0); + +#define SLC_INT_ENA (REG_SLC_BASE + 0xC) +#define SLC_RX_EOF_INT_ENA BIT(17) +#define SLC_FRHOST_BIT2_INT_ENA BIT(2) + +#define SLC_RX_LINK (REG_SLC_BASE + 0x24) +#define SLC_RXLINK_START BIT(29) + +#define SLC_BRIDGE_CONF (REG_SLC_BASE + 0x44) +#define SLC_TX_PUSH_IDLE_NUM 0xFFFF +#define SLC_TX_PUSH_IDLE_NUM_S 16 +#define SLC_HDA_MAP_128K BIT(13) +#define SLC_TX_DUMMY_MODE BIT(12) +#define SLC_FIFO_MAP_ENA 0x0000000F +#define SLC_FIFO_MAP_ENA_S 8 +#define SLC_TXEOF_ENA 0x0000003F +#define SLC_TXEOF_ENA_S + + +#endif // SLC_HOST_REGISTER_H_INCLUDED diff --git a/drivers/net/wireless/esp8089/spi_sif_esp.c b/drivers/net/wireless/esp8089/spi_sif_esp.c new file mode 100755 index 000000000000..d03b1cd097e4 --- /dev/null +++ b/drivers/net/wireless/esp8089/spi_sif_esp.c @@ -0,0 +1,2375 @@ +/* + * Copyright (c) 2010 -2014 Espressif System. + * + * spi serial i/f driver + * - sdio device control routines + * - sync/async DMA/PIO read/write + * + */ +#ifdef ESP_USE_SPI + +#include +#include +#include +#include +#include +#include +#include + + +#include "esp_pub.h" +#include "esp_sif.h" +#include "esp_sip.h" +#include "esp_debug.h" +#include "slc_host_register.h" +#include "esp_version.h" +#include "esp_ctrl.h" +#include "esp_file.h" +#ifdef USE_EXT_GPIO +#include "esp_ext.h" +#endif /* USE_EXT_GPIO */ + +static int __init esp_spi_init(void); +static void __exit esp_spi_exit(void); + +#ifdef ESP_PREALLOC +extern u8 *esp_get_lspi_buf(void); +extern void esp_put_lspi_buf(u8 **p); +#endif + +#define SPI_BLOCK_SIZE (512) + +#define MAX_BUF_SIZE (48*1024) + +static unsigned char *buf_addr = NULL; +static unsigned char *tx_cmd; +static unsigned char *rx_cmd; +static unsigned char *check_buf = NULL; +static unsigned char *ff_buf = NULL; + +unsigned int crc_ta_8[256]={ + 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, + 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, + 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6, + 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de, + 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485, + 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d, + 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4, + 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc, + 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823, + 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b, + 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12, + 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a, + 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41, + 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49, + 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70, + 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78, + 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f, + 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067, + 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e, + 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256, + 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d, + 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, + 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c, + 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634, + 0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab, + 0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3, + 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a, + 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92, + 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9, + 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1, + 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8, + 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0 +}; + + +unsigned int crc_cal_by_byte(unsigned char* ptr, int len) +{ + unsigned short crc = 0; + + while(len-- != 0) + { + unsigned int high = (unsigned int)(crc >> 8); + crc <<= 8; + crc ^= crc_ta_8[high^*ptr]; + ptr++; + } + + return crc; +} + +struct task_struct *sif_irq_thread; + +#define ESP_DMA_IBUFSZ 2048 + +//unsigned int esp_msg_level = 0; +unsigned int esp_msg_level = ESP_DBG_ERROR | ESP_SHOW; + +static struct semaphore esp_powerup_sem; + +static enum esp_sdio_state sif_sdio_state; +struct esp_spi_ctrl *sif_sctrl = NULL; +static struct esp_spi_resp spi_resp; + +#ifdef ESP_ANDROID_LOGGER +bool log_off = false; +#endif /* ESP_ANDROID_LOGGER */ + +#ifdef REQUEST_RTC_IRQ +extern int request_rtc_irq(void); +#endif + +#include "spi_stub.c" + +struct esp_spi_resp *sif_get_spi_resp(void) +{ + return &spi_resp; +} + +void sif_lock_bus(struct esp_pub *epub) +{ + EPUB_FUNC_CHECK(epub, _exit); + + spi_bus_lock(EPUB_TO_FUNC(epub)->master); +_exit: + return; +} + +void sif_unlock_bus(struct esp_pub *epub) +{ + EPUB_FUNC_CHECK(epub, _exit); + + spi_bus_unlock(EPUB_TO_FUNC(epub)->master); +_exit: + return; +} + +int sif_spi_write_then_read(struct spi_device *spi, unsigned char* bufwrite, int sizesend, unsigned char* bufread, int sizeread) +{ + int error; + + error = spi_write_then_read(spi, bufwrite,sizesend, bufread, sizeread); + + if (error) { + esp_dbg(ESP_DBG_ERROR, "%s: failed, error: %d\n", + __func__, error); + return error; + } + + return 0; +} + +int sif_spi_write_async_read(struct spi_device *spi, unsigned char* bufwrite,unsigned char* bufread,int size) +{ + struct spi_transfer xfer = { + .rx_buf = bufread, + .tx_buf = bufwrite, + .len = size, + .bits_per_word = 8, + .speed_hz = SPI_FREQ, + }; + struct spi_message msg; + int error; + + spi_message_init(&msg); + spi_message_add_tail(&xfer, &msg); + + error = spi_sync_locked(spi, &msg); + if (error) { + esp_dbg(ESP_DBG_ERROR, "spierr %s: failed, error: %d\n", + __func__, error); + return error; + } + + return 0; +} + +int sif_spi_write_raw(struct spi_device *spi, unsigned char* buf, int size) +{ + int err; + struct spi_transfer xfer = { + .tx_buf = buf, + .len = size, + .bits_per_word = 8, + .speed_hz = SPI_FREQ, + }; + struct spi_message msg; + + spi_message_init(&msg); + spi_message_add_tail(&xfer, &msg); + + err = spi_sync_locked(spi, &msg); + + if (err) { + esp_dbg(ESP_DBG_ERROR, "%s: failed, error: %d\n", + __func__, err); + return err; + } + + return 0; +} + +int sif_spi_read_raw(struct spi_device *spi, unsigned char* buf, int size) +{ + memset(buf,0xff,size); + return sif_spi_write_async_read(spi,buf,buf,size); +} + +int sif_spi_write_bytes(struct spi_device *spi, unsigned int addr, unsigned char *src,int count, int dummymode) +{ + int i; + int pos,len; + unsigned char *tx_data = (unsigned char*)src; + int err_ret = 0; + u32 timeout = 200; + spi_resp.data_resp_size_w = ((((((count>>5)+1) *75)) +44)>>3) +1; + + if (spi == NULL) { + ESSERT(0); + err_ret = -EINVAL; + goto goto_err; + } + + if(count > 512 ) + { + err_ret = -1; + goto goto_err; + } + + tx_cmd[0]=0x75; + + if( addr >= (1<<17) ) + { + err_ret = -2; + goto goto_err; + + } + else + { + tx_cmd[1]=0x90|0x04|(addr>>15); //0x94; + tx_cmd[2]=addr>>7; + + if(count == 512 ) + { + tx_cmd[3]=( addr<<1|0x0 ); + tx_cmd[4]= 0x00; //0x08; + } + else + { + tx_cmd[3]=( addr<<1|(count>>8 & 0x01) ); + tx_cmd[4]= count & 0xff; //0x08; + } + } + + tx_cmd[5]=0x01; + pos = 5+1; + + //Add cmd respon + memset(tx_cmd+pos,0xff,CMD_RESP_SIZE); + pos =pos+ CMD_RESP_SIZE; + + //Add token + tx_cmd[pos]=0xFE; + pos = pos+1; + + //Add data + memcpy(tx_cmd+pos,tx_data,count); + pos = pos+count; + + //Add data respon + memset(tx_cmd+pos,0xff,spi_resp.data_resp_size_w); + pos = pos+ spi_resp.data_resp_size_w ; + + + if(pos <128) + { + len = 128-pos; + memset(tx_cmd+pos,0xff,len); + } + else + { + if( pos%8 ) + { + len = (8 - pos%8); + memset(tx_cmd+pos,0xff,len); + } + else + len = 0; + } + + sif_spi_write_async_read(spi, tx_cmd,tx_cmd,pos+len); + + pos = 5+1; + for(i=0;ispi_resp.max_cmd_resp_size) + { + spi_resp.max_cmd_resp_size = i; + } + + if(i>=CMD_RESP_SIZE) + { + esp_dbg(ESP_DBG_ERROR, "byte write cmd resp 0x00 no recv\n"); + err_ret = -3; + goto goto_err; + } + + pos = pos+CMD_RESP_SIZE+count+1; + for(i=0;ispi_resp.max_dataW_resp_size) + { + spi_resp.max_dataW_resp_size = i; + // printk(KERN_ERR "new data write MAX 0xFF pos:%d",spi_resp.max_dataW_resp_size); + } + + //esp_dbg(ESP_DBG_ERROR, "0xFF pos:%d",i); + break; + } + } + break; + } + } + if(i>=spi_resp.data_resp_size_w) + { + if(dummymode == 0) + esp_dbg(ESP_DBG, "normal byte write data no-busy wait byte 0xff no recv at the first time\n"); + + timeout = 200; + do { + timeout --; + //memset(check_buf,0x00,256); + + sif_spi_read_raw(spi, check_buf, 256); + } while( memcmp(check_buf,ff_buf,256) != 0 && timeout >0 ) ; + + if(timeout == 0) + { + esp_dbg(ESP_DBG_ERROR, "spierr byte write data no-busy wait byte 0xff no recv \n"); + err_ret = -4; + goto goto_err; + } + } + +goto_err: + return err_ret; +} + +int sif_spi_write_blocks(struct spi_device *spi, unsigned int addr,unsigned char *src, int count) +{ + int err_ret = 0; + int i,j; + int n; + int pos,len; + unsigned char *tx_data = (unsigned char*)src; + int find_w_rsp = 0; + int timeout = 200; + + if (spi == NULL) { + ESSERT(0); + err_ret = -EINVAL; + goto goto_err; + } + + tx_cmd[0]=0x75; + + if( count <=0 ) + { + err_ret = -1; + goto goto_err; + } + + if( addr >= (1<<17) ) + { + err_ret = -2; + goto goto_err; + } + else + { + tx_cmd[1]=0x90|0x0C|(addr>>15); + tx_cmd[2]=addr>>7; + + if(count >= 512 ) + { + tx_cmd[3]=( addr<<1|0x0 ); + tx_cmd[4]= 0x00; + } + else + { + tx_cmd[3]=( addr<<1|(count>>8 & 0x01) ); + tx_cmd[4]= count & 0xff; + } + } + tx_cmd[5]=0x01; + + pos = 5+1; + //Add cmd respon + memset(tx_cmd+pos,0xff,CMD_RESP_SIZE); + pos =pos+ CMD_RESP_SIZE; + if(count < 3) + { + for(j=0;jspi_resp.max_cmd_resp_size) + { + spi_resp.max_cmd_resp_size = i; + } + + if(i>=CMD_RESP_SIZE) + { + esp_dbg(ESP_DBG_ERROR, "spierr 1st block write cmd resp 0x00 no recv, %d\n", count); + err_ret = -3; + goto goto_err; + } + + pos = pos+CMD_RESP_SIZE; + + for(j=0;j0 ) ; + + if(timeout == 0) + { + err_ret = -7; + esp_dbg(ESP_DBG_ERROR, "spierr block write data no-busy wait byte 0xff no recv \n"); + goto goto_err; + } + } + else + { + err_ret = -5; + esp_dbg(ESP_DBG_ERROR, "spierr %s block%d write data not-busy wait error, %d\n", __func__, j+1, count); + goto goto_err; + } + } + } + else + { + err_ret = -6; + esp_dbg(ESP_DBG_ERROR, "spierr %s block%d write data no data res error, %d\n", __func__, j+1, count); + goto goto_err; + } + + pos = pos+n; + } + } + else + { + for(j=0;j<2;j++) + { + //Add token + tx_cmd[pos]=0xFC; + pos = pos+1; + + //Add data + memcpy(tx_cmd+pos,tx_data+j*SPI_BLOCK_SIZE, SPI_BLOCK_SIZE); + pos = pos+SPI_BLOCK_SIZE; + + memset(tx_cmd+pos , 0xff , BLOCK_W_DATA_RESP_SIZE_EACH); + pos = pos+ BLOCK_W_DATA_RESP_SIZE_EACH; + } + + if( pos%8 ) + { + len = (8 - pos%8); + memset(tx_cmd+pos,0xff,len); + } + else + len = 0; + + sif_spi_write_async_read(spi, tx_cmd,tx_cmd,pos+len); + + //Judge Write cmd resp, and 1st block data resp. + pos = 5+1; + for(i=0;ispi_resp.max_cmd_resp_size) + { + spi_resp.max_cmd_resp_size = i; + } + + if(i>=CMD_RESP_SIZE) + { + esp_dbg(ESP_DBG_ERROR, "spierr 1st block write cmd resp 0x00 no recv, %d\n", count); + err_ret = -3; + goto goto_err; + } + + pos = pos+CMD_RESP_SIZE; + + for(j=0;j<2;j++) + { + find_w_rsp = 0; + //Judge block data resp + pos = pos+1; + pos = pos+SPI_BLOCK_SIZE; + + n = BLOCK_W_DATA_RESP_SIZE_EACH; + + for(i =0 ;i<4;i++) + { + if((tx_cmd[pos+i] & 0x0F) == 0x05) + { + find_w_rsp = 1; + break; + } + } + + if(find_w_rsp == 1) + { + if(memcmp(tx_cmd+pos+n-4,ff_buf,4) != 0 ) + { + esp_dbg(ESP_DBG, "block write data during sleep \n"); + + if(j == 1) + { + timeout = 200; + do { + timeout --; + + sif_spi_read_raw(spi, check_buf, 256); + } while( memcmp(check_buf,ff_buf,256) != 0 && timeout >0 ) ; + + if(timeout == 0) + { + err_ret = -7; + esp_dbg(ESP_DBG_ERROR, "spierr block write data no-busy wait byte 0xff no recv \n"); + goto goto_err; + } + } + else + { + err_ret = -5; + esp_dbg(ESP_DBG_ERROR, "spierr %s block%d write data not-busy wait error, %d\n", __func__, j+1, count); + goto goto_err; + } + } + } + else + { + err_ret = -6; + esp_dbg(ESP_DBG_ERROR, "spierr %s block%d write data no data res error, %d\n", __func__, j+1, count); + goto goto_err; + } + + pos = pos+n; + } + + + pos = 0; + for(j=2;j 0) { + err = sif_spi_write_blocks(spi, addr, buf, blk_cnt); + if (err) + return err; + } + + if (remain_len > 0) { + err = sif_spi_write_bytes(spi, addr, (buf + (blk_cnt*SPI_BLOCK_SIZE)), remain_len, dummymode); + if (err) + return err; + } + } while(0); + return 0; + +} + +int sif_spi_write_mix_sync(struct spi_device *spi, unsigned int addr, unsigned char *buf, int len, int dummymode) +{ + int err; + + spi_bus_lock(spi->master); + err = sif_spi_write_mix_nosync(spi, addr, buf, len, dummymode); + spi_bus_unlock(spi->master); + + return err; +} + +int sif_spi_epub_write_mix_nosync(struct esp_pub *epub, unsigned int addr, unsigned char *buf,int len, int dummymode) +{ + struct esp_spi_ctrl *sctrl = NULL; + struct spi_device *spi = NULL; + + if (epub == NULL) { + ESSERT(0); + return -EINVAL; + } + sctrl = (struct esp_spi_ctrl *)epub->sif; + spi = sctrl->spi; + if (spi == NULL) { + ESSERT(0); + return -EINVAL; + } + + return sif_spi_write_mix_nosync(spi, addr, buf, len, dummymode); +} + +int sif_spi_epub_write_mix_sync(struct esp_pub *epub, unsigned int addr, unsigned char *buf,int len, int dummymode) +{ + struct esp_spi_ctrl *sctrl = NULL; + struct spi_device *spi = NULL; + + if (epub == NULL) { + ESSERT(0); + return -EINVAL; + } + sctrl = (struct esp_spi_ctrl *)epub->sif; + spi = sctrl->spi; + if (spi == NULL) { + ESSERT(0); + return -EINVAL; + } + + return sif_spi_write_mix_sync(spi, addr, buf, len, dummymode); +} + +int sif_spi_read_bytes(struct spi_device *spi, unsigned int addr,unsigned char *dst, int count, int dummymode) +{ + int pos,total_num,len; + int i; + unsigned char *rx_data = (unsigned char *)dst; + int err_ret = 0; + unsigned short crc = 0; + char test_crc[2]; + int unexp_byte = 0; + + u32 timeout = 200; + int find_start_token = 0; + spi_resp.data_resp_size_r = ((((((count>>2)+1) *25)>>5)*21+16)>>3) + 1; + + if (spi == NULL) { + ESSERT(0); + err_ret = -EINVAL; + goto goto_err; + } + + rx_cmd[0]=0x75; + + if(count > 512 ) + { + err_ret = -1; + goto goto_err; + } + + if( addr >= (1<<17) ) + { + err_ret = -2; + goto goto_err; + } + else + { + rx_cmd[1]=0x10|0x04|(addr>>15); //0x94; + rx_cmd[2]=addr>>7; + + if(count == 512 ) + { + rx_cmd[3]=( addr<<1|0x0 ); + rx_cmd[4]= 0x00; //0x08; + } + else + { + rx_cmd[3]=( addr<<1|(count>>8 & 0x01) ); + rx_cmd[4]= count & 0xff; //0x08; + } + } + + rx_cmd[5]=0x01; + + total_num = CMD_RESP_SIZE+spi_resp.data_resp_size_r+count+2; + memset(rx_cmd+6 , 0xFF ,total_num); + + if(6+total_num <128) + { + len =128 -6 -total_num; + memset(rx_cmd+6+total_num,0xff,len); + } + else + { + + if( (6+total_num)%8 ) + { + len = (8 - (6+total_num)%8); + memset(rx_cmd+6+total_num,0xff,len); + } + else + len = 0; + + } + + sif_spi_write_async_read(spi, rx_cmd,rx_cmd,6+total_num+len); + + pos = 5+1; + for(i=0;ispi_resp.max_cmd_resp_size) + { + spi_resp.max_cmd_resp_size = i; + //printk(KERN_ERR "new cmd write MAX 0xFF pos:%d",spi_resp.max_cmd_resp_size); + } + + + if(i>=CMD_RESP_SIZE) + { + esp_dbg(ESP_DBG_ERROR, "spierr byte read cmd resp 0x00 no recv\n"); + /***********error info************************/ + /* + char t = pos; + while ( t < pos+32) { + printk(KERN_ERR "rx:[0x%02x] ", rx_cmd[t]); + t++; + if ((t-pos)%8 == 0) + printk(KERN_ERR "\n"); + } + */ + err_ret = -3; + goto goto_err; + } + //esp_dbg(ESP_DBG_ERROR, "0x00 pos:%d",pos+i); + pos = pos+i+2; + + for(i=0;ispi_resp.max_dataR_resp_size) + { + spi_resp.max_dataR_resp_size = i; + //printk(KERN_ERR "new data read MAX 0xFE pos:%d",spi_resp.max_dataR_resp_size); + } + break; + } + else if(rx_cmd[pos+i] != 0xff) + { + unexp_byte ++; + if(unexp_byte == 1) + esp_dbg(ESP_DBG, " 1 normal byte read not 0xFF or 0xFE at the first time,count = %d,addr =%x \n",count,addr); + } + } + + if(find_start_token == 0) + { + if(dummymode == 0) + esp_dbg(ESP_DBG, " normal byte read start token 0xFE not recv at the first time,count = %d,addr =%x \n",count,addr); + + pos = pos +spi_resp.data_resp_size_r; + + for(i=0;i< 6+total_num+len-pos;i++) + { + if(rx_cmd[pos+i]==0xFE) + { + sif_spi_read_raw(spi,rx_cmd,((count+4)>256)?(count+4):256); + // sif_spi_read_raw(spi, check_buf, 256); + find_start_token = 1; + err_ret = -4; + goto goto_err; + } + else if(rx_cmd[pos+i] !=0xff) + { + unexp_byte ++; + if(unexp_byte == 1) + esp_dbg(ESP_DBG, "2 normal byte read not 0xFF or 0xFE at the first time,count = %d,addr =%x \n",count,addr); + } + + } + + timeout = 200; + do { + timeout --; + + sif_spi_read_raw(spi, check_buf, 256); + for(i=0;i<256;i++) + { + if(check_buf[i] ==0xFE) + { + find_start_token = 1; + sif_spi_read_raw(spi,rx_cmd,((count+4)>256)?(count+4):256); + + break; + } + } + } while( find_start_token != 1 && timeout >0 ) ; + + if(timeout == 0) + { + esp_dbg(ESP_DBG_ERROR, "spierr byte read start token 0xFE no recv ,count = %d,addr =%x \n",count,addr); + } + err_ret = -5; + + goto goto_err; + } + + //esp_dbg(ESP_DBG_ERROR, "0xFE pos:%d",pos+i); + pos = pos+i+1; + memcpy(rx_data,rx_cmd+pos,count); + + crc = crc_cal_by_byte(rx_data,count); + + test_crc[0] = crc & 0xff; + test_crc[1] = (crc >>8) &0xff ; + + if(test_crc[1] != rx_cmd[pos+count] || test_crc[0] != rx_cmd[pos+count+1] ) + { + esp_dbg(ESP_DBG, "crc test_crc0 %x\n",test_crc[0]); + esp_dbg(ESP_DBG, "crc test_crc1 %x\n",test_crc[1]); + esp_dbg(ESP_DBG, "crc rx_data-2 %x\n",rx_cmd[pos+count]); + esp_dbg(ESP_DBG, "crc rx_data-1 %x\n",rx_cmd[pos+count+1] ); + + esp_dbg(ESP_DBG, "crc err\n"); + + esp_dbg(ESP_DBG_ERROR, "spierr crc count = %d,addr =%x \n",count,addr); + + err_ret = -6; + goto goto_err; + + } + +goto_err: + + return err_ret; +} + +int sif_spi_read_blocks(struct spi_device *spi, unsigned int addr, unsigned char *dst, int count) +{ + int err_ret = 0; + int pos,len; + int i,j; + unsigned char *rx_data = (unsigned char *)dst; + int total_num; + u32 timeout = 200; + int find_start_token = 0; + unsigned short crc = 0; + char test_crc[2]; + + if (spi == NULL) { + ESSERT(0); + err_ret = -EINVAL; + goto goto_err; + } + + rx_cmd[0]=0x75; + + if( count <=0 ) + { + err_ret = -1; + goto goto_err; + } + if( addr >= (1<<17) ) + { + err_ret = -2; + goto goto_err; + } + else + { + rx_cmd[1]=0x10|0x0C|(addr>>15); + rx_cmd[2]=addr>>7; + + if(count >= 512 ) + { + rx_cmd[3]=( addr<<1|0x0 ); + rx_cmd[4]= 0x00; + } + else + { + rx_cmd[3]=( addr<<1|(count>>8 & 0x01) ); + rx_cmd[4]= count & 0xff; + } + } + rx_cmd[5]=0x01; + total_num = CMD_RESP_SIZE+spi_resp.block_r_data_resp_size_final+SPI_BLOCK_SIZE+ 2 + (count-1)*(BLOCK_R_DATA_RESP_SIZE_EACH+SPI_BLOCK_SIZE+2); + memset(rx_cmd+6, 0xFF ,total_num); + + if( (6+total_num)%8 ) + { + len = (8 - (6+total_num)%8); + memset(rx_cmd+6+total_num,0xff,len); + } + else + len = 0; + + sif_spi_write_async_read(spi, rx_cmd,rx_cmd,6+total_num+len ); + + pos = 5+1; + for(i=0;ispi_resp.max_cmd_resp_size) + { + spi_resp.max_cmd_resp_size = i; + //printk(KERN_ERR "new cmd write MAX 0xFF pos:%d",spi_resp.max_cmd_resp_size); + } + + if(i>=CMD_RESP_SIZE) + { + esp_dbg(ESP_DBG_ERROR, "spierr block read cmd resp 0x00 no recv\n"); + + err_ret = -3; + goto goto_err; + } + + pos = pos+i+2; + + for(i=0;ispi_resp.max_block_dataR_resp_size) + { + spi_resp.max_block_dataR_resp_size = i; + //printk(KERN_ERR "new block data read MAX 0xFE pos:%d\n",spi_resp.max_block_dataR_resp_size); + } + + break; + } + } + + if( find_start_token == 0) + { + esp_dbg(ESP_DBG, "1st block read data resp 0xFE no recv,count = %d\n",count); + pos = pos +spi_resp.block_r_data_resp_size_final; + for(i=0;i< 6+total_num+len-pos;i++) + { + if(rx_cmd[pos+i]==0xFE) + { + sif_spi_read_raw(spi, check_buf, total_num+len); + find_start_token = 1; + err_ret = -4; + goto goto_err; + } + } + + timeout = 200; + do { + esp_dbg(ESP_DBG_ERROR, "block read sleep ,count = %d\n",count); + timeout --; + sif_spi_read_raw(spi, check_buf, 256); + for(i=0;i<256;i++) + { + if(check_buf[i] ==0xFE) + { + find_start_token= 1; + sif_spi_read_raw(spi, rx_cmd, total_num+len); + break; + } + } + } while( find_start_token != 1 && timeout >0 ) ; + if(timeout == 0) + { + err_ret = -8; + esp_dbg(ESP_DBG_ERROR, "spierr block read start token 0xFE no recv\n"); + }else + { + err_ret = -5; + } + goto goto_err; + } + + pos = pos+i+1; + + memcpy(rx_data,rx_cmd+pos,SPI_BLOCK_SIZE); + + crc = crc_cal_by_byte(rx_data,512); + + test_crc[0] = crc & 0xff; + test_crc[1] = (crc >>8) &0xff ; + + if(test_crc[1] != rx_cmd[pos+SPI_BLOCK_SIZE] || test_crc[0] != rx_cmd[pos+SPI_BLOCK_SIZE+1] ) + { + esp_dbg(ESP_DBG, "crc test_crc0 %x\n",test_crc[0]); + esp_dbg(ESP_DBG, "crc test_crc1 %x\n",test_crc[1]); + esp_dbg(ESP_DBG, "crc rx_data-2 %x\n",rx_cmd[pos+SPI_BLOCK_SIZE]); + esp_dbg(ESP_DBG, "crc rx_data-1 %x\n",rx_cmd[pos+SPI_BLOCK_SIZE+1] ); + + esp_dbg(ESP_DBG_ERROR, "spierr crc err block = 1,count = %d\n",count); + + err_ret = -6; + goto goto_err; + + } + + pos = pos +SPI_BLOCK_SIZE + 2; + + for(j=1;jspi_resp.max_block_dataR_resp_size) + { + spi_resp.max_block_dataR_resp_size = i; + //printk(KERN_ERR "new block data read MAX 0xFE pos:%d",spi_resp.max_block_dataR_resp_size); + } + + break; + } + } + if(i>=BLOCK_R_DATA_RESP_SIZE_EACH) + { + esp_dbg(ESP_DBG_ERROR, "spierr block%d read data token 0xFE no recv,total:%d\n",j+1,count); + err_ret = -7; + goto goto_err; + } + + pos = pos+i+1; + + memcpy(rx_data+j*SPI_BLOCK_SIZE,rx_cmd+pos,SPI_BLOCK_SIZE); + + crc = crc_cal_by_byte(rx_data+j*SPI_BLOCK_SIZE ,512); + + test_crc[0] = crc & 0xff; + test_crc[1] = (crc >>8) &0xff ; + + if(test_crc[1] != rx_cmd[pos+SPI_BLOCK_SIZE] || test_crc[0] != rx_cmd[pos+SPI_BLOCK_SIZE+1] ) + { + esp_dbg(ESP_DBG, "crc test_crc0 %x\n",test_crc[0]); + esp_dbg(ESP_DBG, "crc test_crc1 %x\n",test_crc[1]); + esp_dbg(ESP_DBG, "crc rx_data-2 %x\n",rx_cmd[pos+SPI_BLOCK_SIZE]); + esp_dbg(ESP_DBG, "crc rx_data-1 %x\n",rx_cmd[pos+SPI_BLOCK_SIZE+1] ); + + esp_dbg(ESP_DBG_ERROR, "spierr crc err,count = %d,block =%d\n",count,j+1); + + err_ret = -6; + goto goto_err; + } + + pos = pos +SPI_BLOCK_SIZE + 2; + } + +goto_err: + + return err_ret; +} + +int sif_spi_read_mix_nosync(struct spi_device *spi, unsigned int addr, unsigned char *buf, int len, int dummymode) +{ + int blk_cnt; + int remain_len; + int err = 0; + int retry = 20; + + do{ + blk_cnt = len/SPI_BLOCK_SIZE; + remain_len = len%SPI_BLOCK_SIZE; + + if (blk_cnt > 0) { + + retry = 20; + do { + if(retry < 20) + mdelay(10); + retry--; + check_buf[0] = 1<<2; + err = sif_spi_read_blocks(spi, addr, buf, blk_cnt); + if(err == 0) + { + sif_spi_write_bytes(spi,SLC_HOST_CONF_W4 + 2,check_buf,1,0); + } else if(err == -4 ||err == -5 ||err == -6||err == -7 ||err == -8) + { + struct esp_spi_ctrl *sctrl = spi_get_drvdata(spi); + if(sctrl != NULL) { + sif_ack_target_read_err(sctrl->epub); + } + } else if(err == -3) + { + continue; + } else + { + break; + } + + }while(retry > 0 && err != 0); + if(err != 0 && retry == 0) + esp_dbg(ESP_DBG_ERROR, "spierr 20 times retry block read fail\n"); + + if(err) + return err; + } + + if (remain_len > 0) { + if(dummymode == 0 ) + { + retry = 20; + do{ + if(retry <20) + mdelay(10); + retry--; + err = sif_spi_read_bytes(spi, addr, (buf + (blk_cnt*SPI_BLOCK_SIZE)), remain_len, dummymode); + }while(retry >0 && err != 0); + + if(err != 0 && retry == 0) + esp_dbg(ESP_DBG_ERROR, "spierr 20 times retry byte read fail\n"); + } + else + { + err = sif_spi_read_bytes(spi, addr, (buf + (blk_cnt*SPI_BLOCK_SIZE)), remain_len, dummymode); + } + if (err) + return err; + } + } while(0); + return 0; +} + +int sif_spi_read_mix_sync(struct spi_device *spi, unsigned int addr, unsigned char *buf, int len, int dummymode) +{ + int err; + + spi_bus_lock(spi->master); + err = sif_spi_read_mix_nosync(spi, addr, buf, len, dummymode); + spi_bus_unlock(spi->master); + + return err; +} + +int sif_spi_epub_read_mix_nosync(struct esp_pub *epub, unsigned int addr, unsigned char *buf,int len, int dummymode) +{ + struct esp_spi_ctrl *sctrl = NULL; + struct spi_device *spi = NULL; + + if (epub == NULL) { + ESSERT(0); + return -EINVAL; + } + sctrl = (struct esp_spi_ctrl *)epub->sif; + spi = sctrl->spi; + if (spi == NULL) { + ESSERT(0); + return -EINVAL; + } + + return sif_spi_read_mix_nosync(spi, addr, buf, len, dummymode); +} + +int sif_spi_epub_read_mix_sync(struct esp_pub *epub, unsigned int addr, unsigned char *buf,int len, int dummymode) +{ + struct esp_spi_ctrl *sctrl = NULL; + struct spi_device *spi = NULL; + + if (epub == NULL) { + ESSERT(0); + return -EINVAL; + } + sctrl = (struct esp_spi_ctrl *)epub->sif; + spi = sctrl->spi; + if (spi == NULL) { + ESSERT(0); + return -EINVAL; + } + + return sif_spi_read_mix_sync(spi, addr, buf, len, dummymode); +} + +int sif_spi_read_sync(struct esp_pub *epub, unsigned char *buf, int len, int dummymode) +{ + struct esp_spi_ctrl *sctrl = NULL; + struct spi_device *spi = NULL; + u32 read_len; + + if (epub == NULL || buf == NULL) { + ESSERT(0); + return -EINVAL; + } + sctrl = (struct esp_spi_ctrl *)epub->sif; + spi = sctrl->spi; + if (spi == NULL) { + ESSERT(0); + return -EINVAL; + } + + switch(sctrl->target_id) { + case 0x100: + read_len = len; + break; + case 0x600: + read_len = roundup(len, sctrl->slc_blk_sz); + break; + default: + read_len = len; + break; + } + + return sif_spi_read_mix_sync(spi, sctrl->slc_window_end_addr - 2 - (len), buf, read_len, dummymode); +} + +int sif_spi_write_sync(struct esp_pub *epub, unsigned char *buf, int len, int dummymode) +{ + struct esp_spi_ctrl *sctrl = NULL; + struct spi_device *spi = NULL; + u32 write_len; + + if (epub == NULL || buf == NULL) { + ESSERT(0); + return -EINVAL; + } + sctrl = (struct esp_spi_ctrl *)epub->sif; + spi = sctrl->spi; + if (spi == NULL) { + ESSERT(0); + return -EINVAL; + } + + switch(sctrl->target_id) { + case 0x100: + write_len = len; + break; + case 0x600: + write_len = roundup(len, sctrl->slc_blk_sz); + break; + default: + write_len = len; + break; + } + return sif_spi_write_mix_sync(spi, sctrl->slc_window_end_addr - (len), buf, write_len, dummymode); +} + +int sif_spi_read_nosync(struct esp_pub *epub, unsigned char *buf, int len, int dummymode, bool noround) +{ + struct esp_spi_ctrl *sctrl = NULL; + struct spi_device *spi = NULL; + u32 read_len; + + if (epub == NULL || buf == NULL) { + ESSERT(0); + return -EINVAL; + } + sctrl = (struct esp_spi_ctrl *)epub->sif; + spi = sctrl->spi; + if (spi == NULL) { + ESSERT(0); + return -EINVAL; + } + + switch(sctrl->target_id) { + case 0x100: + read_len = len; + break; + case 0x600: + if (!noround) + read_len = roundup(len, sctrl->slc_blk_sz); + else + read_len = len; + break; + default: + read_len = len; + break; + } + + return sif_spi_read_mix_nosync(spi, sctrl->slc_window_end_addr - 2 - (len), buf, read_len, dummymode); +} + +int sif_spi_write_nosync(struct esp_pub *epub, unsigned char *buf, int len, int dummymode) +{ + struct esp_spi_ctrl *sctrl = NULL; + struct spi_device *spi = NULL; + u32 write_len; + + if (epub == NULL || buf == NULL) { + ESSERT(0); + return -EINVAL; + } + sctrl = (struct esp_spi_ctrl *)epub->sif; + spi = sctrl->spi; + if (spi == NULL) { + ESSERT(0); + return -EINVAL; + } + + switch(sctrl->target_id) { + case 0x100: + write_len = len; + break; + case 0x600: + write_len = roundup(len, sctrl->slc_blk_sz); + break; + default: + write_len = len; + break; + } + return sif_spi_write_mix_nosync(spi, sctrl->slc_window_end_addr - (len), buf, write_len, dummymode); +} + +int sif_spi_protocol_init(struct spi_device *spi) +{ + unsigned char spi_proto_ini_status = 0; + unsigned char rx_buf1[10]; + unsigned char tx_buf1[10]; + unsigned char dummy_tx_buf[10]; + memset(dummy_tx_buf,0xff,sizeof(dummy_tx_buf)); + do + { + if( spi_proto_ini_status == 0 ) + { + int fail_count = 0; + do + { + tx_buf1[0]=0x40; + tx_buf1[1]=0x00; + tx_buf1[2]=0x00; + tx_buf1[3]=0x00; + tx_buf1[4]=0x00; + tx_buf1[5]=0x95; + //printf("CMD0 \n"); + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + // esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + // ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + mdelay(100); + if(fail_count++ > 10) + return -ETIMEDOUT; + }while( rx_buf1[2] != 0x01 ); + // }while(1); + } + else if( spi_proto_ini_status == 1 ) + { + tx_buf1[0]=0x45; + tx_buf1[1]=0x00; + tx_buf1[2]=0x20; //0x04; + tx_buf1[3]=0x00; + tx_buf1[4]=0x00; + tx_buf1[5]=0x01; + //spi_err("CMD 5 1st\n"); + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + // esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + // ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + } + else if( spi_proto_ini_status == 2 ) + { + tx_buf1[0]=0x45; + tx_buf1[1]=0x00; + tx_buf1[2]=0x20; + tx_buf1[3]=0x00; + tx_buf1[4]=0x00; + tx_buf1[5]=0x01; + //spi_err("CMD5 2nd\n"); + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + // esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + // ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + } + else if( spi_proto_ini_status == 3 ) //CMD 52 addr 0x2, data 0x02; + { + tx_buf1[0]=0x74; + tx_buf1[1]=0x80; + tx_buf1[2]=0x00; + tx_buf1[3]=0x04; + tx_buf1[4]=0x02; + tx_buf1[5]=0x01; + //spi_err("CMD52 Write addr 02 \n"); + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + // esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + // ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + } + else if( spi_proto_ini_status == 4 ) + { + tx_buf1[0]=0x74; + tx_buf1[1]=0x80; + tx_buf1[2]=0x00; + tx_buf1[3]=0x08; + tx_buf1[4]=0x03; + tx_buf1[5]=0x01; + //spi_err("CMD52 Write addr 04 \n"); + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + // esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + // ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + } + else if( spi_proto_ini_status == 5 ) + { + tx_buf1[0]=0x74; + tx_buf1[1]=0x00; + tx_buf1[2]=0x00; + tx_buf1[3]=0x04; + tx_buf1[4]=0x00; + tx_buf1[5]=0x01; + //spi_err("CMD52 Read addr 0x2 \n"); + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + // esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + // ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + + } + else if( spi_proto_ini_status == 6 ) + { + tx_buf1[0]=0x74; + tx_buf1[1]=0x00; + tx_buf1[2]=0x00; + tx_buf1[3]=0x08; + tx_buf1[4]=0x00; + tx_buf1[5]=0x01; + //spi_err("CMD52 Read addr 0x4 \n"); + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + // esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + // ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + } + else if (spi_proto_ini_status>6 && spi_proto_ini_status<15) + { + tx_buf1[0]=0x74; + tx_buf1[1]=0x10; + tx_buf1[2]=0x00; + tx_buf1[3]=0xF0+2*(spi_proto_ini_status-7); + tx_buf1[4]=0x00; + tx_buf1[5]=0x01; + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + // esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + // ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + } + else if (spi_proto_ini_status==15) + { + //spi_err("CMD52 Write Reg addr 0x110 \n"); + tx_buf1[0]=0x74; + tx_buf1[1]=0x80; //func0 should be + tx_buf1[2]=0x02; + tx_buf1[3]=0x20; + tx_buf1[4]=(unsigned char)(SPI_BLOCK_SIZE & 0xff); //0x02; + tx_buf1[5]=0x01; + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + // esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + // ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + + //spi_err("CMD52 Write Reg addr 0x111 \n"); + tx_buf1[0]=0x74; + tx_buf1[1]=0x80; + tx_buf1[2]=0x02; + tx_buf1[3]=0x22; + tx_buf1[4]=(unsigned char)(SPI_BLOCK_SIZE>>8); //0x00; + tx_buf1[5]=0x01; + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + // esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + // ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + + //spi_err("CMD52 Write Reg addr 0x111 \n"); /* set boot mode */ + tx_buf1[0]=0x74; + tx_buf1[1]=0x80; + tx_buf1[2]=0x41; + tx_buf1[3]=0xe0; + tx_buf1[4]=0x01; //0x00; + tx_buf1[5]=0x01; + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + + } + else if (spi_proto_ini_status==16) + { +#if 0 + //printf("CMD52 Write Reg addr 0x40 \n"); + tx_buf1[0]=0x74; + tx_buf1[1]=0x90; + tx_buf1[2]=0x00; + tx_buf1[3]=0x80; + tx_buf1[4]=0x91; //0x02; + tx_buf1[5]=0x01; + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + + //sif_spi_read_bytes( 0x0c,rx_buf1, 4); + + //printf("CMD52 Write Reg addr 0x3c \n"); + tx_buf1[0]=0x74; + tx_buf1[1]=0x90; + tx_buf1[2]=0x00; + tx_buf1[3]=0x78; + tx_buf1[4]=0x3f; + tx_buf1[5]=0x01; + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + + //printf("CMD52 Write Reg addr 0x3d \n"); + tx_buf1[0]=0x74; + tx_buf1[1]=0x90; + tx_buf1[2]=0x00; + tx_buf1[3]=0x7a; + tx_buf1[4]=0x34; //0x02; + tx_buf1[5]=0x01; + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + + // printf("CMD52 Write Reg addr 0x3e \n"); + tx_buf1[0]=0x74; + tx_buf1[1]=0x90; + tx_buf1[2]=0x00; + tx_buf1[3]=0x7c; + tx_buf1[4]=0xfe; //0x02; + tx_buf1[5]=0x01; + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + + //printf("CMD52 Write Reg addr 0x3f \n"); + tx_buf1[0]=0x74; + tx_buf1[1]=0x90; + tx_buf1[2]=0x00; + tx_buf1[3]=0x7e; + tx_buf1[4]=0x00; //0x02; + tx_buf1[5]=0x01; + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + + //printf("CMD52 Write Reg addr 0x40 \n"); + tx_buf1[0]=0x74; + tx_buf1[1]=0x90; + tx_buf1[2]=0x00; + tx_buf1[3]=0x80; + tx_buf1[4]=0xd1; //0x02; + tx_buf1[5]=0x01; + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + + tx_buf1[0]=0x74; + tx_buf1[1]=0x90; + tx_buf1[2]=0x00; + tx_buf1[3]=0x52; + tx_buf1[4]=0x30; //0x02; + tx_buf1[5]=0x01; + sif_spi_write_raw(spi, tx_buf1, 6); + sif_spi_write_async_read(spi,dummy_tx_buf, rx_buf1,10); + esp_dbg(ESP_DBG_ERROR, "rx:[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x],[0x%02x]\n", rx_buf1[0],rx_buf1[1] + ,rx_buf1[2],rx_buf1[3],rx_buf1[4],rx_buf1[5],rx_buf1[6],rx_buf1[7],rx_buf1[8],rx_buf1[9]); + +#endif + } + else + { + break; + } + // mdelay(500); + spi_proto_ini_status++; +} while (1); +return 0; +} + +static int spi_irq_thread(void *data) +{ + struct spi_device *spi = (struct spi_device *)data; + + do { + sif_dsr(spi); + + set_current_state(TASK_INTERRUPTIBLE); + sif_platform_irq_mask(0); + + if (!kthread_should_stop()) + schedule(); + + set_current_state(TASK_RUNNING); + + } while (!kthread_should_stop()); + return 0; +} + +int sif_setup_irq_thread(struct spi_device *spi) +{ + sif_irq_thread = kthread_run(spi_irq_thread, spi, "kspiirqd/eagle"); + if (IS_ERR(sif_irq_thread)) { + esp_dbg(ESP_DBG_ERROR, "setup irq thread error!\n"); + return -1; + } + return 0; +} + +static irqreturn_t sif_irq_handler(int irq, void *dev_id) +{ + sif_platform_irq_mask(1); + + if (sif_platform_is_irq_occur()) { + wake_up_process(sif_irq_thread); + } else { + sif_platform_irq_mask(0); + return IRQ_NONE; + } + + return IRQ_HANDLED; +} + +void sif_enable_irq(struct esp_pub *epub) +{ + int err; + struct esp_spi_ctrl *sctrl = NULL; + struct spi_device *spi = NULL; + + if (epub == NULL) { + ESSERT(0); + return; + } + sctrl = (struct esp_spi_ctrl *)epub->sif; + spi = sctrl->spi; + if (spi == NULL) { + ESSERT(0); + return; + } + + mdelay(100); + + sif_platform_irq_init(); + err = sif_setup_irq_thread(spi); + if (err) { + esp_dbg(ESP_DBG_ERROR, "%s setup sif irq failed\n", __func__); + return; + } + + /******************compat with other device in some shared irq system ********************/ + +#ifdef REQUEST_IRQ_SHARED +#if defined(REQUEST_IRQ_RISING) + err = request_irq(sif_platform_get_irq_no(), sif_irq_handler, IRQF_TRIGGER_RISING | IRQF_SHARED, "esp_spi_irq", spi); +#elif defined(REQUEST_IRQ_FALLING) + err = request_irq(sif_platform_get_irq_no(), sif_irq_handler, IRQF_TRIGGER_FALLING | IRQF_SHARED, "esp_spi_irq", spi); +#elif defined(REQUEST_IRQ_LOWLEVEL) + err = request_irq(sif_platform_get_irq_no(), sif_irq_handler, IRQF_TRIGGER_LOW | IRQF_SHARED, "esp_spi_irq", spi); +#elif defined(REQUEST_IRQ_HIGHLEVEL) + err = request_irq(sif_platform_get_irq_no(), sif_irq_handler, IRQF_TRIGGER_HIGH | IRQF_SHARED, "esp_spi_irq", spi); +#else /* default */ + err = request_irq(sif_platform_get_irq_no(), sif_irq_handler, IRQF_TRIGGER_LOW | IRQF_SHARED, "esp_spi_irq", spi); +#endif /* TRIGGER MODE */ +#else + err = request_irq(sif_platform_get_irq_no(), sif_irq_handler, IRQF_TRIGGER_LOW, "esp_spi_irq", spi); +#endif /* ESP_IRQ_SHARED */ + + if (err) { + esp_dbg(ESP_DBG_ERROR, "sif %s failed\n", __func__); + return ; + } +#ifdef IRQ_WAKE_HOST + enable_irq_wake(sif_platform_get_irq_no()); +#endif + atomic_set(&sctrl->irq_installed, 1); +} + +void sif_disable_irq(struct esp_pub *epub) +{ + int i = 0; + struct esp_spi_ctrl *sctrl = NULL; + struct spi_device *spi = NULL; + + if (epub == NULL) { + ESSERT(0); + return; + } + sctrl = (struct esp_spi_ctrl *)epub->sif; + spi = sctrl->spi; + if (spi == NULL) { + ESSERT(0); + return; + } + + if (atomic_read(&sctrl->irq_installed) == 0) + return; + + while (atomic_read(&sctrl->irq_handling)) { + schedule_timeout(HZ / 100); + if (i++ >= 400) { + esp_dbg(ESP_DBG_ERROR, "%s force to stop irq\n", __func__); + break; + } + } + + free_irq(sif_platform_get_irq_no(), spi); + kthread_stop(sif_irq_thread); + + sif_platform_irq_deinit(); + + atomic_set(&sctrl->irq_installed, 0); +} + + +int esp_setup_spi(struct spi_device *spi) +{ +#ifndef ESP_PREALLOC + int retry = 10; +#endif + /**** alloc buffer for spi io */ + if (sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT) { +#ifdef ESP_PREALLOC + if ((buf_addr = esp_get_lspi_buf()) == NULL) + goto _err_buf_addr; +#else + while ((buf_addr = (unsigned char *)kmalloc (MAX_BUF_SIZE, GFP_KERNEL)) == NULL) { + if (--retry < 0) + goto _err_buf_addr; + } +#endif + if ((check_buf = (unsigned char *)kmalloc (256, GFP_KERNEL)) == NULL) + goto _err_check_buf; + + if ((ff_buf = (unsigned char *)kmalloc (256, GFP_KERNEL)) == NULL) + goto _err_ff_buf; + + memset(ff_buf,0xff,256); + + tx_cmd = buf_addr; + rx_cmd = buf_addr; + } + spi_resp.max_dataW_resp_size = 0; + spi_resp.max_dataR_resp_size = 0; + spi_resp.max_block_dataW_resp_size = 0; + spi_resp.max_block_dataR_resp_size = 0; + spi_resp.max_cmd_resp_size = 0; + if( sif_get_ate_config() != 5) + { + spi_resp.data_resp_size_w = DATA_RESP_SIZE_W; + spi_resp.data_resp_size_r = DATA_RESP_SIZE_R; + spi_resp.block_w_data_resp_size_final = BLOCK_W_DATA_RESP_SIZE_FINAL; + spi_resp.block_r_data_resp_size_final = BLOCK_R_DATA_RESP_SIZE_1ST; + } else { + spi_resp.data_resp_size_w = 1000; + spi_resp.data_resp_size_r = 1000; + spi_resp.block_w_data_resp_size_final = 1000; + spi_resp.block_r_data_resp_size_final = 1000; + } + + return 0; + +_err_ff_buf: + if (check_buf) { + kfree(check_buf); + check_buf = NULL; + } +_err_check_buf: + if (buf_addr) { +#ifdef ESP_PREALLOC + esp_put_lspi_buf(&buf_addr); +#else + kfree(buf_addr); +#endif + buf_addr = NULL; + } +_err_buf_addr: + return -ENOMEM; +} + + +static int esp_spi_probe(struct spi_device *spi); +static int esp_spi_remove(struct spi_device *spi); + +static int esp_spi_probe(struct spi_device *spi) +{ + int err; + struct esp_pub *epub; + struct esp_spi_ctrl *sctrl; + + esp_dbg(ESP_DBG_ERROR, "%s enter\n", __func__); + + err = esp_setup_spi(spi); + if (err) { + esp_dbg(ESP_DBG_ERROR, "%s setup_spi error[%d]\n", __func__, err); + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT) + goto _err_spi; + else + goto _err_second_init; + } + esp_dbg(ESP_DBG_ERROR, "%s init_protocol\n", __func__); + err = sif_spi_protocol_init(spi); + if(err){ + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT) + goto _err_spi; + else + goto _err_second_init; + } + + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT){ + sctrl = kzalloc(sizeof(struct esp_spi_ctrl), GFP_KERNEL); + + if (sctrl == NULL) { + err = -ENOMEM; + goto _err_spi; + } + + /* temp buffer reserved for un-dma-able request */ + sctrl->dma_buffer = kzalloc(ESP_DMA_IBUFSZ, GFP_KERNEL); + + if (sctrl->dma_buffer == NULL) { + err = -ENOMEM; + goto _err_last; + } + sif_sctrl = sctrl; + sctrl->slc_blk_sz = SIF_SLC_BLOCK_SIZE; + + epub = esp_pub_alloc_mac80211(&spi->dev); + + if (epub == NULL) { + esp_dbg(ESP_DBG_ERROR, "no mem for epub \n"); + err = -ENOMEM; + goto _err_dma; + } + epub->sif = (void *)sctrl; + sctrl->epub = epub; + +#ifdef USE_EXT_GPIO + if (sif_get_ate_config() == 0) { + err = ext_gpio_init(epub); + if (err) { + esp_dbg(ESP_DBG_ERROR, "ext_irq_work_init failed %d\n", err); + goto _err_epub; + } + } +#endif + } else { + sctrl = sif_sctrl; + sif_sctrl = NULL; + epub = sctrl->epub; + SET_IEEE80211_DEV(epub->hw, &spi->dev); + epub->dev = &spi->dev; + } + + epub->sdio_state = sif_sdio_state; + + sctrl->spi = spi; + spi_set_drvdata(spi, sctrl); + + if (err){ + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT) + goto _err_ext_gpio; + else + goto _err_second_init; + } + check_target_id(epub); + + err = esp_pub_init_all(epub); + + if (err) { + esp_dbg(ESP_DBG_ERROR, "esp_init_all failed: %d\n", err); + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT){ + err = 0; + goto _err_first_init; + } + if(sif_sdio_state == ESP_SDIO_STATE_SECOND_INIT) + goto _err_second_init; + } + + esp_dbg(ESP_DBG_TRACE, " %s return %d\n", __func__, err); + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT){ + esp_dbg(ESP_DBG_ERROR, "first normal exit\n"); + sif_sdio_state = ESP_SDIO_STATE_FIRST_NORMAL_EXIT; + up(&esp_powerup_sem); + } + + return err; +_err_ext_gpio: +#ifdef USE_EXT_GPIO + if (sif_get_ate_config() == 0) + ext_gpio_deinit(); +_err_epub: +#endif + esp_pub_dealloc_mac80211(epub); +_err_dma: + kfree(sctrl->dma_buffer); +_err_last: + kfree(sctrl); +_err_spi: + if (buf_addr) { +#ifdef ESP_PREALLOC + esp_put_lspi_buf(&buf_addr); +#else + kfree(buf_addr); +#endif + buf_addr = NULL; + tx_cmd = NULL; + rx_cmd = NULL; + } + if (check_buf) { + kfree(check_buf); + check_buf = NULL; + } + if (ff_buf) { + kfree(ff_buf); + ff_buf = NULL; + } + +_err_first_init: + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_INIT){ + esp_dbg(ESP_DBG_ERROR, "first error exit\n"); + sif_sdio_state = ESP_SDIO_STATE_FIRST_ERROR_EXIT; + up(&esp_powerup_sem); + } + return err; +_err_second_init: + sif_sdio_state = ESP_SDIO_STATE_SECOND_ERROR_EXIT; + esp_spi_remove(spi); + return err; +} + +static int esp_spi_remove(struct spi_device *spi) +{ + struct esp_spi_ctrl *sctrl = NULL; + + esp_dbg(ESP_SHOW, "%s \n", __func__); + + sctrl = spi_get_drvdata(spi); + + if (sctrl == NULL) { + esp_dbg(ESP_DBG_ERROR, "%s no sctrl\n", __func__); + return -EINVAL; + } + + do { + if (sctrl->epub == NULL) { + esp_dbg(ESP_DBG_ERROR, "%s epub null\n", __func__); + break; + } + sctrl->epub->sdio_state = sif_sdio_state; + if(sif_sdio_state != ESP_SDIO_STATE_FIRST_NORMAL_EXIT){ + if (sctrl->epub->sip) { + sip_detach(sctrl->epub->sip); + sctrl->epub->sip = NULL; + esp_dbg(ESP_DBG_TRACE, "%s sip detached \n", __func__); + } +#ifdef USE_EXT_GPIO + if (sif_get_ate_config() == 0) + ext_gpio_deinit(); +#endif + } else { + //sif_disable_target_interrupt(sctrl->epub); + atomic_set(&sctrl->epub->sip->state, SIP_STOP); + sif_disable_irq(sctrl->epub); + } + +#ifdef TEST_MODE + test_exit_netlink(); +#endif /* TEST_MODE */ + if(sif_sdio_state != ESP_SDIO_STATE_FIRST_NORMAL_EXIT){ + esp_pub_dealloc_mac80211(sctrl->epub); + esp_dbg(ESP_DBG_TRACE, "%s dealloc mac80211 \n", __func__); + + if (sctrl->dma_buffer) { + kfree(sctrl->dma_buffer); + sctrl->dma_buffer = NULL; + esp_dbg(ESP_DBG_TRACE, "%s free dma_buffer \n", __func__); + } + + kfree(sctrl); + + if (buf_addr) { +#ifdef ESP_PREALLOC + esp_put_lspi_buf(&buf_addr); +#else + kfree(buf_addr); +#endif + buf_addr = NULL; + rx_cmd = NULL; + tx_cmd = NULL; + } + + if (check_buf) { + kfree(check_buf); + check_buf = NULL; + } + + if (ff_buf) { + kfree(ff_buf); + ff_buf = NULL; + } + + } + + } while (0); + + spi_set_drvdata(spi,NULL); + + esp_dbg(ESP_DBG_TRACE, "eagle spi remove complete\n"); + + return 0; +} + +static int esp_spi_suspend(struct device *dev) +{ + struct spi_device *spi = to_spi_device(dev); + struct esp_spi_ctrl *sctrl = spi_get_drvdata(spi); + struct esp_pub *epub = sctrl->epub; + + printk("%s", __func__); +#if 0 + sip_send_suspend_config(epub, 1); +#endif + atomic_set(&epub->ps.state, ESP_PM_ON); + return 0; +} + +static int esp_spi_resume(struct device *dev) +{ + esp_dbg(ESP_DBG_ERROR, "%s", __func__); + + return 0; +} + +static const struct dev_pm_ops esp_spi_pm_ops = { + .suspend= esp_spi_suspend, + .resume= esp_spi_resume, +}; + +extern struct spi_device_id esp_spi_id[]; + +struct spi_driver esp_spi_driver = { + .id_table = esp_spi_id, + .driver = { + .name = "eagle", + .bus = &spi_bus_type, + .owner = THIS_MODULE, + .pm = &esp_spi_pm_ops, + }, + .probe = esp_spi_probe, + .remove = esp_spi_remove, +}; + +static int esp_spi_dummy_probe(struct spi_device *spi) +{ + esp_dbg(ESP_DBG_ERROR, "%s enter\n", __func__); + + up(&esp_powerup_sem); + + return 0; +} + +static int esp_spi_dummy_remove(struct spi_device *spi) +{ + return 0; +} + +struct spi_driver esp_spi_dummy_driver = { + .id_table = esp_spi_id, + .driver = { + .name = "eagle_dummy", + .bus = &spi_bus_type, + .owner = THIS_MODULE, + }, + .probe = esp_spi_dummy_probe, + .remove = esp_spi_dummy_remove, +}; + +static int __init esp_spi_init(void) +{ +#define ESP_WAIT_UP_TIME_MS 11000 + int err; + u64 ver; + int retry = 3; + bool powerup = false; + int edf_ret = 0; + + esp_dbg(ESP_DBG_TRACE, "%s \n", __func__); + +#ifdef REGISTER_SPI_BOARD_INFO + sif_platform_register_board_info(); +#endif + +#ifdef DRIVER_VER + ver = DRIVER_VER; + esp_dbg(ESP_SHOW, "\n***** EAGLE DRIVER VER:%llx*****\n\n", ver); +#endif + edf_ret = esp_debugfs_init(); + + request_init_conf(); + + esp_wakelock_init(); + esp_wake_lock(); + + do { + sema_init(&esp_powerup_sem, 0); + + sif_platform_target_poweron(); + + err = spi_register_driver(&esp_spi_dummy_driver); + if (err) { + esp_dbg(ESP_DBG_ERROR, "eagle spi driver registration failed, error code: %d\n", err); + goto _fail; + } + + if (down_timeout(&esp_powerup_sem, + msecs_to_jiffies(ESP_WAIT_UP_TIME_MS)) == 0) + { + + powerup = true; + msleep(200); + break; + } + + esp_dbg(ESP_SHOW, "%s ------ RETRY ------ \n", __func__); + + sif_record_retry_config(); + + spi_unregister_driver(&esp_spi_dummy_driver); + + sif_platform_target_poweroff(); + + } while (retry--); + + if (!powerup) { + esp_dbg(ESP_DBG_ERROR, "eagle spi can not power up!\n"); + + err = -ENODEV; + goto _fail; + } + + esp_dbg(ESP_SHOW, "%s power up OK\n", __func__); + + spi_unregister_driver(&esp_spi_dummy_driver); + + sif_sdio_state = ESP_SDIO_STATE_FIRST_INIT; + sema_init(&esp_powerup_sem, 0); + + spi_register_driver(&esp_spi_driver); + + if (down_timeout(&esp_powerup_sem, + msecs_to_jiffies(ESP_WAIT_UP_TIME_MS)) == 0 && sif_get_ate_config() == 0) { + if(sif_sdio_state == ESP_SDIO_STATE_FIRST_NORMAL_EXIT){ + spi_unregister_driver(&esp_spi_driver); + + msleep(100); + + sif_sdio_state = ESP_SDIO_STATE_SECOND_INIT; + + spi_register_driver(&esp_spi_driver); + } + + } + + esp_register_early_suspend(); + esp_wake_unlock(); +#ifdef REQUEST_RTC_IRQ + request_rtc_irq(); +#endif + return err; + +_fail: + esp_wake_unlock(); + esp_wakelock_destroy(); + + return err; +} + +static void __exit esp_spi_exit(void) +{ + esp_dbg(ESP_SHOW, "%s \n", __func__); + + esp_debugfs_exit(); + + esp_unregister_early_suspend(); + + spi_unregister_driver(&esp_spi_driver); + +#ifndef FPGA_DEBUG + sif_platform_target_poweroff(); +#endif /* !FPGA_DEBUG */ + + esp_wakelock_destroy(); +} + +MODULE_AUTHOR("Espressif System"); +MODULE_DESCRIPTION("Driver for SPI interconnected eagle low-power WLAN devices"); +MODULE_LICENSE("GPL"); +#endif /* ESP_USE_SPI */ diff --git a/drivers/net/wireless/esp8089/spi_stub.c b/drivers/net/wireless/esp8089/spi_stub.c new file mode 100644 index 000000000000..27b44fe3c915 --- /dev/null +++ b/drivers/net/wireless/esp8089/spi_stub.c @@ -0,0 +1,181 @@ +/* + * Copyright (c) 2013 Espressif System. + * + * sdio stub code for allwinner + */ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "../drivers/spi/rk29_spim.h" +#include "esp_sif.h" + +//#define SPI_FREQ (20000000) // 1. 22.5Mhz 2. 45Mhz +#define SPI_FREQ (30000000) // 1. 22.5Mhz 2. 45Mhz + +//Below are for spi HZ 22.5M +#if (SPI_FREQ == 30000000) + +#define CMD_RESP_SIZE (10) //(50) //Common respon wait time +#define DATA_RESP_SIZE_W (142+45) // (1024*13)// (1024*16) //(398+400) // (1024*10) //Only for Write bytes function, data write response. max:(361+109) +#define DATA_RESP_SIZE_R (231+75) // (340+102) //(231+75)//(340+102) //Only for Read bytes function, data write response max:(340+102) + +#define BLOCK_W_DATA_RESP_SIZE_EACH (10) //For each data write resp size, in block write +#define BLOCK_W_DATA_RESP_SIZE_FINAL (152) // (142+52) //For final data write resp size, in block write ,max: 119 + +#define BLOCK_R_DATA_RESP_SIZE_1ST (265) // (231+75) //For each data read resp size, in block read ,max: 134 +#define BLOCK_R_DATA_RESP_SIZE_EACH (10) // (20) //For each data read resp size, in block read + +#elif(SPI_FREQ == 20000000) + +#define CMD_RESP_SIZE (10) //Common respon wait time +#define DATA_RESP_SIZE_W (103+40) //Only for Write bytes function, data write response. max: 103 +#define DATA_RESP_SIZE_R (118+40) //Only for Read bytes function, data write response max: 118 +//w: oxFF : 218 clock. oxFE : 214 clock. + +#define BLOCK_W_DATA_RESP_SIZE_EACH (20) //For each data write resp size, in block write +#define BLOCK_W_DATA_RESP_SIZE_FINAL (112+40) //For final data write resp size, in block write ,max :112 + +#define BLOCK_R_DATA_RESP_SIZE_1ST (123+40) //For each data read resp size, in block read ,max: 123 +#define BLOCK_R_DATA_RESP_SIZE_EACH (20) //For each data read resp size, in block read + +#endif + +//0xE5 ~0xFF 30us totoal +// + +struct spi_device_id esp_spi_id[] = { + {"esp_spi_0", 0}, + {"esp_spi_1", 1}, + {}, +}; + + +#ifdef REGISTER_SPI_BOARD_INFO +static struct rk29xx_spi_chip spi_test_chip[] = { +{ + //.poll_mode = 1, + .enable_dma = 1, +}, +{ + //.poll_mode = 1, + .enable_dma = 1, +}, + +}; +static struct spi_board_info esp_board_spi_devices[] = { + { + .modalias = "esp_spi_0", + .bus_num = 0, //0 or 1 + .max_speed_hz = 18*1000*1000, + .chip_select = 0, + .mode = SPI_MODE_3, + .controller_data = &spi_test_chip[0], + }, +}; + +void sif_platform_register_board_info(void) { + spi_register_board_info(esp_board_spi_devices, ARRAY_SIZE(esp_board_spi_devices)); +} +#endif /*REGISTER_SPI_BOARD_INFO*/ + + +#define RK30_GPIO0_BASE RK2928_GPIO0_BASE +#define GPIO_NO RK30_PIN0_PA0 +#define GPIO_BASE_ADDR ((unsigned char __iomem *) RK30_GPIO0_BASE) +#define GPIO_INT_MASK_OFFSET GPIO_INTEN +#define GPIO_INT_STAT_OFFSET GPIO_PORTS_EOI + +int sif_platform_get_irq_no(void) +{ + return gpio_to_irq(GPIO_NO); +} + +int sif_platform_is_irq_occur(void) +{ + return 1; +} + +void sif_platform_irq_clear(void) +{ +} + +void sif_platform_irq_mask(int mask) +{ + if (mask) + disable_irq_nosync(sif_platform_get_irq_no()); + else + enable_irq(sif_platform_get_irq_no()); +} + +int sif_platform_irq_init(void) +{ + int ret; + + printk(KERN_ERR "%s enter\n", __func__); + + if ( (ret = gpio_request(GPIO_NO, "esp_spi_int")) != 0) { + printk(KERN_ERR "request gpio error\n"); + return ret; + } + + gpio_direction_input(GPIO_NO); + + sif_platform_irq_clear(); + sif_platform_irq_mask(1); + + udelay(1); + + return 0; +} + + +void sif_platform_irq_deinit(void) +{ + gpio_free(GPIO_NO); +} + + +void sif_platform_reset_target(void) +{ + gpio_direction_output(RK30_PIN1_PB3, GPIO_LOW); + mdelay(200); + gpio_direction_output(RK30_PIN1_PB3, GPIO_HIGH); + mdelay(200); +} + +void sif_platform_target_poweroff(void) +{ + gpio_direction_output(RK30_PIN1_PB3, GPIO_LOW); + +} + +void sif_platform_target_poweron(void) +{ + mdelay(200); + gpio_direction_output(RK30_PIN1_PB3, GPIO_LOW); + mdelay(200); + gpio_direction_output(RK30_PIN1_PB3, GPIO_HIGH); + mdelay(200); +} + +void sif_platform_target_speed(int high_speed) +{ +} + +#ifdef ESP_ACK_INTERRUPT +void sif_platform_ack_interrupt(struct esp_pub *epub) +{ + sif_platform_irq_clear(); +} +#endif //ESP_ACK_INTERRUPT + + +module_init(esp_spi_init); +module_exit(esp_spi_exit); + diff --git a/drivers/net/wireless/esp8089/testmode.c b/drivers/net/wireless/esp8089/testmode.c new file mode 100755 index 000000000000..c2b1b35fd4c2 --- /dev/null +++ b/drivers/net/wireless/esp8089/testmode.c @@ -0,0 +1,1431 @@ +/* + * Copyright (c) 2011-2014 Espressif System. + * + * test mode + */ + +#ifdef TEST_MODE + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "esp_pub.h" +#include "esp_sip.h" +#include "esp_ctrl.h" +#include "esp_sif.h" +#include "esp_debug.h" +#include "esp_wl.h" +#include "testmode.h" +#include "esp_path.h" +#include "esp_file.h" +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)) + #include +#endif + +static int queue_flag = 0; + +static u32 connected_nl; +static struct genl_info info_copy; +static struct esp_sip *sip_copy = NULL; +static u8 *sdio_buff = NULL; +static struct sdiotest_param sdioTest; +static u8 *sdiotest_buf = NULL; + +#define SIP sip_copy +#define OUT_DONE() \ + do { \ + printk(KERN_DEBUG "esp_sdio: error occured in %s\n", __func__); \ + } while(0) + +/* ESP TEST netlinf family */ +static struct genl_family test_genl_family = { + .id = GENL_ID_GENERATE, + .hdrsize = 0, + .name = "esp_sdio", + .version = 1, + .maxattr = TEST_ATTR_MAX, +}; + +struct loopback_param_s { + u32 packet_num; + u32 packet_id; +}; + +static struct loopback_param_s loopback_param; +u32 get_loopback_num() +{ + return loopback_param.packet_num; +} + +u32 get_loopback_id() +{ + return loopback_param.packet_id; +} + +void inc_loopback_id() +{ + loopback_param.packet_id++; +} + +#define REGISTER_REPLY(info) \ + memcpy((char *)&info_copy, (char *)(info), sizeof(struct genl_info)) + + +static void sip_send_test_cmd(struct esp_sip *sip, struct sk_buff *skb) +{ + if (queue_flag == 0) + skb_queue_tail(&sip->epub->txq, skb); + else + skb_queue_head(&sip->epub->txq, skb); + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32) + if(sif_get_ate_config() == 0){ + ieee80211_queue_work(sip->epub->hw, &sip->epub->tx_work); + } else { + queue_work(sip->epub->esp_wkq, &sip->epub->tx_work); + } +#else + queue_work(sip->epub->esp_wkq, &sip->epub->tx_work); +#endif + +} + +static int esp_test_cmd_reply(struct genl_info *info, u32 cmd_type, char *reply_info) +{ + struct sk_buff *skb; + void *hdr; + + /*directly send ask_info to target, and waiting for report*/ + skb = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL); + if (skb == NULL) + goto out; + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)) + hdr = genlmsg_put(skb, info->snd_portid, info->snd_seq, &test_genl_family, 0, cmd_type); +#else + hdr = genlmsg_put(skb, info->snd_pid, info->snd_seq, &test_genl_family, 0, cmd_type); +#endif + if (hdr == NULL) + goto nla_put_failure; + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)) + nla_put_string(skb, TEST_ATTR_STR, reply_info); +#else + NLA_PUT_STRING(skb, TEST_ATTR_STR, reply_info); +#endif + genlmsg_end(skb, hdr); + genlmsg_reply(skb, info); + return 0; + +nla_put_failure: + nlmsg_free(skb); +out: + OUT_DONE(); + return -EINVAL; +} + +static int esp_test_echo(struct sk_buff *skb_2, + struct genl_info *info) +{ + char *echo_info; + int res; + + if (info == NULL) + goto out; + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)) + connected_nl = info->snd_portid; + printk(KERN_DEBUG "esp_sdio: received a echo, " + "from portid %d\n", info->snd_portid); +#else + connected_nl = info->snd_pid; + esp_dbg(ESP_DBG_ERROR, "esp_sdio: received a echo, " + "from pid %d\n", info->snd_pid); +#endif + sip_debug_show(SIP); + + /*get echo info*/ + echo_info = nla_data(info->attrs[TEST_ATTR_STR]); + + if (strncmp(echo_info, "queue_head", 10) == 0) { + esp_dbg(ESP_DBG_ERROR, "echo : change to queue head"); + queue_flag = 1; + } + if (strncmp(echo_info, "queue_tail", 10) == 0) { + esp_dbg(ESP_DBG_ERROR, "echo : change to queue head"); + queue_flag = 0; + } + + res=esp_test_cmd_reply(info, TEST_CMD_ECHO, echo_info); + return res; +out: + OUT_DONE(); + return -EINVAL; +} + +static int esp_test_sdiospeed(struct sk_buff *skb_2, + struct genl_info *info) +{ + char *speed_info; + int res; + + if (info == NULL) + goto out; + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)) + connected_nl = info->snd_portid; +#else + connected_nl = info->snd_pid; +#endif + /*get echo info*/ + speed_info = nla_data(info->attrs[TEST_ATTR_STR]); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)) + esp_dbg(ESP_DBG_ERROR, "esp_sdio: received a sdio speed %s, " + "from portid %d\n", speed_info, info->snd_portid); +#else + esp_dbg(ESP_DBG_ERROR, "esp_sdio: received a sdio speed %s, " + "from pid %d\n", speed_info, info->snd_pid); +#endif + if (!strcmp(speed_info, "high")) { + sif_platform_target_speed(1); + } else if (!strcmp(speed_info, "low")) { + sif_platform_target_speed(0); + } else { + esp_dbg(ESP_DBG_ERROR, "%s: %s unsupported\n", __func__, speed_info); + } + + res=esp_test_cmd_reply(info, TEST_CMD_SDIOSPEED, speed_info); + return res; +out: + OUT_DONE(); + return -EINVAL; +} + +static void * ate_done_data; +static char ate_reply_str[128]; +void esp_test_ate_done_cb(char *ep) +{ + memset(ate_reply_str, 0, sizeof(ate_reply_str)); + strcpy(ate_reply_str, ep); + + esp_dbg(ESP_DBG_ERROR, "%s %s\n", __func__, ate_reply_str); + + if (ate_done_data) + complete(ate_done_data); +} + +static int esp_test_ate(struct sk_buff *skb_2, + struct genl_info *info) +{ + char *ate_info = NULL; + u16 len = 0; + int res = 0; + struct sk_buff *skb; + char *str; + bool stop_sdt = false; + + DECLARE_COMPLETION_ONSTACK(complete); + + if (info == NULL) + goto out; + + + ate_done_data = &complete; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)) + connected_nl = info->snd_portid; +#else + connected_nl = info->snd_pid; +#endif + + //esp_dbg(ESP_DBG_ERROR, "esp_sdio: received a ate cmd, " + // "from pid %d\n", info->snd_pid); + + /*get echo info*/ + ate_info = nla_data(info->attrs[TEST_ATTR_STR]); + if (!ate_info) + goto out; + + len = nla_len(info->attrs[TEST_ATTR_STR]); + + //esp_dbg(ESP_DBG_ERROR, "%s str %s len %d cmd %d\n", __func__, ate_info, len, SIP_CMD_ATE); + + skb = sip_alloc_ctrl_skbuf(SIP, (sizeof(struct sip_hdr)+len), SIP_CMD_ATE); + if (!skb) + goto out; + + //atecmd = (struct sip_cmd_ate*)(skb->data + sizeof(struct sip_hdr)); + str = (char *)(skb->data + sizeof(struct sip_hdr)); + //atecmd->len = len; + strcpy(str, ate_info); + //esp_dbg(ESP_DBG_ERROR, "%s cmdstr %s \n", __func__, str); + + if (atomic_read(&sdioTest.start)) { + atomic_set(&sdioTest.start, 0); + stop_sdt = true; + msleep(10); + //esp_dbg(ESP_DBG_ERROR, "%s stop sdt \n", __func__); + } + + sip_send_test_cmd(SIP, skb); + //esp_dbg(ESP_DBG_ERROR, "%s sent cmd \n", __func__); + + wait_for_completion(&complete); + + //esp_dbg(ESP_DBG_ERROR, "%s completed \n", __func__); + + esp_test_cmd_reply(info, TEST_CMD_ATE, ate_reply_str); + + if (stop_sdt) { + //esp_dbg(ESP_DBG_ERROR, "%s restart sdt \n", __func__); + atomic_set(&sdioTest.start, 1); + wake_up_process(sdioTest.thread); + } + + return res; +out: + OUT_DONE(); + return -EINVAL; +} + +static int esp_process_sdio_test(struct sdiotest_param *param) +{ +//#define sdiotest_BASE_ADDR 0x7f80 //MAC 5.0 +#define SDIOTEST_FLAG_ADDR 0xc000 +#define SDIOTEST_BASE_ADDR (SDIOTEST_FLAG_ADDR+4) //MAC 6.0 +#define SDIO_BUF_SIZE (16*1024-4) + + int ret = 0; + static int counter = 0; + + //esp_dbg(ESP_DBG_ERROR, "idle_period %d mode %d addr 0x%08x\n", param->idle_period, +// param->mode, param->addr); + if (sdioTest.mode == 1) { //read mode + ret = esp_common_read_with_addr(SIP->epub, SDIOTEST_BASE_ADDR, sdiotest_buf, SDIO_BUF_SIZE, ESP_SIF_SYNC); + + } else if ((sdioTest.mode >= 3)&&(sdioTest.mode <= 7)) { //write mode + ret = esp_common_write_with_addr(SIP->epub, SDIOTEST_BASE_ADDR, sdiotest_buf, SDIO_BUF_SIZE, ESP_SIF_SYNC); +/* + } else if (sdioTest.mode == 3) { //read & write mode + ret = esp_common_read_with_addr(SIP->epub, SDIOTEST_BASE_ADDR, sdiotest_buf, 16*1024, ESP_SIF_SYNC); + sdiotest_buf[0]++; + ret = esp_common_write_with_addr(SIP->epub, SDIOTEST_BASE_ADDR, sdiotest_buf, 16*1024, ESP_SIF_SYNC); +*/ + } else if (sdioTest.mode == 2) { //byte read mode(to test sdio_cmd) + ret = esp_common_read_with_addr(SIP->epub, SDIOTEST_BASE_ADDR, sdiotest_buf, 8, ESP_SIF_SYNC); + } + + if (sdioTest.idle_period > 1000) { + show_buf(sdiotest_buf, 128); + } else if (sdioTest.idle_period == 0) { + if (sdioTest.mode == 1) {//read mode + if (!(counter++%5000)) { + esp_dbg(ESP_DBG_ERROR, "%s %d\n", __func__, counter); + } + } else if (sdioTest.mode == 2) { //byte read mode + if (!(counter++%5000)) { + esp_dbg(ESP_DBG_ERROR, "%s %d\n", __func__, counter); + } + } else {//write mode + //msleep(3); + if (!(counter++%30000)) { + esp_dbg(ESP_DBG_ERROR, "%s %d\n", __func__, counter); + } + } + } else { + if (!(counter++%1000)) { + esp_dbg(ESP_DBG_ERROR, "%s %d\n", __func__, counter); + } + } + + + if (ret) + esp_dbg(ESP_DBG_ERROR, "%s mode %d err %d \n", __func__, sdioTest.mode, ret); + + return ret; +} + +static int esp_test_sdiotest_thread(void *param) +{ + struct sdiotest_param *testParam = (struct sdiotest_param *)param; + struct sched_param schedParam = { .sched_priority = 1 }; + unsigned long idle_period = MAX_SCHEDULE_TIMEOUT; + int ret = 0; + + sched_setscheduler(current, SCHED_FIFO, &schedParam); + + while (!kthread_should_stop()) { + + if (0 == atomic_read(&testParam->start)) { + esp_dbg(ESP_DBG_ERROR, "%s suspend\n", __func__); + set_current_state(TASK_INTERRUPTIBLE); + if (!kthread_should_stop()) + schedule_timeout(MAX_SCHEDULE_TIMEOUT); + set_current_state(TASK_RUNNING); + } + + if (testParam->idle_period) + idle_period = msecs_to_jiffies(testParam->idle_period); + else + idle_period = 0; + + ret = esp_process_sdio_test(testParam); + + /* + * Give other threads a chance to run in the presence of + * errors. + */ + if (ret < 0) { + set_current_state(TASK_INTERRUPTIBLE); + if (!kthread_should_stop()) + schedule_timeout(2*HZ); + set_current_state(TASK_RUNNING); + atomic_set(&testParam->start, 0); + } + + //esp_dbg(ESP_DBG_ERROR, "%s idle_period %lu\n", __func__, idle_period); + if (idle_period) { + set_current_state(TASK_INTERRUPTIBLE); + if (!kthread_should_stop()) { + schedule_timeout(idle_period); + } + set_current_state(TASK_RUNNING); + } + }; + + + esp_dbg(ESP_DBG_ERROR, "%s exit\n", __func__); + + return ret; + +} + +static int esp_test_sdiotest(struct sk_buff *skb_2, + struct genl_info *info) +{ + int res = 0; + char reply_str[32]; + u32 start = 0; + int para_num = 0; + int i; + u32 data_mask = 0xffffffff; + u8 * sdio_test_flag = NULL; + int ret = 0; + bool stop_sdt = false; + + if (info == NULL) + goto out; + + start = nla_get_u32(info->attrs[TEST_ATTR_PARA0]); + esp_dbg(ESP_DBG_ERROR, "%s start 0x%08x\n", __func__, start); + para_num = start & 0xf; + start >>= 31; + if (!start) + goto _turnoff; + + esp_dbg(ESP_DBG_ERROR, "%s paranum %d start %u\n", __func__, para_num, start); + para_num--; + + do { + if ((para_num--) > 0) { + sdioTest.mode = nla_get_u32(info->attrs[TEST_ATTR_PARA1]); + if ((sdioTest.mode >= 3)&&(sdioTest.mode <= 7)) { // write mode, fill the test buf + data_mask = (sdioTest.mode == 3)? 0xffffffff : (0x11111111<<(sdioTest.mode-4)); + for (i = 0; i= KERNEL_VERSION(3, 10, 0)) + + *(u32 *)&sdiotest_buf[i*4] = get_random_int() & data_mask; +#else + *(u32 *)&sdiotest_buf[i*4] = random32() & data_mask; +#endif + } + } + esp_dbg(ESP_DBG_ERROR, "%s mode %d \n", __func__, sdioTest.mode); + } + + if ((para_num--) > 0) { + sdioTest.addr = nla_get_u32(info->attrs[TEST_ATTR_PARA2]); + esp_dbg(ESP_DBG_ERROR, "%s addr 0x%x \n", __func__, sdioTest.addr); + } + + if ((para_num--) > 0) { + sdioTest.idle_period = nla_get_u32(info->attrs[TEST_ATTR_PARA3]); + esp_dbg(ESP_DBG_ERROR, "%s idle_period %u \n", __func__, sdioTest.idle_period); + } + } while (0); + + esp_test_cmd_reply(info, TEST_CMD_SDIOTEST, reply_str); + msleep(10); + +#if 1 + if (start == 1) { + //esp_dbg(ESP_DBG_ERROR, "%s start== 1\n", __func__); + + if((sdioTest.mode == 8)|(sdioTest.mode == 9)) { + + if (atomic_read(&sdioTest.start)) { + atomic_set(&sdioTest.start, 0); + stop_sdt = true; + msleep(10); + } + + sdio_test_flag = kzalloc(4, GFP_KERNEL); + if (sdio_test_flag == NULL) { + esp_dbg(ESP_DBG_ERROR, "no mem for sdio_tst_flag!!\n"); + goto out; + } + + if(sdioTest.mode == 8){ + ret = esp_common_read_with_addr(SIP->epub, sdioTest.addr, sdio_test_flag, 4, ESP_SIF_SYNC); + + esp_dbg(ESP_DBG_ERROR, "%s sdio read: 0x%x 0x%x\n", __func__, sdioTest.addr, *(u32 *)sdio_test_flag); + }else{ + + *(u32 *)sdio_test_flag = sdioTest.idle_period; + + ret = esp_common_write_with_addr(SIP->epub, sdioTest.addr, sdio_test_flag, 4, ESP_SIF_SYNC); + + esp_dbg(ESP_DBG_ERROR, "%s sdio : write 0x%x 0x%x done!\n", __func__, sdioTest.addr, *(u32 *)sdio_test_flag); + } + + kfree(sdio_test_flag); + sdio_test_flag = NULL; + + } else { + //set flag to inform firmware sdio-test start + sdio_test_flag = kzalloc(4, GFP_KERNEL); + if (sdio_test_flag == NULL) { + esp_dbg(ESP_DBG_ERROR, "no mem for sdio_tst_flag!!\n"); + goto out; + } + + *(u32 *)sdio_test_flag = 0x56781234; + if (atomic_read(&sdioTest.start)) { + atomic_set(&sdioTest.start, 0); + stop_sdt = true; + msleep(10); + //esp_dbg(ESP_DBG_ERROR, "%s stop sdt \n", __func__); + } + ret = esp_common_write_with_addr(SIP->epub, SDIOTEST_FLAG_ADDR, sdio_test_flag, 4, ESP_SIF_SYNC); +/* + if (stop_sdt) { + //esp_dbg(ESP_DBG_ERROR, "%s restart sdt \n", __func__); + atomic_set(&sdioTest.start, 1); + wake_up_process(sdioTest.thread); + } +*/ + //esp_dbg(ESP_SHOW, "%s sdio_test_flag sent to target \n", __func__); + //esp_dbg(ESP_DBG_ERROR, "%s sdio_test_flag sent to target \n", __func__); + kfree(sdio_test_flag); + sdio_test_flag = NULL; + + atomic_set(&sdioTest.start, 1); + if (sdioTest.thread == NULL) { + sdioTest.thread = kthread_run(esp_test_sdiotest_thread, + &sdioTest, + "kespsdiotestd"); + } else { + wake_up_process(sdioTest.thread); + } + strcpy(reply_str, "sdt started\n"); + } + } else { + //esp_dbg(ESP_DBG_ERROR, "%s start== 0\n", __func__); +_turnoff: + atomic_set(&sdioTest.start, 0); + strcpy(reply_str, "sdt stopped\n"); + } +#endif + + + return res; +out: + OUT_DONE(); + return -EINVAL; +} + + +static int esp_test_ask(struct sk_buff *skb_2, + struct genl_info *info) +{ + char *ask_info; + int res; + + if (info == NULL) + goto out; + + /*get echo info*/ + ask_info = nla_data(info->attrs[TEST_ATTR_STR]); + + /*directly send ask_info to target, and waiting for report*/ + res=esp_test_cmd_reply(info, TEST_CMD_ASK, "ok"); + return res; +out: + OUT_DONE(); + return -EINVAL; +} + +static int esp_test_sleep(struct sk_buff *skb_2, + struct genl_info *info) +{ + struct sip_cmd_sleep *sleepcmd; + struct sk_buff *skb = NULL; + int res; + + if (info == NULL) + goto out; + + skb = sip_alloc_ctrl_skbuf(SIP, sizeof(struct sip_cmd_sleep), SIP_CMD_SLEEP); + if (!skb) + goto out; + + sleepcmd = (struct sip_cmd_sleep *)(skb->data + sizeof(struct sip_tx_info)); + sleepcmd->sleep_mode = nla_get_u32(info->attrs[TEST_ATTR_PARA0]); + sleepcmd->sleep_tm_ms = nla_get_u32(info->attrs[TEST_ATTR_PARA1]); + sleepcmd->wakeup_tm_ms = nla_get_u32(info->attrs[TEST_ATTR_PARA2]); + sleepcmd->sleep_times = nla_get_u32(info->attrs[TEST_ATTR_PARA3]); + + sip_send_test_cmd(SIP, skb); + + /*directly send ask_info to target, and waiting for report*/ + res=esp_test_cmd_reply(info, TEST_CMD_SLEEP, "ok"); + return res; +out: + OUT_DONE(); + return -EINVAL; +} + +static int esp_test_wakeup(struct sk_buff *skb_2, + struct genl_info *info) +{ + struct sip_cmd_wakeup *wakeupcmd; + struct sk_buff *skb = NULL; + //int res; + + if (info == NULL) + goto out; + + skb = sip_alloc_ctrl_skbuf(SIP, sizeof(struct sip_cmd_wakeup), SIP_CMD_WAKEUP); + if (!skb) + goto out; + wakeupcmd = (struct sip_cmd_wakeup *)(skb->data + sizeof(struct sip_tx_info)); + wakeupcmd->check_data = nla_get_u32(info->attrs[TEST_ATTR_PARA0]); + + /*directly send reply_info to target, and waiting for report*/ + REGISTER_REPLY(info); + //res=esp_test_cmd_reply(info, TEST_CMD_WAKEUP, "ok"); + + sip_send_test_cmd(SIP, skb); + return 0; +out: + OUT_DONE(); + return -EINVAL; +} + +static int esp_test_loopback(struct sk_buff *skb_2, + struct genl_info *info) +{ + u32 txpacket_len; + u32 rxpacket_len; + + if (info == NULL) + goto out; + + txpacket_len = nla_get_u32(info->attrs[TEST_ATTR_PARA0]); + rxpacket_len = nla_get_u32(info->attrs[TEST_ATTR_PARA1]); + loopback_param.packet_num = nla_get_u32(info->attrs[TEST_ATTR_PARA2]); + loopback_param.packet_id=0; + REGISTER_REPLY(info); + return sip_send_loopback_mblk(SIP, txpacket_len, rxpacket_len, 0); +out: + OUT_DONE(); + return -EINVAL; +} + +/* +u8 probe_req_frm[] = {0x40,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x03,0x8F,0x11,0x22,0x88, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x01,0x08,0x82,0x84,0x8B,0x96, + 0x0C,0x12,0x18,0x24,0x32,0x04,0x30,0x48,0x60,0x6C + }; +*/ + +static int sip_send_tx_frame(struct esp_sip *sip, u32 packet_len) +{ + + struct sk_buff *skb = NULL; + u8 *ptr = NULL; + int i; + + skb = alloc_skb(packet_len, GFP_KERNEL); + skb->len = packet_len; + ptr = skb->data; + /* fill up pkt payload */ + for (i = 0; i < skb->len; i++) { + ptr[i] = i; + } + + if(sif_get_ate_config() == 0){ + sip_tx_data_pkt_enqueue(sip->epub, skb); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)) + ieee80211_queue_work(sip->epub->hw, &sip->epub->tx_work); +#else + queue_work(sip->epub->esp_wkq, &sip->epub->tx_work); +#endif + } else { + skb_queue_tail(&sip->epub->txq, skb); + queue_work(sip->epub->esp_wkq, &sip->epub->tx_work); + } + + return 0; +} + +static int esp_test_tx(struct sk_buff *skb_2, + struct genl_info *info) +{ + u32 txpacket_len; + u32 res; + + if (info == NULL) + goto out; + + txpacket_len = nla_get_u32(info->attrs[TEST_ATTR_PARA0]); + REGISTER_REPLY(info); + sip_send_tx_frame(SIP, txpacket_len); + res=esp_test_cmd_reply(info, TEST_CMD_TX, "tx out"); + return res; +out: + OUT_DONE(); + return -EINVAL; +} + +static int esp_test_genl(struct sk_buff *skb_2, + struct genl_info *info) +{ + struct sip_cmd_debug *dbgcmd; + struct sk_buff *skb = NULL; + int i; + + if (info == NULL) + goto out; + + skb = sip_alloc_ctrl_skbuf(SIP, sizeof(struct sip_hdr) + sizeof(struct sip_cmd_debug), SIP_CMD_DEBUG); + if (!skb) + goto out; + + dbgcmd = (struct sip_cmd_debug *)(skb->data + sizeof(struct sip_hdr)); + dbgcmd->cmd_type = nla_get_u32(info->attrs[TEST_ATTR_CMD_TYPE]); + dbgcmd->para_num = nla_get_u32(info->attrs[TEST_ATTR_PARA_NUM]); + esp_dbg(ESP_DBG_ERROR, "%s dbgcmdType %d paraNum %d\n", __func__, dbgcmd->cmd_type, dbgcmd->para_num); + for (i=0; ipara_num; i++) + dbgcmd->para[i] = nla_get_u32(info->attrs[TEST_ATTR_PARA(i)]); + + /*directly send reply_info to target, and waiting for report*/ + REGISTER_REPLY(info); + + sip_send_test_cmd(SIP, skb); + return 0; +out: + OUT_DONE(); + return -EINVAL; +} + +static int esp_test_sdio_wr(struct sk_buff *skb_2, + struct genl_info *info) +{ + int res; + u32 func_no, addr, value; + + if (info == NULL) + goto out; + + func_no = nla_get_u32(info->attrs[TEST_ATTR_PARA0]); + addr = nla_get_u32(info->attrs[TEST_ATTR_PARA1]); + value = nla_get_u32(info->attrs[TEST_ATTR_PARA2]); + + if(!func_no) { + res = esp_common_writebyte_with_addr(SIP->epub, addr, (u8)value, ESP_SIF_SYNC); + } else { + memcpy(sdio_buff, (u8 *)&value, 4); + res = esp_common_write_with_addr(SIP->epub, addr, sdio_buff, 4, ESP_SIF_SYNC); + } + + /*directly send reply_info to target, and waiting for report*/ + REGISTER_REPLY(info); + if (!res) + esp_test_cmd_reply(info, TEST_CMD_SDIO_WR, "write ok!"); + else + esp_test_cmd_reply(info, TEST_CMD_SDIO_WR, "write fail!"); + +out: + OUT_DONE(); + return -EINVAL; +} + +static int esp_test_sdio_rd(struct sk_buff *skb_2, + struct genl_info *info) +{ + int res; + u32 func_no, addr, value; + char value_str[12]; + + if (info == NULL) + goto out; + + func_no = nla_get_u32(info->attrs[TEST_ATTR_PARA0]); + addr = nla_get_u32(info->attrs[TEST_ATTR_PARA1]); + + if(!func_no) { + memset(sdio_buff, 0, 4); + res = esp_common_readbyte_with_addr(SIP->epub, addr, &sdio_buff[0], ESP_SIF_SYNC); + } else { + res = esp_common_read_with_addr(SIP->epub, addr, sdio_buff, 4, ESP_SIF_SYNC); + } + memcpy((u8 *)&value, sdio_buff, 4); + + /*directly send reply_info to target, and waiting for report*/ + REGISTER_REPLY(info); + if (!res) { + sprintf((char *)&value_str, "0x%x", value); + esp_test_cmd_reply(info, TEST_CMD_SDIO_RD, value_str); + } else + esp_test_cmd_reply(info, TEST_CMD_SDIO_RD, "read fail!"); + +out: + OUT_DONE(); + return -EINVAL; +} + +/* TEST_CMD netlink policy */ + +static struct nla_policy test_genl_policy[TEST_ATTR_MAX + 1] = { + [TEST_ATTR_CMD_NAME]= { .type = NLA_NUL_STRING, .len = GENL_NAMSIZ - 1 }, + [TEST_ATTR_CMD_TYPE] = { .type = NLA_U32 }, + [TEST_ATTR_PARA_NUM] = { .type = NLA_U32 }, + [TEST_ATTR_PARA0] = { .type = NLA_U32 }, + [TEST_ATTR_PARA1] = { .type = NLA_U32 }, + [TEST_ATTR_PARA2] = { .type = NLA_U32 }, + [TEST_ATTR_PARA3] = { .type = NLA_U32 }, + [TEST_ATTR_PARA4] = { .type = NLA_U32 }, + [TEST_ATTR_PARA5] = { .type = NLA_U32 }, + [TEST_ATTR_PARA6] = { .type = NLA_U32 }, + [TEST_ATTR_PARA7] = { .type = NLA_U32 }, + [TEST_ATTR_STR] = { .type = NLA_NUL_STRING, .len = 256-1 }, +}; + +/* Generic Netlink operations array */ +static struct genl_ops esp_test_ops[] = { + { + .cmd = TEST_CMD_ECHO, + .policy = test_genl_policy, + .doit = esp_test_echo, + .flags = GENL_ADMIN_PERM, + }, + { + .cmd = TEST_CMD_ASK, + .policy = test_genl_policy, + .doit = esp_test_ask, + .flags = GENL_ADMIN_PERM, + }, + { + .cmd = TEST_CMD_SLEEP, + .policy = test_genl_policy, + .doit = esp_test_sleep, + .flags = GENL_ADMIN_PERM, + }, + { + .cmd = TEST_CMD_WAKEUP, + .policy = test_genl_policy, + .doit = esp_test_wakeup, + .flags = GENL_ADMIN_PERM, + }, + { + .cmd = TEST_CMD_LOOPBACK, + .policy = test_genl_policy, + .doit = esp_test_loopback, + .flags = GENL_ADMIN_PERM, + }, + { + .cmd = TEST_CMD_TX, + .policy = test_genl_policy, + .doit = esp_test_tx, + .flags = GENL_ADMIN_PERM, + }, + { + .cmd = TEST_CMD_DEBUG, + .policy = test_genl_policy, + .doit = esp_test_genl, + .flags = GENL_ADMIN_PERM, + }, + { + .cmd = TEST_CMD_SDIO_WR, + .policy = test_genl_policy, + .doit = esp_test_sdio_wr, + .flags = GENL_ADMIN_PERM, + }, + { + .cmd = TEST_CMD_SDIO_RD, + .policy = test_genl_policy, + .doit = esp_test_sdio_rd, + .flags = GENL_ADMIN_PERM, + }, + { + .cmd = TEST_CMD_ATE, + .policy = test_genl_policy, + .doit = esp_test_ate, + .flags = GENL_ADMIN_PERM, + }, + { + .cmd = TEST_CMD_SDIOTEST, + .policy = test_genl_policy, + .doit = esp_test_sdiotest, + .flags = GENL_ADMIN_PERM, + }, + { + .cmd = TEST_CMD_SDIOSPEED, + .policy = test_genl_policy, + .doit = esp_test_sdiospeed, + .flags = GENL_ADMIN_PERM, + }, +}; + +static int esp_test_netlink_notify(struct notifier_block *nb, + unsigned long state, + void *_notify) +{ + struct netlink_notify *notify = _notify; + + if (state != NETLINK_URELEASE) + return NOTIFY_DONE; + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)) + if (notify->portid == connected_nl) { +#else + if (notify->pid == connected_nl) { +#endif + esp_dbg(ESP_DBG_ERROR, "esp_sdio: user released netlink" + " socket \n"); + connected_nl = 0; + } + return NOTIFY_DONE; + +} + +static struct notifier_block test_netlink_notifier = { + .notifier_call = esp_test_netlink_notify, +}; + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)) +/** + * copy from net/netlink/genetlink.c(linux kernel 2.6.32) + * + * genl_register_family_with_ops - register a generic netlink family + * @family: generic netlink family + * @ops: operations to be registered + * @n_ops: number of elements to register + * + * Registers the specified family and operations from the specified table. + * Only one family may be registered with the same family name or identifier. + * + * The family id may equal GENL_ID_GENERATE causing an unique id to + * be automatically generated and assigned. + * + * Either a doit or dumpit callback must be specified for every registered + * operation or the function will fail. Only one operation structure per + * command identifier may be registered. + * + * See include/net/genetlink.h for more documenation on the operations + * structure. + * + * This is equivalent to calling genl_register_family() followed by + * genl_register_ops() for every operation entry in the table taking + * care to unregister the family on error path. + * + * Return 0 on success or a negative error code. + */ +int genl_register_family_with_ops(struct genl_family *family, + struct genl_ops *ops, size_t n_ops) +{ + int err, i; + + err = genl_register_family(family); + if (err) + return err; + + for (i = 0; i < n_ops; ++i, ++ops) { + err = genl_register_ops(family, ops); + if (err) + goto err_out; + } + return 0; +err_out: + genl_unregister_family(family); + return err; +} +#endif + +int test_init_netlink(struct esp_sip *sip) +{ + int rc; + esp_dbg(ESP_DBG_ERROR, "esp_sdio: initializing netlink\n"); + + sip_copy=sip; + /* temp buffer for sdio test */ + sdio_buff = kzalloc(8, GFP_KERNEL); + sdiotest_buf = kzalloc(16*1024, GFP_KERNEL); + + rc = genl_register_family_with_ops(&test_genl_family, + esp_test_ops, ARRAY_SIZE(esp_test_ops)); + if (rc) + goto failure; + + rc = netlink_register_notifier(&test_netlink_notifier); + if (rc) + goto failure; + + return 0; + +failure: + esp_dbg(ESP_DBG_ERROR, "esp_sdio: error occured in %s\n", __func__); + if (sdio_buff) { + kfree(sdio_buff); + sdio_buff = NULL; + } + if (sdiotest_buf) { + kfree(sdiotest_buf); + sdiotest_buf = NULL; + } + return -EINVAL; +} + +void test_exit_netlink(void) +{ + int ret; + + if (sdio_buff == NULL) + return; + + kfree(sdio_buff); + sdio_buff = NULL; + sip_copy = NULL; + + if (sdioTest.thread) { + kthread_stop(sdioTest.thread); + sdioTest.thread = NULL; + } + if (sdiotest_buf) { + kfree(sdiotest_buf); + sdiotest_buf = NULL; + } + esp_dbg(ESP_DBG_ERROR, "esp_sdio: closing netlink\n"); + /* unregister the notifier */ + netlink_unregister_notifier(&test_netlink_notifier); + /* unregister the family */ + ret = genl_unregister_family(&test_genl_family); + if (ret) + esp_dbg(ESP_DBG_ERROR, "esp_sdio: " + "unregister family %i\n", ret); +} +void esp_test_cmd_event(u32 cmd_type, char *reply_info) +{ + esp_test_cmd_reply(&info_copy, cmd_type, reply_info); +} + +void esp_stability_test(char *filename,struct esp_pub *epub) +{ + int i = 0; + int count =32; + int m = 36; + int n = 100; + int s = 10; + char test_res_str[560]; + char *tx_buf = kzalloc(512*32, GFP_KERNEL); + char *rx_buf = kzalloc(512*32, GFP_KERNEL); +#ifdef ESP_USE_SPI + struct esp_spi_ctrl *sctrl = NULL; + struct spi_device *spi = NULL; + if (epub == NULL) { + ESSERT(0); + return; + } + sctrl = (struct esp_spi_ctrl *)epub->sif; + spi = sctrl->spi; + if (spi == NULL) { + ESSERT(0); + return; + } +#endif + + while(--m) + { + if(m >32) + { + count = count *2; + }else + { + count = 512*(33-m); + } + n =255; + + while(n--) + { + s =100; + while(s--) + { + + for(i = 0;imaster); + sif_spi_write_bytes(spi, 0x8010, tx_buf, count, NOT_DUMMYMODE); + spi_bus_unlock(spi->master); + memset(rx_buf,0xff,count); + + spi_bus_lock(spi->master); + sif_spi_read_bytes(spi, 0x8010, tx_buf, count, NOT_DUMMYMODE); + spi_bus_unlock(spi->master); + } +#endif + esp_common_write_with_addr((epub), 0x8010, tx_buf, count, ESP_SIF_SYNC); + memset(rx_buf,0xff,count); + esp_common_read_with_addr((epub), 0x8010, rx_buf, count, ESP_SIF_SYNC); + + for(i =0;isif; + spi = sctrl->spi; + if (spi == NULL) { + ESSERT(0); + return; + } + + while(m--) + { + if(m >32) + { + count = 64; + }else + { + count = 512*(33-m); + } + n =10; + + while(n--) + { + s =3; + while(s--) + { + + for(i = 0;imaster); + sif_spi_write_bytes(spi, 0x8010, tx_buf, count, NOT_DUMMYMODE); + spi_bus_unlock(spi->master); + memset(rx_buf,0xff,count); + + spi_bus_lock(spi->master); + sif_spi_read_bytes(spi, 0x8010, rx_buf, count, NOT_DUMMYMODE); + spi_bus_unlock(spi->master); + for(i =0;imax_dataW_resp_size,spi_resp->max_dataR_resp_size,spi_resp->max_block_dataW_resp_size,spi_resp->max_block_dataR_resp_size,spi_resp->max_cmd_resp_size); + + printk("%s\n", test_res_str); + + esp_readwrite_file(filename, NULL, test_res_str, strlen(test_res_str)); + +_out: + kfree(rx_buf); + kfree(tx_buf); + kfree(test_res_str); +} +#endif + +void esp_noisefloor_test(char *filename,struct esp_pub *epub) +{ + char *tx_buf = kzalloc(512*32, GFP_KERNEL); + char *rx_buf = kzalloc(512*32, GFP_KERNEL); + char *res_buf = kzalloc(128, GFP_KERNEL); + char test_res_str[560]; + unsigned long jiffies_start; + int i = 0; + + for(i = 0;i<512*32;i++) + { + tx_buf[i]=(i*11)^0X5A; + } + + jiffies_start = jiffies; + + while(jiffies_to_msecs(jiffies - jiffies_start) < 6000){ + esp_common_write_with_addr((epub), 0x9010, tx_buf, 512*32, ESP_SIF_SYNC); + memset(rx_buf,0xff,512*32); + esp_common_read_with_addr((epub), 0x9010, rx_buf, 512*32, ESP_SIF_SYNC); + } + + //read result + esp_common_read_with_addr((epub), 0x14, res_buf,128 , ESP_SIF_SYNC); + + if ( (res_buf[38] && 0xf) == (0xa && 0xf) ) + { + sprintf(test_res_str, "ok, APST RN:%d,%d; %d,%d; %d,%d; %d,%d; %d,%d; %d,%d; %d,%d; %d,%d; %d,%d; %d,%d; %d,%d; %d,%d; %d,%d; %d,%d; APED\n", + res_buf[40]-400,res_buf[0]-400, //chanell 1 + res_buf[41]-400,res_buf[1]-400, + res_buf[42]-400,res_buf[2]-400, + res_buf[43]-400,res_buf[3]-400, + res_buf[100]-400,res_buf[4]-400, + res_buf[101]-400,res_buf[5]-400, + res_buf[102]-400,res_buf[6]-400, + res_buf[103]-400,res_buf[7]-400, + res_buf[104]-400,res_buf[16]-400, + res_buf[105]-400,res_buf[17]-400, + res_buf[106]-400,res_buf[18]-400, + res_buf[107]-400,res_buf[19]-400, + res_buf[36]-400,res_buf[20]-400, + res_buf[37]-400,res_buf[21]-400); + + } else + { + sprintf(test_res_str, "error !!!\n"); + } + + printk("%s\n", test_res_str); + + esp_readwrite_file(filename, NULL, test_res_str, strlen(test_res_str)); + + kfree(res_buf); + kfree(tx_buf); + kfree(rx_buf); +} + +void esp_test_init(struct esp_pub *epub) +{ + char filename[256]; + + if (mod_eagle_path_get() == NULL) + sprintf(filename, "%s/%s", FWPATH, "test_results"); + else + sprintf(filename, "%s/%s", mod_eagle_path_get(), "test_results"); + + sif_lock_bus(epub); + sif_had_io_enable(epub); + sif_unlock_bus(epub); + + if(sif_get_ate_config() == 2){ + esp_stability_test(filename,epub); + + } else if(sif_get_ate_config() == 4){ + esp_rate_test(filename,epub); + } +#ifdef ESP_USE_SPI + else if(sif_get_ate_config() == 5){ + esp_resp_test(filename,epub); + } +#endif + else if(sif_get_ate_config() == 6){ + esp_noisefloor_test(filename,epub); + } +} + +#endif //ifdef TEST_MODE + diff --git a/drivers/net/wireless/esp8089/testmode.h b/drivers/net/wireless/esp8089/testmode.h new file mode 100755 index 000000000000..bc5f1a79248e --- /dev/null +++ b/drivers/net/wireless/esp8089/testmode.h @@ -0,0 +1,77 @@ + +#ifndef __TEST_MODE +#define __TEST_MODE + +enum { + TEST_CMD_UNSPEC, + TEST_CMD_ECHO, + TEST_CMD_ASK, + TEST_CMD_SLEEP, + TEST_CMD_WAKEUP, + TEST_CMD_LOOPBACK, + TEST_CMD_TX, + TEST_CMD_RX, + TEST_CMD_DEBUG, + TEST_CMD_SDIO_WR, + TEST_CMD_SDIO_RD, + TEST_CMD_ATE, + TEST_CMD_SDIOTEST, + TEST_CMD_SDIOSPEED, + __TEST_CMD_MAX, +}; +#define TEST_CMD_MAX (__TEST_CMD_MAX - 1) + +enum { + TEST_ATTR_UNSPEC, + TEST_ATTR_CMD_NAME, + TEST_ATTR_CMD_TYPE, + TEST_ATTR_PARA_NUM, + TEST_ATTR_PARA0, + TEST_ATTR_PARA1, + TEST_ATTR_PARA2, + TEST_ATTR_PARA3, + TEST_ATTR_PARA4, + TEST_ATTR_PARA5, + TEST_ATTR_PARA6, + TEST_ATTR_PARA7, + TEST_ATTR_STR, + __TEST_ATTR_MAX, +}; +#define TEST_ATTR_MAX (__TEST_ATTR_MAX - 1) +#define TEST_ATTR_PARA(i) (TEST_ATTR_PARA0+(i)) + +enum { + RD_REG = 0, + WR_REG, + SET_SENSE, + SET_TX_RATE, + SET_TX_FREQ, + TKIP_MIC_ERROR, + RIFS_CTRL, + BACKOFF, + SET_RXSENSE, + CONFIGURE_TRC, + RDPER, + RDRSSI, + DBGTRC, + WRMEM, + RDMEM +}; + +u32 get_loopback_num(void); +u32 get_loopback_id(void); +void inc_loopback_id(void); + +void esp_test_ate_done_cb(char *ep); + +struct sdiotest_param { + atomic_t start; + u32 mode; //1: read 2: write 3: read&write + u32 addr; + u32 idle_period; //in msec + struct task_struct *thread; +}; + +#endif //__TEST_MODE + +