From 319feb52f1d985f8615c21b9ee93c5783ef4b9b9 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Sun, 5 Apr 2015 23:51:24 -0700 Subject: [PATCH] erasure is now external pull it and update from minio-io/erasure --- Godeps/Godeps.json | 4 +- .../minio-io/donut/Godeps/Godeps.json | 2 +- .../minio-io/erasure/cauchy_test.go | 2 +- .../github.com/minio-io/erasure/ec_types.h | 6 +- .../minio-io/erasure/erasure_decode.go | 7 +- .../minio-io/erasure/vandermonde_test.go | 2 +- pkg/encoding/erasure/.gitignore | 23 - pkg/encoding/erasure/BUILDDEPS.md | 80 - pkg/encoding/erasure/CONTRIBUTING.md | 30 - pkg/encoding/erasure/LICENSE.INTEL | 26 - pkg/encoding/erasure/LICENSE.MINIO | 202 - pkg/encoding/erasure/README.md | 25 - pkg/encoding/erasure/RELEASE-NOTES.INTEL | 49 - pkg/encoding/erasure/RELEASE-NOTES.MINIO | 3 - pkg/encoding/erasure/cauchy_test.go | 71 - pkg/encoding/erasure/ctypes.go | 59 - pkg/encoding/erasure/doc.go | 67 - .../erasure/docs/isa-l_open_src_2.10.pdf | 5429 -------------- pkg/encoding/erasure/ec-base.c | 321 - pkg/encoding/erasure/ec-base.h | 6680 ----------------- pkg/encoding/erasure/ec-code.h | 660 -- pkg/encoding/erasure/ec-common.h | 39 - pkg/encoding/erasure/ec-ctypes.h | 80 - pkg/encoding/erasure/ec-decode.c | 134 - pkg/encoding/erasure/ec-encode.c | 59 - pkg/encoding/erasure/ec-highlevel-func.c | 153 - pkg/encoding/erasure/ec-multibinary.asm | 302 - pkg/encoding/erasure/ec-reg-sizes.asm | 96 - pkg/encoding/erasure/ec-vect-mul.h | 148 - pkg/encoding/erasure/erasure_decode.go | 121 - pkg/encoding/erasure/erasure_encode.go | 197 - pkg/encoding/erasure/erasure_yasm_darwin.go | 25 - pkg/encoding/erasure/erasure_yasm_linux.go | 25 - pkg/encoding/erasure/erasure_yasm_windows.go | 25 - .../erasure/gf-2vect-dot-prod-avx.asm | 263 - .../erasure/gf-2vect-dot-prod-avx2.asm | 277 - .../erasure/gf-2vect-dot-prod-sse.asm | 265 - .../erasure/gf-3vect-dot-prod-avx.asm | 290 - .../erasure/gf-3vect-dot-prod-avx2.asm | 305 - .../erasure/gf-3vect-dot-prod-sse.asm | 291 - .../erasure/gf-4vect-dot-prod-avx.asm | 334 - .../erasure/gf-4vect-dot-prod-avx2.asm | 345 - .../erasure/gf-4vect-dot-prod-sse.asm | 334 - .../erasure/gf-5vect-dot-prod-avx.asm | 349 - .../erasure/gf-5vect-dot-prod-avx2.asm | 363 - .../erasure/gf-5vect-dot-prod-sse.asm | 350 - .../erasure/gf-6vect-dot-prod-avx.asm | 361 - .../erasure/gf-6vect-dot-prod-avx2.asm | 374 - .../erasure/gf-6vect-dot-prod-sse.asm | 361 - pkg/encoding/erasure/gf-vect-dot-prod-avx.asm | 221 - .../erasure/gf-vect-dot-prod-avx2.asm | 228 - pkg/encoding/erasure/gf-vect-dot-prod-sse.asm | 217 - pkg/encoding/erasure/gf-vect-mul-avx.asm | 190 - pkg/encoding/erasure/gf-vect-mul-sse.asm | 196 - pkg/encoding/erasure/stdint.go | 38 - pkg/encoding/erasure/vandermonde_test.go | 66 - 56 files changed, 12 insertions(+), 21158 deletions(-) delete mode 100644 pkg/encoding/erasure/.gitignore delete mode 100644 pkg/encoding/erasure/BUILDDEPS.md delete mode 100644 pkg/encoding/erasure/CONTRIBUTING.md delete mode 100644 pkg/encoding/erasure/LICENSE.INTEL delete mode 100644 pkg/encoding/erasure/LICENSE.MINIO delete mode 100644 pkg/encoding/erasure/README.md delete mode 100644 pkg/encoding/erasure/RELEASE-NOTES.INTEL delete mode 100644 pkg/encoding/erasure/RELEASE-NOTES.MINIO delete mode 100644 pkg/encoding/erasure/cauchy_test.go delete mode 100644 pkg/encoding/erasure/ctypes.go delete mode 100644 pkg/encoding/erasure/doc.go delete mode 100644 pkg/encoding/erasure/docs/isa-l_open_src_2.10.pdf delete mode 100644 pkg/encoding/erasure/ec-base.c delete mode 100644 pkg/encoding/erasure/ec-base.h delete mode 100644 pkg/encoding/erasure/ec-code.h delete mode 100644 pkg/encoding/erasure/ec-common.h delete mode 100644 pkg/encoding/erasure/ec-ctypes.h delete mode 100644 pkg/encoding/erasure/ec-decode.c delete mode 100644 pkg/encoding/erasure/ec-encode.c delete mode 100644 pkg/encoding/erasure/ec-highlevel-func.c delete mode 100644 pkg/encoding/erasure/ec-multibinary.asm delete mode 100644 pkg/encoding/erasure/ec-reg-sizes.asm delete mode 100644 pkg/encoding/erasure/ec-vect-mul.h delete mode 100644 pkg/encoding/erasure/erasure_decode.go delete mode 100644 pkg/encoding/erasure/erasure_encode.go delete mode 100644 pkg/encoding/erasure/erasure_yasm_darwin.go delete mode 100644 pkg/encoding/erasure/erasure_yasm_linux.go delete mode 100644 pkg/encoding/erasure/erasure_yasm_windows.go delete mode 100644 pkg/encoding/erasure/gf-2vect-dot-prod-avx.asm delete mode 100644 pkg/encoding/erasure/gf-2vect-dot-prod-avx2.asm delete mode 100644 pkg/encoding/erasure/gf-2vect-dot-prod-sse.asm delete mode 100644 pkg/encoding/erasure/gf-3vect-dot-prod-avx.asm delete mode 100644 pkg/encoding/erasure/gf-3vect-dot-prod-avx2.asm delete mode 100644 pkg/encoding/erasure/gf-3vect-dot-prod-sse.asm delete mode 100644 pkg/encoding/erasure/gf-4vect-dot-prod-avx.asm delete mode 100644 pkg/encoding/erasure/gf-4vect-dot-prod-avx2.asm delete mode 100644 pkg/encoding/erasure/gf-4vect-dot-prod-sse.asm delete mode 100644 pkg/encoding/erasure/gf-5vect-dot-prod-avx.asm delete mode 100644 pkg/encoding/erasure/gf-5vect-dot-prod-avx2.asm delete mode 100644 pkg/encoding/erasure/gf-5vect-dot-prod-sse.asm delete mode 100644 pkg/encoding/erasure/gf-6vect-dot-prod-avx.asm delete mode 100644 pkg/encoding/erasure/gf-6vect-dot-prod-avx2.asm delete mode 100644 pkg/encoding/erasure/gf-6vect-dot-prod-sse.asm delete mode 100644 pkg/encoding/erasure/gf-vect-dot-prod-avx.asm delete mode 100644 pkg/encoding/erasure/gf-vect-dot-prod-avx2.asm delete mode 100644 pkg/encoding/erasure/gf-vect-dot-prod-sse.asm delete mode 100644 pkg/encoding/erasure/gf-vect-mul-avx.asm delete mode 100644 pkg/encoding/erasure/gf-vect-mul-sse.asm delete mode 100644 pkg/encoding/erasure/stdint.go delete mode 100644 pkg/encoding/erasure/vandermonde_test.go diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index abcb7e765..dc16e60ca 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -24,11 +24,11 @@ }, { "ImportPath": "github.com/minio-io/donut", - "Rev": "5647e1e6c6a95caec431610a497b15f8298d56cf" + "Rev": "1cb5d3239ed989c4dd153af9931bcfb8ec4f0b87" }, { "ImportPath": "github.com/minio-io/erasure", - "Rev": "2a52bdad9b271ef680374a22f0cb68513a79ebf5" + "Rev": "8a72b14991a6835b4d30403e7cb201f373b7cb3a" }, { "ImportPath": "github.com/minio-io/iodine", diff --git a/Godeps/_workspace/src/github.com/minio-io/donut/Godeps/Godeps.json b/Godeps/_workspace/src/github.com/minio-io/donut/Godeps/Godeps.json index dc3c86a04..e8cc1745a 100644 --- a/Godeps/_workspace/src/github.com/minio-io/donut/Godeps/Godeps.json +++ b/Godeps/_workspace/src/github.com/minio-io/donut/Godeps/Godeps.json @@ -12,7 +12,7 @@ }, { "ImportPath": "github.com/minio-io/erasure", - "Rev": "3cece1a107115563682604b1430418e28f65dd80" + "Rev": "8a72b14991a6835b4d30403e7cb201f373b7cb3a" }, { "ImportPath": "github.com/minio-io/minio/pkg/utils/split", diff --git a/Godeps/_workspace/src/github.com/minio-io/erasure/cauchy_test.go b/Godeps/_workspace/src/github.com/minio-io/erasure/cauchy_test.go index 37f28c74c..3be19cab0 100644 --- a/Godeps/_workspace/src/github.com/minio-io/erasure/cauchy_test.go +++ b/Godeps/_workspace/src/github.com/minio-io/erasure/cauchy_test.go @@ -20,7 +20,7 @@ import ( "bytes" "testing" - . "gopkg.in/check.v1" + . "github.com/minio-io/check" ) type MySuite struct{} diff --git a/Godeps/_workspace/src/github.com/minio-io/erasure/ec_types.h b/Godeps/_workspace/src/github.com/minio-io/erasure/ec_types.h index 91a80997b..62e61e2dd 100644 --- a/Godeps/_workspace/src/github.com/minio-io/erasure/ec_types.h +++ b/Godeps/_workspace/src/github.com/minio-io/erasure/ec_types.h @@ -2,7 +2,7 @@ Copyright(c) 2011-2015 Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions + modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. @@ -41,7 +41,7 @@ extern "C" { #endif -#ifndef __unix__ +#if !defined(__unix__) && !defined(__APPLE__) #ifdef __MINGW32__ # include <_mingw.h> #endif @@ -59,7 +59,7 @@ typedef unsigned char UINT8; #endif -#ifdef __unix__ +#if defined(__unix__) || defined(__APPLE__) # define DECLARE_ALIGNED(decl, alignval) decl __attribute__((aligned(alignval))) # define __forceinline static inline #else diff --git a/Godeps/_workspace/src/github.com/minio-io/erasure/erasure_decode.go b/Godeps/_workspace/src/github.com/minio-io/erasure/erasure_decode.go index 80e9e57e0..91c42ce1b 100644 --- a/Godeps/_workspace/src/github.com/minio-io/erasure/erasure_decode.go +++ b/Godeps/_workspace/src/github.com/minio-io/erasure/erasure_decode.go @@ -32,9 +32,10 @@ import ( // blocks. Decode can withstand data loss up to any M number of blocks. // // "encodedDataBlocks" is an array of K data blocks and M parity -// blocks. Data blocks are position and order dependent. Missing blocks -// are set to "nil". There must be at least "K" number of data|parity -// blocks. +// blocks. Data blocks are position and order dependent. Missing blocks +// are set to "nil". There must be at least "K" number of data|parity +// blocks. +// // "dataLen" is the length of original source data func (e *Erasure) Decode(encodedDataBlocks [][]byte, dataLen int) (decodedData []byte, err error) { var source, target **C.uchar diff --git a/Godeps/_workspace/src/github.com/minio-io/erasure/vandermonde_test.go b/Godeps/_workspace/src/github.com/minio-io/erasure/vandermonde_test.go index 490830557..914f9c4ed 100644 --- a/Godeps/_workspace/src/github.com/minio-io/erasure/vandermonde_test.go +++ b/Godeps/_workspace/src/github.com/minio-io/erasure/vandermonde_test.go @@ -19,7 +19,7 @@ package erasure import ( "bytes" - . "gopkg.in/check.v1" + . "github.com/minio-io/check" ) func corruptChunks(chunks [][]byte, errorIndex []int) [][]byte { diff --git a/pkg/encoding/erasure/.gitignore b/pkg/encoding/erasure/.gitignore deleted file mode 100644 index 3e4c5920e..000000000 --- a/pkg/encoding/erasure/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -*.o -*.a -*.so -*~ -*.dSYM -erasure-code-base-test -erasure-code-sse-test -erasure-code-test -gf-2vect-dot-prod-sse-test -gf-3vect-dot-prod-sse-test -gf-4vect-dot-prod-sse-test -gf-5vect-dot-prod-sse-test -gf-6vect-dot-prod-sse-test -gf-inverse-test -gf-vect-dot-prod-avx-test -gf-vect-dot-prod-base-test -gf-vect-dot-prod-sse-test -gf-vect-dot-prod-test -gf-vect-mul-avx-test -gf-vect-mul-base-test -gf-vect-mul-sse-test -gf-vect-mul-test -*.syso \ No newline at end of file diff --git a/pkg/encoding/erasure/BUILDDEPS.md b/pkg/encoding/erasure/BUILDDEPS.md deleted file mode 100644 index df3770b29..000000000 --- a/pkg/encoding/erasure/BUILDDEPS.md +++ /dev/null @@ -1,80 +0,0 @@ -## Ubuntu (Kylin) 14.04 -### Build Dependencies -This installation document assumes Ubuntu 14.04 or later on x86-64 platform. - -##### Install YASM - -Erasure depends on Intel ISAL library, ISAL uses Intel AVX2 processor instructions, to compile these files one needs to install ``yasm`` which supports AVX2 instructions. AVX2 support only ended in ``yasm`` from version ``1.2.0``, any version below ``1.2.0`` will throw a build error. - -```sh -$ sudo apt-get install yasm -``` - -##### Install Go 1.4+ -Download Go 1.4+ from [https://golang.org/dl/](https://golang.org/dl/) and extract it into ``${HOME}/local`` and setup ``${HOME}/mygo`` as your project workspace folder. -For example: -```sh -.... Extract and install golang .... - -$ wget https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz -$ mkdir -p ${HOME}/local -$ mkdir -p $HOME/mygo -$ tar -C ${HOME}/local -xzf go1.4.linux-amd64.tar.gz - -.... Export necessary environment variables .... - -$ export PATH=$PATH:${HOME}/local/go/bin -$ export GOROOT=${HOME}/local/go -$ export GOPATH=$HOME/mygo -$ export PATH=$PATH:$GOPATH/bin - -.... Add paths to your bashrc .... - -$ echo "export PATH=$PATH:${HOME}/local/go/bin" >> ${HOME}/.bashrc -$ echo "export GOROOT=${HOME}/local/go" >> ${HOME}/.bashrc -$ echo "export GOPATH=$HOME/mygo" >> ${HOME}/.bashrc -$ echo "export PATH=$PATH:$GOPATH/bin" >> ${HOME}/.bashrc -``` - -## Mac OSX (Yosemite) 10.10 -### Build Dependencies -This installation document assumes Mac OSX Yosemite 10.10 or later on x86-64 platform. - -##### Install brew -```sh -$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" -``` - -##### Install Git -```sh -$ brew install git -``` - -##### Install YASM - -Erasure depends on Intel ISAL library, ISAL uses Intel AVX2 processor instructions, to compile these files one needs to install ``yasm`` which supports AVX2 instructions. AVX2 support only ended in ``yasm`` from version ``1.2.0``, any version below ``1.2.0`` will throw a build error. - -```sh -$ brew install yasm -``` - -##### Install Go 1.4+ -On MacOSX ``brew.sh`` is the best way to install golang - -For example: -```sh -.... Install golang using `brew` .... - -$ brew install go -$ mkdir -p $HOME/mygo - -.... Export necessary environment variables .... - -$ export GOPATH=$HOME/mygo -$ export PATH=$PATH:$GOPATH/bin - -.... Add paths to your bashrc .... - -$ echo "export GOPATH=$HOME/mygo" >> ${HOME}/.bashrc -$ echo "export PATH=$PATH:$GOPATH/bin" >> ${HOME}/.bashrc -``` diff --git a/pkg/encoding/erasure/CONTRIBUTING.md b/pkg/encoding/erasure/CONTRIBUTING.md deleted file mode 100644 index 1dfc6a0cb..000000000 --- a/pkg/encoding/erasure/CONTRIBUTING.md +++ /dev/null @@ -1,30 +0,0 @@ -### Setup your Erasure Github Repository -Fork [Erasure upstream](https://github.com/minio-io/erasure/fork) source repository to your own personal repository. Copy the URL and pass it to ``go get`` command. Go uses git to clone a copy into your project workspace folder. -```sh -$ git clone https://github.com/$USER_ID/erasure -$ cd erasure -$ mkdir -p ${GOPATH}/src/github.com/minio-io -$ ln -s ${PWD} $GOPATH/src/github.com/minio-io/ -``` - -### Compiling Erasure from source -```sh -$ go generate -$ go build -``` -### Developer Guidelines -To make the process as seamless as possible, we ask for the following: -* Go ahead and fork the project and make your changes. We encourage pull requests to discuss code changes. - - Fork it - - Create your feature branch (git checkout -b my-new-feature) - - Commit your changes (git commit -am 'Add some feature') - - Push to the branch (git push origin my-new-feature) - - Create new Pull Request -* When you're ready to create a pull request, be sure to: - - Have test cases for the new code. If you have questions about how to do it, please ask in your pull request. - - Run `go fmt` - - Squash your commits into a single commit. `git rebase -i`. It's okay to force update your pull request. - - Make sure `go test -race ./...` and `go build` completes. -* Read [Effective Go](https://github.com/golang/go/wiki/CodeReviewComments) article from Golang project - - `Erasure` project is strictly conformant with Golang style - - if you happen to observe offending code, please feel free to send a pull request diff --git a/pkg/encoding/erasure/LICENSE.INTEL b/pkg/encoding/erasure/LICENSE.INTEL deleted file mode 100644 index 667056695..000000000 --- a/pkg/encoding/erasure/LICENSE.INTEL +++ /dev/null @@ -1,26 +0,0 @@ - Copyright(c) 2011-2014 Intel Corporation All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/pkg/encoding/erasure/LICENSE.MINIO b/pkg/encoding/erasure/LICENSE.MINIO deleted file mode 100644 index d64569567..000000000 --- a/pkg/encoding/erasure/LICENSE.MINIO +++ /dev/null @@ -1,202 +0,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/pkg/encoding/erasure/README.md b/pkg/encoding/erasure/README.md deleted file mode 100644 index cafa80eb3..000000000 --- a/pkg/encoding/erasure/README.md +++ /dev/null @@ -1,25 +0,0 @@ -## Introduction - -Erasure is an open source Golang library written on top of ISAL (Intel Intelligent Storage Library) released under [Apache license v2](./LICENSE) - -### Developers -* [Get Source](./CONTRIBUTING.md) -* [Build Dependencies](./BUILDDEPS.md) -* [Development Workflow](./CONTRIBUTING.md#developer-guidelines) -* [Developer discussions and bugs](https://github.com/Minio-io/erasure/issues) - -### Supported platforms - -| Name | Supported | -| ------------- | ------------- | -| Linux | Yes | -| Windows | Not yet | -| Mac OSX | Yes | - -### Supported architectures - -| Arch | Supported | -| ------------- | ------------- | -| x86-64 | Yes | -| arm64 | Not yet| -| i386 | Never | diff --git a/pkg/encoding/erasure/RELEASE-NOTES.INTEL b/pkg/encoding/erasure/RELEASE-NOTES.INTEL deleted file mode 100644 index b4b601824..000000000 --- a/pkg/encoding/erasure/RELEASE-NOTES.INTEL +++ /dev/null @@ -1,49 +0,0 @@ -================================================================================ -v2.10 Intel Intelligent Storage Acceleration Library Release Notes - Open Source Version -================================================================================ - -================================================================================ -RELEASE NOTE CONTENTS -================================================================================ -1. KNOWN ISSUES -2. FIXED ISSUES -3. CHANGE LOG & FEATURES ADDED - -================================================================================ -1. KNOWN ISSUES -================================================================================ - -* Only erasure code unit included in open source version at this time. - -* Perf tests do not run in Windows environment. - -* Leaving /bin directories from builds in unit directories will cause the - top-level make build to fail. Build only in top-level or ensure unit - directories are clean of objects and /bin. - -* 32-bit lib is not supported in Windows. - -================================================================================ -2. FIXED ISSUES -================================================================================ -v2.10 - -* Fix for windows register save overlap in gf_{3-6}vect_dot_prod_sse.asm. Only - affects windows versions of erasure code. GP register saves/restore were - pushed to same stack area as XMM. - -================================================================================ -3. CHANGE LOG & FEATURES ADDED -================================================================================ -v2.10 - -* Erasure code updates - - New AVX and AVX2 support functions. - - Changes min len requirement on gf_vect_dot_prod() to 32 from 16. - - Tests include both source and parity recovery with ec_encode_data(). - - New encoding examples with Vandermonde or Cauchy matrix. - -v2.8 - -* First open release of erasure code unit that is part of ISA-L. diff --git a/pkg/encoding/erasure/RELEASE-NOTES.MINIO b/pkg/encoding/erasure/RELEASE-NOTES.MINIO deleted file mode 100644 index bf3ed1ece..000000000 --- a/pkg/encoding/erasure/RELEASE-NOTES.MINIO +++ /dev/null @@ -1,3 +0,0 @@ -v1.0 - Erasure Golang Package -============================ -- First release, supports only amd64 or x86-64 architecture \ No newline at end of file diff --git a/pkg/encoding/erasure/cauchy_test.go b/pkg/encoding/erasure/cauchy_test.go deleted file mode 100644 index 3be19cab0..000000000 --- a/pkg/encoding/erasure/cauchy_test.go +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Minimalist Object Storage, (C) 2014 Minio, Inc. - * - * 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. - */ - -package erasure - -import ( - "bytes" - "testing" - - . "github.com/minio-io/check" -) - -type MySuite struct{} - -var _ = Suite(&MySuite{}) - -func Test(t *testing.T) { TestingT(t) } - -const ( - k = 10 - m = 5 -) - -func (s *MySuite) TestCauchyEncodeDecodeFailure(c *C) { - ep, _ := ValidateParams(k, m, Cauchy) - - data := []byte("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.") - - e := NewErasure(ep) - chunks, err := e.Encode(data) - c.Assert(err, IsNil) - - errorIndex := []int{0, 3, 5, 9, 11, 13} - chunks = corruptChunks(chunks, errorIndex) - - _, err = e.Decode(chunks, len(data)) - c.Assert(err, Not(IsNil)) -} - -func (s *MySuite) TestCauchyEncodeDecodeSuccess(c *C) { - ep, _ := ValidateParams(k, m, Cauchy) - - data := []byte("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.") - - e := NewErasure(ep) - chunks, err := e.Encode(data) - c.Assert(err, IsNil) - - errorIndex := []int{0, 3, 5, 9, 13} - chunks = corruptChunks(chunks, errorIndex) - - recoveredData, err := e.Decode(chunks, len(data)) - c.Assert(err, IsNil) - - if !bytes.Equal(data, recoveredData) { - c.Fatalf("Recovered data mismatches with original data") - } -} diff --git a/pkg/encoding/erasure/ctypes.go b/pkg/encoding/erasure/ctypes.go deleted file mode 100644 index da04076fc..000000000 --- a/pkg/encoding/erasure/ctypes.go +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Minimalist Object Storage, (C) 2014 Minio, Inc. - * - * 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. - */ - -package erasure - -// #include -import "C" -import ( - "fmt" - "unsafe" -) - -// intSlice2CIntArray converts Go int slice to C int array -func intSlice2CIntArray(srcErrList []int) *C.int32_t { - var sizeErrInt = int(unsafe.Sizeof(srcErrList[0])) - switch sizeInt { - case sizeErrInt: - return (*C.int32_t)(unsafe.Pointer(&srcErrList[0])) - case sizeInt8: - int8Array := make([]int8, len(srcErrList)) - for i, v := range srcErrList { - int8Array[i] = int8(v) - } - return (*C.int32_t)(unsafe.Pointer(&int8Array[0])) - case sizeInt16: - int16Array := make([]int16, len(srcErrList)) - for i, v := range srcErrList { - int16Array[i] = int16(v) - } - return (*C.int32_t)(unsafe.Pointer(&int16Array[0])) - case sizeInt32: - int32Array := make([]int32, len(srcErrList)) - for i, v := range srcErrList { - int32Array[i] = int32(v) - } - return (*C.int32_t)(unsafe.Pointer(&int32Array[0])) - case sizeInt64: - int64Array := make([]int64, len(srcErrList)) - for i, v := range srcErrList { - int64Array[i] = int64(v) - } - return (*C.int32_t)(unsafe.Pointer(&int64Array[0])) - default: - panic(fmt.Sprintf("Unsupported: %d", sizeInt)) - } -} diff --git a/pkg/encoding/erasure/doc.go b/pkg/encoding/erasure/doc.go deleted file mode 100644 index ce47fb64d..000000000 --- a/pkg/encoding/erasure/doc.go +++ /dev/null @@ -1,67 +0,0 @@ -// Package erasure is a Go wrapper for the Intel Intelligent Storage -// Acceleration Library (Intel ISA-L). Intel ISA-L is a CPU optimized -// implementation of erasure coding algorithms. -// -// For more information on Intel ISA-L, please visit: -// https://01.org/intel%C2%AE-storage-acceleration-library-open-source-version -// -// Usage: -// -// Encode encodes a block of data. The input is the original data. The output -// is a 2 tuple containing (k + m) chunks of erasure encoded data and the -// length of the original object. -// -// Decode decodes 2 tuple data containing (k + m) chunks back into its original form. -// Additionally original block length should also be provided as input. -// -// Decoded data is exactly similar in length and content as the original data. -// -// Encoding data may be performed in 3 steps. -// -// 1. Create a parse set of encoder parameters -// 2. Create a new encoder -// 3. Encode data -// -// Decoding data is also performed in 3 steps. -// -// 1. Create a parse set of encoder parameters for validation -// 2. Create a new encoder -// 3. Decode data -// -// Erasure parameters contain three configurable elements: -// ValidateParams(k, m, technique int) (ErasureParams, error) -// k - Number of rows in matrix -// m - Number of colums in matrix -// technique - Matrix type, can be either Cauchy (recommended) or Vandermonde -// constraints: k + m < Galois Field (2^8) -// -// Choosing right parity and matrix technique is left for application to decide. -// -// But here are the few points to keep in mind -// -// Techniques: -// - Vandermonde is most commonly used method for choosing coefficients in erasure -// encoding but does not guarantee invertable for every sub matrix. -// Users may want to adjust for k > 5. (k is data blocks) -// - Whereas Cauchy is our recommended method for choosing coefficients in erasure coding. -// Since any sub-matrix of a Cauchy matrix is invertable. -// -// Total blocks: -// - Data blocks and Parity blocks should not be greater than 'Galois Field' (2^8) -// -// Example -// -// Creating and using an encoder -// var bytes []byte -// params := erasure.ValidateParams(10, 5, erasure.Cauchy) -// encoder := erasure.NewErasure(params) -// encodedData, length := encoder.Encode(bytes) -// -// Creating and using a decoder -// var encodedData [][]byte -// var length int -// params := erasure.ValidateParams(10, 5, erasure.Cauchy) -// encoder := erasure.NewErasure(params) -// originalData, err := encoder.Decode(encodedData, length) -// -package erasure diff --git a/pkg/encoding/erasure/docs/isa-l_open_src_2.10.pdf b/pkg/encoding/erasure/docs/isa-l_open_src_2.10.pdf deleted file mode 100644 index b2d6e1447..000000000 --- a/pkg/encoding/erasure/docs/isa-l_open_src_2.10.pdf +++ /dev/null @@ -1,5429 +0,0 @@ -%PDF-1.4 -%ÐÔÅØ -5 0 obj -<< /S /GoTo /D (chapter.1) >> -endobj -8 0 obj -(\376\377\000S\000t\000o\000r\000a\000g\000e\000\040\000L\000i\000b\000r\000a\000r\000y) -endobj -9 0 obj -<< /S /GoTo /D (section.1.1) >> -endobj -12 0 obj -(\376\377\000A\000b\000o\000u\000t\000\040\000T\000h\000i\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t) -endobj -13 0 obj -<< /S /GoTo /D (section.1.2) >> -endobj -16 0 obj -(\376\377\000O\000v\000e\000r\000v\000i\000e\000w) -endobj -17 0 obj -<< /S /GoTo /D (section.1.3) >> -endobj -20 0 obj -(\376\377\000E\000r\000a\000s\000u\000r\000e\000\040\000C\000o\000d\000e\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000s) -endobj -21 0 obj -<< /S /GoTo /D (section.1.4) >> -endobj -24 0 obj -(\376\377\000S\000y\000s\000t\000e\000m\000\040\000R\000e\000q\000u\000i\000r\000e\000m\000e\000n\000t\000s) -endobj -25 0 obj -<< /S /GoTo /D (chapter.2) >> -endobj -28 0 obj -(\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000V\000e\000r\000s\000i\000o\000n\000\040\000N\000u\000m\000b\000e\000r\000s) -endobj -29 0 obj -<< /S /GoTo /D (section.2.1) >> -endobj -32 0 obj -(\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000V\000e\000r\000s\000i\000o\000n\000\040\000N\000u\000m\000b\000e\000r\000s) -endobj -33 0 obj -<< /S /GoTo /D (section.2.2) >> -endobj -36 0 obj -(\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000V\000e\000r\000s\000i\000o\000n\000\040\000N\000u\000m\000b\000e\000r\000s\000\040\000T\000a\000b\000l\000e\000s) -endobj -37 0 obj -<< /S /GoTo /D (chapter.3) >> -endobj -40 0 obj -(\376\377\000I\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n\000\040\000S\000e\000t\000\040\000R\000e\000q\000u\000i\000r\000e\000m\000e\000n\000t\000s) -endobj -41 0 obj -<< /S /GoTo /D (chapter.4) >> -endobj -44 0 obj -(\376\377\000F\000i\000l\000e\000\040\000I\000n\000d\000e\000x) -endobj -45 0 obj -<< /S /GoTo /D (section.4.1) >> -endobj -48 0 obj -(\376\377\000F\000i\000l\000e\000\040\000L\000i\000s\000t) -endobj -49 0 obj -<< /S /GoTo /D (chapter.5) >> -endobj -52 0 obj -(\376\377\000F\000i\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) -endobj -53 0 obj -<< /S /GoTo /D (section.5.1) >> -endobj -56 0 obj -(\376\377\000e\000r\000a\000s\000u\000r\000e\000\137\000c\000o\000d\000e\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) -endobj -57 0 obj -<< /S /GoTo /D (subsection.5.1.1) >> -endobj -60 0 obj -(\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) -endobj -61 0 obj -<< /S /GoTo /D (subsection.5.1.2) >> -endobj -64 0 obj -(\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) -endobj -65 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.1) >> -endobj -68 0 obj -(\376\377\000e\000c\000\137\000e\000n\000c\000o\000d\000e\000\137\000d\000a\000t\000a) -endobj -69 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.2) >> -endobj -72 0 obj -(\376\377\000e\000c\000\137\000e\000n\000c\000o\000d\000e\000\137\000d\000a\000t\000a\000\137\000b\000a\000s\000e) -endobj -73 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.3) >> -endobj -76 0 obj -(\376\377\000e\000c\000\137\000e\000n\000c\000o\000d\000e\000\137\000d\000a\000t\000a\000\137\000s\000s\000e) -endobj -77 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.4) >> -endobj -80 0 obj -(\376\377\000e\000c\000\137\000i\000n\000i\000t\000\137\000t\000a\000b\000l\000e\000s) -endobj -81 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.5) >> -endobj -84 0 obj -(\376\377\000g\000f\000\137\0002\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000a\000v\000x) -endobj -85 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.6) >> -endobj -88 0 obj -(\376\377\000g\000f\000\137\0002\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000a\000v\000x\0002) -endobj -89 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.7) >> -endobj -92 0 obj -(\376\377\000g\000f\000\137\0002\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000s\000s\000e) -endobj -93 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.8) >> -endobj -96 0 obj -(\376\377\000g\000f\000\137\0003\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000a\000v\000x) -endobj -97 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.9) >> -endobj -100 0 obj -(\376\377\000g\000f\000\137\0003\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000a\000v\000x\0002) -endobj -101 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.10) >> -endobj -104 0 obj -(\376\377\000g\000f\000\137\0003\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000s\000s\000e) -endobj -105 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.11) >> -endobj -108 0 obj -(\376\377\000g\000f\000\137\0004\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000a\000v\000x) -endobj -109 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.12) >> -endobj -112 0 obj -(\376\377\000g\000f\000\137\0004\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000a\000v\000x\0002) -endobj -113 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.13) >> -endobj -116 0 obj -(\376\377\000g\000f\000\137\0004\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000s\000s\000e) -endobj -117 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.14) >> -endobj -120 0 obj -(\376\377\000g\000f\000\137\0005\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000a\000v\000x) -endobj -121 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.15) >> -endobj -124 0 obj -(\376\377\000g\000f\000\137\0005\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000a\000v\000x\0002) -endobj -125 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.16) >> -endobj -128 0 obj -(\376\377\000g\000f\000\137\0005\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000s\000s\000e) -endobj -129 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.17) >> -endobj -132 0 obj -(\376\377\000g\000f\000\137\0006\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000a\000v\000x) -endobj -133 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.18) >> -endobj -136 0 obj -(\376\377\000g\000f\000\137\0006\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000a\000v\000x\0002) -endobj -137 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.19) >> -endobj -140 0 obj -(\376\377\000g\000f\000\137\0006\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000s\000s\000e) -endobj -141 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.20) >> -endobj -144 0 obj -(\376\377\000g\000f\000\137\000g\000e\000n\000\137\000c\000a\000u\000c\000h\000y\0001\000\137\000m\000a\000t\000r\000i\000x) -endobj -145 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.21) >> -endobj -148 0 obj -(\376\377\000g\000f\000\137\000g\000e\000n\000\137\000r\000s\000\137\000m\000a\000t\000r\000i\000x) -endobj -149 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.22) >> -endobj -152 0 obj -(\376\377\000g\000f\000\137\000i\000n\000v) -endobj -153 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.23) >> -endobj -156 0 obj -(\376\377\000g\000f\000\137\000i\000n\000v\000e\000r\000t\000\137\000m\000a\000t\000r\000i\000x) -endobj -157 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.24) >> -endobj -160 0 obj -(\376\377\000g\000f\000\137\000m\000u\000l) -endobj -161 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.25) >> -endobj -164 0 obj -(\376\377\000g\000f\000\137\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d) -endobj -165 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.26) >> -endobj -168 0 obj -(\376\377\000g\000f\000\137\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000a\000v\000x) -endobj -169 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.27) >> -endobj -172 0 obj -(\376\377\000g\000f\000\137\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000a\000v\000x\0002) -endobj -173 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.28) >> -endobj -176 0 obj -(\376\377\000g\000f\000\137\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000b\000a\000s\000e) -endobj -177 0 obj -<< /S /GoTo /D (subsubsection.5.1.2.29) >> -endobj -180 0 obj -(\376\377\000g\000f\000\137\000v\000e\000c\000t\000\137\000d\000o\000t\000\137\000p\000r\000o\000d\000\137\000s\000s\000e) -endobj -181 0 obj -<< /S /GoTo /D (section.5.2) >> -endobj -184 0 obj -(\376\377\000g\000f\000\137\000v\000e\000c\000t\000\137\000m\000u\000l\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) -endobj -185 0 obj -<< /S /GoTo /D (subsection.5.2.1) >> -endobj -188 0 obj -(\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) -endobj -189 0 obj -<< /S /GoTo /D (subsection.5.2.2) >> -endobj -192 0 obj -(\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) -endobj -193 0 obj -<< /S /GoTo /D (subsubsection.5.2.2.1) >> -endobj -196 0 obj -(\376\377\000g\000f\000\137\000v\000e\000c\000t\000\137\000m\000u\000l) -endobj -197 0 obj -<< /S /GoTo /D (subsubsection.5.2.2.2) >> -endobj -200 0 obj -(\376\377\000g\000f\000\137\000v\000e\000c\000t\000\137\000m\000u\000l\000\137\000a\000v\000x) -endobj -201 0 obj -<< /S /GoTo /D (subsubsection.5.2.2.3) >> -endobj -204 0 obj -(\376\377\000g\000f\000\137\000v\000e\000c\000t\000\137\000m\000u\000l\000\137\000b\000a\000s\000e) -endobj -205 0 obj -<< /S /GoTo /D (subsubsection.5.2.2.4) >> -endobj -208 0 obj -(\376\377\000g\000f\000\137\000v\000e\000c\000t\000\137\000m\000u\000l\000\137\000i\000n\000i\000t) -endobj -209 0 obj -<< /S /GoTo /D (subsubsection.5.2.2.5) >> -endobj -212 0 obj -(\376\377\000g\000f\000\137\000v\000e\000c\000t\000\137\000m\000u\000l\000\137\000s\000s\000e) -endobj -213 0 obj -<< /S /GoTo /D (section.5.3) >> -endobj -216 0 obj -(\376\377\000t\000y\000p\000e\000s\000.\000h\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) -endobj -217 0 obj -<< /S /GoTo /D (subsection.5.3.1) >> -endobj -220 0 obj -(\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) -endobj -221 0 obj -<< /S /GoTo /D [222 0 R /Fit ] >> -endobj -225 0 obj << -/Length 384 -/Filter /FlateDecode ->> -stream -xÚ�SËNÃ0¼ç+ö˜HØxýö±ˆ‡Š@@q)=„6E•ÒLâﱓ"Ô^P$¯2žÌŒ7k/Àà*a*†•‚”CŠÜÀj—¼ýlÄõp:Ý!œ7ÉCxe…F…ÑR‡ª•µ>xÙšýZ“èMFægyrz)8ð@Ö\A¾ÃA¡¢‘™¯a‘N붬²e~ÝQR!5�DÉ©´ •ÎõÔ'®ôs$‰šZT@FÔNµÚ¾dYZÖmF¸±é¼m|‘dÀ{t²Z•Ué‹vÛÔ=r³}ö…ï8_Ñ0ž‰rg€pA•C¦ØñôŽ -ýïôó ¹ òØÇ¹{-‡`óæÃgœ¥«!úc¦Â1|†*}�é÷òŽ:ÍuT'ZS41y¨|èùä~Ú?+7±¥/ë½ämQG裨úwrØ©9E=“‹|4VáËÐ/-â,– Ö¾Žsã,|v¤HmC­`†®Ÿ5J%$RËÌøÕo‡<ödðf(;ovä>„Lßì;·— -endstream -endobj -222 0 obj << -/Type /Page -/Contents 225 0 R -/Resources 224 0 R -/MediaBox [0 0 612 792] -/Parent 229 0 R ->> endobj -223 0 obj << -/Type /XObject -/Subtype /Form -/FormType 1 -/PTEX.FileName (./intel_4c_100.pdf) -/PTEX.PageNumber 1 -/PTEX.InfoDict 230 0 R -/BBox [0 0 102 77] -/Resources << -/ProcSet [ /PDF ] -/ExtGState << -/R7 231 0 R ->>>> -/Length 232 0 R -/Filter /FlateDecode ->> -stream -xœmWI²5Ü×)t!½AÃ1à -`"h/€ÎO¦¦*÷wxQ?³%½9%ÿRÌ!ñßú¾¾_¿üV÷/਽÷$ㇿ.k-z+!÷‹yø~©•¨ÉCn]ðC‹)µ Écî k�¢4cY«áuåRcª`jÆŠŽÜ‚I�*D&Mׂ„ÞA" \oùÆ´«ÜŒ£Á=Ã-( õó`¨‡'Îèf F©^!~øEúRrŽal 7G§Ù½•)¸iÿ©µÅÑÂe«Øgb"ŠíÆvte¦9ÛÙ7áT]  e Ük˜ØIÁ|vçà�ãƒõ¹ I4A!ÔŽÝÃ1Ù1§Î$±¼c6'X*÷:•µãè->|¤Êh[s°ú£û—Áf,Í„ÒqVó`ØÀ$p–ÃΓ1;fPTåW†»J±'#e”ÚpéÀå1\è^˜}#H¸P£í1{›¹m(T—÷ÔWæžÆÏx9%•­Â³™açí]QÖ)ÛÌÖsê3‹xp÷qYߊïT|d|Ÿ°UuÛØ;Po-·îVˆ!'ðÃÆf¶ë„ãåG¼:�]è¿CSò�Êa*e‰wÈ2Ÿ?ìn¦1FÆ6O è6¼+n»cGí+kEóÑËç„�±Mæx±N8^~Ä1cí_f>8ˆ r0†|1ïÁTm‡!æÍKÌËŠxÜÀ¥–Ọ¿¬ëе÷`óE&3ïÀbsÄc2æó~¿WÌGÏÆÿaEÂý›+ÐýRÀ¦?9‰Uû÷“ »„B¹Ù�B„[º1Ë8å⑲«=öÊó9ò†}<ÿÁMc¾‹5Îë|ŽáÆGBh‘ºNLiã ¢˜ÃËc'†¸ÌÌ*žh ¾NAÏï¨xªsFr9ØzÍΛÌ4ô~0e¨d­{vm¼ÅhbLQ×õ,®-­§@�¯7¸þAa˜:zñÆ|ÏÌ#6ã}®�g¦?Zw¶3žéUN0ßã¼G¸>Bà�ð)±[uãÙ¼3�{EÂ�ïaß;Ò�Ñç -Ó fùØ@†ù¤’¾Ï›ÙN œ=Ü51Ϙ�Ü+vèó?7žU|}Iu;…oׯ×ÿ^§ -endstream -endobj -230 0 obj -<< -/Producer (GPL Ghostscript 8.71) -/CreationDate (D:20100929095736-07'00') -/ModDate (D:20100929095736-07'00') -/Creator (Adobe Illustrator\(R\) 8.0) -/Author (\(L.P Thebault\) \(L.P. Thebault Company\)) -/Title (\(intel_4c_100.eps\)) ->> -endobj -231 0 obj -<< -/Type /ExtGState -/OPM 1 ->> -endobj -232 0 obj -1336 -endobj -226 0 obj << -/D [222 0 R /XYZ 72 668.127 null] ->> endobj -224 0 obj << -/Font << /F32 227 0 R /F35 228 0 R >> -/XObject << /Im1 223 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -236 0 obj << -/Length 1840 -/Filter /FlateDecode ->> -stream -xÚ¥XQs£F ~ϯ`“À€í¾ù0‰¹:¶ ¸éMÛŒ71= >Àͤ¿¾ÒJkÇw3�>í®¤•¾Õ'-^›Ú³fj÷W¦aö­þ@3�þÀs<=w8´´ÔßPE°ëíþ˜\ÝÞ�hdŒ<ÛÓ’'Íí»†i�4o82–£%íwÝêý™|:† -’«¯WLMÍÒ6˜ºÆÈjÙîê÷?MmòOl4Ô^¤ÕNs¼!Œ…_ýrtC±ÚÀ L cƒ/×´ 6ʰáün=Œ{–eéI¸˜÷núÞ¤4&Ó0¦ÙdᯂyÂz–.£žcꋞk꿆“`ÒÝ=ÒýÅ|ø'¯�a2UI0{ãb²ò“Ø Ñ|Aã,ôƒy\Ó*øm1^D"|èYú ¦Î{32�Ó¹œ…ÁvÚÎ@ÿø™Æ Nzì].18JÐ�C2 ¢žëLÓvàüÒžlÆsv#ÁÏà`+Ü5fW|Ž%øðÀÛFáý4‰y�÷Ñ -¦ôw2½ ‹Wþ”D]š®»n¥vÇ€™ÁHúd”ñÇpb*Pü8å*‹Á¯AÄNÆóÉöصÝ7õIû³qøÓ’X°G§r@©äÆðAòN‹ÇžeÆÓýæ#ýšQ0S?¿'Ñ‘h˜ÇãY@1Ü­r½Â|ÉXw넱›¥ôg« `é÷xë¦Æ&ø}Ûzƒ8”é´ß¡E;…Õwa2§¶‡>h½DÖÇT‘¡¿š�Y½\EËuX=‘?…�½0ɸ8]]tpUD!À–ÃRyO›L�«H‚ Å'ô\ÒפñËϲ9h)³Œã±åòB«¹æ¥V)y“MÃÈ,×°ú m5ŸQ–,ç}·“øØZSû8úcrêañQV³KÈ®I®Ôîç¬$¤ûˆ­æŸ“ ïç*äœ�<Í'J|§Ä˜Ø÷i/¡êýînL ߆+òqb£HEÙæiÎVˆ 5’9P�ÅàTÝ ë…tþb5›�Î�E/éÆ$�C¦ì Ô#d�1}1ˆû.ñ*c~Z¥®þ™AEZg¢N‰vüv™´ëÇ÷WÑÅËV`4ìë»ôUM¾Àf]àÊѳmZ>‹†TmEc³Yþ‡iÚYÚæUÉÚ´ÜÐd_W›CÖ’ƒ�h²:ßwíZe߃šá¨m¾ØÐ/y»­lTVmž ¸òÀ4Mþ\ŠšíÍÉŠ&µ(^)nU²ã­àpëF”/ªšF8^�f—¾•­¨óbc¬�«WO8:Ð |i{¨…2©É$/›¶†óó‰A³KkÊé†Ö`�¨ÿFObó�vÑnÐÊ�ÀÜ–bc| ™¢ Ì:;Ù9°ŒGAx: .²·ñ�„ˆ³f›ɶin5rL’²¢"îñ$–ž¯ó"o_/ÔßË6m›Jôl—] ·Ï€\[ϪPôó¬mH£y™U»=”‘ô� V§�ü¼|&›§ºÚ±?u.ty¬L—+„�Œþ`‚OA"‰]^ŒàO9 ÛŠZiÚÙÖ Y´wƒd§²ű,1Ò¤: -/’Ì~ZäÿêÆ”†�¬eš£kšµ[Âc2j ùbëÊãõ‡–ê¶W6·Û+ •yIbò‹’M•v¢lI.»Å@P›*k…MÚ‹'qôެ¡PÔuU³ì  -ðþÂö)‹Á$mS’½lól{0=4B�{{–V -€,«> endobj -233 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[0 1 1] -/Rect [135.019 309.334 337.859 318.456] -/Subtype/Link/A<> ->> endobj -234 0 obj << -/Font << /F46 237 0 R /F47 238 0 R /F48 239 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -275 0 obj << -/Length 824 -/Filter /FlateDecode ->> -stream -xÚíšKo›@…÷ù³„tÞ3,Û¼”*j¥Äê&ª†I‚C -8Mþ}ÇfŒM° ÔQ"Vƶ†çœ{/Q ¸œAóúmrôåŒr€©+¤@`r ̃.L"pc§I¡’"·O¾ëu �-/.®ÎËåžëqÌ«!p8r÷ÊÅÈv„к.Ò,¸S¶ƒ´.ãid/æ†åAåÄ…ÈÓoÌÂ�Û‰�íJ¥ B®Ç˜Yì.÷Õ[}�¦ó¢ÜurçåÕIÎgú'Õp£¿ã–k;LŸ÷°^¨ç½û=‘Àb§J ÔÁF�ŸO6b–Êžbecfý}­�ðÄajðI2ýŸZĨušù<3±=N#su6OÂ"N“üµz„ŽÒ¼»Ôˆqý’jV*p¥þÌãLÍ6 -s%ecLúi�»õ6Q×£8Xëƒd©6n•‰RŸ_¶þP—¹¼úäÇ|6Õï[›Ù§éáªé5Ž‚ÐÛG¹q¸ £EvY„tŒ+®:]WÊáÄ–Ð -¦ª¡Š$b°,ÉÓ=ÂIL8/’¼Èær\«b³�ÚHZÛ‹)ÁDR‹µ¨¿¹]ƒøÁ´Ê‹$RÏ­¡û„ž®C_myç�Ñ–I9رꃦ+±‡OYÃ7«g”`éÙ6ÿÈ}üÃ*ÿ¨rÔóC=å¹÷fΫŽs¥nU¦’P5Êâ£3Ö&Ø%ÀX«Mð—ø±¾Á‰*M;2ê«<ÌâǦöºK{#ð:w¼˜¦á[ý™¯™cüޡ[§ë'–#çVιR¢¦Á˱”,*Lèë -¢Ë‹EÐxðçô {Ä;X¸Fo¥êOƒ¼Q£Å��ŸJõ¢H¶SÌ›Ńsd?–tÍ2NâÂ/¶?ÏP6„‘ðm¸¸\fàÞÝú¸üjXøQZø�Yù��¡õôܘAÖ[¿Ë»€Ä ×JtÈI//ŠV„[j§$d>ìQ®!’1Ð5�´H¯ È¡ºB=z:r'ÂÁšõj,zZZA¤c k y?7â ‡èžIÂÁZôƒH+ˆl ô> Y�C ´ì‡�·!l ½~ZTùè­ ëÿx:9ú^Vý× -endstream -endobj -274 0 obj << -/Type /Page -/Contents 275 0 R -/Resources 273 0 R -/MediaBox [0 0 612 792] -/Parent 229 0 R -/Annots [ 240 0 R 241 0 R 242 0 R 243 0 R 244 0 R 245 0 R 246 0 R 247 0 R 248 0 R 249 0 R 250 0 R 251 0 R 252 0 R 253 0 R 254 0 R 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R ] ->> endobj -240 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 525.49 156.841 536.369] -/Subtype /Link -/A << /S /GoTo /D (chapter.1) >> ->> endobj -241 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [85.948 515.457 199.959 524.304] -/Subtype /Link -/A << /S /GoTo /D (section.1.1) >> ->> endobj -242 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [85.948 503.502 149.738 512.349] -/Subtype /Link -/A << /S /GoTo /D (section.1.2) >> ->> endobj -243 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [85.948 491.547 206.594 500.394] -/Subtype /Link -/A << /S /GoTo /D (section.1.3) >> ->> endobj -244 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [85.948 477.535 198.026 488.439] -/Subtype /Link -/A << /S /GoTo /D (section.1.4) >> ->> endobj -245 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 457.654 202.619 466.63] -/Subtype /Link -/A << /S /GoTo /D (chapter.2) >> ->> endobj -246 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [85.948 445.719 218.221 454.566] -/Subtype /Link -/A << /S /GoTo /D (section.2.1) >> ->> endobj -247 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [85.948 433.764 246.474 442.61] -/Subtype /Link -/A << /S /GoTo /D (section.2.2) >> ->> endobj -248 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 409.923 213.388 420.802] -/Subtype /Link -/A << /S /GoTo /D (chapter.3) >> ->> endobj -249 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 389.908 130.839 398.884] -/Subtype /Link -/A << /S /GoTo /D (chapter.4) >> ->> endobj -250 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [85.948 377.973 144.348 386.82] -/Subtype /Link -/A << /S /GoTo /D (section.4.1) >> ->> endobj -251 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 356.035 171.785 365.011] -/Subtype /Link -/A << /S /GoTo /D (chapter.5) >> ->> endobj -252 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [85.948 343.019 231.74 352.947] -/Subtype /Link -/A << /S /GoTo /D (section.5.1) >> ->> endobj -253 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.862 330.087 225.463 340.991] -/Subtype /Link -/A << /S /GoTo /D (subsection.5.1.1) >> ->> endobj -254 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.862 320.19 242.081 329.036] -/Subtype /Link -/A << /S /GoTo /D (subsection.5.1.2) >> ->> endobj -255 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 307.153 247.203 317.081] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.1) >> ->> endobj -256 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 295.198 269.887 305.126] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.2) >> ->> endobj -257 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 283.243 264.358 293.171] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.3) >> ->> endobj -258 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 271.288 238.923 281.216] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.4) >> ->> endobj -259 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 258.356 278.416 269.26] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.5) >> ->> endobj -260 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 246.401 283.397 257.305] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.6) >> ->> endobj -261 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 234.446 276.403 245.35] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.7) >> ->> endobj -262 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 222.491 278.416 233.395] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.8) >> ->> endobj -263 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 210.536 283.397 221.44] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.9) >> ->> endobj -264 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 198.581 276.403 209.485] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.10) >> ->> endobj -265 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 186.625 278.416 197.529] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.11) >> ->> endobj -266 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 174.67 283.397 185.574] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.12) >> ->> endobj -267 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 162.715 276.403 173.619] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.13) >> ->> endobj -268 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 150.76 278.416 161.664] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.14) >> ->> endobj -269 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 138.805 283.397 149.709] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.15) >> ->> endobj -270 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 126.85 276.403 137.754] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.16) >> ->> endobj -271 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 114.894 278.416 125.798] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.17) >> ->> endobj -273 0 obj << -/Font << /F46 237 0 R /F47 238 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -299 0 obj << -/Length 690 -/Filter /FlateDecode ->> -stream -xÚíÙMs¢0ð;Ÿ"G8˜Í“÷\wû2ÓCw¶åÖé8.Ò–™Š.b·ýö°µ+•¾¨<…ŒÉ�Çø�t‹:õ& ˜B3%¹´­ZÊìå†K§Þ÷ÐûvbOl$•(¼AŠ"© VÀQ8DWþ�Ÿçáñyx\‡gy×›!.)æle×I²ÔéqèýñŠ‹Á|ªQ4ò®® ÚógE·F£¿å]#Û¡¶í=ºô~½Ž­|}1’ò`1Iõß$�VÌ ;4 òy¦¦tÐÓ‚ø·7}ù€ðã(ïÇy’�‡ýA@‰ÿðH—Ž®zv†>z‚�Ïj¸1Ÿüµ Pª|Jžç[•µm!–Í*Âé4vôÛÎl¾¢½ýñ6NûÑ`Ý‚þh�gÉcÕ�3ÑChgK†Ù´ÁN²‹)íHò= tš¤·K¡óQ¦»œÓþj/¡ÓvèÌA/ÖÔ,oZ ¨î,ó†¾rÉ—/|G³ûª¦8ô´X€;ñÀYOˆèj³v¨²õ%¶Vq™†.¨¾‰S­çtv’A y;H½ò÷ÀÝ (¥ˆÕ¯(³±fC%4ëÎ[4QöÇʈjUÚ ¤‚i¿øñ]УöôIrÏ�.â›8‹ÓÈáed_3ÁŽÙšA)6À�瀡x¥íá(ÎV}8g?ЧQ–Lòdœ: ¬‘x^n¼"Ó²ú ó“Y•Äsóq4Åi>¨S;ÝPìÅb´Æ™.~ãt±Ëgîbã6öo®è²¦k�›b¯a²«®jãØQ¸²׺ضíȱGDµ*VÞ€š¤I^E¥Jv|!hg+lk"2Ó]ÿ•L·ÌÍì97çO“xÚ"-M¾|hÛV’Óí"4;D膯ÿ+ÁÒ¼–Eÿƒc1¡ -endstream -endobj -298 0 obj << -/Type /Page -/Contents 299 0 R -/Resources 297 0 R -/MediaBox [0 0 612 792] -/Parent 229 0 R -/Annots [ 272 0 R 276 0 R 277 0 R 278 0 R 279 0 R 280 0 R 281 0 R 282 0 R 283 0 R 284 0 R 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R ] ->> endobj -272 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 655.011 283.397 665.915] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.18) >> ->> endobj -276 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 643.056 276.403 653.96] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.19) >> ->> endobj -277 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 631.101 280.368 642.005] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.20) >> ->> endobj -278 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 619.146 254.415 630.05] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.21) >> ->> endobj -279 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 607.191 209.196 618.095] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.22) >> ->> endobj -280 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 595.235 250.55 606.139] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.23) >> ->> endobj -281 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 583.28 212.364 594.184] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.24) >> ->> endobj -282 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 571.325 254.266 582.229] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.25) >> ->> endobj -283 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 559.37 273.435 570.274] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.26) >> ->> endobj -284 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 547.415 278.416 558.319] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.27) >> ->> endobj -285 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 535.46 276.951 546.364] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.28) >> ->> endobj -286 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 523.504 271.422 534.408] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.1.2.29) >> ->> endobj -287 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [85.948 511.549 229.399 522.453] -/Subtype /Link -/A << /S /GoTo /D (section.5.2) >> ->> endobj -288 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.862 499.594 225.463 510.498] -/Subtype /Link -/A << /S /GoTo /D (subsection.5.2.1) >> ->> endobj -289 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.862 489.696 242.081 498.543] -/Subtype /Link -/A << /S /GoTo /D (subsection.5.2.2) >> ->> endobj -290 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 475.684 233.793 486.588] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.2.2.1) >> ->> endobj -291 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 463.729 252.961 474.633] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.2.2.2) >> ->> endobj -292 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 451.773 256.478 462.677] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.2.2.3) >> ->> endobj -293 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 439.818 252.064 450.722] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.2.2.4) >> ->> endobj -294 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [140.742 427.863 250.949 438.767] -/Subtype /Link -/A << /S /GoTo /D (subsubsection.5.2.2.5) >> ->> endobj -295 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [85.948 415.908 200.218 426.812] -/Subtype /Link -/A << /S /GoTo /D (section.5.3) >> ->> endobj -296 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.862 403.953 225.463 414.857] -/Subtype /Link -/A << /S /GoTo /D (subsection.5.3.1) >> ->> endobj -297 0 obj << -/Font << /F46 237 0 R /F47 238 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -304 0 obj << -/Length 2318 -/Filter /FlateDecode ->> -stream -xÚ­XÝsܶ×_ÁGÞÔGüÉvò $’êŒgìHšN;všÁ‘8cy%y–Õ¿>»Ø<1‰œö‰Äbì绽/ôn.Bû ÂXÄ™q& _™æ¹ðz˜þ�©Û›‹oï/^_§¹'² iâÝo½$‰ƒ8Ï=™¦A"Sï¾ò>øßýýòýýÕíje¹/V?Ýÿà­eiê­a­Œâ»»_%¡ÿîör‡þÍñ¿}óííåí* ýáÊ‹«û‹ÿ\�:ô„—EžŒQ²Ü+÷~ -½ -è? °Eî=®½—Ⱦ�wwñ££q”â/~¬&…'’ Nd„šÀÖi‘€p '±Z‹0 ýËMwA¸(÷ïwõ@ßwåq¯ÛÑÈhy}�d^2’¸eè�FAKÚ‘ÇQáWv1�ôPöõFóä¸Óô3tÛñq%B_õL9ôÝC¯öûº} BÝŽz%ü~kØJfSmE?ÝA÷j¬»–‡[ún�m‰ÔÁnrvpSozÕ?­dê«ušdþ�>[€>õ„0^5ê�d›L:êEYFÒ#ù¡ïŽ]Ñ`óD³æP$8B™awl+bAù�T·U½ŠRÿs]UCs;­*ÝÓüÇ0ŒÍëÇ�âó+�­¶ô³óˆ ,;vãÓA qœþÝq³^Òr˜,AˆÖmÙ+MgGxJ�º^�Ü|8q7ážL‡a‚¤nÄDÑ̤`�^oa_š;¢‘b@§·ô×ëF«AÓüç•H}XEÇ#ßöláÜíqù—Ä1hTfÔ¨H,üÝBX5V”é é—ªiŒƒ#khàx1Ú|ŒRIt3lêÎ�sûÞ�]¯Ø¢—e ÛÛFÊ[–Ñ >†ièî¤7w—ë·@ìö“j†ŽÿVQ¶¹TݨM£Ï|Qví¨jë_ÅÇj4Þ—Q·•f¾A�ôcÌèxfxs6 t\Q[¬‰kÞ}ÆhÎ!ÆáHá?¾^¦`1‘=7x67¸™?™fÏL Ó'›œš›·wL ï(ÜpßîØ—,Ã?@zq -7ÌÞ�f ËB¥<�jÌ8ƒ78A�ƒ1Θ�K˜t¢:šºT6?�ÒAºíëÿÒ*•žèF%^Ô—»zQާr9³0Ȳ!�¨yÓaèöÌYBä›ô.¤¿?6c}hX'Ûâ5 -æðp€‡¥ 8ÁHœ0zšŸç� ÑÄ87ãt”Æ¡QY�!—Ǻ<6ª§1Û‚¶pmaÖ´¼ ¤ÄØÁ À.b–ï5¤Ío, ŒêŽõ°¤©ªHÈ8ãBÀc%ø\ÃÌ#B÷ì�¦)]á"¢gÚ°ëŽME+t;�;�Î7�ùcR¹ëµñ µa¦æÍÊn€@"|€ñc=úꤣY3Zž¦¡¿þ¸xCvíŸÂ†˜±áªW¬Ôßuÿ]»óÂRäÚ¹lS¨+t� gÊŠH†t§]O' „š¯÷è|ÁŒ¢Ïé^–[­«õ]×t{‚îÂÜr4§[Ø‹:%%ülš®üÄ'ªBm¤FÞÝÈ3xSC„.ÆÓà -³¢ÝàŠSñA¹ù¸ë&Ñ�æ®Ã¬?«.€wªŸZPšûWò¶t«ˆ¿æi¸õ÷ƒs,|Uõ@]ž±îx«Õt5/2 $"±âHCd/h|s�áÔëk{2(²8G‡Gëx/¤`Þ×,,Ò —ÄÛ‰+?]žóX ìôTÔLØA7°mÍ5û�4’= ò]ÉËz]Ës×<µÝ¾«“‘г@$XÏñ¾Kæhš²H\EsâÉ�]d óx¦ç_Î2_sR²|Ròÿ?)þ_tŠ¿æ¤èe'ôDÔÛ�…Ô¯ ”$|"†gøETUT⮓0 ò,›Wº×%’«-… cjçÜ`vBkÂ:ì ±g5?Сzhƒògƒ1úgÄ”ÁDµ‹�†3³˜ k½LÎ¥’ -³UßÞ©¹<ëñ‰hŒWÏm‹šbk‚÷Ì:V—ЯJ°@�Ü ×ËÙ ]©Ã´í»=�=䙄Ÿh8Øb H›zÄß�UDi�å™öûaó ‚ü#a× J&ND$R0$ÛºZõ›z<•îî€E·Þ"V ˆ”5Ü+‹’&7S`©AÓ B4sýÛ/K!*À°±kØÇ�*õ6O£¶m}ßÏ» -hw GÛX÷„l}ÛD ] -’n|Y•Y&þD¨Ì34Ó8<ß,ì$Ò ¡Ôˆ‚$åââ³ÍüP{¬£ ÈsâúçÂfa "pAë" -bûå9ºd…uÙ7b1þ‚0E�diòûž•ËžÉܳ)XËáƒ�Z:”Ì£¯ ú¥H‚ŠDI†n”A‹³h©ªÚv¯ÒfCf›nV–�°HÃø£¡XˆxR‚‚RNÏ )t³ß©2ˆÀuDwù¢JA:•B@/Bwu[Z�[Do†ÈYÖK Vƒ•|aâË4¡ø£Ì—/Ë|¬�>*éÍYþáˆ]¤®^ÙÛ*’0?êb`0=œmÿ+…%±©Ÿ½•ö%aÃüÜÊ"£­Šæ˜8UÃNÝTi—ã7.¯Å*.~çïJ¬ô¥yÈËý¶3ØuzÌí#`î«M‡Ž´å›ûlù -{;‡u(wPÐ5ør�þ;Žu«§·Îé,úÑ-h<=UŽPø•|b �É’�ÝìM27ï2ü -Çš–Ðh¸N“ÔÃ�›jñÕŒfŸzi£¤€}”…ùiKš±0¿Ñ“ÉÙk0¹á‹Ìiû±P†‹v×kUÙG?�¿ukhXé¼RØ-~K²Ý21–ÊÞIÜÂZÓØkÅ΢etÞ+ìc‘p à_U›tÛ>™×g �$/ ÔDä¥à†Tﱋ±ŒÑȯµÕX™܆ãÿ†×Ný¢®æç(ú4úÔ)4DÚÕ;PFÌ–kÐK/C6æ�„}’ Ò‚œÔ›IC=§ Lt耧ÉáʾöÑ èé�pŠÅóÀ™eôTK˜ƒ®'÷öÖ«h¼`V–ÚïÕýůC½„ -endstream -endobj -303 0 obj << -/Type /Page -/Contents 304 0 R -/Resources 302 0 R -/MediaBox [0 0 612 792] -/Parent 229 0 R -/Annots [ 300 0 R ] ->> endobj -300 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [176.401 286.23 248.649 297.188] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a590b5c35075aeea1243a9e4ef73a49d4) >> ->> endobj -305 0 obj << -/D [303 0 R /XYZ 72 686.127 null] ->> endobj -6 0 obj << -/D [303 0 R /XYZ 72 668.127 null] ->> endobj -307 0 obj << -/D [303 0 R /XYZ 74.491 618.224 null] ->> endobj -308 0 obj << -/D [303 0 R /XYZ 74.491 618.224 null] ->> endobj -10 0 obj << -/D [303 0 R /XYZ 72 618.224 null] ->> endobj -310 0 obj << -/D [303 0 R /XYZ 485.963 513.196 null] ->> endobj -14 0 obj << -/D [303 0 R /XYZ 72 495.348 null] ->> endobj -311 0 obj << -/D [303 0 R /XYZ 84.453 398.147 null] ->> endobj -18 0 obj << -/D [303 0 R /XYZ 72 382.356 null] ->> endobj -319 0 obj << -/D [303 0 R /XYZ 482.188 135.988 null] ->> endobj -302 0 obj << -/Font << /F58 306 0 R /F59 309 0 R /F47 238 0 R /F13 312 0 R /F11 313 0 R /F7 314 0 R /F8 315 0 R /F10 316 0 R /F1 317 0 R /F14 318 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -324 0 obj << -/Length 1196 -/Filter /FlateDecode ->> -stream -xÚ¥VÛnÜ6}߯Уˆh’’(ÉElÀq�6MêÝ¢.â ÐJ\¯]6$åËßwx³¥íÚEÑAÃË gΜw.á˜ÄY€Qœ±„ÁŸ¥yN˯,]_.Î׋“÷0U ‚Q¬·AF–(#I°®ƒ/!AÉ2¢)WORñÎÊ×üû؈%ÉCÞñ^Éå×õ‡þ_ž ‹&˜0çҙ͋õâû‚€ˆb]LQAó ê_¾â †ùÚj‘fWörø·ÁjñÛÄ5šjQÿ\ði�Å £>ú4CI‘M¢'O§¹ ÿHè€e6ÁÍP3k쪯›%MÃû¦ËvÅ1 ·c_©fè¥Ò°+Ÿìü®\RÞ/Ir»t¯UKÑ £´[ÄØGªéܲ˜údÖåXí¬T:ëjÇíD×ôM7vÞ°>DHð®[»°Z]LõIXsY‰fÃk»Þô.x��]#è\Bà„ "M}àR‰ÑÄé¸ÄÕ”HG�-§^òž —Þ?�RÏ”‚[¡m Aµ•7¼4\K–‚0|Àrí`†u^ójèÀhí üTŠZÃòPZ–Ÿ¾•fÂPç�륅+›[JÓƒ€¢hÄ;–¨SÙ™=KN -kSJï‚ÇÊ$M W½âí-M™Þð¡íÅPq)a‡�ÚÕb‰‡­Ú5ŠWjÍÕØ@p›×"¹:‹)B þ±ãÚY -L±¬ÕLm–$lËMËíÊÖ¸BL£M£Ü¤gÿ0‚�ÙégD@öˆ€8¸C," LcƒáMÑÊî/Ç��œ�³(6½&ÈQ -G\W±S”þ‘ —Òã$‹h‚ -œÍ‰±¶Ê³êx3=u¦²#|uF>Ü'žö=„’4‘Úf#Jñd£äË,±ÉÐ2ï ²MèQÙ;á÷¾y´’T0© Þ¬ÕBU¶mÓß¹$)ñ�«7o¹c›÷·ÀK?ë*Ê'!ÆYŒË|ÿß)µ?=9|+÷¼’(29Šü®Yšàøñq;Œà�> âî„·Û“Çœý–›&°íë-z«�)ƒ[ÇÞKkƄֆÓï u˜>sYï™´QywUóªEºVðá%`‚òçΚæ$³³>÷ ¥¸oƒox®—(@@'äÉ7ÅþÛZ�çìK_(�…r¿oAÃàf¼9 ÚùØ´µI¯Þý‹§“¼÷λã¼þKù¼'¤ëgR [.\‹œÝMÆ]wq´¼”N¼'ˆ"l��Žõây�e·o¹‡µwȬ—À$]ù¢0Qb±Sbp¡rãLÉa·³Û¡õ×�]k´®]Ó÷ŒS�uv¸•>Z]ÝØ¾ÊÏ’»al�âÆYÛB¹ ³† FE£öd·tÐ* Ü)Ñsx“º‰À/àAÙ;L?­ÐÁ›núp2¯¦IŸƒâ*˜Á¼ ¹µøë øÜÂ+wgŽ2¬»nOCju?ëä:B÷ÚŽ»}îŸoÄvÊÆRʱói%ϭ𣿃7œþ\¹<)¿³éýËBƒùÜÛ¹€þ™ªÜQ·Ó;¸$zó] -dF ´ÿñ]ú7Š´ -+ -endstream -endobj -323 0 obj << -/Type /Page -/Contents 324 0 R -/Resources 322 0 R -/MediaBox [0 0 612 792] -/Parent 229 0 R -/Annots [ 301 0 R 321 0 R 326 0 R ] ->> endobj -301 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 614.453 189.219 625.357] -/Subtype /Link -/A << /S /GoTo /D (requires) >> ->> endobj -321 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[0 1 1] -/Rect [444.171 496.134 540.996 507.038] -/Subtype/Link/A<> ->> endobj -326 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[0 1 1] -/Rect [71.004 484.802 336.01 495.083] -/Subtype/Link/A<> ->> endobj -325 0 obj << -/D [323 0 R /XYZ 72 686.127 null] ->> endobj -22 0 obj << -/D [323 0 R /XYZ 72 668.127 null] ->> endobj -322 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F47 238 0 R /F48 239 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -359 0 obj << -/Length 570 -/Filter /FlateDecode ->> -stream -xÚ…TK“š@¾ó+æÆ™af€Ãâ–îjÕšDÙä°µÔ©âa1æ×§qÐ8Ö®áÒúëþúmAO9KL<êùˆ`Ï—\‚”"(ªàõ'¯æOÖ0²c êcFGÑqîa/�s)P” 7ûñùË·h4w\æ6sÞ£)r©„!Añ±d\Ž_g�ÑäëLGþÍcöú2»[£ÈúeQ NE>CÒëÈh•[oï%àŸv|ÃNQ9â2™¡…õýªi&:µçfBD9ö¸d]3�Z„è1M�a긔b�÷ŪQeÜu8±ÓʡԮ/ÎÙ>_ö¾ésÕÁ˜û(Ä¡d²«A´‡COê“"Qv«’}œA&Aìu_¬Öf\¥ZÙèH‡ -;-´KUÏʼnE�<¨f«µfÛçX—U7ZÏs·mÝ|ÚP£‡¢ß¢{ŽÒòA‹È ±C‰]jd¿µ‘¨�júê -Z[Å�*67vU¹J뺬úþÌ®{ê]…¸ÏTî•«?iréÁÂÆÆ˜¯Æ\�»opV{iLÂN ÑòA‹Yº�³4Lãz{<ùÆe•ÖÍàeŸ5j©Š¸:ƒ’f>jäû È<…Ý}<Ú‚ˆE\$Çe¥’Í]�g€&íQ+Ãÿ¹|ŽëCše÷¤§²6­ò²h:ÌÍY»Æ Í j[ã‚ÌErÁw²;Ø; ë´Rç/é_®›�ÿã_ügþ °BS -endstream -endobj -358 0 obj << -/Type /Page -/Contents 359 0 R -/Resources 357 0 R -/MediaBox [0 0 612 792] -/Parent 364 0 R ->> endobj -360 0 obj << -/D [358 0 R /XYZ 72 686.127 null] ->> endobj -26 0 obj << -/D [358 0 R /XYZ 72 668.127 null] ->> endobj -361 0 obj << -/D [358 0 R /XYZ 74.491 618.224 null] ->> endobj -362 0 obj << -/D [358 0 R /XYZ 76.981 618.224 null] ->> endobj -30 0 obj << -/D [358 0 R /XYZ 72 618.224 null] ->> endobj -363 0 obj << -/D [358 0 R /XYZ 196.601 431.811 null] ->> endobj -34 0 obj << -/D [358 0 R /XYZ 72 416.02 null] ->> endobj -357 0 obj << -/Font << /F58 306 0 R /F59 309 0 R /F47 238 0 R /F48 239 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -367 0 obj << -/Length 1462 -/Filter /FlateDecode ->> -stream -xÚµ™MoÛF†ïú W~ýz÷‘Ï'ÛM¦õÕÇÛÝÓæÃöÝB‘Ýû ‹.Úµ«öËvõ÷ÊðOìÌA¶‡L©»¾[½ÿ€Ý _×?.§îŸý]w� ‰�·Ý«ßVX•q_Ÿ;ãÀº@/•ðB6T‚ߺ*%.…ë+±1fý4\âðÄò+H=†.X1¿„á­{ñ•h‹áÉj ¿AŒuZþÒ¸ŠÇ/íUjo3$43Ò×5§9¥ù57ÈZEúCxÿáï ^4Çy…Åò´(¥ù†±1‚¡ÜˆKBˆ&ŒoÍŒ¬_êE -€JMÇõK“…½3}òÏ’òü­<Ënå›� #mÍLZ¾Ô‹ø”šŽ{g& {gúä5ž/å¸À@Þ™Vò�ßÑKÛ3Ó©E -€JM aÿLŸ¼Äá vh¬3@¡•�œƒä¥ÌixÔ<…¤�Ž0¹Ñç®ép8†ãÊ`±•},AÊ^ZÜÆG-RàSj }ò‡9\d"°"„ì&ô?cµHP¡i3}¿À@è÷7·áƒ ršÒÿŒR«•¢BÂÄGŸ¼&Äá}¥ç¢lÁ¹F¢í„h�^äy@¥¦��°­Ï]ñéÃÉÍw%.5r%Ý„.h �Z¥¨5º©“ׄ8œÒd½Ô z†AÛk=õŒÿì Ä8 -endstream -endobj -366 0 obj << -/Type /Page -/Contents 367 0 R -/Resources 365 0 R -/MediaBox [0 0 612 792] -/Parent 364 0 R -/Annots [ 328 0 R 329 0 R 330 0 R 331 0 R 332 0 R 333 0 R 334 0 R 335 0 R 336 0 R 337 0 R 338 0 R 339 0 R 340 0 R 341 0 R 342 0 R 343 0 R 344 0 R 345 0 R 346 0 R 347 0 R 348 0 R 349 0 R 350 0 R 351 0 R 352 0 R 353 0 R 354 0 R 355 0 R 356 0 R ] ->> endobj -328 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 615.236 146.739 629.184] -/Subtype /Link -/A << /S /GoTo /D (gf__vect__mul_8h_a15d42d058c64dec106d9e3e9fc2e1136) >> ->> endobj -329 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 603.281 147.855 617.229] -/Subtype /Link -/A << /S /GoTo /D (gf__vect__mul_8h_a84eb9ca31c934f05a8e3fa7a02fa71dc) >> ->> endobj -330 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 591.326 148.752 605.274] -/Subtype /Link -/A << /S /GoTo /D (gf__vect__mul_8h_a7a1f65b032f03494dbc68411f5614bb1) >> ->> endobj -331 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 579.371 167.212 593.318] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a1ff835062a19d6516f2d59d9c37ddb48) >> ->> endobj -332 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 567.416 169.225 581.363] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a4f880c4b9fe6700e040b9f4ef4e45918) >> ->> endobj -333 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 555.46 172.194 569.408] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a17c6ccf6470796b756841e160dc8697c) >> ->> endobj -334 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 543.505 172.194 557.453] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_abb7a991b4c0fb9ced373680ef36bae08) >> ->> endobj -335 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 531.55 179.188 545.498] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a26c2200ad3bf04b1c858eb239b7ff940) >> ->> endobj -336 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 519.595 174.206 533.543] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_ae1e4c9eb9a26a3a7852166d54d2a27f8) >> ->> endobj -337 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 507.64 172.194 521.587] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_af88a7da05f46e1a0fe17d032a2cf78bf) >> ->> endobj -338 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 495.685 172.194 509.632] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a06a563b718c6269c8df0fe7647e5bb49) >> ->> endobj -339 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 483.729 172.194 497.677] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a12f59be6d348fea6ad2464a20af22fd3) >> ->> endobj -340 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 471.774 134.714 485.722] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a22b53cd4103da9ed88c351e7045ff313) >> ->> endobj -341 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 459.819 160.149 473.767] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a21d5e25b4ac64062996149fea71aede8) >> ->> endobj -342 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 447.864 142.993 461.812] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a590b5c35075aeea1243a9e4ef73a49d4) >> ->> endobj -343 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 435.909 129.584 449.856] -/Subtype /Link -/A << /S /GoTo /D (gf__vect__mul_8h_aa7a737b69a0a77dc29aa28d0f17421a1) >> ->> endobj -344 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 423.954 165.678 437.901] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_aa486278c409735df8001096ac2b487dd) >> ->> endobj -345 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 411.998 152.268 425.946] -/Subtype /Link -/A << /S /GoTo /D (gf__vect__mul_8h_a8f3e57729c3382514325612c54e20eaa) >> ->> endobj -346 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 400.043 172.742 413.991] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a17799d49d9b83861322ebf314a55f77f) >> ->> endobj -347 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 388.088 150.057 402.036] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a6ce05684e168d73773847a3c2c13c175) >> ->> endobj -348 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 376.133 174.206 390.081] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a1fb1d6d463ac00ae196501c75d2036d2) >> ->> endobj -349 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 364.178 174.206 378.125] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_aacd489f45babdbfe6a41f1bac2885ab6) >> ->> endobj -350 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 352.223 174.206 366.17] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_ad0eca329291d751df6ffb3aa3eb83610) >> ->> endobj -351 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 340.267 174.206 354.215] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_afeefb3612c92a0bc87182f6e11030b11) >> ->> endobj -352 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 328.312 174.206 342.26] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_ac64153e1aef3cdc4b69d375ec762fa33) >> ->> endobj -353 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 316.357 179.188 330.305] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a2688b38c18e93c95c525c0d5bf9e221a) >> ->> endobj -354 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 304.402 179.188 318.35] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a2fb7662ba4e1df4bb72659c57efeaad6) >> ->> endobj -355 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 292.447 179.188 306.394] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_af88c501e0c5138ec9c88f58c182945e8) >> ->> endobj -356 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [77.38 280.492 179.188 294.439] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_ac6468d7eb3c28116439abb4a7c5eca05) >> ->> endobj -368 0 obj << -/D [366 0 R /XYZ 72 686.127 null] ->> endobj -365 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F47 238 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -433 0 obj << -/Length 621 -/Filter /FlateDecode ->> -stream -xÚí–[o›0€ßù~iq}9¾=víRiÙØ4)­Ph-%[`í~þ Œ´IÛ)tQ”&<Çs|üÁG#‚ÎRGL8å -Ì•i£ZS4·—Ÿ¹Ô?sÞ†ÎѩЈ*̨^#޹ÖH -�A -Æhàž¼;þú}¯Ã”v¹wž£#BQÇ.– ªÄn/û÷ÓIØýЫ~X úþ…Gíµnßï÷ ¸‘ã‡ÎO‡Ú&¢H1$y±Q�F7ÎàŠ ØÎŸ{7Ý•Y7¤¶qŠçâþ±¸OÑv9¨›… 6’É¢G E’¬l,wžŒ¢$Íâ$Їù0ʲ¤Ü]}[4è0AÜK"È$ͽòÇ4IßT£ÅÔ÷Õ‰ùÌc½ËþÎÿJ³É8Mâê×èÛp^T9:¥ð`{Œ6Ü‚ªvvI¯²–š°9šÕ9ãëüë´Q-°Rêa�gê#^çgÓ¤Š2¸dÕ¨ˆ¥0IÇö¨é2‚P†5hûÈ1Líú2;|ÀË™�Ÿ�r n£Á‚B}j»õ¨°ðó(žåÑ�ù,ކ#îíï—࿽Ÿ[�4L„^ƒ4ýOÒëBX> endobj -398 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 597.638 156.263 608.542] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a21d5e25b4ac64062996149fea71aede8) >> ->> endobj -400 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 565.977 170.321 576.881] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_aacd489f45babdbfe6a41f1bac2885ab6) >> ->> endobj -402 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 534.316 175.302 545.22] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a2688b38c18e93c95c525c0d5bf9e221a) >> ->> endobj -404 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 502.655 168.308 513.559] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a17c6ccf6470796b756841e160dc8697c) >> ->> endobj -406 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 470.994 170.321 481.898] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_ad0eca329291d751df6ffb3aa3eb83610) >> ->> endobj -408 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 439.332 175.302 450.236] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a2fb7662ba4e1df4bb72659c57efeaad6) >> ->> endobj -410 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 407.671 168.308 418.575] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_abb7a991b4c0fb9ced373680ef36bae08) >> ->> endobj -412 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 376.01 170.321 386.914] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_ae1e4c9eb9a26a3a7852166d54d2a27f8) >> ->> endobj -414 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 344.349 175.302 355.253] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a26c2200ad3bf04b1c858eb239b7ff940) >> ->> endobj -416 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 312.688 168.308 323.592] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_af88a7da05f46e1a0fe17d032a2cf78bf) >> ->> endobj -418 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 281.027 170.321 291.931] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_afeefb3612c92a0bc87182f6e11030b11) >> ->> endobj -420 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 249.366 175.302 260.27] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_af88c501e0c5138ec9c88f58c182945e8) >> ->> endobj -422 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 217.705 168.308 228.608] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a06a563b718c6269c8df0fe7647e5bb49) >> ->> endobj -424 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 186.043 170.321 196.947] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_ac64153e1aef3cdc4b69d375ec762fa33) >> ->> endobj -426 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 154.382 175.302 165.286] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_ac6468d7eb3c28116439abb4a7c5eca05) >> ->> endobj -428 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 122.721 168.308 133.625] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a12f59be6d348fea6ad2464a20af22fd3) >> ->> endobj -434 0 obj << -/D [432 0 R /XYZ 72 686.127 null] ->> endobj -38 0 obj << -/D [432 0 R /XYZ 72 668.127 null] ->> endobj -327 0 obj << -/D [432 0 R /XYZ 74.491 618.224 null] ->> endobj -435 0 obj << -/D [432 0 R /XYZ 72 607.546 null] ->> endobj -436 0 obj << -/D [432 0 R /XYZ 72 575.885 null] ->> endobj -437 0 obj << -/D [432 0 R /XYZ 72 544.224 null] ->> endobj -438 0 obj << -/D [432 0 R /XYZ 72 512.562 null] ->> endobj -439 0 obj << -/D [432 0 R /XYZ 72 480.901 null] ->> endobj -440 0 obj << -/D [432 0 R /XYZ 72 449.24 null] ->> endobj -441 0 obj << -/D [432 0 R /XYZ 72 417.579 null] ->> endobj -442 0 obj << -/D [432 0 R /XYZ 72 385.918 null] ->> endobj -443 0 obj << -/D [432 0 R /XYZ 72 354.257 null] ->> endobj -444 0 obj << -/D [432 0 R /XYZ 72 322.596 null] ->> endobj -445 0 obj << -/D [432 0 R /XYZ 72 290.934 null] ->> endobj -446 0 obj << -/D [432 0 R /XYZ 72 259.273 null] ->> endobj -447 0 obj << -/D [432 0 R /XYZ 72 227.612 null] ->> endobj -448 0 obj << -/D [432 0 R /XYZ 72 195.951 null] ->> endobj -449 0 obj << -/D [432 0 R /XYZ 72 164.29 null] ->> endobj -450 0 obj << -/D [432 0 R /XYZ 72 132.629 null] ->> endobj -431 0 obj << -/Font << /F58 306 0 R /F47 238 0 R /F14 318 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -461 0 obj << -/Length 489 -/Filter /FlateDecode ->> -stream -xÚí–MoÚ@†ïþs)Lf¿w�©”DʭŪ*‘¥ØP$>ìÐþüŽí‚ë&RN9ízýîÎëyvÖK0‚ëˆ�”P•³Úrk�÷VüzÇ«/<ë¨ÙŸâèüЇ+-Äc0Ê ‰ÖtBCœÀ c»wñÍ6Ôe=F‚»œd©Á =ŒæÑàŽ áñ›"Xðð³TÍA[Ïí úÑçÚñ¶-Ö)|–�­+÷—+§Q앱•©Éx¸î -ÓIGù0YæÃ‡Õ2Þw%uÖ¿~aГ†:·dhºÈ»åÃ,]œU½íк{ZdÓÉ"Mª§Ñ�ûU±àùç£ö$E@rœÖÊÎ-‘ªT çƒÍdœŸem‚pj]3ÆŽ8EOmtÙjÔ&g׆pÀ‡È�&I³œó)šyî)ï�XÞÏ.µ_¿5dÏy—zm·¼é”ÚÏWž°ÔHÆŸ°?°|;àVûtÞ ‘È=Ã+ÛñÕ¯ðͲô4µËÕê´uåǾj¢í÷/5Š£‹wþ4{ù|Ð× «8¶mÍñOŒuáj9M^XY+ôdÚœ‰5¸W–U-Éw&µå_¡>ò¨Õ/ÓjW…’¨µú_¤Zm�÷%%÷’Ò¨´Ü[Zÿ^«ñE�M·¼Vý�ysì -endstream -endobj -460 0 obj << -/Type /Page -/Contents 461 0 R -/Resources 459 0 R -/MediaBox [0 0 612 792] -/Parent 364 0 R -/Annots [ 430 0 R 452 0 R 454 0 R 456 0 R 458 0 R ] ->> endobj -430 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 655.203 165.34 666.107] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a4f880c4b9fe6700e040b9f4ef4e45918) >> ->> endobj -452 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 623.323 170.321 634.227] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a1fb1d6d463ac00ae196501c75d2036d2) >> ->> endobj -454 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 591.442 163.327 602.346] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a1ff835062a19d6516f2d59d9c37ddb48) >> ->> endobj -456 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 559.562 144.866 570.466] -/Subtype /Link -/A << /S /GoTo /D (gf__vect__mul_8h_a7a1f65b032f03494dbc68411f5614bb1) >> ->> endobj -458 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [73.494 527.681 142.854 538.585] -/Subtype /Link -/A << /S /GoTo /D (gf__vect__mul_8h_a15d42d058c64dec106d9e3e9fc2e1136) >> ->> endobj -462 0 obj << -/D [460 0 R /XYZ 72 686.127 null] ->> endobj -463 0 obj << -/D [460 0 R /XYZ 72 665.111 null] ->> endobj -464 0 obj << -/D [460 0 R /XYZ 72 633.23 null] ->> endobj -465 0 obj << -/D [460 0 R /XYZ 72 601.35 null] ->> endobj -466 0 obj << -/D [460 0 R /XYZ 72 569.469 null] ->> endobj -467 0 obj << -/D [460 0 R /XYZ 72 537.589 null] ->> endobj -459 0 obj << -/Font << /F46 237 0 R /F47 238 0 R /F14 318 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -476 0 obj << -/Length 583 -/Filter /FlateDecode ->> -stream -xÚÅU]oÓ0}ϯ¸�ÉC]Çæ XÓušŒ> u£ê§‹H“’¤Lû÷Øu¢RA+*1ñt®íûq|®o‚a ¦aFX ±XriQ -¥4öøÄÑÝ4x7ƉP@bD‰à0Ï�s†˜R …@\ -˜g°ß_¿ý8ŸÜE#«�Gó HÙÀ‘�””{¯dv;ñ.³W“/Î-˜Ìƒï±1ˆ)Hæh(H7ÁâCf÷o3­àyïµ.•Å>Ÿ~¹Ît0ÐÖ@8b\RGÛ¦š[.ÔsáˆD#‚1“¢4–UámÑv{RCÖqÂcÐHK*] –<ÒLúצq�‡Eëqå¡työV�÷eé�¬NwSu&óë{Œiiúðç¢{òÖcS˜>43mÚÛ®¨«öÍ»:í\#÷†m›»8‰Ù±ú¦Yµ»Æ,Ó:3èé(°¸ïAZô=�Y–MË>íïÙÕó]•î ùe»Ûnë¦+ªµ_÷•ü•뷫ƒ½ª²áz~Sk¢h$lCþ5p­O�y~“o1" -óP��û¤ì£?é¸Î—?""B“vËÍ®<+½¼Tú¼n¼1”Ö÷XàDzN¿Yƒø-[¼+¶e‘®\‚þåö8M\uÔÆ a ‘Ž™r�žr�Ü×€!Izz_½ÛÑl¤¤´¼”¯,_¯±gàtcf!w–j{5,Ž[Û½lMû7³teÜ Wà·�}ÿ«&Æ>æ~ŸÐjFÔÐì5áÌ ^Ü?Òó“iÿ)?c˜Œµ -endstream -endobj -475 0 obj << -/Type /Page -/Contents 476 0 R -/Resources 474 0 R -/MediaBox [0 0 612 792] -/Parent 364 0 R -/Annots [ 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R ] ->> endobj -468 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [85.177 546.885 147.194 556.813] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h) >> ->> endobj -469 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [534.022 536.011 540.996 544.858] -/Subtype /Link -/A << /S /GoTo /D (section.5.1) >> ->> endobj -470 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [85.177 521.998 144.853 532.902] -/Subtype /Link -/A << /S /GoTo /D (gf__vect__mul_8h) >> ->> endobj -471 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [529.041 512.101 540.996 520.947] -/Subtype /Link -/A << /S /GoTo /D (section.5.2) >> ->> endobj -472 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [85.177 498.088 115.672 508.992] -/Subtype /Link -/A << /S /GoTo /D (types_8h) >> ->> endobj -473 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [529.041 488.19 540.996 497.037] -/Subtype /Link -/A << /S /GoTo /D (section.5.3) >> ->> endobj -477 0 obj << -/D [475 0 R /XYZ 72 686.127 null] ->> endobj -42 0 obj << -/D [475 0 R /XYZ 72 668.127 null] ->> endobj -46 0 obj << -/D [475 0 R /XYZ 72 618.224 null] ->> endobj -474 0 obj << -/Font << /F58 306 0 R /F59 309 0 R /F47 238 0 R /F13 312 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -495 0 obj << -/Length 1402 -/Filter /FlateDecode ->> -stream -xÚí™KsÛ6ÇïúœôBÎTÞ�cšÚi2MÒºê)I5´DÙ+¤JRr§Ÿ¾ ”(ÉtH¹Í«¹„ÔⱋÅ.\8x6ÂÍaF˜ -0bJr O)´&AÍMÏF?LF�Ï…ˆB”Lç 1­)âR“yð&|úÓ“_&gј*ŠèÝäE06Úy0†±’r×ïüùÏg®Ó�¯ŸþþòìÕ$"‡Oê'Ï_¿²CGg“ÑŸ#a《’ÙÐt0{?zós°¿°ÑÜÖ½Þ\jx.ƒßF¿¶–L…}µ�f)& 1.©] -L- ‡è¨‹N � Æ8LЏ\Éq4„K„Á—§)¹7$Ä0ßu‡{"ì²b˜åó‚�!º†DQž§ËĽ]$‹HAhI6s‘5 }|ÎU`�‘TÚyÇJ×óBž‘aÒÍû<«’bÆ3;ŸÀa•»çb�ͪ4ÏJ÷³\¯VyQ¥Ù•ûÝä¢þá«ÍÙî=ÎæîežX#²ÑAPºÞá»4›-×v¼„t?ºZL7ɬš¾_/Ñõ#·¸½Ýs¹#ÈAýtŒ#¢•çj»„v^:òC$âLCz(’ Ào){cƒ7c‘m"3Oç¾Í"`OLýrQ÷ªs1›¦YZM«ør™”‡óØo±ÀiV¹,Ý|ïž[C‘GT„·¥·¯³2½ÊŸÓÙu\¸„ÞZÅ -ilÀ‰[ÆÌ§½½VŽŒ&MŸxÈüR!�Õ�é¯Õ岄•’Ž]P,Ð0TÖ:2¦òxŽáHÎLÓ*�—éß £.£ŽÓ¼ð/qéwVDD„–ψÁÑpƧ}µãн§ÈâÁá -Ôчb -k1qMçqOË29œ‹îP‰Hhá°¿—Iûƨq¼Ø‰n -€¬}·Áv‚.€†$†ïðNX— �Â[ËG‡Ÿú­égÓ3ĢIŽ8¬eì$b˜7Ø»¾Ürø’}hŸ%Yâ@¬[OÏójº*òù]µ¥-õ¶Ú”±pkÚìl­¢º(†Ë¡9©¢èíBÃ-Mñ¡2í îíDq„�ò½î˜cŒ¸`ìžÛÝ Þ 2J¹ ‹A®÷뾸^{³Âu\8~»^ºÈó8«¶G!÷Õ³WãùzVÝ)‡»À¿'½”¨»!�íÐÍ_G Âmx* öPÒT0mv¶ÖCC'¨aÊNCµ¯Í‘æê4½ííD1uýŸ¢j(ù2Q}x ÌîG••Ä0`W³†U®y¸5mv¶VaʺY•úôê·¯(?4“§Éjo'PH$Íqið¡³7Yƒˆ¡ÿWi¥ÔòJ{´]�­®ê¦ ;]U{NÚ­«Àªæ'±ÚÛ èª1äÄ ¯ÐUCèàëà0m5HØ2€J¤�ù Xu†Û´ºö~»õ#Î×Õj]•Ÿ@{iï:á›öž¤½ãZö•0ý`}æ˜ÜÏôqA�["m‡{€¹ÿïkj fí+ºxÏ_~§AÝ׉Áh¿,í_ûööL+Ä¿1ýIuÚ×ì[Íñ9Ög“Ñ? ËÔm -endstream -endobj -494 0 obj << -/Type /Page -/Contents 495 0 R -/Resources 493 0 R -/MediaBox [0 0 612 792] -/Parent 364 0 R -/Annots [ 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R ] ->> endobj -481 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.915 489.057 173.249 499.961] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a22b53cd4103da9ed88c351e7045ff313) >> ->> endobj -482 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [116.545 461.161 199.314 472.065] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a21d5e25b4ac64062996149fea71aede8) >> ->> endobj -483 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [117.601 421.311 183.215 432.215] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a590b5c35075aeea1243a9e4ef73a49d4) >> ->> endobj -484 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [116.945 381.46 205.243 392.364] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_aa486278c409735df8001096ac2b487dd) >> ->> endobj -485 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.7 341.609 205.532 352.513] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a1ff835062a19d6516f2d59d9c37ddb48) >> ->> endobj -486 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.583 313.714 207.428 324.618] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a4f880c4b9fe6700e040b9f4ef4e45918) >> ->> endobj -487 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [117.78 285.819 214.606 296.723] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a1fb1d6d463ac00ae196501c75d2036d2) >> ->> endobj -488 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.634 245.968 210.448 256.872] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a17c6ccf6470796b756841e160dc8697c) >> ->> endobj -489 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [117.78 206.118 214.606 217.022] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_aacd489f45babdbfe6a41f1bac2885ab6) >> ->> endobj -490 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [117.424 166.267 219.232 177.171] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a2688b38c18e93c95c525c0d5bf9e221a) >> ->> endobj -491 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.634 126.416 210.448 137.32] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_abb7a991b4c0fb9ced373680ef36bae08) >> ->> endobj -496 0 obj << -/D [494 0 R /XYZ 72 686.127 null] ->> endobj -50 0 obj << -/D [494 0 R /XYZ 72 668.127 null] ->> endobj -478 0 obj << -/D [494 0 R /XYZ 74.491 618.224 null] ->> endobj -54 0 obj << -/D [494 0 R /XYZ 72 618.224 null] ->> endobj -497 0 obj << -/D [494 0 R /XYZ 72 508.03 null] ->> endobj -493 0 obj << -/Font << /F58 306 0 R /F59 309 0 R /F47 238 0 R /F48 239 0 R /F14 318 0 R /F73 498 0 R /F43 499 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -517 0 obj << -/Length 994 -/Filter /FlateDecode ->> -stream -xÚíšKoÛ8Çïþ> endobj -492 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [117.78 642.06 214.606 652.964] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_ad0eca329291d751df6ffb3aa3eb83610) >> ->> endobj -500 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [117.424 602.209 219.232 613.113] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a2fb7662ba4e1df4bb72659c57efeaad6) >> ->> endobj -501 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.634 562.359 210.448 573.263] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_af88a7da05f46e1a0fe17d032a2cf78bf) >> ->> endobj -502 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [117.78 522.508 214.606 533.412] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_ae1e4c9eb9a26a3a7852166d54d2a27f8) >> ->> endobj -503 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [117.424 482.658 219.232 493.562] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a26c2200ad3bf04b1c858eb239b7ff940) >> ->> endobj -504 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.634 442.807 210.448 453.711] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a06a563b718c6269c8df0fe7647e5bb49) >> ->> endobj -505 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [117.78 402.957 214.606 413.86] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_afeefb3612c92a0bc87182f6e11030b11) >> ->> endobj -506 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [117.424 363.106 219.232 374.01] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_af88c501e0c5138ec9c88f58c182945e8) >> ->> endobj -507 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.634 323.255 210.448 334.159] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a12f59be6d348fea6ad2464a20af22fd3) >> ->> endobj -508 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [117.78 283.405 214.606 294.309] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_ac64153e1aef3cdc4b69d375ec762fa33) >> ->> endobj -509 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [117.424 243.554 219.232 254.458] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_ac6468d7eb3c28116439abb4a7c5eca05) >> ->> endobj -510 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.378 203.704 210.74 214.608] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a17799d49d9b83861322ebf314a55f77f) >> ->> endobj -511 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.915 175.808 188.592 186.712] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a6ce05684e168d73773847a3c2c13c175) >> ->> endobj -512 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [154.012 147.913 184.786 158.817] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_ac73ea8358bc3155c7f3a6c078a7d6d35) >> ->> endobj -513 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [154.012 120.018 181.618 130.921] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a484460566a8c888fda3d769324461345) >> ->> endobj -518 0 obj << -/D [516 0 R /XYZ 72 686.127 null] ->> endobj -515 0 obj << -/Font << /F46 237 0 R /F73 498 0 R /F43 499 0 R /F47 238 0 R /F14 318 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -527 0 obj << -/Length 2526 -/Filter /FlateDecode ->> -stream -xÚÍZK“Û6¾Ï¯à‘ªŠ<<ÚY{jSNUÖžÝ=8ÉEA3,S¤ÂG&“_¿ÝHJIÞÚ=�~£ûkH4xhp{C L$%"‰£ž±TŠ |>òéãíÍÛ»›ïßÃTJÒ˜ÇÁÝ&Hx«”$, -îÖÁçP¶XrICÝdmß,˜ -õ}^¯5y´óï‹RÛÑG½ÑvA•ëůw?ÞЫ„ >/‹¥ õ¨½»»ùý†Á�ÌÊ+IÊU�oo>ÿJƒ5ÌÿˆôR<™UÛ Š<ËàÓÍ?öB<�-(°E¡-c„ª",vöøTTƒÂºÔ[]uöåöý/TRŽ’‚IE2%‰5iD8•� Ц–Èov•ÇL’(Iƒåd•‚ÎøEµˆhøš—†­^0Ï&À2™xqÉ('ÆKÆI*™%ø çÒÛ–è.8 ëbí¾¡YÑ3f`ý€2u�ŽFq(`êTa Ên‹¿ôúP^Põ´Æ´zÚ,"e‹ÏQ~|AñZ�/¦2|ç4Ày£¬vŒÉcB¡�ÒMý€a"ˆ!`„BÓs™¡8„L̤2ž‡$x=Á�W9x`$Þfƒ8«gË8Ïʼ/3ë!ü`lh„¯;;Ø5õºÏ;_ \†[òX¥¾áÚçíª.MZä&¡¬ž;í^íá'TN!ðÕ… -˜ˆƒç›ºu<3ûhug6“óp…E±ß,¸ ›šÅÂà‰]&ÿÖ}þ‡ (þk�0ÌÊ~ÐÕå}î"sv¯ãep_kÝm�¹ÑØ7° Š[óÆVSt§ÉïqØ=ï´�22ÂÌä %áxŽdøÏÖ�ÅĨ�,…Yi·§ãìètœÝêÌhd™¹Y…µäÙ®hõï½�õž³ÊÂ÷mæX9ù]¥„™¢ÊËÞTÈ™ó¸?}’ÙÓ‡Cpcf*ÌÖ•�j² Ñ‘0µ6̸-fQøS_vÅ®tt]‰lmÎïøÅžìOÄà9œÅ\WVnò�áê˜[Ä–±#Úw»¾›ÓÒ -�wµ È8¶'žu¥í`—µ&ä¤ -ß‚êvòö½}n­6ÏöÍ3 ÖêþG±v˧‰^óÌ1Y¹ïíN»�ýÎ}q$]ÒµqdßxóñöÝýÝ›·Þ}r|;ûòÄ¡'QÇ?wºjµ�­¶z[7{µ�¦É+Š}Yí¸«vï�–®ÚÕy�Yö¢ÞÍ08Zý ý±ž®Ž ®^r!Àm†¬×‚2Í$8}¨J¢S}(`=•Ž�¨é8=I˜P€e¹!'ƒ-méyÉ7NHâ_Ë Xœ2Ÿï:ë2«5&òÅ2Š“‰ž™^€ÔI*�Vj@�f‘ÏÉ Rœ#`XÐxXóe– #‘Rç�iLg„ùÔÎQä s<ÂÐ rÍóE΃W¼ˆâ—àÕ$9ä°æaÓ­²”óR¤„î�îåR‘LÂÕ¸];+„€bÄÏb) KäAûŠ0{àï:¦—ÒFç{åÀýaG•àÙ‰ü³lúÀ±º´·íïµôÐU¬µköjõWe�iý$fÍg†M_¹�ÙÊÆ®)Fn“BCÆ™�˜=ªÍØf•I`”lx”…ém`d8³­ûÆT_·s ³V6”„§®Îwn‘­%H¡±ÏíX÷;}6ϬíËžIÖZŠP0ò+ðÄÔ‹½ÐcŸ4!yFR˜æïBØk SÐ9¡Ì¯<³( JYøïG´²÷à^0Óëá£í‹.[¤ë 0ÄiØÂÛ ˜èL÷‚K )�sƒ°$‡‘-M8ÿT”¥%¶ƒÎ¥n¶vÚ¢q˜µÍLë:_Ž»Ñ‰8o×ByœÝÌ•Þ�Z¯—Ÿê²Þ!ìÐãl°û‘éH¸f /6öõÕœ‡]Ý×' McÜvM?Y -¶ÎÅÀOWhZw%à@8., 7,�úë‡É­èÆ Ÿ&¯/÷KJÒ4†<];SV㟱ÊgM¶E èûÙ{„yú‡_/¨±Å£ý§.¨ñ‹‹±DËý„¥iÀ£˜(0à Ôa®)JH„‡N$¡HKREr¬ö3ÐDWy)S/0™ -C�é]=t�~RÖYþ8IÙ/3öb¼þÚ#ðýû°rÌ´^½îš�y©¯Œ”ªè…}GÃöøôöÓ�rÝ~(µ%€–«%â` ¥ ^ܽõ—ãQrÇù(™²¼²IÕoWºñý¼��©ß[ßñM�éþ©õoÿÆ,åÒô°zzS8ÞÛ„}*fÎVß÷9lG°{qÌ\·ßÆ GG²ëb†+€m`HË#Xèɰ~j�ÇÎeœçcgÊùdì¸Þþ Ž~%Èë*ï›PBù<ùq@?Ü{�ˆ³•ò=Ê™ùIá∸n¿‰–&DEü´ -ÐmÀQ=Јó$à ¬¢¢}U‡ËØÎGÔíϵ¹qÆ+6a ϬiÌ=Wêð.<‹ÊÆ®B°ÓÚñÍ×öuÓà•Ž4gÇ3—i†æ‰ß~R¼’¸/ª¢»· ±¼½è”@Á" ê['ßjöÞf¬‚Å_.þŸéø°áòœ_n¾ÌPñœ 2¶€c:>ztÎ/òqw]Ô®ÜoOŽ’$RW5žhÃñwYêÝæ=7—1�=8×7îŒL’çΞ¥ƒl9…]Ã)B(ç_àŸHšç«à»¶su9ôºr¿u}"`ì+]OÁ¡àÑ$& ç‡7,óÞ¿Œï¼÷§|_íýáâá ¶žáý³Uð½HÅå ê‚ýó­äË«YØF)(Q¢ÔØâw}SµG~êöý™Úü9p±pn©ðrèÔ?ª¥$VìÜTýõ¾<ì -endstream -endobj -526 0 obj << -/Type /Page -/Contents 527 0 R -/Resources 525 0 R -/MediaBox [0 0 612 792] -/Parent 519 0 R -/Annots [ 514 0 R 522 0 R 523 0 R 524 0 R ] ->> endobj -514 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.915 642.06 188.741 652.964] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a81be18ea979e8a32f384e1a7856badcf) >> ->> endobj -522 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.915 614.164 214.694 625.068] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_afd549f435ee28276b5a9408a3a6256b1) >> ->> endobj -523 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.921 586.269 177.882 597.173] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_ad808efb2e8af3803571c0a6c7c9faf39) >> ->> endobj -524 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [435.802 210.231 499.771 222.749] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a22b53cd4103da9ed88c351e7045ff313) >> ->> endobj -528 0 obj << -/D [526 0 R /XYZ 72 686.127 null] ->> endobj -58 0 obj << -/D [526 0 R /XYZ 72 558.334 null] ->> endobj -62 0 obj << -/D [526 0 R /XYZ 72 427.484 null] ->> endobj -320 0 obj << -/D [526 0 R /XYZ 72 403.078 null] ->> endobj -66 0 obj << -/D [526 0 R /XYZ 72 403.078 null] ->> endobj -530 0 obj << -/D [526 0 R /XYZ 72 271.167 null] ->> endobj -384 0 obj << -/D [526 0 R /XYZ 72 113.727 null] ->> endobj -525 0 obj << -/Font << /F46 237 0 R /F73 498 0 R /F43 499 0 R /F47 238 0 R /F14 318 0 R /F59 309 0 R /F13 312 0 R /F76 529 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -539 0 obj << -/Length 2066 -/Filter /FlateDecode ->> -stream -xÚíZ[�Û6~Ÿ_¡G¨Þ/�-Ð PìÝd€}H»�Ç–g„ØÒT’3›ýõ{(R¶hÓÊHšf7@Ÿ$ÓçFž�‡‡Ÿ�“‡'·7aF˜J0bJr O)´&I__ùêÝíÍOw7oÞÂ�AFR™ÜmE© R„'w›äC*Y,©ÀiV­êCµ :Í>®ËM†ÝøÛ|—¹·wÙ6sÅ:[ü~÷Ë ž\òaɈ"%$°öóÝÍ7^qB\¼ª“õþæÃï8ÙÀø/ÖžÑÉs+µO¸ÔðÜ%ïoþÑ Š -ûj~%„9[ ¡‘§•@ÑÅ’`ŒÓÏ ÊÓ2ßÀÔÌxÝFDF˜@B¨Ö#áQd´9x -a Xœ XeHCįTHyá¹~FЉÐïfÕ¬"^5ˆPó*^ A„èÐëýªÎÜZÿ†^,¹i^46�7oUÁb6 ì·z»¬øÁ …>4Ò’tBqC„"˜»©«Å麎£ IÉFÛdu·‹gŽb‡¢ÎŠÌcl½PéãªrZ°=OZ°N”ñNë7ŒY$…7�Ìç…Æit]0Ò˜ÌàJv9[Óh `.âÁdÉ´„"‘, AF'q=6°Äa¾(¶Þ$lŠb "¨?QV&¨¥ª'¼Ô -e’%åíâ·J·Y¥´ñ5³¬Üs“µ›¹Wiý;\{ÙÂ=ïwåúS7¶õú°)p¯¬–„=³Ë oéó‚°]çe�څİ„ -IêwØm¾ ÂKYO”¥+÷Øå°í[ëžuy¨ÖÖ.¥®´£.05éÃiž T¶QX •{î»&Úe}ÍЇ«o÷áädU;‹õS¶Î!•´¹ÿ½_5UþïÐäí[[<¨G K$¤‡é¶h†4dv2ñ�ú— 2* j(@àIJw H–\À¹ ›'f™míºÚH×yV45‚âeHúÏG»ÊŒ�ô!\xF°�ƒ}Ô‡¼YÝÛE²ruÖ¸a;;piÖžÁ@ó˜×Nt{(ÖM^zOÏùnçÆŸ²j[V{7Ükl+Ú;öÏ¿=ï.‡RDÕ`w¡”�´×ÔGĘD°©C6@Ú¡®wª‚F¿‡[[p> -aާcä(àULuì"Âð8ý[V<4�aýÊVëÇ^u»,nîÍn_·QÖMYµ[/�<Ö¥ ´¶ÕËÛA—óœ!Upü„ÃDƒºVÊ<}8i$œ›ó€N ÄÍÅòxT3íÏu´LóGKßóÝ£ÏgqØßgU˜ïúù¯CT¥-’Ï~4ïêQg×—¹NúxnÀû¶to;£§æÔ9��Yê9¶ý�®jr¨m25Ø‚sRÐ^¯{6ÓÜÆaÓw;›òÐ<šsy€4e—ób}¨*8Vw_|‘j;’7®WÃèI…Ùu,åt4ÌÓoáÀmë*ÔðàÞcÈu4p -éHfˆÝÝ;®ašÃ8ú-á>Öæß0—Zx®ªjõ޶�€g^8DX)ÛrÕî½ëb7îã¶*÷î­k�ÜûyÖÙô}ˆ�§å:ÚÇlØï³õǼț�Ρ=Û.n0Û/2“þýPûøî³ ãò�æñÌÿã‘Ïhä:Ät{£¿¸++Éá†~¼¥}ŠX ŒÐNæXƒ¯nšÑ0oµ•˜Þ¥ÍÔw{F $ñü.Í’U\AרMpø^ß;ÓG7OàøG¿Oz¥óÉí§³ZÙﻺ�d{9{¿?´{c :%süÂô�:Ç|zúçé»ôK†(Ÿß{Q»RÂuT†TD<÷Ó¼Æsß÷úâÜw·ô³suDîGO!̨c1=õ£Õ_L „Sœº  ¿7‡ªˆßOϳ•(òaÆœzay”VwðŽL ˜–,¹…ˆêÓ×,B_‹ëô5# “>“³ék -–42L½€½†Fú5ÜZöëÐï{ åç5¼H»9›míÈkq$¯ñš]ùuòZþu¾™e>Eͬ}�™#µÝòµ¥m˜Ÿãôµh!a�Å0{LbÝÄ9}}ŠãaÛÜ[ªj�Âî71?ŠŸxâ–x�þ& ´¼F`¸®Ñ?™ÁöêehpÆ0J_LbèË$ùV$vHM‹¿¨é€š–/¢¦åw@MK6þ€ó OÒoJR‹W ©/.ug?¤ƒ/ª�Ðǃÿ�Cî~ÑéÏí9£»MúþýÏ‘,9´VFs€ƒh þóirÀ=âzz6S¿íÀ)…×aÉ)±7Mõu–|šÏhûøü%ÉGÏ7Ì2hÃg:Jæé·(!ö@SjL·E1ø’¬Ç“D12Ñc$}—ß7>~úAέºRÓ©�™ú3úr:³´Ø?wpXèþ(éj.Òòù:?>Ñq:}ÇÿKz|üœÂ|‚:§Ó¹ž™úzhÂgÑãpY²´QJ‰<]lvh˜ä6†¾Û¿Hòï„$ €ùÒþ±nz�6Sßí®aò3 ©�#°Ý‚Ó:~ÛLòß6}§ßŽ=ƒ0o ­äô®k¦¾Ë;“Hâ™]…îOØ|ÂÓ°sš#žûi~ãÉïûývüøø)„ÙuŽõôì�×ï -shc$5û7íÿwÁp -endstream -endobj -538 0 obj << -/Type /Page -/Contents 539 0 R -/Resources 537 0 R -/MediaBox [0 0 612 792] -/Parent 519 0 R -/Annots [ 534 0 R 535 0 R 536 0 R ] ->> endobj -534 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [435.802 500.345 499.771 512.863] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a22b53cd4103da9ed88c351e7045ff313) >> ->> endobj -535 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 260.492 111.003 271.372] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000001) >> ->> endobj -536 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [435.802 173.703 499.771 186.221] -/Subtype /Link -/A << /S /GoTo /D (erasure__code_8h_a22b53cd4103da9ed88c351e7045ff313) >> ->> endobj -540 0 obj << -/D [538 0 R /XYZ 72 686.127 null] ->> endobj -70 0 obj << -/D [538 0 R /XYZ 72 668.127 null] ->> endobj -541 0 obj << -/D [538 0 R /XYZ 72 561.282 null] ->> endobj -382 0 obj << -/D [538 0 R /XYZ 72 401.032 null] ->> endobj -74 0 obj << -/D [538 0 R /XYZ 72 386.462 null] ->> endobj -542 0 obj << -/D [538 0 R /XYZ 72 234.639 null] ->> endobj -537 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F76 529 0 R /F14 318 0 R /F47 238 0 R /F13 312 0 R /F73 498 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -546 0 obj << -/Length 2219 -/Filter /FlateDecode ->> -stream -xÚÅÛnãÆõÝ_ÁG -¨fç>ÇHÓØhÐéÆlÒ‚¦(›X™tHÊÞí×÷Ì�"µ#Ú7퇣9—9÷s(œÜ'8¹¹Â3ÂT‚S’KxJ¡5IZøùÄOïo®þ|{õî¶2”I*“Ûm¢h"u†áÉí&ù� -DVk*pZ¶y·oWD§å¿‹fS¢·]íJ·z_nKw .ÊÕ¯·ß_áEÌ%ÖŒH!RB'ؾ»½úíŠÀ'Äñ+PFuR<^}ø'ØÿÞàËtòbO=&\jxî’¯þy`j`Ž -³4/‘�%BÆ<‘£,óRy_öû¶î¦—ôO¨��Î’5<1£¼nj/  í#Âk¢@,YsŠˆÐƒ>E|µ&ãôyEyÚTP¹éD>„ Ä%I$6×`sB¢(ÓÙ ¦/A˜F\&Œ4ö‚¨êª�1üuˆ -Žh6%Úçw+•îÊÎ]û,ðjÍ…n,3ï®Õؤ¹@ŒøãÜ‘)àW¨p$ކPÐ gÚÅi³""}éb©@‚ñpz_wÕ}]z=ÀýCÞ:(p´”#á$@ý²‹0¢Æ|ä¯_ç÷#~¿íïV§».&‰¤Ê虸ˑ›¬™Q“VÉšrÄxæ þ -æUå»ê?>Ä€æ�Úa½mZ¿0,ä]ïÞ¾³qÊŸÿ•_u1¬ózã›ÒF2ÃðdüMRoc7e ¯7ʦiÿPšKK£òOO€ÂÔþäy2¿Öe9ì[þÌæ�?³1ëpÂñqV†‹˜]ó»§ÑÔnën×ÃÞÖímò>G«µÂ*eôîs`ªn¸#A™^}þŽ›#�–yáƒ{U?í½\‹¦Ü®¨0vA‹ª¬{tâç"™ �T �šxÕþ`BWÞæ�eo²IãÑ4Žÿø×ã” ˆãS³)⺠l=_‘,KföÀ œxuŒ¢ŸbcG†Ð¯ Rˆ`/¸�±xk2Ä¥§éJ(„a9!yûà=§Þ?Þ•ÞJŒÍ™ç³ñˆ²èƒõt;-‚“†Í¶1¶óÒ³òîðzK §ó¾­>Y%¸@Uߣ/o/8ƒÏ/¸þTçØ¡¹Øf–Á[›áADfËl†j pq¤„ 銋´yéNÚÎ…”£¶3¡VlÝ•S›î†¢–ÑX1�0û²ŸH‰Cï4Ôë#HÌz’�¦çüâ\íNÍ ^Sχ?³ÏçÐéÿ_Ÿ¯Æ}¾ˆôù -ü/Öçs„¡beÒHƒ/ëóÁù¤´¨HæÍ—>Cj޹¼FLük�• 7¨[&d7MŒ¨âHû“K‰*…4cS¢O­)EšM„r&÷Ç—RÎ2Ä)�RÎM#ôüÉ©9Ì5ø‰�ˆªÁ½we@ÁòõÉáÌó LàÓ„g±¡‚ze¨@ùëCο*D¹Ð(cj9'81¢ ƒ(:;å)NÈUKñ»ñ±€!¬3ŸC|-½)»>&‚ó EHDµžÎYn®�±…<Ä …+Ó7f$a¶±gÿI"„¡’õè”¶|DDãÓvñÔ6›}á_^ªÞú£þfÜ!¸„> endobj -543 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 239.795 111.003 250.674] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000006) >> ->> endobj -547 0 obj << -/D [545 0 R /XYZ 72 686.127 null] ->> endobj -381 0 obj << -/D [545 0 R /XYZ 72 632.899 null] ->> endobj -78 0 obj << -/D [545 0 R /XYZ 72 618.329 null] ->> endobj -548 0 obj << -/D [545 0 R /XYZ 72 527.832 null] ->> endobj -389 0 obj << -/D [545 0 R /XYZ 72 392.29 null] ->> endobj -82 0 obj << -/D [545 0 R /XYZ 72 377.719 null] ->> endobj -549 0 obj << -/D [545 0 R /XYZ 72 213.941 null] ->> endobj -544 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F47 238 0 R /F76 529 0 R /F14 318 0 R /F73 498 0 R /F13 312 0 R /F11 313 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -554 0 obj << -/Length 1723 -/Filter /FlateDecode ->> -stream -xÚíZIoÛF¾ëWðHådöåÐiÚ"uŒ @’45²ؤCRvÓ_ß7 iR¦K2�‹OŽæ-|ë7ÏÆÉe‚“ÓF˜¦Œ˜’\ÂS -­IRÃÏ[~:;�ý|>{u[Ier¾LM¤6Hžœ/’�©@džQ�S[çͺž�ÚŠjaÑUØ?Y]Û°:³K”…�>;ÃG)—|Ì‘B¤„�¸½9Ÿ}™Xâ„}2T'ÅÍìãgœ,`ÿ­ãgtrïOÝ$\jx^'ïg>(Õ+G…[ºG´ˆ0C‹„1O¤ÄȘh•3Û®ë²d|‚AÕ€œh¤°I2xbFyY•Ñ@#Ù‚3¢À,É8EDèÞˆ"9ÏÆ8½›SžV«8€ñôr陎ìCG„‹Db÷l—‘(2ÚôfzlpvÀ -#�£%è�-Ú ±B#IÙ³ˆ•IBÇbÕ”PÅ‘!äY„*…ÌXä-ĶH«Å„\#ÑóXØÄõ†Ü|NHz÷/ >þ„žgÏéªô&xu¢†ùË!¡´žöÚ–?„Cc9“Ru‡¦Š 1»3w[8Q†6Ý©uÙ¬.Kñ˜«ô*¯Ô“*"zªO`µ ȧݙËe{1'8½n&µ0}¼[4SPÓ›¢©ç§Å¤]AXí©GÆ\‰‘ž #Ä“ô�<Œb¶i§lBÐÈ2*VE*“ -PT&�ž¸`£QcÈedÓ‘7Tí„A^Fmÿ§FLÒdÙà”özøfqç’ JGU‡w—Ð~q[W‹u_îWml3í½s^ªu{»nä„‚Îið¾+—’ƤùICzþГX<ð‡—ê¶]ݬþó>‚×¶ -Ï"¿.Ö×ykãv/Û‘¬�è°Î#›<ž[ÝX4Ïæ_+ÛLo7)#.åÍá6�øÆNË¢®š¸¶yqV_»Ï«–QÓ+ -]Iˆ¸�²«ðÝpPã4¯ëük\–ÎtÊ >v‹ªlÚ¼ŒÇë5�•—‡‹Ê.çT¸§ÅÊ–Ýïm¤úÛðU²¨rÇÈ\u]Dd̘ô—¼ Û6P®ïbØYú€Ðž±�‹Uyé¿�Ó° €` )ì?–1)çÐ<’¥'ë²hWUÎÔöËzU;ç»·ÛÚf]0Å#Â+ïÙ…W:Q(Wˆbõ¸BŽ‚º�&Ý6ÅÇ­Ø>\\�Úc;¼éµÎ÷GroVÿM‘Ê;ÄmôñàvC¸UµìrÖa‰�’×…˜À‚6À–k¼?úÅÙé&Ž7R…„V`snñàôI¨�»VÝw”×þ¢€vnã ˆ9ä‘@ŠÇôyç�Z^ç7¶u ™¤ÓjL ØüusP—µC�”õàã9éà–„3P–Ó]<àtðöÿ(6B˜¹ãÅ�¦¦Ç0SøÒaâC…ŽºP¾k�„þfËË®õøb#úB4ѼVexºœñ5Bÿ÷ucùÂÆÌ$¨–â¨ý4‘˜€þy‚?^Œ¢ÇÆp :ßþÖG�cÎ�¢ãèCA×ZEØ·/0…+1(l[Ãè0©Óa4”úÇúæÂÖã0Ú ž¦Z×…mvùuoõÆ~qÀnûõ8zïWfãÝ_w C¶{•ÂÕ—*¸àx’‡kÁu³Õ¯I�öêPê» -®LέpAñ˜.J“mœ»þnM”»˜g$ýÚÎ --»î ¿y[CŒâÛ9üÖµü&é½£*ÃVhô°Ñsd‘#íúx`ôÐdzÐú¡óK)Æ�Øâ'S`_OŽØ3}püGÂ_CµOÛÝ‹iŽ4ܺË(Sp·Üš‡ žÌ�‘à×ñ0(l·!-šxa«†å­ë“ýµm‹›÷Vwì) Çôpt$}p5\¥µ:93€9€'f|ÏŸöóaR§ý<”úd?;õVe¼æø�¼Í#r“µ¯K Ûåÿ½?cì? —êpsýžSd¸¡|ï!²zCX›1æz–¹±�ˆÂÍäenü27~™¿Ì�_æÆ£¹ñû÷o8";ÿy’`Ç=ÿyá¬&åt -endstream -endobj -553 0 obj << -/Type /Page -/Contents 554 0 R -/Resources 552 0 R -/MediaBox [0 0 612 792] -/Parent 519 0 R -/Annots [ 550 0 R 551 0 R ] ->> endobj -550 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 480.404 111.003 491.284] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000007) >> ->> endobj -551 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 154.16 111.003 165.04] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000005) >> ->> endobj -555 0 obj << -/D [553 0 R /XYZ 72 686.127 null] ->> endobj -393 0 obj << -/D [553 0 R /XYZ 72 632.899 null] ->> endobj -86 0 obj << -/D [553 0 R /XYZ 72 618.329 null] ->> endobj -556 0 obj << -/D [553 0 R /XYZ 72 454.551 null] ->> endobj -374 0 obj << -/D [553 0 R /XYZ 72 306.655 null] ->> endobj -90 0 obj << -/D [553 0 R /XYZ 72 292.085 null] ->> endobj -552 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F47 238 0 R /F76 529 0 R /F14 318 0 R /F13 312 0 R /F73 498 0 R /F11 313 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -560 0 obj << -/Length 1933 -/Filter /FlateDecode ->> -stream -xÚíZYoÛF~ׯà#T›½�‡HÚ"u� @’4EÛlÒ¡¨¤é¯ïìA‰”)Z$å úÄÕîαsìÎ|6Žn"�Ï0ÂŒ0aÄ”ä¾RhM¢–,]œÏ¾¿œ½8ƒ)ƒŒ¤2º¼Ž�¤6H].£·±@d¾ ÇY™¬7åœè8û+-–ºõóg«»Ì�.²ëÌoÈÓlþþòÕ OR.z»`D -ÞâöÓåìÃŒÀGÄë+�¡:Jïgoßãh ó¯,?££On×}Ä¥†ï]ôûì·�R[娰Cû ¦i‚0æ‘”¬òzNyœ”É}VÙ#“xÝ>o¯ˆýÕGçÂÙ¿ï< ” l{¦SÒ#bL$9CÌÐÃvd„,œákŽ0�°ã¥×:ËÝe¹3UëÐD€T1V(WM¡B! ÖП³ü¦ -ñZ\‡xNÒ0óqNDœ¥UQú߫ܯ>WÙÍ!qüËf]…YÚ/ÎiJ•Q,@='ï;¿¥¥˜BŠëz÷ž‘è±1X�Q>Âí(°läø šDîcˆY£È‰1‚w2Ž”¡Þz{ƒhœÔî jJýus••í Ú�u±)S4‡½:X½¶[˜½�&¸u½÷+–HÕÊ�!‡ÝJá]¡*’”"ÎŒ7ðÍuuu·>ìØQb»ýÚûºXåö‡<§qUØ/‹iHrÞ æ6…ë ~‡1ëÈrŽŒ&õÖÅÅŽØ..Ú�rWó‰?Wsg^ˤ,“Ï~ÍF¤�z(³EšÜ¥›»¤Ê–~--òu•äÕÚo¹JÖõJ‘û©ê6ó[Ž,p¤p>lªšQv=§ÂªMVïh!’RD ²áºMWëK‚¡®lÇ0PK£ÇçÀ4z—Âp§™ü>ÚÂD�ó¦[—s¦âô`Œ”Û™M¹/½ß›wۃϋµÿecwÃÕ%DFŸŸ‡kÛr”%g||!4‘Þ;ZÃWO-„àηæ€BU©�$Ë *Šƒn'µÛÍM©GûÙª·Ê“jU„jh™TI¨€æÇw@ÁßëÿÁÇhûOÃ’ïþÁä[Á5ÂRyË^dզ̻û€}Ïh¤°�;ÈY¨.ò"=SKöžà�7rvÁm˜èm‹†(Òð8`lKhMŠ\ð”*xS;b ª¬TĵvßQxˆÌÖ<� �X@+…´ -–`¡"ê -m õ¬8‰X(·$vKì²èª8Ònçt¡ -„1ÖúPÚ -°XvH6j vÉÆ Ni[rbÛÎ�{7¿ÃÏ\p¸“+_P¨fW/ …ŒÀÛì¿©-F#xëMÝŒE”‹fiÒÅ žnÂM½k“¯W7y"2�«ø6);*#ˆL; -¬– -äo÷ØŠqÝÙݺS �ŒE¦jq@k -º5<Üp+¦쪥x6=à.`kj0Ñ~^ömBàEÜ1¤u_íÝS !Õ:ZPûކrùüÌ[]Ù²H"£˜¼1#C’%þì¨mCE‹Æ.íôèì§lNûGª,–›4üø´ª›ùê¶ÌB1Rlªm5ÛS»ûRÒÚ¼�Œ![îFî0Øq‡ÅCµº_ýã<?݃ßmQ¦ƒdK°±‚ý8qLDœ„]«û AbrÿXdëG¤‡�É fP\cMÙiÍŽóÕ:¦e±。ÀÈ¢Þv .uIh;ž\µ ¸ï¨u[`çBÓ`g“|Yï󇄹ºýð ëÌéó5ËfWá[¿î,ë^ûÀ,( ÓNa7òŒD­ßÅ‚iÿ�ä�"ðظþÇÎ\»P°lºé €÷º™b¹Êo€fÙ,–™»£ÚÁ2sx(¸Yšøl“§¾h²Keöa³*­ãí¯fo¶ÝâÚ,ËÎXÇUš6¯š/Þz‚ZÞØv´ó¦Ó:ô‹x×VÚ3*ßVº��Ÿ™P”Ñ®�¢´Ž.>´WdÙçÖBÉnpq¾iƒ?©BBo 5ë‡SU­qû> endobj -557 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 367.478 111.003 378.357] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000009) >> ->> endobj -561 0 obj << -/D [559 0 R /XYZ 72 686.127 null] ->> endobj -562 0 obj << -/D [559 0 R /XYZ 72 667.868 null] ->> endobj -390 0 obj << -/D [559 0 R /XYZ 72 519.972 null] ->> endobj -94 0 obj << -/D [559 0 R /XYZ 72 505.402 null] ->> endobj -563 0 obj << -/D [559 0 R /XYZ 72 341.624 null] ->> endobj -394 0 obj << -/D [559 0 R /XYZ 72 193.729 null] ->> endobj -98 0 obj << -/D [559 0 R /XYZ 72 179.158 null] ->> endobj -558 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F73 498 0 R /F47 238 0 R /F11 313 0 R /F14 318 0 R /F76 529 0 R /F13 312 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -568 0 obj << -/Length 1836 -/Filter /FlateDecode ->> -stream -xÚíZ[oÛ6~÷¯Ð£ Ì,ï¤6 ÛšÅ6tmP h»A‘•Ä@"¥’œ¢ûõûHJ®ä(n,{Ùò$šä¹ðÜÏIhtÑèåŒ*˜0%Âh©ñÕÊZU8¾çèÍËÙ�§³g'ØJH¢¹ŽNÏ#Ã#mb˜ŒN—ÑûX6_pEã¼Jëu5g6ÎÿÊÊeN.ÃþÉê*«7ùy.Y>ÿxújFb.z¿L+35Àöâtöiư¤ ü*’pe׳÷i´Äþ+‡/±Ñgë:’Úâ{½�ý¾AÞn¶Þ®,aº}û»9c,㦬ðÂDÇ˲ ‹›ª\®³öGyÓ¬®WçËð³)Ã7K¯²õUÚäíöe•·Ër}³nê°N=§í­ÕuNæ )müs™×w@_ž| Šr'�g'LDš$FXǼŒPÍtàÿÏpmðFE¬ÖÑ¢wË#_ÇcV•u»ÎÓì2¬Î¾4^Ë@& ÐñhÁI” -hËs\3Ì;Ö�ŠW^öÒªJ¿„Ý´Xv÷Â#±—•EݤE{¹Î=ØïPfe~>ç*þ@)ÏVyÑ�{ÉãYY³*‹pTåŸÖ«Ê)Þýº©òEgF›+Žy�.|Dk ²§dpJ8W`Ì39‰S�$±¬»#ø·û`¹½Ê[.ƒ°Ýê«6=×AõþJêÅêßÔBy…„…³o]<‘„©¡ˆ[›@ÐñªÄ·³.,ïšF#8\ìñ Dš­}rC”5�دØê-Dá»-‘ØN$ÏßýÁ·‚!4ã>V%=Ø…–ð)onx=çÎgÒë¼q–ÅãlŒØ>ÝŽžJ!Xµ3zF›zLxÂ’$RÛ…·ƒþ -¼�èIŽAbÔãBÊb6HΙ£ÕàÑLqgP‰TÍ”!ËÑ_ò⢹šg…°º�3µÉ)ÞpÃ×9Œ@ŒÆ¿®ëÖ–ÏòÖ-YŸªf„Ó�{ÿ0â•Ö³1Áï.ÁÉ]a(œàr‚4†Vp!øt+: >XO3æ@+Bb PËtuÀíN3šFuÜŒúT[_ŸåÕÐŒ¶�§.×U–×»ôº7{C½p‹ -ÃN×ëaðA¯T¢h±»ŸÀ7ÙýjåðOnÀ%’ù^œ7gWõýz�Du\­=ª¯ËUá¢8üœû‚Õïh—Î…ÿ³ æÎæ i樀—]êÆ™¯Aذ@ñ¹g]¾¯Ã•.Ë;¨"l…,�� ƶªÁV›Ç¢¯y|j�BSoÕý?îûjrhÁ€Ö:™î‡Á{� 'Š©ƒó£kƒd¢ £­5ÖÕ\˜8»× &õ‚áçmЋm7Á3ÚºÎ×ò›׫ñvizvªràè8'«ú@ø jKÑ€Z -¡>pâ°Â—^âË5ŽzžFu\Ï}ªÖ³coU´mŽßH›´­�æœÆk -ηKÿ{?c¨?ã_3]ÿûÃ�×ì^¸ƒ¾`”â�R*’®/iÖUñ –„Ybh‚¸i.xQí”fgCÂ�‡˜@câ Ål†B?)2¥®*AR®\‹,$òꈙ ‹&ÁD‚¹3»æ)ÙÈç®$*EW¡ «ˆ•­(Ä-Š¢²ZÀÔQÈjD/%‡dݼä.QX�Tâ(D-'Rò!Ñ›Ê�åò.eNa%þúÁ”9²E;0 \×yP±›A¹é…AHnBEaú 4R�þÚ~ ¢ø.\ÚzjÝM3Žˆ¹€ÊûµÉ&änAMwk]Ô«‹"o­1››ø2­FJ#7éSönm4`À€~wÅŒstgWõ( ÚO=‰ ÓgâF žl$�¼�˜˜�Š|p¹/ ûÖ>DôJ«oð#6dºä²-4u½V±A¬ÚŠQ #uÅ—€jMîþy'p{%š©ÝãNÆ�j8îé¦ÂøÓ¥¨Íx?>¯ºf¾QºdÖ ÃˆJ çr±RsõˆÃcçM·<ÊüX=d~lžæÇOóã§ùñãÌ�ß¾}þ§N�õ#L�9+%›\6ïÛ&ÎáÖe‚ÌQ™X#¿=AžHt´ký¿N�™ÞÑ|í/�¡œÚ铯áƒQ¸ú£cL�9Õ ö€òD¢ãVÔ#zœùñþÜ µpƒp²Vƒ÷ZeÆú²ìócær‰Ö O#;ªÖÙ§ ò£O�÷VåÀ†´äÓÿÂz |ð´wܰ£L�™NˆíFAßš O$<î}ÂÿÎyv‡ª85Ó'ˆÂU+gˆæ(d'yEå&È©Žë¹Oõq'Èû?c¨?€6½ˆ™ßUåC<EˆeûþKÜ?MË?ƒ -endstream -endobj -567 0 obj << -/Type /Page -/Contents 568 0 R -/Resources 566 0 R -/MediaBox [0 0 612 792] -/Parent 572 0 R -/Annots [ 564 0 R 565 0 R ] ->> endobj -564 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 591.693 111.003 602.572] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000010) >> ->> endobj -565 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 265.449 111.003 276.328] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000008) >> ->> endobj -569 0 obj << -/D [567 0 R /XYZ 72 686.127 null] ->> endobj -570 0 obj << -/D [567 0 R /XYZ 72 565.84 null] ->> endobj -375 0 obj << -/D [567 0 R /XYZ 72 417.944 null] ->> endobj -102 0 obj << -/D [567 0 R /XYZ 72 403.374 null] ->> endobj -571 0 obj << -/D [567 0 R /XYZ 72 239.596 null] ->> endobj -566 0 obj << -/Font << /F46 237 0 R /F47 238 0 R /F13 312 0 R /F14 318 0 R /F59 309 0 R /F73 498 0 R /F11 313 0 R /F76 529 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -577 0 obj << -/Length 1709 -/Filter /FlateDecode ->> -stream -xÚíZYoÜ6~ß_¡G-P1¼�‡HÚ"u� @’²–k °%G‡Óô×w(R²´Ö®÷0Ð>øI\i.Î g>GWŽÞ,0ÂŒ0aÄ”äžRhM¢ ->oùtþfñýÅâÕ¼2ÈH*£‹u¤h$µAŠðèb}ˆ"Ë„ -Û*­ÛjItlÿÊÊ•E×þýY~cýêÜ®­'(2»ütñv�O2.ú�0"…ˆ‰œHûébñyA`‰#âíÈPe·‹Ÿp´‚÷o�<££/ÕmÄ¥†çMôûâ·£ã¨pK÷fì‚0æ‘”¼rn›¶*êé&êFìD#…M”À3êÙ‹²šèÞPœq`QÂ)"Bñ@ð‚B0Æñý’ò¸ÌWÆã«u'uâ Â4’ZG»}°]^¢Èh3øé±''H*¢0Ò8¸‚ßÛ¬™Q+"R>‹Z)aÿ|ªvUÎ)UñŽòt¥š"ÎÙT餷ˆËÕcÍÔiìÈOÖL1ï2e¢9]ßÿíÃü ¼L §ã¼è¼ðêL�Ï0Hp -*:Ö[|ã‰66ˆ”T=Ѽ BΞæ~‹$Êæ§j‹:¿*lÈÈl©âë´ò\PS¸„† \Ái3(Ð?läjÝ\. ŽoêY+ ÂFŸnÅKÀÔ ®¨«%Åq6ëW°VÚ‘0HrA\� ȱ—=Œ÷jV¶næ|BÐ d ™¬�B•(†°QB9pÏôæÌ% C~#£˜²¡rG I¬ýÓSM„ -¤!É’•îìèƽ;MP=ÊÊÿvgº[ÜUåªÍÂ�/yZͺleÙ6wmS#§ –HCè]½”4˜÷p`H/œQㅻŠœ1t×ä·ù?.@î[Súg–ÞdíMÚXÿÓ+îè[§×¿MƒÀ4ðæ·-ÁuüciëMÎíž„¯ku´+çvW{¥iV•u0Ŧٵ_]~m¬÷ƒRa `ú¬“^l¹'kØÐµõ‹¼€MûeZUé×°,V~«¬,ê&-mm�nå%jøn×K*\^Ó,·EÿݹÝ=½ñA«·×­:{G‚F¦ ‰MRÅ?¤EàŸÛÚF=ŽñûÇÓã°&/®€ŒR‡aä¸5 ;…—+Û!ð"&ñY[dM^ž¦²ŸÛ¼raw„w•Mú -$ÔïÄùŸ|¦ P¨XÒÇUq’ :È@Ã茜nuˆWÛ½YÁÙ`ç(šð¾�¼#I½[�¦ß›,B2Àª ¿?Ÿ i=uvç 8Ê}rÁòqz  „åZ­�ÝâüÍ&x…xR…œ¥€Ò\L:DºTã´33¸äõû?6@ì.¬ÆðÂA‚¥x8Hï8K«ôÖ6“xÞŠy›_7Q/k™Q;Q/@WAÙ€5ž“c"•‹ÒØ!¨}ÐGpG±q#�áNCšš³Ì ;ápð±J§ \¨®KO”þl‹«¾ÕôÙŠÐL³Ê ÿtçÅÕÈä—¶©|ié$ Ø‹>Á¾›9”€øù��ßzYD¢ÇÎ�p šÝáÞ˜f�ë=œŸE§ñû,‚¾­µ>1‹àâ‰,áJŒŠÚÖ4:Në|�µþÚÞ^ÚjšF›ÉSC•Ìl½+®›7�‹ÃBpÍ8:®§ñwqe†A-Þ½¸;²=ª®»TEx’‡kÀM½5®Gi��êXë»®H.¬p!ñ0‘°ÙÎÝÞ£õ’'8;DŠoàθËeBâ¯ÍЯ·2tn÷Íå£{5Æ'ö…o}»¯=IhòWá_uMÞ½$² ‘ömÜ zhã‰G²É]-&hkÔág�À¡‘œ$°cfúèü?�ݧ¿†j‘:µ9ºÙÓi¸4ô—O¦à.¹õ§xö L¿pTØîü±¨ý¯Çåm„ïv†ù`s§‘vL�ÇA'òûPK�´:97€;@&fz¯Ÿ�óqZçã<Öºwœ�yyÑ_qÜ‹´Ir’¶«kàÛÿƒ·1�°Ku<‚9‚ÿÀÉ1cõàà?Ó™Á1Þ>84¢ -Ì—'Ï�9é$õC†]ccö:ÝИ˜‰Îí3ã@x¢J72Æz¢ò‰‰1VÏ —bh‚FNô†y1õáíÆdÛÀ–œ==0–J?90¦Jí10¦”Ì�HñîQ­›’=50¦Jî?0ž[?i…Þs`,Ô>c� S‡Ú‘0‡_é—�ñËÀøe`ü20~ÿÆtçx! Wöÿ¨ð/0äá -endstream -endobj -576 0 obj << -/Type /Page -/Contents 577 0 R -/Resources 575 0 R -/MediaBox [0 0 612 792] -/Parent 572 0 R -/Annots [ 573 0 R 574 0 R ] ->> endobj -573 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 480.404 111.003 491.284] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000012) >> ->> endobj -574 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 154.16 111.003 165.04] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000013) >> ->> endobj -578 0 obj << -/D [576 0 R /XYZ 72 686.127 null] ->> endobj -377 0 obj << -/D [576 0 R /XYZ 72 632.899 null] ->> endobj -106 0 obj << -/D [576 0 R /XYZ 72 618.329 null] ->> endobj -579 0 obj << -/D [576 0 R /XYZ 72 454.551 null] ->> endobj -376 0 obj << -/D [576 0 R /XYZ 72 306.655 null] ->> endobj -110 0 obj << -/D [576 0 R /XYZ 72 292.085 null] ->> endobj -575 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F47 238 0 R /F76 529 0 R /F14 318 0 R /F13 312 0 R /F73 498 0 R /F11 313 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -583 0 obj << -/Length 1906 -/Filter /FlateDecode ->> -stream -xÚíZKoÛF¾ûWðHÕfß�C ôÚ"uŒ^’´ )Ú`“I¹M}gTH™bDR rȉ+rw¾Ù™ÙÙ™ÏÆÑm„£‹3Œ0#LE1%¹„§Z“¨‚Ï>]^œýtuöì^d$•ÑÕM¤h$µAŠðèj½Ž"ÉŠ -çUZo«„è8ÿ;+×9zçߟoîr?ºÌor?¡ÈòäíÕ‹3¼H¹èõŠ)DLTOÚó«³÷g†8"^_� ÕQvöú-ŽÖðþ…•gtô�›uq©áy½:ûã£R;娰Cû¦k‚0æ‘”¬ò2¡oì–I\÷÷; -±ÿõÉ~„pöÛ(%(Ûíé”ë1&’œ!f‘³ 2BÎpŠu G˜@ØÉRˆ€k�åîò™ª·i"UÌåª *Â0ì�þš·Mˆ×ò&Äsš…7� qž5eåo -ÿ¼þÐä5J qüÛ¶nÂ[ÚÏÎ é¢J‚( žÃûÁOé)¦�âº�ð½—Å(zj V`”ϰF? -¬9?ˆ-÷1ĬQä‚„ À�Œ#e¨·ÞãhÍC¢.êïÛûë¼êÑ~èÔå¶ÊlÐöêdõúna6-pë²õÞ¯X"mÔø(C†v+…{…ªHRŠ83ÞÀ·7Íõ]}ر³`‡ýÚ…}Yn -›ÅáœÓ¸)í“Å<rÞYÍínOðŒÙÀ)çÈhÒÎat@б)R\´;宓‰?4 ‰s¯eZUéÿÍF¤}õPå«,½Ë¶wi“¯ý·¬,ê&-šÚO¹NëöKYøWͻܿØIdA"…tø°mZAùMB…U›®¬ÞÑJ*$¥ˆV.dCºÍ69€�‚©®ìÇ0¬–FÏ?ËÖ»3 G°›Å÷£-L„ш0oººJ˜Š³ƒ‡`&îà)èâþèýÞÍmþ\Ôþ—=3\{QBdŒùyº¶=GÙåŒÏ/„®÷ŽÖðÔK !ÈùÖP¨*É:‡Šâ ›ç¡»¹‹z´Ÿ­z›"m6e¨†Öi“† -(¡8ÞºDÿ¨ÿ'o£ï? ŸÌ|÷O^>±%\#,•·ìeÞl«b¸Ø÷ŒF -È™°œ…ê¢(‹Ð3õ°÷€Wî 8³+nÃDïZ4?ÜÛšz“rž2—ê@�1�¤V× €MÃn"³³ÏSKN\}ƵBZSðG(‰`%CÐÏ�VJØ?ïîË!Peì$ ÍœÓ>èCeKÀrý™bˆ7}12ÅܶÉ}äºÎ½‹ß`�“— -rã« Õméáš‘[¨&¾ó“ö6‡”Ü50ÂEPtë’!Ipo3¬ÚYÛ¢ÞÜyˆÆ,Qñ»´(‹„vý¤.ê) ¿�b«Å:³»zP ­§œ¥„ê*q@°5;KÀ¥ 14+èAùT=V â[ºá“ã1ú°L{µìÛ„ Ö©_é媽µR rvÔÞ¡¡T¾8·±ÖVµ,’È(¦ƒl  I´ýk ®HCº\ufi§Ç`/e�³¿ ªr½ÍÂ�6m#•H¸É¶Í®…mm©]ª”4ð5&„�V8£Æ ·ƒ�pÆ@ÐC³¹ßüçªcøæšxîêiÿÓ»ù[‹ëߦA`Önîs”¬àŠˆ)ózåaKÂW„!9Ï5åÐîjšfUYU<ýaG–æð–c�) dÕ^Ô¹2Aß"ØAèì0t nX¬ý ¸FmÛáÕ¹UÃŽ¼DÝë&|Ë�JÿôÊÔ@×è oGPGµ] Àý¨âŸÓ"¬Ÿ·®ïñJ=«é÷�÷º˜r½)na¥–Ñ,×V -%a§ðr�;¬ˆI|¾-²P,Áœ*¿ÝTÖívb·' S|ÃæÄùŸC '…,€%=¢Y¤Ÿl9'Iñ-§U+ôìx“îúD7Å·“vN»7ï„`€‘s¿?Ÿ–®Õz ÊږŸ†Ú+®ì-k)d7¸¼Ø§²ÁŸT!¡wšõ‰ã§�ªÒ8uj“¼zõœ#²Çj�UjP g ΔjyÈÏJÃYF\Í®–—-w½#ö‚'!�ÅÈ`úiÒx&è`«ÔýZIc"G:®éÖè,'d>½¸p½�"(vm¾:m̰FpAÏD£.êihãéêõýËÕøòq¿.[ïüJµýÛ;mL ´FEσôkömüÅiãÉ®ìŰ]ÍÅ|6qáz¤†ÆÑœ„6¦¦µ<Ž7ž <| ºÀŸ‡8ž®nßU°œÌwô’ÕÞÍJ\.NBSa�hYÂQÒx&ê°�»¨_–4ž¾�¾÷„/¸g{úú‰´1tJHSö•ÐÆ|"m¬]ݪ[N+'J²` -1FË“ÀÚ¸;Bó“€:Ú˜õA?E³S {Ú˜ö‘SÛw>þÛ§ŽõaêXpz u¬Ž ŽÙQÔ±™ÅÚš#¨c:�;Ö˵ãŽÙ±Ü±œÅ ò�;ãŽm%j¯"¿î)‹|�d�T 9�Lý_Ãÿ´Kj- -endstream -endobj -582 0 obj << -/Type /Page -/Contents 583 0 R -/Resources 581 0 R -/MediaBox [0 0 612 792] -/Parent 572 0 R -/Annots [ 580 0 R ] ->> endobj -580 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 367.478 111.003 378.357] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000011) >> ->> endobj -584 0 obj << -/D [582 0 R /XYZ 72 686.127 null] ->> endobj -585 0 obj << -/D [582 0 R /XYZ 72 667.868 null] ->> endobj -378 0 obj << -/D [582 0 R /XYZ 72 519.972 null] ->> endobj -114 0 obj << -/D [582 0 R /XYZ 72 505.402 null] ->> endobj -586 0 obj << -/D [582 0 R /XYZ 72 341.624 null] ->> endobj -391 0 obj << -/D [582 0 R /XYZ 72 193.729 null] ->> endobj -118 0 obj << -/D [582 0 R /XYZ 72 179.158 null] ->> endobj -581 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F73 498 0 R /F47 238 0 R /F11 313 0 R /F14 318 0 R /F76 529 0 R /F13 312 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -591 0 obj << -/Length 1839 -/Filter /FlateDecode ->> -stream -xÚíZYoÛF~ׯà# T›½wùÐéáA[¤©HÒ‚¦h›€M:$å$ýõ�=Èr%J¶(5 -?qIí;ßì\6Ž®"½X`„a*ˆ)É%<¥ÐšD ü¼ã§×/ߟ/ž�Á§¥’Êèü2R4’:EŠðè|½�"É’ -MÖ®›„è¸ø+¯WºvßÏʛ­^—…ÛPåEòþüå¥\ôvɈ"&:àöÓùâÂÀGÄé+PJu”ß.Þ¾ÇÑ -¾¿4üR}´»n#.5!"ößêõݺkÝ:óÜ2Ï¥¼-P²d˜Ä?ÖE»›Ç‹³wXÀg°Ð³3Â"‰RÅ´9#‰”E I"݉þtÛ‚S ¤¥Š–£]8’é÷ÊæMÝúu‘å×îÄŸûÃÖ—þ×Ö"$t—„ T'¦¬àô°O¿¦É>ûeµr‹­Ãj°i]µ]b6uîC[X•´ ϼ.. ™!Ïˢ귰èþ …{ñºÃÊë>0¢Vw÷aݘ ŽYüCVy -ÿóº-¼Æ—ÖO€ÔÝ•¢WhUVWÖ 84ܸH2“îØf±*ìíJ–Bêøl]å]YWø°.ã æí®)–½��I†]FËÑ=„÷ >‚œr…x9vz€©Ø„cp”jÚïat‚�]Âåþ¦ðZ:{›•ÅÔjµvž`·dÖ²öLžÊb˜;�ý7ç ÞÖë¨Tˆ¦Ó^kÛUP¶l„1AÊ. $mKÀ“*$´r¬_[|ll7¹ç¦i(ØF÷¶yþæ�� I…Yš‡!éˆtÉÐr¸X)îå¿J(f·Eg1‰§µ˜°ùëf”"„{£¬"HP6DÚSÒ#’¦‘à°�‘}<`·Û±°A^±‘åX [^�Úˆv–3niLš�*æ - �&B! Ë@èÏEuÕù,jƒŽÉ². ÁÊ…=Ÿ{ཬÜÓ\‹ ºÇ¿¬!ºkIÆÒxŠN{ÇúnâV*ðša÷Ž3„èm#p4Fù +„è9ct¾÷G'¦ˆ(u¤÷@�¢HF‘êë„û½î3Oê´ûŒ¥þº¾½(šÐ}6�¦­×M^´ûp=X½ª¡ÞÐóq=ŽÞáŠ9”0zÿ(ÄK²V -÷’*P#Nœ}¯.»‹›v7®³¤NÃ:’úª.+½á~S[³@u<™Ã¹¹Â�ȽäÁ Îáâ38(w‘,IüÙ”…Ó²OÝð›­AàÓ¸F±¹œÐ!ß·nKŸå Uå>¹,ŽÌs¤}úvŒþMßK—ð!ßK)„?ÎìÓWàP$Cj)Óù7à8z{xJ‘ âè¼hÚ$žJD°÷ƶI˜Šó�—`¦àÉ[~î‚Ql»s7£uo¶œ"\Ÿ"]�¾éÃÕ  2äÐÈ̆úHzµÆÐ [D�94ƒâ«‘Uáj‰iœçI�Æy,õÑ8õÊ*sÍ�ý�u™¯ˆŠãµ —@·ÿƒ�â§\Ã3ÿÃé§kukÜ 2Œá€\"ÌÒ¾éÖMõ¨N„h¤°i”4�3G^Õ•ŸâìmDä! !1Ž¢†¡2¯�!06U ô%uiºd†!¯N¸ÓH -1 ú󽡨ôLé`ŸmK¨%dS¦ÒÜ›BÜCQ4!V2ºŸBª„àEÒPªžlË'àvçñB5EëPè]cjÀzµ-™bã$ê’)†t˜ÊPrfZÎûOÔÁl¦RÉ’KaÙ7)jÜ;3Xò¡ô€ªâ·iã„Pmò4#B…vTŸLq‚üMéPŬ«¶¼ª -ï‘y¢â묙(�Ü­¶ë£@òe¿ÇT� ´f7í¤) �ÎÒB�µØ¡‰1…Ô…ä �1ßa×”©CõX2Aðê«ôaC‘Úg˜M›@g7*d ÖF Z*†°©ð(*ïx»G ÀCÓjf›âQPN@'Z*75yj˜ÃËDzïä·Æ–&µõD?•B:Õ6rJ*žFÍ_ï¨z›îiÔü4jþŽšéÜY³ü³f -GåœÌ.´�¤·�%Q­N2k¦�oµâÏšg -�쳡_Û¬™Ñ=mÚáVÑrS/Íöžãè�÷`¸pÐI�bÖL±a�5Ï:í=#¡§™4®]ˆ -�+(g£z½E•(mK¶LšIÊ4��5Ï; k öiÖüÅgÍCø°¡ætþß`�¤ww@JèÉIfÍD¦H÷C£‡fÍ3O_ƒ±àÿfÖ|¸º!T@ŽÕüYã‘ôjaQ�dÖl,/0Ĭy¦ÔiœÇR¿ì¬ùðc„ø¹"ó‹˜ô}5òÁP„hrè?×ýèzF8 -endstream -endobj -590 0 obj << -/Type /Page -/Contents 591 0 R -/Resources 589 0 R -/MediaBox [0 0 612 792] -/Parent 572 0 R -/Annots [ 587 0 R 588 0 R ] ->> endobj -587 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 591.693 111.003 602.572] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000015) >> ->> endobj -588 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 265.449 111.003 276.328] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000016) >> ->> endobj -592 0 obj << -/D [590 0 R /XYZ 72 686.127 null] ->> endobj -593 0 obj << -/D [590 0 R /XYZ 72 565.84 null] ->> endobj -395 0 obj << -/D [590 0 R /XYZ 72 417.944 null] ->> endobj -122 0 obj << -/D [590 0 R /XYZ 72 403.374 null] ->> endobj -594 0 obj << -/D [590 0 R /XYZ 72 239.596 null] ->> endobj -589 0 obj << -/Font << /F46 237 0 R /F47 238 0 R /F13 312 0 R /F14 318 0 R /F59 309 0 R /F73 498 0 R /F11 313 0 R /F76 529 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -599 0 obj << -/Length 1921 -/Filter /FlateDecode ->> -stream -xÚíZKoÛF¾ëWðHåfß�C ¤ml h‹Ô1‚IZÐÒÊ`“.)9I}g¤H‰R$Ê@zè‰ËåÎcgfgf? '· N.'aF˜J0bJr O)´&IŸ÷|ººœüx=yqSIer½HM¤6Hž\Ï“÷©@dšQ�S[åõºš�Ú¿fåÜ¢»0±¼·ate6,(fvúñúõŸ¥\ò>cD -‘Óãöêzò÷„À'$è+�¡:™=LÞÄÉæ_;~F'Ÿüª‡„K Ïûäíä÷�R­rT¸¡{D‹ÓµAóDJŒŒ‰V¹²«uUÔýMÆ'TuȉF -›$ƒ'f4�e Ô“½%8# -üÀ’ŒSD„ný�àUN3‚1NŸ¦”§år`<½]x®=¦‘Ô*‘Øíƒ²EF›ÖN»– œ ©$°ÂHã&@žìl5 V2ÐR<‹X)aÿ¼/v^ UqÁžE¨¦ˆsÚúá-Òr¾+™:‰~ùÙ’)æîLô%×µ .þ€žf\ªtYx ¼¸PÝóË’Ü»'»·ÅwaÑÖæ�ßÄEÃŒEŒÐfÍÓN”!†U³j]ÔËÛÂÆhœMUz—W� -òɆJhБêl@ò›%·‹ÕÍ”àô¾T lä(%TW‰=Š€%¨i-QWSŠÓÙ YAÊOÕ#cßÒ§‚ŒGéÃZ1s[¯†lBÐf  é媭•)†0DF9P™@tyáb�F�áP!£˜Ž¼]€2$IÔöϰªÇT -ìn³J{=|­xr GY…wwœýà±*çëY|ù´\Å*¦ S*"]˜+׫ÇõªFN6¨.‘†Sæ’¦¤ñÔ¼›BZ1”D10؈�—òqµ|Xþã]¯«Ò=i:Ëïgëû|eÃôŽ -Žrí4ã[Ú¢ùîÝ¢›�Øðu‡QÔ½eD½îa¢ ”Œc–þ”‘"~^×6j¼ðq¤¡Ù±�BóeqëÍ€û‡è„ÀÉL†m»ÁÜúöhš ©Ó‹u1[-Ë"|ªìßëeå‚Á½=V6‹1æLÒ®rú{Žá!rå�%ßÍ ½ÀàPiÚ¼Åè?:…‹«A­`o7r> õZ‡HðKroY¿§Hå}Â˜Ø ÷1ÄB4A<Ô -roßèMÔAØ ´Õ’¹ÚìºL?¸ºÜîvÁŸT!íQlëœ| {ToÇ]-oëØÛ·¯8"[�ï¡þŽ3 çp¶R<ž©7®¡Ë«üÁ®\3MÒaE†lÝ¡�VD씡Ý”µýÉsÒ#bLÂ( �Ò°:ø»Ó")Ö­€`1ìy1¤©i{��ŽP¸Þy¬Ð~#/”wÙú‹-n›åóŽ»)…œ4På–Exº³ãÒ$øô×uS¿ éõÚ:+ÓÄÖn¼]ð}à Yz×�AM<Ý -}ï9æl|ôœG¢Ê»ÖúÌèÁþá�áJtÛÞð'u8|ºR[?ÜØª>ÛAS—ëjfëC~=Y½¾_\ËW’Ñ~=�Þû•iøðà®aÈ~¯R¸S•plàI6÷†ûz¯_GIöjWê›®Tέp�òm #l°Œsw„�(¿ä«Eœ�Â%qPîfš‘ôË -Ú´lª7|ómLuÚ”•/ç„¶%¿KšB見0 -=L´YäH› -m*xj>”|éî"Ýšß-îƒGàTOöØ3=:þÏ#ᯠ¢à©s‹¢Ã¹˜æHÃ=¢¹­2—Ͻ'`œàÁ3Ðü2^:‰í1‹:¼ùv¾MoM}l/t{Ü|²º}O9¦ãûŸ3郫¥FZ�Ûÿ83€9€'¦ ûyœÔa?w¥íg§Þ²ÈÃ5ÇOä«<¶CQYû<°ºCþ?y}ÿ¹Tã;˜ô'¢ÌŒqÔ4ßdV'‚Ì:¡ -Ô—çcÌÊsjpyb–Ï!4"Ì]¡fþ"=¾Ìz"¿/³g�ÐeÚ“›»{æÓç>À¬÷Ì‚ÓcfuÀÌŽ˜Í(l×0Óf}¾‡fv,Â,G!Ì‚ü�0B˜ëåçq°²h@VA»¼û°²ˆø%<»°2�D¹,YD,Y,Ö4X2ôÐKî�±FÜœcÇݽ56²hAXÑ‚°‚Æf  ƒç…F� od#"‚ sa‹0³�ýtÀŒaÞK�™AÌæ½ÍaÝ3†É¨.LGua.03v̘7˜±£ˆŸ#f 33vl[ÌØ+ü5̘R7 -ƒ3f˜u0c÷iƒ»·îe¬]Àz~yЩŒ™Bô[ÁÅN©æ§Ýõ¥Ó9ºÝ- ·H¿£H܃ n|OM»ëCá°B‡J¨Üº;þ§@â—ïþ8øgh¸ “"§þ™á_ïìç+ -endstream -endobj -598 0 obj << -/Type /Page -/Contents 599 0 R -/Resources 597 0 R -/MediaBox [0 0 612 792] -/Parent 572 0 R -/Annots [ 595 0 R 596 0 R ] ->> endobj -595 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 480.404 111.003 491.284] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000014) >> ->> endobj -596 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 154.16 111.003 165.04] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000018) >> ->> endobj -600 0 obj << -/D [598 0 R /XYZ 72 686.127 null] ->> endobj -379 0 obj << -/D [598 0 R /XYZ 72 632.899 null] ->> endobj -126 0 obj << -/D [598 0 R /XYZ 72 618.329 null] ->> endobj -601 0 obj << -/D [598 0 R /XYZ 72 454.551 null] ->> endobj -392 0 obj << -/D [598 0 R /XYZ 72 306.655 null] ->> endobj -130 0 obj << -/D [598 0 R /XYZ 72 292.085 null] ->> endobj -597 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F47 238 0 R /F76 529 0 R /F14 318 0 R /F13 312 0 R /F73 498 0 R /F11 313 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -605 0 obj << -/Length 1934 -/Filter /FlateDecode ->> -stream -xÚíZYoÛF~ׯà#”›½�‡HÚ"u� @’´D;lÒ%©ýõ�=H“2%‹¤ä!O¤–»óÍÎÌÎÎ|6Žn"�/0ÂŒ0aÄ”äžRhM¢>ïùtq¾øñrñì † 2’Êèò:R4’Ú Ext¹Ž^Ç‘eB޳2­¶å’è8ûgU¬3ôÎ�Ÿmn3ÿv‘]g~B¾Ê–o/_,ð,å¢× #Rˆ˜âž´_.ÿ.¼âˆx}2TG«»Åë·8ZÃø +Ïè胛uq©áyý¹øãA©V9*ì«}‹ÓµAóHJŒŒ Vy¹¤ÕY…–„8þm[ÕaÔ…ö³3Bº¨’ Ѝçð~ðSzŠ)¤¸n&|ïe‰C€å¬Ñ�+FN¢YË} 1k93† !(p'ãHê­÷þ`MC¢.êïÛ»«¬ìÑnèTŶ\Ù ÙïÕÑêõÝÂl6šáÖyë½_±DÚ¨Ã[  ²ß­îª"I)âÌxß\×W·Õ~ÇN‚ököe±Ém‡sN㺰OËpÈyg5·G¸9Áo0f§œ#£I3‡Ñ)ö��‘â¢Ý)wµLHü©^’8óZ¦e™~òßlDÚ¡û2KVéíj{›ÖÙÚ[yU§y]ù)WiÕ|)r?T¿Ëü@+‘‰Òáý¶ne×K*¬Ú4±zG‰THJ%.dCº]m2;tƺ²ðZ=ý Ì[ï΀0Ánfß�¶0F#¼éªrÉT¼Ú{&âž‚.îsï÷nn»÷ç¢ò¿ìÁxÈpÍE ‘qÈÏãµí9Ê.g|z!4s½w´†§ž[Aηæ€BU©pHÖT{Ý< uØÍ]Ô£ýlÕÛäi½)B5´Në4T@KŠã­KPðôÿèmôý§á“™îþÑËG¶‚k„¥ò–½Èêm™÷»žÑHa9–³P]äEz¦öpBà‚3›p&ºmÑ�µ3ÜÛšz“bž2 —ê@�1 ]�¸ÔÁ4Lá&2­}[‚p‚$' J!­‚)ä{(‰`%³ùæ¨R"BLu] a*ƒ¸›9‚™cݽ/mX¬#SlƒD�™b¸ -�ì#§¶í|ÿ‘z7¿Á/. $åÚWªÛÖ3xåmÙÅw~ÒΡÖn{”aA„" -*tj“!IpwSÚV0Û¼ÚÜäYˆÈÕRÅïÒr 4`)­×F=àËfŽ-—ОÝVƒZð€™¤…îj±Gk -Ѫ 77¤ÅÕ»¦Æê‘0Iü‘„ yŒ>¬-P›ûe×&±N+H/aí$ªD1HpPÝQ{‘†zùüÌ[SÚ²H"£˜²1#C’mÿ(nÒ�3“Î,íôl¨ì¡ö·TY¬·«ðãÃ¦éæ«ÍÇp›më¶}m}©]º”4p6¯àÀ�Ù¤‘M»²I\Ü×›»ÍÎ?ðÓ߇$nkj¿$àÂô­…õïi‘ú9 'C¾–þ¹Èª�…ûÍȰFÜ̱ãã½5®Ê¢ -ï BÑágûš€¸~À’ð¼Ø‰ÁÐPÛ~�§ùÚ�ù-ÂHÓw„áÌiãFºí„ïü¸³9Ìóºg~0¨ ÃA]ó‚„o_Ü@ ç,þ)ÍÊðyë;rí‚ÀŠu´fÖ(¼Þä7nç¸ßÒd¹åÛæ«P-Á§2ûw»)�ÓáW·)k§8å­8ÿê8)ƒlwD¯HŸì8GIñ§U*˜Þ:¾´:·Û)¾›t; -«¼;àÅG‚}ñ¾§¦Ýµ�!X¡P% F/ÆÇÚ)­ì%k d÷rq¾Kdƒ©BB·å™uˆc§�ªÑ¸½”Û[àù«¿è£}¨Jƒò×h§*ü¬”1ƒ«Ž«É•ò¼å®Ob�j$¢SÆŒbd0}š0ž:Ø&õ@¿V˜ÑÝÖxkôƒ–2�Zœ¹ÞGæ.Y�‚2¶×(thGPÆQ‡Ã¨‹zÊx¼z}¿Àruxùa¿Î[ïüJµý»;eL ô~FEOƒôköeüÅ)ãÑ®ìŰ]ÍÅt&qæz¤FÔ˜“PÆÀ´–ÇqÆ�‡�Aøó�ÆãÕí» -–“鎞³Ú»Yd¸8 aL…A¢aÆQ‡}ÜEý²„ñømô½'|Á=Ùûã×�¤Œ)…óCÙWB›ʘ琉¡—²u«fl6e õ™%{š2†»â°–3†ÞƒÝÏÃUs -PËsÚ}‚3Óg"S¨Ú,×C®ªÌ»¸¡‹Õ>ºX ùÐ|ì§‹•OÒÅPA3> endobj -602 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 367.478 111.003 378.357] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000019) >> ->> endobj -606 0 obj << -/D [604 0 R /XYZ 72 686.127 null] ->> endobj -607 0 obj << -/D [604 0 R /XYZ 72 667.868 null] ->> endobj -396 0 obj << -/D [604 0 R /XYZ 72 519.972 null] ->> endobj -134 0 obj << -/D [604 0 R /XYZ 72 505.402 null] ->> endobj -608 0 obj << -/D [604 0 R /XYZ 72 341.624 null] ->> endobj -380 0 obj << -/D [604 0 R /XYZ 72 193.729 null] ->> endobj -138 0 obj << -/D [604 0 R /XYZ 72 179.158 null] ->> endobj -603 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F73 498 0 R /F47 238 0 R /F11 313 0 R /F14 318 0 R /F76 529 0 R /F13 312 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -612 0 obj << -/Length 2168 -/Filter /FlateDecode ->> -stream -xÚ½Z[�Û6~Ÿ_¡}“јá�T�h³� Åî¢Mû’f �,ÛÊØÒT—$³Aÿ{/²%‡vÆò O¢(ž Ï�ç£�£U„£—WaF˜Š0bJr O)´&Q Ÿ�|zõòêÇ›«ç×0• DRÝ,#E#©¤�nÑ›X 2›S�ã¼N›®žçdÕ"Gk7]lr7z•/s· ÌòÙÛ›_®ðEÊEoæŒH!bJFÜ~º¹úóŠÀGÄé+PBu”m¯Þ¼ÅÑæ1ü}°«¶—ž›èõÕo;6nïê`ïB#"ýÞÿ;#„ÄyÖVµÙ!‰Uk4¾¯«E—µn¶ºo‹mñÿ|á^ÛÊ=³t“u›´ÍIS|ôË»û®mÜ8õ,R·øäh»fñ?«¼9 |yý;˜[<¿&,’(QLÅÖˆ'$bHétÿŸ[6ÚŸ@Zªh>X¥�# ï­×0««Æ�ó4[»ÑíC¿­jéw½¶.î„#&t4'%B89E {†… �ÓºNÌPÄi¹psn‹0“UeÓ¦¥_ÚäV ˜·R`&«ò匊øwŒiVä¥ûÎ�Ía�Ó=w“^]˜öêœc$¬ºn¢k�;ÀꜳøEZz -ÿ¹k¬[afiƒÀ°µ‰�÷ -/ŠrewŽÇ[†$€,�UTû�Â`‘ÛÔc_weÖUé>ÕùŸ]Q[§ÃÛ}�ÏûÚ-±Êvî!}$ð�‹)Sˆ‚*V° „G‰Þ­a4ÀÅŽÎáò~“{½©a4ð¥ÑÙ»Ý,I�QÍŽ<•s \$˜�ó=Mv»v1dcŒ -…¨12øç±�ÆEÈÖ Srì -ÌAéR…„VŽß+ë[ÏšFîyh -ѽE^¿þ‰#rP©0Có0Ô"PÏ9rù#�â^…_gÔ$LºÍ[SYIV$,àðëaÙ -�'˦"HP¶+�OI�H’D‚ÃFNñ€ÕÎÉŽ…­ÚŠ ,GÀbØò‚³Šhg9�ÆT£MRÅT¡#gˆ@ ÑÐååªõÇ¢«‹xW3qü~FÄþ0ÁÏîi2¦±UÇÿîšÖÏæ>/ÉPª$ˆbÑÇØ÷�´T=» üÎñ"}n Ç(Ÿ`�q9ctz]F&ˆ(uaAç¡À¡Œ"Õ7ïO†Ñ4©á0JýO·½ÍëqOSuu–7§üz¶zc¿P í…žî×Ëè�_1‡ŽEŸÞ…ºIŽ»•B~Rê`ĉ³ïjÙÞnšã~�$5ìÖ�Ô_«¢4UòœÚ~Åty¡#œ›~ÄáK¾x„³s¸¸#Ü(w;›“ø¡�AÃç´ôg·ùfâÑL ûs˜›oý�߸%þ˜·T¥›²Ç¼™Øqdž#í[DÇh’Ï݉/’RøƒC>œçzrÁ@-e2=.£·ÀŠŸ�ÿðD"‚}46õŒ©8;š³`$øßj۽ˌƽ9øÔW¸þ¨t=úQOŸ¯îÈU† ædW_Hï\­1 ÏK[!èŒ94³m€µø"oÚã~ž&5ìç¡ÔGûÙ¨W”=Ê1i›úhFqÜÙR°ºSþ?{cÿ)‡x&ûÿ|úpÏn�;Â@†1l�K„YÒ#“¶«ËG�¢‘ ÔM äÌ‘—Ué¯gNçaLL ¨Ým¢Ð‚ �±éJŸT…s«e ̘F’&Ó ??YŠ |JvöùÜ:E ­6ÓiîM±šÍÍ}S(¾%|úrE‚4NÆr³´Ëf*^›¶ì�ÄCEÐŽžB~r!ÍGò·i[÷PÙÜ -Íæ\ȸ+›bUöàÚ*˜Ö¡æ€b -tjta±[“>s+ÆšAë‘�û;ž6À…Ð!›m� GX=†Í®+º pIÖr¿%1ÆÞi1§úŸSŽXoÔ—y™×þÂǾ½O¯gàe÷º3ü °o¥%îÖsô—I0Zö}¼½%*ÊÚ]!A£C=Šæ|/š3èÌ ð>¦Û{{ùÊýÅ–ùàºÙ f0ÿa�Û, X«µ›¼¯j_…9óü†By\4î[±NEPëg7åî»`°©ŒôÍÀç�Ëmxm&û[h"ë.k{S¥Þ˜ä¹‰ó½|ãïz?ß”î‚î]ð*”ŠLöLÿááò»g¾ëøö~v7'ùéo?Ý=Û«Çê?”6ù}·ÒÝÎC¡ñå jÖU·YŒ¥(g¼Ç|u›ÞnrtÆMR¢‡|šS ßéW¸Ib*šžŽ/¤·íÕQÆ/kŸà¨£ �hBÌÙá -ßÑÖi¢Ä`ë4”øfûñî­�ž}Õ×’uÕK ·�öGçë:r�!ÇlúUá…ôÎÁ -Ž?}¡1À)@ä;šíqÿNvïPb¸Þ©]�lÆ7ƒÃ2‘Uu�7÷Ué‹û)ÕY3*‹÷imª³ñ‰–ùìí�= -ÔR“éq½‹É`�º8å¡M£R!BØ »‡Ä4‰á˜Š ÅDVmºm9=$Nùþì}Œ�' 5ÝùçÓŸ —(…„Ãü2¸DŸ -.‘³á‘ ?áO— +JÄãàÒSÈõpi$wÐrŒÅJ0´WòR¹Öõj,÷+Á$ú40‰%˜$“ X1•8˜$N ¤¯ ‹Üß2cäõŠŸ¹Ræ{ Ìx„Žs¿!Û;tdÞB -šy�ŽÌС#Ãb‡]ÌtÏo(´ðÔ{tdȆ+~v‹ŽÌ`�ŽÿØËSž·Âctd&Rÿ!ô¯‚ó§û¯ñ¨…øUŸŠ@2($=ç“oïæwßeù}ì!•yB* ï/ª-xtóྺ¸`Œ˜·ëÊïØÆˆµÅºªçKuÄ—Êœ§þ;uù‹}Hà¿CSÈ¤Ô -endstream -endobj -611 0 obj << -/Type /Page -/Contents 612 0 R -/Resources 610 0 R -/MediaBox [0 0 612 792] -/Parent 616 0 R -/Annots [ 609 0 R ] ->> endobj -609 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 591.693 111.003 602.572] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000017) >> ->> endobj -613 0 obj << -/D [611 0 R /XYZ 72 686.127 null] ->> endobj -614 0 obj << -/D [611 0 R /XYZ 72 565.84 null] ->> endobj -532 0 obj << -/D [611 0 R /XYZ 72 417.944 null] ->> endobj -142 0 obj << -/D [611 0 R /XYZ 72 403.374 null] ->> endobj -615 0 obj << -/D [611 0 R /XYZ 72 312.543 null] ->> endobj -531 0 obj << -/D [611 0 R /XYZ 72 201.31 null] ->> endobj -146 0 obj << -/D [611 0 R /XYZ 72 186.739 null] ->> endobj -610 0 obj << -/Font << /F46 237 0 R /F47 238 0 R /F13 312 0 R /F14 318 0 R /F59 309 0 R /F73 498 0 R /F11 313 0 R /F76 529 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -619 0 obj << -/Length 1605 -/Filter /FlateDecode ->> -stream -xÚÅYIsÛ6¾ûWð(M#;�C{èLíINmêž·CK�ÅZ"].µÓNÿ{�!J•HOzDâíË÷áè!ÂÑÍF˜G±Xr «J‘¨€×G^}¸¹úþöêí5<ÒHK*£ÛMÓH*�b£Ûu´œ Dæ *ðÌIYs¢fæ·U¾6hëž_§;ãvÌÆ¸ÙÊÌïnß_áIÊEË#Rˆ¥·n¯þ¸"°Åqú -¤©ŠVû«åŽÖðü½å§UôÜœÚG\*XwÑÏW?ulœíñ�íB!"½íÎdk�Ö¨|�föŸÝÏ)žÕ•{µÎMévY^¹÷uR$YeKZ�OI‘VŸÜÃÎg©'î¹HÚMÿØ�/×ÐÙ/¥)ÊV/ÏüyN0ˆ­BÛ“õïuéÙu!x´V¿½&¤—\bD…͵Æß¹#AÒ,Ú3�·:(*ìÖ.7�vB÷9`¤µŒ”!%‰£ÿqN­íÉÞT¶¦È¬ ù®ÿ÷_ †ª&ìdÁÄ ʺ¢yMzD´Ž„¦à-}Šœvu,šz�YÏq„SD5^ î=Ÿ4Ž -L&dб"ƒh# Û@ärÿòxçz`RMêÁ¶I6X·ùnív«Üll�ÛÒ[¥&«Ê/uœ!FùeƒYòø4ùÉO¤w!VÐ̱˜b¬8°¤ÎÝûã'q8Â}‘Y½¿7…‹b¾qk‘ÛX>—îWÓ¼`í:bï¢0åSžyÜè%EY¬<á7nñš:‘ÛÈ9–ã“b½K -©šn9µîDd)¦\„�'Å8‰ÃIÑ9”«|Wï³ñ9q*øÛȱ ãƒ9ý0:5Þ È0TÕιLUÙ0êG¡kÀ_P�µ›g~=‰¼$†I—†ÛLQÝÄ‹Wè|A0†!/+Ó‡ÌØNÕl5�gÛ¤p?6IÇHq¾cØÉ - ^éÎY_º…@¹)œÒÌ»RŠQ~ù±Àóòˆ’ͰÓ½FXvãLâNBဒí@‚Î>`PÇ1Ì.1îuü2»ý&0;³7Íø?n®­ÆÔÏY,²´¶˜6‘b1$‰ÇÔ_F-óÈê�R�†m±} KsÉüß;ö“Ø MÔWÀ8¤*Óãkq"}Óˆ¡‘# -^¯1€q ¤ü¿°‘";q ò]öTWaÂm£—+ºÈ1SãCw9ý…m”Ù·2±�^§¦^ƒJ¾÷ˆU¯ü-@µMü«Ä-/ÁÁoÝò7ùgZSf¾)§�"ÇZ0£€Tà ¨˜Ô‚™@˜S` AEЃ-ô9«†Ò, ñ«(—1‘¡Ý@ÎF>Ik"ß»àj"¨‡þ ØÎ…ÇñbÄ¡X¤“gá¡ìãáùȧ5¢J6È'8ÿ -ÈG…„ïÊñÈ7‘¾A>Ê9z"ò1H -úp…ˆâ]c8}#eBß�Ìú|ŠE¾Ëu]äöìèÐM£w¡ƒª£œM ¸Z…ÞãuÛcއnœÌáÐ…2CwT—ivàê¨ïl]¾ó¿¾É¬­Ý%ë9¹q±‘al-äB�Óè]n"¨×¹P¤”!ËV gÆ(‰Ã‰Ñ—X¦™ðZ¡ŸËì’áx$/U* PKMÆòrú Ç[¢9ÌLÇ[_‚¸«¸•)ËM½{ãÝ^mÛ‹�MóBºó/> endobj -620 0 obj << -/D [618 0 R /XYZ 72 686.127 null] ->> endobj -621 0 obj << -/D [618 0 R /XYZ 72 617.267 null] ->> endobj -521 0 obj << -/D [618 0 R /XYZ 72 506.034 null] ->> endobj -150 0 obj << -/D [618 0 R /XYZ 72 491.464 null] ->> endobj -622 0 obj << -/D [618 0 R /XYZ 72 430.546 null] ->> endobj -533 0 obj << -/D [618 0 R /XYZ 72 342.337 null] ->> endobj -154 0 obj << -/D [618 0 R /XYZ 72 327.767 null] ->> endobj -623 0 obj << -/D [618 0 R /XYZ 72 268.906 null] ->> endobj -520 0 obj << -/D [618 0 R /XYZ 72 169.442 null] ->> endobj -158 0 obj << -/D [618 0 R /XYZ 72 155.701 null] ->> endobj -617 0 obj << -/Font << /F46 237 0 R /F47 238 0 R /F11 313 0 R /F59 309 0 R /F73 498 0 R /F76 529 0 R /F13 312 0 R /F14 318 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -627 0 obj << -/Length 1839 -/Filter /FlateDecode ->> -stream -xÚíZYoÜ6~÷¯Ð£È2¼�‡HÚ"u�¢@’òZ¶¬%GÒ:Í¿ïð�VZK²Wró”'rErføÍp.,Žn"��`„a*ˆ)É%ŒRhM¢–G–ÎÏN~¸8y} -Ÿ 2’Êèâ:R4’Ú Extq½�"«58Nˤڕ+¢ãôŸMq•¢[ÿý4Û¦~vž^§~C¾IW/ÞžàEÂEï׌H!bÊzÔ~¾8ùtB`Š#âåÈPmîNÞÄÑ|ké}v»î".5ŒÛè�“ß÷BµÂQa§vˆÓE„ Œy$%FÆTÞ­(�“2¹Kk{eWýûN²8\}t!þS÷¡eí�^ò<"ÆD’3$† °› #D á€S¬áQòp…¨Ö!—8 zW&xй,¹ê² -a˜öXþºÛÖÙý6Û$ù•·Ô!pg”Ï�¢�½%#ç«nÑq¯9FÅòe4Ç8R0:/Ç57�å°æº,kîrBsGKчžÙw¾@uÇŸ?Ò iæ¡9Oë]™»�Ch5RØDk1 Ⱦ+‹«Ý¦ö ×ͳðÃl7d¹ÏN?`�©eùú”°H"£˜v°DX0$Áƒ¿ý¶ž i©¢ug—ŠÄß¡‡ÁkÂI wàÖàTšØ©X­ Æ8~°>¹È¬ìØÄ7׿Ê4â€# ›ÒE¸á®µö"œ N �‚‹7Aá!@Þˆ†Ð&^„«$àxŸëU1ÄTq$åË\U)ɬÏô‚žˆ‹€µ5‹ÕšCäÏòÚë]us -fÀð8ðpg·iþÊoêó˜ˆj6 "a)š=#”(;#Í®]^e7yDݬT|›”Á†y×8áš’5§>`Ì4e{‘›ëúrEp¼­¥ÐHr³\ŠI,¼…¢*WÇ›\…Rÿ?WiUÁ€ítO¨yîîjÍ¥@�Ê­)G,øˆq·C‰M�בÏò:²ëuœO{°v ï¶(ýoûšÜäÞ;ÈWþW ¸çx+÷e–Ôi—BYeEŽ,w�Ý>¸ ix0?©%À©s²œMÜJ`¤ÀÅÍô¥Ž‡¿p¹oݼå¼)‹*H‘&›[¿åò‹» |sa¾Ô·áC–ßïš³e™|ñË><47¡ñ¦È«:ÉÇ*­ûÔ6Ez½¢ÂÚÝdi^ êÂ�^ÄÔonÄ¢^,§�ÆuÝ¸iDÕq±«AV´‚ŠÇ?&¹_¾ «»ÊY<|¹vІ‰/gÂ:Ô3Y~r[Ýøy¸ªãv%�'ºË75¨Û/•é§]Vzí¸MºÞ$ÛÍn›4[L�V{ÀLÌèÀƒã`5tàÁõ”ÎÁWÓ®û ×l±â6"´VGAÖ€ƒ&m|O<.61Þꂾ×=LkÐ:&Ø\Üfá�\ï²OÊÖHwYž†ÕÏ·IÝð¨êr×Ù -ÆÓ<³2È‘æÉå¶‘²ÍLªt �¶:�yêm†uûžëì.EUêT -b«? �jM¢¿BÈ!Œ­fç£ Ï»Z‚[ž³eµ�‚XZÖW™6­&f2¬&zLIó›ú¶Ÿò‡3 š¬×>®*¼ü_wU0 Ë4¼ar�ŸQÜåï^°BŠëfÃwž£h¼ª9�¾`ƒôôñi+ZvÞYƒºEª…½($$ÄRv<à˜Íä:lF]®¿íî.Ó²oF‡ÆS»r“Vz=^¼ž^ìq®g«uÙq¯U-à"b™VÁ› -¹ŽÖàUé>­ÞVãz�ÇwP¯=¾ï -(:œb)óÙ Œƒ±24ÃéŒXMÛt fM †©3#ˆ%ÝìÁÅ<ÊÚè]…ó!fÛS�¤�]Šô˜Ž6%µy–J!­x¶=ÉÇŒ ˜†zÎÆ@@P}Ή­ýþõ:ÍPÉÆš¡Q„zºj-ë©f(5äÉf(Û•í?u¢ý§!âÉö_‡ÿÍPƒ0çË¥o†REŸ× 5û�GÉ!Ÿ@c îÍyØ^ïe¬+Jо!þdS|§fÄ7E¹9¢+:«øŒ®èP£S,itÎjß~kt~kt~�Fg'ƒ°ÑÄþiÅMÎÏÿ<ƒáM($´j²‹˜ûG̳Rn£OÛzóç_“{�üIMŽýÛË -Oõ -endstream -endobj -626 0 obj << -/Type /Page -/Contents 627 0 R -/Resources 625 0 R -/MediaBox [0 0 612 792] -/Parent 616 0 R -/Annots [ 624 0 R ] ->> endobj -624 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 157.861 111.003 168.74] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000003) >> ->> endobj -628 0 obj << -/D [626 0 R /XYZ 72 686.127 null] ->> endobj -629 0 obj << -/D [626 0 R /XYZ 72 667.868 null] ->> endobj -387 0 obj << -/D [626 0 R /XYZ 72 567.305 null] ->> endobj -162 0 obj << -/D [626 0 R /XYZ 72 552.735 null] ->> endobj -630 0 obj << -/D [626 0 R /XYZ 72 434.341 null] ->> endobj -373 0 obj << -/D [626 0 R /XYZ 72 298.401 null] ->> endobj -166 0 obj << -/D [626 0 R /XYZ 72 283.831 null] ->> endobj -625 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F73 498 0 R /F47 238 0 R /F13 312 0 R /F76 529 0 R /F14 318 0 R /F11 313 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -634 0 obj << -/Length 1835 -/Filter /FlateDecode ->> -stream -xÚíZYoÛF~ׯà#D›½�‡HÚ"u�¢€“4E;dÒ!©´ù÷�=$seê"•´y"ÅÝ983œùö³qrŸàär‚f„©#¦$—p•Bk’Ô°¼céêròÝõäå<2ÈH*“ë»DÑDjƒáÉõ<¹I"Ó8-ê¬YÕS¢Ó⯼šè½~±Xþ+ü†2/¦ï®_Oð(ç’›#Rˆ”òHÛ�ד·8!Þ_� ÕIþ0¹y‡“9<mõ�üív=$\j¸.“ß&¿>9µqŽ -{k/!"Ât#BÆ<‘#cBTÞL)O³:{(ZûÊ$mâ÷Ýkb{õÙûáâ¿ï}À)AÙæ�Î)�ˆ1‰ä ð› #DPá§X'p„ „�.…¤ÖEnY”.TÑKVÅP£\u� -…0ÜFF*Êû6Ôkuê9ËÓ�S"Ò"o«Úÿ^”þzû©-4…"ÄéÏ«¦ O]i¿¼ ¤kUD±÷œ½oý–È1…×ë ßx]D¢çÁFù€hÄU`ÕÈáE4JÜ׳A‘#k‚‚t2Ž”¡>z÷Ñ0«ýEÔµúËêᶨã"Ú.�¦ZÕ¹-šÝY=Ù½8-Ìv£i'ïóJ4Ò‚ŽË+…ÁBU")Eœáû»övÙìÎì0»ý™íÚ}S-ÊÖ¥–²´­ü•Ñð�󎸀Àéú+~‹1ëùÒ92z³ÇÕªShÛ‰¿Ëê:ûäo]!Á,y¬‹Yž-óÕ2k‹¹_Ë«²i³²m‚|Ö¬Wª ²}¿­‘� ºØãª]+*î¦TXi¾(@ã¾=9Êq��¸lx�Ž“÷Š%âF�^5HE ŸÌ¦ž2•æ»+t˜áþ -í~òÛi=�¾hÿËUí¦­çTÀÞTŸìnœ*§Æ Oõ8y—ja8Œy12ÕÐ’!ÂÀŒfÄG|^ÀÀß•ç�V{óY}êD�œZWeÖ.ªLæY›ù;ÿÝK‘îÉòéÎFY†Aσ³<@þDd.™c¦ôUѮ겎og@#…M2ƒ+fA¼¬Êpt‰ložÈaÉŒÛrP›“¢ˆªéŒ`l¡�mÆ ×±5Œ¶žbbÐê ócçÀžQ)fŸç‘ œ In ÒŒ…ɸ¤¯‚5RžÅ(€^EY�W}F‡™"ÎbT)¤9‹�>Ö‡UóËZl?‡e°ÈÙV�3{øûøõY~‹žÎ¸PÐ{[� T÷pÍ@Rl€ ^øM±¨ -º9Jô+"PhBt1FŸ&Ê‘s«²YÜ—E(È|ªÒ÷Y݇qàsàâ9ƉP]û·Má�´lz½ÐÐZäx/vxbCÁ6êaBSœæ;âª5ÿ,Ñ€>½Ö6×Ge,”–Âó÷áU5Ô«ãõ¼ú‹U™ÄKuñaµ¨}vMtX [LðVû€™þ㇪qsþÔã“}ÍM¬¸Åk„ÆÁê$hƒ‹<_ŽM:üäºFÈþv×é CØqb Kwsu¹Mœbø&Z­qˆ�˜cC�#ÜŽŸM¯~õût‹AÝGéhm38³(®¾EÉô;=ŽwÀŸq ÚåYJÆžz˜ h´÷GFÿ¯%£{§G#.Çt8•5RÞW€­èY(JÁâÂAQ´Ú_F]«ç¡(Ow/Î ˆK5œ)ïóJ$DŸ…¢d#‚ÅQå@»ý™íÚýJQv ôä(Ç⌠ç­FÊûÅÎfâ,%Ãк9Ž¢h¸¿B»†?Eyº»qª0 #9œ¼)ïRM �AOÎBQR#œàaŠr ÕÞ> endobj -631 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 391.388 111.003 402.267] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000004) >> ->> endobj -635 0 obj << -/D [633 0 R /XYZ 72 686.127 null] ->> endobj -636 0 obj << -/D [633 0 R /XYZ 72 667.868 null] ->> endobj -388 0 obj << -/D [633 0 R /XYZ 72 531.928 null] ->> endobj -170 0 obj << -/D [633 0 R /XYZ 72 517.357 null] ->> endobj -637 0 obj << -/D [633 0 R /XYZ 72 365.534 null] ->> endobj -386 0 obj << -/D [633 0 R /XYZ 72 229.594 null] ->> endobj -174 0 obj << -/D [633 0 R /XYZ 72 215.024 null] ->> endobj -632 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F73 498 0 R /F47 238 0 R /F11 313 0 R /F14 318 0 R /F76 529 0 R /F13 312 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -642 0 obj << -/Length 2018 -/Filter /FlateDecode ->> -stream -xÚåZKsÛF ¾ûWð(M£Í¾‡t¦McO;m’Ú¾%iF¦([­D:$•Lþ}±J\™’%Ò>tzÚ%¹ `,ðNnœ\œa„a*Áˆ)É%ŒRhM’>ïùtyqöóõÙËsxe�‘T&×óDÑDjƒáÉõ,ù0ˆŽ'TàÑíüó×1Á£,­?¯ÖKtç_Ÿ/–™Ÿ]fó¬=Êò4ºþí ’-ù0a2¢"¢öæúìË�)NˆW Cu’®Î>|ÂÉ Þÿfé�|s«V —ÆeruöçV¨�pTØ©‚B„i+„ Œy"%FÆ¥¼S>š–ÓUVÛ#“QŸ÷ ‹Ý¯Î#„Sÿ¡ó€P‚²Í™žr?"Æ$’3$@ hÀj‚Œ�„Sœb-Å&v´"`Z§¹e–;UE‡&¸Š¾L¹j3 -a˜FLÏòÛ:øk1÷c6MÃðja½º(ýó"÷ãÍ÷:«ÐxÂÀéÿXWuxë\ûå9!m®’ Šˆçøýè—D‚)¤¸n¼ò´ˆD•!@ ŒòÚˆ½À’‘ý�hÐvïCÌ*Eô! -ÌÉ8R†zí}=èDý¸v;Q›ëÛõê&+c'Úu�ªX—©ušýV=Y¼Ø,ÌF£f¶ßÙUhŠŒ~äpý4%ûíJ"T%’RÄ™ñ¾�×7Ëj¯e{òí¶l›ïûb‘×δ”�êÂ�Œ†{Î[ÛäN›[ücÖqÓ9H¹Yã|Õ´áÄϦe9ýî§Î‘ —Ü—Ù$�.ÓõrZg3ÿ--òªžæuöO«æKHÖw»y È ŠÝ¯ë†P6Saå¥é"ŠÎA“‰°‰“'ço!V¾Ë—@‰1HãËl•9öö©Sà˜é#ôAš5¯ß½½ºî Ä¨Mü§PúÛËõƒˆìéíXß-‚ÜA5~šÙ‰­A“/`*ñèÛ]æßê†à+?|Äã°ˆ„‘"„à=ð -ò>óKý™Üt1XÀ*•»#MÂmvB{‹i=Ê›h¢½ÐvÜ*Ü>¹4¤õvKcäÖŽÆÈ0í2ò„ƒC\7ûcòkïMngYfÕ}‘‡gwc{¡(·‹|ºl’¥—¦{ܬ;ž~™£8f·+­zÇÁ�û}T�›Œ‘,8B”„xT•cpÒt ìǸ3FŒ -ÖÊp÷>6VþɹÆ&ϵ<à ©O76lç¬?¸ß›ZhDÕP8 ™ßª°¢–!ÚÎ2À•{íÜ�k·�Û\· ¯eS+ -ÜëzQü;›ÖS?ó‘GŠÑ!+Ÿ,ll%ØŽu#Ÿ¼ýÄòOP&Q^—Y½.óîšoWÿ)l ‚‚|pÜö¼ÈC}ñÞa Op[+"ž³¢‹%2íVgª ï(3½/-Ö/fœ�DÜ-ÎÙH*æ\U™·¯…$�Ó¥wµ‡GªÝº�\"äyð|áÅ,À!ÉDu"ÖÅÚ¶‹eà¶¼YµÎ«ÅmžOLÇjt7-»´FŒ⼈¿BToøÛªÀö�–U§á-"ï/ÅI¬&ÔF[�˜)àœ=j5êY”1áÄ@ Q1 -kÇ®:b-‚UÛ1j'6M$Fš‘d±�ñ€.έ›5`Ÿ%ÎßÓÆ°š!I‚u`tidm­Ò2wÕËö&{˜Q³uZ‡º„J¤�vPÒ@å—"³ „Ó‘MJœª4ÓŠ �TÆ‚/p ‚ÎiYTAŠÐ?â›ÂÞ9ÐÄ›º ^4èØî Ø ->»Âasº)ôü×*«cjqµÿî7Œ^ÄÌ/nÄ¢^,_æIP#ßAñޏiD…’b]ƒ¬¡ÝõzšûÏ7ák¨àÍÜÙ&Y9­Öeøž³E~>äð”ùy8ªµ/ùóužœŸÊìËzQz뚨KL�V{…™îZ”ƒ×¸ü~jmn�¹Ñ·(�ÐXY-mÐ�o†šÜ怚¼B�«Œ¶ØÁæÛ w“ˋݦ<”`TA"Üà«1×j? -„p›w6ÅõÕÕHT; úC@žÑà?�_TÓR}Ö8ƒ‹/ |ôEƒ÷;Èϰx¤ztœaH\=ÞïdzïG<ÿ“ýï“•»ì©ú»Ð°ýÎ…¨a�5[�n€S™Â°#à=¹vzQÄõià§‹Ù…Š4îßø¸ßÛUÛ_)6~BœjYë¸xO¾Ý–móýŸ6À÷8èÉZŽ ¶sÑ¿]5p¿wP©¡€3OÒ™„òêjy\g²'ãnm3~žÎäéâÆ¦‚íý3Ì ÝÞÌö÷.ž¤+I…A‚Ñ#º’=¹vÛ¸Íõ9º’§ ÛHxÈÛÛÆ§ï?±/I¡*×” ëKÒÇû’Ķ$�“ÌÀía­¿ ¹ždgÒþ&àDÍáì‹æZd-öĶZ¤q´8l<Ô†´^ ÈÓ°å -€˜ˆÙ®,ü ÿ…¢ºù/Ì.!á((‘üj·£„£jË;ÃB°ûÕ^ƒ¹íyM›PÖ\‡y¨œCÔ›7¸k‡ÙÖÈͲHÿÙö^Vëe½¸_.ÒÖej þ�¦7…{6}P‡7í«ùÀw�ÔäèqEDÿû.Óð -endstream -endobj -641 0 obj << -/Type /Page -/Contents 642 0 R -/Resources 640 0 R -/MediaBox [0 0 612 792] -/Parent 616 0 R -/Annots [ 638 0 R ] ->> endobj -638 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 355.522 111.003 366.402] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000002) >> ->> endobj -643 0 obj << -/D [641 0 R /XYZ 72 686.127 null] ->> endobj -644 0 obj << -/D [641 0 R /XYZ 72 667.868 null] ->> endobj -372 0 obj << -/D [641 0 R /XYZ 72 496.062 null] ->> endobj -178 0 obj << -/D [641 0 R /XYZ 72 481.492 null] ->> endobj -645 0 obj << -/D [641 0 R /XYZ 72 329.669 null] ->> endobj -479 0 obj << -/D [641 0 R /XYZ 72 193.729 null] ->> endobj -182 0 obj << -/D [641 0 R /XYZ 72 188 null] ->> endobj -640 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F73 498 0 R /F47 238 0 R /F11 313 0 R /F14 318 0 R /F76 529 0 R /F13 312 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -652 0 obj << -/Length 1944 -/Filter /FlateDecode ->> -stream -xÚíZKsÛ6¾ûWðHÍD㇧Î$Óδ®oIš¡$Èæ”¢’Jšfüß»xI„L)’lO›™ž€À»ûa÷[JQž\'Ø<^�aÓ4O„a†™™€§àJ‘¤13‡_]¾:{quöü†r” *’«y"i"TŽ$É’«Yò6刎ƔãôzþáÓˆàTO»‹U…nÜðEYi׺ÔsÝŒˆJu=Õ£÷Wox¶äí˜Qœ“”ŠHÚOWgÏ4qBÜq9Ê©J¦‹³·ïq2ƒñ7F^®’ÏvÖ"É„‚g•ü~öÛŽÌg Àó„”sNƒ¸BDx \¬êiW.ë6ÖÉ?Á|²g>"PÆT2¦ Á�€w”òh-hÆ1N˺óÃFc ÛpªoL΃É?´­Þ–c¦½ÃY¶Séú™k­ê¶¼®õÌõ¦7Ec?¿ÏöΫ(��8wTŒ™›i•¡\‘0çzÞM*¿Ç§Å鲜 HÎR˜ ˜†9m3ý¶X&�Àô±3Ýv`"²Ã}’% -oÏÁoœ#ÁX2& #óxuaLLýF,¼IéÌ—£Œ’Ĩ𻹏Y‘TŽ2™'ãÞ,eätï.×'wåmõÅõ&þ9ìuEÝ¡Hƒ-•Ç™D<£ppp('�Œ¼Â8äÓ_��>°2; -$ß úȉè“HdüôEè{tÔ Ž¤�ÿ&êÈñ¨cO‡:¦"ò?‰:oœëZÅím3Êxº¼mÊ¢ÓA^c¨I Yú˜Òý0í;äðHYÖe· °èt­cÐK©®D�Fïáp è�áðÔ*‹ªüÛ[œÑñäK0p–÷PÓƒÞ“óàè=ˆâ@Á-�)ÎÓýx Ò=vXÜ: “â X[¶0lùðˆP#_À5Áò´8vÐ2C"ÏŸŒÅ1 -Rxö}D4�ª¬w†²¨^Ù.VÆ‚�•àT"J®K6Ç"0ûRwThÆTA¯�6å­©fö] A C,ËÃÝït37§*¦æ”J¦ÝÒ=çëÚÈu­  n@èËOªåôOo1òV*§…=Ž+íSÄ®",à*¨ªLôã)°C‚ðÈW‘)HðãÞ,ë+4ƒ£Ó«›² ç´ò:Í´éÕÚ¿ênt8ÔNõ›åª+ý -‘®Zkg§œÉð987¡ÔxL¸“8Q­¿ù—?¾~é¡'&À¬ÊÊß�¢ö ÝíªY[¸ -‡@ßGõ¨%­GÅrºZèº+îáb`ƒ�(±ò׸s‘ „_ϭĨh'â � §0"@w÷Tî–U¾®ÝCµÞ‹„ #@ƒ„‘ÌÛ×\Å�=!õ›�ù{BºÊØÖ® ƒxàªViƒ^€�ëB(1¡3YLJ6üí¤xÀÎ:üõ¢*ÈŸŽd:Xp8#÷k´½FäÀ ²:88Ã*L…˜í ¨pXEóöe›ŒaÐ>Ý¡¹’O³«I#CzòFÎVšÙf ŒpÄ0‰ñ¿'fó‘ëÄ�Šƒ^<=�4Ç„ÙÊkÖYTH™DB ¥>c¾\ÚÐ&EZ˜ߣ#ÄÖŒÒCtƒ:‘ŽÐ7•Iƒš00q�ÜãÜŸéó�¶¡1œRø¸]¿ošâK»5éÜM*ÛHF[Ö×61À+“tå§ëJ›Xé:6_É}ùŠ ȹ<Ñ0�¯¤“óÂï3ÑÎYåˆ]�òŠO?0mLh’‹0M¹•]ú¸-Cí]çsSZŒÈ^n·§Pý¤ýqU62½môxZTÓUUl¦,ç‘I¡dèOZ´aÀºÇ*ˆ½fÞ†!ÙÃÒÔÉ&ý’FÏ‘ …>°¢.4ýzþã»gn'h“;ØÛv@€¤_1 o2ƒã7³çwNJ˜²%�ôÚï–3Çwî wþÍϺv‚�74Z.| …¡ÛÐlKHlYö­åôn²g<¦Ûxz3 Üfá) ô?ß~›ìÛ¬zS[Ý…h¨ˆ®‹I¥·Ù -°Y¸Å~®cQßA~F·[]¹Ðèp&2ÆpÇ„¡[('Êiü«ÉES,Œ†#BÒáÏ÷Ãò·ßnÿä Q•íýÉAÄí‡uG#s="P;ÑŒ 5{D`ÏûD*š>yâ[QTürÍFØÐnˆL§íÿ@Â%ÂÐŒö„kpÝù”lÔHye’]§mHÎòËq·"Ö‰g 1¸ G+»2ðAv? -[ï @2¥ìƒ°%3乄2ŠpÓ͇£Ýh8mÛa8ô·ýuik®m'ö¾8¹Tᥟ‚Ö_|–èUÚþM:çû€q´~±ga9—òtdXmë«Ô%PDï?÷e¬¬>níbbc$9íÏÿNhSu -endstream -endobj -651 0 obj << -/Type /Page -/Contents 652 0 R -/Resources 650 0 R -/MediaBox [0 0 612 792] -/Parent 616 0 R -/Annots [ 639 0 R 646 0 R 647 0 R 648 0 R 649 0 R ] ->> endobj -639 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.921 632.346 178.281 643.25] -/Subtype /Link -/A << /S /GoTo /D (gf__vect__mul_8h_a15d42d058c64dec106d9e3e9fc2e1136) >> ->> endobj -646 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.921 604.451 180.293 615.355] -/Subtype /Link -/A << /S /GoTo /D (gf__vect__mul_8h_a7a1f65b032f03494dbc68411f5614bb1) >> ->> endobj -647 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.921 576.556 161.125 587.459] -/Subtype /Link -/A << /S /GoTo /D (gf__vect__mul_8h_aa7a737b69a0a77dc29aa28d0f17421a1) >> ->> endobj -648 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.915 548.66 186.39 559.564] -/Subtype /Link -/A << /S /GoTo /D (gf__vect__mul_8h_a84eb9ca31c934f05a8e3fa7a02fa71dc) >> ->> endobj -649 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [115.915 520.765 190.804 531.669] -/Subtype /Link -/A << /S /GoTo /D (gf__vect__mul_8h_a8f3e57729c3382514325612c54e20eaa) >> ->> endobj -653 0 obj << -/D [651 0 R /XYZ 72 686.127 null] ->> endobj -654 0 obj << -/D [651 0 R /XYZ 72 651.32 null] ->> endobj -186 0 obj << -/D [651 0 R /XYZ 72 492.57 null] ->> endobj -190 0 obj << -/D [651 0 R /XYZ 72 423.813 null] ->> endobj -383 0 obj << -/D [651 0 R /XYZ 72 397.349 null] ->> endobj -194 0 obj << -/D [651 0 R /XYZ 72 397.349 null] ->> endobj -655 0 obj << -/D [651 0 R /XYZ 72 265.439 null] ->> endobj -371 0 obj << -/D [651 0 R /XYZ 72 139.795 null] ->> endobj -198 0 obj << -/D [651 0 R /XYZ 72 125.224 null] ->> endobj -650 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F47 238 0 R /F14 318 0 R /F73 498 0 R /F43 499 0 R /F13 312 0 R /F76 529 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -659 0 obj << -/Length 1894 -/Filter /FlateDecode ->> -stream -xÚíZKoÛF¾ëWðHÑfß�C‰S Z u�¢@’”DÙh:!)§iàÿÞYîR⪫Wã |à’ÜyìÎÇٙψŠè:Âör1Âvh¯3ÂÏòÔ�.ÓEZމŽÓb–Žß]½:Ò·èÍ„QlHLU íÇ«ÑÇ�!ŽˆsW Cu4»½y‡£9<eõ}jfÝF\j¸æÑ¯£_F8ؾf„ÙØ¡‘ë °ã ÁÇYQÃj©†íhœ -œ!T!AH#Ï@~À#ŠŒ6+Ÿþéa‰Ð‘{Øù›\!w -›#Î6¬Þމˆ—y�a)Çú$†%¨0*4œŒ ‰ïÿt»ý <žp!›€/OÏUµL †EN4O‹'nRhF#IL;iYTÙu‘Î��ÙXÅ7Ié¤ûk)ð sÒJ½Å˜õØW€&Öι^ÔSû¥ä}NPÞ욟z?¦<¾Ëæ=vÁ[MÍvi;§*Çdz-K×ÊœÒêjµó´ªûÖIcE‚1dÕ™=aŒÂ¾ÈhûøqRç6îÔ»É"‰ŒbÚk‡¼1¨tsÿp³­i©@÷z–niÒÕ½6|Rw¥»‡œVgòÏîn꯳»¢ª“¢FV=x'‘`OˆB’z ¾¸K+˜¬$@.bÀmA§´q[ »-�Û"tlnÃ=¸=&që9<˜ºËîræ}út“–iÇK¸󎀈“Õû²L>W“Îܤ¬ -tTYqݤxX¡iî§§yz›6©RÙOÖ]·ï “H‡m O˜V°Togšº`q*¢Ú…—XV©÷qÑnáå³—/¤ª¸L§öZfíBVð!)ë,ÉÝͧ2«S'±X³:”4^èøÜß»‰eúq™•*þP¦“Y’Ï–y²žr·¶”ÑIgó” D8i4áiˆÃ•M¿4;Ýd…^÷ô ¹§6?å6g-¬¨ƒ �¿œ}Áøá‰³c²ƒ˜¶·ÙåBÔ×SNE;eCéŒ)Þ®g�œ—þÍOiáÛPt—-Û¬7k?àªö¯¯H’¼ÍðpSß¹+£ÏQX�4Ç™­EšÁåÅfIíÁ®•3xÙÄ´)tª E½¹�Ûão•ñŸýöûFmÔ-G6’è„3�åy�÷ ~m³wR&·imë-÷{Ño`óíf1å Ô~t°˜R ÊVçù)å1&âÆ ! :˜í�ß)) ê'�0è˜!Âùª.è©cX‡ "M„B†�QÀïuí‹åæ[ï9{š Ùœ:uÚ$¨~ÞÎÁ¢‡Áµÿª‚hZq6,>ˆ†#å4”˜‡jOàFʬ«´|;³Ú ‡®Õ×wPÀ¦åf '6ò>ÊM~àÒ=7Úø·©½òñÉßJy0� ábïå…qqŒÅá¸8NÞáBq¤ÅÑI¶†\ih|ÔªŠfpìnGÆAvû�ѵۋŒÕá6Oꤋ)â“æ‰}†¤%ZÃá8y ”�Çá� jwCJ„5 û›~0fµ ]«½h°®dE[;~T콺0¬ N‡Å‡a±¿|ÑÓCò@ÿé�S�˜âm]W/Ëb§’ºd… Ô¡ÚPêıÏÕIU=ñ‰¸¾i#¸°|@’¹óf¸äƒÖRAsÝ Lw9(æ9¨Uû¾�ˆb $¡¯‚õé#‰(@§�*¢‡©(V)9‰UûM�Ðèv& -¢iàÃ9…]ÈD ¶gën4Ç]rç‘i¨¤×8�‚Lý÷Æwæ¢NîÝ�˜â;óRñþfy)ŸjJØÆu!˜gEÚUVVpb|g°¾3X߬ÿ'ƒ5XP`¦M`¢¿…D…A„^ö)ßt”çiØI($Ør$Úþ}ˆB:Ðho3}T -iÿU…Ñqeøáh8NÞ¡ÊaÉÌqh඘†Q¶ÿ£ÜŠ…ÃLöc¡kòëHþ¾­>–•·A ?w�é-«Õ´ù¢öÞ› Î�ÔQâO°p"î‰B^ÖŠîÆ=h¸U]Ã�J>í¿ª0  n›Ýƒqœ¼C´ †Ñ“°O”0$Ú“z�}:Ðj?ºV¿ öiÿÕ…aqÅØá°Ø_~‡Ÿi�&¬Këð½i¢0ÂÃÿdÛ•Ö ü¦uNaÕÑ:�Ñ¥uNa×Ó:�á¬ÈêMZg€�‰Óý™Ìì1™–Õ¯�ú¸HLîLvP xÖ:$;^Â6AÛ˜ý•öÔ�ö,¬<m]º½e&ÊJvi™U/—0D–4¹¨é¡-|¸n¯â¬-†š¾–¯<‡áºëÓxÝ@º1mÇ®ëÓ4^¿sÝ#�Û)zHgLñv=¾{=Þ3ï¡ïÃçînê�m)f:ŠÙ�›�õ0§Ô!†~g I -IMvþ�¥Wó7 šÅh -endstream -endobj -658 0 obj << -/Type /Page -/Contents 659 0 R -/Resources 657 0 R -/MediaBox [0 0 612 792] -/Parent 663 0 R -/Annots [ 656 0 R ] ->> endobj -656 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 549.72 111.003 560.599] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000021) >> ->> endobj -660 0 obj << -/D [658 0 R /XYZ 72 686.127 null] ->> endobj -661 0 obj << -/D [658 0 R /XYZ 72 523.866 null] ->> endobj -385 0 obj << -/D [658 0 R /XYZ 72 398.222 null] ->> endobj -202 0 obj << -/D [658 0 R /XYZ 72 383.652 null] ->> endobj -662 0 obj << -/D [658 0 R /XYZ 72 271.302 null] ->> endobj -370 0 obj << -/D [658 0 R /XYZ 72 201.636 null] ->> endobj -206 0 obj << -/D [658 0 R /XYZ 72 187.437 null] ->> endobj -657 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F76 529 0 R /F14 318 0 R /F47 238 0 R /F13 312 0 R /F73 498 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -667 0 obj << -/Length 1543 -/Filter /FlateDecode ->> -stream -xÚ½YKoÛF¾ëWðHÑvß�C� Z u|KR€’V6™rH*Fø¿göA‰T(%¢ÜB‡åcwæÛ™oçAáä.ÁÉõ#ÌS FLI.a”Bk’TðúÀ«›ëÉëÛÉoWðÈ #©Ln—‰¢‰Ô)“ÛEò!ˆeS*pÚ|}´5º7WÅʆ«»´UFtj˹Í>ݾ�à³%\hx ï‚~ª{BßÜN>O\ℬª“ùÃäÃ'œ,àù['ÖèäÉÏzH¸Ô0®’÷“vض©p—nˆÖ¦k ‚0扔-ò.£<Í«üÁ6nç$­ûÛ>ªbÿíûÂÛþØ~” l»§—\�ˆ1‰ä 0Ã0› #Dá §XÇp„S¤ˆRˆ€ƒ½áæÞN½*ÅX�\u5 -…0\öT^¬ËºÉË&pµ(7 ú…õŒò0ú¶wbäx×�µkcÍzÓüÄ�'é{€¹ã~†O_ÿÓDˆŒÛhLá'²)ÁØñÙ›jpÏ€o¨B‚¿\󣤦Èh³…ô#Â0=_ì¼P G�ÃÑ{ •#ÎúJ2"ÒÍ ¥@ëÑ+5ÌW=½umƒ™?b�³)Ò[`ÀÑéæN0ˆl3×Ê–¯Â¤¾LÛ9›².îJ»òç™Jïó*,‚ ¾[är"'íª�³õ -HÄÚ9îÄf§«! ”ƒ½¶)ö‹Khëb1 ÀjjNÑ[WÅéüÀε2/©ukÇ…­›¡}ÄøNŽ ½L½�¦ŒÁÑÿMÁ< häW]_9¯Óˆ’%ÅtULÂ�$‘(ÿ†Y=©i©@ön–ö@|@ûâ Gi]…û‡Íª)W_ÃÝ,Žó˜Ä|àti`ô”( R”y¹¶5LV2ÍÝ ŽÀqJ=ly¶ °e6èèÁ†{€�‘´Efaø= ÓÓ½­l% 墳@@UÕ¾¯ªük½7é"L*ꞌº(ï|‚€W@jWqº]Ùë#¤r6Œ‡íÂ$ä8ùã ƒ²)Ó -¶õÌlp§2$o…¬N}m#Æek›?þ¼”îR¥•�¹#´)Ú�l ð˜WM‘¯ÂÍSU46¬XnÊySK< -�^Åû0±²Ÿ7Eø¡ÒÇÊNçùj¾Yå»)ëeϤŒN;ÆS�€àá¼}àÝã7ˆû;›åqk4 ²É–½áé -O}Aá\qÑÒŠºÐôÛÅ7ŒŸ_MpMv×€Óö!·]ðúnêò9ˆh§ì‰"�kŠËYâç€ò9¾ùË–A°sÅÀ¶ëjÞà:Öš³X³ä«6À»jFF_£½¦Áå1×ù‹›ëý¶ º|®UPxã}êÛ®áîc�µÜå=ÝFÂ÷ïßpDöšµn²F§P^Í�õÐ\põ?´Aœ»‚V�®ÄÎ\ï‹iUæì¼b,†½,l[¬¤Gꬤ»:�ÀwMìÝýaH>>Dú´ÓXI zøûD>Vå§oªïKhH4ߟ¹>pÁ%[m^¤±âP8@”ý•Æj¤Úa:tÕ¾[Ck«}/N�}ˆï¦›:Z´Ñ½Ž,‰ñß­Štº8ÆŒ“÷×÷,,?^î'ÆYË/°@ŒÉ³c„ûF 2”nËh¦Ž|1©x˜]ÅƒÌØæ·EÞä]~H‘¾h¤8yW}‡ÂrrƘ3×{F0ãR-=“pTÁÌH$¤é·8ƒt©u�=­ƒtpPв­ÿ{Zœ¾»ž[Ýr¥ÙhZŒXâ÷eý½¦­íšMUþRY�²ÂjQ÷É<`ƒu^ׯb$nî[.Ý'�¼g æ#®ó•Ô}tHSf5¬óo€ÿö´û;€êö︺±ËL¥Ðçíÿ°‡<Ô³†Å|ti]ëVÚ˜F\JYäU$ÉS±hk— õ zOå3¨qÛzpCÁ�_Ú,Ð~s¹´õ¼*=—‚·óU` Þ¥.`‚HNýã;Xú×4 -endstream -endobj -666 0 obj << -/Type /Page -/Contents 667 0 R -/Resources 665 0 R -/MediaBox [0 0 612 792] -/Parent 663 0 R -/Annots [ 664 0 R ] ->> endobj -664 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [71.004 480.205 111.003 491.084] -/Subtype /Link -/A << /S /GoTo /D (requires__requires000020) >> ->> endobj -668 0 obj << -/D [666 0 R /XYZ 72 686.127 null] ->> endobj -669 0 obj << -/D [666 0 R /XYZ 72 667.868 null] ->> endobj -369 0 obj << -/D [666 0 R /XYZ 72 620.844 null] ->> endobj -210 0 obj << -/D [666 0 R /XYZ 72 606.274 null] ->> endobj -670 0 obj << -/D [666 0 R /XYZ 72 454.352 null] ->> endobj -480 0 obj << -/D [666 0 R /XYZ 72 328.708 null] ->> endobj -214 0 obj << -/D [666 0 R /XYZ 72 322.979 null] ->> endobj -218 0 obj << -/D [666 0 R /XYZ 72 256.871 null] ->> endobj -665 0 obj << -/Font << /F46 237 0 R /F59 309 0 R /F73 498 0 R /F47 238 0 R /F76 529 0 R /F14 318 0 R /F13 312 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -672 0 obj -[228 273 228 228 456 456 456 456 456 456 456 456 456 456 273 273 479 479 479 501 800 592 592 592 592 547 501 638 592 228 456 592 501 683 592 638 547 638 592 547 501 592 547 774 547 547 501 273 228 273 479 456 228 456 501 456 501 456 273 501 501 228 228 456 228 729 501 501 501 501 319 456 273 501 456 638] -endobj -673 0 obj -[833.3] -endobj -674 0 obj -[500 500 167 333 556 278 333 333 0 333 675 0 556 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 214 250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500 920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500 333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389] -endobj -675 0 obj -[277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 762 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8] -endobj -676 0 obj -[1444.5] -endobj -677 0 obj -[339.3 892.9 585.3 892.9 585.3 610.1 859.1 863.2 819.4 934.1 838.7 724.5 889.4 935.6 506.3 632 959.9 783.7 1089.4 904.9 868.9 727.3 899.7 860.6 701.5 674.8 778.2 674.6 1074.4 936.9 671.5 778.4 462.3 462.3 462.3 1138.9 1138.9 478.2 619.7 502.4 510.5 594.7 542 557.1 557.3 668.8 404.2 472.7 607.3] -endobj -678 0 obj -[777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8] -endobj -679 0 obj -[569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 323.4 323.4 323.4 877] -endobj -680 0 obj -[777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489.6 477 576.2 344.5 411.8 520.6 298.4 878 600.2 484.7 503.1 446.4 451.2 468.8 361.1 572.5 484.7 715.9 571.5] -endobj -681 0 obj -[769.8] -endobj -682 0 obj -[273 273 319 479 228 273 228 228 456 456 456 456 456 456 456 456 456 456 273 273 479 479 479 501 800 592 592 592 592 547 501 638 592 228 456 592 501 683 592 638 547 638 592 547 501 592 547 774 547 547 501 273 228 273 479 456 228 456 501 456 501 456 273 501 501 228 228 456 228 729 501 501 501 501 319 456 273 501 456 638 456 456] -endobj -683 0 obj -[556 556 556 556 556 556 556 556 556 278 278 584 584 584 556 1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 944 667 667] -endobj -684 0 obj -[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600] -endobj -685 0 obj -[556 556 167 333 611 278 333 333 0 333 564 0 611 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 180 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 333 500 444 1000 500 500 333 1000 556 333 889 0 0 0 0 0 0 444 444 350 500 1000 333 980 389 333 722 0 0 722 0 333 500 500 500 500 200 500 333 760 276 500 564 333 760] -endobj -686 0 obj -[250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500 333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500] -endobj -687 0 obj -[278 333 278 278 556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611 975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778 667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556 278 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611 611 611 389] -endobj -688 0 obj -[333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611 975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778 667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556 278 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611 611 611 389 556 333 611 556 778 556 556 500 389 280 389 584 0 0 0 278 556 500 1000 556 556 333 1000 667 333 1000 0 0 0 0 0 0 500 500 350 556 1000 333 1000 556 333 944 0 0 667 0 333 556 556 556 556 280 556 333 737 370 556 584 333 737] -endobj -689 0 obj << -/Length1 757 -/Length2 1108 -/Length3 0 -/Length 1645 -/Filter /FlateDecode ->> -stream -xÚ­’iTWÇ¥‚…àEñ"1bYªPÃö°)�R[CfBF“™� K¡ -ZD°PR* †‚� UTR¡ÄQT”Vƒq­ ²i�T¡Öö”~í™/sïý¿{eX¤-Ââ`†â¶4;š;ðñ�¡9š�ƒÉÚÚ[sqC}¸8ìhnnt˜(tG@§¹Óéî W’5ðÆÄ2 /ÀÕ{Õ”È0E°áqQÂŰˆèÁã -A$ÆC`\f˜B!ˆ˜:!°–$Á�‰FÂÃA� $û)¤”�—wi(Qü¾”K¤ NQ®#„¡B€`>Éž�Ã`åÿ šÙœ•(²¹¢©öÓ>ý§Î!BÙ_ -L$NÄa Á X‚ΔFÃïàB`Iͬà\!Âc¢ñB8¼K!R’CaÎ>W(…§ó0 -Í„ œ›F°ç„Fú®þk§ÓÅ0.‚âëeâ¿ÛN©§cÚ?1á�I±„¿4BH|ïÿ6Îæ‹ò0AãÝÉp%®ŒD¼"r©4€ œà‚ØÞÅpâ LÙø˜„4µQWW`/M‰¦_„HÅB®lJAú¼°”T[:ØÒÝœ‰ 'pq¡oû—’—(‘À(>ýbgÞÇ|„ð†S`é—›oMÖæ’SÙÊt_EW�ž�ŽW|C»¾åúO†™½…:ÂªŽ ›¾ã1ãµ¥&óô–%¿1—înJ ïd½ØžP ï™HÚ4PºõGó˜‘ÒY¿xùï™O4žº1öÌI'ôZß%e§ò\ÙÐù§è>ë}xÇrVklÒ‰Öﲜ]bX¥Â 9;�S-#Œä Ê\FŽ&Ù¨hŸ®æjfúæ}õêÛÃXSâGã -ý_O|öRÝq¾ºùd×ò¤~ãÉ£6÷ÌŒú>ÄVЖu¥©Ú¬F7åfX4×TïË¥s²ßþP{·=?hÝ#ù.ËžðgúñO;|Z¢¢‡îz¦:è~?zÏ1É™hò}½«ýލ¥.:½à½®/ýG2¨Ã­Ž'²–7ßÈv;ÔÀÖydt?ðÛQ?í˜[ð[u2 ݥˎxÒ̉½-•å­®]Àg/M#{,Þu6cö=2¯çñ]Ýq•Ÿ“ÅŽ­,P‰| EvãÕUÕujeÊZ«Ï[ŸXFQÌ÷ÖÓv$øöÑbÑÖúÞS©ŽV¿sŸŒ�±j´ Þ2ÇÖœº,ŒÙ% Uëe&õ¾8ÍÉ RÐòb/Fe�l×rÌ[º�WrlL2Fu¸³ÌÔ*ÖÔ¿ÉÀ"7ß'G�ö[]>èï¿rÉCUÛž¼¦½õTMO=óh)_‡J>íXò•Üß�÷ælL׃¦�·™óÓ ~¸-ߺ…×Àr}Saù}žÀ¯œ¼sy”øÖ~M¿Ê0ù¥²¨CløÅ‚á×ç=ßj­¶; –�63ù1-?©-n!¹FQÜù‚ ]¸Ô‘�üÁ””|{år{ÍFë(%ø:ÉsGqnþgæ�4·NŸýtp°sr«ßá|¤7¸<šbÚªBA_Ì›÷x�}·"°ovŽÀ`EoOƒç».÷$íp�ô†Æ·ÏŒ¯P[/™�mìó¥†bÐ>ÿ›îÚì%û8x¾üUÂRö -2¥¼gÙ(•Á‚Ü_ï¹oj|Û~£guú#Ƶæ›V¯¥Y†{ê,>^KákBº[Û]C 6§ÖtŽ1IGU•<Œì-ç2æ¹›¼Z4é 5­8´2»Ýõç5G·PW�¼Ç“ ®ùÚo¡ÝÀε.çZ­Ÿ+óˆz*¸öÓ\’wD°Ç­>²ƒxµl¶mùÑ„(�*^g´¾?('A÷à6ú^Å©áT¿¯½ÆÎá‘·dý…tõîÊx1sÛ¹W—#5Èγa+lM›­CìF´Úžˆ£ WFf�3Ï  ·èÓûåríܕ姱ŵo–åë™ )û«'oOιé·V&7xùëÕZ1Ë"_ÿØÏׯ“]Z>óêÞz©µH]6gÍ~ûžS”cÎwŸtŠÃMc.n­BÖ*†§å1öoŽmh+63¬Úaר&¯¼_Š<0-½hÂ.{9+•þøjåÙ¨ÓÃú1¥09dLílTi~uâ¾qõxÐøóð’¶g*bqüîtäOø&� -endstream -endobj -690 0 obj << -/Type /FontDescriptor -/FontName /YQJSDJ+CMEX10 -/Flags 4 -/FontBBox [-24 -2960 1454 772] -/Ascent 40 -/CapHeight 0 -/Descent -600 -/ItalicAngle 0 -/StemV 47 -/XHeight 431 -/CharSet (/summationdisplay) -/FontFile 689 0 R ->> endobj -691 0 obj << -/Length1 811 -/Length2 1849 -/Length3 0 -/Length 2409 -/Filter /FlateDecode ->> -stream -xÚ­R{<ÓûWêȪS.…„ïÊrkls¹Ì-Ãrg¹fûŽeûN³isK’£”$&9,¤r)NÊ¥”tEIYr íI.©3:�óúuþý½>ÿ|ÞÏó~žçýz?îî…ÄQ˜¡ #b#ÑúhsÀŽ@À£Q€ä�BÁ;HbÓ˜�=‰ šh,ÖpæÐŒ!€2576476…!;f$�E gÚv:‹$SÇY42 $v8È�ô “耓LÙ<}G§ž‹Q€'²¢AŠ> �(42ÃhÌ`Q¢2Óoa -'ò{*dEIDÚK2u‰H -¢ó -H…ìbJ¦�-ÿY?6wäÐé»HŒÅöKNý'ObÐ輿LF$‡ ²“² ©~à7q�Bã0~ÌâÙ$:�ŒƒÂè €D飌¾ÅiQŽ4.Hq§±Éá•D�—â DùQ‰Ä¿%v¾;]<|ôþ^íRÒ�DƒØÞ¼H@ýË^Âè±Ä$�  ôQ(´„(yßA? s€ÈL - -0Æ&‰Å"ñ`’#’ c  Ð -È@®D±�>ÄdKJ‰3ñ•É‚-îÕÄ 0°_ -!3`àþ’¬Í€ô2Áa‹G)±õ{ �‘p—à-°µerc‘†‰1–HB™¦Æ¨øÿ!’9,±—ÎLbäwL¥I¼A.H†‰:™d‹ä=95)¥ Åíe+u¢6çžOn½yèJ®…þH¯…ü3VícoP}Rî�ÜZùzþ˜ËE -Õ¸_¥'Œõ28Ô%'\«¨SxÚKfœ<øËòfÁýÛëù‡Å"�¡ÈZ½ñ[?öEß\YéúmZ¤2vdEéóÎ… ûÛúE«OQ¶óaA‚ë®Ù ïŸ}çFw2‹™¢’f¥ÀÓ¾ˆTn÷tD¼\›‹M¤ÿȵü,‹ÒáRÚ`è¼ ±ëìe¾j³É3ß3¹€Ô&Kx.Ѫ¾Î…ðnÕàì )žïä‡÷™V-+”'—ªÒ-w–¨,«nû72¬ ¦_‡ª<’ä#ªÚ1–YèÈÚl„gÈìbRóØŠ© ùùÞO_ÓTÇɱp)åKËýôÌò¬£µõFtZQ*+Ÿ¦ -á»Iá'ÅlœµSïj›´ûŒGÖqõ3€ˆý#Q±óBêVöÆ|–‘sf;Á_ïr�03Ð�+…Ý}Ú1PôþíÝÆ´<Ì/Žv½! ÞÏõš+®Þ*¶W¨øuE�°ÎѱX³n³kÐV n¥°ÙbÃz\à�7ž.jêàfŒ†ßˆ“7ž›U+77Éïøl1ü˜ï#¬;o¢–°rø jDºþ¨·n¬Ù;é›.!¼v³ŠjaËF­ŠwÒ#'¢¼Ô¥4…Á›ÀÊf—a«Þ£¥ÏÄݘÂÕÝ£ -X@¥¶Ëþ�º:÷Á*&Øë3Üç‹BôY»­oC,hèÒll4¦Á-ØØ"0ìK‡Õyϳ%±Ç÷�O<7R; 3_=Ð5ˆU‰tˆá'|MžîÚÉY-çP× ‚Äe¹=-ý4ìàÁgå8[-‰·Y5ªTÞz5cã�ÄÈQ½cQôÝzG– Ì!(õEŒ -EEq¨Ù–¦-Rîà§”!a}dZŠ#qn¡º˜ïk�0ÔesÅÎv�)2‡¼¶ákèºRË{VÌ|à+}dÈêdzõL:Åúe¡»ÿtáœeß“9N¢Âƒ±#mÝ× TÂׯì%*koÓÂOÝE{„înmròùÇ£küZ&�§üáŠfoš, -+ù¨)-í‘Ô~ãàâé{ÓR¶P«µœl�WT(SIÜ‹ýüä$ç\IÞ3#M÷;NóøM —à•ˆÐÆ¹âОÝ6õ¯ì•/xÿ>}½-ÛL™=/ëˆÁtØÌ{´LÌT~±½£7[)FSÄ,í}Ãò2y”ú ýÆ’y™Á‡ðÄœÊÓ fÕY¾ ª/Ö= ×çœÂõæ']².­ÜJÝ…¯büêsšN1Yac÷Τš?Ü�ÑÐáh½ÏÎã-èºe8¹nreÞeXÞ†××Â]Òb›60ðöìö˞Ĥ‘@í¬¨¬ñ)®>¯_À¸ãÀø© Õy̯^·a]’Ik 9y€£×@Êý“�²î‘De,Ìþà¦Ý2¸ *ÍÄvûùܺèxA÷,'X vÖv®nu�mt—i§f×;¯uíî¸&J3)] î¤�EŒÏ›-]Eê]QÛ�ûJ£`Á‰-ƒ÷rÈS¤Š’³E¿™%´ÿ|°§›S2\)Ää7-gY¿€ -o¿küN8°½a‡ê‰í£ÒÏ’ÖM]vT—â§š¤¨�µ)ÐY ÕxÛ¹-•>猲Æ+8·U'⛟Œ¼–&Nßù(HH̉Òxœ¸1ób©1o c>ó�TµVjà®ÌÄp·ÝárN¯lõò[rëÏoqïk·jŸ|5ª*'[ôˆ»ÈýŠ=¡�owÃÚ¨nÈî³Ïz.LF?:>¢!Ð#K)®Û(Ÿáþ!Û'x„ès=\ðZðw�“$£½>Æ2*1üKmỦIÓ»”aÖ–­üÐ*Êzyb�ø€ùç›WCÙY™Ó†;�j½ë�.Àw£6[CçYá�îJâÇN¤7ï�ñ3RO›‘— ô¾>™×q:¯¡tÖ:€n4è?<µª&’ÞQ÷@ípÍKÍçoeôw!Tïï¿6p5vHµ;É݇žÞ‚²<1̉¿bÑ�úUV®ü“Æê˜2…NM=¾Úó7Ôl¤ð’øèEôÌÓQrF6®ØûÏtgu>½¯RÑžù~,&¡¯‡[ç§p.ݪÖmSf¯ï*y?Äb&芟²Ö‰©ÎRh¾®b® º»wa¦¸šÓ­úå§>x8Ø­út4tm¿ ù÷l|Kú4Ñí±áÛÂÑG;m›/ÏÊI5°E=FWc¡üš-w&*ø½²š>ç{© zð’™ -endstream -endobj -692 0 obj << -/Type /FontDescriptor -/FontName /CVGKQU+CMMI10 -/Flags 4 -/FontBBox [-32 -250 1048 750] -/Ascent 694 -/CapHeight 683 -/Descent -194 -/ItalicAngle -14 -/StemV 72 -/XHeight 431 -/CharSet (/D/P/a/greater/x) -/FontFile 691 0 R ->> endobj -693 0 obj << -/Length1 792 -/Length2 1655 -/Length3 0 -/Length 2206 -/Filter /FlateDecode ->> -stream -xÚ­’y ]<ƒL¢D&9�HÀœFœWvøΠÈ)Hy  @dà zC yÔ -’ Ë }/SüY?Z ÛO è¬b"1$…É ÐKåÀŸŠYþX?·ò§ÑHô•ñ+Aý£M¢C´Àÿ˜t–?d&d3~¶º‚ßÙ ò§ÿܵá�hÙœáM=Œ!mø½ùYA\�âqÈ>€‰æ®ÖAågq|«(K+7¼­åîï»Ús$A Α@ ÿ2¯jÌ_Zâh$�ÅÏ�Õ‰ŸÎ²d�™ˆá ècq‰Í&ʣţô±X @ -È@®…d09â-€8˜PÀ‹É–_¹U¬1€"3étÒJyµ‚Acô7‰PÔ¿I#å»*ÿùÍLn0ÐÓÇŠ0FÀ‹ýٟ͜՟JœÛ퉣A.H–ï2ɦÔ´ª¨â0ËÜŽ2?õŒÂˆ¶ÚÈŠ SääKS¥çìê§GÀá‘p*T¢˜:ewEñ©V™‡4Q‘/àͰ͈k™D¹iòäñ“’-9MõéÙ±£½¿¼aUïžîÓ ÔÊܶÇ]W�:/]Ü#\œ ó=ód¨W!�¢9’*"çž} -xtlðÒã¯ï1s™½ù-[�gŠ6-õªÖtúöÃ2ŒãrR=ƃJúyBM“¬ÛÏi°k]*²”av¿æ¦u/èpãKþz'>³X�T%-Q�½]\ÆíT°;O?#µæ)ä]ÎB´n;~%æÒ�£<þé1Ÿ¾ˆ˜ÒƒØ·•í†1ãÒÝ­\'BØ!ßù´íæId¥ÖpB c  ¨ l1ÿ©¬ÔDNþscÓÉ; 5žºg¹`éõ×oM<Ϊ«ëðÏŠ$�%+Á¤Ù9Þl`šTîîë’€úñ°_lô´‹ÆsÌ’ƒm¡Ã`²fÔËÄ­3µÏ•Œü»…ÑÑù’Öät÷¹ðRàw�|Z ½èp¹†4–„¦ÊDPnÆšÖàì{ÝQvȱÆXaf†�è×àßt|×”ÛdБtlìØˆŠû‘·4ëâ)uÇÏ øÁR|ãhò¦ƒíKxíÌŽ[B’ubs�?.Ÿ¥¡æË'mÖvËqo¸=] lÛ|,H¶8y*bó½±; ÎóšÈ< Ò×…œÎ:J„üy„;™n? ! »Õûè¼a?¿Åü7Q{ôVNÓÚÎ8öÚéψ˜¸Í{F/;då3¥Ÿ™�Ä–ÿaë—§#�>bõëæù¤îªíÂ÷Úè—/©ÊieYZ 2»¶5ÎÙçDüöĉlW`½Àš;Ö -«³¨V]x6ˆ*ÿ:ëYãî&t�§/º™})Ì´HмtµÒ8~’û©²(;³3ën«�‹­<$§™¾<evÀQÃÔYŒsÙ8/$§ã;jó4bç=^ŒÝ^�l~¨„è23UºtÀ>ðrü…˜´è'MYLÝ·fªß¬ –ÞÖ¸n�µ>M½gïâù„Û0)(ò™‹ÒTzƒçt,¦NEJ¿L†Á[àòï -3»“¾ùJD¶½9m·È��¼ÚrñÁ`áËÈ¢Ê#ÜÈÉóü¥GþÞDƼ&’}ªu rFÿ zUFÔ™ìß–ÿÎ".^Ã^øíàÕÚcjZÒª¶s5„“²c ØÑç6>O_äæü8ùpq!vVõßëy€…�[çÍû#[à&í°’Q²¢Jâ5_‰Eµ¨ð}0eäðU†X¤ÞÕ ©¤œœôWðÈýc–PË+JÌ«ôÞf”yÊúÓž)«a¥'Åüô¸‹kv:ð 6õœ+é<̪T¼]·)ÁXm§õF¥pª -ˆÑïÏ>j1œéq¨ÇKVw×ïs»^h•§4j»¾D¦cK“ñ$—W]!NääV"ö±áµ7jûÆÌæâz`ÖrÍ:×5%_–L`f2c³Ô¸AŽ�â«%AÂheù�¶�M5&"ʶ¾å68š¤ùåµwåò9O ¥\ý¯Ãùwڴܷ܃—®³cÌ4¤’tŠ&²¦7E‘¶ðê¶[4É]¹[”èîZ’´SÆfK{ϵ½ŸâÒ›…Ê'KÑzÙ¸=ѡݟ Ñ«ëq8O\Ï�{]׈r5„§Ìg˜¼ÊÚú™Ú§€¼8KA4ëü0|.CV£‚H|°ñ«Qxô,¥8°ýÑù�üJ[ëÀ[aWÛͲ†<_Çg· )æ…o-;¾šÈöíƒòn…¹,sÖʲúžË[iL„o¶W„¶•‰³p�5q -¡ãAQ§Î-ÈÔ£©zï‘"¦YŠžŸ`šÎ ÍNU²£·æ¦o‡×¡ -3Î(z¤ïûQ™$B‘tOÝ®ÊÇŸû§7-Qˆ+ìXŠ›²•°›²HñÍo|ày7=Òc x(±!¯ëTQ]èÉîß½®¸ëîÎIËnu™í² �lÎÞÿ|ïèãSY8ß5—z¸Û1˜®–ö…¬8†�@/úïàVçí˜/1©NÉ6YC2ô©û¦Ýdÿêuý:½Ò–ÚþˆòÌÅ’³ÒCG«Ë+ÉÞÓÌ´úxÚ„©ndW¦eŠÍT‚½áûአk-‘¹Ì» -å±$þ(UåL¿;¼;4Q0Hãù–æöÁD§2,ÿçKg -endstream -endobj -694 0 obj << -/Type /FontDescriptor -/FontName /EFXCJE+CMMI7 -/Flags 4 -/FontBBox [0 -250 1171 750] -/Ascent 694 -/CapHeight 683 -/Descent -194 -/ItalicAngle -14 -/StemV 81 -/XHeight 431 -/CharSet (/comma/i/j/k) -/FontFile 693 0 R ->> endobj -695 0 obj << -/Length1 778 -/Length2 1256 -/Length3 0 -/Length 1801 -/Filter /FlateDecode ->> -stream -xÚ­S{8”ù§"g²Œ[ÄQ¿Y±.k.®¹l2ƒÖe\FE$;f^¼v¼ï˜‹ÆµU³Š\ÆåT¬”JkQÖôh*Ž.›]´"¹Œ³i1r* �—NgŸcÿ=Ïû>ïóû~¾Ÿß÷ûy?ßßÏ”líÎF£ /XSˆg@£3(d@!’ÉTœ©)�10Šx0�3 89Ù/( -[`¯³½�³½ ÎÐPnމsšÅ*ɸÇC<˜ÅD�)ˆ…â±,&£,$�;‡«;ø€ñ!^"Ä&â(À†YÅÀŽ´*ɉF�ã˜-ä~L%B<>& -˜¯É´˜H6Šp’ŠÆ‘üQ¬„iùÈZ_ÜKÈáø3ãW˯õ§43æ$ý‡€Æs…ˆè(â!ë©!Ðmtˆ ã×g½LÌrGb8 €`¾,‚Ø�°€ ¢™>´†C{½̹5 $Ÿ>>Vfº– dˆ`_÷¿UWÉk1å�s‡‹@8³—‚±çã*b]/O„…²a$ØØ;&�ÇLÂa§‹ìA -ÀH„ &T€m˜'i åáVê@$(Aˆ ƒ×;'@Bè�Ø�¸! øóR©¨(ÅÚÆž°Ö™LvNNiÿÃd y<¬#Ì®�q4Œ™ A"ˆ…{Ú‡²\2㊛³.§{V=¾¢b©L�¹™ïÿÃ�ÞÛ[ŽœQæÔtû&X7„.Ö‰u4d*²GFüo%©A¼f2òK~Y‘%~%'·…ΉéIÜOߟÒlmþyþ•½rÀ“á\.ÚÈ[ÏíB%Î2K=…¹?+�ü…ìºj­†¿§†¾jb¢¬µÑR¼óªd÷�î”d—•Ú€ß�z–â÷…7H:*o-fo®«(ÜÏùyVmçLHY¬Ró3çúÌ-nw�™ór]¨‚!Õn‡ú<–—Ôˆv�׳“äBøÜ·_ùtÂ…K~âÂß• -¾[‚BæG„ø½õý äU•ò­ë±Zš%ŽErU]ï çáÂM6ÉËUM°]M“Å–uRÕ󆥊w ·çÏþø²\Þ’Úv¯§È;·§à¤¡>¾™ ¥ýfRsp0;D7E÷¥*ß|rláïi9 ™ù4eOõ‰ÞôK¥ñSX9¯®'D3bp~ Hª×HÛn`­.¿V°íˆMXï™I¢•N>×ÑLŠ/UR51øöJ×ëQÛ)S—¡“¸½kâ´v«Fíº¡'m¶ k[Ðð=Ü»·›º—Y)Šñ×ß4áN6ÙQî5ö~ÓO`U*E|í•3½µm>“6Ù5±Þ™³û³¿Þ°3?ÇQ^x:ïW0ÛE¯Ølþ¤%Ã5ت™êJÓ~ÉÌâùEÝ -ÚzC!}^·+Àé,ƒTÎé;›³—ûõàB¬e`Ctñ°†Ö;ÿû_- åÚá:¡¿¶ Eãç-úËó|žº¿81=Ïn)Úˆ{�ÞïZÞ6'ý©è Ž_ºÈFM:m³:ºy`kEÈÆÈÄ_€œ2ó¹Hzø¯Ö¨Y\A6÷9gj¸¼ºkn¬Á`®:c‰ÜzÔ³»M§a,¤M‡ø¼4ÊÃÁÀd§pk” N,zLxŒ½6¤m[Aœ�qÇoöëõ¢o­ï=â íÇtCeÝ?äÓ©y®²Y¢ëcƒI?UŒïDK¯�Ð6oìzQ•o†ÝÇìÏ^yá%H×ͼ8¹)Õÿöì9 ¹ú´rZRœ_K¨²¢dÜåLzDŒé7yóωëïñ¼—ÔŽ^Ò:Ö1瑩go]Û¨â3³ÜÄ1|÷&æ/Oúz+hÆ„¾«í3‘ƇÞtŒ&6Þn|¶á{Õ™h뢓V‚…°¼Î† s¯÷ œÊ¿us8ç“R¦âËѵŒ2”ðöð5ù r«/(å¦A®ÒˆY�4Þnè&“þÖ:dÖÞIÒ.| 1¿óoLFaØ -endstream -endobj -696 0 obj << -/Type /FontDescriptor -/FontName /JVDJDJ+CMR10 -/Flags 4 -/FontBBox [-251 -250 1009 969] -/Ascent 694 -/CapHeight 683 -/Descent -194 -/ItalicAngle 0 -/StemV 69 -/XHeight 431 -/CharSet (/equal/one/plus) -/FontFile 695 0 R ->> endobj -697 0 obj << -/Length1 822 -/Length2 1824 -/Length3 0 -/Length 2389 -/Filter /FlateDecode ->> -stream -xÚ­R{·‰�Ï4ÄZŽòkZ.ÆššyØf3%ÄUí0Öp•Í -.JÄ%Œ„ȦŸ_?Òៀ¸i0< Ýæm^ÊC\¹°zlþfgƒp™Ù:û¶+ÂMžX Eʨ,ýäJHÍ•Lí_Ἲpl²_Zº,¨91Œ¨¦¬ÔnWþÜúÜÃád -λ7h}oŽ7h�2B´ÓË=P½ Z~*1z!ze@VÿÍôêsš�»ÿÒ6u�üè­E�¿ oaŒ ªâEÛuEå±3ÛöŒÉ]Ú«œK*nYr3a uûj¸ñ²'ÚŤ¬Fïåw´Ëut‰¥]ÛýN|*¶XsEÌ‹!NðKËP -ï›GzcãFÿð˜UðAú%4}ŠúSêUlrG¬Š{û&ÛÇw—£p>¤k´©?¹ÝɦÝ&ÂNµ´æ…øÖ�é%âSûÅÆ�ûÇ¥}ü]bÚ„oñµäñS#tjÊÃÈIÒ¨Ù£ŽRÄ­Wç£_ú‡9�Q¸˜!ÒiÌÍ�º^ôëäœ:Ù&² -±9W®G8)‡º›mUÝh)lÓÃ%½ªo†>®i´M7¨ÔÚõã;Í.Ï-L+°Ñ³ÞŸ[iP•-ïv]‘„Õ�d}¿êᨼ¥Yš{"©«2Â/öøIË+6L�Q^1N÷Äk -´}ph»]*ßËSYbµîj,sjá:�“)þFôïÈGpU>¥’%ù>“¿š‡-g®fÆ“‹Gg3ÌE¾'â‹¢ÔŽe;DH̹XjNB—}”‘)µ :ôßò÷dKçsÏ›öÈ„–ä3q2YNCß •D þµÄ'{ï1¼.1œ]Ñ4 ˜ÍIýÐSWµõ!ŸloáË“6–˜y=�èaé/ti„ÞÓ5Öë3™ÈW[¯ß{ëŠgõGŸí”Èj'«îAc;í�[�ìôí/ÊÝëß�5pŸ¾Ø”þâì‹•£ê憾”o¯´ISGÛO–ÂOu½àÜo~^Rb1Q1ÕÉ¥Ô�=ì&é6¸#£S¦¨Qã ©ž£‹óù!Äëµl@Åû_Ú¤ -ïæÅjÏÑQDÑxÆ�ß©K[ûêâê?zU87Ô÷„ù<äÖgÿpIÐXë¦#WY*5•È$_`ArK)ÔšIwçßQ:7TaW ð]•N+ª‡(ˆM]æøû«ÍGÔðr:ûG­kÊŒl9cH®,xàEZÞ»ð¡jåÏ-œò~‡Ó¤Áije¹íP|æëÈí¨­K)-¾gl]9¥øHʈ2NáÚT{ÌбHj㾂¤•VMØÒ:ÇÌñ©ýµWŒgN©òæöî`%ën¸¦^F n[ñÓK[IØø%¢§I²K·,ÄK”]Ÿñ~ñp> endobj -699 0 obj << -/Length1 798 -/Length2 859 -/Length3 0 -/Length 1406 -/Filter /FlateDecode ->> -stream -xÚ­’kPW†±U(AkG� × õ$Y0PÀKC¸+á@Q—ì&,„ݰ٤ P ŠjQÔQD�k­”ñ¤Å‚ -,,¶0 RµF¡]°ŽSüÛÙ?û}ï{¾óœ÷;ë@¡#!¢Q§!äøþˆ ‡agÇ'Q˜ÂÜ ¦Pw¹¹A€§�ˆ 8®îNw®+Ã𠙚Ä$1XÃ_;gr¼x”ÄD0üa*�§gˆ`)" ¥Ô,À“JAðÜ -9Få(©D‚‚‰(�J0œÁž#òÃÅp}ÓF²·’%å4XCC®4"BàR5@P1ƒ- è½Pšäÿ€Z8ÜG!• -àø¹ñó)½§Ãñ˜Tý¯ƒˆ—)(”þ‚’øBë6ô œ?Š`Šø…ªK1—HQà­gqœ¹oLP$£D1@ Kåè|Å‘…(t|ó loÿpA�—ý¿÷:/ÂN…¨e(à¼sÏ×лšN‰ÄT ’Ãâp ÚHoÿ¢læ�‹Ã%À‰ë`’„Õ úÑ$AÃTPMÌfáE/t4 &HÆÜµ:6,§£Âäqô­Ä̉ó}ˆãØÑ0ù®Ø2ÚF "§ý(2¯¼pOOB•äèäÝ\hr®®\ÍŒ"IÒSæßßÛZŒÑ‘£¨ -1z{‘GZìɪýߦxu\XÂÖŸn®ø£WïFxuÊ Ñ¹ùAÖªøIá€öp=3®Ód‹È#×�¼º*[�µsü¼áEmfAiøÑ=Ü:Ö¯B¦úëÌËfíW?ñ«O;•—>`æ^Gž>hëÐ;n›Ú¼4öÜ^T;Ùßc°b]pÎ:S×Þr½¾EÆLußã»VcÕ©'›6ŠžÝ¹¿Õ/�)÷É\Ý)Þd=¿bD‰•��öA�x7»‡¾2A^�U©±È°9`÷gƒ°T5‘™b–t¯E¦ÇìÊxš]8‘ Ï¨³ð¼Ý×QŸÖ4À>²Ç·Öb«yó sÌ+Óf{Á # §ßùƒË�ªWµÆ…^ª„ü=¬gZ’2U -Çå];ná5’˜PV³q2”™­a}Yu*âyqM½AOÍJÈpsw/ÿÈô9}A›n¦“¿BûòDuÌá§læÃÑõm=¾Åƒ{âu–®:›u�‘ûÌêfß|Øè¶ Jü¾lKšÃ̧Ó&≂3‚ -ü‡ži»eø†Œ•)z/Ž`n‰�ÅG÷f&•ºÔ3:-ˆ®ï3é¶½÷âwmyî¶T﨑[Š¢/¬<ø·omÖB–e�™a©­—ýÑ+“—cì ídôDë’Øº¦‚‰û¤>åW4J�8U\¥×t–îuQ+å&¿ª5Ô[æ‹79¿<0²«âÁì†ûŽò~“ö!þu“�ýãºùæiy\Û|Ž!x\ó‹ÑÎûƒOwT87”T.^¹ºðµCû…ÆÝÎᬦ¦ŠžÔX‡S�›6‡D:í³‘ˆÊW¢%cuÝ–ÇdÂÚ©Ò4Þ1ÖLE[ÁîhÞäPcË£Úé3:üŸlÛ>׆èE1­{ ï†\üÙ·!½Ù:Å\î±Óà’A¬£?;Jø¬ÅdÇñ%Æ-�טwU»l4þîºÖx«ä£ÐÉóð`@±UY�ò7eQhÎsõpYdéáœfîB+ŸÅ“]…UýdrÎbiEiÍ¢°½±ð¹ù!íÞ™ *÷¢ÆMèhØwîtá¢Òªä¢ŽÑ‰&¯+ë�’R>K3û0T?KŽó=õÆ•‘­¯˜ÜfÙ�ãæ6bËåiyfË> endobj -701 0 obj << -/Length1 750 -/Length2 628 -/Length3 0 -/Length 1146 -/Filter /FlateDecode ->> -stream -xÚSU ÖuLÉOJuËÏ+Ñ5Ô3´Rpö Ž4S0Ô3àRUu.JM,ÉÌÏsI,IµR0´´4Tp,MW04U00·22´26áRUpÎ/¨,ÊLÏ(QÐpÖ)2WpÌM-ÊLNÌSðM,ÉHÍš‘œ˜£œŸœ™ZR©§à˜“£ÒQ¬”ZœZT–š¢Çeh¨�’™\¢�”šž™Ç¥r�g^Z¾‚9D8¥´&U–ZT t”‚Бš -@'¦äçåT*¤¤¦qéûåíJº„ŽB7Ü­4'Ç/1d<(�0¤s3s*¡ -òs JKR‹|óSR‹òЕ†§BÜæ›š’Yš‹.ëY’˜“™ì˜—ž“ª kh¢g`l -‘È,vˬHM È,IÎPHKÌ)N‹§æ¥ ;z`‡è»xEDDiCb,�˜™WRY�ª`€P æ"øÀ0*ʬPˆ6Ð300*B+Í.×¼äü”̼t#S3…Ä¢¢ÄJ. QF¦¦ -Õ† -™y)© -©@ëëåå—µ(C¦V!-¿ˆ ©–& -ú9ùé ÈHú(Ç…é'§üŠj]]K Cc#Ks ³ZuÉ¥EE©y%àÄ ?-ˆ©©©É\7¯å'[·dMßÖ¶²Îuñ…U¬úœ?O¬}y“ý@ÄŽºÙ™)µÁ¦óÓK–¼Zøhkßañì‹^ÉÖS…‹¶HöúõÄ}Y$¼fkׂeL÷ëݯlîšÆûO[ý•çá°sZI[í/z<«SYçæåú<óR^8E-Þ÷ýÞ5n!­ IZJRæ7W°ße¯¼ûüêiEÎæyÑA÷·'ÄV/ ?czÍóÛëTéær“]<–·{�²TBì¾ÍÓ�> endobj -703 0 obj << -/Length1 751 -/Length2 632 -/Length3 0 -/Length 1151 -/Filter /FlateDecode ->> -stream -xÚSU ÖuLÉOJuËÏ+Ñ5Ô3´Rpö Ž4W0Ô3àRUu.JM,ÉÌÏsI,IµR0´´4Tp,MW04U00·22´25âRUpÎ/¨,ÊLÏ(QÐpÖ)2WpÌM-ÊLNÌSðM,ÉHÍš‘œ˜£œŸœ™ZR©§à˜“£ÒQ¬”ZœZT–š¢Çeh¨�’™\¢�”šž™Ç¥r�g^Z¾‚9D8¥´&U–ZT t”‚Бš -@'¦äçåT*¤¤¦qéûåíJº„ŽB7Ü­4'Ç/1d<(�0¤s3s*¡ -òs JKR‹|óSR‹òЕ†§BÜæ›š’Yš‹.ëY’˜“™ì˜—ž“ª kh¢g`l -‘È,vˬHM È,IÎPHKÌ)N‹§æ¥ ;z`‡èû8z…†{iCb,�˜™WRY�ª`€P æ"øÀ0*ʬPˆ6Ð300*B+Í.×¼äü”̼t#S3…Ä¢¢ÄJ. QF¦¦ -Õ† -™y)© -©@ëëåå—µ(C¦V!-¿ˆ ©–& -ú9ùé ÈHú(Ç…é'§üŠj]`ºÓµ45T0425R0·0ªEQ˜\ZT”šWN-À�ñÓ2�¡˜šZ‘šÌuóZ~²uKÖômm+ë\_XŪÏùóÄÚ—7ÙD쨛�™Rl:/P1½dÉ«…�¶öϾ(á•l=U¸h‹d¯_OÜ—EÂk¶v-X1¡Át¿Þ�`ñÊæ®i¼ÿ´Õ_y. ›1§õ‘´Õþ¢Ç³:•un~Q®?Á3/å…SÔâ}ßï]ãÒ -š¤¥$e~sû]F1ñÊ»Ï/zÊíO]Ù3ÿÑÆó½EQ’žý^ÿŸYì^¶Q¹íøgíÅ×ôI\Ýä÷LèÐ!~ç³Öy?hKDgêV«ï;®É÷þÎOý©w_dÜãæf|üfÇçg‚û¸þ81Çú`¶©Ž‰óêü´¸5q¹­ë•ê-Ûa·ê²Kô¦_j‘»•V^,•uþ ÷ê�ŒY³uU¾öíx”ÿ�kÏÝ:›KŽ©¦�—|[[äèɸŒoÅ_;•¦˜�œ -Ú.í)»çG¸«DǽKÚý|æÁ¶3®Ý£]ÇwÖºåÁÒ0¿G�"­½ÖŽGÍŒÝäÔšcÓr½Ä„m{¬­_¶í�Ëô}çŽé?áÚúçuÞz峦òÑGlÊ -'oúg¬õÉÔs�±RÔõå*�Á%Ï -endstream -endobj -704 0 obj << -/Type /FontDescriptor -/FontName /LAJUWJ+CMSY7 -/Flags 4 -/FontBBox [-15 -951 1252 782] -/Ascent 750 -/CapHeight 683 -/Descent -194 -/ItalicAngle -14 -/StemV 93 -/XHeight 431 -/CharSet (/logicaland) -/FontFile 703 0 R ->> endobj -705 0 obj << -/Length1 1612 -/Length2 12917 -/Length3 0 -/Length 13748 -/Filter /FlateDecode ->> -stream -xÚ­weT]Ý’-îîÎÁ�ƒ„Ü‚Kp;¸»;ww×àîîwww'Øãûnß¾=îë÷§_ÿ8cìUUkÖ¬šµÖÞ‡ŠLN‘IÐÐZ$jmåÀÄÊÌòðÝÔRßÑ^ÆÚJšIdìø0r"PQ Ù�ôL­­„õ@Ÿª C€0ÈÀÆ`åááA YÛ¸Ú™›8h•Téÿeù+ ïúOÏÇN{Sc+õǃÈÂÚÆdåðñ?Þ¨L@#S @HVî‡Äw1­Øwe€È -d§g�sÔ·05H›€¬ìAt#k;€Å?k+CÓ¿J³gþÀ´èìm@¦Û@. ›¿\Œ��¥©½ýÇ3ÀÔ`l§gåðÑk€©•�…£á_>ìFÖ²±³þˆ°üð}€ÉYÛ;ØØ™Ú8>²Ê ‹þƒ§ƒ‰žÃ_¹íM?Ük£�HCkÇ¿JúÛ÷óáuÐ3µ²8€\þÊ¥šÚÛXè¹~äþ³±3ý›†£½©•ñ¿0ì@Æzv† {û˜쿺ó¯:ÿ¥z= ׿w[ÿõŸLìAF̬l9 >r›Z!ÿ +#k+Ë?솎6ÿô9�ìþní_3C÷ABÏÐÚÊÂ`2B~·vøH  ýŸ©Ìü¿'òÿ‚Äÿ+ÿ¯Èûÿ'î¿kô_ñÿïyþwhQG ‹ïz–ð� ðqÃX¤Ý1zvÿW¸ž¥©…ë³áßUAÿ ùÿÀ‘pÐûh† •ñ‡ ,Ì,ÿ0šÚ‹šº€ åL LFz�úÛ®le²³0µ}(úw3L¬,,ÿæS2150·ú«õœÿp�¬ ÿ�ü‡HSþ–û&¯ÎðïwêßQrÚ;(¹Ú|û�Rd¬ ÿsñÆ·oÖ.w¦�ÈÄÆþ Àõ‘�›•Õó¿Éö7 ë¿Ö2zv¦.��’YXÿ.ü?~ÿZiýŒˆ•�µá_³¢è geø1^ÿiøËmàhg÷¡êß'þ£à®ÿtÈd€°4omÀ`–œ–âP…›50&¬ÑÓÅ -9hST«”ŸëSaÝé�¼ÉS¦ûRÈ\7þù­ÙuîØæuW’~o¨ Ç‚¦3tžCäIA×�‹¾FÝú‰aϨ]„œr¢î~1+½¥ÎÅ¢²·5&¯ ]øC<ÞÊnwñ@çCá”ëƒEyoƒâe�T…݆V†Q•w|BwøpOÓ7<8ÐßyݽKÈ�OÅë…Læc›I( ®\æB“R�DxÕrñFªÚá®�MEI@j)ýGÎ8gÙªEú%:¥E€/NÆN¼i÷—ÎåôxŸ`Ü8ÏTÖûŠ#•ˆ=._=ÑoÿžëIsJÿ‰4Ø’�;ˆKÚû`÷*Ë -ú?Ý(Y3ƒòmE5Î�0»T,Lƒ!Ž¿P„šlì©Ü4¾I™€^Š3‚­¢úîgUõù[»¦Ì+O¤ ³´ìªÒðä˜�~aÕsåéÕ] ÷þ–ð¯¿Tÿ>*NQp"ïÚêuæÔCHSâwϦ¦�Xž| ¬+Rnk”žQzˆê(hFm6!œ È¡ôâ‰C -¦Œ¦@ÁÑŸIù©ñ~Ü{�ê²n…‘\väëv䨇CŽ09“ò9Òã–æPZZªå÷[©KoÔØ+#?—$’ETØ>Ž,¡Œ§óùòGá„kµþAEЬµâdÚÉ~œ!÷¶ë‡6Ö1@�tC6FˆàkKÅ¿q‰¨E´%• w4%#D=Ÿ®ÔÏó¦›lǘ‡dÛ·8¨=É»> I‰kö -å~”�óJˆ"Z|±2BWÒãTiBûCz�Þl˜G¥Äôðv¸>€¿0¦jÂOF‹™�ešGC±5¥CÿxÉA>Q¹âØ×Zpk·ºË$#5d#HÕÞ$®Í3–<ú€|\ó;Ηx÷ò“8ûvßÎ)VŸ8–W–dê"«!©xEUMYõ£cG·æ; —Ö¥n~ˆ¤Lš�éq,Íò^t/)® ;t)ŠÃ½[lEvXT�à»V©À×™&Ð4{ˆ ÿ*ü¢±1?›†ºµEÞ¥Z={Ž@¯F¦úØ ¸Úuà“ªøóòål`ËúÙÈFÿƪe ¨d™tukp6YÒ…þ3zÏ ¡Ç º–{G`B¹5×6ÿìó;¼¨\¸ z—Œ E�ƹØíPaÖ­^þQ‰b¬±_Mw]?,=G9éŠ�`UPO…‘y¥D4… ížüô-Þ.²çg¤<Åe�È‘\n ЀÌí2óš›ëÃ\s"G¸,Î0˜°¸47-kx¸ÆJ8úûÑ÷ü�˜ }ìÑn¾gÎW=´o$Œr%…Â�ÇQºï së–¡94öã8¨¨ó\h ³2å·ÜRÙšð‚Ïõà�P#—ßê˜&\÷ÍNþ…ÈÔÝ¢>B”c%ðÚJSßv¾C@Ñ´á=9©òºçû ;Ù£ñÊÞ¤°úî;ÌN³ùÔ8È”$>Ä…õFôtj¯È®’‹ )“8"c˜5ï¸éP»†ÄÍé`¤0¾r%ç‘f>Q2�šÞð™çã­¥¹! -«…Z—©._”ÌŽ«)­X[: ÃòO-zz«—%cýõ†²b×+”‹9_kE%ÝWlê¤ô%æ%èAaÉp}¼ÒšyʘLW%)%t¿ü=ýa¤{‹7篡0²çƒ²AÝEÌŸ.äzR ¸B8+£»£TK÷¦‚ö]݆f�èi|ëæa,NùXÙ„G’-Fõ,¼¨1ÒB&œ¥&3ï[åÿ?�U€'¯`ç\Äb­,ÆM»^£J¬†ë0 -)z­ZÜ -ƒ‚\†ßÎ*¥$Ûb’Ø:¿P[x9_rM6vP==¢ç�CõŒ«;ßa.ñs+×Éý�É™5פ&¥6]bž7|þRge9¯*Vâ+Yî;¤“7ᦹ3àfû ‚Þ’¢j£à{}Ñ9ùÞ;[¸ëzËHáÆ©¹œX S ‡X®ökuM†#MvøI›µ�¸2éùªM¢xàÝ–Ã¥c@�JT=]!¯;xt¯²ô¥këÔ%†4ÉQéª%õÕLUÕ‘« ×"±–Ô×Ã#¾à¨šâ'1ÄW3%¯1CQoe¬_›B³�¶$IæÃH‘$D'�ꃪ„°.]GÓŠjË05Èœq‘ö¾{®òFßø¿ô˜°$ ¾äRWUOS©¼¢ßõ_¢ŽçÁ‘s�ABרC–…�Ÿ´Á‘Š¡pÍfb{?_Óý–y!ÕýÆ|В̲戚m_YÔÐÑëá+‰y&Z¥�£� 7§%ìxÄìs�äJjq¡¿÷Á.8§ÆñúÀÝÖzgÚœ–>ÇÑ'* ‚±ñ“\È é=NžÔ#QaÞdû,�îgE‚’›8³›?mDQÑKbvÃNÔ)qÐÜI~ÀIÉ�)²Ì`ÊÞ"Ùš£Oî$Î(«šÇ›ã�¯»í Ø®âe’ÒÆ¬â)ÈO×öViâm<™ó¬ µ%äwŠ’+¯¦#•'Q€c~©D¥pnX}JgKêq㮼ÅbóÌŒW�Ðë ¿9T‘ï>]¯‹brÔnï^A«C}MÎ|z–ÝxÊÿÕ`Uažoå²ö¾òÅü¢�t­ium<+&ݺŒÒ+kcÐIl-rÑdMõ=¦K€ -Y¯¬¶/ölÖã,”’üåÏÃxJ±röHíœëÚèðøç{5?n6™ª6�_QÇ•oŽ{H_ÒoÈ‹üqšK óÂyô LË2¬ît™yŠ(“Ùú�¿Ú�xŽ™I¯Ág‚éШt¨Úù}‡d ×w,²ìiiádõOttËÙÆÁ€Wš-Q†$ár33�oÍ\� -»’תx�Ø?ÅÄ~“e?y¬˜—4È7¥Á–»Î6ϼ„IŸÖ2]rO�lžîç¶Ë4~DCàMH)|u�ržæá°•uÅÈiq·VÏÈh…Ušc¡²Ô䡯^Ë(åŽ4[ù¿ç €ÌÙ¿�",¸Œ¸ Uª¾Ñ±½H÷_1…,.‘JÓ7×,±üfµ¦¤eì.ÐrL÷–կܰ=­Ï�ÿÁÝ]¤k.EíêZ­àSnïJ>vŒyD/@[Š/Ü:lMì©„Gn-cFcM|� -Xy%ƒÈlNΔ¯Šë"~t`�Ž6qg'Ðõ“¹mgÒbŽrú~!éƒYLH(Óëo•â¸u AíA¢Àýô=¿\Rœ'!¥‚—tŒ(ú]±õûg� L²ZP&ºÌ·-l¤Få0“1>D+‚Ū]*3'^e3³2{=øäß-äñ�òZ‹¿¥u²[d W»Çžë³=ZF™$Kfp ÜìÎ�±[·¹0@'E¤Ð%Ä1-aZ Éx÷ØÞÉO²•²Mwêþ<ƒ'ÿõ¢­Ž¬ŒnãÿœÀêlT ÖCÒ*ÀKŽ›t‚vú.»¯÷ª¡Ø¤¹ç§z±ÌNω EÊT”<Ê#oUø.>Æs‰g—ø�ø+ -±\°õîNàá@JOì*Æ3Æ ½Æ5¶UBÄκ‹ã^î©I/©£Í²¹®B è’ã²EòÄÓ:à<§ 4ò \vÇ=9o¶ÈÍülÞýØÝ„#‡ß“¹¾‹:¡ˆ?•î舚.j=¶ÑœkñX_ö¤p�B¬)*ÿÓ¦´ŸI®×›üO�S!_Â$ÅB·J3¬5ŸÝõ½Ñ 3„²´Õ™Ùöĸ�¨Ÿî×P)®ùRnm—Á¨£4·m5ø™káofë¥A±¡ãz‘Ãî÷&÷6Ç®&úgÓ޾̬)\–Å×ÓM'dÛm9%[�‘JK²iÍ­�‚ãª0%û5ùJ_) o\ê0† #’h ÆQV]Î ^!ÚMŽ0 ›�x̳C›7Î)öÖè>oÓ R:ðœÉ�r߸C(‚”@%€QÝÚùT¿ÛXâl\=³Žþù%ºßj¾øi€v´¹É±¥ú|F®°+Ð%›O”ƒ?u¿žµ‡&£%`nÆü ¡—Àq¹ˆŠN¹JÛ°Îr6ý“EbÑ.¸x­g¡yu[vdÌqÓ&pŒc,‹uAI KóЏmbŸ}ùò³&öË€æWóPÏ’5D¶ïÕ>|»Äcôp„1š÷ÏmÊbü®:Æþ��¬ôß„Yñ<ù %w6ø¸»_o¡iÙkîseñÉØÙrO¯ÝòGi†É¨÷{`£ÓE/Œ¿ª�Tå•e¾Š)�s<Ó“åiÁƒkÃ�^:º`ûá �&ûÎ( -EÕo"¬Áyò°•ÍlbM7ÙH,ê«pêPÈß"¢£ø²^)WÃ,bœI¸÷BrNÌ‘êDP֟ߘ5ŸyÒP•£¶¦jŒ“uæ[L -±lÌ Óì'MO:”©f¬½õmÕˆ( -³wLâìaó„ßÍÚ“Líu�ã‰Ì‹ �cL[VôÖxæáìÐÆÉáôgî’”I©U²=Ùe- -Óõ·ÖÙØ6‡„ûê^êÏêôñhÊ Ö¾|r§´’†Ý[Ø�Î&Ò‡ª[·D:fã-ê -ƒ�„`ñyÚÏɆºßj>›@æŸÿMÖ`Óï€>ÙíôH@O.x›™íÔê]œ‚Dë¡4ðÅÖÿXš-##'5°=�$k ½¸ÎìkÓYA�O$¾)g¢ÝcÛA­-÷ŠÚgw[m௫�’ ÉÐC̰»uÌõ@Ï^{;ÂO©�˜WõÈ/4R:ÛDío¯h1ºȤÌ_QcÜÖgDßz<žF”S¿�~12…k …HP¢”°í‹¥ä®ï…fÖ�…E÷ÐrO¬Ò?îQ÷éo­`âWz%ž‘ö75Áõž³t©ØV &�õÇ<&�iì’QŒG¸ð~w*ÊS¿%Xáö¥›õ7� õØb4R½ý‰zBæ;ÓyǵzŽÐR§58¡öG`†x﫟Ì%žìsþ“U]‹nmnH -ö`ÔòFä-!Ô‘º“†Ì´¨ž½�F8½KVâÞ ýú½kØHH©ÝíH�D§\³V1ðz`¤úé!HÝ÷m¯&ÛfÈ�s~PÇSúç�óyy;Eú‰Ë¨¦h�"ýƒÏ¢óФ�‡±TÎãÀ30Q'5c‚ž›7ót½T¿àbÿdÄ\gOXWžís~†Æ1õ$©Îm§&�çî– ¾<ó€>Íø˜X6ÕÙý!Úg{"~CÈ�n÷Ôd¨�¬#µÈðRª‡Eo“á³#Vn ÿp·ÚÐ@ÅÝú:FÒ##n€Ôš†á†™uT‰~ÜJ¹~¼’HÆnîù³ëÑ¥óýŒt�Æ›.øæÆI?üi4}|�²“ß<‘Œø0k¥‰cÓÕÌ;.G®Ëc£¼Í *•¡úö_E„¸›b`Lq%`ØÉZ’‡‘øƒ™ ¯c¥iÍjWN…p˜gãÇdv‚¾Ù„® =‘;×2ˆtÄ1Êú.Å]5E½Ý`Ï(6Ä›´ÌšR¦Þ'¿”LÖdæcOÉ©Ä*ãu"àŽ,눔o.i;„šNyWÔjë76 ä´�ã²éÉýž~GNµÂÞ^¨õEù$ðj`‘äÕøÅc09|£³£2OßU ð¬`ªÒ¾üŠÈ¼; œh4ERü*Æ^üö›+ÇvÆ\˜Å~뾚’SÍcš%Ã;º'cì½àIàUCÍüAx*Âù  ŽD²$%½"ñ0‘<:°“¾S-Hkö#~N9)í+ƒ¿,¬È¢ã/v'wo¶ÐÈHEáóø�7…Pö¾CQ�ýgHBñ%¨~ dÆ “q7éôUrK“† Aãœâ•�b§áº)Èdº¸È�@Á€âIÖÒ}rÞ÷"'ç¶8e0;€Ñ%U7šì ›z*µæÀŸº–+$»\.êN‰¿9Ý[$]  Î"Û+‚Õpžþb êãû:KœgYZïkç/ÕP�Çfݦ÷þMÇ]ŠÄœÆÞ©h+Zš2à"¢j¬Ê9nqDÏxàÑÄIº›ëÆI‘(ûã - k|{É„…Eù'ÙöˆúÈ«C¢¼HŠçËÊ:Ï<_1ÉGBå€*¥‚³„‡ušÖöA»£�DÒšäæ`>}h¿?¥Í×{4Ÿø+Åù‘N—#¯²ý†ù爋³ëÅà„‰÷rr4± -�.¾^V¿Æ™LŠ$¸bZ”æÔ!ôZNÙvHÉ©|¢¢Šn&²§œ°ÅÜzggk©’i?ÑÅûéÂ7 ~½N?”ï³7 ›ß` - Zü¡ï¶±;¶ÈRØ¥ÅR¿‘&#Óvæšú¾ÕOO703ÞîàöŽ[Xù7˜î }3jäòo¶óÙy»Ó^5áŸC½+$§ÿd1¡~V‹¢�¾×ûStM‰7 °À¯~Úœ]5Ùv›’õÉg t ݸ:ßá±R#�ÚˆŠe! LŽQˆ9¿ -2PþéDÐCª=åúË_ú÷ïh5â5lNç0<öð�°h!8…:é��Y¸McÄ(ß9G/Ûä€uŒPX� ×|@¼ÙÚÛ®Ìë9w‰ùRÃ~ù†X1NJ‰w!§ëï�S„k°àðèûE¿Ž¤ 9~PIµh;nþô!:†Õ·†þ -÷¢ù‡ÙàpXõ c‰’ÏC�›‘ÅGËón8ô|yÌÙûÝùñ�8+Œ†&ÒgæeZŠü-n˜½WÚpߦDNRëFDé’SZȯr€p®…·ø¸�•î×M©“N-ÿÆÏhQ,{²ÒÆVì_ò -µÂ&ÊøÃ_îxÉ$ò¾%É*'ù”ðQÙ–LäžÒ¾usäZÿ|Ûe½å©¿6Ñò¸¨Û{Úô±§>ø~ÁG®.ž{áaй -]Yëä!åñ>íòÏP›R¹¾"‚ŸsVˆ­_ºæÐyjz »L b7*_»ÍÆÀ Ä¢ýp×î6龨´€YéÞ'íS“{`�¬ñ†…Þð -kÞâõ}I›+ê{¿ -·ìzŸÔ�äØü韶sI§p�vFÞ�8õf÷§‘¶u["ËþÙ�ÔäIf—�& -Eº5øÑÖ|`�•*@œ¶ÂbX~XPV¯†ÜïI+äS![¢ ½Û/š¾‹:;S 38±%µ1(Ï¡­ž½çR)`Qo�º+t÷ä@©LÊJóƒp¤º/¶�M°¡’8ƒoÇ/õîÌ?gÝv VM†ña÷¸ ã×¥\rÉD…†˜öŠÌÚCÓ"íù7\)ù*‰‹áHÒOö Ú®â�Œ’'ù)�Ó³Ó¢l�æq4Bi©C½?s ׯ7H�æ¯")¤ÇøxúMx6¾åƒ,hú‚dï“Ƀ³EAåŒ(‚oŠW¬£’sçp#lqd¥Íƒ~oìb%|ÓA(ټĉžOCS¿Äd.fä>n»ˆç��0CU¶ªØ9ç«@‡fiYdìãµf^ƒ÷îû1<ù’1a™˜[Ôøk8ת™BÏ©åM”¡’rPkþãó”°ã«•Ë¢‹NK3¢ú­˜ǸMJ^þ¡•X/ˆÏ—.UaºÉ«(ƒwd‹�(`”‘gðq$kÉ¥ŒÛe%W”CG€„úŽ·•‚øjB‚óíN–ƒ¼¨UýüU¨ÌM›2h´ß÷:ÓðÂÜXÖE>sw�ß�œÆ-gˆ>�òpÏÞc@bvÀ†ä'�±Z.Å,Mk<Âñ\>»G0/ŠTÄG=I⟠Û'ê]^û¤‹Ä½øyÄÒó� ´RÎ –¡g8·§‰×à7E$ÑßÁ’w„;³qUhãÊ ãUŸzæëÖm—Ñ5æ(H’…o÷ôîóÝêʆ÷z‚›58�MâÉ3o‘ªÙ±kÌÚþõ’-÷‘3”#@dT­Ò\ÔxÁëÊìŽèèŠÔùTËæ·@ŠPaЇé)Ë„W‹ œ¼¾iÔÑÛÊÙ{#%~»Z(§5 -ë|·æ”úºI­ª$L2_Äü“:ƒ°=Å3ro´ ¡2À8’-ŽWZÕ¬>µÑ6³¯ÙŠÛæ­ÿÊ�öûÀ^¦Ð]Hâ¥ì‡ Æ%ý”âD‚GÏÏZÉë¸Ñzåé–¥~mýI0û©°C.Enô’f-5r/–ÉàTZ¸…ß‘S‰¶ñy&ÂÉ7Rü[cSôоû¥ F°dª*–Û{X'O‡5®óBBÆ£±Þ\sï©flæú£·§á†*Cª~Š1×ÅpèŸñ"°�NCéíPp r-º¡I,,ݼ§Q¢R7ÈÑ�ºKágÖŒÃe8œN’‡| -«úVL‹Ž\4ºoÞ¿›æ„�îðÅlm¶ÄzizœY›ÐÀKvbüY¦f&…”¢ÑýYÝéÉ«¸l+-+½CÞ7¾b—¼²ˆ?ažŸ�&6/X+âqçÛ–p‡¥ùÄÆ‚*_lÎt iÞ¸>Á‘áMÙ¹°2G¡ýÚ:¹¹rù,¥ƒ«1tÛ­úÀût9‘ˆšcãklÐ<¯£Î5™–Xl?¿', x±‚õÒ/ lh»µÓBzÀJ�ñIžÝç!–|‹ó2äƒuK -ŒÓm ŠÂ ÃWÙx -­Í¦XF)÷饫EmˆÎ×ÿ’ /㘀¯+Ø35-Cwñj̓…*º²0¹€ÐðÝ}Ò4@’¹Nüe/ÐÚ°ö×Wh5Òñt�R -RüóøP–˜9ɱ Ž¿(8â´®•Ò—4»ÝÜ`‡RÃîGN›µtHŸô­[¥› ·Ùú -L£@®&Ï8BXuD¢Ï Ä)9÷…u˜‚h7?2"-šù=îìJôQÆ¡pÑv†á®Ã@ø¡×e[�ñþl>ãv€dÏH4®üLÝ𓃹p^i¶>qv‹d$%S?Ã+à †ï ÝkƒE“è”ÓÄaÅÈ£¢®¯ Ï&–ÿz }UÇÏ Gf3�€â͉íúÚhÀ�„Ú}))å×ïK“Ã(Á_«qpqƒŽj @æK´7® -¯ÓJÊr8ÚU2:¬ûþ˜ÄI{.v8“42žwœ³ -n µ5­G¸†KN‹Ò �_oL~ë90‰F1,•eè“g…ð¹ÜÚ?Þ×Ä¡Ö Pûî2(Ãö·gÏÎå0±pn­oJ¯CQ/À#©+F`ùaHó°EÞ§8ëJ�%YÀÞOLŠ«‚›å½ÉºÏ7g .Mí¨È=i V8™àŠW€a:#ožÝ‚ÙI<†npýÛââѳïÐÉXÝ#úbè÷RÍÞÑa%옮“�#?4¨áú,m|.�³?9nǸ‹–®ä~˜·Íð8§”à¿ó±Â¼ ’ŒÄfXÖ£üœv* sÜ\Mž÷¬ó’ýÊïüê·T'^€oø œO9nEŸa†6HûêB vHŽ„còœp“$°£ö>°ÚÏÆ:‡Ê»£ýÑ2kû"nñw�À$êQJÇŒð(Ë�²�p”ËgÏÅoï³=ÇVžŽßatÛø”¶ã'ä^ým×pÏŸ;sÝ9KN$RWæðbF´h-ÊëŠ�cB¬JrÆ]Õúô;däÏ9aÿþ¼EíÂFe8tKÏ^tŸL!FŽÉòÜ>`ð1 ÐhFŒzø–vôÀH8íöÆÞmóÁ _ƒš-“£Yaœôf ?.±ÿfgͬdv 'f÷ y‘?{âéó]Íïƒ�Àç>Óìÿ²å‹”ÁðyʤKI_š?4¶É`RjÌ•oê¤É cÑ1¾!L0uA3Ðꦫc´}F7´…Âr©ûöüSâ¶Ä.x6Žñ -Tî g¦ë÷°—Ùdzð‰¥K'çšàúýº'xâ‘à÷PÈYa‚×ø§Ýåçv�;©2Ã|ÞÈ{QA·DOñDèG)Îpro\ -¹13 ½m•�6i)™Y,‡ÓŸm Òt*±L51»‰ê‘µ£,ù©¯ÖP@D³¶À)µòÿ¯; -_Þ"¨,'7žo’‰c8™Ýü^ ¨ ×�àào9`ȦS8Ï_kÒ¸w›_<“÷ò²Wfj:&s#*©Z«Ã!þl-4V0‡\:Ž'p•𸠳¡¼'´Þèƒñ­ õ¡r�“"îÇw�ëO'u±HÆ’ >™_ÖœQ 5ÌWƒ[xöƒJÍX\’€o¹±ñù?Uì�“íŠ@S…sàƒ%áz1 ) ÷´Yt�:ÖˆOyr…éÚ¥E5‰¬†»c"m} î87žªúáXØí**üµ¸ÊskŒVF’Œõ4Å"ÆAþµ½áJ\µÐ"ìŽF8Ë;J?NháÄÅä„fÝ[ç)ì1ø'AiyðÚÒ/™žÃI3!¤â"úäÓ‹Û rqé†ûˆñ?.Þ;ÁSãNé•ñw¦Ë÷½^ôÓfô¹ß4 -5}Â^ÄñµRcCdfi&gŸ¯Ø�tVÒš`úg7C­ ’oe pÇ¢†yH‘œæ½ç‘Ü”ñh‰¨©°­û®>^¯‹Œí•8Þ³í¬‘U69Òéz1ú‘ÃÌ寴ŒÞÅ÷ì» ¯½ÌÓu܆BKë|ÕVtžRé;á.‚E’Sô5B@/Ò7!¼U’DŠúh).üïy� „„ªÈ‰%Õ³§¯©!,�dmí[%°HVî±è˜'<’¦]G˜d‚ÜÀë@v¦ç &I íZkôw“µœü¿ƒc^ÿX/Y+‡y&MÇ.ãkPNŒ4G”ùpºÎ÷L� ÅìL6r\o‰3`RÂ"q>òLd(v‡s¼u$G¡.ÅÞK~«Šö¢êÊG#ê„t§Ã±mÕÆ2ÇÈÊ«éDIKŠóÃñyÎ!»§µ’%QIÌ6)Àà¥Ô›0¸i:AÓÙ‘Æ"ø¼pCX!Š‹Z—¿Z{æÚV°MÊëÑOöÕºU`™æë‚ÏhÁ<Γ}Ë ›ˆ†^ ;ì¡«ÑTP#í�|wš—€Õ�W3*½"gñk‘�ì¸<–ýR%&¦.‰á«‡ ×vê­cᨉIEšrÏÄ—y]ymž~ç…þt]Ú�ÁØ,ßÉ«Ù*¢õÓ…L¹9†!š; ¨•w…ôבD‡Uðê–Ÿ„»K¸M—Ô�ªÓ]— 8 ëj£Î•ä߯~I0Yˆš±¢ˆr7„�záñ¸^¼]s=T‰ŸÜ¡ÕÔiCàW›ÅYÊ,#j;u¸Ë5íÖ0ÐÚhE¿'©0Bá˸ŠZ ?•¬Æåq®ÌŒ0S[H¤Å¾î È+žC Q�U×z™�¿O椸 -“|XÀœx•^‘c.!#£X»P’~Ã:Þ3  ü\ð~ä;ëI"ÏŽä*;‰CbB°ßŒ2Of|ê~ΈÒf¾4Ø={P8Ö*¥‚´’MAQöÚ@îl:…©þr»”\ãÏgT¤>5_tô 3› -Æw+ááþà^Çšõî8諃v]*ö¼Ý÷úçþãbÞ1}»ÍŽÆÄéëÑ5tZ¢‚Yxé7|T�œbÈô2�E´Ážÿðö`ßÛîMÖMF7?…# oƒavS^¬|�‘Œ_BF.*Ž*ó“ÈÀçλzh‡‰¹0³¶÷ÄOyðY$Ö6Uí÷qŸéÇGîìט̌�cu]|Ä—ºë0h'ú‡“¶Ubû£6g>i¤�é�é¸0ãhMŠ÷¶šUš\¹ÿXôï+ù-öÇð°šï}Bß¼ÄÐù÷«Ú^]|–InԘċ?|Þ(ËÖ:©/—<2‘ŒÑ׸°Ö°êê~Õ´4=[„j˜ý÷ëæ‰·J=*¹yë�_ ÙÞ±ÐÆ{Œÿœ(’ÀpÚªèd®ì^^H<6t2[8¾ÔÓ‰�Å[mÁÈ)]KRIIžé½|sO­†ÃZeee½ü쿚X}IBÏsIF! ’2,`TÚdI?�œÅ¯r¾úî.*öÐÏ�ÑfêqÂí{Ózb- “¿lø­8ÎÞ\u=�žMRü5“s(jèɃ¢ŒŒf hJÆ;–A'oæîîú\Ã.Y¸³°& 9’ŸýǽM?0)ry¶ÌK—ÄÂ/˜ân�¬¤Ìª£¢IÍÇ,ánÅèa7¾Åâu©�óŒ{ü;ÁÁajˆb�Úƒ/yq7*[½Ñoˆ…æ[K-Án0dB·žJy5JbOoÒÜæ›´”d›Ërüú“]ÍÆX«[¥æ¶ñ�¼ðsj!Lh€„)s¤’ù@’à!˜kÅž¯Oƒjv›€h›õ¾˜Àý㯡öÃåÊç¶ôx$>�ýÁ£x�ãMëÆ·u^ýJ/ešXè­¨�ùrð�-°Ã[W¯I—SWLÿZâl8§ �H‚*g!7t9œþ¶™%KÙ ›óîõ}¢Eµ>`ž“ñ:jV¸C&QL>;*IJ ÷y´��õ�|‚‚Ђ -U;ü„"µIèbpa¡ðfžyÇâ£íDB‹LÃÆ’Ž;§Az>·��BíñýQæÌfh£“5÷x9TÁ…r%÷/]ÈsZrÓ Ïë´Ô°jòŒ!óÌêæcºùþ¥öŽCryǾÉÜ©ôƒ‰Úë•ÜUö¥ÛÒô�ÖGZù ±%Jsøh/µ¿ÃÉÒP.M”ï'T$­TêLî…Í‘�¬÷œˆIT™Kà9ÐÝèºX0)‹åÏovéd+Ô2>¹ ÚR[X²&O„XÀ“e~¯d€”Jœ�¯÷ñ" ÌV'ô=GÂ"é’ÜíE -�?pƒl»Î5’º áð=ycÿx¢çtt[Ÿ§ÛÀ¶’f°0·-ÃtóC]Mr�ý;•‘óWéù±­ð:âЉQ/"ŒÓß¾q ½}>GYŽ-K ††çÙ>ñÍ4ÛôŽ b›Ÿ½Pø�gË …Eæ‘LúJ‰2�Âɾz6¸qEy){�¨*g#€–÷›U«‚doaô lTÀ[hhv€=Åc�A”$ ÅL9¨áV/GÐ¥%Ç·D¹ Å½Å:9 4ÀáPËâ�œö -j�ÖÏÍmþDÊNËÍOL T«Å€ú•ɨÂ_l8,*ŠìOŒ*^سá[‹¢¿ªvÀîÓô˜ñvž¦ºS²7´;ëGøúrL4mVbÕT( ›ŒÙÐPÐg|µÎ<ü} ù\n7g™2öýqÎòÀ®q!7¼s°’«øÓf-/~K‡µ†Ÿ££ÞK ‚ÖV¥Ïa‚Þ>ß"cIðC˜˜C×RH€ò|)ðÌï}ÿc?°æW4)J'˜Ö…\ø I"oÄ -dzfŠî6Ë‘H”Gâ\{^ ;ãdO—R#HjonŽ9 ~£¬“9Íæq˜ -rÀ–ï*+õOˆÒ¢Ézåógs+ز6Ã(S=8Å€:ï…Í«²t³ú‹­ ©M#ÚG` õá•í¼‘•ÀF{Ñ…' ŠPÊÊà^ª÷žC¸X»èNý¤G‘Ý y§±À]îçìB1·ÑrgéR*ÿ¼åÝrjUDy‘Ð2IÊèß ÚŠ �M§mË \Z¹Ec¢˜ªjñU õ“l&‰5¿3Q±ˆÏ¯O´gdÜ«òªv#1ý8•Ù†¤EVÉâòð‰ò—µZ#kÄ\J,<õDPV;(PÕïJß§‰Ô -¸z·0mÓIœ±Ðk„j·Dõ:v³LFPÕ3–5~¹€wzªC~ùÒI|ÓGÄ�͈J”¤ùå0CÝðl °zyß»ï]xgÕå(R-¼5é%n—&"–ú”<,<ÿا4‘‹ø-ªÚ"L1/G�7� „às!ú= š÷¢¡Pd¾ &Ú¯f‡·^|·ËN¹7ÁíûÄȃ ´ú;Q�&|±Š>Y¿»¤kQÚtÏû1æ¹›Ÿ™°+ip¢ÿødUª -endstream -endobj -706 0 obj << -/Type /FontDescriptor -/FontName /YDPBQZ+NimbusMonL-Regu -/Flags 4 -/FontBBox [-12 -237 650 811] -/Ascent 625 -/CapHeight 557 -/Descent -147 -/ItalicAngle 0 -/StemV 41 -/XHeight 426 -/CharSet (/B/F/H/I/J/M/N/S/W/a/b/c/colon/d/e/eight/equal/f/five/four/g/h/hyphen/i/l/m/n/nine/numbersign/o/one/p/period/quotedbl/r/s/six/slash/t/three/two/u/underscore/v/w/x/y/zero) -/FontFile 705 0 R ->> endobj -707 0 obj << -/Length1 1608 -/Length2 7084 -/Length3 0 -/Length 7904 -/Filter /FlateDecode ->> -stream -xÚ­TeX”í¶¦¤D†îîn�î„™†˜Á™¡¥;i�îPéIéni¤i�ƒ~gï}®ïì_çìïu½+ž{ÝkÝëyiµõ8eÁp+ˆ†âäåâjB­œ‘z–0uN9¸xç¼ÏÈ(�€X¢ p˜‚% -"4‚€� -��È+**zŸ(wrG@mlQ@]#VvvŽy~§­Üÿ¹;‰„ÚÀ€Lw?.¸“#†ºƒø?Ôƒ@€([ÐêÊki?WÑT²(k•!0ÂÒ¨ílåÕ¡  aZÃ@‡¿ C·†äºÃ’E-�H'zw â‚8ýq� G(y÷„"�6Kên(8 -98ƒ¸ó[ÃÿrBÀï2ïbw`Úp$ - B@�PÀ»ªÚ -JñDÙZ¢~×FBïÂ@¸õ]&rþÝÒŸØÌ]e …!�(ˆêw-+ E:9XºßÕ¾sB@ÿÐpFBa6ÿbÀD@l,`ys‡ý{:ÿêø?º·trrpÿsþ'럠($ÄÁšë>/ß]Mê®¶ vŸû÷¢¨À¬á@^ž¿ü`g§Ä\ ˆ?bù½3¬w$,Áp˜ƒ; ±¾Ï­ GÝ•²üßTæúωü�ø?"ðDÞÿŸ¸×è\âÿï}þ;´’³ƒƒ¦¥ãÝüõÀï^$Pøû�ù_¹–ŽP÷“ý÷D#È_ ÿˆ -Êòn ²0›;)x¸xþrB‘JP7XŠÙ­-îfôÇoCPäNË?crò - -þ-¦o ÙÃ~]HôOÿ�ù�<xs«h뚪°ÿý5ý“¥}§:JßÝéŽØ÷¡ÿÓø�!'wzrò -ó9ùy„ï.?PT@ÔëßÔûÄû/[Ã…€ºMïšæáýÓúÿ²Ìþ£ÁÁ¿÷De ß­Ö?¿Ã gâNÑ?·ý®åØ–qƒ€îÏNÁAâ�vI©É¨JŠÌîÓŽ6^Ìî §‚Oú¹Ù¾åðVŸ¤ÐeÑ’—¿*‚¸ª†ÄnêÝ'wœ®×UÙ6zÛȘ[ßAö³žxѳ¶g/25 -³oøs›&ïEzL¨/a™ñn¬ èèšçÿ¡jäGÜ;8gõ¥wÉö%e8szà Jüø†¬‰¨ -íaeÎÎ.ÓÛ­ó3æÎ¾žî®ÖCìöu*öŒ7xŒâ.X„L¾¯2¨¤M J<£¬òyßv–Ç··°ð/Î’W/ñM¾á}*Íyî~€Ô üü=Ÿ]™ÏÇÈÊksÓêò™ËK6ÌQ­]%&X'3ð=Y?±Œ–öŽîPQÝ÷]]ôx–LyZÿc X•{µR içË }šhwáÑZNc¥å0×g߮ˑژDµêÉ -¼8eRÃwH+ׯ~ÒÌ%Ûo1.ì«ÆÞæøZ{ûHÞ¬o�æ»ä!"Ë«é¸O ‹¼Qwϯ¾8‘e…†= ¶OŸÉ—ëüø¡ñøØ%jíéa¯ Æ’¯h?ð²¤_`•*E }À©Ë+^+—)¢¡a'6°¥Lëã¿pféKaǰ­“òÏðŸõë&à"›SqyTâô©½¾½7øYãõ¡Àî ¤yËJ5À¨ÞÐ ÷“]œ ›PvŽôvåÓTà~. ž ú6oÒÄ…ÊGѲt÷mnŒWW¬>ÜžWi$®þ`8ø�+šK�…I\æà3&¿4ôQÝ!£•O„ö Ûhž#㯣åÃÁßC;âT -ïQð"_%\Ö–5ê£Ä§ Ä�5öÉR³qÑWg‘r þ‰rú±g}ÊOûŠ¢A„H�ÒÇ|>¾Þé÷µ:ŠÒaçh9ž�Ñ÷x÷¥úgÞgÇMIü -Ãg9KÈ`-טwË�C ¼XÈöµ­¦Fv-þ¾|8^äpk¶B½VéuºÇrÊHvAÍíúËÑ7—«�Úf¦è‰°Iïš‚úÒW ¶§#´² ;ÍD_Õm•æXžø1Þ{}ã�†‡DŒ«c*¢ÄjöÃF)˜d]ÜYMÁ€ö÷õWáÂåÜ€ Z‹Ž -¤Ï*.¡þ&ã¡ îk³u -ÂËGœš"†AW²Ù3Æ¡H3R\ªŽñªV²#/È)»…†âo|.�œ‡«iyåBn2uüSû3‡ÉjšÛ�µ›™Íéœä(J$°[ à–wH‹J:I2ÚÂÀÜ4ŠER!‚†¡A{vî¢ê'CñCgÜ‚4 ¯W:Û5è¾Àè'8ÜoÏß Õž¸V4·•2xë>ñ€{Äì ÉŒ¼–0Ïù±ýêxhßI›)Ö?½H²uâ=z³ýÏÕûCg½„—?(Aè&¾‚E­Ô9|Äš6a úp=—š«îºå(HÃhHtfeþÅ•º"5�ÛŠsìóÌ)Ú³Z¢V×^ßFeÙüÂ=A¿Uç¦ø½]Oïг‡öá¢Üi=äxÕÁe¾)¿‚–ÇçÔˆ’õ^î0j´P°4�Ÿµ·NbNšØy€\*4À¶‘4ú°ƒ•H�Þ|�ù\Ò÷8DÊ ýw´Ä Vvq£•ó¢«r6ÆÉB’QÝ’ï{‹ÐÄUU›]ÏJöéˆê+/ÁéçuëB5Ðj+Ëgn.ËýÆe^̼ -Yé=,ö_•Š’viž@©2íü÷Pò9èTr(xu7ËîÎW™oÏ tF -á­›“ò�ð�{¦T“¹„«?4÷¾óQø‘"ΰ¾ÞG)�wsõÍïË'“Ž€ùÉð -÷�4É›¯#^ã=]/¾?ƒTÿ4ÃQ¸XáÑá<#B#o¾TE:q% ÄøŸéh“%ܬ #„’Ø=á^ný5Æ:L§<ì™ÍË¥†­ÂÛ¡˜³®!xŸé“–r]azÍJ M½¯ÇmlÃ)¾òi½5°C “PyD¹Õ£I3†éò<;S•&cQŠQÏ”j3gµóbÉs’?wG Êô- í­;{fyœ¬C¨±8ºY�ä…œKN뻳l^ÂéMö¤„¤?}}x¶Þ! nAZ龬϶_3ë…”dÇ?AŒæJs K8îÖš’?†ïH½°'˜ôúJ¶ ã²m ^­Öœ¨Cc®ëºGæð.ãÝ™�Ç@£r1…8¶ÆmÖï9„Ï7¿:é>´~À|¼£M~øÜoÜ\rդ탧V{3fGÄÙä®$³Ž¶äö3›éòêýyì$ã**šA¬‡CúíÝm/�Yc ëœÔ‚5*ŒÜ­çËŸ6LwŽŽr™-¤Ø0SkìRWI'LD^DKPbá`l.Ä øcÚÚ~ŒS~\Ÿmö�’øñf+DÆ=­û€‡ËxzÞˆEuópã�·BªŠ)j•Êá]5Ïr2·TlÂ}"R?M`+›j‰Oó/¦èžK½“r.+îùÜãOJÙ®·SŒx~ø!Š]m §›ìGM<_··å+÷Ëb/kO’â(9!ô^>±• —Ïm¼ü˜x Z&XH`â¡‹Ù`†€Ë-wñ,‰L]Ä®„ÁRe¦TÇ¢-ºÙ&a€—fPé³ëòC&fk_^>§¸+<š×^œ òc#^4­Ä¨2}+(ÐVÕE½ Ý"Ü“«ûU °Ûº|mus_ÅDqäÎð0l‡¾³Ý‡P¥”ÚÛó¶·¼ àöÌÆ{Ÿ7YËáVþ°ïñ¨Ï/O)ÇñºÀæ�‡ü§Ñã_ZÏ©ndMûÔ†°Ç$®ñç*´è»h1k^Lˆª-R`3E-ñ}ž«Íy…3Ã6l6ËkM°~ÌH[cp¨B¯…÷ùjvˆÉÔŽNòÁøœS»ü-5ÚÝù ê/˜T²LÚ4õ¸O‰:æd 9÷¸q;–ùØfI�$Ge~pp"!ýDr?+9vuÜrŽ;~ŽYrš§}~ æÅWòëŠz$`¾©ÑNIòø½ómñí/r+Q¹·^Þ² -MK2ìË}_ -üa±ë`3KMPºKÎ}pâx)-|­³wâƒØa¾Õ³«Ê¥™ïɰÛx…³»�p¹—ˆ1 -|Ê6™)Õ‹�'¡ìáâ7TX ôCé~^Zçrk®ƒÜó”Ó¼äÜÚ{²ä?h‚ôLõ}CÁãw)ôßËØ¾÷è)î½÷zõþÂ9ß>rTz½òôþšxSC=8@hidé†;�ðš *dd<Üî�ÕòCd€ÿ¾Œ‹¸›W= …BÙ¤£ɶ�j-ežF\Kò`¡]Ÿïø%S®tAÌŒ÷¢y� ¤mI'ŽЭÌÒTÙ«¸½z�é�)¤³5Ûó|³?ËzŒ1Ïû¹vdŽÚí·'fz¬Ú.NYõoñŸýtBî1À}Ÿþ”`y0ÆF…ƒ]«/ø ×´`Î,P׬O†Â{ÏTëµO\ÊÒïÉœ£Y W¬KQ×®ÙàÖd2�A/³Š0€cŽŸÈoG›ôL~»„Ð(H`‘C^K: #L4b|—"©?í5—úˆñ‹� ›H�¹#{èmÔõ½^þüÕ\šºÇ•ïʤ Ù}»�ÏöžGØ-pÜ‚E§¥Õ>'Ÿ5©w¸Ü‘S7®ç%\ˆÛ¦uÏàá9Õƒ¸œáž¾§ù×´‡ÅKÇ@‰ óRÐ4�‹›^'H±ÀÀvs^ }…„Èd&�u·©�ÀÛqntveåêpÍÏ’2ÀZwйzÚÙrm ‘º^-3 :ªbwÌ“e�ØMfso›¤ÂÞNžÞE f¸ŸîýØxÒc9be¿‰%A޼`Ú ªMMñ yÔ…¯)?“{r¢RR|È(ŽÆoÞÖ \E¼Ä–éõ*†÷¾]®mÂèi ¤½ü‹–Xo‰þ܉¹<ÿZ_Vã—8Ù‡%NU•uüžÕâ,•'�q×îR9^Ý^oGžy;µh©¬`šªvi•+U¦Ü'á8&Kf§:~Ì"æ¿V‡ç‰L8ðêH5}Œ§D£õ)ÊlHŽgŸ!1}j¨ê‚zcú&¢]ó&vª/ÉsfCM§¦A^ô]tBâ¾R3Z$Fü¾„Œ´6Ö¡m»ø~×d¤ú³,�¾bk±#=­€Äª÷Ï>’ï£+ý SÿI�ï@¿k}Ó?K^ªð«ý³¬.�^Žõós•=\ìO“…y›JøÜ“1Š-{:ïÑpÆèÒºë2†™ç•iøÔxÐ_¾ Ö1^Ù­ßy0|Ú~[z½ºž&~ÞÇ¡C”ª3Ÿ‰re£Ü8³§c©È§ü1HRrâ“üZ.´øI䜹<¬L Ï782†“Td»ý™Õiýôê£ç˜h;�É1©êíÌ@kŸóðBôcÞ,Ú^ðª5­ðdJí(¢Y·ôÂÿ×»«²­Í5oµ•EžFÇ€I^Ê—.}º¯³K<ÓÞVâ÷®û¥�ŸG§s¡Qã-§UO›˜/̵÷Cƒ0qH'qp3sgþè*ÓÚÝO­¶¼j•U°›–1i¾ÝQ. ¡d{:uòS x5àòϨcß.šôœÁaÞÛy€kDèû´DL¿óSÜÙäÚÈ:1Qα—Þs,ŽéA‘ŸÙæX±×2Ð_ãhÃܲBòhlF-ÈîãÅAŽ^NÝ©8ï7`½ú„ÕÁ›i¼hŸß 5†Äáƒ_ZHP�²I(×Üõõwº§ç¨Ü¦™N+ùTõIJ0µâÜ€4”áÅ9¶”AÇeÂI-¯®¥`ªÎˆA~¯@A4ÌúÜ! -cL"¸æ`Èxpª¤àÈ©;Hq—÷B?•­È'¯´sËê™HÁÇÅa•uùP8ºaŒî&‹ - Çsqøb³ZqiB25Uß´bVÏ7eÒäè~Ó•ÓÂ_ôžÅü´aôH¹ßËiê^-¶ØCoFPüzûÑœf8­aÉô+eáºLß[)‹îU²GK6؇=™F)·6né9.?ŽX!ö¿vYùUŒäexŸ¦ƒ {/ùoºô¢²ä|Oƒ>MÚ¨sï£ð‡ßXü`ØáY“ºb¢_\6e£ÓÝZ¼ú­Xó¼ôözXo¶nöluæ\!|ý¼Ä‘*”º:Þì·ÊÆ)x?›¤ÌPpA1=ü'Ìf-í¥aͪˆ*Ç*ˆ{BX�V:f›QµØj”;îœ,2¾Õ+íge ~(6™¢¾)…OgXnËe<©‡µF+ËÒ˜vDdÏøNŒ^ó×KÇõ̲/jÑô�[ñ3 ÛW>KO8oR�/ üÏ ˜Q�~߈‘áf*-]ݹ!R¥ožDù>Oì =ó -&ÂmM¿Ùi†·(½2<3©`Œ€6Í’h]…¥‡éðñjcÍS�‰�ÒÀPø$Õtõ—D¾)KÀ0¢¬F‘&ŽUY£³ä$ý9ˆ³Þ¸wv )Ÿq*º—ù;V5W 6¾sé…u’àðÐ9�¿ô¬ZÎ*ÈV=}_.»¨œœ×zì"™:Q—·G%åÿx�HFʽÏÜ`} ýjÖçqsD?R‘;—¼òñÔ¬û%‰´ë[ †ïgAïoù\äæ MÓq"}Ù&Yã d¦ï¼²»RlF^õ¼Ì[ãxëvZbq[ ÿZÁæ¼:Ü…í§aJBSÌ)(«8åì>àž¾5°'Ñù8þ@\í¢ãÄAQë5Å7©x�²€Ó�t‹ZƤè{ôá…ñM -inrÞôµ6GÞg93+<½s›ëD›†˜ŠÏm~™å.%¡Íh™&yÜ�bYߣo%T‹\2º�Ÿct…$÷°²_;ØGI#ð,¸Ô�:‡Šâ 'rÎéÜ•€-ì45!¥û’ù‘õ'ósVƒÒ�áN@JûM�«£�/Aö3c!=L® �ˆë Ñ7¹Ö¢Þ“ý×Çj‰l£„×kãi÷æ„Ûˆô{&­)ªz=®�;ä;«*nw"Ù�©M)$Ë“Õ�Ñ�hP�:<$ÄËñõ:ù¥úu׿{±�Ñ)»&Ϩxì-Fßt…]+¨§›}KÑ•ð¤ß×9{œ:̹�%À;6æ»UJHž…X+ˆ`¹VsT—òõëu€YU40å]hW¡ðk©Å#v&û/¨2n¥�Κp™m}bú“�­$ºÀqtý5ÚÃæ¯“K7>ucvÅôGæâ �øü0'(-ëÒíE¾VñqDø{ñ}äÕºÅøaxKQåϰ¡ÈÏÙ%¹ãEÛ8 ÉÑ ·‚ÏÛ} t�ñøô¤±MTôD—.ôØE´j”�vo ¸ð[yߌÑ? •OOä5žw¢‚‹ÍVnê¬mx>Ÿ²#Î`ÞVå-nqÃ¥_¨>Òÿ˜gGF¡‚}ÙÄÙH°tãö­Íæã|ï‹Ê~-l³éRÊ^¥=óï3,Äy‹¨3úøÍ•« «ñá?ç!#¼_e˾’_ÍŸ'^*-Ö›­òJSŸWTJD—HÑ4õ—YMdWÕ8ë@ ÁòýIww©ë×af¤4èSŒ?ìÖ\ÞbµmÒB6¥Jœœ[U%ØM±9m ¾•´·h÷SÓ·™ïkx.wCßRÏ<¾YïçÄÖUEZü¹í;}Á?B -1hÖÑW‰,ëÌh"ç†? -ÜñˆÊ³ÊÐ’„/¤�EÍwzM64E{WÍ7–óVpœD�¥~A\ÁY£où¾÷™Ö|b“-%âyG³ Ñ€e‚ŽÓýþ<Ûe"Í»6WÂ(Y?Yß-vSÆÜ5“2Ãtíiy�3½Ëžý)žE±]L{¡ú&òÉ4\¤6eEýè¾[�®l‡üÚ¥µ¤wľ‘„é«Ú‚ÒïM­žBCÃ2KtO_Üê°�zù$f4N" [¼©Qo+¯ˆP öDÍÝeÏàŽ9W¿ èì·7ናÎikï#–ºç8Ÿ?ÈplÐT¨u¥Óc¬[‰šqdf ÷¹áfM½bm÷hË©2Ö°I“šà—rÆ„·–ú’;Wf EõÒ‰2…žviÌR„‹õOi^Ðf¨tœŒõî‰�}OXhr¹ÕèÌÎ}InÿÊùt>pq>µId‰uâÀMðÖ~®T›úœ‘=ˆÈuŒ&�ë€<.»ÊÞ2X)¬Ì…Œ˜òvó�£ > endobj -709 0 obj << -/Length1 1625 -/Length2 10429 -/Length3 0 -/Length 11255 -/Filter /FlateDecode ->> -stream -xÚ­µeTœÝ²- �4¸[ã®Á!¸»»Cãи{pwîwww'¸»{Ð�¼ûÈû;¿î=?zŒgÕ¬5k–¬j2"y%:c�!PdãHÇDÏÈ�5·6trP2°‘¦Y �lŒ+,™�=ÐÀÑd#làä¨�Â@#33€‰““– ²u³775sPª(ªQÑÐÐþ·å¯ ÀÐí?‘�›æ¦6ò�g ÈÖhãøAñ}Q 8š&æV@€�œ¼†„¬€RLV ´ÚXä� ­Ì�ÒæF@ Àd°ú×`ô‘¥ùßÔè?¸[ ‘ùÇ5 «Ðö/D °Ú[›;8||̦ö6Ž5pÌmŒ¬œŒÿ -ø°›€þdkúð°þÀ>ÈäAŽFöæ¶Ž€�¨ò¢ÿÒéhfàø7¶ƒù ™|xƒŒœþ¦ôöAó�:˜Û8�®ŽcÆæ¶Vn±?ÈlíÍÿ‘áä`ncúß -hö@S{c+ ƒÃÍ÷ßêüwž€ÿ#{[[+·nƒþñú/ æŽ@+zX&æ�˜FޱMÍm`þ‹„� ÀÄø/»±“íbÎ@û -Dùwf¨>Dƒl¬ÜÆ@XY�ãGHåÿ]—éÿ÷šü¿Ðâÿ•ÿ¯´÷ÿ­¹ÿÞ£ÿãÿ¿¾ç§u²²’5°þ€-ÀÇ–qHþîÀßEóW°ñÿï–�µ¹•ÛÿpïßÕ€ÿÒú—îß1 Gƒ�‚ؘ~4…‘žñ_FsQsW ±¼¹£‘ÀÄÀê£ZÿØU>”Ø[™Û?ºúOAtLŒŒÿ†)›™YÚü-?ë¿ àÇ¢ü7å�úG7ƒ�„†¨¦Íÿ´[ÿñ”ÿ˜Ge7Ûqÿ‘‹ Èø¿yA®:¦oœºoŒìŽ�µËÉÎêõ?„ü‡‡é¿Ï2Žöæ®­�¼™þÉþ?~ÿ}Òù7#�ñß¡Qr4°1þ˜³ÿ2ü…�œìí?ÚûÏÓÿÈú?ÏÿL<è -4‚ý½2â°HIOu¬ÂÌÖêéb‚´-ªUÎÏõ­uú¤„lr–é¿TÒ×Mp½5»ÍÛ¾îJRï uaXQt&Ïsð¼H¨ºs‘×È[Ùiöüt‹ROÔ"<.æ¤7 5ÙU÷¶Æu _ ð'Z¿ÙC_!�?|¸§èèï¼úܽ‹K“ CÆí ‰@îk—‰Ë§©RæQ‹7lìñÐõŠñpŽüU°*Ã�¯:s -‡@4a×/#ãš²Äæü74ÛPÌKl3=k]qÇ\gn£¬4ôõÒ¶dê�Ø� ±õ·øò<ûÊSõ8ûÞtLøª5Xløzé8Íac’¦˜�®@ŠÆþ+(û!±aŽFfú²MÈã5�º„Î X¬@hMüTÈÁD�eacÏ!jyalcÐ3¦f´à¬òîØ] k4{ÌõyØýç&ªA¡J[ïU /ÑY —`;Ž–ÁÛÌ -€&El’‡º«.û¸@)Ÿ}‚„Z/·h£âVýûº_#RÆ1z*^ þ§œ²2 -œÐ"%´&9šVsàð'²Í|û\Ó‹b7:5ƒr·p¥Þf…z Îå!*¸¯¤Ò/òYÒ«­1I,V‹ û^/P¿ )–¼ ˆ°›n}mM0ní5Ex7Ñ=‚kk%!é\t®¾Å�a=Ò}ÅG ¦Ç`I A -Bc R®rƒãúpC½û'Â’ºì„>6‘Kê`4à{%È6û$³8¯3³ü ¤ýTU D'ˆ†µÙ²c¸àvé΄ Y-’<`ãöªÁ/ãÛšå€(.þÔ)Á"N“T.@Ê-#÷�¾q�DÒ%£s†pG‹Ä÷.%_¸¤dþá”Yü=3*x!_E´¨¬ ~s�FüWYFI¬òa³WeT~©Â}}‘ô™ûM¸Ð’jä¨à«K»çä+Y9Oç×(Xo/8m¦»9A}ãü-dÖ×AîàM—ZzÈãS1· -ûS•îº <»—ß•¤OYé*· -Ÿ�„…ºý9–ÝEÉ\íŽÇ{*^ª LA§d_ªµ ,2þ”¸Þx’%¹ß]µ÷|·e Úýò,—gEYåÚ$ 8剒܎Ã&F0jï´B¢úô,ß¼�ù} ”Þx¸Ž‚ ˆWJÂZB3”YO2—Rëº÷Ä -Úü”¦×ñ™W‹}*fj….Ü–Ëî´*wVÐ, -ã#ó ï)¾¡„Ì�-'¡+øãÒö–’zÃ*jY“¯!útðê\äù¢7©<ÝX¢Üð{l3yšõšø#+z1ýVótQë ‘O¤gG~éó2¬jJa߈Ú´Ô¤Œ¾ -Þibdñ«åîÒäqf|eî6þsH á !<”ú —5Ç7±nZ3O{'ã!�Ùaú£èMâ¾Ç‚ÊkÝlMKq8Ñ�zÌ<¸#Y* n?{ë|;5�vy>LÖÙìL_9Ž)>T ü©óÓ�~tDk\šõù= bYéÁy¢ø42o™úg_V„Öz™ -ó. - z¢³|¨ÚÔF@oÎ;Ž%š›Å—׃qKVÑ_Œ»‚‹4—%jè à¼áC†ÚÂÆV«:¯4¢p©0¾3Ö—Ï7¢¹¤S9ltÀùìx¹%.9„=î{<eÍß#ì<»d)°èÛd*§\·û#*y}q|œåBŒ¥mÔY‰lfÖpÙ^ÆD}‘ýeÏMÅpAde¼g‚Ï'_™,av?£‰ïå;²(q��ö€œœ“z¯˜TE(‘þ°¤Ã¤qÈ’ ­^ºæÁÅÁe2£à’6{5ÙDìÑøM -/Ë÷‚¾\–ÕδåŽkå�u -°˜´¡ÍK�ƒá[¥�Jq»&þj¬ô¢$ Ñd±˜j«ç×ùŽ:H¬Ï7]ÒÒ:÷j‹ì¶ðµÚ#C¶>J“ U|úÕñЦ%«BÄ�lßñËXR¬…û®'2Nd2±ßF€‰ˆÉâö·m.üšË0¥ÚÓüu÷VÝè¬ÞFgÂ*–CÀÙâÈU}@áÖî ·ÂDßëã£9Þ€Æ~•�”¼–8…µõOä–.6Ð)£²9Ylôõ]h��©SèxI¶øö|=$íЃf×tw#Œb«ñx !w'!’2ŽUYS^Ëë÷°Ñ°öLWÐÿ”Aë¼ÞÍÆâáCa�2òŒþTô¾…Á eУ&ëê¬AqY¡Úèw¿¢Åoâz÷4Aaí»C´®©�FÜÌÜUn_¾;Ò�ºÓõËÞ®�ù±!÷| ÖŸO ÷"µëÀúôµ^U4rç«è"öË”‘‰š(¤ƒ¼*÷ -zv9“ êp…þbxm{޲^hÞ‚T�<0Dãä>ךž˜îtá$‘ƒú¡a‰K½õï=lÈï ×V|KûA7ÓÒÏO6(fѸŸ†Q¥òLâ­6_ÈÜ ÈiÃ,wk³ÎR£_¾ºü"£« 5=÷ì1N+ãltÇV%MŠÎI@_*t±.;m[½ ü"–ªhë ‘W²æœTË#‰¥†öm«kOœ²xA/-†é7€ßŒìEcãþáã’指j*r¾–¼T¢³VÁqÎ ´ø?ä žäcüF~ÏboåßäÑ‰Ç ¹á<•¡¦I1N)®0ú¦s÷mU€=J½ýÛ­Œ3@ò]àr8¶üžIïÑPsÑlK~Gb…¸öòuÔyÂ÷š‚®%�ƒ?–˜Ûž‘cÿŒ×èX62`ˆXšŠ¿F®8Ž_)ŸÃåZô¿Í‡y‹žÚöÇm¶9ÔÀ�ßq¡2¿»¼$áÓ]jÃÏ»�g?ÂG»æ;‘]7šÂyZ*Ðïù9õ.lcÖ�˜»äw.©“ØíYâðˆ $&„7�s\ÔÏ=6˜Ø,ï Äö�¥¿Ú]—¤é"[g'—+¤ "å9÷•\S'¸½Í¹©Â_A_öryé˜K”ÝÐPæ$ÊŽèð«óöˆsùsA°é!¤sN¥Òr “Пx펔°ù bæ<©D_\ŠkWÆz ðK…H†˜Èù›j~ŸµÖËñ­™*íßjoŒ€ÍI¡^m«=^Å*P&.lÓˆW|•1:&>–ÓÔ˜j�,å^éÜDÅvÓt’¹Ñ¸¹U“)�u'™ºãTve“�EuºÔ%b­Tm €lÔÆüýºßl•T² m .©;d=%ùmlw -áþ*èçdA0ØlÐ%;ʵÅ|眢 ¡î›I™ r¡“S4¢ïÀ ·ÉØík>%ñÑXÄÛoj�ƒ% Ňr³—…Ÿ4ÉæoôEr¯½ä)0d^÷Ò(‘…Ÿ½Uæî&_Õ»k/p À£[ÔK -c~Ôž©zfÂ"ÒÈc¡a= -Ð,aÈXK÷rq‰°÷S»`(蘃kùÖî}# z +�G‹10}W¯hƒPT}‡Úž¢GͤÒÂ?7†«5V¼…á”:“©VÍ+i mCÐÑ nkõ1~V~±º‚(E¼^SêHØbކdR<`1^1r¥Ç¬m¸ßD�„´ô=„ƒ™5¬L�£I*†24’™\7TÆd~s'òjº¾†é»øÒýz ‹]ºBL·ã�`Å-Úܳá†èFžhÒ™‘f£¼I<æbÉ® ªPYe¸0Àõ¥×bŸ i|®P‘4D|'†I`”yÂ-Jr$xv€Å+o`D�H‡8c‰›��Bʇ�¹æº‹7$Èd¶3üÂ:<Ø�GÖÂä>9–7(z| i~”&^D�"Z“Yð›çâ,Øl¹Ó‡^nbÎ ãv�$Éãf2JmlOÞÂ}˜dU—Žâ†¢'¯Oãè'.Ǿ&%§O*)ôÎa[ò:ÜÍ „W -A¦Ïs_(�ujõŽcsg"qþÓ¯VÔŸe³"NkøÉκ2¿®;«¬ŠÑÊãY`†S~”ê†Í8µÄ#y¤ÆË;Ö×ç‰ÁÜT¨¼5¥EÌVd�›ÃkÒÚKHh“ -"Þgy3m)T¾møMÁÈUø«ì>�îâENϳe·Âr|Y䊪÷žº#¸�)|”}ô=7â—ü�M±kú2È^O¥›ŠZ·%‰;|Ñ\Dlçn¥� ±Ž%³j!`÷RÐt¬kƒÑY#BÛl1 Ÿ<Õx­Tò*_z"ø/DƒÖdã JdZ®"kÏ*n¥3#Å¢ÍÃ< °Ò’¯Å�eØ%qü‰["ãÿz¨O!ÄÀuÑ^µžÃ9Ïy%ª#ß?½a7h¹h}ýŸÊ YÆŽú… [îýDºÏWÄRm²°Ç4M±¥aøÂËkÈ\'pE*ªÑ°=wl™AWsÙÐÖZb¼ç¨´Ì ÐYVÅó4xE�Z°î6Í}£ z8Ó#Þ1ÜÎKï3œo›ˆ9L‚HøIß�O–i³£ªâé\T‡ Z"©Á€�º¿ŽXÚåþyR:JÂpà»s+³çõõw[G7¶$ß’Ï™f1µbé0w(%åac‹døMÛ)a{©Q"lÏAóøˆWÄby*"Ì‚Î,·t)�°q©_]›i™Û|©‰w¬ýü÷î^=;ìü÷‡e½ßýN) Çer„ÒÔÓeª jñRÃqÀ”,««�¶íqj†i¾ká§ýi9ˆ € -©+¹´·Et ˜÷»®Î?ÀU%]"Ï�p—NòÚñ×uJw×(b#4?I'5ø)Â3 ×zKa!ùØfLûÕ9Íôo -(î�§í�ÇZ–†œ8ÿìš­ìy[^H~EO¶=ý:—–G˜÷‡��ÙÖÅqì$]f*Âx -5æèˆ¡!B™ƒ¨+âj�½™çõŒý¹qˆØ$¬àtíÊÑ3÷�mF„‘’šã s!®«‹¹™Îµ/ºË1Ñn‡ëÉPdÀ¤,üº‘k\&¤•‚çQÛüÆ•&»”†mÒî£O* ·}mA|Û^$*ˆ”åÛÁžì¡rÛWjWøñG$�”N�YèÁ4¬P:Õ Üç° -ãxÁUˆ ·1 -yøïÐÃ-Ù»6·R—ûûéÑŽv/&8fxP`n2áí_ IlðŠ=�Öª&­©ÛÔ)ƒFFœj·RQHEoñÁG¶‘h¥sV0Ox¤aÖip.‡Ê[Èž¤g^™ÏŠ[¥Q ˜.Áïv¤cÅ9Aw�§X)FzmÄ>Ô€È_WºˆÉÝ÷Çe!÷Q*ß.Ú5 ZN`êÔ´ãÔ'ì ¸9ùÝeâT=Î;G0íhsjsß»»=Vÿ¢bà(£¯ïxO™X ÉÃÎ SSüÚÙOLÌV,ø0zthþ<ÌV! yljçæY¿Óú1¼ƒ²ÿîËeVœ±§JZ8Å ¹M¬ÆÓO¤cÊažÊ†z 3+æµG6V= /Öyë=—nÊz�°B ÒMwI·ÃÙÆÃÜý�î&’ýéwÌQÒ]l¯c/ÈÖÐGÍõŠ2ÚîêÓ1°¾+s²9bY´!K…Y±‘µo Ÿï*Ñ>·1kì”�MŽ´]ê$É8Ë�Æ�—Ä¢0›r¼HÓ»s sLO[öc(=喷Єz“΄z¤áÓd,p ZùªÑ9©�9uÒÊ¥µ»­Fu®$úŽŽ©|e¤OˆéEV:wƒóŸëÚ!¯ÄtA€Û€føq$ü¼~Jú -×ÃßGDãô-2ëàaM̾§O:ŘkÜwô÷&´»­ -ׯÇÀ­YåÔþmë1¡–Ý>Õå-›æaûœ0R<>®‘ªž†JÂÊÛ£HÊ×�ÐǶ­uxhŽZ¦uVØÏêÕ–¢zf újffd?ºð鯳™f1>Û•-$ØMX~�Iƒø©«6»cÓ~>Ñ÷ßÔŒ¢ ²e�òº*Ì7¸4JgM¥V2]n8޾t1~×tó1pT©ÔórG2ê„|�É¿t˜P¥˜€f¤9â–¼°7X0PˆébDöZ™ƒPÚtæÍ ƒ‘pM"°xOÖŸØŽÑÖã7�ScRØÖ9_ÁÍ]å:aÕûÛŠâJÐx8¢*¬[»'»JIk.Ý#"|�»IŠ-j4¬]«™gÊ£º°«Uïò^]7×#Å¢âýž1®×ûÔÌÂ…ÞÝ:˜LLšö©ÒÑ4ÄÜù}1…åvÁ¥}Ï›™‰ŸÕ.xXV¤.êû…5ŒùH¥òø†m—Íš~ƒâ¹¾|Y½C÷°yñ ­B«Õ唥9|Ão1sC³Ã.³Œ -e¤7$» \b¢`Sˆ‚fW¦½ÜÍÛÖÚž7»ÏK‹Ñ¿W®Å]zØÒ-ñräÛU#AÞà`0ʹ<¶¸ˆ6ýj^¤Mä6*7„ÅfõÖm%*¡�ÒÝ|€oæí‡Ÿ†Æ4‘(¥,Æ�LŸG„�Ù¢¢>¯ò“0(—Ûÿ±bY}ý³¥â+p鈃­žd4a41\ ÞunÐüÕÈB›éx—âQ‡Ø $2<’LÆÀ¿®¯Á¥nÕ'‘Œ‘ðe"Ùé ) ¬ _¶€¦ŠõðOf ×ûmúÕ Ý’Ÿ¸¶˜B i2 ùèÂË�.dÎ�ÛEÅÞWˆ8»~ö+÷ÙÐ…§§‚‰'Xº¤Ýn$ê´zONxØœ+7úÀØY°A¸0#­2�¬Z?»ËŒr•Oy|¼ÀÉnðN£bÙvaÔA4_ÍC ¼šmìD¯%e*o<°p8…a› úͯîAÖ˜¼0Ü Bòv4èc&ìÕ áÝ:ç,XºsçGÂ%°¿ ²R¨ƒ­mq‡ŸYà?«ªß51ú&{ã^9@*?‰À¼•G†´j@ðë#PãÆÓ*T>@öÙ�< - ¦Î²9X¢W©Ä¢Pïá£ýÐZF$�†Ì ^⥻ íW_é]U¶­]îj¸Ôá¦OãRÞä w®é5ä�8ÝÝIç_üŽš{ŸÈ3•b4ØZW -×eÍ„ÒÝjùZç„PNJ xó•@/¦Œ¤8¹Õëz-¡tOž- àySÈ]Ü/2Ž&ƒ—±ŸsƒŸ#" s ;�Ë{“Í>¿¹ žEOŽ Vµ„Ô£†Gìc/‚¥|åæí C^ü‰ÈÝn®˜€�%�˜ö–›¸�ßwž^ùJþ)_â×ÝÂr¹É£Ž0!,Ç9œfœö€-ºVâ1ÆFlJrùÎp6–æ›*Fc*¶ÜÚgœrCBšèi3£9îO@‚J¨ã&bª¡ª¹’ ˜[Ñ/.× òýc”D–#ô•)]_˜éµh€Ññ½˜Ot­Á’1|úýø\ÊÏ+ì‘Õ™/(!Æ?úöÔMD}Y$1ŸáwÒÏjn„~‹,mw8âc°&s(MdçŽî-ì��̦”îÒ�ü†Jˆ6xàØ´L/LŸA)‰޷ǵ*™¤=mŽÒ`kT»¬ö¶@,¢�ÐXgabN´0‡ð #¹/ |;m£¬×õAi5hÕº8‹'T†7µµUU /W•þîhe9GÔ Cº¾]9æþYNtÔÇt>“%yÂÈ o63¨¥!—~á©åÅïÄ6©µ¸h1ª¶Íö -/çÓ³³ l¢‚N^ö�b]Ó„kYù•8Ø!$!€íÃòKIDÖ{íü9ó4•µÙ¥óOùsÄ/ŒÇ•·k„­â°°Ëþùê¨o|1쫬¤6©³xkø‡bÖ -ÍúƒÜ4€Kcq=É LþîR7 ßÎ9‰0ÛêT—< Ö�ÂR.båF¸R·cŠñüs -é-zZEp8(<ŸOʯp�¥‹ýpu‚PÖ¨Úâ¼æ$@›8I®Ãê¡k%Yµ iâ7�£ŒµãÈ‚º=Œ_œñ:y>R¼G7o¼  Xæs%Ù‘j²Œ`Ý%K‰(± ÏWa~ËpmañžÃ8"\R_ ˜— l �Çš†Ìó:ò:V$?^#†­´ zÀ�¹`úáiðΫ…ÐS5èj�ˆŒ‰ÎbÍ -,½rDz i“ë%ŽÏŒTþè²!Mwpˆ[¤ÄÉ_CƒàŒ¹dŸî+ÐZ_ìõèž>µ¯è®Íb)¢7ÑÂë§Ò"h÷òütÒ¦‹l\VRâ%åmY.Wb ›í'ÌR&õs ÷Ü ]ºå•:ü®ÊØ$PÎÈŒ}®„ŠÆ£Å6"köG)ÿ�ZæŸ;n,¨ôåö©çÑS3Ìqÿ(ë:8Œ@6XIh!¼º¯8UžÂˆ“k0Ž`ðùU¿‡õË”K®ü/º^ÿ€�r>ó2+Np¢ µgZujúw±/~u›Þ„ãJ_Áú ÿiwŠ ]Î W2›Œ¤UûK‚¸�qŠƒè6xU<;ÉVPŠ~§ë÷ò+!ô/ïÆÁDÉlî¨!v¬M>ø>gê>$Œ˪ò¶Èú̉êôpôZÈÕçˆãâ©rwo› -ºcÜŠ˜¨-�íŠ4Û÷YI´ßüai¸û))ƒ§ž;k¿Á¥fçŸ1-b–°§Ïs„úÛ/÷Kx*âŒ%–÷ÎjÐ["$•aK�ôpMD±¯•ÛÛaêa–Ϫð/ ¡ÓûÑJay¿Yf—�Œoo±¹F›N‹ÌÄÐ %ÄwsÏ�;ÅåíÔO²T‰®(|±ôˆÿbLá°Y ^[8õ¾*+£K 7rÞš’2Çú­Q°Ù ú:¾Eû¢1¸€MÝJãåT^p�¾fmûÙ—�T¼(#–?bé=ÍÁK42vÍ¢2¯‚‹ô2 j®; -ÐÂFçOÏ„YBq¸–�%¡UÔ§_"&Nô”20Þ\»AÁ1úY@¯«xNKd C”Ü߇P1‹nN!ŸèPWIeSË­Â0½L«þЦ�Ú jõ˜¡ÚŒ«ý±džI‰™á‡h‰¹-ͳ²1u#�ò -y_;¶§Í\:Ñ/D êúÿt»JqìÅ{0íýÔto–•Fç#çã-.P ]Câ¢ß¦¥–%`ðMü`qè¤úñ9¾ŠÌì§ïMX‰„†Ëó;D•f¢†^àç‚pûe -ªÅÉàOF0=æ1{ÛbÁ÷—†mMÿ°¬ÕJ%¦åEbHlQø¾ì˜n÷o•dh±û~·‘«F:ôŒ/枀m\–äø\Ã!E¢MþY€ã,”m”S»ïdtjŠõ\/ºä­�³è•ÍÏ µ(œJ× šBá}¯´6-$ÌŽ–9Ó•j錪�ãÇ—¦B©}sˇ!P¶Õ¯Â½¿;N ãÒF ñ½ï˜GÆ‚¾TE—‹ ÷$˜ ˆµ/tª|z©(•Ƈè2J ÌO [ù­XŠšüîï±VS>åb†Þ÷«‰p¡½€ aÚ"ž”¦I£3ík*‡8?]0w¼ä�`} ºMþŸ_Í\HËCûùs -É÷`éÅ€#I°Q’¾qùŽxHÁ¤µŽ�¡©m†µ¼¡¥$ÔDîŽ$W\Ž…|Î_ Þ°ýç‡EÝfè£þ©_å-ç¡;«j‹Þ¨ �ÏJØeçñº`ýt,âûÏ:05 g©â�š4)xˆ¤ñ/CH»nâT²†ß�È8Ùñڮȹ~ÂÀ*ÉôÌ÷ãOR*{½PÇÃãv>˜ø�<¯êUžDÌ$qóâíaÁi”k㢠ŸyÝò0¾•Âé±¼ÌG›(éŠó:;­‰Ï­rI;^º1ø°W‰À(]¸�4Í|êmìW¾ëýªö -…šU¤w%ȆÒò×öº÷üêȉýã Uûå<1å‚W†#©qL6Lír?r×{NÑ gÞ1s%ñægÁÙ@O0œ\�⼎Žý1ò1­6?Ñ^J“¡ dÃšÐæ9œÃÌò×}ö¼(ô�èw#M>5K˜8§)Ú9V¢Å -ª{»Wi„K»íwµjººj¨é´�_f-êevv žA:¹”Õ°†yèìԷ²Ò> dwÁO×â"Afðž3óÏBRJl¼o÷ãŽÙ`o*m¶‹ {*ô’��¤OÓÙ¡tršIû¦ô –Ñ&g=H[€ÌûUÏ�}`fß>‘ü‰FpºVç©PP t< LôôÿÍc>XOËü -ÍèwÚª‰—HœJ7%¾ª[•†;2 ÃçÒuúË“6ËË ÁÙom!Èe1?6HÅÖW1H GÀýà‘ºHÿÊÔ4AÍdµí:ìØßršH1*GäåO“¸!2Ö°›Šfç|8}ìn!j‰ç¤y¤Û>k"%Ðüùý}£~'sêÓ2çGåaUù€3Öq_ŒÕÓyMåC•C¸'¥ã~ø³ü"²$–Ggâå+"º˜­ÕS‰Êè× jO2¾k®·•)øžs! *d“É}Ì}? ^D6+Ò‡„Eõ°ü: g뽑Êf˜Xo0Y%ÑŸ¹“Á`Hˆ¹#�vy´¿�îŽ}�ÿ8þùÍü‘øtrç[ßÁDÝÛ¸>$Š¤ë”•¾†¸ì�}f»÷b®˜P¼ÖÌ_ßÛhÆÈØyƒqWZÝ’ç­ì™´¿AJœ\)ÿ0þž^ÔQè…Ç”mŒ$Ö¸7¤ãg½xÓîg8¸”NÄΜ·¨®Ü·¡ë %^4†ZSa �^úV“àP¡+@Õ(²GCµ°¦(Æs^-ÿX{k@Xª4´¶Ó÷ÊFé9ÅlÛÜ5 ‚ÃUÇ£Nø™[ãÿ(pU -endstream -endobj -710 0 obj << -/Type /FontDescriptor -/FontName /CIYFZS+NimbusSanL-BoldCond -/Flags 4 -/FontBBox [-139 -307 822 975] -/Ascent 722 -/CapHeight 722 -/Descent -217 -/ItalicAngle 0 -/StemV 114 -/XHeight 532 -/CharSet (/A/C/D/E/F/L/N/O/P/R/S/T/V/a/b/c/d/e/eight/f/five/four/g/h/i/l/m/n/nine/o/one/p/parenleft/parenright/period/q/r/s/seven/six/t/three/two/u/v/w/x/y/zero) -/FontFile 709 0 R ->> endobj -711 0 obj << -/Length1 1625 -/Length2 5831 -/Length3 0 -/Length 6655 -/Filter /FlateDecode ->> -stream -xÚ­TeX”í¶¦étˆ¡ch�n ¤Trfˆ™afèPJAR‘nD@:$¤;¤”¤»AZäŒ~gï}®ïì_çì3×û¬{­{Ý+žÈah,¬j�´ƒj!Xa1ЀÜÕÎc Fè «!]ìu°`�"ÕÑP0ŽDh€±Ð;s¨=@ -ˆ‹ÄäääÈ�u$Ê w„a|¦Ìù…þeùí°óþ‚‹ÄÀ܇Ô‰r…"°8Šÿs 1 -À ¸  ~ßð‘Ž�6€OÛÀ  E@Ѹ" Ýí\à€>E` ü$àò×A"ìá¿KÈà¸T10ƒ‚Bà¸0¨Šú PP´+ƒÁ}à€#ŒÀâz€Eàˆ‹»ýo8»ò� ‰ópÅa82C$‹� á(,—ÕPCë/�Xû;7ŽƒHœ§=âþ»¤?އbÁp€…za粃ìá” Ø—G†BÃÿÈpÇÀŽÿR @CÁh{(ƒ£Áqÿîοêü�êÁ(”‹÷Ÿhä¯j€c1Pr1q\N—ÛŽ ý½,:$@ ô—ÝÞõÌŠþÓ ¾ß;Ã�¶G"\¼öPrQ$—À÷›²ÈnÈÿ�ÿGüïÿo¸ŸÑÿ¸Äÿßûüwj-w°+nþzd¸WÐü~g¿8ä…€]á.Þÿ&èïŽæÐ¿„þæú;öµ*Â7a1qÐ_f8F îµ7„c!0€Ø׬?vS„=íG@qCýÓO\�˜Øß0âŒøÝ}i¹?aÿwí¸9ýQ.jðÈüñ}-Á÷´þñ4Ä­ÖÄü·4ó{Hû~ó¨©!½¾Âb22a �@L $�“’ðÿ79ÿ‰ýë|ŒEý H €ûÿÇï_'«¿Ñh" HûßKcŒ#ìq{öOÃoâŽFãÆûçêãÊþÇùÏÆC¡^PùÔ"â””šŒ-gÈìаho#ìEåW™äæ<-E¶tžä£©éû` ˆ°×žS»¡vÒEÙ©…ŒµBR)“QûgG–°~î4Üm”Êž­PevFÍu�@~8¼0.oÖäZ£TáiÕîšØiîÂìù4|'ÍG.¬Dýh¤2ãϧ¿õBÑø™“|‘1k_B‹,ÆÍ|xć=%ù>SØ›×)5)gË$\ËÌqqr8¶ÄK Œç¸ó,ºc†ñn0e—¢ÏàÖlT¹õW}-‹›ù$YÖ dlÉšÞ½I±áODC<ùÝDgµ]U9ÝYLB³ø9½tÈŸ�-SŸ2Ætòä='8n”_ÖUv6³^²‘¿âÄ'åw¦cŒÿä¼Ë–ÄšQûœXœepú=ý;€ˆÛ«šÖÖ @‡]èêÏ5fXô‹\føNäG®J˜Š6Ž=¥4Z,Z˜t^>Œ¸m:[iU—⤪ª÷™}Çj@€—œÌ_T4Â;”¯˜¢íNª˜P®•êROÒü¸.dRïÄ÷€ò4u›Þ¶z™iêM“èv¥°•»ÝêžB=Ðq1nÈ\i§kÑ!O´ä�¿÷�‚¶÷”˜¿Í@r�€^_ï×=’ËÍ÷AoåýÃR2³dà%éé¿ “6UvDå]Îf -�Š1«?mýU©>gòæÛÅ�ã"Íî;îý¿ºÛÞrJñ*“ ôùÉgì¤?~láÄçL½3[óÎÑUŸÓ“g¨_›·z²�ß&ô~æsŠH§ûøVòÙõk…��¨[3‡®5�€tÛgÊNäLÆ]yeùÚ‘ èÒÖGôX�–\ôê¦`Ö)Ql�yÇ:ýTR¨ØJ°Î9ýÊS[Çð©Æœû#„­’‚›9å·Ç ™ÆTj½h5Óבt¯óT³”ž¶ƒ -ÕÛnFíLÖˆû¬½ÏþbÝJâ5ËHD·ãú~}lÓåUäÇyO©<¿…ÛzFD~…µ¤¤4ÚVcþ’Gµ¯²�¾dwj%ÞXŽÅ›}aö!¬‘Pº;…T¤%Zdj/¥7eµê/Lcx‡ÂY“/å•Xÿú´~äõ3èâæÍ{?ì˱‹/ª"6û�¢¶«È\¢I¬ƒw òÙ|Òó)*?‚xëã�oZQQžQ‡ÌŸäðD¢‘× a…·„Ú“¿w¶;M55ÅhF|Í;oj.³ûvCº c¼µ�¨]šÁthÓɧ¾”ÊOçKê?¡Í=yk¡ å(¡?ÉÕ�‚Ë: -¢‰w jÒ—›'€ ~+J¼ÔßlŠ÷uäI[`L»œï6äýB™‹•«3ôŸ ê-ÑØ!(8ßàêºÈcORž Å©GûœêÚuç -ßS>ºu)¥Èò"»‡±†Håé§hºNðXEQÒµ\ªšŸEØ(һДôéá­­¡o�tΣõˆ™À¥Wý!N<‹G7ŒùÕÕ<^°4m˪†Ë“Þ°Ц 'v±~µ5��r³í騤QM_£“ î=@4Ņ먿P”¢‰¸“ÕfæÛ³ûf3ïbMlfÉlõ¬}94#W£î-¦L+Z·ÃÒ‘íåí:!Ë@óNɆ`Õú$�AR¯úÔjU_rÁk"Üí}†”™î;¤V VÙëÌ¢“ÚÚŸ›�ßïRå¯�§ü ¨ìðð½Ñô`Ùy!ñl9}ÃÛQ¶û‹ Û2ÕŸó7K¡¿.Ï„è�L’g¾ÿÒôh“Ÿzgü‚2NýÚõŽWˆ÷s}ª/+Ô¡ÕFãwcAm¿^yjåšÇϬq?"åx¤yƒE6XNïݬóB­'ŒÒ£39% ê<íÁóÝeiìN‘ƒíÚóŽ_´-ÑëSJÉØ¹NÆcæê› I­¹à g3Žè'ÆÐ@IuiA¼Mt„ßÙɆf¥®ó˜{üõwŠšëC>:îêŠÌÃSУNÎʺ•­džÉ*¡!LÄ"굲ʹœã*öÈ>RoP¢ßžôG9�‚ùíÂ÷}h†­ø�—Q3QÛ\/€&Ùê¯fj'V¯©·¬ù+Í^έÛöÍzÅ4¤F<óÝg¢¯YyçèÊÒ2Í]fû´¯Ò5UMT&‘˜îO'VÃÌØ¸„¥vl¤ÆK®Iú§»¬]G‚O{.( I9�Äõ¢Þ÷Ï¿šl5²¤´O눫Üä”y¢sþ¦ýš°Îí°+®�Zbº1=Š*·ÌîÓíßaü -ñ˜Õ-Nq±WìW© h·Ý¬¦êõ0J¼¦êc«“[9Ó‘?"ȸH€‡û=꣠)'=Ï_çrc.’šãËÈK¥«ýhàƒ¨ÏPq@Iw®äél;&Xÿ–¢lÒ�Ç„Œã Â"wý^»2Ê(/ÂüCo -ä¸ÒÒ'I Ì;¼åT¼}9‹�9;sÉJK9�1ÍmçJ^!7ù75t ½œëž÷D¤kg3^i,1²&ˆl׊*/ð,L"'ö(qI9~̬Cäg­®—r6–C(4. ‘ý0� þeê&Ù¦ªñÖ¤›Ìéwç]ÜOîzê<æ•QÎ4Æ+'Ý �Ø_„æûÈÔ�žŽÆ¡ï½zC~Ž 6ü`íGmÕ �«¯OnÜ -˜#¼7 �Å#(iÎ>Ûbè¯Q/�E×8G]¹ûE?›j7TâÍgô LüxE§Ñãrë™ø[™Í^70f¿–pYù*Ýëûözi4Ö&ü™‘}R\ž(QWžÏ"ëÕ¯™´H÷øo+y?O} ÓÎM‘ê¥s¹rçrÙN¦’<ÖæžßîŽ2p�;¾'ÓIªÐhDnF·V¡®vI¨5ë§Ä Ìzì#ˆ&Ioäaè7Ò�@«¶À³Æ* -^ÏåÅœÓ3VËI;y¶ª“Ë=�B«žæKo¶tåŠÏÑœ=ºm¼’\†xÐ¥Pã€á.o¥ŠNÓ¾ðƒ¹ZѱW|ÌçKH°z¥îÚÑ¿,ŠŒd'VŠŠ’§\/˜ð6nó[Ú‘,˜¶d5Ý2~Ÿ[Ô•¯Ý—~¾+�\ŒeP0ØRQœ) -“Ù†;ë½´ìó�DQ�nµˆYô·½oÅ4Ø){Wõ@†Îœý €u–Òª,EŠhËREª]g'ˆ[š†ºàÔÖ‹.U÷ÜÄ—ÆjÙ!_ßn›k Î0ë-s\͡۴ -•¨¢2¸?וèƒ7a -ÕX愘®ŸžÇ|l=UøeàM|ЍӛvZ¡{ÖÄ|UŽl†Au/%WÌ͵գN�ÉRé)9m²´YnÒ˜¥˜\¿´Ó}™b³{g -Íé^zÉ•˜4mã¾Ëax—rÂódà`hbx’Ë >3}²�bÎó¼+gê±­l(ù�~—âH5µû:Ÿâfm3^À­é…¯Gç —Ü[ÃO–ç^¶Ã8íT<6Ïõ1~/ÊïI›¸yR[2!"Íg¨Š¡½Çîî3¼v<ëú6�æ6µh^›ù”"p_¨\[‰·÷|JHSÔ»Îô4Â÷{t£cËä«ek¸ÊæÝ¸ÅÁKÞXMV×õH~ ‡ûµò›ì^l -Ñè�`›åŒ­�‰?®Ú˜(òa—Í 5Ê¡\ùdmt ë�j"ž ypl·¿õ{²í.øÔ¶ß#èñÌáµÓæÇ¬ -ºÛ�Vh€/[ó[,ÎëPuÜØbÅ0¿¤Æ$W¯™¦Öm:èÿ´¬y‘O¥2>ó€�ZIï–yË™¢DŽáˆÿP+Ç86‡§lo÷g1¡õ‰†ékáVî9zNšw+EŸ~Ä$½ÕUá“’g5cÝè<JoTyk:ˆ¯_2çÆn4iF} t�­¯.è ·ÊøE´ÈÚº^ê~ÞokÀ4ξ8YeݾVÙ@H{yƒOê<ñJ¯5XbLcñfUî‰é|ÈýŒ_ìd„¿Lð³LY*Åá—"imžžIÞ—D2î€}µ>˼†ÜÅ­4úÍ//=Xyr£§‹æ;¼\ŸKê§{_Ïmg@k›”? `g•ÿîÎT¥ÁÂ;Pì�+)¯<™�1öD$D;¡à˜EÖg}eb·ú‚ ýfÀªy,V¶~ÿ£zkaD•�:_µÎ.à¥_ÙM’õ”ˆµ;’¾»>m)òeOÖEƒV#úS´«<�€¾ƒ·)ÝhÉ—úÔ´ûIE>%?\'<ëþÂõÁÃ=Þ+c -´;k!±÷�eùo±¾¬U†RP‹*Éà'®êxGvz1HJ;±xý¼� -f£„6&að§ -³WŒU¨¹M7úC('dð¦ÎKfrIÍå,Ûæb¶4éþçb=  -Õ:²p,•küáU¿xýÖ•qZŽ>E/kû·&ÍŸYø>m²,*×èvΚVc?ÿUê;Í|y$&�pPËnë¹È‰/o TÏR�2¶Þ'6$½¯ÞGlý�t�nÌ~=çS…êZ!×iXr‡?pIðèIïuµ†PÒmërQÒÀ×¹¥;a¯¥Iž-q“©Ù“Òæ,¡*:鯦›Uy¾\§oø’$üùõgVÂÎý5†û®Iq!1i�›¶uðC{e ->©�åݾugooî¹m�YGM¥Ï#¶¼dÛxíÁ ‘Û \û;JEj¼‡Ùj܉K% àn·:î’ÔŸú×ØÌ ®Š  ¾]Þûj—.¨%—¶« ­I¤ç�›{œ�kéî¿czút‚Y×ߢTÈ·ïbÙ«ó5!a€Ä­bŽ�…Ç1%Q¦×3ecs6¢CHC„ÎÅï5ž!ɹød6üÒ:�™Ü¨Öо -¿{žgdõ͸ fÊá)3÷¯oÚÐdyí¹Çù¹­(ZKF�¡‘‡½E€ëW€ÊÄUåzïÃÛdçƒw�,Üóçœ×ËÂWCìV‚™•íÛ)Ÿ-z?n¼¬3øl, >~:¾mÿ`¾0:Àf&•>¡ÚÕ8 �l% ÷�å-2Ѩ+uÍ÷r’aÙ»Xà1h°ž­õícòÿ&\uèÑ£ðbŒþ6—Ívq|š_÷fœ\â)õŒkíý!á ÷j0ƒŸik4I¸ï8OÆÝÉFgsNLÇ/elŽßäÓhÿçcÍy&…M´�/¶>­~®é)5aÏÑÖ C! �Ë´7ŸqˆÔÖJ�"CErßeQ;[&¿»qwEã;3�Äõ(Ä׺S8 ‡'³®½G7“=fùgú˜ºéIT9®ÿÕ‹_ÊI·˜<µzEoE�9p$rÇ×Ãê~xÏ-"*>b8OJqÍ;ú¯1ãœ1Øy]iyælÒN…z!¢W( ž•øÂc)³ôš¬}a¯}ƒ³¾Ouo •DPey/¦sûÜ”66æV‹ ²ÚTT9_1‰Æ¦ ‰0mÈL%xTø/WÎ44�þœÃñ¹€dòö¶¾£³ðéš_›cÖêcXšÐ@›(µ‚ϧÀÊ…´¥Û€ö¸Ì)Îó¸Ì¦C×tå©o0Jª&øn¬ÍGß" ;ÖGŽ0fwÆo‹Ù-ÖèÝJÈÕÇÃu5e®ð‡è‰áTzýŽZã]M�K -,¬‘Äm1ø`q%nø© b¡@öÓ»ˆd!•0øåCËÙÀa§B‰*çcø¼ ¬(yãŠýüD‰z9X>\8 ÚVàFŽ·è닎“qiÍ«\ì#cR&­€s>>×ã*Wkòù´qM~�¡Æl{”÷è�7v+NIÁö-ÓžŽkÙæ¯l4íÈœ ÆîsÑC< -á%6×ã^Ïë7FñG5 š¤F%¸¼{Ë f73ÚmíYµûzÊË6uòˆ�¬³w�XÏU+×¥\—�_tãí1ÕÀ¤X§;§N«bË~8z�žiNjœ½<âšJ›”z1}W�¡iò 5x)@HwÉ6¦ôé‹eš¿bŠvE~X-{(g;�µn\990￘ã•ìé¥Yëy¶í’ÙÁ-Êðó ->RÐ/kDpSrdÅìži00'C˜TMvq¢¥5õÖienUI˜+òìNGñ0Ë$ƒúÚ·æqóˆn1M {OÕæ4 ºJîÁB¡qç“ú'°Æf1ʱ\Ú\z*ñ]‚0PfV²F=U>Hí'mEj?)^¨jy†Œ”I�ü Nx– -endstream -endobj -712 0 obj << -/Type /FontDescriptor -/FontName /NYWZOF+NimbusSanL-BoldItal -/Flags 4 -/FontBBox [-177 -309 1107 953] -/Ascent 722 -/CapHeight 722 -/Descent -217 -/ItalicAngle -12 -/StemV 145 -/XHeight 532 -/CharSet (/A/comma/eight/four/i/l/one/p/r/two/zero) -/FontFile 711 0 R ->> endobj -713 0 obj << -/Length1 1641 -/Length2 6434 -/Length3 0 -/Length 7268 -/Filter /FlateDecode ->> -stream -xÚ­teXTm×6Ý’ÒˆCwwKƒtw 3 Œ30C#RJwHI)ˆt¨t‡”„¤ˆ„tŠ4Â7zÏs¿Çý½ßŸ÷}~ì}ìk�k�ë\×Z{q°š(ƒN ÜK@DPX }ää�2ÂuT0°*ÖöÂhP‚ˆƒC zAp5 D`Ô €¨(@DFF†ˆ ŠððGB]\½ÜfÆ<||ü[~»œüÿ… #QP8€ýá�!<Aà^hŠÿq  ðr…œ¡0@ÕÀÐJ[_À­©oЄÀ!Ht†ÞN0(  Aà(À�Àþ:@èJ¡¿KC ¢¹”Q åAÑa?Äã7Äð€ AQ(ô7Џ �p/ôx!P8æ þ-mwFüä�D =¡14™!å…!¡^tVC5�¿tz¹½~çFAÑ0áŒö#@Þ¿Kúƒ¡iШ -G¼ ~^¿s9A`(ÊôGçF“y ¡dx£ p—¿ð�  ƒ Ph4÷ïÛù»NÀ©èáóÿ�øãõo P/æ,H$"ŠÎ òBçv�‰„~Œ6ÜþËööøæAþ¹ îß3Ã#à0âL$¤�ðB§pÿϺ,øŸkò Åÿ‘ÿGÚû¿kî?{ô_~âÿíÿüOj oLø=-zÓ º€ß»ð{Ùü ü^9PÐÿ |…ùÿ7áÿt´€ü%ù7ë?±¿¨•á.èÞÈÊüe…¢4 ~°!Ô ä -pÂзöÇn†V„„Aátwÿ\,@@DXø˜©+äÿ݉¿ üOéè†ý.¤£¡n¤«Í÷ÿÛ³¼ ÑóàeêïüßTzð¿¿¹TT~€@q1€€¨Œ4@FD #-ôߤýÃ#ò÷Yè…„úl„……Eè÷¿ž¿Ovÿ Q‡ƒàßd℃Ñ3÷oÃoä�D¢[ýg  +ÿ×ùÏôC ~ÑÜ4$î–™�åUM›ß7¬fÓÕ!‚ÝáñºÎ´¸0¤Ñœùì›L¹ãuU„`ý¨ìÍÿÏÛ¿Öò~è �qµ§Cö ˜‚Øx: )9›¥ø¾?²}'kÇ"6ð`Jw ÇZRØüûò°‘±ý«k¼{£ÍbH‚ƒ3ž6ŸÂ�»ì§¤O@µ Ô-äõ”ÕEÛ;œ)›g§\=ƒý}½íG¸�kŒ|y „r>8w8cB<ó•¬ÍÊckÚcG:¾Ð¿}¼s1£IëX 2`¶;6 tÜòMÞG>@¤AùXŠ×8E#€Á:¿Ú(ìT寫‰Â„)FyÕ�:+o)À -ˆ^þ0®WkàiÀ¹ô°ÑpŸ� ½#ëÓ󟉅cÍÔN_EÞžüLjçý8~ç[öúaÓ°m³{ßlKV<Þ;%€ò¨[ËœBõ{ézoǰó*JPdÇsãáàÙ5»§(_m×�ûfÉL*f„wÊ„˜›¶o:`Öbˆ¶iì}3+ÎÆÈ[}µÒÝÓ$¶YAìÉ_8qC#_-ãYm|«t¢ïÑ à;f´-ÿ¬Â¥8Ä•½Ü;Eº(Ù'Œ.*´ò -]æ¤Oª ]%x¹~v¥Ø ÖX#î`ë”ïwrÒs Œ7§¹9i'�C^æ‘J>Ì)è¤å 'ÿšØGxó§q²D±BÏÑo·q–å[q2ZÎÊs× pßbLbRH¼áGÕÇÔ[>>÷¾ñ\‹Õ§O¶OGM›áíHz­Åœ®ðLî×'òFŠ¿%1?É~ö¦·&xT$?seš�»ÔWºIaØægyâOü•í' P‡C‰>`¾ùLtÇ3›!DX<”ï4‹#ȵӆ OqßM·$¾äª^=#µ Z!qz×^w%;cOª7—6Ýn©g_UšPùÙU#”Õ÷š ªü²åðS¾�™1)#“xL¹*‡ÿpQ)r<અ¶LÁó¸h’Å�ðn* ñõ.އwé:³ /8}>cÎEÛù"89”à�ÀqŽÓ¼`eÌÇó{틳sÝ,î¶ÆŒ§|÷͸hê]¤Ñ6>µ�Ûk>ºsB7¡ -…ºèéú7œä­hez–Sã¸Tôé9M 9ÏöéÓá|s·¥pÙþæ5ÕÅÙÔOíÛí1‹:5CjÿÁÖuö‘“5*—Ì×÷¤îb®8ƒ³ ¤;$Y¢4#bn»»>WïÚ†°e°òr²B5Q‚ÏËÀ ú»Iw©t®ÈÇG¾$0%ɇɈ -y®fÇ[çˆ:+#׈…=J½èô®¼h•P_‰ËÍŸÆëQÈž(„L òާ?)MïHOÞÂõÃü¡Z'ÑPç�©+BÃ!¥t&Ã1ëdl[²ž®œûÉB"ù"?D’}¯džlæÞ–)×:c¶ –J<°Ú¯Å¾�›ª‡‡ÁÓY¤ÉÈîø&«"`þS2?ãö›¹:©ôh¬ë—äùÉ„¾�qÒ(܇‚Ä^?�X¶´Kî¬qJ;�¸*äq‹-žž¯�Úë_d™¬¤h5¾æÁ¿ -”2Ò�÷«aˆ¸X¸yà¾Y¬Q«þS?UwV#Êòõ9ïQ®áØÑÀú˨f`§R›ƒñ–uø£5É6ÙÀÇQ³ÆÇ‘œ·b¡<�/©>ÌÔ¼û†Ã|ÝP•�Џ�tôÃŒ¸¥-PÓ N—ãSê�c˜ -Šô[Ó*†Î�È!o­:`âÄè�²Ò>šPI)à,v™z¦¹Œürg=£\€Nåqc¤j–#M:˜øa“FYçp¬@5†š�âÌQâ<ì c‰÷µí³Ù�›¥žµÁMä0b®`á3^5÷ApN®¾ÖÞ8¹´\†RŠ*ÐÚŽî—ø†¶ -¢�pè~ ûœ©»eÞüóŸw³V7ù�줯~¨Ï4È„²"6sKµ.~íö9êiÅ�QóAµevÆhà÷¶üˆŒJOϵn‡ Ôðø2î[×4•›9¥ºGÆ%µqzgAÓ£uNÜý¿ŒÜ²W>Mà�\¥_’øº;8rm+}†»ƒïDK©Fp©ëÌÜ3äÅ!©Ÿ©¼ßsž\x˜\´f+ÙÚÔµŸ*á|Aûnµ¯qÖá]¾tˆ,4i¬÷ízè$(ŽZfêÃÞä%¢bpñ~­3+®Ø/;Vz;ªiŽ !�=]¥÷ŒÍÙèÎÊJ6aÌpqTL¼Æ |ê\ôb–"ðØõ½x ‚¸:29-ëå9£j¯�í³�¢*?Ãëuà�Å„Y–Ú•ú£4Z^Ž»c$Í-FM\éwá*Hê~¹ý¤O£5\Ý¿ì°Ê†oäÛ°WU“ É+Ò�Çx™ÙÄþ²§\±9c4/Ülêå?=.hüƒOAûefyV©RèëØIÕŠ«öõd±KæÉ…w¡Ÿ&mËúÚ§FW«@Ŷ£�ŸVC®•~+ÅHtNAö+HÔ6•á€Ñâ‚ÁªæÈbá(Œ~âCØöjÉ›)ÙùýÄãU{†v ’å!lûÚÍÁ¬Êsž”NÏWÄLYF³ÅÅGCâj¾3¯Œ€R."Å¥Œ§æ‚£Q–pìÁƒ]$ÜξQÜÓØ¨&¿IÂ@{÷ôÝ¢ä@bÂ�ï*œ8ñùÖǦãU•Wጠ-Æ8*’óiÇþ<ûfÕ¢%W7VIM]fn[y±ùs�k‡l5l -7<ð¥V>&‘ÓgÞ\p±Ösõý ñ'oÜÙ¦Ô#O…�q&àDBÝr7�¯gýA?›zõ¿±£<çà�”ªdš”w~w'f -¸g6¨¿Ðlm—¾‘X��·~ oŠÿ’�·éÂÐ…nyÎ|™CÛ£ßãëObí}@ ¥Ù�hÑY¡ß›;o¿_¸àëG(ù%)!bñiòÇRåÒ4|Íâ'ëÑkç·çz­í^]•sß,ƒ¸Rm? kZoꆜ|€¼,³º=±Ûÿ¹ -þ¤̫ͮsyÉ6“™–JE—6ú>nÃ�SI)†zaÑoŒ{õÕú±yj~ò³‡7×¾mJkÜóõQâP®(t±¯1€<ÍCN—>0ÞÉÛ‘×_²§øHžySñï]�æQâ&F1‘ªV®îËWÒ²Ðôûµq„’-s4t=cbÁ\0K¢ªõÔËJ9´9zæWc¯rÝgÎI–¢ZÓQåb Ùò�増¦—åÁ¼)¬ê}ˆà}Ž]¶ïKXE~� Éêæ¬Q°@Rö3Ð ]ÐL¥qÔ!`Û¾a´:ÞÇ”RSX¥Üü^Üë™ÌGdïoƒ"¶æÂUTžb”ÍÝþ¹ŠE³\I~ò'£lF'ïžÜ« ÁïztÅ{‡E#�BzúÒ-yâK}~X&”Ur ÐmÇ[Ñòkú}ˆ>¥´s×=Jfö½ÛeéW+9‰¬‹"–/ß�2j"ïÚÖß”XxÉ»Z½DÂx¦àŸOG´ûf€üeæ†<x�[ -]·}üˆfÛ»¥en¿Ñ3fgÖÜVªDðx�X�ûn—ÔãÖ¯ç'QзÙmF¦íÕæÛLcI&ÆrH}Ln‰oL“w„8Ëþ�K,n/ðˆîB­-8È Ân4·Xeu0Ǹâ2wöû\TÚÁ@jÓ�öxÎ2rÞ¹õòì‹,Ú‚D!“5;kÇRE£‘#v6ÑàÜbáu­RèÒ÷ÄBNÜ”E+Êr™8Æ”o§ýí B°¢G~D§S~éä›-n�¸WXáP©‘jñ2ågN<¦&�Aê$Õíð‡ÕåÙ2xØ÷Z¨w\ûr¤ME%RýŒæ#oÍçuäJØÑKáZÏFi§‰»]8RöŽ{VæS†ÃXÍ»Rx”ñ¶pé>�ˆ�Á’Ÿ1Ó^™báGïõþD4È•p¼N—S.F¢ôˆeý*ìT­¹o ¶ªä’5bLØÕ5嚢uMH2ü 2÷ÿ/GÊCU”ÜET»ü¹Z�63át P¬Žiã úÆ�çˆ)êKŸÓúôË«MþU¼FxƒG2޼Y©)~­D|¥dúþ¤Ò^ª -1çE¡»£7Wc�™ïå§÷âõìPߥ¤>#&I›I~ÀömP0¸Ø´|ÏIlË/ˆ©ö46Æ;Àµ½Wv)áÙÌÏð‡ ÅÊúÇr,…C~H¥zb';/ºÒä±�[ËJ¦OG<=K<µBϬžuãáÆÏˆ³\ÌH/Ì|˜ÓÎÇi™¬¹:éˆ$Hp”Ú¹Å~,½¯-ù) ª²6ÝCôTµ«˜[Þq û ˬ¹Ð³øÀ—û�†«·,W¿ž«ˆ¸Éãi -A½Œ$“íÆOVÝ¢q·Ûïi^ôجìUX’aàÚó¼"0q1Ó�ÅWÑ›.±ºøº£Xà¹õ¤Pêkc ær¯öYôå;A0M$È/•{>˜H’ºÒSúd1ûÑ`ʇ+©åÑ­ñøÃC‡„÷7CWßãØôÇ6ë#FñÎï9Ê–.÷0}ŸŠ»³úŠ’3þ;»­šÒØeŽg4fƒbO‹¤9&Ïj¹õÚeô ïAOü—KkLœÚ[OäðKU@þ”þk­L¾Q¼ƒvƒÇ¬,^'¦ RöWàÍPÉ0¨¡åMÄñIà]y¼>^T°]êU‰hF¸î 9û]ÇeB½—2ÃÓ�ŒÖ�òèL -"óžæ“>-°ÛâÛgmÏýÙ½Ç|ÏË[»9‹»%>ì,RD5\¤ÈÛó¡„„Ÿç–ÁäGž+YQ?&`þTf-µ q:)Ía—v?‰1:Ë ò˜Ø°·N¯3o;¾žx¡®<àö¼Á¬ C]÷øAf¹£ÈiúSÑé�úî&ÝLsPÕ.`Åý¼S¬› ™Á]”…¥Ì�aë¡/£€„haïhˆ\�B�-zxÒ!Òzº>ÅT·ƒpïΕËÝ´?—Çô‹†öćêf¬ ³’`é5(64k¦iíØ(Ñ‘? ìÝ.å,úºáªjåm§°X}×Y?¢&Y JŒ7h:/2©dH³3{ úVÓņå±Qn2^aéÓá�ùÒÓ�g‚\K¤k~„ÚÂä“Ýnÿ -îŒÍz0Bç^y+Q¡HH¸\'çÎË\ã”Tü½w£Ãj3á2ƒñ¨T¡6«"Í�eô0é SGntÑØ{«5aÖ<'œ7å†f‚þ >,cжsŽ IÇV�üö4›¨š w“'|¿œ{ü£®ŠWåbñ�ãT­Ã6ÍJÒ”çQñé47Á£&±<Û_¨PÝME×ï\Ú®!MsoÞ¿b|A­y4z—’£ šÎ<Ï]"Á¯ëZž“9ÆP¬êª‹Ka5ÛD–<‚�T™�ëùaQs’±Œvg“Òöò=ŽJÔÆÂj·…P^/%“KÏœ+mZ3é…Å"«ì1=s’š}Že1y§¶Ô–{n�{q€õXšÇ52ŸÎJ® ¶ŸU6žß 2„.>ªãu\º’sn–›¬Ò•lb°,ÃÄmëÀÓ�‡÷Óâ9{_�|M5V[mVgȪ¥Ø/gɼIã?„ÜÒçA®W޲,ªð�óŸø»¾¢oQQòÝ—€žô­‡wá<j²÷Ò�¾ËåÍø‚º]€éD.¢Ëzº…TWÁ³Á<ãm'þFE‰®·�$³6Æx,ÀÏM:`bŽ:F�áùF©Qrz¦Í<èÈÙÿ¬¾å‰Õë¸ü¯“¬EU)R÷‚Ýò`î3ä3/Pè7X¹Á�8šÅý¦úX{긛B…DÝ6ªä3(|7n�¾ÿ#¬¥ÚÿNJu)¡ ­ÛØ@o1ö½vÆ€üp"é5WæÇÓb¸îýAie4'*IÖ×»´~ -j�ÃÙƒ%k²¼(Nâ¸Tüå• Bˆ ƒ—äˆ-Œ1ôQ~3ʯ±ÅŒØ_8ÏÛã†(MB‚&jL˜FÊÝÀÈJ-!Ë�èRÙh1²ð¯g¯Ïäm¶r75ãnõ°†¦™JVH™®qúëo’½J„ïÊiE=Ú:`b¯ �Õ¥³:Û ¸÷;ê…K‰ìŠã~Zã“pSá·µvÄ?ºx”¹It2@BÚNÎ<ËÄàc²ºžÇÏ0,H× ‹(áÌU%e®øR?�Ù;Ü’ÎÌ"x†U]ž„Hú�vaßN¦œ&°ª0'/Çâò/ötc¹ðˆll D�ÑMy ݜڶ*6~}YôäÎSìûJ»ñ�Fl—m3q¹þ„¸¶‘G½ñ‰Ó–„áë ‘˜ý�,á'ûƒÚ]» -sܦ©´çÐqòS≾\>ûµ� ;.­wå�+ŽS…Ÿq¥øí5™¶Cå�H?÷í]~¤¸7úƒï×.%¶‹³N©«=‚]è u^€§ŸÊÁ€¶`‰Õr‹ÙÚžlQ×ÕûîniI�8‡6gÃè§.µÚ�ƒ•n=ç³ï\šjª-BšíçÜÓñgé¿à�uÄ.^8òÉàÅŒ®4hÆ)Á3AX ^e»½¼Dºo6`¦H �gªÖö<ýżÊ2>¨ ˆÜ|MWDÚ»Z1“ Wª^/cö§”j“Å"7YÝJ'7C—|Šô' `’_³¬L%ÑW IJfîäŽ�¡i>�ÝåæÏ ð !ìö·ó§ìÉ6«óû¾oB¿\źò²nâ¨5—wîrü´6œ8ÎÉé -&È9ü fÙbmaÖ’ÔU3ƒÿ¢‡ÍHL¦"؆žæ�SðËÖ _£oôCGmZ$í˜Xã+³oO×,m+±…²>±Zà…otÚµ\ó-"§ïkY'º�›6ì50ÄÓ–ÓzXÿ`R‘t¾±=&— 5“”´!‹!4óO íÌ~ ú�Ý©z„ts¹MbŸ×õ‡&Ÿs­|\Nº© ÚܽÅö~³q,iú}މl* ´Ý›�ƒ vH÷½ÅÈ]Íâ?¯�Ø`ÿvÅt¾ƒ™gqCèF)V™@`GÚÆ8}2:º-iŸ(ºQ÷Œ™„üä$Ÿþ|±7=°`8ùZÒý¶sŠ::Ùg?~'¡6+•1 ˜e$à§ÆÉ Uoõ]±iµOÑXqSQ˜Á"{äVýºØm·JVÍáeȾ“©I»%<‹~d–l~4¼u½µÿñîš&‘ǹ6Š)ÊšsÆ1=-ª=âýX™™ÉpX_i,sj)¦fv<$•<ѹÓB�SFä´¬¥¡_Gà}øÙß Sþ�1T¹ŸÍ$ô\ß·X «ß€š8¹[•6„ê¹¥-ßÁ9°»Œð[}ªëñó‡7sMÛ¬ašÍ~ù2ö)x{] úÔ˜{Mr–Ôµþ‡‡‘¸w>‡=æ6‘$.x%®T~¢AL¡¶s{8Dµ/ã]ÑVó‹ÔÁ¿Ö0ºÙ¥Í÷ãrÓç䇇�j/°·¶Cã@³2ðê62Ëu|7TýV×b#b¶ªƒVWõ›þã/ÆKª»/Ú©Ycâ>›á‘ëZs}WV_Ûb‘ïZQ�\Â^ŽÞÈ%Ý=jÞ£¸¶m’‰šIH7fø%ÿĹH.îGâÿÎVD îT´QÆE‚„ø;ñ›jÀæ… å]2"¡I›§ïzëAl\Óα€�+ .츪w}gü™îŽ–Ï8�‹ó£ÔR)?Uw, ¡I�T2�P0o²þ:D°;åßøŠÏäÈè°Bp¶Ô 5¶0+L®TI|‰ûÝAk[}¶ÄÜ âd⊱óP6)ÙÏ~µ½Ï²ÉÎЀ�gšŸ8P&ÏÌsÍæSQÓ h%3LdEý?Í ®Ç -endstream -endobj -714 0 obj << -/Type /FontDescriptor -/FontName /KFEQLI+NimbusSanL-BoldCondItal -/Flags 4 -/FontBBox [-143 -298 913 989] -/Ascent 722 -/CapHeight 722 -/Descent -217 -/ItalicAngle -9 -/StemV 120 -/XHeight 532 -/CharSet (/a/b/c/comma/d/e/f/g/i/k/l/m/n/o/r/s/t/u/v/w) -/FontFile 713 0 R ->> endobj -715 0 obj << -/Length1 1166 -/Length2 4511 -/Length3 0 -/Length 5274 -/Filter /FlateDecode ->> -stream -xÚuVuXT[¿V@i$eé:%†î¡%”˜ÙÀ3ÃÌÐ%5RŠ„€ (R -Š€„t(’Ò]R‚ÞÑsÏ9÷;ç»Ïþc¯õ¾¿ý‹w½ëy6/Ô\TŽr´QHœ¨„XdŒðröÁš;! EÍW”q¢àåµ@à<�ÑB8á(¤¦ŽÀ[¸ù€Œœ0 I0H¬–W”‘ ¬ÁR¢0Š (á… -A€ñD ”& -æã qæ>h´'€›X”`A.„Îþ]¤�B`®n8�€¥™µ °°È߈„‚‚È9àO¤ `®Haá x¢Ð¿*RèHChþ+êâ¤Gà~� pÃáЊââh'€€‰a]Ä�N\�Ш®�òú•KñK3M€† -ÿ§nH”2è_°  ÿ=Ü-n‰DxûzšÿL€(þÆ\H, VK‚oàsÿUÒ" ü&%~ÁNHxH…¹8yb�„ @xQa�|ã„ý_â?w 8†9®„cø;;\þØ9á0�X –�=­nŽBzünìä€ÄõnYèj ÿsö¿¢ !¥¨„œ4HTR^†àBF©füK‹?uø�B�ÿÛ'øï”zHHá�q:þ9’/€Á¼ ømcAÐæ7Fá0$ð·uìÁ2`‚k/‰ÿj©ÿàÿ«±þYCÛÇÓó·*È"è�‚~)âé„ùW¸“Â3à¿|ðÏ@kà÷ÿ?yôpNž˜:ÒÕó/™Xm„?‡"p0·?ìò§Êðß÷€¢°ˆ_7$*!#ñΠó@X,á,~Sþ�’ZH -Ž@º‚ÌqW:aà¿h˜C�ç÷¾ýsï‚ 4þŒblSŠrõö¨R�ÍOt±_ªUÖòà§§4E‚çùy1¢cf�glÒ�¿É?ÈÑ„öº©”ÛŸÇ'³i%Èùy(@ÄHé¢é‰tcY7Ī”�©vÈ>|·²¦ÜeNÏ]ÕèÐÝæz~`ë¢ÑGoŽG1†qÙ.¯x›\d»ú¼ ŒÜdeDP�é$bËD×3ÔTñâPw£&Ø=âN:¥~Óë�Çüú¶”¯7Êè‡GÚ Ô2aCx -ÜËg6›grŠ�}M’'n%õ.'•Ýè}©›è ‘öPüëQ·åWwÇÞ -{„Ò]¼ßþ4Á�“op–Öä"}¾–J$z…䤸5 „^Ùü ­Ø½ Œ/²mÄO®æF)ì¥u=¤zn;×M -NuÜI/¹ÓÀøŒtªL«53.ùI+„~ÔxÐ&•Ht¾£òÀ¬Ræ,è�Ø ì‡Ã–sºŸ­îÙ -dT;£«ÕRTt.ŸÅ"‚Tl¾5 ç— ¸€y¬ŸÏÉ�±!Á�æú�x’2¼ ñîߟR²Ù"3K(¬&9GW -²ÛLuxv+RÝ`y*þBŒ|�üÐ*™DV›EqL”ÇmOË�óüÀ ½l�Ù¡±ì€A*oöDþ6‡SÙýüZȳX2–A*›µhöÚG±]wN�Ï…Å|3¶{gý™Õá-‘jgëàõ±c±§,‹à-Ú[›),­TxнíÈpx“?3·ø#”7æXõ†Š±8rX+4¹–¨RÜtØ —²’²tg¿8Ÿ¬Ç¡Ÿ*WéDGBl\Ù\ôzßY¯ÕÏ%Ù‰‹qGÈS?!q¬ã´ëMIú–„NËùŒî~Aß.Ó Õ/È õ¦�Fê2ÌFÓ&÷/jT7gÍ®ÊAÖ2Þô¼'?m´¹µ1¤Ý Ù*"¢; yK×�ϱl¢ -í(Á…¾,©z/ÚØ-ÛmA57‘"©${`‘=‘^¼3É~Ö{-¨NmA]Ôö°dÜšlÚ}¿×"¨Ïú:\w’¼)l÷ã ²çBå ©™…ª.Qtð/vE®ì‹&�dv%¨óèˆs±'ÕãŒB¯wðm6 AÌ–z,©–KÐs§†»ÊF„0$š>g -çñd²˜¡—X #+£ÁÖÏ6²—y)Ît~+p,Tª2s{ŸLoï£56œkÊ¿S–¦_äµ:Pˆ¯Èé‰h¦ÕÁiT2ÔŠ‡xä;õ˜DÊü©8X¶ÀLñZ|“cÒè—€ÎWSkºZGNÑWBX=+»€¢šg}%“/~¸.…»�~ûˆ®œ\ž²ê#äq·n¾Ÿšt¶çõy9Es3ï§Y1øÒcl¬V­‹ KK}ªnôs¶0¡ª+ÞO˜øö“…÷½ÜÚ?¬%�Û/x’FöŸ=ä(6ÔÐyÜÜQýC:{¦JŸ²Ø:þ+oLp|Á7æ�Àsfåny‘=âZë'g�RÍjjó›E4ùJ‡Ît}xû×4HëidsÍî ½õwë•"Rj‘Y8u¶ }©èqâ[�V®\{ü°> Àø‚õعèÏÍ(�*†³xUô—¼~v/ô=òÏ‹J½¶F×4ÖI�»štÊD¾ß�§˜Ô�¥·À.Ÿ j 6ë-ÎkÅ唲°%’ŸÊ{™ô«ÅSGsÄÆÕoˆÈ2s´£²ÎÇ$Ý.Ü�[ªHHK-Û^gò2x›D铤±ð‘r;õËõ¬—LlZ©1¡î%b?ùÞô½ÊwÈ ’qYÝ3ËL©‹¨Œ§­¦fY’jqõž_‘É�õÅ`—$@fÀŒŽ¾ÃÖ7øfðî\ÂV­jWø9÷©ÍÑL“ÝÚÛ¦ ©w'œÎlì¦òIA¹å¢L� µþ=™5}þ{Ó>Wú š?’¹í�ĺhy?º� zÃ@4±úøV"u®ªZ²Œ±• Ž~Yø`šüö”д}éŒTc¸k¥Ø5f%yYìkßÈLæ»™Vx.ÃÈñhY³�¡­©•fÃÖ—ëÒŒÚ@ñXŽçþ×4ꈜ‘-#ïÍï)F°âæÝ\Xv“³Ñ`o>î`åúYn º$íT§æI³«¬jsÏÒaç`}wN^ s]��šY. ,NÄvZc_ëf)”Œ)ûÄ\¯%UŸ¿‘¤'ÙnÀ¯,é ¯|$oKuA“Ýæg[H�ܶï些ˆÝ`ri)?÷�‰ÉÞÄŽRAa_2öǸ¨>"¼®ùN>Ú:6ˆ·E‚ž†m›ã 03gTKŸ,lµl·3–|ÐêrŽØ]åc˜Ýhµ‘~`>¼ÅÜ~Ù¦ú[UóƒÌ4?¸°û^’ÚüZ¼Æbذ[2àu\Dù0‹T;×ònõ÷bˆ²Û9‰¤ë-(0ÙŒ#»Ø­Ö/:ª ›§a›£]9Ÿn}™B¦ïÜ4wçEw \&ÅæE%N‡7Ž(ÓÜ`êü”1Êh˜Ëæ²a¥Ý2j’Kÿ¨ãê6qË©ýņa¢–F⪳gdv�É@~–Ú’W‰Ã3þìØçäÝ÷ßk¦­Ç`¬o¾èŠìHiHYZÇEF;Ów`ºh%&2iæMâ/.4Xè»áë}èènSѨ<ƒp2·óØÏGûAÛ9XqÛûÎõÎ3ü˜û͆_¶:ìŠgª6£¿1إѹe:•l¹6p^MÊãÞ4LeW˜Hàv†ö-ºOY6ÚÚþœíù²™úïÕ8 ŽDrcX’·O’|ôÖ>ººKŸT£9nsÈ%Êœ©\Ä8›¸RІ];ÞÉ Ô%bμ}‡ëbî�âš½îøðžGˈ Ì�‚Ê¡½Ò.w ^Ùo«”|yÍKšÉçƒ(�©Í¨š`Ô­ìeycušûÒZ¯M¿¾æ^¶iìOAXÏý:óñ"ã3޹Ÿ?Æâò‚ÇÝN_|y¬_úÆË4-3‹¯ÜtÒØg¯BÄJ2^�óãȵ{Ù–(%a6/‡†´m�[÷ŸrÈ¥(U‹±ö…Sõ±‹ê¿ì}‘ ]ÆÌÿ‚4cíwªšˆ"ÒG�ÈEìq}Ü!kI}ÚH£‘A©¬Ù m÷*fè•{Rÿ( â]Ç�˜³Ô¯Tã²ìGµÒ…6Ó·äàãVOÙ«˜Öb¾©’´jžŸmV¿oÁLy"D×=Ù_€âGøCGu¼oJŽrÞ÷¨�;"ï&È�hL°Øu³sŸw†]xô$VÓ›™±‘!ø�Óøð*žúµ¤Dx†Ä;A¯õ€‡3³(¹R…‚K�¡|³r%¥”¦4º]² ï£Œ×%1)±·~J †­BçÛŒûÎÂÍŒîVO^_ø!yÂPC¹ê“Ë Q™1 –Qæ1ÅZ5OÇgOÆœqµ¼§uª#Ïëï=Ù<·¹ý´__Õ'¥C„KAæ�˜$4`eô§SÍ0?¯uÜvëTݴøãÕ{]:œÓB5Úl0’`H6pf¯<ý¶Ÿ$“¸ê8a ÄõÓ‹\±û^gZ—œvE=âžpm\⤖‡Ö~¾JUpól¸QDP[qsŠ©�Ìn˜^o×s‘ú¡ÍÐuãx ¦kSb«Ý Áõ;Ô— -¢>’ƾlº¼Vwë»x³‘ç0}!|g£wtÀ”~¿œ§û©Z7Ö$­¡‚’ÂTü‡9Þ9ØA“ 17[ïvö¨æíŒe|per>qHùê€ÅÔ\É¿I A6“jTІðÈÐŒ0œ~âý1j‘÷U­ªk®8·;v˜‹÷î`oPº;ù¬äçø–‹4#•8Ý­¯ä«Ræ¾òÅä d[øÀ+´yÎ}�5N ìOž—Î997FaY ÂÇÛ£‰Þ×XË ¬iá»%v®ë,y¼,h -^Ó>¡š 9¬(4äà¬lÌi5ð"¾ZšÏÈBD“ô×®³®<È<PA|©Çê'Qd—†¿2’œróÔHû(]©&Þ¹åÙ))ÂO^äØ�ýånœõÉPëQ¢‡}»:¾4Bô*Uó°)å‰UèÖ9ŽÉê9VagÞ½(wná¦)¼ú&îsF\)�Î -}Œ+¹+X h�ÌÌ@SFöWY�-Iô›?‘L¬2Èãi*¾Q`0¬PÈ;†þ)$ŸÙ%ЦS[&è=çjö�W‡<™å Ïc‹œÒ¢žM.29ÝáýÍÎÖÔa>+¾­2½Ä×ïD²ŸhD^šÞ)¯e ɤM¹²¯(•�_ )Ò[ëhñOö+Ͻ§ž¤Šª/«¿|Êïú™*vàªèRÙÕêt;Ó`G½+­WU^ÅÈ£wêû$jŸ=Uuˆk£º›.\)÷ -ûzŸïüßÊ[$ª/½c—ø¨”X²½kÇÝ£¸Ã[C¡ò›º"üoå¼Ü/èª|õÚ”ó«ÄÆ[fžC�ª)†Ÿ²ÇÊ \”ˤÅFݘâD‹=Ö…) K8) -�æ*Ãàì“G¨wùAÅ)è·7Ï–é¤YdϲžÞy ˜ŒáfbºËgõõþK®Ûø‘Ç3†�þÕî=W5…{ãv»BMÛ“ ªBS&¥àE|µ†yãA�Œ烡*v öÂ2”š/fƒQd«}X â5éB¤h‹NHÏ`!{¬Àà«w‰Ž¶=Ù:x+‡ÂJÄ\¸\Õ×p©Q$@“å¾ëíQø‹\âçém§ôî®íØîX“½Æï™˜šÅFHÛîÉ7ãp2[õÄ�1](§¢ðž«œ;5ëØw,'îCŸwvýS´ÇöÄåXýäí9¥·N¥¢&chÆÚCÚ@¥}r#ûÅÕœ:6‘²'fGN¨ÁBÏ&æeÓ3>;­i_ðbä‡÷n«æXîf×<ßǘ¬¾³[hA·Ä+âfòÇ8&cW'üo¹ƒjK¾íF>“ U°7< }pû˜Ÿ¦w˜¦®ŒQ ðÅù~Ú5:ÝÓÉ!2¯³÷aܶΗ3á?•0wÈÚÕ�*yäËÌæð6ÚðPí(WÁÉÑ[#NqåKÃÝ™ª ê;3¯ÕÝP+ÄôîíÈT°Rˆì1âdÝ”™¹×>™¾YZñá)_‘j~]´…î6&Þ>ÈÀ.Î×DÚT­JÌbPÞ;ù¼.^F£?„†¤$8L·mh?6/=52Ò¡™j«›7�¾¯0 <Õ zÑR³±^wEJ7à¨?!nœgüÔ è𱮓K¥›Æâ�ï vÕG\,hE}üK›�*çÔ8“Ù‡¾4XÔƒ*w›HÝ�^‰V©-vÈa5©¼U¤Ì׸æÝÑ÷Éœ´B¡Šâ°y�³k =€êÂívCý4lÚ{[͇h<[¯'E’yu�Û ’[┓S“n×I­².wFÆbC<å\†{`RHì·�Û©tCõƒ„2¥¶˜o€·Øøÿf6 -endstream -endobj -716 0 obj << -/Type /FontDescriptor -/FontName /IXMTHF+NimbusSanL-Regu -/Flags 4 -/FontBBox [-174 -285 1001 953] -/Ascent 712 -/CapHeight 712 -/Descent -213 -/ItalicAngle 0 -/StemV 85 -/XHeight 523 -/CharSet (/A/B/C/D/E/F/G/H/I/L/M/N/O/P/Q/R/S/T/U/V/X/Y/five/four/one/three/two) -/FontFile 715 0 R ->> endobj -717 0 obj << -/Length1 1626 -/Length2 12707 -/Length3 0 -/Length 13550 -/Filter /FlateDecode ->> -stream -xÚ­vUT]í’-îî×àîîîn›�»KpwwwwînÁ5ÁÝ ÎåÿOwŸçö}é{Öë+�U³¾Z‹‚DIõ‹°©½ HÂÞÎå 3@ÁÒÖÄÕYÅÞVÁž[î‹<ÈÔð!gG  u»XÚÛ‰»€xš S€`a0sss#PDí<�,Í-\Ôê*š4ttôÿ”üe0ñüO͇§³¥¹€òãÅ dcï` ²sùñ¿vT�. €™¥  ª¨¤-­  –TPH‚ì@NÆ6%WK @βsÑÌì�6ÿ8€öv¦–•æÌðKØ` pv-?Ü@@�Ã_*z€ÈÉÖÒÙùã`é 0w2¶sùè�‹=ÀÒhãjú€¹™ý߀œì?,l?tÁ”ì�]œ�N–.€�¬JbÿÀébaìòWngË5ÀÞìÃÒÔèúWIë>Â|h]Œ-íœ. —¿r™€¦–Î6Æž¹?‚98Yþ ÃÕÙÒÎüŸèN sc'S�³óG˜�ØuçŸuþ[õÆ6ž{Ûÿmõ_,]œA6f Ì,9�.¹Í-íÿši;3{3Ó?䦮ÿ©s9ýÝ ê¿f†æ„±©½��'Àd†À¨`ïò‘@ý¿c™áßGò¿�â ÁÿzÿÿÈýWŽþÛ%þÿ½ÏÿZÂÕÆFÁØöcþ±cKÆØð±gr€¿�«íÿåblkiãùÿrúWkMÐ?ЊØÛ˜þ«NÚÅø£%Âvæ´010ýChé,aé2U²tZÌŒm>úõ·\ÝÎädciúàõï–¾031ý‹NÍÂhm÷ìÿP�ìLÿþUƒgÔÓÐÔ’¦û–ë߆JCà¢æéð�í?J‘·7ý¯Ã_aDDì=Þ_˜9¸_XÙ˜?îÞ n&Ÿÿ!åß�˜ÿy–7vq²ôè~ÔÍÄüwõÿñüó¤ÿ/aÄí€ö¦��ª‹±�éǤý—à/5ÐÕÉéƒà¿/ÿGÕÿyþ{æA amÙÈl•ž•áR�›72%¦;ÐÇ 9âPÖ¤V\è_kßë—¾Í]eôRÂÐü�ç­ÝséÔáu_†ö`¬džª7ô«€Ð‡Œ¦¿}ƒ²““î �Ñ  9ãL3ÚûrQn J‡ƒIã`gJYÅ ô†è{'«Üå2·B,ò{_`ZcvZ3F}ÑéeÒñŸ{ª¡ñÑ‘áÞkèþýOt¹qð¼nPÈ”Qþ޹ŸuÔ«¼cqÃXjP0 ÝI±O}[OÝ„°!v:S��ê�]kO À0ãhëdBCG*Å&šÍÝø1Nü½«ÓebŸQ¨Ì�nï>�bð‰vÙÇÌd2J[%86¿†Á™¬ÅÍaT+Чi}‹3>åµïKj�Dâ¾VøFÐñ‡é—Û@"�…IùtŒyjJKŸ'‰fç’žæˆ`×Qá%i,éÆ ‡¨_ן§�R›ÜDíÐ6ª’U××Ás&Mïgµ«xR£’E• ÆË»ÛPèr¶÷˜f9HyÖ@ÍÔ¶cþ…˜à!ÓU}ªÃ”Iß•ÔýTä¿Ndmë¾§¤ÕÜÍ ±ô!!"ÇLsXèÊÞì¢éF<ÙŒ†µºq’‡¥Ür95õŽ�£k0üp”®‰`á@/$›F]PøBÅû³Ô”)];yþaE�$�4Xûf§D#ÞÓpnÑ0ÚÕGFz¹l9@Ó½3;Ùføh>[Ì%@£ù„¹H$%ïœ+å#ísºzo쥸â“@’9cf§¡’È%I}K ¯-ÀÖŒYZ¢4”Aë7#j)×SnŒÿ=DÙÐ`}oZŠ7ÿ†Jô¨ Â!òjÒ¾£‘vì7Ôûù6×—$}1Âf/œd‘8 -ìãõ¼þÏRϽ§ ¶"¯�’2=úH*S8�Q×jLúª 9I’{oàW.#öÁ7ŽËÔ·ñ‹=Ø•\n0‹4Ôí*HNõ±ã íõíJk¥Ë@æ Ú;w¦'ߪ…Eùƒü¯eïcº5ØÀ–×Á{šhIêñÍ4ã÷Ü‹¹%Jº-ÈÁ{dø6_ó•ƒ}Nè…Ó&˜ý~Õ.Ô¸(HCÊùͯS(‰¾VUO8CQ§þÄM3Eê�)ô’Î×Ú~"Ó:;Á%�‰fˆI»Ý(2ÓtÈÅ„ ¨î¬¸…H…&\’PÛÏé$½[AYŒÌÚ  RÜ×±ï©=$’CL0 2}§SoÊŠVÙæ[r#¶øÅÌ_�Ê�vµAËþ‹¼£|iw£UnhèËÏ<'¹3ö™u©¯½Ì’ÝÈ$�Ñî­âñ¶¼¹Ã~[…ö0¨cA¡"¡=}°AåugmÛЂ}«É€ë$<ΫC?JÛ”â>qúî\.¬±ëÁ!C²€¼ä,Æևçã¯LdžÒ-¼0à_K…Þ ËÐ(úï81ImtbÓ—*hÈ©Û9ƒ/¦�¾%Ú—ÛI�Šk°á ³"Œ‰q<Ÿa%Ÿ4TT˜=CÐ�r®µ€”¼¦ƒ3Òp¬¤¸À¤y[€È!ï±B¥Ñ;3\Vßøä|©xÊf¢@ D‘ÿû‰¦a‹y„ÚEK©ÚÏÃn�e¾ŒEÈ^Wj+±ä9¨z&xé¨vQØ×A[´,ƒHk©–íÜXX¬h <ÏG.y³Ã³¸ãOÍd€SG**_Í�™<…8ÿZæ B­œ�^)íFš4xøkJ¢_PÃPÉÅæÝHnÞ”¦ú^k4† -bÚ­# ½v,¤¿¾º–t (äŠÖhtXë&èø È“—QØ:ã+³X)Vb�ˆB‡{¸sBh^©[\ýë,^ùBŸ²®áùw¶šŒã8Õçû¯ôl -63àÆšíïF²ª&)S!—Ê -z![xÞ@ÀTœ¨öã Y�¨èúÜE˜Î�©�øÈU¦çyžWmàš œ3{q`§qÆ}»ˆÖ¾ gNU9ƒî‹á¾¥`íÑþËY8½9{õ¶–ƒ°U›Ö¢²½0»ÓL‰Ã»ˆfͲž�gú¼‚©‚Ìå9 Ú�[N!⩊G�ãwØœ)è�«ne £” 7mô0á€xΤǤ$Œ_ß°^‘ðÑ1� -ÝÞ5jëqA¬±±ÂT Ïæ )53oï�‡ÛB²ÝÎE;í+)ì¦Ù·t¯ùÍʉ`΄�> ÖÚbb™ ^[RD|±¨Øœ}4ì�íÆ�%n'ÌêêÅ­ëñ" ÅúÉØé�îh¨AØ»ÅÝãç]WMË»ë^‡>“bµm^Õ1|Ser¯œp§£ºÐ‡-¹¢Ew‘jG»DýϨ�[fLÜZ©Õèë?Ž­Ô·½!ä£éÏ)t%¤?ÉK ñ ‹Âwf>’Ùd 6>‹m¦8KpAKÞSHýñæè�Š’–Ò$3Yˆ�cïߺ/Í’k´0·I.<`a¸Ÿ‚ó¸™toT‚—ž‹úfyŠXâ÷²ÙuK± î¿í¥ts€FS3“kâAyÜ™Ét¤rm)ºö QsÃÂÌüh*¥¼ žû}’ªNlIÒs'g—Mr<ÃõuQÐùËEš·Ö³}±�½·®h”»îSÙ»þµ$J;û úºÝÆ7÷.‚ýÎYÑ­m�­†›ÇÙ8®V8+jKµ/Žï{™þ‹8¶±*LÔŒ­ËEѾœpr8îĘýÞ3D°Ö±_/šõWì&²èZ‚Ì ¡µ…”Ã<އ›çWP¹šÔa–DóðñùudG(|æ&Ľq^ó -�lû\PE}î®›Œw« s')¼ Åäçê/×ÝBtßæÊjxý¡4>é�å_¼*|vü„Ó‚>h~–G„í¾ìkå…›æY•Ž£á\µpZã¡`Ü ð/îÆÛ<?Èœ$Pï^׆½*ÐÎ�ÓVvé·R6ŵ_a�Áš Û&„1å©­®a¬hJÄ’¹ñö\òŸ:�)‡]r]÷¿¹Ý^äþ�áÍÑÚY�8ÞJü†ÕÂùÙ@¼Ž =4ÉHRî†éÖWŽÔžá¢·ÚO˜ß„ô�!lNmN»2æ «ÿ^N)zŠ·ye{L�ëR2’*Ǫp>º´"< žYYðˆH˜nt -œ%ê€�KÍæPöFûVuM*‰Ý}ˆåé†=Îv¦OHÓó¤¿ÈɸÍNÙ¶ETbd|Îȼu‘<œ*¬3ê„_üá³ |Â’船a`‚©jv(ïlNê²9Úì" fk¶ =Yµh³– ,Ô¶ \”n\\¤9{f§)À‡lo”n%íÅ™½~cÿ¶µëiü½/þ&¡¤ nwvÁ�ˆjÅÖršÔˆCüÔk×> �áð-[?ál Ò}ûs}­çi`Ä ç÷�|Ñ£î·Äø€©EÿïI�C¿¡C½'’0»ðoÚõk‚ÑÔôÃ/úõl².ö^2ìßóHZMÏ~Þ5wNH@U°·ø¶‡£–`ÔÁvY†}[:þ*’ø.o udYÁF¶¨aÊrŒ‡ã Ì?r*¶|´•g+$%¿Z’ícø&ß -ƒ<,xæxýM™ýÊ·N�ÎpføA—–Ÿ—KSx#Pë\Š¥J�0¨¬ôÛJ˜É¾À“i¥Õ‰È¦zß8C7�úÕ)˜�-u€‚Èv\5éÕêÝðyðjDý™°0ªS<Þ-õA|âj#«ÉÛR@g -sBÐc@Μž-§„svh¥ï·1;’¶T¯€S ¹ £Â5!ž7ªqvòW7ãçdÝ×�¦sÜûŒ�”Û -¯äTµD�ÊwO�W¤9·ÇÍ“ì"…úþØu®›ƒh<Ï9˜]¢Lu ð"¿­ ž1ØCζ5à‹ÌÊ×6Åfèf§/‡“Ý¡×è€>2ÿ„§,B§ÓÞ2Ö�|“†9o‡}‘ë(^�� šFD ³kºÍï*ý['¤¾dK}‘“Á0†Ê¸¢›–™êïG­íR+3Ì/ìÐàÅ~¯| ªé/•[þ_C²—kÝ´Mc>4D3  1ùÇ0´-pEèfîInbqéæ—ãÛìúdŒ¨DþWél¢Ùt\<lK²nœ)¤o"¦ƒÅŠ¿6ÐG¯²6LŸmiF¡ç„ÏsëyËÞæšÛíaÐ�ÆÕ“¯¶�óbáy‚ü´Aaž;w6ú‘Ø*1=Hµ_ÍàgYW§¤>×8Tn¢PºM ÙÊ”#0q+]ÆÆÀÖ8”ÒE‰n8ÂQ9Î+ùˆ†¸0Å‘Å+ÿ€û£üp>õ%Èúì=�“Y«¸k¦�’lÀ¹%¹ñÁ¥y½�öˆt�Æ@êöܯ—]ëJ‰Ý1�ÇVѪ'È3gÔ7Š &„Ïœ¶a&4Qzã¯C‰|ð¼m³Ö/°¬ÀR�Ú9­ŽÕ�Ë¿Üö�ÕÀÖ(»Þ´oƒŒ²Iù<ÓµjÎHÔíÓ•_šp“lÁˆí¥ÿô¥](™½¾]Ör3òÈ1ïgæ’8ÌÁ>íxZ¬‘u7+-eá�ŸŠ—ÒÝŒâe*ÐkVI?sбz*H¶JNȶçúúfù°cÃWÊxÄ…ë±=’Æä=,gô:~‡ñÞúÞåßJÆNyÎ ÞÓÀ�è �náV<œ¹¶±¼rÝÙñÏŽâˆbë°e•xZÀß«êoS½tm*æè>8¯¯‹*¨µPÀæ>�NË%jç'BkS€Jó¯ NìSD�€¤à÷}­þJ‡Â˜¾F~±T¥ò-ä·ÕÝg!®P ÒÙ¨šàÆ” aC¡†Aù¼1|räi®ïµçã"FzÒ2W³¡¼éL$�„!TV|+ƒßÎ ¬I¨RT®Ó~ÜSh[Œ"ë÷#ZüÏW?¢NÝ<ü[aä¡kÙ†!èå�¶ˆ›�ù‘2O!UìE‘Ñê‡èYè\ÀKÇ´÷‘û+ƒƒkS¸Šh<Ð8f¥Z5|ûIs�5÷ÑpÄ¥¦mÒ•«Á{N&\­3O<9¹ïñ�–ð©ö¤´¹-½ã“íu9NþU5Á‰ü̈}ÿìX! -¤Sãr§µ_}É)p!O­¥Ã¬ìfb&�R7— kGß,nøÕ¨Ó )ršù‡ç—ý6lI~Rn¦˜‚DÌm9ë†2Ji+\ИS°ß˜�¥GBªUÂe ?ÃH½Ú†�€ènCšóI!£ÿG`5¹nZÂsÂO�/”|ÔR¨ûký~RéŽÇ{8)E=Å…ïš¿íËøSRÆ(o ³ZZç’Vžú˾�¶£"8Á­.O2A‰tfýEï°ÛFåȉ �µ? ¸óŠréÀ>_ºÑ-%MD×´-¡ù#À‰1tgM¯â{ûMjƒ÷ñZѸož3õ<(«·Ðê»S¨ä}¾Íoaí—ÓßXÐ�Ñ:%Žt¿ÛÙœ_[9HŽ3�Xp\ epYŸ‹Ö `(¡4Dz˜Ë›ìë¶2{‹D‹¯vÀ˜ËçTœ¸è!»uãÊ×J䀿µ¤½ÔIš¦›Ý¼å=žM²]&Çé¹¼f36—í:­O‰‹©Jtqb0B<”�âK ˆGâÍ�¡gµ{¸¤n-ªld¥|ŽD}Á÷¼Öª³J‰þ™mÇ`Ý4&©Ò‚Ž=Ö±²®‚š¦\ìÝ5H~Ö¼œúåVê5�ræäRÜB'Vv7�:ÙXe…幨¼ï½Ï< ]Ó7C©WÀørÌþå€'Š«ÄQ±‚5Eø}Ì6bƘŽûÑ´Ñé¯xäšÈ[3Õ ¡¡­˜4«ã?…Å•…>®ÇÐm…5ñÛIŽ£…ü[==ú—¿d%ÃW€ðY‚@Ÿóm¶®ç4âo|ß�!³£|²×O,$óÄë…T׳/,pÆúÆ8ò]{r\ˆð„`…ˆ Ü–˜ÜU&ð°|-.){œÅ9Þz)´;,Éš„S}ïˆ*Ûí­à§BphžR›Ž[ZP8([�ÕWñlyQýC®0%&cq§iW~ú´÷>æ2m!âàŒ‡~a"–�.ßvº ×?!v’[u.*³Ø –Ì kêY G¡ o„n+àýÂ4'ëw¥:ÔsÎ �¢º¡`UþyêñÆú;Uùñ#H‚ë÷�B£½êe÷RüôF‹êa!T^*äþï|ÚäÖìÿ]ÞË ,�×§²3^3¡Ó‰ÏÒ!S\-TÀ#qªya¶Î'!¨Ô9ÍÍ�>“<�‡_#Ÿ³ÖÅ|6<>*GˆB°4Djˆ)ƒ! @U�,ëmÍLlÏ x«Š,ëo: Qqý+W$–  ©3Úž3Ûh¥Û›«x¨ò®f_ËãŽVi‡òjÒ®SqT*—!w7bþN¹@>â5ð‘±!X’‡±{ņ 9a ÍoÐH_`Ê©Ó�Ñ -÷¥‹ÍcŽ®7Ôcá kpÿCްpš?öIã³�±å3’ÅΔÔB´$iÈ4/˜Ž#ÿ ï È †#tæýšÏ§Z´E|]Ö…“0EP#ŒAŤu û9%`Ûš®¿ˆ7š³“s1Zݾ­©pãuºº Å\i€¿1&”XïñÉ8Awˆ'ÃËw¿÷Âü'”X].ßžŽ”ŒønÌœoØÛò²ÛŸ™Fv(…î`’¦ -ÿg’1¾Žê¯AÍL[cŠcâ•‹äc§©³Òädµ2j£¸IKá}6#ºq®Yõдõ*Ü lÜ´0q{~§Û¼­‚©Ä(�žÜWr$Ò;3ËyÆã˜8·LJžeä”Ç\p‚¿óaŒÐDN˜2ŸªlWB[G.Rµâ®ØFC97£‡Ed�`W§?뮳Øp'+±C*Ú�ãÚo¢7}1_CµN03H˜ŠKæ/[oݼ¢±‹Úµq�;“n>WŒö™ÖÖ¹Oö¶BÿQ‘ýU†½2ö¡DÃdÃ�ÑiЙAÛJ}€ËJ×t`“ØæŠ[Íq'Pw•@|£NÍpøÌ¸ˆó3ö±ÓŽËp>îñÊÚ°¿ùÙÛÎ‹à‚±Ûúø�QPùoI®¦(дù’á ’©O´ˆ´“­Pø)À¨n)¯Ù ÆÜ½åó( çk­â zÀRÂm˜zB'Z˜=íȳò´`×L<_£S,=Ìݪ6}>‚1õ;ï�ç•Ýù�.9’v¶ù�«^¾^[ïåÇÆÉ5Qå\<Êà§X­I>‡ö¯É»®\e» YqÖ«cÝÀU±ÎyãÂ|àŽ ã©^EZHø†•O�<Ö(,�²üSöðËž9{á|VÝ,¦�ð÷+©[è:N‰ÕYy¶,‘ì¾d˜–�¯'–5êÇXÕ‹ â+šõíçø2 ýúºy¸ 4_n·LPOílÚý/º+%HÕ‹�¹²ç=] -1bâl½mÓ å4‘œçð´{V@Q³1†ÿ>ô Ý‚ãûG¨y�‰¾VÂÙVÚAm0FÖö}ƒÅÊE£Q0B :•<æÓeQÌÛ²ü®¶¸ OþJƒ€g(U;îQû:YõY÷÷EB$㢠)ƒÙMG�p×_ø{—G<¾ÒZà�jäYºÙGzüvN:yõ$Âc�–ûÑy&«`:SŽ68H„|¶í‹ä˜,÷™ýMàú扉!¢¿«÷¢ X úèC©’.œÐ£JvÚébýòQ¦ã5IËô樚k}Êik’J OrÚ¯ 2.qñHÌñÄÅÉ:ÜHw÷¾‚8] r’’Š6Æ5•ô[R擌(ø(}á›4.V'1ûv…Þ“lÂkÖà �¾_0jR¯—òyð ·ŒÄnüE¸Ý†çKØù@îCTI-t6 ¥àfaü¶­rªå @Çü8ýÒC«¼Xe]Ðþ¶Ì÷b9ÝʇÇ5áK=^B4꯭a—w¹¡Íe´øÙ±Q†Ò—¿ü˜Ï9‘bf•_FSè,ÖCÔý5.7Ã4»…–�ˆ›qíŽv/ã(dá/°{'‰†U) ¨ˆ(Ø>·,Å{§�Ën¶l„iðœ‚tÎϧž~Q¸9Gåƒ3-Âá‡_Æï°äú;̧fèõHr<屟=%ºY_yKt¼MŸsš„)Òá)j•߯”#ì› vI·"ͧý †•)w´Ãt‡ì?{)g¬uùžÉé‰^oÒQá¸D‰/eºÒ°„j½¦ 'F56l p˜JÜ×çž33 ÅéHì§;ÓðÁ«ã¶¬qIÌ5ª]'¬ãù´¤Q´`Ê'à'ïky¸~ü½p�Otrß“ÔÁ±n ž˜GNàW½OëjùO ÏHvL@£f!ðß#<(ð1šrõMœF4Rñ«#4àë3R¸Ggä+6ôÄp9ÜïAÙkz ‚1w-SæM*œßà~b¤o…?‘Œí2á�·Ò×»¶ÏbŽSZ“òA -¦g§usq1ÖÆ%Õ¹¯IGTZòªÃde{´Nÿºz:“¸jn Hì´jp�²ÒË@€xމa}š½<Épëç ½ä¿x\æë"|c˼7û¦-pÞ•á˜Ô3¸¶ÅN<Ûúm[ ªÐ�©,C"æ2;ù|öhCÞË ¢T„eNg§ƒ<ŽI>Ÿ%ZóΆÅàr§ÈG¾vŒFFt¡Úv;ªº”ˉ^ [NZðžW™BÍZpoÐ�ñ)¡߈,»ÅU¬¡±øjÞ9J¢Z�/s -Û~4ËÞÉZ‡º–A˜Ì1ù³íØô�¹ÕÏ:�v´žºÛ€½Â‡ û:ñèÐö¬5#{º Çêÿ¸q¤”£Hœú�Ã#vžc°°Ê”ø3ÄÊ$2 ¥¢.àÛŒëZn¶Üú ;tîRj•„~—#c?¸X�KÇÆ W¾aF±�Ÿ½d j¹8›HÓÞ=ÚÅ ðžýËë†ßíö÷ÃØ&¸/ØñÊR!i]^j“i$k0 ÙE×ÃDQ ¡ß¯•RÊœ -x¤ÈÅ9#´÷ŠSXÖúü Úê» HôÇ1ñIØg=f$)dà~B~Ã\èjòƒ�W¡¬–)åy&Qʵ¤HÏuýL6¢v“Û$|"%Q�^²)Q»Õ‚2*ØOÛz2ŠÔ6,ÅhÙÔš˜‚²pg©òCÙ´„ë‹rir†�àš9Ø�ÐÔžp¼w§Ž¦NprÄõxÍä�܈ U‹RDAh9 (@*.â+X¶rJì}®'óà Lmö䀊?Gí…r|yƒ¢Ká ×õŒìÜeMwäï’»ÓÙ¨þs‹4»©Ôâý�&n9­ˆÑbû�·n!КÏ„dD}„Ü‚/Leì§×ôSWѺ-1 „‘qÏâGíÒTá9·(Ðgl6›ÆºßïÐý[yzR¨bO‡vWk*Æ{²‚ì�yq�dºhì4ÜF‚œb£­S¦Ô±IÝ�ùá}g­Í™Òž¬Ð’æYÓ—Pßl•é2ùw: sñ�b¡ÈK‹È¿¿HsþΧf�Z¥ÂÂc8Ç,PlÔ�>åÊ©¤jÀš9.}Ò]δßý}S‘Ð.U=Ö$“iH–Wÿ%ÊÄå©Eã‘(QØ[‰„3ˆ3X m™º.Úd1\îÝoÍÆ-±k_]ÑÁ L„~,~]'í!Gîì*„ùî‡ecz“wê±ÉWõ¤Â[ÄË�*Ü{þ»3&D­h—!Nˆ1,¤.~þhëŒeë=¶-?—®uÅ!×Y8A›ùªvΤµ–›*¨t¾º5cNÎnp›ÝJ,œ(l_ÑGÏ€ë÷”5JЃcÕ´E)ã§™¾O¾¤ÞñßÉHòÜœ?¾~oÇãÉ}Ê媋ª¡10d`v-¨i˜ŒX6?®MeU+üÞ‹mÊä@�¡u1ôݾ5X-¡™I4á*QcÕÿ÷ö½û!Å’3ŽÃvý�³þPlÅÜ>îzÀžÀÂH¿úöÚEKP!Ì]ÿšaþ³Rç*Œs5s›JTR�DýOœ×Ïjd‘SÑŸZ.œƒ=‚] Z¢¢ã(%t¬øYúÈ-5÷�ˆ µ‰NeØ‹RË×xNÑäÑï3î ¯«t!Éð4Er¹m²f!¨Ht*oQž&Àðøx¾ü9ß&!w³)ç76Ã[›ð‡É@]6Á‚ý$Næðc -ñ‡ÒÇu&æRŒ¿nöi�Š,yµ`õ—’Ó¾A8’e[£9júC«ô0$Úɶ‰…ºØit�Ãgïç…³KQƒ\êW &O¡L�9 _q -­¼®M~´¼¸­T|©‘ìÊþH`¬ó^2Kð9܃l”;e+N¼#TÀÖþÇÐA¬ì:!]<§»-ÉÖ×ýÕÐp@øöh¹çòd÷çý»w0ìSTFCçÛ)ó:^Äm­HºÊeÕ®Ìñ«ôKvÖç¤ÊUp(Uc%·yIR á´Å!öE¡H°€OÓyS§îOÏÛÈIÏ#¡„ÏUßÃ,‹ì’bCbE“¤¢`ÙÞ|ŠÑcð²'EÜõ45àæuÎÓ¦ >©ì‹—·¦Ötñóà=ü -j¯ù�slVâ@ÉGÔH»g�‚çªç?¿³R†Ü"´&¦~¨Â¥9$P1€7C„�îåŽÓù'êèü‡ºñ^�š°^†ø·¾×Ÿ«lIý@¦ÇÜS¿Äœ€½år¾M;a®ñÛyV°Þ¹Ie¡þMuø–®� d´N:²ýZ… ì8ìÃâ-Ó=iËP63)ÑðgdzªWÓkDOãÄØŸÆD³3äÍé¯Ã-4‚׿øe½�¼Pò�ñ‹µ9µ_#âu¨BÌàˆìU¡\Q¯ñ¥Y"ùú¤ú.„dç… ]O5忺^ÝXúPU<¦3Ò²‚=hÔA³âSA§D‰XK‘Nª�Yލºlœ#K„Lß…çEžÂÕãsía¼IÙ[cš¡ð¦¸£løƒ ê©»Ï寳ÛÝ1;%¼ýí?sZʞͳU»J†ú†/é`�µ£;Ðó°ûþz‡ð)ÞU*Db鸀*HF0ºârg[g¾Ç3é^<LŽzõ€cÏ#`<úŒRa‡R™«‚+6˜*•C©Ä¯:¿â+E½ÇØÔ{-Þ-Ã}7jwñçÈ×ãˆ�“³Ö´‰íiœ°¦¢áPë5ÇŸoŠ‹ô)å>û¼@3g]BŽŽì]ÛÄSpD€×¡B’Ÿz’ä=š€¥I”ïÓNNÆ ™ÑuüÒ�¢\+�²•¦Cü‚°5KóÔa|óæ�[MS©÷Bx\Ó©Ãt~HÓZÙ ånNÞ|þTʾïà-VÞ¨Zßþ`mpÉX`‡jl¾ $ã #ÁÂbÀs:û.KEýN-pRKÀÁk÷Sz�Lg*…?BµøZ@, !z݈Ú1±†=»»Aœ;ºé‘Àc“ÕC‚�ÃN0Û—#>Ž?D2­éN2�Ô�½_ÐÔfÑ•¯n]HÅ^ò©º4>‡§Yú$-íªÝ­�rN /ºîö¥†Ù8˜–Lñ‘¼9GèM,`h]••({�@o�=¿¢¢]y$5–Œ‹¸Y~¸›zº÷•ÿDé°ÔiM �÷´!ô];Ç÷öD.½Ÿè¡:Ý[„÷í ¿ú²Hç[A€ÔtfuU‡ÉŸŠ…åÒÛjJâuÌ3C¦¥ÜÎfÿ¢”¡ÔDsá´e%ê>2ÈðxŽj½6w¡7'¹%œqòö�ÝM§£xp§ÑWÓ½ª»ðýÂ<̧ܠBonw+ίu\˜[V4CäB¿K^QËÜ„®–½ÕSm#Ù�j­+:íŽCŸ¥ý’(�)�yU1'$ug- 7Sn俢ók÷SÍãMOÕ ¦m^ Ç}–•l7(êÐ7©’ÚíZjDv®‚g1üò'£üĬ µYÓÑî±Ã=ÇìÓÜlˆiÞ9§ÚèŠ9!á=Yº±“¾»šÈ ¤5¨ooѨ 3õ[L„DyÿgÂÎÕ¨«ÂnofÓ¯@¥ž{D}±A™§Än ¾\.¾u?ÖTF!ÙSèîÕÙï -ªøÆÉîɆÍî(t¡…R\ÙþgÃ0XRµ8÷¯ök¤å¡ÜuÁ�¾ÑÍj4>_hÏqàx^Ù~ -‚Ó,æúf¾TT±ÞŒ¬.Ü׋O =œ’¿Û† -g;P™Õ7Ç¢�_ŸÖt|:£_J•G$lÆ­�åÂ’~™+¼—‘Ü·,Ð ÙëÀSßó‚�Ä<ÇœÅþun-^ùU–áe\%цæ ]‰ "! ï6Úå€QØÓJì�NòبÒyæì9óI˜Òð1éäãK�½ tèbˆíQëðn¼N·O1º…ÜnË–‚þûÞ.t€ÅlÁ3´üÍBÉ$JÒ\íw*JB3 ï>®m–hÞ„†ø¯Ù{±V(}‡†�ÊÓ]žŒ•Á]öGušìo ?¡µ˜–t†˜Å\´öœºµ B³ ¦1¾5×sf ›=&ð¯I°ÀHÜÿðõ¸[��¯o¶XPI\¦À‰U,¸(_ñóíšó¤],|zn8îpù­&ã‚¥°-K&—HÄîÉyÍÐJk·ŒW�U¸™ðüÙ{…í",êi£Þ~¯:˜¿@‹gÞÊ+Ñ­GÐAî~¢Ò¹ï¸#쌄ã�ÁÅ�òƯ(¡`tãòÈyȸ¿6J{lÙÖ³*¹Š’åwñó)Xpb5{Oº5¾G²˜®ÆÒÔ HX�}=ƒ¬9ÿ0MÞ0›V¥ãTYm¼”9J“�oD»ŒêK•ý5¾y ÂöÓj"ÎãçÙô“•*v Ô�PG=2ÒÇ•K­v´X)¡Ì³Ù ý+Þz6ß3Þ�a%qãÕK& 7ÌéŒó2ê/ ðcÌÚá_ƒL_GN#³ V˜g7sÚºÅâ!ûS †“ì¡z–ökwfbìX‰ß�î.Ý{öìçßnÄFá58ˆÔ_Ÿ%GÖœ7€…d¿QüâÍŸt¹åÊ)ç­Þ -|=”]?‚ó‚oêô8»<ç0]NzC)�‰s˜|™V—#?øAS-Qñ'¡².²t± Ëå³¶*§¯å·àQ”¼�ƯÈQËxï˜ÐðÏÞ÷rP5w»�™Ýu«ûŠ®†!¤ß¸ T«²2 ÀS½~b4ô1fÔ•«2Âå\ˆ%¹¤“ÅJk7ó¦bbÄýv†4‰­îåB÷ÚÒÁF¡sÚ{û•‡×W 'Ðó¤C¡©ü¶ê(ß6Å=2÷36•–¢ëgâcô{^�›óGÝ,ÆF­r¡àœ™ôl"¸ìð¹S ÙêÞ\PÕ‚§÷C¯¨Õda{/Å~WyÑi�<ÉDŸjpÛ´f�œ.Y¯N~ *‡£˜uîÖ 7RmI�ÆAAVñö«¹'Ss¢³TB䯨È­fž”-ß ç¤ÑâvŸ=ô æ0½)Žéa´[õ79ý†ñS61|¾H3$ÅÜxí‡O–oÁ‚¿@«g=O'ä\q(8õ/Å“æ«Æ\j.ö‡¤ƒ=Sa&}8Äo,‹¨³ÆúslpŠ–FaöƒE¦q°gŒ€�U'�÷GˆxÕŠR‰%®@¶tEŸ”Ã0”è“=ó¥(ú�=øéû$¯–²6DµÌ^‹F´ZV�kPNkqBä…Î0ë§×Óq°ídb -ù¶v«5~ ‚É«°5 ƒOs”í£4þ-a[É™?j ·³š,³Ò%EŠküþøH›ø�€/BÊ¥ç�ˆͶäßóØ8Ÿ–Bw2›rVð¼#§Õl¨ãË@ß2´®0Ýz>–B¤ÞBÞe#vð3œ^Ïì‰u¥ÙV‡"¿§§¦†V˜E¦&l2\óC»l˜Áš´9ùïGL¶„ƒ±~}÷ÌM¡Ïfà‚Õðn›0K8;‡pHz“?teNf»w(Ü[jE÷nùã¥8Øh -ÒwsZø�ð�÷ßL«, ûò •oíšãtâ) A ˆ^j½æôãûõÒµF ¥K?ÞÍ0 ‡8í‡K/Î=œÈ„)}N[z©÷SdzbúÄÅ$Í<F�ü²=.j ®,àwSѹ̞ո—°û‚&“PÀÁ_Þċ¡€5MÎK/ÝÏ·1q9ió±0¢ÎL: -=�ÖÜñè�æeÕà>A¬ù'š@©Ι# b_Qì[˜·, Qx؉HRB¨óÝ¥* ú|÷g*øü³o—XjŠv€[7ÓñqÂD— IÄ:<.Š_‡Žo û€¹wEK”;n7ÿS¾Lj±Yé¾Üó?ç dæ[þcM·³ÊðõÈhxV>j4~Ô ·žÞ¸Ä8¬âËh× Z;dªLÌbW€P[sÅÉh–L» -ÉKwðžóÜž‘ËÏ›�Y™•!b Ó+~Œ-vM� ;*ôBF¶,eI †IÁ†¦)œ*iè̃k oÍ)˜r�D˜+lHI^Û¹85¾‰W°<á=—kû.Îhf<¢Kƒ“X| çp2ª¥náÒºÀÁÑE¸ü�”ê‘–ÁÒR^à³ôúô0d½YBÊߠ儵œ‘ŠJÌV'\�m|`–o‘Àõ×A{) e „Âæ�úA~V'zz³’)¾w¤(�[ŒiV7™ä²b[@æ¥(¤Ó£rlü™ù&IXöVAl¢L!†&¬ò<Éý•'rH¸ÊØÌ4iRt]bÉ‘�Ä2çþ}jt¬!ùèlŒV°/Üb8urÉ�ØlÅ6e„�ÑSŸd`B³œê‹l%Ã'(¡TOÚ -�ýXÅþ~”k>mÿ¶Åä¬ -endstream -endobj -718 0 obj << -/Type /FontDescriptor -/FontName /ZDVWXI+NimbusRomNo9L-Medi -/Flags 4 -/FontBBox [-168 -341 1000 960] -/Ascent 690 -/CapHeight 690 -/Descent -209 -/ItalicAngle 0 -/StemV 140 -/XHeight 461 -/CharSet (/C/D/E/F/H/I/L/N/O/R/S/T/V/a/b/c/colon/d/e/eight/f/five/four/g/h/i/l/m/n/nine/o/one/p/period/q/r/s/seven/six/t/three/two/u/underscore/v/w/x/y/zero) -/FontFile 717 0 R ->> endobj -719 0 obj << -/Length1 1630 -/Length2 18441 -/Length3 0 -/Length 19294 -/Filter /FlateDecode ->> -stream -xÚ¬·ctf]·&œTl[wXAÅfŶmëŽ+¶m;©Ø¶m'Û¶óÕó¾}úô8_÷Ÿîóc�±×Ä5qÍ5ÇÞäÄòJ´Æ@CQ ­-#@ÖÂÆÐÙQh# 䔦U41sü•³Â’“ 9˜8Ym… œL¸j&Æa#€‘““– ´ss°03wPª(ªQÑÐüøOÉ?&C·ÿÐüõt´0³Pü}q1±ÚÙ˜Ø:ý…ø¿vT218™›L-¬MBrò²bJ1Y€˜‰­‰ƒ�5@ÞÙÐÚ madbëhB0:¬ÿ}m�-þ)Í‘î/–€#Ààhgbdñ×ÍÄÕÈÄîÕ€�‰ƒ�…£ãßw€…#ÀÌÁÀÖéoœ€ [#kgãø+7þ+!;à_ ›¿º¿`ò@G'G# ;'Àߨò¢ÿÎÓÉÜÀéŸØŽÕ é_Kc ‘ó?%ýK÷æ¯ÖÉÀÂÖàdâêôO,C€±…£�µ�ÛߨÁì,þ•†³£…­Ùfðà`bfà`lmâèøæ/ö?ÝùÏ:ÿKõvvÖnÿòþËêæ`áähbmJËÈô7¦‘Óߨf¶°ôÿÌŠ„­)ÀÈðo¹±³Ýè\LþÕ Êf†êoÆ@[k7€±‰),½,ÐéoHåÿËtÿ}$ÿ7PüßBð ½ÿoäþWŽþ—KüÿzŸÿ+´¨³µµ¬�Íßø÷Žü]2¶€¿{ øgÑX8üÿ| l,¬ÝþO^ÿÕZÍäßéþÀ$œ þ¶EÀÖì/5 t ÿZ8ŠZ¸šË[8™L ¬ÿöì_r[ck [“¿Üþ«­ZF†ÿ¢S6·0²²ý‡Ö«Ll�ÿkéúWþôò‚Jr4ÿ›û/Cù¿ƒà¤ìf÷7·ÿQ� Ðøþ�º¡wŽã–)¤Óµæ -¦MiWØ-ýi§…I2°±ƒ)>•¡õ`)óŽ%Ï1ÅÉ}×ÙsåD�¼NKj¨º†Û­¼UgU!B 0Q…€�¹GÈÐûE�Iî“$AOΦ$""®*©^š?œå<ºâ§IS9Y°÷É\¬ù3¡�ýÜeÃRץ̋j×|³O`,ŠIÝ›ó(Ǭ. *´ƒ£®<"óíf‘!°éž÷ŽMœp 6‘ÑcägÏÎÂèL³�÷±wbñK2íÅ÷•㘧+›V¼¸£ˆ×£NóhäúõôaÏÍc±2™‘sW2B ^Šsw} …ü*%òe¶“lÐÎñM µœøËs)3µËuãbe•vS�{jDé£ÖŒ»£%`Ì{$ÚËrÞ—{–ÞS…§™Û ~H$s>8¯x^h #x­ Œ™–Jf!ÃÂcÇÌždÒn9¢—Â0:�‰â>}”–í¦¹Ì¾œáïñ¿�W¢_b²Ú’á“•¤93•ƒu˃‘ò·—†¤Tø*0œuÝìœdÄâ¿ÞÖß„L:;¨LÚé²WÿlŸ]7Ö4ÿø§”8ƒÔN‹›|ÛPf$y Z ¬“lwÐúï|de'Ñ…�ûê)‡U2)MÇí�ø‰�'˜‹Aã4s)Çï¶Ó´$~•�VžÖ���A€6ôÊù>òµ8TiØi’“o™–ìa †û"·‹)w†�TZlºàúq£Qs!è$'¼Ô Fy6¼0Ð#+ß½–tÐé°eæB¨ªºEQã*Ø–¬ë`]ô|v©ÑA¯’ÒÓAr ²QÆ«{¢zÃ2�j3sn0§4Ðÿœœ@CWö䥋¢4`åü¸ƒAànã‡oÚ Y·1s«¨Í85÷Ì‘#¬{½°™ -Ô§*ìé(U‹›ƒgbLhF¥3ù~ØG,{‡åc׃È3FÈv€Bàt¾#}f»l3= Ð�„ª!¯ *ÉÚG4®ìš7µO‡. -ºïÍ#|E“©;…ƒ�ÆF=÷øUV´ñ¤±NAþýަ½Ú‹&1êÂZØ?¦»;5ðçn…°â%aZf,®O«µ³KØï­ËRøq$“°¤oYЩðxŸ®/3žn,Úe÷kŒ2}—�²Ì€K`t˜¦ÝÃ.ÚÇK±ƒ¤Þ­§eäÌ>¶Ö–0eáÞBA_Nv¹Oè(0VÒ W¬+ü×ôÇN XÑÉWˆ)VºÉO>tÇq¨å‹›và…¼¸÷]fÉxÚŸ÷™IžÅÀ¬Ïþ¬ -“Éš^G�á÷CþrŠŸ�‚Ë/3}NeC‹©ø+¿óÂ`°Ç‡ÉÒõΓšyÇW�û„´:‘x‡ìg\æºD™ÀYV8ʃìÿªš~M¶“§�fç:çÒz�ð(>”V¢«ÍAó̺~µL ù#áx|Òw‘–ñ¼¬hè1$>íl¸¸”ÙN†§w Xµìú+Áp6øÚb°íñf!´¬7Çò£Í‹>ÞmßhuT‰Sò”s>3âH€M–Q×�PZyÄ]¸|ô¶èÑÆefoL‹j ÷ÍíºÚ䉂7qÍ+¶ñú bÉ-ο™#¤êQ¢ùÀ¡ûˆíîÂs'¦Ð/çÊ…Å“QŸa¼œ^ç<ˆÿ)Lüýä!È5‡Ÿ µ�XÄJ±Ò’•Ü4`´S}}w÷cÊÖòÃŸçø“zseäjô|‡Ó¹ù§€We# :±=\Q«àH…€š1‚âq!õûð<ë�yZ'jzQÚŒ°ÿI\l$¨„¤-o'½.™(»`M(™{.c-P~5/x&ÛÏ ü6/í$dfg9~å·JÇ Ø“~ýz-êÕo÷¡£dé¥úÁ;òßÊëÑsv«ë­KÓ„‰Mü૯5Uш໥° û¡OÝ£ ‘ Íâõò,|+çz’ò€Øä{›Ì…Üë5Òz!}|8ùí‡n®c=èÈèâ_8˜0)é¯8LÙ~‚ÖÐUøœÇ™¨Pz“FÚÁfUbÑ‚(‡¬Mz_ØäV•ÑŸm¤rl®+¶íƒä§�W&�)D™ ,߇Ã&Î5ñ &’}ÀZ!EæzòžÍ54}Ê&´ÜOµÑ™¢á§Å�BìúÇßb£Ÿz} #égpZÖØE²7ú�×x»¾Éˆw�˜Å Ú˜8Sÿ>O’i°ø§ >íIÕ¥PÚ€TXX.U7Õ¿ZfAZ|6ö⛌…¼Ìܨ{†úõ™eLf|Ï8)­YhÔf?…,¥¨îô2ß(z¾¦Êlª.JŠ`Ý9IàUÂ^Ÿ[Ÿâÿh¯z­÷ô)ì «˜UÅ)šÛŸ·þ��‹ Ü‘0õª[ãmÕÞ–a€}Ç”¶9°�¸#�ÿ53Ç•c–äXC·©HZEã(ãKSoâ¢CC•‚´øƒlöòÇ—õ9©ŠêÇ��£0Çycî{²¯…;x]ý]�Ÿ×ªUà]d–IØÄÙÀ'.5\éc˜†‡Kð« ¼hVTJ_,zNÛìorñÝ,™›œÖu¸iã&¸ ŸXŒ\ýž¤o;þ§5G33¸„ŒH^Ôtæw7ê>b–KGAˆãíéºxɯ‰R[‘!5à~è²è”ò kø1ÙÐ:Yç,¢ÍóÑNÀl†/ÆîÑq‡&Ò,5�ù^¼äDZ“ý(èÆ+ŠÞaF/Ë(©'Ê�_R­·ßŸ$Dþ¯Çµ8èÓ³¬ªªÙ¡= -Eõå¡ó9º¶äq‹¬?“ôG¸˜ÁS¸ív -'qB9^û#µ˜ ½Wî¹$ëÝ›¶©ß"Ú¾ 3?ýfR» Äã­¿î{à q¼l^­kâ„ÿ(b[$ÊwÁšºšëMÑØ¾-’sö cåâÀ\£–‡Õ–†É!VŠØu‚yDåúÜYŠ»µR/=ñ,Ôõ'4—[¾w�bÜÄ€Ú ö¡¯ðA®à,ú ¦³Ö!q–‚Bz”tŸ¤›[s)ij5!ÐqÈ -Y&}j$J³•ý™°V#‹Ê~¿Øª†ÄM’�~¢Ê¢>.KÓXdOôú#eAp[a€'bd*c¦5…™ÙÉ0Z¨²#'B` dpeùw¹¶Åò| -ä2´]ü\fWJh·Ø`HUukô¢9ÙÂG̸t_Üà÷Î$k†tX4à Ì)¶ ÆL޶`Ø�ÖŽ‚¨H”ò°ç6ÚL4Yt§ŠŸ -cŠëääa„êD¾VÄCN†,ÔV„Œè‘ª�Œ KXO ÙQýZlå¾pË�Ŭ/!ÍqÙ™¯—ÞE·ËÙzºîƒCù¨yP¤Ñ&›Vnÿ˜XQòT€»lÊâç¥ðÒÜèª-ŒÀH¹âc³œÝE˜¬7"óÿq3r­fÇ -ú�3Ƹõ j_I­°Ÿm¬šu ñÎ'µ0× MõöºdëöbW{í@k¢רxMê«x+DîôÛ8˜‰y9“Ñ*�LœùßIWa×ãæÛBüŸuc,™–Ë»œÞ'bÞjhh/éR'þ�âÌJŸ Gg–ŠÌˆ¤¿¬Ñ8dxKí£‹0Y߆DiE l«2_¾H®ŠÍõ(¼ öKŒ+Òïæ˜@ç€_y?>ãÅØ?I7DÚ'åwønË"¨Ú²Ê�Å[]ùr>¯–~TèW‘Ò¿r}š1»‚øH`\µ'Ò‚Ó)Òë¹-Nð#5jõ,sÛÖsn¾Œˆ‚Ñ‹aꌓüTøºvõûŠ*‰H¾D-kpdk+DÆÄ$ÀtgnŽnøëöËãÄix¶aÕFÌòfIWQÓg#‡¿Ÿ“[Ão' ªs3%…ùÆ®G`OÅôq—½ª;ÕÖç®zGù4H�äÇšìKW¥R~Ç£Y<�ÎŽM,u;›Ò¼jœîU>�Tà;v¦•ð½À fKþ¼rØS@=jÛ”ƒû³±{D‡9?Ús”ˆôšrÛVeWˆ§6;|�L�rƵZ&þí%m™óq|[ ^óö4m‡{ŽÇœ[ݯ«pª×lÇÓÌ9«¹ ª«ÌóÅ�~ަ„²i!kdå9,²O‚[Pˆ€z�œØ]â`Ò†ÿl@j7[›øeH øm7hÎ ÇXÝ<ÿ»Oñ¦øjÚ–=º~±u›7× YQ"Õ)/¡ÏÄõ3¨èÃ÷±@õG8þ™±;þ.pŸ‰n²~mÇÓCE„ hæ3‚ƒ¸›Fí"ßâ›ÁÁ猜_X|z�A ë™›Âë ¸Û†ŒSÛ¡ÑP…õ­FýÛoÄ6*+k�o8EÉ;À<Ï®Ÿ)Î0,HÏ,§Äp×ó{2*.3œ¼ÕánH_Ìø¥û£›}ašY’x4œÙ®M6òtýÙ *¦AI^¢•çXRI9ä�²k©ï–ýX±¿Î:¤Û*«%˜$Z;Ê;h}Æj‰ô‡jj±ÊÀ²IïE(eðÙYÎ3˜G&"…¬Ls©˜±ÊÚ _pxÚÔÒA¸Uš1�4`ª¾÷Ÿ �÷ö×ZÄÃ6'Ý”ê+# }B¾âv•\ÎAŸ¬+>2ñ\J%÷`No)�KU‚œ—Õ½„�#TEúŹÝ÷2Òq¨’{é¥;C'U³ÄM˜/ÛS ¡#ÒÒî9îÝFÐÉtä[’�»+s3W¾µŸSífÞ²¸#‹Ûœ¹Õ:,¨Ï\PØL�íî0[¿úÌ zÙ¢Îu.‰H{.¦v ¾þQý£¿ÿ­G`Nv|VÄ-9Ωä”bšxdaošé ’ôO½nå¡êVŸ ®¿žÍ‚CyŠŸõ­Ðp«´ ;8.9�ºã�óâ‘M„Þ·¯…Ý=Ê0ßQ`õâ€óªá4x®·B×PLÍÇx;8(ö~3¹ˆeò’õ|å-õóV´ã�/4OÆ œHðÄ噀E�Ä„`ÔZŒâ:ëf$‡±‡ùñtâ+_hsð‹Q»‹hæS‚kÂÎG±ëc¤AzÑDïJjWV9SG—­?êp Y¯Êüb×oìRʃ+V¢T å3˜—"u0¿¢Æô˜"ÁûC]Ù|jöœ÷^í†~ÁøÃklÅ—EbRöñ¡ÏgãB3s$�5$jj™Tä:Jƒ,�"Yšß{L9�Bbiâ.ìÏ–�Ô¤:²Ü7Ï[1Ӭ΅hp~'žÔ}ù»Rgš½LÔ+hY±z¿Å®åàK…ÄJ5¾UòMc¬Á,š™ðXz5çîEöJÚy„¨ NC*Þøîmú¾”^B‰í˜~Œ¯.*n°ç©©!õk(Ëê,$Aèã�éѼ×g¾½ -¿¦‡Áýcµ|ïhp¥UÆ=.èµø?èì30ü*n=à_­ß�Gàk}™{…W©Ú…”äç„¢ÑC6[i e¿aó1g¼jÁRÕݤ‰TÈå�jù­Å o¾ž?ÿhò–’ƒtF‘ qŸû×�“¸S× Eº Ù+]—[)¿\玽tuÉ%Ìd9À Dª±Y�¼/»Ê¶V*˜Lø9Ü“ÂüYÃLÈÜæ[œ$©­�×Ã&Ì.¾ñÆýY‘ûƒ‡æ¬ÄzÅY®tòÓ��Ñ.Ëu¹Bž ˆ ²äËv¾0Ê® ö]¡ÝD¢ê9'rYµV�N¿û£ËùtÔ$,duGÖ-ŽýÜ…^"!3ð›Z‡6ºk’!ŠuF¯e¡%§s¾Å>�£Ž`«R”óèŒy[®[wRà8�bÆ‹"íLÛ²Ѥ¸¼ˆ�“z9ª]\Si½-Ëó\uy€¨n¥N FE¨ƒÚ¼÷¹˜rñêj[v‹H/(ISæv½.% O—ßãIÆŸDsš˜G�Ÿï&UÁ)j®LåáåÕ -–�ŽÏc¥g¼žÇ?Uͼ¹õEö¿ë)`]|[4ZKæ#•Yµð�¬#™ŸM }û¾¹w¯aê­3 .N‰k×|kGiÅéü’`œÇ€W"AXÀUf¡)­%sß„à’?{Éžø ìËâVqM&³—ù@ÐÄgô… -1'ñà �+Ô{–iŽ8ÃÔZ3Ð#›ªù½Šž -w®Zƒgóz ~”Ž+1T&(|duà§ç“¬Ð"¬Pk?ˆ×­2KX{ƒ¶Y³Ô^1ò+²°’7ùx£¯u›bÏÒŠqïx9ò;¤Ùå!ÅA܉˜~rœzµ$Tb”õ�u콊ô+¼„Aê­.Î5�¸/$^ë�·Np³(T}¤Ó»–im›�E,û$ARE÷E4µý5°†Æ–g%ÖÔ Y{^HÌËKÎs÷`¤C·ÛZûœ6ûø·ÍHHÊD‰¯ît‰¾HZ#MÚ¡`äÎ\Äi¶~$—ʳT’te·L²”ëü¬è„¡7E =ÀVgC–½ðÈ9Úö¸¤÷st£®Y#¡`õ3(o‹4D,ƒŠÅØü|‡¡1‚)ÐâtEYjÏú*M>ºƒVö{C2‰N*>¥OiG·E'ФÊÔ£Ã[E×Ð!‘Ô­:‘|,¨c¬c‡ƒkc“QI2mu)¦ y½ó\�Ñ¿ÝþúŽ0Ü+C€×î¤#cÎ0÷Ó’Ð|YRùÃÍÁF ßþMF}9ö'Åf™""%lsêYÕ±¼f&q@FÍZݽÝnH}ËïÉO©Ôõ"‚'1L†e›{¾úg%-.9CΑÐmð[Mù Ú>}ZQ 2ßi¡“¦Ò9Ì@0‹üÑ�4~Û‘ò¶DpC^,Rb¨¦¾M‰ï2r�ÈL±àº}%B^×Ô»l{«BX¨ìD„´µAO(Âèö)’†ék¨Þ?µ üÖ6ÃMó0Ëßy(C­«†Ú@Ï¢h:ˆwÊ&àóQ`Ñ 4;^îùÇ„±ŸOàXñ@•n’aÇÒ,w4¢ºdxÌÎ_mîçH“íÛ&…P–2¢îÝ�ŒÅ©MÇ`¹¥™å%^ZJ4c˜ƒÈ¤:ÖóŒÐ®Qw9F,\´ì“ ™;¯Æ¥Š*½”ò>Æþĵf+tȕÆë£Œ¾ø;Èi¹õй�çrãéÌ>S^TÀ¥ª Ûˆê„—Ö1�t ·¾»¯È KL/ž`­TÕsŸn¡a4Sưb°†F¾*‚ -š”Z–•4ï<×âû–Pý˜zcVoþa6ÂoRäI6ÑÌ´Üo8—rÊ“$,KñˆX>Ã//çÛ¿Æ�.F�S„a•·È—“�G!v¡雪™KÕ­Ï¿«|ø„˜Q"§o±"úlÂÝïs�Ö€Y‰¢ß�i›OŽs_•4R,ƒþö(ò×ç(ŸÅ ‘JB7{{§œvÌ&_�Ž.ߣ*( 3 çUzÜ`"â{zs­L´(:­:ôЪHr]Ù¥ÙÍã7 IœßGŒ¨*ì·FÑ|ù,‚®!¶É_¤¼¥#zÕDÁE<¿š8iÈçU+PÛ'ÕzÝl½�¤oë1(ƒý~^ˆYÎú]¤âg¬ý3ÄnÊžc2i'³Œj -“"¦‡ÅzWN\‡?zkšG±Ê®rÈ_p«00v/•¼ŽÚQc`56BÅSíÚO7�ÞtCõ¦®@‡9ß#¯�û¼íÃ(gÈÅ {^SèÜ"„˜<•ü´�7•Aùn³Üú�îJ"‚¤úÚ‰@HÎòzs#ÔØË¹d/i(³Ü/eªmUÔ±úÌTVû�Dò˧¤ è#òàYÈ6">Ó‡ÆõÕÕÅ󳋙’ŸŒ„Ì8”žÎZbA¾7Ao›Ôajµ~‘iÅjå¤Xóéß­tß©Vq­A¾ÜˆÔNÕ)*Ùv#öXƒ�*IÞ”- ÑŽ ”Ì#z¹�·]]�veO$ `äijƱ‡½¢ý)ø½ïøðÂÅñ¼óçu˜Ug5’¢ÃÔ[—…É|6Tœ£qå‡=.ó†‘G'Jñ¹�xWË2D…Ä¿ì2¶~ òkØ‘03=âÝÞ¿ÎÉ8�3ÇAVß³E½ìôVåTHÞG£j tFȺ}š” -aòþÈå H„XÖý¼/µQâïXûhÁ^Ë=­y,wj®ûCÖ91Ÿ‡!‰Öv@ ÒKÀÜdµõ`º˜©FlºeXM†Û(?uê’G%×›`à<²Mqž/Ìú|pvʶ&“C:@JÔCE»·‡÷H5˜r\$Ç™¹Vf—ÿÎô gy›|­ ¦ˆ²ÔȶÒê%gÌÕ@È'›‹ö‰mVG0¼€µ¸ÄÌ2àÕ–ª¬òÃH]Z*—ÊMâÿ±jàv~IÞôk�çÂ(ÚìJ6Ýág¦NÜÙ¢ýÚæsPc6h@Î�6HÊ-)•Ñ“ÐibŸÄ\$æØµ˜Õ®í,_!û—ªdwtô~ÏÎï<¨ò°µ8:ôä¿"Óreýk»¢8ì÷À�ÊÓ}É(fhÚNXÓ Ÿž¾˜õç�l6k7U›žñ¯ì!犬,�±‚Õ-™ÞèHt1(ܪ—ôeúÑ)¨¢t|v»R+ó"áýò�ÑËÜ 0Qwm¶rÐÕ˲˜î¼Ü+@¹?Ü-­¯¥Ï0˜þuö:-¥Ô{ �¬êÊ1²Ü±�&YÁf® f™#{+™Æó ƒ86•šxLR¦"w S¤äü‡Þ‰#¦ìˆo‰í‚©˜”Óµ¾ jû“‚©9öû8ø¶ÐN¿Tƒç¨õËÜU’‹� ƒ(¥S£`'åã–[dD�W»ýÌÓÈ*¨¡Îfî<ˆBë·-ãѾ”°rD º*¿/’|thQPßÇZ9™<%°7 ÄÔ·ù¹ .ö˜x_sìæP¥¹‰*|~ª±û´rˆwcÕõs£â(}² Ía¬­ÆŽ½&K-±:*‡~c5AL¡.lÖY�"C[ûê�Ì3‡±V7\R‚©uÝB« … -gǦÎ(*ZÈš×î¯Ì|$ËݹùÉåÀ¾vLʰÕ2Ú«]Oš–È÷sI®±É�vù¤××}ñPë‘Ù¡›.ò$*ç>.Eéz9s(¦ö÷¦÷³„ óC»s¼é»n7>~ØÕ78wÓ%ÊÎsÐ;s°÷�áp¬/Üß(î»ì:þv·¯ ­?õ%9‘½Ó›®ú¢ÛŽˆRomîë´ ï -=ØÃYÐ\Ë ÓËBQH òþ”é�[|œÂŸ’µÃ¸L5oÔ7�ø›È­ñ£C.×|&[§2#þÚˆQ>ÃÀ%q·´¿[ðmà_¨”Â:›{z4ˆd×!ìÏ‚ 6ö[&ý•Á³²�BMÈëM„“µKM¯q½FZ©¯ÙgX#SÀzU8¦‡7ò-׊KY 2ïu¾‘‰p'j.·vlþ—UE´ˆD„Kå³ÁøÞP®å£oN•†º|ÙOJ4µ¡næÞÿ÷76¥Aq#¨Œ©îT¡ß%÷ü³½MMNFµ!Ý£t§@Ì>½ÂuÇÏÍá…jÑåðÚÆËàgÞèa˜d|øÚµþ½âøVà‰k �¾”üï|1›}ÿúR’ßk+³úvÌלJœ|.íR¹4o«Gœ§íwQ[Åîu<>˜�°™Ó >Ö¢¹²ä] ßWhãdYðe*hŒ9™Ñü]ï…1O *»ÂÎHRrɉ³à(Ô<<Í%Éú 5kå´Ÿx¾JŽ¿EM00ísX „[µñH>Š�Þù`™TwSçho&^âÚðrg�OÆc39iEO<öëøh!jƒ“̨¡ƒž\&åÓ‰þ@|ùjÊ€Èß¾V¥È�Ïl"CüXêQJ?(ÅÒx{³o¿ô¤à -”nÏò~ö8Rƒò-+ÖÅš~ï5t=["It´lÄÜ ò Ë=g™ ŠW�‚’†ÝÚ w}é—ÕOêiZê~È`/n›åü úMßAmŸ„XE¸€9ÀbZ‰|*‰ Q ³–žØ½„�k›ÊH�ɪéè<ˆŽÈ¡0§S†DÙgsí…•­bË3T¥�zw|ëU–éLë Ò¶üL¥>…0:M|aà‡ò›qÝÎd;â[Ógˆ¸ž®2?Dµ½§óÒÅödµ_Q SÅn#§ÇNØøâ¡]Át 4a_=¢8h=µØ$_p!‚êÐSñ_è�çb}³([ÌØLÝzÒÄHãq'óUŒE’pRþ¥ "`×´6qJ†e«2óKní'"ɲÒǫ -K 8ŠÍ-9€UÙå£+8k`3|ËfŒà�d”¹›¹dËŽžE~î„uMQ0=h2„Q¯¥”d�(g¸ÙN1²Ã†ÝZTˆJÏ%SJQ1BÎÊŒ¼]‹O'Ü×¢c€z‹÷Á—©¥âµý*o8n8iÙù:|£6[BÚáBŒàZöO—¥’DcdZÔ’�› *סþô5ØqR^}Ò’ !NeÞ�ú¶sƒ¤Kr·Ëwïøo­r|GŽê9GZJ³Éo.xØ…:ŒsZMÛÈDUÃRf›}î)¡±K™£Q3¨]ùpm§…Iñ¢�PÙ½�¿wÄ„³þ0ôj5eô§¾áèÛÊbÞ4µûá>�Ý ñ}ÓâV‡®“ ‚ÝG©¯˜ �Wúh�pe*åð[›öE«õæc‹óÐpw‹‘”Â…ç Ië®_ÓuÖ›+½zo¿ÿÕä‹DwªF2à‰£òZd»šGt7Kø%oÐjãYV!nMXâs1@8œR)¸vö ¿‹±.Ü­°ŠémdH�ŸÏrDÈ-Äö×™_sÐ’„‡�›ãã˜Öý ?‹ò|�á$\ç5þmÕ–)Ó4>IƒŽñ|‚ÙBiÛZ¹K·æ‰å¹¬è\"‹¡Yÿ[Ǩ(Lµr?–„í. ÄãvèÒÜw kpÒƒ¥u‹ùGj—ï«ìwú“F‚’C^:§£;?|5¥»v9Ô@Láþ2³Þ0'K -ô„¢§´u¸¹ -°ò„7¯¦-«@a¾"œk%Bññls XT®6祱 3ˆ~0IDËoz�êféAD’“p¼ÊoåÒÞï,f+=)is«}Þ5Þvš€¡p?Ò]�Ôá[²8dËV ›Í„Yº<ñð�itBŽØ)CØýêU šý—ZÍSmÇ©–y\—î¹ÝÁ¤-3¶_g6F·xB�¯§é¤»Äà]µFþ( MùèN ‰&Ä,ʦõv˜Nþ²å•óšÁÝ¡;Ͻœ�ŸsùE/‚ûÈ¡YUŸé×Çy;Ý%�S˜H�Ös›[^ìúôg$ç+ Î휮_ƒÔ´,WUº5[Ïá#l¸¡©o+äßd¥_ª�ôì’åPpÁ¢Á#(b0+X5 ¤±4îÜQ5ùs]ðÿˆVÂÒ‚¢7ÿÎ,­?†x`œ�}LQ—ë -ƒM¨=,:Á0¯…ý}Ä“WÐ8¶�ŠœŒ‹A÷þëC}Û úٷ٥P‘Н¾º”ê¹Ýk¸â[Ó»Päe� ÅÙ=ƒá"Žp·¤"<7e#¿†§§ÈCX¸µz%Èoh44~ HÐqw—ÙåJis¹È\Õ:D�ïw�g©Ì¶—Ù7›Ëˆ;­gL_I¯,%Ȇß@+´Ê¿Ÿôˆ4Ù€qµZæ²�Ñ?™QqéO+†ÀíGÄ@ÔkÚ!Ÿãs+t)�tZÜ�ßhÒKÔˆ«äWKü¤ã~hj�™ccJZ+«Ç~ƒÕ0_,2†ÁÕ<’àáÞî…BdæÓirˆ1öa|ˆQ÷˜UáåÓWç_®/7uçàƒ–%.}íf%�Å�ö7OiÔ7‘’"öð¦áÊÜP ñöÔ µ„ Çú³­žä,èl|@:_£g¾oEKÕ¢�Îå 2G#`½õÑ^øÕV^ž•,ç ±§€e-ªŠN•Ëìg÷ "pŽ@ÒÍîâUŒ(Ù�¹Yð^ -¦4¢¼eÜ:Úñ_4�pDŠã^Q»å2 ¯[ØÅµ¯Ž)\8x 6›Zä*¹"JMüjl#?^ w>=æŽr� Wöì9ÁV¤+�C¯Û}f^wô˧ª2ºb³wæ«ô>º¨[ôµû Õ…’¶´(ä\IàûºÍ°<Öé%v-5™‰SäÝL­”D–PÝ»y,*8™NÞ›Ç2²·w„�Ræ7<Ò‡A¾%µ2³<˜ ýV,½â��$�Ârßc=U!Up»¹F9ÿÈ%VíñnC~zRÏ;ÄMƒ&‰a lwœŠ42;‰ \®p–ž)ÃO)PÑ co(¿ê°n¨÷)D¥ïèR|ÅŒE}¾a¡\Lj×,ø…[fÍ{™Þaú¬t>Æ)£ta2ì‚j¾Ëž›`9k9Øj*«ò,ݶ1Ö+Å¿|B×êáX 57¬úºÁA0¦Ûyøl.�µI6Ïf.m�½[ŒÙ -é¨}§™[ýУ1�êHåz›ºÅÖVAw”›~V˜íÒØ‹ð¹¢~Õ¶·‡ô¹-œ¦> dÝ ûWöì96ŸQ̱ÄßNŧ„Fã6f˜AªZÉ)W„¼/ý82'õ%ÕO. ïêMŒŠ›ÆT¢*®Êâ¿Yt¯Óò"ƒ¡ã w ãî˹õ-ò :{zµ\€¿só¸M]DT(ÃÚ]j)Õ]¿1ß÷–GŸÇŽíŽÁ‘Ýù¶P妹Jí 5ãånw® ƒxÙÖy,�r~½mÔ/Øð^P�ˆ`Wû4Bæ¤"1/®LN YºØ$<ñ8Qd* OĉÒ$e[§�Tï̼(”²^‘„¢K¾ƒCK¨A:œýî´bÀ­Q 5þ :m^ ©ÂbÄ~JÎÜW¼tÑ” DM�yè¯]†QÅ”95ÿ=ÿöÔb<ÛWû BÖ³I? Q;׺@·Zz¬'±÷U³Ó¥Ù± -Gí^&Rw»Ñº͆JðÖ_”à6ƒ´G–Ôó{U„"Îî†ÍÂ%‡�”nø�•¨âÔ´÷&˜Ì„°Óß_]4~’(?={÷>³Ðz ëðÁÓM*ÅÒ\q¾#Ïs"'äºVϳf£Îrup¸²N”“»ú¶„…�oNÅÐ:(´ ÇKè2´)Ç`I°0HóBË££h¯Å¢ÆaeøxèLJßN't›W™�ïÏñÔWkÂ�ešžë -¥/GÛMÜÔ0ØÅË›vR´z$Å~ÔÚÁE¨©™GEHCÆÓ„ƒYìScØ[VT5¸ñ—qä å<û Ã’ rÜàÒµ¶¹ pT+ßëBoI ÂP4o¤ñWða¾,jô ªXg~¼'â -¡4§›{Aþ6 ¿Ã\RóÚÅ«+„qº�ÞäWÇ">nþ±õ Wºdö¾ s ;û|¢€ ²‹ªKeb/;tKGC Òl›©`Îõk7*!VÞ_‚–;f5ŠÝ›¡û&æÓßb^=¹€2§ reßí½F­â–a„IвE�"2’õ¶[çÓæ&e¥|Cõ—¢C+TRµ’Æ‘O¸M´òÌׇïÑÌ2KvFÄÆOøä ý3Ø®ûŽîˆa™WŠª‘ì¶2*´]Œ__ôkbâá]œAIhÂ$ÞŠ‚¿ÌÔj{Îþ„¬G¿®tWÝœºçzfD¹«Ý„Lƒ¦B’Ò“-¥o"Tž -ÖµzœG{îâ“¿…L9–½m�#”01›Ú5ÊC”K³˜\4UY ƳRצ‹È‹¶Õ%Î�LÝ]oRŒu ÞwJŠŠî'yïÂïǃ”ìý¤nw:2z½ÏØÔ85œ!IâÏÿõû+¿eFœ7ë7ûR/“åAÏ(ØôØ‚ú�?Æà®µÄìS“uÉ®âÜwÌÄçì“Ö®\¯¡khñU¹Ë]Žªgÿ¶—áßþƒ6Ž÷%>do .:SF6ï,–òì?Ô‰ç4iè‘£E¿øœçäÊ/ÖE{Ý´ñõÒ3‘¿í÷c…ó’±úakQ6â <"Ð-Ÿ>“\à#vÆ-÷:›�MŽRôÊ>_ý �¦±"gú¶'5Vœæ¡ëß|c¨V亲Ùéƒ|Uèüãí,?æ ^Û—0)$:UE„ªïX:o0lÅâí·N˜,òÒ¢V>s›÷]÷ÑÐô*#%?[…&rp°´L|F A·ã,c.®¦’ÉÜEþÌÈM!½0‰+å»K�­‘*ÝP¿†Øéܬyã:Ú"›‚9¥ý¨Ú9Û !�¥>ŒÍ¦¾¥#ZËÃZÒÀB”d»ŸPBÌv�HÄ&°ËX@HâÒ<¥J ßÔ&�‚Mñ’’ܶ­y<ûõ@ãˆs@†øp£è×üyÒÌF>⬠-MN3±"˜|4€cZìu.�Íà²0‰ÍöÀ…�>™Ï] i Ýâ¯á¾h¬Ï”(°íÝÌ�"©È]œ¡jTœo‚‹BúðUõ¥�§Õ­ð�À¤´Ìõ�fù´#ôÈê’TA ÊÈî ÆOÙ\¢¤Ö§¢Š8š<>¨ß°óÞhÆ€cì3õ~ß�x¢IJnHœõ„�¯³ ó;àÓÐÂåí8S¨=¦$E¯Í)5`Xha‘ì@„6”Ò«�Ƥ%ý¸çoMŽATm2!ÓE;šS¾dV¶�ù1°î¾¿Ðs>g"u«èÙXÈíIU -BK²&„þhlRÈ|÷‰Çð”j;¬Ý f9"øÎ•ÊM„Tí¡TZ*,cŠ"p<ù¡‚oidŠŒÄ>5†×]c -q]bdSæ!CÌàŽ%d"B�’›É²ä�Ëú0Ë‚(séÑ�S×2³YPŠ}ˆ€Ê;¹û¹©(T–|’ïS?¨5.jA_477æøð`¾Í©y„¥;ÀÊBÒBƒ×ÿ0,L6™kqÔCëYû´4%eгè!lâ²FÍ꺼[:)Ž„„ nï>³!_5,^¥ -’Ãdy•-Õ‚g0(6Øù;iÌFˆRúÆ\Zã8 ‘*¨&ÀLž».¹ßˆæ wYÜO ÇÞ‰t²ÃÀØšd -qKõèJÙºVš]3m0Fƒc¤Á¼ß¸ÑúR%›2ŸH_RñÐ=ZÉŒ�D?~sä6V` ëNGw'"èC7WëppƒùçªCìÏÀ0;ÁÜ”ÍÅqÇï\÷¸îß_´€ñ4òûŸ”!èMP¤Îr&Ãù#çÖ«}¨íõåWÙdá4ŒVJ¸™ÙÛòµ±šX×´�ؔà +¿‹¹ç¬¤Zá{¹]—'ð’à q!Q£?¥”wŽlJ‘ˆ'@ÍŸûœÁŠ×4^«`ë+W°U)L¡�7ÆÁ˜51Þ*¼I_€ºzA¼r„tÓâŸLœ¯Œ_Á¬#’ùsOŽì€�°�Fp¤1a—Á ,·ì朦éfŸ})*D-�v |ǃ°Žà’« ~2‹D¨Œ—†A„�©Þª -âgè�ÎK/A뽫"B~ ÕŸ2 ¢¤íj[¼¿7…¸Mçljݭ˜áŸNïx‘*w…µk°¶/]U†FGaì¹²@¨#DŒÖ•¢­áÉ­ÁòÌ´S´U;jŠ&Ã*�Ãgëk4³T|”N»æì…ý ÄV'‰ÄÉZ#V=ྰ4NF2&eœTUd Ó°Ò–:W­S—¦C8êäõ,Å;‰Y?ºüž&Ñiú¨ûU,‹pÇŸã2�欬ænÆ­ÏQ¬²göF�†ÍÔ)èi^žã¹Ž'l—Ù£pYŸ,¸`ÙJó̰o.DŒç]éÚÍ<[Ù5"ÀbOØt2÷D!goQaÈŠ–ùs1Ç”ü{eòN½%žM8Zr�ºØÏ¥—)Ñðç/\äé‰O¯/cÕ<}) ¹ý~í=gnùÄcÒ‹-ØNˆOTu¾x ÝfgŸ¹ò+Ä}¢.¦ÕÃQDÌ� .T;YBÓ¾£×VÿÌX÷UÅ�†yÓ{‰ÿftã‚ã°¼.ÈÚ^@Ó-q�žøçy|FÒêo>~5ËéËWTf6~ÑföåW¥ØI¬÷@P]M¥ÙÞÞ}`À/Cp8ˬGõ³Èð~c½èPÈ�ôüËœ0×õ åËe…¹÷�fŠžq{¿JR΀¸=¯>å^FÀx(N¬k%è*„³眮–XtüN>W3‘J_+Ur,~€ëî�@m -AOyôV”k£\�åF¿~©=¥&�Ä^€ ž)ŒüÝÖ%çsõ59jg:É‹û+‡K5Á‰”2硳MÚM¨ÒrV€øQÄÁÌÝzÞéÛa„¥¨a�þìÙF|sng -dÒèýqj¹íìÕG ×´ìŽ<óRDLŒuð–ܶD;]õKs”éOçãGƒã –¤2ÞARÓ<ÆeBa.Š…¿ßúÉÈÞÆ�~™0?4u¥K¼ÅØ­rH²ÊDþ޼””}3-BðeÛø(‡ 8éàhÁ!·­'ˆa™ÑÎ\yÔ[ÞÖK¢‹^Š×XY%¦WªGmUçùI®Té)Y¬ßÑ%áƒ*4À%âP�êöhn öµ­zç—¦¬£QÍï�K9L…º€JV•– {8ËTÛl¥”Š'|`çÌ<â¢]ð.ú§)•¶„~Ürgøx|]§Yb*Ø´I—¬w�/(”ϼ‚iÂw/ô‰=Í<à5/*ßìõ•tGÓV«u“J¡LH#½èƒ³è"z\©•êˆTHø»ªSëž7ƒâaù©™Æƒ(kV³š·�Ÿv÷¯E`x6~à … ªÒ›„Î WÊòzÖîÖt­å4 -µÒa„?š¡äK`sxÂØlì$ÖEäߘ7Aèyrñ€J?Â,)oö*«"ÓÃÝÔ\p'Õ/<¿"þžnÆt0mØX«ñ,Dïÿ<×€‚6s¸w¹_”™À}än뼟ûy+€0vsl“½ìGâ.rÇ„Èð-¢9Úo|­|ÖïÍxåºùÉQT¸Û½âö\}a1`³‡º/£0*’ìêú£À¥�K´ù„~²•ìx»~‘¼Æ±LvÅiÉž]Ã’Íq„¸ÉãÜÛX¼žíÄZhÖÃ,‹‘»  Ã!^Ù°)‚ì~E'¯.Wbû8±c….wK’¦¨4Ïol½ø�‰“×x³ì‹¨„)tùV“0“{–R4H¶it5®ož)Äý|�®¶q’ÔùËèùîg¯Ýb¶MQ=ÓD Ÿ>|Cß`êä0‹;¸ûãÿY -¦õì‰A;"Œ§¡ÔÓªC%DûsŽiQ‰î›Öÿ_3ΊÙvÓÿÊÁ�²ÐSg‰Å‰›c_Nj¥{ðüv¼Ô •Ñ yY°Šl¼,ÎvA»±&¾€ïÛ̓k׈ÇY~Z¸]£ZJŸ€÷>·\ócT’“VhòB© -oÒ':뎨!uß³Qœ~>L|Š%ÖX¤‹"ŒöŽàü�7KaµŽƒ$9y5(ø—軀@9[T²oê]\œ¾3ÓmÔ�§›�¥hž~�$ ¯=pe°M­Ìz”�ã=‘Rb°üc¥©«bIלh'EˆKüxDgŠ7—Ü"œüTî€Àæ8t#…‚æëåSH×B;�„…šˆƒ­Z¸©Ê‚˜AþwùUÖoƒ‹Š>íà¡C0ˆàج2cÚÀí³¼Ñ¬|ŒÐ¼ò§w ”Ù Y¦ ¤Oxu3qñ�5¤LØ£[þI‘kJR•Í™ž� y,«”Á'}A’âQÑø^#›6›[ÎùôÖ¦s"³6a.?vá|M²eÌ;L»¨ÜW±õ;ûê0Ÿ gv»<Ás_à»V�BCàhéO½›°Î4Ð�À]¸£#W" ©3jRÏ^´¹i�™¼Ð)v×ñÔÊlûA#ÂZÛiP­¯�`Æ*ä„_o*[l,´TkÇ…JÞÓºäç¥EnM8ÅezîÖ ÁÈ*dìeÝ7PÍMcÇ]’Y¾ÖžQ”š ú–Ac ”H -FnǤîã0r�ûß{'ߎ›6r”‚üª#Íga -…iWÄó¾3 g€ÿ Á<ô‰öFZúŸ8Ð2:ð�el‚,$cnÌ3îD¹„Þ©âèÙq"éš�+Oa~ÙÙÀÐp¤ýbp°ßÛ¥g°¡ìYz\°Yÿ¢âj»ÌÁÈ?ÒÅ„ö”³°—f–8A…A>ë w†¶*к½¹³?a\ÁKí<:ܪ /`8ž”øjBUS1:ÿht@=]0ZÛu>¬ŸÐ‘ᆵ ¢ªs$9_Ñqù³¸Æ€á”‰Gµ%ªÑøÑT—±¸ -çè´ç&S%�“ŠÞß’ö±â[ÃXúÕ«H�*Ìö=.¾�À¶ÐJ„¿"tÛÿ -P¥—néƒm`rM-\*Ø}(Þ×ÄùùÞ¥ë<Ð?(§×²÷/mú •ï%–}dZ­‘¨rÍá]DXJwxí{ºÎo�EexòO¦ú½@®÷儨oñô»D9—aÅiÂÁúZ|>Æ2©‹ÄO4sôe� ¯“Y9ù7-ve¢qöšà¯¾z&´ò” ŠÅU–¯«…8DœÏ3¬2;WK1!ãc½50èIŒÑæEí¢Dð$K8þë÷ÞØ|øßë -© -´›ÌèÜ?b ÷+�~a æ�$ -n"‚"Rô{�í"”õ¤ôØHa^ž!ö§[LÔ ß�'“é—„'ªùã²dÞ°ñ2¹Â_Ì�¤«È{€,̽ÿÐôŽó ± ŽG `‚-ŒSïîìr )FJw­ÃG� e´Y‹ô.ÒÄZx7Yй�²Üt⸡ÌàžWGAbѪVdßcóý�zÞ×#~RÀ�(S0ù¬„s¼såΆdnhÅ8 èÝfi bj„ðjƒÖB®+ 5Í|K W™ËS§j‘†¹«¾åœZ뢟Œ~„Vøƒ²Ú æ!¯˜ZSi�îçÚ³áõL§tb&G®¥†œ¯l¶2•ŸIwxnä% -ù$1Dßî<¿ÕÛ-Fž/Ë¿W·’Íã,a¡ž•½~�û_s\ä´6r­Ù×Z‡�«çŽ­’©üPù=þuDI`³]åã8ÍL¾Ö™¹®�'µ+Ñ ëGà+MpŒþJp¿<–°gÓ“ã/šEŸŽrjŠz €&dí]Ò¥ƒ×²*¯G×¾ÆeQÖ7Tfúr¶soDpÙ^)\¿ÛÐϱŒl“Α0,vbYTÔ !çÌ‘™YbÈØÚi‹0µ?—ø YßaÆß-/&ÍÿD(Ù™xWö¼jJØ’nBðtJ°#nt¼w«bƼ}YŒSК{°mUº‚U}†Ç%8¬­æíIðUêú7‹þ{âV‚B"ùçÖô2`©fzù¨-¿Jcx`=™£ôÞ¥•`LrnN 4´äa�$šgÌÿ°|†oÝ%»Íic°A=òyéõñ_æHëI"Ƹç�/ð_Û¬Hµ%|ÌÀ>5YÕVMs?ñ(‚Å@kŸŒj¬�¡ ©h^O±Ì§ãp×GƒÛ&Ô¸¼Dc°ŠªÅï~̧D¥4( ¡ !î…‘†Û_fM®ÿõç’Mv/K¸zš�, ¥ÂG‚kÈ”\ÞÐJbͦï\Ѽ‘^p€Ñ@*§e†Rò¡3ì«(J’”y¬Ve³Bßî°ös©!“: ˜Îð¯ì»¾�«­Û àõe.ü0é€]? 9¬’þÊ×T³øõ�܈Öv‚°´\®l›#ú©Z.lÎ1­6Î_½ªÒ ƒEX¢½�”TU°Þî¤r&¯­Ió›ÚF)Æú¾¼iŸ£Å,3±±Æ….t -ý¥ ÖÌÄ ïœ uåÐóýÂîàßL­6†f 8¦v*1ÑNð<Ú8�+{Á€·U¬%胩ÃZF!K6O0?\§Íý,GÌûÖUè‡�‘\õ¹ÁgšñÆ?=vy&‘~°¬œ{®‘å�O1.—ø,€/-ʺh²¶Ôí> endobj -721 0 obj << -/Length1 1647 -/Length2 11596 -/Length3 0 -/Length 12440 -/Filter /FlateDecode ->> -stream -xÚ­veX]Û’-îîÎÆÝ]‚Kpw‚o\6îî.Á ÁÝ%hpwww‚CÐ`�snß¾ýÝ÷úO¿þ±Ö·f�Y£ªæ¨Y{S‘)«1‰š9˜¥ì]˜Ø˜YùŠVv&®ÎªvŠ|òLª@ Wc[ÀÆ…@E%î4v±r°—0vò´€f  )€�ÀÆÇLJ@wy:YYXºh5Tµèÿeùk ÀÄóŸÈ‡§³•…=€úãà hë²Ú»|Pü�Õ€@€‹%`ne ˆ+)ëÈ(Jh¥5Ò@{ ÓGÊ®&¶V¦y+S ½3�`îà°ýÇ`ê`ofõWiÎÌ\¢Îc€3hjõáô0‚þ‚  “�•³óÇ7ÀÊ`ádlïòq.+{S[W³¿ø°›;ü�ÈÉác‡ÝöA¦ìàìâlêdr|DU–�úGž.–Æ.Åv¶ú€æ;ÍL]ÿ*éoìƒæu1¶²w¸=\þŠe˜Y9ƒl�=?b��œ¬þNÃÕÙÊÞâ_0œ€ÆNf¶@gçšî¿Nç_uþKõÆ �­çßÞïúϬ\œ�¶æÌlì1M]>b[XÙ#°üÕ/2öæ6ÖØÍ\AÿÄÜ€Ní_=C÷‘„±™ƒ½­'À hŽÀ¢èàò@û?S™ùOäÿ‰ÿWþ_‘÷ÿOÜ×è¿\âÿßûüïÔR®¶¶ŠÆv ð�9ø4Æö€�Y�ü5ll�� +ÓÿËÕØÎÊÖó¿sþ÷ÝZÀdýœÿÿ#„¨½Å‡BLl\Ì\ÿ0[9KYyÍ”­\L-æÆ¶‡÷·]ÃÞ èdkeüùïóýpbeý7LÝÒÊÔÆþ/5¸þíÍþ½†Ýþ®€ERRZJ]�á¿™¶oVþè -uOð‘´Ìþsñ•˜˜ƒÀ›‰�›ÀÄÎÃúq?®#;§ïÿ#ìßDlÿZ+»8YyôX™YYÙï>ÿZ}ù7I{S³¿úHÍÅØÞì£õþÓðlêêäô¡øßÓà£ò®ÿ¾@ ÐaeÑÁT Ä:=+Ã¥7gp\B¯·› r0TÒ ^˜PíÐ埱ÍWaôRÊÜ8ÉÿÖê¹pzÝ—¥?îÆ±¥éJ^äùRÐõä£oP·ó0±” gœjÅx_ÎËoAér³j쌫¨¿ÀO¶s8Á]>ÐP¸å`QÞƒPüLÓêã±¢5‚aÔœœR=~¸§é躆îÙ'døO%à…Làø�PXW£Â;SAþGÅä\æ ×*IgOzÉSë9m©Aæ6ÙÖòIA»€œüþÀWH -ï<ø7…x°º‹zîÊRïœûÓÃÖäb„»EŸq±Mw:}NûÆA†u’æmßòÚ­fN�«Äß”pçf¬­.¸–ü7^�ŽQØöÂöÞöJÌ�îÊ‚ËLk·^‚S·ÃÚÕ^—ç¶dùÁbâ6)BRÊ?<Ž òŸ"OíÒ­ ‹I ¢SwÚ‡Y›%¬°Qk¤—$¿ÌÀ�àdÃ�œË”95.]¸Pì„¢óBOužÃ€æ5ŽDû¹ÈZ_Å$Žz^¡é/áó¡a‡éÏ &çÙQðgB儤¬”5€^aêü“uM*ÇÕ�†Dâ€:šÁwi˜!(›vz0ÌíŠä«^O)m^ÇY§.%ÀŸ�ãl—/Gí¥¡ãðmNÛw¬çŠ3ar‚`~+`´b\<, Œ]’P‚çG ½Ø'Œ p!RDNO‹p[ËjyQØË¨™kP¢ ¤¼9Ÿlv¡åó :Ûž�ÇiZO}î�sÕÊRwW²"�ÎYá±äRý³^�~ÊwöHqgÁ.†=˜a½gÙÔ ±Ä!z”ê�gpTBÊi Ö;#MâÇv¯’�·™šf$’H11,£œMÑL,Ú¤=TW¥YÎɆ�Lz¨n› -¯}”øÍh�N·>"Wøð&uÕ~DCr¦_¹5øK©ï<º$$WÕç„£ý·¡/Õ;QgÚ_²nñ7 - /Iªƒ"ÙðÒ½O¾sêÓ ‰æ|Vk„æY&ßSºÞî ÅŸ%¹‡MÇÐ9ÎAÉ_‚[’âÕ.W tÍìÏ¾ÝØ¬‡Ï÷x3ê ‚«Ì½µ¦Ì„nRÝê"´°Ÿè7m@ƒWÀ µÓÜ`—×v´yƒÿlom4túÌÇߘ*ŠÐª‹±¡²lëX;c£’«ë¿±‡Öœkg�|ï ‘H{óô.Tö}שּׁº•!x\°o•…�Y4ÇätS29Å ÉÅàŒ80NÙts¤—ù\ýòƒ…¥¥F․Ù&Ú’.¿l›ÒÆ!eU�„\ë ï*ßþ“ÒF@µ�¥m˜^}fCëí¢»#Q ׉7E+¥åÇ•ÑÝ=Ä’3.¢ß½³‡º›9˜GA77c8™œ­*ôÒ�ïð?Ä1“ª,±Uq±Ly7?Éó‚1í’ZЗœ]»ùyÈ‚¸�„T²¸÷ÆÐ7îM.†·Ec(¿P ™±é$µÖ{EÒÌÁÊ�.ccÑD ˜Q”‘»T^”Ï�g¢4—K Ú$=!$Yɤ[…� ¥PIfxèCòª¥»àsÏü™7$ð&$ú^�Jݸޓ®±}Ë|†{€óÎŽ/XÖ嵤 *×Tqe#Α¡…žøƒ^çîî8 ¢�€â�‡ÞRÆŸto›{_uúTÚ"�L­·`˜Ó¶¢P ì͸e¿I‘F> 6|žÛD)¬¼Ãy ¯Ã?�†òÏBD…”„õ,Ý­>ï0ÃaòMtˆß­SŒrNªKBTŒüb‰Hèý _L?µZYH|P9ª—Òfœ’XXˆ4ƒÌôÐ B’Tö¼Æ�nú6%ù¥¯QÀ|ïÀ"ÇôÏŸÓ‚Ï´ž]TŒ2ˤ(…W<{ ­DinÆZn<¼Äçó5áǤ?Z† 0­É㮺[@lÏdj›‹­óz‡q?ªDråÊœÎì†Fö«NýD  Ñ~ÇJrë‰Qãu_<|Â~Œs7bÝ’¸ÙµRchwJNXgAdÁþ&ôW-M4¾¬LÜU[À Ë{™JÛÞ)²µ™y‰‡õÙ†çR•ˆ†O¸¬ó¯Uöˆ·ä…­%48ïymA¥q@T¤ax×sTõåÿžŸzš1.'&ñû&yCœ$/}ÿÄq­´õ’‡®i‡Áx5ï-@õ߫HI¿'œã÷÷²6 ·Å—µ:ˆQPÖÏŸòþgÏo3ƒ (È”LË-bÂd -a`‹cÿ¸Ã’7\‰Ö¸Ò%1í�§¤>H|€é -œŽµ|HBÀçýJÍ»‰� -#îÕùH$ËÈöÇ_)2¯—éH²‹-õZùq¨JÜè80c”¦'8jiKâ8Ý�Õ‘,Ê~¾,bn;Öi¤¾( ¾oçñ0ÝxÕŦi‡ "¿°—­t™Ò¨Úƒåpúè‡ a˜C¼ú©Áí ©…ÁŸé¹{©…˜~ÿi¤c©JÏJçA»ùsž¨H†,QÒ¡r4›L[=~Õ‚ :É@7Ò÷ãÉÒ]—èå¨ÈÉõUkͪGÄ:ßÈýè_àÁÜcEÉæ!„îBT½­Ò,¨[=�q_ïuVÆû÷Š[+%荒YÆÍVawÚ¼Ða¯Êmò—Å’Wv Ü -©<Å€WC·5œÃe4,qÜ8_¡î–“Ä@À/yMÙw§]jO¼“ß?Ãá³›¹ûØD-ªß;³ïxùüìMZ -›vSC)4Ú³'§œÆŠ‘ŒvÑv+zÓÁ¨gÒ‡˜Ùfæ†<-¾IÎQÐ�¿k·kFŠØ¥’é�~ä%'ìPÔcî�‹o#´3$šâBác­ªV•iXÝ%¤QxÞ®ÆÑD|×�ôÂr— „tÂëï0Œ–AofÎõ4ÈûÎ8“9Ž+«í5òU^,¼Î_³ÆŽl*°\`E˜p;Øì€ w-ñÛÉ�ÐVØvéÃf°‡ŽMØØÜÅîýxbm ýîh�£Õ){#ó‚N팊'»¼tçöª°Í,Mk4 ¸“~ÜŽFcp¥R[^~¢Ì18¹1cu¬È;ss}wi[Žu#ÕÓ'ìÀd?X/‘Ô†¶òÝÕâ…ÍÓR»S±’3î ‘°ßp -BQûÌ‘ -þ§<)¢aw±È¼ì^ ;FIG9*°)˜ðÉ2nÉëyubKÊo—6åĸ;„Q™sY<´9)Dâ}íc—Édgïœêð‹î¾ä©”Bø˜³è„=©çœn´SΧR]’Ñÿ>ß­-¯H@èXÔGxYVNïàÈ;MòäZ“sü¥�iŽ„Çûæ„„²éð%…ræ8öA'3Í`ƒ£á qé&¢Ö8†t^DtÎ×¶o &•î‰äF/‰S�Ë+’1%GP•²ÆÌÁê}�éä0âÕ<^x>9ï •ázÑ<ÄçÑ“¢€s )[0¼§H”ÍÞÞ»ãí:zƒTáÉ»B6'\ÔÕ6mÞºœÎÜ&c$jO»-Ð&à!Qnd|éªQÜZ§÷Ê#S Ä$ø¤wa€»Ã�¡½›½lz”*(P7"øMó=‡‡(èM(Ì<ߥ9غ Ûj­êÎÖ¹�í É¾ ;F‡\ß´Öy“\…xÀ ZiÉY^ëúÓWpl�cܨ¸ô¦k Š1ù¨‹ÝV=jÛ–&QèÓÍŸ&Ö¡<u Ž`ÙeÇŒÙ>iÉ-æÀöËZÓ¾Õ?b¢f«ÞPÔ"V/å » Nü†í@DÌsmÒóóLzø§ÌÕ4Æ)îÞ9Ñl&²Î÷ƒŸ]8ŠÑò“¢Vöø«ãÁï›~J»¦BŸzÂ*rãõNÔúhª}ÀÁÁ²7Å›Á“}fˆä6{#ÏFؤ:z­~0¤MÂïàÅKªßÅ�Òp=ïMl2-Òçö¿DàPÊök  WŸnÆâÐ.€¶îó¼*xµ/`F¼ûº%ôÙlÌ-˜ïLd„Š&ÔÅ"Acƒ½ è"Þ¶îÃŽÇo»£÷¿u%#[cŠqùB°Íe§x´)Q¶“l¨N�MðÈ)Ì%"›>¦|y{÷úQ}‰„óuöüL“V¦¬ò–¶¸^„ µ[,úšŸãMæmÞ(¢žê]¥ot�¦´-s©ýa+ç¼Õå‹`¨âçöãælâ4«‡×e½N–¤É¢ŠQîLÛt­<++bý£ÎBîך¸­†Â_²¸0ä+~o‹ËŠ@u3›…ÌOWØBHö&y&ÕúïH…nü57VdÔ�VÕƒY�ÀQß\°ŸÝ´2 ¾‚˜ñ&”/wηÐe ± ± -f]Üym̉±Ý^G j^†ˆ‡–ñûò! -�\ÕžzН S„ê£/©Ë:õm2sg~]Dóx (rÐÆÿVŽêúÉû»f1ÄÌ“Oµ…�®­dŒPyOaš3§Bº<=¦×<Ù}îÍæn¾™‰“h£ÉMG-”6²I‚§p2AÿÎzªð”TÑççe;ø�KðjÞG¶ÚOÎP¢åÛBÒ“væ»�©Å1tZÊ] 'uÀ)¸åveÇwÄÂWŠÁÚ‰ù- –é7„ €l{j£Û€~¦_Á]5“‡ê‚‡_úì¥æh!ôÞûFfG‘Ö+M#F�)ß@þÚ:=̹¶a¬Ì {-iÙËóg%˜|BzP¥Ë¶öT�•û°éçP=×å׊&™ØãZíµ3ªTGÏTS,IöŠð ÎYNL’bvãÝ"µÂ xéŠdï[æÇú@a¡@Ö=>ã7�`C²uŒ6²ðøïëê½Ï¤¦j§Ý4sIzsL‘d™~:”Õ@·%/.59Ósž9Ë`: Q4ä%!WêüÝ’É�½ —ßP\!“D°è;A‹Êˆ +2x«¹&Þ E,;{&!?&¿ !3y$ð{Vìþ�±T€øLÌY¯uoÍÀ8¡ŸÃ÷�ò"jØ@aÖ­!Ž|>y/%˜ùê‚òWïoycöHÊϦ’s9—�(uÈ™=>··gKšÓ¯všÃÐÓЯSÞH8èí”ôú°Þa¤r$O5zTƒ.ö]é�ö8ÿ_­ /ñäåðD𭇊#ÞâH¢È8Éé­9§ÀýæäTðŠ2Õš$iI™3.‘¨�’/E§v ?à<÷›q’”¶fPÞ«ñŸÈ9'!Oì¬geGøí�H›3åëÅ~ä;Š} -¹t;3¨Ó•o÷—W÷jט§$«7á�n1š�à?O`Ã_W£&f,÷QžóÊÁÆlÊh¾lŠ¢jÍÏQ¦aH“„Çï»(— ê«ÉŸoߟ>L&ð+‚„U�‹`Êä`D0§¿�Êb2¼`£IÀì‰ê™kš;s%�u�8/êr(؇½`RGƒàGAþQꬓXÕZ"¨É÷:qì¨,M”j‚ö€~$]ÏhàÜíäù4“‚Jz\êN¥æ lÃm ÓÁ=!�ÿî˜ÄÉŸ²°Íæ¿>éžSÂÇöô<Ó²Œ+7Ÿ„°pk›º¡î”÷¡JãJÁÏÚ¶¶Y:Új^Œˆ]š µkaGAy­žº;šiec„âvê&¬æÇM©àâúÉl* v°¦É¯]gÿDµu<7“øOÃ’î™Ö -–h ßG\N Ù1Pkõ|Ú¦«sÀ9MÿðÙìmÊá…&™Ü`9²€á�î£å[ÌSþª$1œâ6�ªàþžúº�·Ä]'ÙU\¾?âàNº7çsóìãú…PŽˆF ‡¯þŒñwC�@ó}øúŽHË­îg»Õúý;À0W9Qú ‡±ÉbL@ŽãœNáÔVïFœ?r¯üûVo_ëÜú©ÈèéXí(úô•Ú³ðøì1Õ…u $´Öã%¬—âëÏá¥ýnØÃºŽÓì·Nº¯Æ.çÇvë_BÙÙuûcˆO`ì’qFüýЊ°KlVZ;NëÉ‘3IéOkv¯Ë�Õé¡ ëYjâH€òpŸ†.ÐŒ^œü`Ë­L äIú�ìr„ФÕq±Tˆ†¥¦¡#Ým°ZviûÙ‹–ô]æ�ë8èk—Æå�{Èùe“ çm -Ê_ùz7ëœ;.AðÙ]&¤vñâ%ÔJa-ëâÇ('O¿qʸ ²ýOÔÉé6°ég¾±:âQ1�ÛS†0V£{±õ‹;B!HÙS'± -åMŸL­ºô¤äÁpu³ºü <¼X“ú{³±dJ¯lpɵJÁį\„Ð�'9ÿÉå€;k2…Î%!ª,ôh;/e”Ö–^ºb=^¨ÚQÑ:ÄIÝM°UKˆ¯`»eàsòQ¦gb»Æ4”ݬ3—HZ¶ñ:ùþ·óÝ~NÜó(òÙ*ãôBçë§“¸Ñâ“j˜ËC�w�Ofðm³]*§b§œDÕûµT‹¬µ>x}÷M˺ˆBž NóÍp=ö“0Z¡ËExëýChY¬Iðƒ¿ýŒ"ø2ÿÚ-ŠH‚h$— #(øjV«UgV<ˆËŒM;.†àДä -‹­À“c%=¨ïTÈŠ¨u娬Ø&cD=å ðÚ\ܪúIÔL ­é p–Äh4ç¡Lzó–Çù`tudá ×ÞF¤iŒÔÒ^Ñ4 h fSFÆ`»\>õ%¤¬ÚÜQ%gumÚž'Œþ–dÊU&9�%ä\H.ù6u؃P�hå9Óäžy¾í4‰»ÇÝERŽ“ÑØL])š‚²{‹8 ɇôÌjì–¹0u[þ”ŒQqÁÓ)Q¾/M¦dЂ\»9 Ä HkÂ-ÃKŸq�Ènh*‰Æ�=Ôóu8 -Jþ·ðÞÛŸo ¼èªÎâSÃÙËÓV*É+5{æM¿A‹ZÝ¥’’N.�òÝ!é•´èMk­À>d�L!V(Ö«](¹‡öîóÔÛ-Ø'_º4–ÍsV!“½oÄ®=›=‡¶Ÿ’`ÎM¾²TÚRQ§á~e·€åÒP*>½Û§”®y–qPq¬…Ê%¡�‡/ -»¸Ÿ‘¥í#UEº>-üù¥r¿ª7ðV˜Ã(3À{ -Ý3ÿ�ðs3€n�xs#þÛ±q¾'%yTä¶™~?.Å’\yªÛEk›ÈÀlšUýS“Ø ˜Ó�1Ø}f†‘¾>3vlåü -˜âoa^•lü/Z�þz—pu“£Ùœ~PP¤QM -º/N(Þ=¬¼À|L2œ·ù™ø÷޳ÁgÖH¼îØ«“¢¥írÂõOdc“�Ì‘„eòx|¦åKVÏkr!Ef¤qû)mÔ)»ãÂFàÇqŸl]o¿TCªÅ§ °3œvëHcÌIž?�Ï—âP;e%(ñ-R¾Lø§”›‹8 Û€H{ñ ÃcL˜òV#§râðÞØ(邦“Ÿ¹á%´Gu¢UêvONô±§€�®ì·¨è×­+mK }8 -†>§|;Cò}UC›¥wìôQdéÈê•��y�2ÀüúŠT´ŠP¯;jX>Íß7³gÔ?Ifâ)×ò­pýóÜd!÷ç˜4*nR›®|{—àØ¢JNRn±ˆ»CsÁPÇyƒD@˜Wé:ßo[Ò¥÷²Þ7û°�í«·g9Ö¼ÑF¶Ã|n»Y^M¨¨Ú”{ƒŽ¼©U4·l<¾ONâ«â¹¬ÅݳW!Þ�:ô~ºI£:·Íé€LW¼np²ˆG*úæ:^lRqdä’#iò¹Í*w±¿¾X¥KO“ òÑŠÐQ(æ"hÞfñ–è=�\Of„5µ!KÁïøÎ 8HVùNy‡!ß�¥ëDÖ`¸ÉcC—p‡ ¼f­¨7f&Í¥‰NóqöÂ[» jéÌßüíÉ)tûÑÕ1,’ ¸% ’Ò%‚-½5 -»kÚ‰‰©ƒgÒð[‹Ùô]ëÑšõÔG×6h•gh¤" º[ùw0œbkh0Ýÿx! -Xܳ>E¶ÜHšÙÇ[„újëNRåiW/ -Äï%B"i}vÃTŸõNþ¹v©‚í�`oÇEÈ"Ÿ¬jÉpá·�-Çb’vmàgïý]Ì~íN¦AÏ8M]ÝÙäíÎË¡YµÌ‰ÃóP ÎtaG^?=R·ûè"‘ÌÎd„1×ëC}A��™f©ÃÓƒNÅ+~(?@ih“")AÛõ…vÚÃé6þÜŽ˜¨µIfG$O†É.Á -Œ/köáGNJ¨³ö]”´L[èI/­qÀ»^”`ëô�ø!Ìû0„×s—þÍp×ú&}ú25ù0DËè;}ﳇeÉ‹ñaãcŸViư{ÞÑÝ ôð;—"O&FÚäH�Eì­àO½Æ’q1¼^É«ëc¨¡Îbéc3•¿ê¡�¤ $­/ -q‚�;îÇ4‚Z€$ -ƒË6�K´¶$€TQþ–†‘ã¦Ó1Gø»Ù1 ¨ÓÚyÞl \8D7޼çìÆùánр̉B�Az·ÄÎ(]ßGŽ6«C×½,ê–wÑîJxF‘¸jž5"|5†üxtˆ-c>©ÝÐ -�ê§�idн"Daª¢–tÔ¡ï5ПX -/ìuKVg`>®¡ŒL›`ô†}õËYèõ¶#¿pÏ­6w™)P&‹Ï}É(´ìÿÉÕ ÃG³‡Á 6/Y.÷Ë[oNÊÖ2 F]êÈ)uÕ¿òÏßòœ8Á¬%ɰQÔƒ„dvjÍtœ®Þ7Ê?þÄ�Šç¥pnp2¦ù˜%dø³Ÿeœ´RË�Ó…ãä°Ì¸q;ô=DmÔ 3üÆŸ ?iwZ®øCÚ,"+ò€]†²—¦2_­Ç]´^�Nv9e(#ó>ÛLÂ(»ÙÓ•d.VVƒq†öò戶òÉÛ«—‹R.¸/¹äãÎGzQ£ábo…’aHî†máCÁˆ ;g<°à:œ{Ì¢“£:ã·ïÂRÉQöß�*i!íWIÃhV_Ûér¢¥X@˜–Øë¹wò¼¾nòì¡¶!M5P£o¢Ÿ<×¥;ò&q™B«Â'ûXs›C/w4nÐ[ðl‰Ë¡��?“î' Ô-„7›ð'Özä‰X±žc×iûT£:dÃFçë‹Ï ôãRÑﯭ]V+°F^#¥Lb9ù"z,ÈüGní`x°ÃÌ̯‘-â’°ÓžeϹñr°m÷¼EË„»0^|%Æ—¯l0ƒAÛ+í¦x}8·*YM�ÍÁ“ãáÑã¥1•#UÛ`+ôºh8bE¡ºí’nÕH ƒ ¬žaUmÔ¬ „Tj·ÂdJJ<Ý]„ˆ´“¿eXAdùÊåml,˜ -ï}.¾‘‰Œ‹4å–EuîHðû9ê=JGš,iÇŠâ9ñ˜�jsÓ:EH;Ü›¥Þæ7§, -BU²ü¤ÞËæßÇ÷޼‚…ž­3©VyÒàÈ|͆ÎqxœÃ ÞˆÈüªÏÈ’Üj±6ÿ:ÎØ¤mW|Z­–�&™;ÂQ …šLÈÚŠËcê¦-ämÝÊ¥s>ˆk-¹P §õ4’FkdÛW)Z¨t ’mêjOÚ+]h©‰gÙ뛓Afw*ù„à}w lð¶éÁ’wÚ�ΨY9¼ž½ÙcYOHŽÙšÎ‚í¯¿¢ƒÔ”hSˆbØd~Â(}Íô‚/Ž<ÌGÔw’]€WÏ⎲™ª©VŒÅ˜Û§¾TžDØI‡�N†¿ š¾!¹wÖ®1‚2fU¨Ïì­q0‰òéÛþ˜ÜÙÔ"(0» ûÍXÓ¢ù:ºLÇc$Õœ=æjœø¶°ì‹†Înú¢¿š[TS†Ìà+P€aådžÒ-À>‚"È5aÓxÔ9ÿH~~�@ NäF‘‹YS8i¿‹Áò÷Z Äל¼’µP©}r„ùþÞ}ùW°Ž{ƒ;µ]²14:sÉ?óRß©úÃñ5‡„ ûÊM™�XÜÿs¡>–NNÂPU‰cIVý¦ë'üïÇ#m”+¦ãŸ«·ª!ξBÃ[ÅÈåìT­¨¹9<åj`¿CXÒ•ë¶yl<M˜&<«M,1Þ ÓC¥1Òö…†«5û®âK4n)7›^á\¿N†,ÜÖÎ-¿ü¾¨Ìè£öÍ…Ð=�c'rlfÝÜõw§Y_2ìk±ÏnÚƒSñelÝW[¹W¼Ô§å’¦¾g‰ú�2Y`�3Z·X)u׎´ùìØ'l@È2¬ð=ð%iÁ -â(à¡ Õ!vöj8õå!Ä~}f� £2y`‰ž¶ÜÝŠ­-ì\l»Jdаݘ,€sˆL¡Dí³7› è8�Ú,êS›ˆ›hòŠ_‹gù„y¯7F)^B›DBJí…L�0%U{ShðkÅ]QϬ9áxl1Y^4BYÈWεP¥$_ö0X#‰�™#›? !~¡KÌÌ%”–ŸÕ§…£â¤#ê }—=[ÿõe,U½)ìToEz¯r¯$ÿdœìŽõ#¸ûº>@{âP­Ï€uß6¹å Ÿw¹2ª>À=U‚½˜xu˜ÈXWWó ¯RÅ#Sus¸ê¦ýD¦p2Ä|é µß©{¦;C¢_¦ñ¬‹WÜ»Ð4—9øì¶®²ù„¤n‰€TÖ͢ǵ—^ ¢,Æ­ëz‰, z‰úÝ^CH½¥ý:m«8zû Ξs�›�´¼m‚DÚ›°¼Ç^ŒÒŠsÌÎNÃÌÄžÒp¾"aÔ½}]9–Ïn#,çZ·mN¸K¨W]Ðʲ|YÊgI¶­äy`…I{Ó4²\sÂw�7œh"ÈÃð3¤IYN›ÊÓžQôúщ® Ì„7Ú$m^Oì…Üi”Æ7Sx;O«�ŽÅmg¨ráEýï:ßøØi÷Èû'>¦òI7å꽟Oux,zI)§R42nYÖOò×ìö©˜^ Ï?bÁÅ-®Óš¡îŒ/k©–¼ŸkßîÐÑ8]Ð^DF‡ý‘“¥endË’½c•8&öPš£W©½f�›É ……Gn�é+ßwpXäŒ{µ|qå§5sÆ=ÐúÉ r6ýOÓ`;Åöç9Ý.£6’ÊþôØõ/q:�—¤¨Ö ÷�o«¢ìŠ[ªÁÌ_sœƒÞð'(„ͨÞ7¨¨ýÏËÈLûwT*‹ZÈ<ówZnöO¼yŸí•ëåÃÍmزQ#ïֻňª1�¸ðšO×UDŽ,"+t6HÃz³N{ßKÅ$Ä …¾'ΡlbWCì5Ï‘)7v¾âó¿¶£Ëc )™ô¨æf Wt)²ã,ž"w˜è¾%ïñ*6©ªßZ„ô­8e(hJëfëN“¤ÿdvn;M1rÆìÂÁØ­œ�rk€Ð´Ç÷¡¬óÑ)ë’°^ßAd¿Ÿ ¼zê7„ÏZð?·Lyê ,ŽãËwsn³e•Ò34£xºrÐ-±“sf¯ôÌ - -rÌ Tò¹mÎÍf¤Y:Y[È®�±!Ì>t×î¿ÅŽ$/…C‘øjÙ„ú‡«egHê�”JIôœ½‡M8†iŒ‘ì’.¸ÍÝ »’n]íúRÞÂËŒ·~ƒ—oúµ©Y€]T.>­Ý’ê5å^…ãýɱ(–ùB~Ç( «,,ÈbJŠê tI<šúæ—;ŸŠ»Õ8$Þøuý¸®dJÅæò$c÷@Ð�/žMì�Á6C/géf¨²�ÅÜ:?0 ¾ôso -*&82þb°ÈFêcð½ÅPŽ™t ¿¾30˜WÙ$}í¨•2 -ãvií:Fß ³$[wBD�g$�0™Ã$: C¶ç W·Fæ"§™¶õl±ZcB×Ñ©ÅKzæh` ¯:1XOw{˜ëj–ƒÊ²´Lê|MõºèKƯ5~F°æþóàý§ûg(3Ë>T¾Òq+dêéAíÞâ°ÄóAŸ/�ôÄCù¯0OE£ÄA8ÓÉ6›úų¨½Ðdò¸:kVò˜Ô§ÕÏ^%²î3H¶Ä/¿J�­ã¹nÚò_ç/¾�ÕWîI-ÀYYc P\îOj�r4á}cY¬ÜÛö¢ÑJVß�e¢7NÙ~Qlf ä#ÁGæ§Ð\£¬T®wªÊ«pÑÜÜ4ªð]dWJ~ér<ʼnUœWÑÈÁËõƒsW®$d^ÉÏ$Ê qÎ m*à }­^‰ís`‚ µ¶þµÍ(”SF±úiŸŸkyÖ·µbe—¾zHú<�Žþ43?\ësÖINƒ8ý`˜®Õx媾L~¤Èï{ûYâd`e´5ød1Î^·zÅX66eQ "ƒ~ÈBJéÅ—{qÚÜXº©gp°ªzß&Ò¬Ó¼šV_§)ë¹,GŸQbGtSÔ¦&,φŸø ©(â\TÏÞµmn^@}Èÿ˜�-Trð_ ÒœÝ ‚�$å‘õ©NØ|Å¡°ØÇ0W_îFè2T…üKéðÇÐ)ˆÁí‡a3Žš¯s‡{¯ˆ™Pì°QHªù<¬Ÿ0J´çÎcÌü� à}!6dܰüžê ØLÂ/Qªév\µ¯Ð)ñn4Ç’þ� è—¸`Œ›ú갨̞… -� -cÕ)'¾GY!–8•RõI�¹0›2Ï/>o7wê—˜iœwmpÙ[µkZº=uÙø¶³ÄµÞ¿ŸÛ ï ×ûpÖ–·žŽ†»->yÕ.æ„iÔÏßDÄÀx3°�-ƒ¨”D`èŠ×Z>¤À2|mÓ­!é,Æ_PQH,ŠQ/:„RôìD»F¯DøêB¸éôm‹˜Î?Hj6µ¸G«±ÒM‡2†gà ǾI¹br™ÊÕÐÙî‚÷fù¹"ÀKƒÔmSüæi¸ëÌDñ•œ»†W^OsÜÉC†ÓÐË Ç_›ºO·ŽÚÕò¹ÓÚú7ÄŽ>x&H´ÚæôŒ!t¬f"yQNÔäeÿë¹FB*¨»íl™OX:¤.˜ÇLO?A}:ò¼¤Å]ª¡ž; v?�1Ü�㲦ïQ|¬ôY±]ÞÑÄP€-âvZn÷XpŸ´îBðµ?Vw�†¢ü >gþê7å×ëÃŸÚ Úq¿ªCê Î7°GIÒ^êVšèù$ò’ ¨Òñăl}ÏiT‚8Õ)¥s¥r‚ÇÞˆ–Gˆ‚›¥2Û‰ó6û¸Ù–¼néÈß… hõ¶p -Ñ¿6Ý®cîsm>|–ÖŽ­ÜØL ]z‹™'R“�é8Þªÿ& ²Mq»Ì†q„.[ÚW¬í'/WZ‹�Ž×ªÐø½] Ë¤èÅ}ê²¼qÛ¡SâºaGKú'anð4Xb«8a�_û†#0;c̈¡ê—âýjy&5IE‘BVµqh(Þ/ æ ¾�rüü£µ�-sµ^Ìbö¸ÞB–›;b½µ¤}AÜj2)IsîÞ Gi;6?è÷vhdQ`”§úµ^—>ruffLã±"ö« 5Ã%”„lë/t£ÅLÐÿÒ„Ëéý�Ì “¯¬ì^°b -:Ñú?Ͷ; -endstream -endobj -722 0 obj << -/Type /FontDescriptor -/FontName /EEGFTS+NimbusRomNo9L-ReguItal -/Flags 4 -/FontBBox [-169 -270 1010 924] -/Ascent 668 -/CapHeight 668 -/Descent -193 -/ItalicAngle -15 -/StemV 78 -/XHeight 441 -/CharSet (/C/E/F/G/I/S/a/b/c/comma/d/e/eight/f/fi/g/h/hyphen/i/k/l/m/n/o/p/parenleft/parenright/period/r/s/t/three/two/u/v/w/x/y/z) -/FontFile 721 0 R ->> endobj -671 0 obj << -/Type /Encoding -/Differences [2/fi/fl 33/exclam/quotedbl/numbersign 39/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon 61/equal 65/A/B/C/D/E/F/G/H/I/J 76/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y 91/bracketleft 93/bracketright 95/underscore 97/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft 125/braceright 149/bullet 169/copyright 174/registered] ->> endobj -317 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /YQJSDJ+CMEX10 -/FontDescriptor 690 0 R -/FirstChar 88 -/LastChar 88 -/Widths 676 0 R ->> endobj -313 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /CVGKQU+CMMI10 -/FontDescriptor 692 0 R -/FirstChar 62 -/LastChar 120 -/Widths 680 0 R ->> endobj -316 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /EFXCJE+CMMI7 -/FontDescriptor 694 0 R -/FirstChar 59 -/LastChar 107 -/Widths 677 0 R ->> endobj -315 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /JVDJDJ+CMR10 -/FontDescriptor 696 0 R -/FirstChar 43 -/LastChar 61 -/Widths 678 0 R ->> endobj -314 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /XLWYJF+CMR7 -/FontDescriptor 698 0 R -/FirstChar 49 -/LastChar 61 -/Widths 679 0 R ->> endobj -318 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /EMXNQD+CMSY10 -/FontDescriptor 700 0 R -/FirstChar 1 -/LastChar 106 -/Widths 675 0 R ->> endobj -499 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /DJYPXZ+CMSY6 -/FontDescriptor 702 0 R -/FirstChar 94 -/LastChar 94 -/Widths 673 0 R ->> endobj -312 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /LAJUWJ+CMSY7 -/FontDescriptor 704 0 R -/FirstChar 94 -/LastChar 94 -/Widths 681 0 R ->> endobj -239 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /YDPBQZ+NimbusMonL-Regu -/FontDescriptor 706 0 R -/FirstChar 34 -/LastChar 121 -/Widths 684 0 R -/Encoding 671 0 R ->> endobj -227 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /IPRZVI+NimbusSanL-Bold -/FontDescriptor 708 0 R -/FirstChar 40 -/LastChar 174 -/Widths 688 0 R -/Encoding 671 0 R ->> endobj -309 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /CIYFZS+NimbusSanL-BoldCond -/FontDescriptor 710 0 R -/FirstChar 40 -/LastChar 121 -/Widths 682 0 R -/Encoding 671 0 R ->> endobj -228 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /NYWZOF+NimbusSanL-BoldItal -/FontDescriptor 712 0 R -/FirstChar 44 -/LastChar 114 -/Widths 687 0 R -/Encoding 671 0 R ->> endobj -529 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /KFEQLI+NimbusSanL-BoldCondItal -/FontDescriptor 714 0 R -/FirstChar 44 -/LastChar 119 -/Widths 672 0 R -/Encoding 671 0 R ->> endobj -306 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /IXMTHF+NimbusSanL-Regu -/FontDescriptor 716 0 R -/FirstChar 49 -/LastChar 89 -/Widths 683 0 R -/Encoding 671 0 R ->> endobj -237 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /ZDVWXI+NimbusRomNo9L-Medi -/FontDescriptor 718 0 R -/FirstChar 46 -/LastChar 121 -/Widths 686 0 R -/Encoding 671 0 R ->> endobj -238 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /IPABSO+NimbusRomNo9L-Regu -/FontDescriptor 720 0 R -/FirstChar 2 -/LastChar 174 -/Widths 685 0 R -/Encoding 671 0 R ->> endobj -498 0 obj << -/Type /Font -/Subtype /Type1 -/BaseFont /EEGFTS+NimbusRomNo9L-ReguItal -/FontDescriptor 722 0 R -/FirstChar 2 -/LastChar 122 -/Widths 674 0 R -/Encoding 671 0 R ->> endobj -229 0 obj << -/Type /Pages -/Count 6 -/Parent 723 0 R -/Kids [222 0 R 235 0 R 274 0 R 298 0 R 303 0 R 323 0 R] ->> endobj -364 0 obj << -/Type /Pages -/Count 6 -/Parent 723 0 R -/Kids [358 0 R 366 0 R 432 0 R 460 0 R 475 0 R 494 0 R] ->> endobj -519 0 obj << -/Type /Pages -/Count 6 -/Parent 723 0 R -/Kids [516 0 R 526 0 R 538 0 R 545 0 R 553 0 R 559 0 R] ->> endobj -572 0 obj << -/Type /Pages -/Count 6 -/Parent 723 0 R -/Kids [567 0 R 576 0 R 582 0 R 590 0 R 598 0 R 604 0 R] ->> endobj -616 0 obj << -/Type /Pages -/Count 6 -/Parent 723 0 R -/Kids [611 0 R 618 0 R 626 0 R 633 0 R 641 0 R 651 0 R] ->> endobj -663 0 obj << -/Type /Pages -/Count 2 -/Parent 723 0 R -/Kids [658 0 R 666 0 R] ->> endobj -723 0 obj << -/Type /Pages -/Count 32 -/Kids [229 0 R 364 0 R 519 0 R 572 0 R 616 0 R 663 0 R] ->> endobj -724 0 obj << -/Type /Outlines -/First 7 0 R -/Last 51 0 R -/Count 5 ->> endobj -219 0 obj << -/Title 220 0 R -/A 217 0 R -/Parent 215 0 R ->> endobj -215 0 obj << -/Title 216 0 R -/A 213 0 R -/Parent 51 0 R -/Prev 183 0 R -/First 219 0 R -/Last 219 0 R -/Count -1 ->> endobj -211 0 obj << -/Title 212 0 R -/A 209 0 R -/Parent 191 0 R -/Prev 207 0 R ->> endobj -207 0 obj << -/Title 208 0 R -/A 205 0 R -/Parent 191 0 R -/Prev 203 0 R -/Next 211 0 R ->> endobj -203 0 obj << -/Title 204 0 R -/A 201 0 R -/Parent 191 0 R -/Prev 199 0 R -/Next 207 0 R ->> endobj -199 0 obj << -/Title 200 0 R -/A 197 0 R -/Parent 191 0 R -/Prev 195 0 R -/Next 203 0 R ->> endobj -195 0 obj << -/Title 196 0 R -/A 193 0 R -/Parent 191 0 R -/Next 199 0 R ->> endobj -191 0 obj << -/Title 192 0 R -/A 189 0 R -/Parent 183 0 R -/Prev 187 0 R -/First 195 0 R -/Last 211 0 R -/Count -5 ->> endobj -187 0 obj << -/Title 188 0 R -/A 185 0 R -/Parent 183 0 R -/Next 191 0 R ->> endobj -183 0 obj << -/Title 184 0 R -/A 181 0 R -/Parent 51 0 R -/Prev 55 0 R -/Next 215 0 R -/First 187 0 R -/Last 191 0 R -/Count -2 ->> endobj -179 0 obj << -/Title 180 0 R -/A 177 0 R -/Parent 63 0 R -/Prev 175 0 R ->> endobj -175 0 obj << -/Title 176 0 R -/A 173 0 R -/Parent 63 0 R -/Prev 171 0 R -/Next 179 0 R ->> endobj -171 0 obj << -/Title 172 0 R -/A 169 0 R -/Parent 63 0 R -/Prev 167 0 R -/Next 175 0 R ->> endobj -167 0 obj << -/Title 168 0 R -/A 165 0 R -/Parent 63 0 R -/Prev 163 0 R -/Next 171 0 R ->> endobj -163 0 obj << -/Title 164 0 R -/A 161 0 R -/Parent 63 0 R -/Prev 159 0 R -/Next 167 0 R ->> endobj -159 0 obj << -/Title 160 0 R -/A 157 0 R -/Parent 63 0 R -/Prev 155 0 R -/Next 163 0 R ->> endobj -155 0 obj << -/Title 156 0 R -/A 153 0 R -/Parent 63 0 R -/Prev 151 0 R -/Next 159 0 R ->> endobj -151 0 obj << -/Title 152 0 R -/A 149 0 R -/Parent 63 0 R -/Prev 147 0 R -/Next 155 0 R ->> endobj -147 0 obj << -/Title 148 0 R -/A 145 0 R -/Parent 63 0 R -/Prev 143 0 R -/Next 151 0 R ->> endobj -143 0 obj << -/Title 144 0 R -/A 141 0 R -/Parent 63 0 R -/Prev 139 0 R -/Next 147 0 R ->> endobj -139 0 obj << -/Title 140 0 R -/A 137 0 R -/Parent 63 0 R -/Prev 135 0 R -/Next 143 0 R ->> endobj -135 0 obj << -/Title 136 0 R -/A 133 0 R -/Parent 63 0 R -/Prev 131 0 R -/Next 139 0 R ->> endobj -131 0 obj << -/Title 132 0 R -/A 129 0 R -/Parent 63 0 R -/Prev 127 0 R -/Next 135 0 R ->> endobj -127 0 obj << -/Title 128 0 R -/A 125 0 R -/Parent 63 0 R -/Prev 123 0 R -/Next 131 0 R ->> endobj -123 0 obj << -/Title 124 0 R -/A 121 0 R -/Parent 63 0 R -/Prev 119 0 R -/Next 127 0 R ->> endobj -119 0 obj << -/Title 120 0 R -/A 117 0 R -/Parent 63 0 R -/Prev 115 0 R -/Next 123 0 R ->> endobj -115 0 obj << -/Title 116 0 R -/A 113 0 R -/Parent 63 0 R -/Prev 111 0 R -/Next 119 0 R ->> endobj -111 0 obj << -/Title 112 0 R -/A 109 0 R -/Parent 63 0 R -/Prev 107 0 R -/Next 115 0 R ->> endobj -107 0 obj << -/Title 108 0 R -/A 105 0 R -/Parent 63 0 R -/Prev 103 0 R -/Next 111 0 R ->> endobj -103 0 obj << -/Title 104 0 R -/A 101 0 R -/Parent 63 0 R -/Prev 99 0 R -/Next 107 0 R ->> endobj -99 0 obj << -/Title 100 0 R -/A 97 0 R -/Parent 63 0 R -/Prev 95 0 R -/Next 103 0 R ->> endobj -95 0 obj << -/Title 96 0 R -/A 93 0 R -/Parent 63 0 R -/Prev 91 0 R -/Next 99 0 R ->> endobj -91 0 obj << -/Title 92 0 R -/A 89 0 R -/Parent 63 0 R -/Prev 87 0 R -/Next 95 0 R ->> endobj -87 0 obj << -/Title 88 0 R -/A 85 0 R -/Parent 63 0 R -/Prev 83 0 R -/Next 91 0 R ->> endobj -83 0 obj << -/Title 84 0 R -/A 81 0 R -/Parent 63 0 R -/Prev 79 0 R -/Next 87 0 R ->> endobj -79 0 obj << -/Title 80 0 R -/A 77 0 R -/Parent 63 0 R -/Prev 75 0 R -/Next 83 0 R ->> endobj -75 0 obj << -/Title 76 0 R -/A 73 0 R -/Parent 63 0 R -/Prev 71 0 R -/Next 79 0 R ->> endobj -71 0 obj << -/Title 72 0 R -/A 69 0 R -/Parent 63 0 R -/Prev 67 0 R -/Next 75 0 R ->> endobj -67 0 obj << -/Title 68 0 R -/A 65 0 R -/Parent 63 0 R -/Next 71 0 R ->> endobj -63 0 obj << -/Title 64 0 R -/A 61 0 R -/Parent 55 0 R -/Prev 59 0 R -/First 67 0 R -/Last 179 0 R -/Count -29 ->> endobj -59 0 obj << -/Title 60 0 R -/A 57 0 R -/Parent 55 0 R -/Next 63 0 R ->> endobj -55 0 obj << -/Title 56 0 R -/A 53 0 R -/Parent 51 0 R -/Next 183 0 R -/First 59 0 R -/Last 63 0 R -/Count -2 ->> endobj -51 0 obj << -/Title 52 0 R -/A 49 0 R -/Parent 724 0 R -/Prev 43 0 R -/First 55 0 R -/Last 215 0 R -/Count -3 ->> endobj -47 0 obj << -/Title 48 0 R -/A 45 0 R -/Parent 43 0 R ->> endobj -43 0 obj << -/Title 44 0 R -/A 41 0 R -/Parent 724 0 R -/Prev 39 0 R -/Next 51 0 R -/First 47 0 R -/Last 47 0 R -/Count -1 ->> endobj -39 0 obj << -/Title 40 0 R -/A 37 0 R -/Parent 724 0 R -/Prev 27 0 R -/Next 43 0 R ->> endobj -35 0 obj << -/Title 36 0 R -/A 33 0 R -/Parent 27 0 R -/Prev 31 0 R ->> endobj -31 0 obj << -/Title 32 0 R -/A 29 0 R -/Parent 27 0 R -/Next 35 0 R ->> endobj -27 0 obj << -/Title 28 0 R -/A 25 0 R -/Parent 724 0 R -/Prev 7 0 R -/Next 39 0 R -/First 31 0 R -/Last 35 0 R -/Count -2 ->> endobj -23 0 obj << -/Title 24 0 R -/A 21 0 R -/Parent 7 0 R -/Prev 19 0 R ->> endobj -19 0 obj << -/Title 20 0 R -/A 17 0 R -/Parent 7 0 R -/Prev 15 0 R -/Next 23 0 R ->> endobj -15 0 obj << -/Title 16 0 R -/A 13 0 R -/Parent 7 0 R -/Prev 11 0 R -/Next 19 0 R ->> endobj -11 0 obj << -/Title 12 0 R -/A 9 0 R -/Parent 7 0 R -/Next 15 0 R ->> endobj -7 0 obj << -/Title 8 0 R -/A 5 0 R -/Parent 724 0 R -/Next 27 0 R -/First 11 0 R -/Last 23 0 R -/Count -4 ->> endobj -725 0 obj << -/Names [(Doc-Start) 226 0 R (chapter.1) 6 0 R (chapter.2) 26 0 R (chapter.3) 38 0 R (chapter.4) 42 0 R (chapter.5) 50 0 R] -/Limits [(Doc-Start) (chapter.5)] ->> endobj -726 0 obj << -/Names [(erasure__code_8h) 478 0 R (erasure__code_8h_a06a563b718c6269c8df0fe7647e5bb49) 379 0 R (erasure__code_8h_a12f59be6d348fea6ad2464a20af22fd3) 380 0 R (erasure__code_8h_a17799d49d9b83861322ebf314a55f77f) 386 0 R (erasure__code_8h_a17c6ccf6470796b756841e160dc8697c) 374 0 R (erasure__code_8h_a1fb1d6d463ac00ae196501c75d2036d2) 388 0 R] -/Limits [(erasure__code_8h) (erasure__code_8h_a1fb1d6d463ac00ae196501c75d2036d2)] ->> endobj -727 0 obj << -/Names [(erasure__code_8h_a1ff835062a19d6516f2d59d9c37ddb48) 372 0 R (erasure__code_8h_a21d5e25b4ac64062996149fea71aede8) 382 0 R (erasure__code_8h_a22b53cd4103da9ed88c351e7045ff313) 381 0 R (erasure__code_8h_a2688b38c18e93c95c525c0d5bf9e221a) 393 0 R (erasure__code_8h_a26c2200ad3bf04b1c858eb239b7ff940) 376 0 R (erasure__code_8h_a2fb7662ba4e1df4bb72659c57efeaad6) 394 0 R] -/Limits [(erasure__code_8h_a1ff835062a19d6516f2d59d9c37ddb48) (erasure__code_8h_a2fb7662ba4e1df4bb72659c57efeaad6)] ->> endobj -728 0 obj << -/Names [(erasure__code_8h_a484460566a8c888fda3d769324461345) 521 0 R (erasure__code_8h_a4f880c4b9fe6700e040b9f4ef4e45918) 373 0 R (erasure__code_8h_a590b5c35075aeea1243a9e4ef73a49d4) 320 0 R (erasure__code_8h_a6ce05684e168d73773847a3c2c13c175) 387 0 R (erasure__code_8h_a81be18ea979e8a32f384e1a7856badcf) 531 0 R (erasure__code_8h_aa486278c409735df8001096ac2b487dd) 384 0 R] -/Limits [(erasure__code_8h_a484460566a8c888fda3d769324461345) (erasure__code_8h_aa486278c409735df8001096ac2b487dd)] ->> endobj -729 0 obj << -/Names [(erasure__code_8h_aacd489f45babdbfe6a41f1bac2885ab6) 389 0 R (erasure__code_8h_abb7a991b4c0fb9ced373680ef36bae08) 375 0 R (erasure__code_8h_ac64153e1aef3cdc4b69d375ec762fa33) 392 0 R (erasure__code_8h_ac6468d7eb3c28116439abb4a7c5eca05) 396 0 R (erasure__code_8h_ac73ea8358bc3155c7f3a6c078a7d6d35) 520 0 R (erasure__code_8h_ad0eca329291d751df6ffb3aa3eb83610) 390 0 R] -/Limits [(erasure__code_8h_aacd489f45babdbfe6a41f1bac2885ab6) (erasure__code_8h_ad0eca329291d751df6ffb3aa3eb83610)] ->> endobj -730 0 obj << -/Names [(erasure__code_8h_ad808efb2e8af3803571c0a6c7c9faf39) 533 0 R (erasure__code_8h_ae1e4c9eb9a26a3a7852166d54d2a27f8) 377 0 R (erasure__code_8h_af88a7da05f46e1a0fe17d032a2cf78bf) 378 0 R (erasure__code_8h_af88c501e0c5138ec9c88f58c182945e8) 395 0 R (erasure__code_8h_afd549f435ee28276b5a9408a3a6256b1) 532 0 R (erasure__code_8h_afeefb3612c92a0bc87182f6e11030b11) 391 0 R] -/Limits [(erasure__code_8h_ad808efb2e8af3803571c0a6c7c9faf39) (erasure__code_8h_afeefb3612c92a0bc87182f6e11030b11)] ->> endobj -731 0 obj << -/Names [(gf__vect__mul_8h) 479 0 R (gf__vect__mul_8h_a15d42d058c64dec106d9e3e9fc2e1136) 369 0 R (gf__vect__mul_8h_a7a1f65b032f03494dbc68411f5614bb1) 371 0 R (gf__vect__mul_8h_a84eb9ca31c934f05a8e3fa7a02fa71dc) 370 0 R (gf__vect__mul_8h_a8f3e57729c3382514325612c54e20eaa) 385 0 R (gf__vect__mul_8h_aa7a737b69a0a77dc29aa28d0f17421a1) 383 0 R] -/Limits [(gf__vect__mul_8h) (gf__vect__mul_8h_aa7a737b69a0a77dc29aa28d0f17421a1)] ->> endobj -732 0 obj << -/Names [(index) 307 0 R (index_about_sec) 308 0 R (index_ec_sec) 311 0 R (index_intro_sec) 310 0 R (index_sys_reg_sec) 319 0 R (page.1) 305 0 R] -/Limits [(index) (page.1)] ->> endobj -733 0 obj << -/Names [(page.10) 528 0 R (page.11) 540 0 R (page.12) 547 0 R (page.13) 555 0 R (page.14) 561 0 R (page.15) 569 0 R] -/Limits [(page.10) (page.15)] ->> endobj -734 0 obj << -/Names [(page.16) 578 0 R (page.17) 584 0 R (page.18) 592 0 R (page.19) 600 0 R (page.2) 325 0 R (page.20) 606 0 R] -/Limits [(page.16) (page.20)] ->> endobj -735 0 obj << -/Names [(page.21) 613 0 R (page.22) 620 0 R (page.23) 628 0 R (page.24) 635 0 R (page.25) 643 0 R (page.26) 653 0 R] -/Limits [(page.21) (page.26)] ->> endobj -736 0 obj << -/Names [(page.27) 660 0 R (page.28) 668 0 R (page.3) 360 0 R (page.4) 368 0 R (page.5) 434 0 R (page.6) 462 0 R] -/Limits [(page.27) (page.6)] ->> endobj -737 0 obj << -/Names [(page.7) 477 0 R (page.8) 496 0 R (page.9) 518 0 R (requires) 327 0 R (requires__requires000001) 435 0 R (requires__requires000002) 465 0 R] -/Limits [(page.7) (requires__requires000002)] ->> endobj -738 0 obj << -/Names [(requires__requires000003) 463 0 R (requires__requires000004) 464 0 R (requires__requires000005) 438 0 R (requires__requires000006) 436 0 R (requires__requires000007) 437 0 R (requires__requires000008) 441 0 R] -/Limits [(requires__requires000003) (requires__requires000008)] ->> endobj -739 0 obj << -/Names [(requires__requires000009) 439 0 R (requires__requires000010) 440 0 R (requires__requires000011) 444 0 R (requires__requires000012) 442 0 R (requires__requires000013) 443 0 R (requires__requires000014) 447 0 R] -/Limits [(requires__requires000009) (requires__requires000014)] ->> endobj -740 0 obj << -/Names [(requires__requires000015) 445 0 R (requires__requires000016) 446 0 R (requires__requires000017) 450 0 R (requires__requires000018) 448 0 R (requires__requires000019) 449 0 R (requires__requires000020) 467 0 R] -/Limits [(requires__requires000015) (requires__requires000020)] ->> endobj -741 0 obj << -/Names [(requires__requires000021) 466 0 R (section*.1) 497 0 R (section*.2) 654 0 R (section.1.1) 10 0 R (section.1.2) 14 0 R (section.1.3) 18 0 R] -/Limits [(requires__requires000021) (section.1.3)] ->> endobj -742 0 obj << -/Names [(section.1.4) 22 0 R (section.2.1) 30 0 R (section.2.2) 34 0 R (section.4.1) 46 0 R (section.5.1) 54 0 R (section.5.2) 182 0 R] -/Limits [(section.1.4) (section.5.2)] ->> endobj -743 0 obj << -/Names [(section.5.3) 214 0 R (subsection.5.1.1) 58 0 R (subsection.5.1.2) 62 0 R (subsection.5.2.1) 186 0 R (subsection.5.2.2) 190 0 R (subsection.5.3.1) 218 0 R] -/Limits [(section.5.3) (subsection.5.3.1)] ->> endobj -744 0 obj << -/Names [(subsubsection.5.1.2.1) 66 0 R (subsubsection.5.1.2.10) 102 0 R (subsubsection.5.1.2.11) 106 0 R (subsubsection.5.1.2.12) 110 0 R (subsubsection.5.1.2.13) 114 0 R (subsubsection.5.1.2.14) 118 0 R] -/Limits [(subsubsection.5.1.2.1) (subsubsection.5.1.2.14)] ->> endobj -745 0 obj << -/Names [(subsubsection.5.1.2.15) 122 0 R (subsubsection.5.1.2.16) 126 0 R (subsubsection.5.1.2.17) 130 0 R (subsubsection.5.1.2.18) 134 0 R (subsubsection.5.1.2.19) 138 0 R (subsubsection.5.1.2.2) 70 0 R] -/Limits [(subsubsection.5.1.2.15) (subsubsection.5.1.2.2)] ->> endobj -746 0 obj << -/Names [(subsubsection.5.1.2.20) 142 0 R (subsubsection.5.1.2.21) 146 0 R (subsubsection.5.1.2.22) 150 0 R (subsubsection.5.1.2.23) 154 0 R (subsubsection.5.1.2.24) 158 0 R (subsubsection.5.1.2.25) 162 0 R] -/Limits [(subsubsection.5.1.2.20) (subsubsection.5.1.2.25)] ->> endobj -747 0 obj << -/Names [(subsubsection.5.1.2.26) 166 0 R (subsubsection.5.1.2.27) 170 0 R (subsubsection.5.1.2.28) 174 0 R (subsubsection.5.1.2.29) 178 0 R (subsubsection.5.1.2.3) 74 0 R (subsubsection.5.1.2.4) 78 0 R] -/Limits [(subsubsection.5.1.2.26) (subsubsection.5.1.2.4)] ->> endobj -748 0 obj << -/Names [(subsubsection.5.1.2.5) 82 0 R (subsubsection.5.1.2.6) 86 0 R (subsubsection.5.1.2.7) 90 0 R (subsubsection.5.1.2.8) 94 0 R (subsubsection.5.1.2.9) 98 0 R (subsubsection.5.2.2.1) 194 0 R] -/Limits [(subsubsection.5.1.2.5) (subsubsection.5.2.2.1)] ->> endobj -749 0 obj << -/Names [(subsubsection.5.2.2.2) 198 0 R (subsubsection.5.2.2.3) 202 0 R (subsubsection.5.2.2.4) 206 0 R (subsubsection.5.2.2.5) 210 0 R (table.5.1) 530 0 R (table.5.10) 571 0 R] -/Limits [(subsubsection.5.2.2.2) (table.5.10)] ->> endobj -750 0 obj << -/Names [(table.5.11) 579 0 R (table.5.12) 585 0 R (table.5.13) 586 0 R (table.5.14) 593 0 R (table.5.15) 594 0 R (table.5.16) 601 0 R] -/Limits [(table.5.11) (table.5.16)] ->> endobj -751 0 obj << -/Names [(table.5.17) 607 0 R (table.5.18) 608 0 R (table.5.19) 614 0 R (table.5.2) 541 0 R (table.5.20) 615 0 R (table.5.21) 621 0 R] -/Limits [(table.5.17) (table.5.21)] ->> endobj -752 0 obj << -/Names [(table.5.22) 622 0 R (table.5.23) 623 0 R (table.5.24) 629 0 R (table.5.25) 630 0 R (table.5.26) 636 0 R (table.5.27) 637 0 R] -/Limits [(table.5.22) (table.5.27)] ->> endobj -753 0 obj << -/Names [(table.5.28) 644 0 R (table.5.29) 645 0 R (table.5.3) 542 0 R (table.5.30) 655 0 R (table.5.31) 661 0 R (table.5.32) 662 0 R] -/Limits [(table.5.28) (table.5.32)] ->> endobj -754 0 obj << -/Names [(table.5.33) 669 0 R (table.5.34) 670 0 R (table.5.4) 548 0 R (table.5.5) 549 0 R (table.5.6) 556 0 R (table.5.7) 562 0 R] -/Limits [(table.5.33) (table.5.7)] ->> endobj -755 0 obj << -/Names [(table.5.8) 563 0 R (table.5.9) 570 0 R (types_8h) 480 0 R (version) 361 0 R (version_test) 362 0 R (version_test2) 363 0 R] -/Limits [(table.5.8) (version_test2)] ->> endobj -756 0 obj << -/Kids [725 0 R 726 0 R 727 0 R 728 0 R 729 0 R 730 0 R] -/Limits [(Doc-Start) (erasure__code_8h_afeefb3612c92a0bc87182f6e11030b11)] ->> endobj -757 0 obj << -/Kids [731 0 R 732 0 R 733 0 R 734 0 R 735 0 R 736 0 R] -/Limits [(gf__vect__mul_8h) (page.6)] ->> endobj -758 0 obj << -/Kids [737 0 R 738 0 R 739 0 R 740 0 R 741 0 R 742 0 R] -/Limits [(page.7) (section.5.2)] ->> endobj -759 0 obj << -/Kids [743 0 R 744 0 R 745 0 R 746 0 R 747 0 R 748 0 R] -/Limits [(section.5.3) (subsubsection.5.2.2.1)] ->> endobj -760 0 obj << -/Kids [749 0 R 750 0 R 751 0 R 752 0 R 753 0 R 754 0 R] -/Limits [(subsubsection.5.2.2.2) (table.5.7)] ->> endobj -761 0 obj << -/Kids [755 0 R] -/Limits [(table.5.8) (version_test2)] ->> endobj -762 0 obj << -/Kids [756 0 R 757 0 R 758 0 R 759 0 R 760 0 R 761 0 R] -/Limits [(Doc-Start) (version_test2)] ->> endobj -763 0 obj << -/Dests 762 0 R ->> endobj -764 0 obj << -/Type /Catalog -/Pages 723 0 R -/Outlines 724 0 R -/Names 763 0 R -/PageMode/UseOutlines/PageLabels << /Nums [0 << /S /D >> 1 << /S /D >> 2 << /S /r >> 4 << /S /D >> ] >> -/OpenAction 221 0 R ->> endobj -765 0 obj << -/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.3)/Keywords() -/CreationDate (D:20140408225608-07'00') -/ModDate (D:20140408225608-07'00') -/Trapped /False -/PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6) ->> endobj -xref -0 766 -0000000001 65535 f -0000000002 00000 f -0000000003 00000 f -0000000004 00000 f -0000000397 00000 f -0000000015 00000 n -0000029129 00000 n -0000248311 00000 n -0000000060 00000 n -0000000164 00000 n -0000029306 00000 n -0000248239 00000 n -0000000211 00000 n -0000000339 00000 n -0000029424 00000 n -0000248153 00000 n -0000000387 00000 n -0000000454 00000 n -0000029541 00000 n -0000248067 00000 n -0000000502 00000 n -0000000645 00000 n -0000031891 00000 n -0000247994 00000 n -0000000693 00000 n -0000000818 00000 n -0000032878 00000 n -0000247870 00000 n -0000000864 00000 n -0000001017 00000 n -0000033056 00000 n -0000247796 00000 n -0000001065 00000 n -0000001218 00000 n -0000033174 00000 n -0000247722 00000 n -0000001266 00000 n -0000001457 00000 n -0000045007 00000 n -0000247634 00000 n -0000001503 00000 n -0000001676 00000 n -0000050083 00000 n -0000247509 00000 n -0000001722 00000 n -0000001802 00000 n -0000050139 00000 n -0000247448 00000 n -0000001850 00000 n -0000001925 00000 n -0000054175 00000 n -0000247335 00000 n -0000001971 00000 n -0000002091 00000 n -0000054292 00000 n -0000247223 00000 n -0000002139 00000 n -0000002320 00000 n -0000062532 00000 n -0000247149 00000 n -0000002373 00000 n -0000002503 00000 n -0000062588 00000 n -0000247036 00000 n -0000002556 00000 n -0000002696 00000 n -0000062701 00000 n -0000246962 00000 n -0000002754 00000 n -0000002857 00000 n -0000065938 00000 n -0000246875 00000 n -0000002915 00000 n -0000003046 00000 n -0000066108 00000 n -0000246788 00000 n -0000003104 00000 n -0000003230 00000 n -0000069083 00000 n -0000246701 00000 n -0000003288 00000 n -0000003391 00000 n -0000069252 00000 n -0000246614 00000 n -0000003449 00000 n -0000003593 00000 n -0000071916 00000 n -0000246527 00000 n -0000003651 00000 n -0000003800 00000 n -0000072086 00000 n -0000246440 00000 n -0000003858 00000 n -0000004002 00000 n -0000074788 00000 n -0000246353 00000 n -0000004060 00000 n -0000004204 00000 n -0000074958 00000 n -0000246264 00000 n -0000004262 00000 n -0000004412 00000 n -0000077736 00000 n -0000246173 00000 n -0000004472 00000 n -0000004617 00000 n -0000080387 00000 n -0000246081 00000 n -0000004677 00000 n -0000004822 00000 n -0000080558 00000 n -0000245989 00000 n -0000004882 00000 n -0000005032 00000 n -0000083234 00000 n -0000245897 00000 n -0000005092 00000 n -0000005237 00000 n -0000083405 00000 n -0000245805 00000 n -0000005297 00000 n -0000005442 00000 n -0000086187 00000 n -0000245713 00000 n -0000005502 00000 n -0000005652 00000 n -0000089050 00000 n -0000245621 00000 n -0000005712 00000 n -0000005857 00000 n -0000089221 00000 n -0000245529 00000 n -0000005917 00000 n -0000006062 00000 n -0000091925 00000 n -0000245437 00000 n -0000006122 00000 n -0000006272 00000 n -0000092096 00000 n -0000245345 00000 n -0000006332 00000 n -0000006477 00000 n -0000095033 00000 n -0000245253 00000 n -0000006537 00000 n -0000006679 00000 n -0000095203 00000 n -0000245161 00000 n -0000006739 00000 n -0000006856 00000 n -0000097392 00000 n -0000245069 00000 n -0000006916 00000 n -0000006977 00000 n -0000097563 00000 n -0000244977 00000 n -0000007037 00000 n -0000007151 00000 n -0000097734 00000 n -0000244885 00000 n -0000007211 00000 n -0000007272 00000 n -0000100342 00000 n -0000244793 00000 n -0000007332 00000 n -0000007449 00000 n -0000100513 00000 n -0000244701 00000 n -0000007509 00000 n -0000007649 00000 n -0000103118 00000 n -0000244609 00000 n -0000007709 00000 n -0000007854 00000 n -0000103289 00000 n -0000244517 00000 n -0000007914 00000 n -0000008059 00000 n -0000106077 00000 n -0000244439 00000 n -0000008119 00000 n -0000008259 00000 n -0000106248 00000 n -0000244309 00000 n -0000008308 00000 n -0000008488 00000 n -0000109728 00000 n -0000244230 00000 n -0000008542 00000 n -0000008673 00000 n -0000109784 00000 n -0000244112 00000 n -0000008727 00000 n -0000008868 00000 n -0000109898 00000 n -0000244033 00000 n -0000008927 00000 n -0000009016 00000 n -0000110069 00000 n -0000243940 00000 n -0000009075 00000 n -0000009187 00000 n -0000112732 00000 n -0000243847 00000 n -0000009246 00000 n -0000009363 00000 n -0000112903 00000 n -0000243754 00000 n -0000009422 00000 n -0000009539 00000 n -0000115203 00000 n -0000243675 00000 n -0000009598 00000 n -0000009710 00000 n -0000115374 00000 n -0000243558 00000 n -0000009759 00000 n -0000009903 00000 n -0000115431 00000 n -0000243493 00000 n -0000009957 00000 n -0000010088 00000 n -0000010605 00000 n -0000010717 00000 n -0000012711 00000 n -0000010140 00000 n -0000012654 00000 n -0000241253 00000 n -0000241599 00000 n -0000242647 00000 n -0000012333 00000 n -0000012585 00000 n -0000012632 00000 n -0000014877 00000 n -0000015067 00000 n -0000014745 00000 n -0000012824 00000 n -0000242123 00000 n -0000242297 00000 n -0000241082 00000 n -0000016450 00000 n -0000016600 00000 n -0000016753 00000 n -0000016906 00000 n -0000017059 00000 n -0000017212 00000 n -0000017362 00000 n -0000017515 00000 n -0000017667 00000 n -0000017818 00000 n -0000017969 00000 n -0000018121 00000 n -0000018272 00000 n -0000018424 00000 n -0000018583 00000 n -0000018741 00000 n -0000018905 00000 n -0000019069 00000 n -0000019233 00000 n -0000019397 00000 n -0000019560 00000 n -0000019724 00000 n -0000019887 00000 n -0000020051 00000 n -0000020214 00000 n -0000020379 00000 n -0000020544 00000 n -0000020708 00000 n -0000020873 00000 n -0000021037 00000 n -0000021202 00000 n -0000021366 00000 n -0000022687 00000 n -0000021531 00000 n -0000016070 00000 n -0000015165 00000 n -0000022852 00000 n -0000023016 00000 n -0000023181 00000 n -0000023345 00000 n -0000023510 00000 n -0000023674 00000 n -0000023838 00000 n -0000024003 00000 n -0000024167 00000 n -0000024332 00000 n -0000024496 00000 n -0000024661 00000 n -0000024814 00000 n -0000024973 00000 n -0000025132 00000 n -0000025296 00000 n -0000025460 00000 n -0000025624 00000 n -0000025788 00000 n -0000025952 00000 n -0000026105 00000 n -0000026264 00000 n -0000022387 00000 n -0000021616 00000 n -0000028880 00000 n -0000031270 00000 n -0000029659 00000 n -0000028748 00000 n -0000026349 00000 n -0000029072 00000 n -0000241953 00000 n -0000029184 00000 n -0000029245 00000 n -0000241424 00000 n -0000029362 00000 n -0000029480 00000 n -0000240940 00000 n -0000240085 00000 n -0000240514 00000 n -0000240372 00000 n -0000240229 00000 n -0000239942 00000 n -0000240655 00000 n -0000029597 00000 n -0000062644 00000 n -0000031420 00000 n -0000031947 00000 n -0000031122 00000 n -0000029845 00000 n -0000031834 00000 n -0000031628 00000 n -0000045063 00000 n -0000035239 00000 n -0000035430 00000 n -0000035621 00000 n -0000035812 00000 n -0000036003 00000 n -0000036194 00000 n -0000036384 00000 n -0000036575 00000 n -0000036765 00000 n -0000036956 00000 n -0000037146 00000 n -0000037337 00000 n -0000037528 00000 n -0000037719 00000 n -0000037910 00000 n -0000038101 00000 n -0000038292 00000 n -0000038483 00000 n -0000038674 00000 n -0000038865 00000 n -0000039056 00000 n -0000039247 00000 n -0000039438 00000 n -0000039628 00000 n -0000039819 00000 n -0000040009 00000 n -0000040200 00000 n -0000040390 00000 n -0000040581 00000 n -0000033229 00000 n -0000032709 00000 n -0000032058 00000 n -0000032821 00000 n -0000032934 00000 n -0000032995 00000 n -0000033112 00000 n -0000242764 00000 n -0000040829 00000 n -0000034883 00000 n -0000033340 00000 n -0000040772 00000 n -0000115146 00000 n -0000112846 00000 n -0000110012 00000 n -0000106020 00000 n -0000100456 00000 n -0000072029 00000 n -0000077679 00000 n -0000080501 00000 n -0000080330 00000 n -0000083177 00000 n -0000088993 00000 n -0000092039 00000 n -0000069026 00000 n -0000066051 00000 n -0000109841 00000 n -0000062814 00000 n -0000112675 00000 n -0000103232 00000 n -0000100285 00000 n -0000103061 00000 n -0000069196 00000 n -0000074731 00000 n -0000083348 00000 n -0000089164 00000 n -0000071859 00000 n -0000074901 00000 n -0000086130 00000 n -0000091868 00000 n -0000000399 00000 f -0000041881 00000 n -0000000401 00000 f -0000042073 00000 n -0000000403 00000 f -0000042265 00000 n -0000000405 00000 f -0000042456 00000 n -0000000407 00000 f -0000042648 00000 n -0000000409 00000 f -0000042840 00000 n -0000000411 00000 f -0000043032 00000 n -0000000413 00000 f -0000043224 00000 n -0000000415 00000 f -0000043415 00000 n -0000000417 00000 f -0000043607 00000 n -0000000419 00000 f -0000043799 00000 n -0000000421 00000 f -0000043991 00000 n -0000000423 00000 f -0000044182 00000 n -0000000425 00000 f -0000044374 00000 n -0000000427 00000 f -0000044566 00000 n -0000000429 00000 f -0000044758 00000 n -0000000451 00000 f -0000046866 00000 n -0000046034 00000 n -0000041629 00000 n -0000040927 00000 n -0000044950 00000 n -0000045124 00000 n -0000045181 00000 n -0000045238 00000 n -0000045295 00000 n -0000045352 00000 n -0000045409 00000 n -0000045465 00000 n -0000045522 00000 n -0000045579 00000 n -0000045636 00000 n -0000045693 00000 n -0000045750 00000 n -0000045807 00000 n -0000045864 00000 n -0000045921 00000 n -0000045977 00000 n -0000000453 00000 f -0000047057 00000 n -0000000455 00000 f -0000047249 00000 n -0000000457 00000 f -0000047441 00000 n -0000000000 00000 f -0000047633 00000 n -0000048165 00000 n -0000046702 00000 n -0000046132 00000 n -0000047825 00000 n -0000047882 00000 n -0000047939 00000 n -0000047995 00000 n -0000048051 00000 n -0000048108 00000 n -0000049099 00000 n -0000049257 00000 n -0000049411 00000 n -0000049569 00000 n -0000049723 00000 n -0000049873 00000 n -0000050195 00000 n -0000048927 00000 n -0000048263 00000 n -0000050026 00000 n -0000054231 00000 n -0000106191 00000 n -0000115317 00000 n -0000052001 00000 n -0000052194 00000 n -0000052387 00000 n -0000052580 00000 n -0000052772 00000 n -0000052963 00000 n -0000053156 00000 n -0000053348 00000 n -0000053541 00000 n -0000053733 00000 n -0000053926 00000 n -0000055873 00000 n -0000054404 00000 n -0000051789 00000 n -0000050306 00000 n -0000054118 00000 n -0000054348 00000 n -0000242470 00000 n -0000240798 00000 n -0000056064 00000 n -0000056257 00000 n -0000056450 00000 n -0000056642 00000 n -0000056835 00000 n -0000057028 00000 n -0000057219 00000 n -0000057411 00000 n -0000057604 00000 n -0000057796 00000 n -0000057989 00000 n -0000058181 00000 n -0000058374 00000 n -0000058567 00000 n -0000061704 00000 n -0000058817 00000 n -0000055629 00000 n -0000054554 00000 n -0000058760 00000 n -0000242881 00000 n -0000097677 00000 n -0000097335 00000 n -0000061896 00000 n -0000062089 00000 n -0000062282 00000 n -0000062871 00000 n -0000061548 00000 n -0000058941 00000 n -0000062475 00000 n -0000241774 00000 n -0000062757 00000 n -0000095147 00000 n -0000094976 00000 n -0000097506 00000 n -0000065329 00000 n -0000065522 00000 n -0000065688 00000 n -0000066221 00000 n -0000065181 00000 n -0000063034 00000 n -0000065881 00000 n -0000065994 00000 n -0000066164 00000 n -0000068803 00000 n -0000069365 00000 n -0000068671 00000 n -0000066371 00000 n -0000068969 00000 n -0000069139 00000 n -0000069308 00000 n -0000071472 00000 n -0000071638 00000 n -0000072142 00000 n -0000071332 00000 n -0000069528 00000 n -0000071802 00000 n -0000071972 00000 n -0000074451 00000 n -0000075014 00000 n -0000074319 00000 n -0000072305 00000 n -0000074617 00000 n -0000074674 00000 n -0000074844 00000 n -0000077234 00000 n -0000077400 00000 n -0000077850 00000 n -0000077094 00000 n -0000075177 00000 n -0000077566 00000 n -0000077623 00000 n -0000077793 00000 n -0000242998 00000 n -0000079943 00000 n -0000080109 00000 n -0000080615 00000 n -0000079803 00000 n -0000078013 00000 n -0000080273 00000 n -0000080444 00000 n -0000082897 00000 n -0000083462 00000 n -0000082765 00000 n -0000080778 00000 n -0000083063 00000 n -0000083120 00000 n -0000083291 00000 n -0000085685 00000 n -0000085851 00000 n -0000086301 00000 n -0000085545 00000 n -0000083625 00000 n -0000086017 00000 n -0000086074 00000 n -0000086244 00000 n -0000088606 00000 n -0000088772 00000 n -0000089278 00000 n -0000088466 00000 n -0000086464 00000 n -0000088936 00000 n -0000089107 00000 n -0000091588 00000 n -0000092153 00000 n -0000091456 00000 n -0000089441 00000 n -0000091754 00000 n -0000091811 00000 n -0000091982 00000 n -0000094697 00000 n -0000095260 00000 n -0000094565 00000 n -0000092316 00000 n -0000094863 00000 n -0000094920 00000 n -0000095090 00000 n -0000243115 00000 n -0000097791 00000 n -0000097109 00000 n -0000095423 00000 n -0000097221 00000 n -0000097278 00000 n -0000097449 00000 n -0000097620 00000 n -0000100006 00000 n -0000100570 00000 n -0000099874 00000 n -0000097954 00000 n -0000100171 00000 n -0000100228 00000 n -0000100399 00000 n -0000102781 00000 n -0000103346 00000 n -0000102649 00000 n -0000100733 00000 n -0000102947 00000 n -0000103004 00000 n -0000103175 00000 n -0000105740 00000 n -0000108653 00000 n -0000106301 00000 n -0000105608 00000 n -0000103509 00000 n -0000105906 00000 n -0000105963 00000 n -0000106134 00000 n -0000108845 00000 n -0000109038 00000 n -0000109231 00000 n -0000109422 00000 n -0000110126 00000 n -0000108489 00000 n -0000106464 00000 n -0000109615 00000 n -0000109672 00000 n -0000109955 00000 n -0000112396 00000 n -0000112960 00000 n -0000112264 00000 n -0000110289 00000 n -0000112561 00000 n -0000112618 00000 n -0000112789 00000 n -0000243232 00000 n -0000114866 00000 n -0000115488 00000 n -0000114734 00000 n -0000113110 00000 n -0000115032 00000 n -0000115089 00000 n -0000115260 00000 n -0000239481 00000 n -0000115638 00000 n -0000115961 00000 n -0000115986 00000 n -0000116461 00000 n -0000117073 00000 n -0000117099 00000 n -0000117412 00000 n -0000117523 00000 n -0000117618 00000 n -0000117979 00000 n -0000118004 00000 n -0000118351 00000 n -0000118535 00000 n -0000118906 00000 n -0000119568 00000 n -0000119892 00000 n -0000120195 00000 n -0000120735 00000 n -0000122499 00000 n -0000122732 00000 n -0000125260 00000 n -0000125496 00000 n -0000127821 00000 n -0000128050 00000 n -0000129970 00000 n -0000130203 00000 n -0000132711 00000 n -0000132958 00000 n -0000134482 00000 n -0000134734 00000 n -0000135998 00000 n -0000136227 00000 n -0000137496 00000 n -0000137726 00000 n -0000151595 00000 n -0000151990 00000 n -0000160014 00000 n -0000160352 00000 n -0000171728 00000 n -0000172110 00000 n -0000178885 00000 n -0000179160 00000 n -0000186548 00000 n -0000186829 00000 n -0000192223 00000 n -0000192519 00000 n -0000206190 00000 n -0000206568 00000 n -0000225983 00000 n -0000226563 00000 n -0000239124 00000 n -0000243317 00000 n -0000243419 00000 n -0000248420 00000 n -0000248600 00000 n -0000249046 00000 n -0000249560 00000 n -0000250074 00000 n -0000250588 00000 n -0000251102 00000 n -0000251548 00000 n -0000251743 00000 n -0000251913 00000 n -0000252082 00000 n -0000252252 00000 n -0000252417 00000 n -0000252635 00000 n -0000252941 00000 n -0000253247 00000 n -0000253553 00000 n -0000253776 00000 n -0000253973 00000 n -0000254203 00000 n -0000254490 00000 n -0000254777 00000 n -0000255067 00000 n -0000255352 00000 n -0000255629 00000 n -0000255877 00000 n -0000256071 00000 n -0000256264 00000 n -0000256458 00000 n -0000256651 00000 n -0000256840 00000 n -0000257034 00000 n -0000257188 00000 n -0000257305 00000 n -0000257417 00000 n -0000257544 00000 n -0000257669 00000 n -0000257746 00000 n -0000257863 00000 n -0000257901 00000 n -0000258111 00000 n -trailer -<< /Size 766 -/Root 764 0 R -/Info 765 0 R -/ID [<07BF1BFF8396560A3D29CED1E32BB73D> <07BF1BFF8396560A3D29CED1E32BB73D>] >> -startxref -258442 -%%EOF diff --git a/pkg/encoding/erasure/ec-base.c b/pkg/encoding/erasure/ec-base.c deleted file mode 100644 index f5bba3101..000000000 --- a/pkg/encoding/erasure/ec-base.c +++ /dev/null @@ -1,321 +0,0 @@ -/********************************************************************** - Copyright(c) 2011-2014 Intel Corporation All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -**********************************************************************/ - -#include -#include -#include // for memset -#include "ec-code.h" -#include "ec-base.h" // for GF tables -#include "ec-ctypes.h" - -uint8_t gf_mul(uint8_t a, uint8_t b) -{ -#ifndef GF_LARGE_TABLES - int i; - - if ((a == 0) || (b == 0)) - return 0; - - return gff_base[(i = gflog_base[a] + gflog_base[b]) > 254 ? i - 255 : i]; -#else - return gf_mul_table_base[b * 256 + a]; -#endif -} - -uint8_t gf_inv(uint8_t a) -{ -#ifndef GF_LARGE_TABLES - if (a == 0) - return 0; - - return gff_base[255 - gflog_base[a]]; -#else - return gf_inv_table_base[a]; -#endif -} - -void gf_gen_rs_matrix(uint8_t *a, int m, int k) -{ - int i, j; - uint8_t p, gen = 1; - - memset(a, 0, k * m); - for (i = 0; i < k; i++) - a[k * i + i] = 1; - - for (i = k; i < m; i++) { - p = 1; - for (j = 0; j < k; j++) { - a[k * i + j] = p; - p = gf_mul(p, gen); - } - gen = gf_mul(gen, 2); - } -} - -void gf_gen_cauchy1_matrix(uint8_t *a, int m, int k) -{ - int i, j; - uint8_t *p; - - // Identity matrix in high position - memset(a, 0, k * m); - for (i = 0; i < k; i++) - a[k * i + i] = 1; - - // For the rest choose 1/(i + j) | i != j - p = &a[k * k]; - for (i = k; i < m; i++) - for (j = 0; j < k; j++) - *p++ = gf_inv(i ^ j); - -} - -int gf_invert_matrix(uint8_t *in_mat, uint8_t *out_mat, const int n) -{ - int i, j, k; - uint8_t temp; - - // Set out_mat[] to the identity matrix - for (i = 0; i < n * n; i++) // memset(out_mat, 0, n*n) - out_mat[i] = 0; - - for (i = 0; i < n; i++) - out_mat[i * n + i] = 1; - - // Inverse - for (i = 0; i < n; i++) { - // Check for 0 in pivot element - if (in_mat[i * n + i] == 0) { - // Find a row with non-zero in current column and swap - for (j = i + 1; j < n; j++) - if (in_mat[j * n + i]) - break; - - if (j == n) // Couldn't find means it's singular - return -1; - - for (k = 0; k < n; k++) { // Swap rows i,j - temp = in_mat[i * n + k]; - in_mat[i * n + k] = in_mat[j * n + k]; - in_mat[j * n + k] = temp; - - temp = out_mat[i * n + k]; - out_mat[i * n + k] = out_mat[j * n + k]; - out_mat[j * n + k] = temp; - } - } - - temp = gf_inv(in_mat[i * n + i]); // 1/pivot - for (j = 0; j < n; j++) { // Scale row i by 1/pivot - in_mat[i * n + j] = gf_mul(in_mat[i * n + j], temp); - out_mat[i * n + j] = gf_mul(out_mat[i * n + j], temp); - } - - for (j = 0; j < n; j++) { - if (j == i) - continue; - - temp = in_mat[j * n + i]; - for (k = 0; k < n; k++) { - out_mat[j * n + k] ^= gf_mul(temp, out_mat[i * n + k]); - in_mat[j * n + k] ^= gf_mul(temp, in_mat[i * n + k]); - } - } - } - return 0; -} - -// Calculates const table gftbl in GF(2^8) from single input A -// gftbl(A) = {A{00}, A{01}, A{02}, ... , A{0f} }, {A{00}, A{10}, A{20}, ... , A{f0} } - -void gf_vect_mul_init(uint8_t c, uint8_t *tbl) -{ - uint8_t c2 = (c << 1) ^ ((c & 0x80) ? 0x1d : 0); //Mult by GF{2} - uint8_t c4 = (c2 << 1) ^ ((c2 & 0x80) ? 0x1d : 0); //Mult by GF{2} - uint8_t c8 = (c4 << 1) ^ ((c4 & 0x80) ? 0x1d : 0); //Mult by GF{2} - -#if __WORDSIZE == 64 || _WIN64 || __x86_64__ - unsigned long long v1, v2, v4, v8, *t; - unsigned long long v10, v20, v40, v80; - uint8_t c17, c18, c20, c24; - - t = (unsigned long long *)tbl; - - v1 = c * 0x0100010001000100ull; - v2 = c2 * 0x0101000001010000ull; - v4 = c4 * 0x0101010100000000ull; - v8 = c8 * 0x0101010101010101ull; - - v4 = v1 ^ v2 ^ v4; - t[0] = v4; - t[1] = v8 ^ v4; - - c17 = (c8 << 1) ^ ((c8 & 0x80) ? 0x1d : 0); //Mult by GF{2} - c18 = (c17 << 1) ^ ((c17 & 0x80) ? 0x1d : 0); //Mult by GF{2} - c20 = (c18 << 1) ^ ((c18 & 0x80) ? 0x1d : 0); //Mult by GF{2} - c24 = (c20 << 1) ^ ((c20 & 0x80) ? 0x1d : 0); //Mult by GF{2} - - v10 = c17 * 0x0100010001000100ull; - v20 = c18 * 0x0101000001010000ull; - v40 = c20 * 0x0101010100000000ull; - v80 = c24 * 0x0101010101010101ull; - - v40 = v10 ^ v20 ^ v40; - t[2] = v40; - t[3] = v80 ^ v40; - -#else // 32-bit or other - uint8_t c3, c5, c6, c7, c9, c10, c11, c12, c13, c14, c15; - uint8_t c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, - c31; - - c3 = c2 ^ c; - c5 = c4 ^ c; - c6 = c4 ^ c2; - c7 = c4 ^ c3; - - c9 = c8 ^ c; - c10 = c8 ^ c2; - c11 = c8 ^ c3; - c12 = c8 ^ c4; - c13 = c8 ^ c5; - c14 = c8 ^ c6; - c15 = c8 ^ c7; - - tbl[0] = 0; - tbl[1] = c; - tbl[2] = c2; - tbl[3] = c3; - tbl[4] = c4; - tbl[5] = c5; - tbl[6] = c6; - tbl[7] = c7; - tbl[8] = c8; - tbl[9] = c9; - tbl[10] = c10; - tbl[11] = c11; - tbl[12] = c12; - tbl[13] = c13; - tbl[14] = c14; - tbl[15] = c15; - - c17 = (c8 << 1) ^ ((c8 & 0x80) ? 0x1d : 0); //Mult by GF{2} - c18 = (c17 << 1) ^ ((c17 & 0x80) ? 0x1d : 0); //Mult by GF{2} - c19 = c18 ^ c17; - c20 = (c18 << 1) ^ ((c18 & 0x80) ? 0x1d : 0); //Mult by GF{2} - c21 = c20 ^ c17; - c22 = c20 ^ c18; - c23 = c20 ^ c19; - c24 = (c20 << 1) ^ ((c20 & 0x80) ? 0x1d : 0); //Mult by GF{2} - c25 = c24 ^ c17; - c26 = c24 ^ c18; - c27 = c24 ^ c19; - c28 = c24 ^ c20; - c29 = c24 ^ c21; - c30 = c24 ^ c22; - c31 = c24 ^ c23; - - tbl[16] = 0; - tbl[17] = c17; - tbl[18] = c18; - tbl[19] = c19; - tbl[20] = c20; - tbl[21] = c21; - tbl[22] = c22; - tbl[23] = c23; - tbl[24] = c24; - tbl[25] = c25; - tbl[26] = c26; - tbl[27] = c27; - tbl[28] = c28; - tbl[29] = c29; - tbl[30] = c30; - tbl[31] = c31; - -#endif //__WORDSIZE == 64 || _WIN64 || __x86_64__ -} - -void gf_vect_dot_prod_base(int len, int vlen, uint8_t *v, - uint8_t **src, uint8_t *dest) -{ - int i, j; - uint8_t s; - for (i = 0; i < len; i++) { - s = 0; - for (j = 0; j < vlen; j++) - s ^= gf_mul(src[j][i], v[j * 32 + 1]); - - dest[i] = s; - } -} - -void ec_encode_data_base(int len, int srcs, int dests, uint8_t *v, - uint8_t **src, uint8_t **dest) -{ - int i, j, l; - uint8_t s; - - for (l = 0; l < dests; l++) { - for (i = 0; i < len; i++) { - s = 0; - for (j = 0; j < srcs; j++) - s ^= gf_mul(src[j][i], v[j * 32 + l * srcs * 32 + 1]); - - dest[l][i] = s; - } - } -} - -void gf_vect_mul_base(int len, uint8_t *a, uint8_t *src, uint8_t *dest) -{ - //2nd element of table array is ref value used to fill it in - uint8_t c = a[1]; - while (len-- > 0) - *dest++ = gf_mul(c, *src++); -} - -struct slver { - UINT16 snum; - UINT8 ver; - UINT8 core; -}; - -// Version info -struct slver gf_vect_mul_init_slver_00020035; -struct slver gf_vect_mul_init_slver = { 0x0035, 0x02, 0x00 }; - -struct slver ec_encode_data_base_slver_00010135; -struct slver ec_encode_data_base_slver = { 0x0135, 0x01, 0x00 }; - -struct slver gf_vect_mul_base_slver_00010136; -struct slver gf_vect_mul_base_slver = { 0x0136, 0x01, 0x00 }; - -struct slver gf_vect_dot_prod_base_slver_00010137; -struct slver gf_vect_dot_prod_base_slver = { 0x0137, 0x01, 0x00 }; diff --git a/pkg/encoding/erasure/ec-base.h b/pkg/encoding/erasure/ec-base.h deleted file mode 100644 index 32d70e2c4..000000000 --- a/pkg/encoding/erasure/ec-base.h +++ /dev/null @@ -1,6680 +0,0 @@ -/********************************************************************** - Copyright(c) 2011-2014 Intel Corporation All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -**********************************************************************/ - -#ifndef _EC_BASE_H_ -#define _EC_BASE_H_ - -// Global GF(256) tables -#ifndef GF_LARGE_TABLES -unsigned char gff_base[] = { - 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1d, 0x3a, - 0x74, 0xe8, 0xcd, 0x87, 0x13, 0x26, 0x4c, 0x98, 0x2d, 0x5a, - 0xb4, 0x75, 0xea, 0xc9, 0x8f, 0x03, 0x06, 0x0c, 0x18, 0x30, - 0x60, 0xc0, 0x9d, 0x27, 0x4e, 0x9c, 0x25, 0x4a, 0x94, 0x35, - 0x6a, 0xd4, 0xb5, 0x77, 0xee, 0xc1, 0x9f, 0x23, 0x46, 0x8c, - 0x05, 0x0a, 0x14, 0x28, 0x50, 0xa0, 0x5d, 0xba, 0x69, 0xd2, - 0xb9, 0x6f, 0xde, 0xa1, 0x5f, 0xbe, 0x61, 0xc2, 0x99, 0x2f, - 0x5e, 0xbc, 0x65, 0xca, 0x89, 0x0f, 0x1e, 0x3c, 0x78, 0xf0, - 0xfd, 0xe7, 0xd3, 0xbb, 0x6b, 0xd6, 0xb1, 0x7f, 0xfe, 0xe1, - 0xdf, 0xa3, 0x5b, 0xb6, 0x71, 0xe2, 0xd9, 0xaf, 0x43, 0x86, - 0x11, 0x22, 0x44, 0x88, 0x0d, 0x1a, 0x34, 0x68, 0xd0, 0xbd, - 0x67, 0xce, 0x81, 0x1f, 0x3e, 0x7c, 0xf8, 0xed, 0xc7, 0x93, - 0x3b, 0x76, 0xec, 0xc5, 0x97, 0x33, 0x66, 0xcc, 0x85, 0x17, - 0x2e, 0x5c, 0xb8, 0x6d, 0xda, 0xa9, 0x4f, 0x9e, 0x21, 0x42, - 0x84, 0x15, 0x2a, 0x54, 0xa8, 0x4d, 0x9a, 0x29, 0x52, 0xa4, - 0x55, 0xaa, 0x49, 0x92, 0x39, 0x72, 0xe4, 0xd5, 0xb7, 0x73, - 0xe6, 0xd1, 0xbf, 0x63, 0xc6, 0x91, 0x3f, 0x7e, 0xfc, 0xe5, - 0xd7, 0xb3, 0x7b, 0xf6, 0xf1, 0xff, 0xe3, 0xdb, 0xab, 0x4b, - 0x96, 0x31, 0x62, 0xc4, 0x95, 0x37, 0x6e, 0xdc, 0xa5, 0x57, - 0xae, 0x41, 0x82, 0x19, 0x32, 0x64, 0xc8, 0x8d, 0x07, 0x0e, - 0x1c, 0x38, 0x70, 0xe0, 0xdd, 0xa7, 0x53, 0xa6, 0x51, 0xa2, - 0x59, 0xb2, 0x79, 0xf2, 0xf9, 0xef, 0xc3, 0x9b, 0x2b, 0x56, - 0xac, 0x45, 0x8a, 0x09, 0x12, 0x24, 0x48, 0x90, 0x3d, 0x7a, - 0xf4, 0xf5, 0xf7, 0xf3, 0xfb, 0xeb, 0xcb, 0x8b, 0x0b, 0x16, - 0x2c, 0x58, 0xb0, 0x7d, 0xfa, 0xe9, 0xcf, 0x83, 0x1b, 0x36, - 0x6c, 0xd8, 0xad, 0x47, 0x8e, 0x01 -}; - -unsigned char gflog_base[] = { - 0x00, 0xff, 0x01, 0x19, 0x02, 0x32, 0x1a, 0xc6, 0x03, 0xdf, - 0x33, 0xee, 0x1b, 0x68, 0xc7, 0x4b, 0x04, 0x64, 0xe0, 0x0e, - 0x34, 0x8d, 0xef, 0x81, 0x1c, 0xc1, 0x69, 0xf8, 0xc8, 0x08, - 0x4c, 0x71, 0x05, 0x8a, 0x65, 0x2f, 0xe1, 0x24, 0x0f, 0x21, - 0x35, 0x93, 0x8e, 0xda, 0xf0, 0x12, 0x82, 0x45, 0x1d, 0xb5, - 0xc2, 0x7d, 0x6a, 0x27, 0xf9, 0xb9, 0xc9, 0x9a, 0x09, 0x78, - 0x4d, 0xe4, 0x72, 0xa6, 0x06, 0xbf, 0x8b, 0x62, 0x66, 0xdd, - 0x30, 0xfd, 0xe2, 0x98, 0x25, 0xb3, 0x10, 0x91, 0x22, 0x88, - 0x36, 0xd0, 0x94, 0xce, 0x8f, 0x96, 0xdb, 0xbd, 0xf1, 0xd2, - 0x13, 0x5c, 0x83, 0x38, 0x46, 0x40, 0x1e, 0x42, 0xb6, 0xa3, - 0xc3, 0x48, 0x7e, 0x6e, 0x6b, 0x3a, 0x28, 0x54, 0xfa, 0x85, - 0xba, 0x3d, 0xca, 0x5e, 0x9b, 0x9f, 0x0a, 0x15, 0x79, 0x2b, - 0x4e, 0xd4, 0xe5, 0xac, 0x73, 0xf3, 0xa7, 0x57, 0x07, 0x70, - 0xc0, 0xf7, 0x8c, 0x80, 0x63, 0x0d, 0x67, 0x4a, 0xde, 0xed, - 0x31, 0xc5, 0xfe, 0x18, 0xe3, 0xa5, 0x99, 0x77, 0x26, 0xb8, - 0xb4, 0x7c, 0x11, 0x44, 0x92, 0xd9, 0x23, 0x20, 0x89, 0x2e, - 0x37, 0x3f, 0xd1, 0x5b, 0x95, 0xbc, 0xcf, 0xcd, 0x90, 0x87, - 0x97, 0xb2, 0xdc, 0xfc, 0xbe, 0x61, 0xf2, 0x56, 0xd3, 0xab, - 0x14, 0x2a, 0x5d, 0x9e, 0x84, 0x3c, 0x39, 0x53, 0x47, 0x6d, - 0x41, 0xa2, 0x1f, 0x2d, 0x43, 0xd8, 0xb7, 0x7b, 0xa4, 0x76, - 0xc4, 0x17, 0x49, 0xec, 0x7f, 0x0c, 0x6f, 0xf6, 0x6c, 0xa1, - 0x3b, 0x52, 0x29, 0x9d, 0x55, 0xaa, 0xfb, 0x60, 0x86, 0xb1, - 0xbb, 0xcc, 0x3e, 0x5a, 0xcb, 0x59, 0x5f, 0xb0, 0x9c, 0xa9, - 0xa0, 0x51, 0x0b, 0xf5, 0x16, 0xeb, 0x7a, 0x75, 0x2c, 0xd7, - 0x4f, 0xae, 0xd5, 0xe9, 0xe6, 0xe7, 0xad, 0xe8, 0x74, 0xd6, - 0xf4, 0xea, 0xa8, 0x50, 0x58, 0xaf -}; -#else -unsigned char gf_mul_table_base[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 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, 0x02, 0x03, - 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, - 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, - 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, - 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, - 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, - 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, - 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, - 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, - 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, - 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, - 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, - 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, - 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, - 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, - 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, - 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, - 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, - 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, - 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, - 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, - 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, - 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, - 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, - 0xfe, 0xff, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e, - 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x22, - 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30, 0x32, 0x34, 0x36, - 0x38, 0x3a, 0x3c, 0x3e, 0x40, 0x42, 0x44, 0x46, 0x48, 0x4a, - 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e, - 0x60, 0x62, 0x64, 0x66, 0x68, 0x6a, 0x6c, 0x6e, 0x70, 0x72, - 0x74, 0x76, 0x78, 0x7a, 0x7c, 0x7e, 0x80, 0x82, 0x84, 0x86, - 0x88, 0x8a, 0x8c, 0x8e, 0x90, 0x92, 0x94, 0x96, 0x98, 0x9a, - 0x9c, 0x9e, 0xa0, 0xa2, 0xa4, 0xa6, 0xa8, 0xaa, 0xac, 0xae, - 0xb0, 0xb2, 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe, 0xc0, 0xc2, - 0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xd0, 0xd2, 0xd4, 0xd6, - 0xd8, 0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, - 0xec, 0xee, 0xf0, 0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc, 0xfe, - 0x1d, 0x1f, 0x19, 0x1b, 0x15, 0x17, 0x11, 0x13, 0x0d, 0x0f, - 0x09, 0x0b, 0x05, 0x07, 0x01, 0x03, 0x3d, 0x3f, 0x39, 0x3b, - 0x35, 0x37, 0x31, 0x33, 0x2d, 0x2f, 0x29, 0x2b, 0x25, 0x27, - 0x21, 0x23, 0x5d, 0x5f, 0x59, 0x5b, 0x55, 0x57, 0x51, 0x53, - 0x4d, 0x4f, 0x49, 0x4b, 0x45, 0x47, 0x41, 0x43, 0x7d, 0x7f, - 0x79, 0x7b, 0x75, 0x77, 0x71, 0x73, 0x6d, 0x6f, 0x69, 0x6b, - 0x65, 0x67, 0x61, 0x63, 0x9d, 0x9f, 0x99, 0x9b, 0x95, 0x97, - 0x91, 0x93, 0x8d, 0x8f, 0x89, 0x8b, 0x85, 0x87, 0x81, 0x83, - 0xbd, 0xbf, 0xb9, 0xbb, 0xb5, 0xb7, 0xb1, 0xb3, 0xad, 0xaf, - 0xa9, 0xab, 0xa5, 0xa7, 0xa1, 0xa3, 0xdd, 0xdf, 0xd9, 0xdb, - 0xd5, 0xd7, 0xd1, 0xd3, 0xcd, 0xcf, 0xc9, 0xcb, 0xc5, 0xc7, - 0xc1, 0xc3, 0xfd, 0xff, 0xf9, 0xfb, 0xf5, 0xf7, 0xf1, 0xf3, - 0xed, 0xef, 0xe9, 0xeb, 0xe5, 0xe7, 0xe1, 0xe3, 0x00, 0x03, - 0x06, 0x05, 0x0c, 0x0f, 0x0a, 0x09, 0x18, 0x1b, 0x1e, 0x1d, - 0x14, 0x17, 0x12, 0x11, 0x30, 0x33, 0x36, 0x35, 0x3c, 0x3f, - 0x3a, 0x39, 0x28, 0x2b, 0x2e, 0x2d, 0x24, 0x27, 0x22, 0x21, - 0x60, 0x63, 0x66, 0x65, 0x6c, 0x6f, 0x6a, 0x69, 0x78, 0x7b, - 0x7e, 0x7d, 0x74, 0x77, 0x72, 0x71, 0x50, 0x53, 0x56, 0x55, - 0x5c, 0x5f, 0x5a, 0x59, 0x48, 0x4b, 0x4e, 0x4d, 0x44, 0x47, - 0x42, 0x41, 0xc0, 0xc3, 0xc6, 0xc5, 0xcc, 0xcf, 0xca, 0xc9, - 0xd8, 0xdb, 0xde, 0xdd, 0xd4, 0xd7, 0xd2, 0xd1, 0xf0, 0xf3, - 0xf6, 0xf5, 0xfc, 0xff, 0xfa, 0xf9, 0xe8, 0xeb, 0xee, 0xed, - 0xe4, 0xe7, 0xe2, 0xe1, 0xa0, 0xa3, 0xa6, 0xa5, 0xac, 0xaf, - 0xaa, 0xa9, 0xb8, 0xbb, 0xbe, 0xbd, 0xb4, 0xb7, 0xb2, 0xb1, - 0x90, 0x93, 0x96, 0x95, 0x9c, 0x9f, 0x9a, 0x99, 0x88, 0x8b, - 0x8e, 0x8d, 0x84, 0x87, 0x82, 0x81, 0x9d, 0x9e, 0x9b, 0x98, - 0x91, 0x92, 0x97, 0x94, 0x85, 0x86, 0x83, 0x80, 0x89, 0x8a, - 0x8f, 0x8c, 0xad, 0xae, 0xab, 0xa8, 0xa1, 0xa2, 0xa7, 0xa4, - 0xb5, 0xb6, 0xb3, 0xb0, 0xb9, 0xba, 0xbf, 0xbc, 0xfd, 0xfe, - 0xfb, 0xf8, 0xf1, 0xf2, 0xf7, 0xf4, 0xe5, 0xe6, 0xe3, 0xe0, - 0xe9, 0xea, 0xef, 0xec, 0xcd, 0xce, 0xcb, 0xc8, 0xc1, 0xc2, - 0xc7, 0xc4, 0xd5, 0xd6, 0xd3, 0xd0, 0xd9, 0xda, 0xdf, 0xdc, - 0x5d, 0x5e, 0x5b, 0x58, 0x51, 0x52, 0x57, 0x54, 0x45, 0x46, - 0x43, 0x40, 0x49, 0x4a, 0x4f, 0x4c, 0x6d, 0x6e, 0x6b, 0x68, - 0x61, 0x62, 0x67, 0x64, 0x75, 0x76, 0x73, 0x70, 0x79, 0x7a, - 0x7f, 0x7c, 0x3d, 0x3e, 0x3b, 0x38, 0x31, 0x32, 0x37, 0x34, - 0x25, 0x26, 0x23, 0x20, 0x29, 0x2a, 0x2f, 0x2c, 0x0d, 0x0e, - 0x0b, 0x08, 0x01, 0x02, 0x07, 0x04, 0x15, 0x16, 0x13, 0x10, - 0x19, 0x1a, 0x1f, 0x1c, 0x00, 0x04, 0x08, 0x0c, 0x10, 0x14, - 0x18, 0x1c, 0x20, 0x24, 0x28, 0x2c, 0x30, 0x34, 0x38, 0x3c, - 0x40, 0x44, 0x48, 0x4c, 0x50, 0x54, 0x58, 0x5c, 0x60, 0x64, - 0x68, 0x6c, 0x70, 0x74, 0x78, 0x7c, 0x80, 0x84, 0x88, 0x8c, - 0x90, 0x94, 0x98, 0x9c, 0xa0, 0xa4, 0xa8, 0xac, 0xb0, 0xb4, - 0xb8, 0xbc, 0xc0, 0xc4, 0xc8, 0xcc, 0xd0, 0xd4, 0xd8, 0xdc, - 0xe0, 0xe4, 0xe8, 0xec, 0xf0, 0xf4, 0xf8, 0xfc, 0x1d, 0x19, - 0x15, 0x11, 0x0d, 0x09, 0x05, 0x01, 0x3d, 0x39, 0x35, 0x31, - 0x2d, 0x29, 0x25, 0x21, 0x5d, 0x59, 0x55, 0x51, 0x4d, 0x49, - 0x45, 0x41, 0x7d, 0x79, 0x75, 0x71, 0x6d, 0x69, 0x65, 0x61, - 0x9d, 0x99, 0x95, 0x91, 0x8d, 0x89, 0x85, 0x81, 0xbd, 0xb9, - 0xb5, 0xb1, 0xad, 0xa9, 0xa5, 0xa1, 0xdd, 0xd9, 0xd5, 0xd1, - 0xcd, 0xc9, 0xc5, 0xc1, 0xfd, 0xf9, 0xf5, 0xf1, 0xed, 0xe9, - 0xe5, 0xe1, 0x3a, 0x3e, 0x32, 0x36, 0x2a, 0x2e, 0x22, 0x26, - 0x1a, 0x1e, 0x12, 0x16, 0x0a, 0x0e, 0x02, 0x06, 0x7a, 0x7e, - 0x72, 0x76, 0x6a, 0x6e, 0x62, 0x66, 0x5a, 0x5e, 0x52, 0x56, - 0x4a, 0x4e, 0x42, 0x46, 0xba, 0xbe, 0xb2, 0xb6, 0xaa, 0xae, - 0xa2, 0xa6, 0x9a, 0x9e, 0x92, 0x96, 0x8a, 0x8e, 0x82, 0x86, - 0xfa, 0xfe, 0xf2, 0xf6, 0xea, 0xee, 0xe2, 0xe6, 0xda, 0xde, - 0xd2, 0xd6, 0xca, 0xce, 0xc2, 0xc6, 0x27, 0x23, 0x2f, 0x2b, - 0x37, 0x33, 0x3f, 0x3b, 0x07, 0x03, 0x0f, 0x0b, 0x17, 0x13, - 0x1f, 0x1b, 0x67, 0x63, 0x6f, 0x6b, 0x77, 0x73, 0x7f, 0x7b, - 0x47, 0x43, 0x4f, 0x4b, 0x57, 0x53, 0x5f, 0x5b, 0xa7, 0xa3, - 0xaf, 0xab, 0xb7, 0xb3, 0xbf, 0xbb, 0x87, 0x83, 0x8f, 0x8b, - 0x97, 0x93, 0x9f, 0x9b, 0xe7, 0xe3, 0xef, 0xeb, 0xf7, 0xf3, - 0xff, 0xfb, 0xc7, 0xc3, 0xcf, 0xcb, 0xd7, 0xd3, 0xdf, 0xdb, - 0x00, 0x05, 0x0a, 0x0f, 0x14, 0x11, 0x1e, 0x1b, 0x28, 0x2d, - 0x22, 0x27, 0x3c, 0x39, 0x36, 0x33, 0x50, 0x55, 0x5a, 0x5f, - 0x44, 0x41, 0x4e, 0x4b, 0x78, 0x7d, 0x72, 0x77, 0x6c, 0x69, - 0x66, 0x63, 0xa0, 0xa5, 0xaa, 0xaf, 0xb4, 0xb1, 0xbe, 0xbb, - 0x88, 0x8d, 0x82, 0x87, 0x9c, 0x99, 0x96, 0x93, 0xf0, 0xf5, - 0xfa, 0xff, 0xe4, 0xe1, 0xee, 0xeb, 0xd8, 0xdd, 0xd2, 0xd7, - 0xcc, 0xc9, 0xc6, 0xc3, 0x5d, 0x58, 0x57, 0x52, 0x49, 0x4c, - 0x43, 0x46, 0x75, 0x70, 0x7f, 0x7a, 0x61, 0x64, 0x6b, 0x6e, - 0x0d, 0x08, 0x07, 0x02, 0x19, 0x1c, 0x13, 0x16, 0x25, 0x20, - 0x2f, 0x2a, 0x31, 0x34, 0x3b, 0x3e, 0xfd, 0xf8, 0xf7, 0xf2, - 0xe9, 0xec, 0xe3, 0xe6, 0xd5, 0xd0, 0xdf, 0xda, 0xc1, 0xc4, - 0xcb, 0xce, 0xad, 0xa8, 0xa7, 0xa2, 0xb9, 0xbc, 0xb3, 0xb6, - 0x85, 0x80, 0x8f, 0x8a, 0x91, 0x94, 0x9b, 0x9e, 0xba, 0xbf, - 0xb0, 0xb5, 0xae, 0xab, 0xa4, 0xa1, 0x92, 0x97, 0x98, 0x9d, - 0x86, 0x83, 0x8c, 0x89, 0xea, 0xef, 0xe0, 0xe5, 0xfe, 0xfb, - 0xf4, 0xf1, 0xc2, 0xc7, 0xc8, 0xcd, 0xd6, 0xd3, 0xdc, 0xd9, - 0x1a, 0x1f, 0x10, 0x15, 0x0e, 0x0b, 0x04, 0x01, 0x32, 0x37, - 0x38, 0x3d, 0x26, 0x23, 0x2c, 0x29, 0x4a, 0x4f, 0x40, 0x45, - 0x5e, 0x5b, 0x54, 0x51, 0x62, 0x67, 0x68, 0x6d, 0x76, 0x73, - 0x7c, 0x79, 0xe7, 0xe2, 0xed, 0xe8, 0xf3, 0xf6, 0xf9, 0xfc, - 0xcf, 0xca, 0xc5, 0xc0, 0xdb, 0xde, 0xd1, 0xd4, 0xb7, 0xb2, - 0xbd, 0xb8, 0xa3, 0xa6, 0xa9, 0xac, 0x9f, 0x9a, 0x95, 0x90, - 0x8b, 0x8e, 0x81, 0x84, 0x47, 0x42, 0x4d, 0x48, 0x53, 0x56, - 0x59, 0x5c, 0x6f, 0x6a, 0x65, 0x60, 0x7b, 0x7e, 0x71, 0x74, - 0x17, 0x12, 0x1d, 0x18, 0x03, 0x06, 0x09, 0x0c, 0x3f, 0x3a, - 0x35, 0x30, 0x2b, 0x2e, 0x21, 0x24, 0x00, 0x06, 0x0c, 0x0a, - 0x18, 0x1e, 0x14, 0x12, 0x30, 0x36, 0x3c, 0x3a, 0x28, 0x2e, - 0x24, 0x22, 0x60, 0x66, 0x6c, 0x6a, 0x78, 0x7e, 0x74, 0x72, - 0x50, 0x56, 0x5c, 0x5a, 0x48, 0x4e, 0x44, 0x42, 0xc0, 0xc6, - 0xcc, 0xca, 0xd8, 0xde, 0xd4, 0xd2, 0xf0, 0xf6, 0xfc, 0xfa, - 0xe8, 0xee, 0xe4, 0xe2, 0xa0, 0xa6, 0xac, 0xaa, 0xb8, 0xbe, - 0xb4, 0xb2, 0x90, 0x96, 0x9c, 0x9a, 0x88, 0x8e, 0x84, 0x82, - 0x9d, 0x9b, 0x91, 0x97, 0x85, 0x83, 0x89, 0x8f, 0xad, 0xab, - 0xa1, 0xa7, 0xb5, 0xb3, 0xb9, 0xbf, 0xfd, 0xfb, 0xf1, 0xf7, - 0xe5, 0xe3, 0xe9, 0xef, 0xcd, 0xcb, 0xc1, 0xc7, 0xd5, 0xd3, - 0xd9, 0xdf, 0x5d, 0x5b, 0x51, 0x57, 0x45, 0x43, 0x49, 0x4f, - 0x6d, 0x6b, 0x61, 0x67, 0x75, 0x73, 0x79, 0x7f, 0x3d, 0x3b, - 0x31, 0x37, 0x25, 0x23, 0x29, 0x2f, 0x0d, 0x0b, 0x01, 0x07, - 0x15, 0x13, 0x19, 0x1f, 0x27, 0x21, 0x2b, 0x2d, 0x3f, 0x39, - 0x33, 0x35, 0x17, 0x11, 0x1b, 0x1d, 0x0f, 0x09, 0x03, 0x05, - 0x47, 0x41, 0x4b, 0x4d, 0x5f, 0x59, 0x53, 0x55, 0x77, 0x71, - 0x7b, 0x7d, 0x6f, 0x69, 0x63, 0x65, 0xe7, 0xe1, 0xeb, 0xed, - 0xff, 0xf9, 0xf3, 0xf5, 0xd7, 0xd1, 0xdb, 0xdd, 0xcf, 0xc9, - 0xc3, 0xc5, 0x87, 0x81, 0x8b, 0x8d, 0x9f, 0x99, 0x93, 0x95, - 0xb7, 0xb1, 0xbb, 0xbd, 0xaf, 0xa9, 0xa3, 0xa5, 0xba, 0xbc, - 0xb6, 0xb0, 0xa2, 0xa4, 0xae, 0xa8, 0x8a, 0x8c, 0x86, 0x80, - 0x92, 0x94, 0x9e, 0x98, 0xda, 0xdc, 0xd6, 0xd0, 0xc2, 0xc4, - 0xce, 0xc8, 0xea, 0xec, 0xe6, 0xe0, 0xf2, 0xf4, 0xfe, 0xf8, - 0x7a, 0x7c, 0x76, 0x70, 0x62, 0x64, 0x6e, 0x68, 0x4a, 0x4c, - 0x46, 0x40, 0x52, 0x54, 0x5e, 0x58, 0x1a, 0x1c, 0x16, 0x10, - 0x02, 0x04, 0x0e, 0x08, 0x2a, 0x2c, 0x26, 0x20, 0x32, 0x34, - 0x3e, 0x38, 0x00, 0x07, 0x0e, 0x09, 0x1c, 0x1b, 0x12, 0x15, - 0x38, 0x3f, 0x36, 0x31, 0x24, 0x23, 0x2a, 0x2d, 0x70, 0x77, - 0x7e, 0x79, 0x6c, 0x6b, 0x62, 0x65, 0x48, 0x4f, 0x46, 0x41, - 0x54, 0x53, 0x5a, 0x5d, 0xe0, 0xe7, 0xee, 0xe9, 0xfc, 0xfb, - 0xf2, 0xf5, 0xd8, 0xdf, 0xd6, 0xd1, 0xc4, 0xc3, 0xca, 0xcd, - 0x90, 0x97, 0x9e, 0x99, 0x8c, 0x8b, 0x82, 0x85, 0xa8, 0xaf, - 0xa6, 0xa1, 0xb4, 0xb3, 0xba, 0xbd, 0xdd, 0xda, 0xd3, 0xd4, - 0xc1, 0xc6, 0xcf, 0xc8, 0xe5, 0xe2, 0xeb, 0xec, 0xf9, 0xfe, - 0xf7, 0xf0, 0xad, 0xaa, 0xa3, 0xa4, 0xb1, 0xb6, 0xbf, 0xb8, - 0x95, 0x92, 0x9b, 0x9c, 0x89, 0x8e, 0x87, 0x80, 0x3d, 0x3a, - 0x33, 0x34, 0x21, 0x26, 0x2f, 0x28, 0x05, 0x02, 0x0b, 0x0c, - 0x19, 0x1e, 0x17, 0x10, 0x4d, 0x4a, 0x43, 0x44, 0x51, 0x56, - 0x5f, 0x58, 0x75, 0x72, 0x7b, 0x7c, 0x69, 0x6e, 0x67, 0x60, - 0xa7, 0xa0, 0xa9, 0xae, 0xbb, 0xbc, 0xb5, 0xb2, 0x9f, 0x98, - 0x91, 0x96, 0x83, 0x84, 0x8d, 0x8a, 0xd7, 0xd0, 0xd9, 0xde, - 0xcb, 0xcc, 0xc5, 0xc2, 0xef, 0xe8, 0xe1, 0xe6, 0xf3, 0xf4, - 0xfd, 0xfa, 0x47, 0x40, 0x49, 0x4e, 0x5b, 0x5c, 0x55, 0x52, - 0x7f, 0x78, 0x71, 0x76, 0x63, 0x64, 0x6d, 0x6a, 0x37, 0x30, - 0x39, 0x3e, 0x2b, 0x2c, 0x25, 0x22, 0x0f, 0x08, 0x01, 0x06, - 0x13, 0x14, 0x1d, 0x1a, 0x7a, 0x7d, 0x74, 0x73, 0x66, 0x61, - 0x68, 0x6f, 0x42, 0x45, 0x4c, 0x4b, 0x5e, 0x59, 0x50, 0x57, - 0x0a, 0x0d, 0x04, 0x03, 0x16, 0x11, 0x18, 0x1f, 0x32, 0x35, - 0x3c, 0x3b, 0x2e, 0x29, 0x20, 0x27, 0x9a, 0x9d, 0x94, 0x93, - 0x86, 0x81, 0x88, 0x8f, 0xa2, 0xa5, 0xac, 0xab, 0xbe, 0xb9, - 0xb0, 0xb7, 0xea, 0xed, 0xe4, 0xe3, 0xf6, 0xf1, 0xf8, 0xff, - 0xd2, 0xd5, 0xdc, 0xdb, 0xce, 0xc9, 0xc0, 0xc7, 0x00, 0x08, - 0x10, 0x18, 0x20, 0x28, 0x30, 0x38, 0x40, 0x48, 0x50, 0x58, - 0x60, 0x68, 0x70, 0x78, 0x80, 0x88, 0x90, 0x98, 0xa0, 0xa8, - 0xb0, 0xb8, 0xc0, 0xc8, 0xd0, 0xd8, 0xe0, 0xe8, 0xf0, 0xf8, - 0x1d, 0x15, 0x0d, 0x05, 0x3d, 0x35, 0x2d, 0x25, 0x5d, 0x55, - 0x4d, 0x45, 0x7d, 0x75, 0x6d, 0x65, 0x9d, 0x95, 0x8d, 0x85, - 0xbd, 0xb5, 0xad, 0xa5, 0xdd, 0xd5, 0xcd, 0xc5, 0xfd, 0xf5, - 0xed, 0xe5, 0x3a, 0x32, 0x2a, 0x22, 0x1a, 0x12, 0x0a, 0x02, - 0x7a, 0x72, 0x6a, 0x62, 0x5a, 0x52, 0x4a, 0x42, 0xba, 0xb2, - 0xaa, 0xa2, 0x9a, 0x92, 0x8a, 0x82, 0xfa, 0xf2, 0xea, 0xe2, - 0xda, 0xd2, 0xca, 0xc2, 0x27, 0x2f, 0x37, 0x3f, 0x07, 0x0f, - 0x17, 0x1f, 0x67, 0x6f, 0x77, 0x7f, 0x47, 0x4f, 0x57, 0x5f, - 0xa7, 0xaf, 0xb7, 0xbf, 0x87, 0x8f, 0x97, 0x9f, 0xe7, 0xef, - 0xf7, 0xff, 0xc7, 0xcf, 0xd7, 0xdf, 0x74, 0x7c, 0x64, 0x6c, - 0x54, 0x5c, 0x44, 0x4c, 0x34, 0x3c, 0x24, 0x2c, 0x14, 0x1c, - 0x04, 0x0c, 0xf4, 0xfc, 0xe4, 0xec, 0xd4, 0xdc, 0xc4, 0xcc, - 0xb4, 0xbc, 0xa4, 0xac, 0x94, 0x9c, 0x84, 0x8c, 0x69, 0x61, - 0x79, 0x71, 0x49, 0x41, 0x59, 0x51, 0x29, 0x21, 0x39, 0x31, - 0x09, 0x01, 0x19, 0x11, 0xe9, 0xe1, 0xf9, 0xf1, 0xc9, 0xc1, - 0xd9, 0xd1, 0xa9, 0xa1, 0xb9, 0xb1, 0x89, 0x81, 0x99, 0x91, - 0x4e, 0x46, 0x5e, 0x56, 0x6e, 0x66, 0x7e, 0x76, 0x0e, 0x06, - 0x1e, 0x16, 0x2e, 0x26, 0x3e, 0x36, 0xce, 0xc6, 0xde, 0xd6, - 0xee, 0xe6, 0xfe, 0xf6, 0x8e, 0x86, 0x9e, 0x96, 0xae, 0xa6, - 0xbe, 0xb6, 0x53, 0x5b, 0x43, 0x4b, 0x73, 0x7b, 0x63, 0x6b, - 0x13, 0x1b, 0x03, 0x0b, 0x33, 0x3b, 0x23, 0x2b, 0xd3, 0xdb, - 0xc3, 0xcb, 0xf3, 0xfb, 0xe3, 0xeb, 0x93, 0x9b, 0x83, 0x8b, - 0xb3, 0xbb, 0xa3, 0xab, 0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, - 0x36, 0x3f, 0x48, 0x41, 0x5a, 0x53, 0x6c, 0x65, 0x7e, 0x77, - 0x90, 0x99, 0x82, 0x8b, 0xb4, 0xbd, 0xa6, 0xaf, 0xd8, 0xd1, - 0xca, 0xc3, 0xfc, 0xf5, 0xee, 0xe7, 0x3d, 0x34, 0x2f, 0x26, - 0x19, 0x10, 0x0b, 0x02, 0x75, 0x7c, 0x67, 0x6e, 0x51, 0x58, - 0x43, 0x4a, 0xad, 0xa4, 0xbf, 0xb6, 0x89, 0x80, 0x9b, 0x92, - 0xe5, 0xec, 0xf7, 0xfe, 0xc1, 0xc8, 0xd3, 0xda, 0x7a, 0x73, - 0x68, 0x61, 0x5e, 0x57, 0x4c, 0x45, 0x32, 0x3b, 0x20, 0x29, - 0x16, 0x1f, 0x04, 0x0d, 0xea, 0xe3, 0xf8, 0xf1, 0xce, 0xc7, - 0xdc, 0xd5, 0xa2, 0xab, 0xb0, 0xb9, 0x86, 0x8f, 0x94, 0x9d, - 0x47, 0x4e, 0x55, 0x5c, 0x63, 0x6a, 0x71, 0x78, 0x0f, 0x06, - 0x1d, 0x14, 0x2b, 0x22, 0x39, 0x30, 0xd7, 0xde, 0xc5, 0xcc, - 0xf3, 0xfa, 0xe1, 0xe8, 0x9f, 0x96, 0x8d, 0x84, 0xbb, 0xb2, - 0xa9, 0xa0, 0xf4, 0xfd, 0xe6, 0xef, 0xd0, 0xd9, 0xc2, 0xcb, - 0xbc, 0xb5, 0xae, 0xa7, 0x98, 0x91, 0x8a, 0x83, 0x64, 0x6d, - 0x76, 0x7f, 0x40, 0x49, 0x52, 0x5b, 0x2c, 0x25, 0x3e, 0x37, - 0x08, 0x01, 0x1a, 0x13, 0xc9, 0xc0, 0xdb, 0xd2, 0xed, 0xe4, - 0xff, 0xf6, 0x81, 0x88, 0x93, 0x9a, 0xa5, 0xac, 0xb7, 0xbe, - 0x59, 0x50, 0x4b, 0x42, 0x7d, 0x74, 0x6f, 0x66, 0x11, 0x18, - 0x03, 0x0a, 0x35, 0x3c, 0x27, 0x2e, 0x8e, 0x87, 0x9c, 0x95, - 0xaa, 0xa3, 0xb8, 0xb1, 0xc6, 0xcf, 0xd4, 0xdd, 0xe2, 0xeb, - 0xf0, 0xf9, 0x1e, 0x17, 0x0c, 0x05, 0x3a, 0x33, 0x28, 0x21, - 0x56, 0x5f, 0x44, 0x4d, 0x72, 0x7b, 0x60, 0x69, 0xb3, 0xba, - 0xa1, 0xa8, 0x97, 0x9e, 0x85, 0x8c, 0xfb, 0xf2, 0xe9, 0xe0, - 0xdf, 0xd6, 0xcd, 0xc4, 0x23, 0x2a, 0x31, 0x38, 0x07, 0x0e, - 0x15, 0x1c, 0x6b, 0x62, 0x79, 0x70, 0x4f, 0x46, 0x5d, 0x54, - 0x00, 0x0a, 0x14, 0x1e, 0x28, 0x22, 0x3c, 0x36, 0x50, 0x5a, - 0x44, 0x4e, 0x78, 0x72, 0x6c, 0x66, 0xa0, 0xaa, 0xb4, 0xbe, - 0x88, 0x82, 0x9c, 0x96, 0xf0, 0xfa, 0xe4, 0xee, 0xd8, 0xd2, - 0xcc, 0xc6, 0x5d, 0x57, 0x49, 0x43, 0x75, 0x7f, 0x61, 0x6b, - 0x0d, 0x07, 0x19, 0x13, 0x25, 0x2f, 0x31, 0x3b, 0xfd, 0xf7, - 0xe9, 0xe3, 0xd5, 0xdf, 0xc1, 0xcb, 0xad, 0xa7, 0xb9, 0xb3, - 0x85, 0x8f, 0x91, 0x9b, 0xba, 0xb0, 0xae, 0xa4, 0x92, 0x98, - 0x86, 0x8c, 0xea, 0xe0, 0xfe, 0xf4, 0xc2, 0xc8, 0xd6, 0xdc, - 0x1a, 0x10, 0x0e, 0x04, 0x32, 0x38, 0x26, 0x2c, 0x4a, 0x40, - 0x5e, 0x54, 0x62, 0x68, 0x76, 0x7c, 0xe7, 0xed, 0xf3, 0xf9, - 0xcf, 0xc5, 0xdb, 0xd1, 0xb7, 0xbd, 0xa3, 0xa9, 0x9f, 0x95, - 0x8b, 0x81, 0x47, 0x4d, 0x53, 0x59, 0x6f, 0x65, 0x7b, 0x71, - 0x17, 0x1d, 0x03, 0x09, 0x3f, 0x35, 0x2b, 0x21, 0x69, 0x63, - 0x7d, 0x77, 0x41, 0x4b, 0x55, 0x5f, 0x39, 0x33, 0x2d, 0x27, - 0x11, 0x1b, 0x05, 0x0f, 0xc9, 0xc3, 0xdd, 0xd7, 0xe1, 0xeb, - 0xf5, 0xff, 0x99, 0x93, 0x8d, 0x87, 0xb1, 0xbb, 0xa5, 0xaf, - 0x34, 0x3e, 0x20, 0x2a, 0x1c, 0x16, 0x08, 0x02, 0x64, 0x6e, - 0x70, 0x7a, 0x4c, 0x46, 0x58, 0x52, 0x94, 0x9e, 0x80, 0x8a, - 0xbc, 0xb6, 0xa8, 0xa2, 0xc4, 0xce, 0xd0, 0xda, 0xec, 0xe6, - 0xf8, 0xf2, 0xd3, 0xd9, 0xc7, 0xcd, 0xfb, 0xf1, 0xef, 0xe5, - 0x83, 0x89, 0x97, 0x9d, 0xab, 0xa1, 0xbf, 0xb5, 0x73, 0x79, - 0x67, 0x6d, 0x5b, 0x51, 0x4f, 0x45, 0x23, 0x29, 0x37, 0x3d, - 0x0b, 0x01, 0x1f, 0x15, 0x8e, 0x84, 0x9a, 0x90, 0xa6, 0xac, - 0xb2, 0xb8, 0xde, 0xd4, 0xca, 0xc0, 0xf6, 0xfc, 0xe2, 0xe8, - 0x2e, 0x24, 0x3a, 0x30, 0x06, 0x0c, 0x12, 0x18, 0x7e, 0x74, - 0x6a, 0x60, 0x56, 0x5c, 0x42, 0x48, 0x00, 0x0b, 0x16, 0x1d, - 0x2c, 0x27, 0x3a, 0x31, 0x58, 0x53, 0x4e, 0x45, 0x74, 0x7f, - 0x62, 0x69, 0xb0, 0xbb, 0xa6, 0xad, 0x9c, 0x97, 0x8a, 0x81, - 0xe8, 0xe3, 0xfe, 0xf5, 0xc4, 0xcf, 0xd2, 0xd9, 0x7d, 0x76, - 0x6b, 0x60, 0x51, 0x5a, 0x47, 0x4c, 0x25, 0x2e, 0x33, 0x38, - 0x09, 0x02, 0x1f, 0x14, 0xcd, 0xc6, 0xdb, 0xd0, 0xe1, 0xea, - 0xf7, 0xfc, 0x95, 0x9e, 0x83, 0x88, 0xb9, 0xb2, 0xaf, 0xa4, - 0xfa, 0xf1, 0xec, 0xe7, 0xd6, 0xdd, 0xc0, 0xcb, 0xa2, 0xa9, - 0xb4, 0xbf, 0x8e, 0x85, 0x98, 0x93, 0x4a, 0x41, 0x5c, 0x57, - 0x66, 0x6d, 0x70, 0x7b, 0x12, 0x19, 0x04, 0x0f, 0x3e, 0x35, - 0x28, 0x23, 0x87, 0x8c, 0x91, 0x9a, 0xab, 0xa0, 0xbd, 0xb6, - 0xdf, 0xd4, 0xc9, 0xc2, 0xf3, 0xf8, 0xe5, 0xee, 0x37, 0x3c, - 0x21, 0x2a, 0x1b, 0x10, 0x0d, 0x06, 0x6f, 0x64, 0x79, 0x72, - 0x43, 0x48, 0x55, 0x5e, 0xe9, 0xe2, 0xff, 0xf4, 0xc5, 0xce, - 0xd3, 0xd8, 0xb1, 0xba, 0xa7, 0xac, 0x9d, 0x96, 0x8b, 0x80, - 0x59, 0x52, 0x4f, 0x44, 0x75, 0x7e, 0x63, 0x68, 0x01, 0x0a, - 0x17, 0x1c, 0x2d, 0x26, 0x3b, 0x30, 0x94, 0x9f, 0x82, 0x89, - 0xb8, 0xb3, 0xae, 0xa5, 0xcc, 0xc7, 0xda, 0xd1, 0xe0, 0xeb, - 0xf6, 0xfd, 0x24, 0x2f, 0x32, 0x39, 0x08, 0x03, 0x1e, 0x15, - 0x7c, 0x77, 0x6a, 0x61, 0x50, 0x5b, 0x46, 0x4d, 0x13, 0x18, - 0x05, 0x0e, 0x3f, 0x34, 0x29, 0x22, 0x4b, 0x40, 0x5d, 0x56, - 0x67, 0x6c, 0x71, 0x7a, 0xa3, 0xa8, 0xb5, 0xbe, 0x8f, 0x84, - 0x99, 0x92, 0xfb, 0xf0, 0xed, 0xe6, 0xd7, 0xdc, 0xc1, 0xca, - 0x6e, 0x65, 0x78, 0x73, 0x42, 0x49, 0x54, 0x5f, 0x36, 0x3d, - 0x20, 0x2b, 0x1a, 0x11, 0x0c, 0x07, 0xde, 0xd5, 0xc8, 0xc3, - 0xf2, 0xf9, 0xe4, 0xef, 0x86, 0x8d, 0x90, 0x9b, 0xaa, 0xa1, - 0xbc, 0xb7, 0x00, 0x0c, 0x18, 0x14, 0x30, 0x3c, 0x28, 0x24, - 0x60, 0x6c, 0x78, 0x74, 0x50, 0x5c, 0x48, 0x44, 0xc0, 0xcc, - 0xd8, 0xd4, 0xf0, 0xfc, 0xe8, 0xe4, 0xa0, 0xac, 0xb8, 0xb4, - 0x90, 0x9c, 0x88, 0x84, 0x9d, 0x91, 0x85, 0x89, 0xad, 0xa1, - 0xb5, 0xb9, 0xfd, 0xf1, 0xe5, 0xe9, 0xcd, 0xc1, 0xd5, 0xd9, - 0x5d, 0x51, 0x45, 0x49, 0x6d, 0x61, 0x75, 0x79, 0x3d, 0x31, - 0x25, 0x29, 0x0d, 0x01, 0x15, 0x19, 0x27, 0x2b, 0x3f, 0x33, - 0x17, 0x1b, 0x0f, 0x03, 0x47, 0x4b, 0x5f, 0x53, 0x77, 0x7b, - 0x6f, 0x63, 0xe7, 0xeb, 0xff, 0xf3, 0xd7, 0xdb, 0xcf, 0xc3, - 0x87, 0x8b, 0x9f, 0x93, 0xb7, 0xbb, 0xaf, 0xa3, 0xba, 0xb6, - 0xa2, 0xae, 0x8a, 0x86, 0x92, 0x9e, 0xda, 0xd6, 0xc2, 0xce, - 0xea, 0xe6, 0xf2, 0xfe, 0x7a, 0x76, 0x62, 0x6e, 0x4a, 0x46, - 0x52, 0x5e, 0x1a, 0x16, 0x02, 0x0e, 0x2a, 0x26, 0x32, 0x3e, - 0x4e, 0x42, 0x56, 0x5a, 0x7e, 0x72, 0x66, 0x6a, 0x2e, 0x22, - 0x36, 0x3a, 0x1e, 0x12, 0x06, 0x0a, 0x8e, 0x82, 0x96, 0x9a, - 0xbe, 0xb2, 0xa6, 0xaa, 0xee, 0xe2, 0xf6, 0xfa, 0xde, 0xd2, - 0xc6, 0xca, 0xd3, 0xdf, 0xcb, 0xc7, 0xe3, 0xef, 0xfb, 0xf7, - 0xb3, 0xbf, 0xab, 0xa7, 0x83, 0x8f, 0x9b, 0x97, 0x13, 0x1f, - 0x0b, 0x07, 0x23, 0x2f, 0x3b, 0x37, 0x73, 0x7f, 0x6b, 0x67, - 0x43, 0x4f, 0x5b, 0x57, 0x69, 0x65, 0x71, 0x7d, 0x59, 0x55, - 0x41, 0x4d, 0x09, 0x05, 0x11, 0x1d, 0x39, 0x35, 0x21, 0x2d, - 0xa9, 0xa5, 0xb1, 0xbd, 0x99, 0x95, 0x81, 0x8d, 0xc9, 0xc5, - 0xd1, 0xdd, 0xf9, 0xf5, 0xe1, 0xed, 0xf4, 0xf8, 0xec, 0xe0, - 0xc4, 0xc8, 0xdc, 0xd0, 0x94, 0x98, 0x8c, 0x80, 0xa4, 0xa8, - 0xbc, 0xb0, 0x34, 0x38, 0x2c, 0x20, 0x04, 0x08, 0x1c, 0x10, - 0x54, 0x58, 0x4c, 0x40, 0x64, 0x68, 0x7c, 0x70, 0x00, 0x0d, - 0x1a, 0x17, 0x34, 0x39, 0x2e, 0x23, 0x68, 0x65, 0x72, 0x7f, - 0x5c, 0x51, 0x46, 0x4b, 0xd0, 0xdd, 0xca, 0xc7, 0xe4, 0xe9, - 0xfe, 0xf3, 0xb8, 0xb5, 0xa2, 0xaf, 0x8c, 0x81, 0x96, 0x9b, - 0xbd, 0xb0, 0xa7, 0xaa, 0x89, 0x84, 0x93, 0x9e, 0xd5, 0xd8, - 0xcf, 0xc2, 0xe1, 0xec, 0xfb, 0xf6, 0x6d, 0x60, 0x77, 0x7a, - 0x59, 0x54, 0x43, 0x4e, 0x05, 0x08, 0x1f, 0x12, 0x31, 0x3c, - 0x2b, 0x26, 0x67, 0x6a, 0x7d, 0x70, 0x53, 0x5e, 0x49, 0x44, - 0x0f, 0x02, 0x15, 0x18, 0x3b, 0x36, 0x21, 0x2c, 0xb7, 0xba, - 0xad, 0xa0, 0x83, 0x8e, 0x99, 0x94, 0xdf, 0xd2, 0xc5, 0xc8, - 0xeb, 0xe6, 0xf1, 0xfc, 0xda, 0xd7, 0xc0, 0xcd, 0xee, 0xe3, - 0xf4, 0xf9, 0xb2, 0xbf, 0xa8, 0xa5, 0x86, 0x8b, 0x9c, 0x91, - 0x0a, 0x07, 0x10, 0x1d, 0x3e, 0x33, 0x24, 0x29, 0x62, 0x6f, - 0x78, 0x75, 0x56, 0x5b, 0x4c, 0x41, 0xce, 0xc3, 0xd4, 0xd9, - 0xfa, 0xf7, 0xe0, 0xed, 0xa6, 0xab, 0xbc, 0xb1, 0x92, 0x9f, - 0x88, 0x85, 0x1e, 0x13, 0x04, 0x09, 0x2a, 0x27, 0x30, 0x3d, - 0x76, 0x7b, 0x6c, 0x61, 0x42, 0x4f, 0x58, 0x55, 0x73, 0x7e, - 0x69, 0x64, 0x47, 0x4a, 0x5d, 0x50, 0x1b, 0x16, 0x01, 0x0c, - 0x2f, 0x22, 0x35, 0x38, 0xa3, 0xae, 0xb9, 0xb4, 0x97, 0x9a, - 0x8d, 0x80, 0xcb, 0xc6, 0xd1, 0xdc, 0xff, 0xf2, 0xe5, 0xe8, - 0xa9, 0xa4, 0xb3, 0xbe, 0x9d, 0x90, 0x87, 0x8a, 0xc1, 0xcc, - 0xdb, 0xd6, 0xf5, 0xf8, 0xef, 0xe2, 0x79, 0x74, 0x63, 0x6e, - 0x4d, 0x40, 0x57, 0x5a, 0x11, 0x1c, 0x0b, 0x06, 0x25, 0x28, - 0x3f, 0x32, 0x14, 0x19, 0x0e, 0x03, 0x20, 0x2d, 0x3a, 0x37, - 0x7c, 0x71, 0x66, 0x6b, 0x48, 0x45, 0x52, 0x5f, 0xc4, 0xc9, - 0xde, 0xd3, 0xf0, 0xfd, 0xea, 0xe7, 0xac, 0xa1, 0xb6, 0xbb, - 0x98, 0x95, 0x82, 0x8f, 0x00, 0x0e, 0x1c, 0x12, 0x38, 0x36, - 0x24, 0x2a, 0x70, 0x7e, 0x6c, 0x62, 0x48, 0x46, 0x54, 0x5a, - 0xe0, 0xee, 0xfc, 0xf2, 0xd8, 0xd6, 0xc4, 0xca, 0x90, 0x9e, - 0x8c, 0x82, 0xa8, 0xa6, 0xb4, 0xba, 0xdd, 0xd3, 0xc1, 0xcf, - 0xe5, 0xeb, 0xf9, 0xf7, 0xad, 0xa3, 0xb1, 0xbf, 0x95, 0x9b, - 0x89, 0x87, 0x3d, 0x33, 0x21, 0x2f, 0x05, 0x0b, 0x19, 0x17, - 0x4d, 0x43, 0x51, 0x5f, 0x75, 0x7b, 0x69, 0x67, 0xa7, 0xa9, - 0xbb, 0xb5, 0x9f, 0x91, 0x83, 0x8d, 0xd7, 0xd9, 0xcb, 0xc5, - 0xef, 0xe1, 0xf3, 0xfd, 0x47, 0x49, 0x5b, 0x55, 0x7f, 0x71, - 0x63, 0x6d, 0x37, 0x39, 0x2b, 0x25, 0x0f, 0x01, 0x13, 0x1d, - 0x7a, 0x74, 0x66, 0x68, 0x42, 0x4c, 0x5e, 0x50, 0x0a, 0x04, - 0x16, 0x18, 0x32, 0x3c, 0x2e, 0x20, 0x9a, 0x94, 0x86, 0x88, - 0xa2, 0xac, 0xbe, 0xb0, 0xea, 0xe4, 0xf6, 0xf8, 0xd2, 0xdc, - 0xce, 0xc0, 0x53, 0x5d, 0x4f, 0x41, 0x6b, 0x65, 0x77, 0x79, - 0x23, 0x2d, 0x3f, 0x31, 0x1b, 0x15, 0x07, 0x09, 0xb3, 0xbd, - 0xaf, 0xa1, 0x8b, 0x85, 0x97, 0x99, 0xc3, 0xcd, 0xdf, 0xd1, - 0xfb, 0xf5, 0xe7, 0xe9, 0x8e, 0x80, 0x92, 0x9c, 0xb6, 0xb8, - 0xaa, 0xa4, 0xfe, 0xf0, 0xe2, 0xec, 0xc6, 0xc8, 0xda, 0xd4, - 0x6e, 0x60, 0x72, 0x7c, 0x56, 0x58, 0x4a, 0x44, 0x1e, 0x10, - 0x02, 0x0c, 0x26, 0x28, 0x3a, 0x34, 0xf4, 0xfa, 0xe8, 0xe6, - 0xcc, 0xc2, 0xd0, 0xde, 0x84, 0x8a, 0x98, 0x96, 0xbc, 0xb2, - 0xa0, 0xae, 0x14, 0x1a, 0x08, 0x06, 0x2c, 0x22, 0x30, 0x3e, - 0x64, 0x6a, 0x78, 0x76, 0x5c, 0x52, 0x40, 0x4e, 0x29, 0x27, - 0x35, 0x3b, 0x11, 0x1f, 0x0d, 0x03, 0x59, 0x57, 0x45, 0x4b, - 0x61, 0x6f, 0x7d, 0x73, 0xc9, 0xc7, 0xd5, 0xdb, 0xf1, 0xff, - 0xed, 0xe3, 0xb9, 0xb7, 0xa5, 0xab, 0x81, 0x8f, 0x9d, 0x93, - 0x00, 0x0f, 0x1e, 0x11, 0x3c, 0x33, 0x22, 0x2d, 0x78, 0x77, - 0x66, 0x69, 0x44, 0x4b, 0x5a, 0x55, 0xf0, 0xff, 0xee, 0xe1, - 0xcc, 0xc3, 0xd2, 0xdd, 0x88, 0x87, 0x96, 0x99, 0xb4, 0xbb, - 0xaa, 0xa5, 0xfd, 0xf2, 0xe3, 0xec, 0xc1, 0xce, 0xdf, 0xd0, - 0x85, 0x8a, 0x9b, 0x94, 0xb9, 0xb6, 0xa7, 0xa8, 0x0d, 0x02, - 0x13, 0x1c, 0x31, 0x3e, 0x2f, 0x20, 0x75, 0x7a, 0x6b, 0x64, - 0x49, 0x46, 0x57, 0x58, 0xe7, 0xe8, 0xf9, 0xf6, 0xdb, 0xd4, - 0xc5, 0xca, 0x9f, 0x90, 0x81, 0x8e, 0xa3, 0xac, 0xbd, 0xb2, - 0x17, 0x18, 0x09, 0x06, 0x2b, 0x24, 0x35, 0x3a, 0x6f, 0x60, - 0x71, 0x7e, 0x53, 0x5c, 0x4d, 0x42, 0x1a, 0x15, 0x04, 0x0b, - 0x26, 0x29, 0x38, 0x37, 0x62, 0x6d, 0x7c, 0x73, 0x5e, 0x51, - 0x40, 0x4f, 0xea, 0xe5, 0xf4, 0xfb, 0xd6, 0xd9, 0xc8, 0xc7, - 0x92, 0x9d, 0x8c, 0x83, 0xae, 0xa1, 0xb0, 0xbf, 0xd3, 0xdc, - 0xcd, 0xc2, 0xef, 0xe0, 0xf1, 0xfe, 0xab, 0xa4, 0xb5, 0xba, - 0x97, 0x98, 0x89, 0x86, 0x23, 0x2c, 0x3d, 0x32, 0x1f, 0x10, - 0x01, 0x0e, 0x5b, 0x54, 0x45, 0x4a, 0x67, 0x68, 0x79, 0x76, - 0x2e, 0x21, 0x30, 0x3f, 0x12, 0x1d, 0x0c, 0x03, 0x56, 0x59, - 0x48, 0x47, 0x6a, 0x65, 0x74, 0x7b, 0xde, 0xd1, 0xc0, 0xcf, - 0xe2, 0xed, 0xfc, 0xf3, 0xa6, 0xa9, 0xb8, 0xb7, 0x9a, 0x95, - 0x84, 0x8b, 0x34, 0x3b, 0x2a, 0x25, 0x08, 0x07, 0x16, 0x19, - 0x4c, 0x43, 0x52, 0x5d, 0x70, 0x7f, 0x6e, 0x61, 0xc4, 0xcb, - 0xda, 0xd5, 0xf8, 0xf7, 0xe6, 0xe9, 0xbc, 0xb3, 0xa2, 0xad, - 0x80, 0x8f, 0x9e, 0x91, 0xc9, 0xc6, 0xd7, 0xd8, 0xf5, 0xfa, - 0xeb, 0xe4, 0xb1, 0xbe, 0xaf, 0xa0, 0x8d, 0x82, 0x93, 0x9c, - 0x39, 0x36, 0x27, 0x28, 0x05, 0x0a, 0x1b, 0x14, 0x41, 0x4e, - 0x5f, 0x50, 0x7d, 0x72, 0x63, 0x6c, 0x00, 0x10, 0x20, 0x30, - 0x40, 0x50, 0x60, 0x70, 0x80, 0x90, 0xa0, 0xb0, 0xc0, 0xd0, - 0xe0, 0xf0, 0x1d, 0x0d, 0x3d, 0x2d, 0x5d, 0x4d, 0x7d, 0x6d, - 0x9d, 0x8d, 0xbd, 0xad, 0xdd, 0xcd, 0xfd, 0xed, 0x3a, 0x2a, - 0x1a, 0x0a, 0x7a, 0x6a, 0x5a, 0x4a, 0xba, 0xaa, 0x9a, 0x8a, - 0xfa, 0xea, 0xda, 0xca, 0x27, 0x37, 0x07, 0x17, 0x67, 0x77, - 0x47, 0x57, 0xa7, 0xb7, 0x87, 0x97, 0xe7, 0xf7, 0xc7, 0xd7, - 0x74, 0x64, 0x54, 0x44, 0x34, 0x24, 0x14, 0x04, 0xf4, 0xe4, - 0xd4, 0xc4, 0xb4, 0xa4, 0x94, 0x84, 0x69, 0x79, 0x49, 0x59, - 0x29, 0x39, 0x09, 0x19, 0xe9, 0xf9, 0xc9, 0xd9, 0xa9, 0xb9, - 0x89, 0x99, 0x4e, 0x5e, 0x6e, 0x7e, 0x0e, 0x1e, 0x2e, 0x3e, - 0xce, 0xde, 0xee, 0xfe, 0x8e, 0x9e, 0xae, 0xbe, 0x53, 0x43, - 0x73, 0x63, 0x13, 0x03, 0x33, 0x23, 0xd3, 0xc3, 0xf3, 0xe3, - 0x93, 0x83, 0xb3, 0xa3, 0xe8, 0xf8, 0xc8, 0xd8, 0xa8, 0xb8, - 0x88, 0x98, 0x68, 0x78, 0x48, 0x58, 0x28, 0x38, 0x08, 0x18, - 0xf5, 0xe5, 0xd5, 0xc5, 0xb5, 0xa5, 0x95, 0x85, 0x75, 0x65, - 0x55, 0x45, 0x35, 0x25, 0x15, 0x05, 0xd2, 0xc2, 0xf2, 0xe2, - 0x92, 0x82, 0xb2, 0xa2, 0x52, 0x42, 0x72, 0x62, 0x12, 0x02, - 0x32, 0x22, 0xcf, 0xdf, 0xef, 0xff, 0x8f, 0x9f, 0xaf, 0xbf, - 0x4f, 0x5f, 0x6f, 0x7f, 0x0f, 0x1f, 0x2f, 0x3f, 0x9c, 0x8c, - 0xbc, 0xac, 0xdc, 0xcc, 0xfc, 0xec, 0x1c, 0x0c, 0x3c, 0x2c, - 0x5c, 0x4c, 0x7c, 0x6c, 0x81, 0x91, 0xa1, 0xb1, 0xc1, 0xd1, - 0xe1, 0xf1, 0x01, 0x11, 0x21, 0x31, 0x41, 0x51, 0x61, 0x71, - 0xa6, 0xb6, 0x86, 0x96, 0xe6, 0xf6, 0xc6, 0xd6, 0x26, 0x36, - 0x06, 0x16, 0x66, 0x76, 0x46, 0x56, 0xbb, 0xab, 0x9b, 0x8b, - 0xfb, 0xeb, 0xdb, 0xcb, 0x3b, 0x2b, 0x1b, 0x0b, 0x7b, 0x6b, - 0x5b, 0x4b, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, - 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0x0d, 0x1c, - 0x2f, 0x3e, 0x49, 0x58, 0x6b, 0x7a, 0x85, 0x94, 0xa7, 0xb6, - 0xc1, 0xd0, 0xe3, 0xf2, 0x1a, 0x0b, 0x38, 0x29, 0x5e, 0x4f, - 0x7c, 0x6d, 0x92, 0x83, 0xb0, 0xa1, 0xd6, 0xc7, 0xf4, 0xe5, - 0x17, 0x06, 0x35, 0x24, 0x53, 0x42, 0x71, 0x60, 0x9f, 0x8e, - 0xbd, 0xac, 0xdb, 0xca, 0xf9, 0xe8, 0x34, 0x25, 0x16, 0x07, - 0x70, 0x61, 0x52, 0x43, 0xbc, 0xad, 0x9e, 0x8f, 0xf8, 0xe9, - 0xda, 0xcb, 0x39, 0x28, 0x1b, 0x0a, 0x7d, 0x6c, 0x5f, 0x4e, - 0xb1, 0xa0, 0x93, 0x82, 0xf5, 0xe4, 0xd7, 0xc6, 0x2e, 0x3f, - 0x0c, 0x1d, 0x6a, 0x7b, 0x48, 0x59, 0xa6, 0xb7, 0x84, 0x95, - 0xe2, 0xf3, 0xc0, 0xd1, 0x23, 0x32, 0x01, 0x10, 0x67, 0x76, - 0x45, 0x54, 0xab, 0xba, 0x89, 0x98, 0xef, 0xfe, 0xcd, 0xdc, - 0x68, 0x79, 0x4a, 0x5b, 0x2c, 0x3d, 0x0e, 0x1f, 0xe0, 0xf1, - 0xc2, 0xd3, 0xa4, 0xb5, 0x86, 0x97, 0x65, 0x74, 0x47, 0x56, - 0x21, 0x30, 0x03, 0x12, 0xed, 0xfc, 0xcf, 0xde, 0xa9, 0xb8, - 0x8b, 0x9a, 0x72, 0x63, 0x50, 0x41, 0x36, 0x27, 0x14, 0x05, - 0xfa, 0xeb, 0xd8, 0xc9, 0xbe, 0xaf, 0x9c, 0x8d, 0x7f, 0x6e, - 0x5d, 0x4c, 0x3b, 0x2a, 0x19, 0x08, 0xf7, 0xe6, 0xd5, 0xc4, - 0xb3, 0xa2, 0x91, 0x80, 0x5c, 0x4d, 0x7e, 0x6f, 0x18, 0x09, - 0x3a, 0x2b, 0xd4, 0xc5, 0xf6, 0xe7, 0x90, 0x81, 0xb2, 0xa3, - 0x51, 0x40, 0x73, 0x62, 0x15, 0x04, 0x37, 0x26, 0xd9, 0xc8, - 0xfb, 0xea, 0x9d, 0x8c, 0xbf, 0xae, 0x46, 0x57, 0x64, 0x75, - 0x02, 0x13, 0x20, 0x31, 0xce, 0xdf, 0xec, 0xfd, 0x8a, 0x9b, - 0xa8, 0xb9, 0x4b, 0x5a, 0x69, 0x78, 0x0f, 0x1e, 0x2d, 0x3c, - 0xc3, 0xd2, 0xe1, 0xf0, 0x87, 0x96, 0xa5, 0xb4, 0x00, 0x12, - 0x24, 0x36, 0x48, 0x5a, 0x6c, 0x7e, 0x90, 0x82, 0xb4, 0xa6, - 0xd8, 0xca, 0xfc, 0xee, 0x3d, 0x2f, 0x19, 0x0b, 0x75, 0x67, - 0x51, 0x43, 0xad, 0xbf, 0x89, 0x9b, 0xe5, 0xf7, 0xc1, 0xd3, - 0x7a, 0x68, 0x5e, 0x4c, 0x32, 0x20, 0x16, 0x04, 0xea, 0xf8, - 0xce, 0xdc, 0xa2, 0xb0, 0x86, 0x94, 0x47, 0x55, 0x63, 0x71, - 0x0f, 0x1d, 0x2b, 0x39, 0xd7, 0xc5, 0xf3, 0xe1, 0x9f, 0x8d, - 0xbb, 0xa9, 0xf4, 0xe6, 0xd0, 0xc2, 0xbc, 0xae, 0x98, 0x8a, - 0x64, 0x76, 0x40, 0x52, 0x2c, 0x3e, 0x08, 0x1a, 0xc9, 0xdb, - 0xed, 0xff, 0x81, 0x93, 0xa5, 0xb7, 0x59, 0x4b, 0x7d, 0x6f, - 0x11, 0x03, 0x35, 0x27, 0x8e, 0x9c, 0xaa, 0xb8, 0xc6, 0xd4, - 0xe2, 0xf0, 0x1e, 0x0c, 0x3a, 0x28, 0x56, 0x44, 0x72, 0x60, - 0xb3, 0xa1, 0x97, 0x85, 0xfb, 0xe9, 0xdf, 0xcd, 0x23, 0x31, - 0x07, 0x15, 0x6b, 0x79, 0x4f, 0x5d, 0xf5, 0xe7, 0xd1, 0xc3, - 0xbd, 0xaf, 0x99, 0x8b, 0x65, 0x77, 0x41, 0x53, 0x2d, 0x3f, - 0x09, 0x1b, 0xc8, 0xda, 0xec, 0xfe, 0x80, 0x92, 0xa4, 0xb6, - 0x58, 0x4a, 0x7c, 0x6e, 0x10, 0x02, 0x34, 0x26, 0x8f, 0x9d, - 0xab, 0xb9, 0xc7, 0xd5, 0xe3, 0xf1, 0x1f, 0x0d, 0x3b, 0x29, - 0x57, 0x45, 0x73, 0x61, 0xb2, 0xa0, 0x96, 0x84, 0xfa, 0xe8, - 0xde, 0xcc, 0x22, 0x30, 0x06, 0x14, 0x6a, 0x78, 0x4e, 0x5c, - 0x01, 0x13, 0x25, 0x37, 0x49, 0x5b, 0x6d, 0x7f, 0x91, 0x83, - 0xb5, 0xa7, 0xd9, 0xcb, 0xfd, 0xef, 0x3c, 0x2e, 0x18, 0x0a, - 0x74, 0x66, 0x50, 0x42, 0xac, 0xbe, 0x88, 0x9a, 0xe4, 0xf6, - 0xc0, 0xd2, 0x7b, 0x69, 0x5f, 0x4d, 0x33, 0x21, 0x17, 0x05, - 0xeb, 0xf9, 0xcf, 0xdd, 0xa3, 0xb1, 0x87, 0x95, 0x46, 0x54, - 0x62, 0x70, 0x0e, 0x1c, 0x2a, 0x38, 0xd6, 0xc4, 0xf2, 0xe0, - 0x9e, 0x8c, 0xba, 0xa8, 0x00, 0x13, 0x26, 0x35, 0x4c, 0x5f, - 0x6a, 0x79, 0x98, 0x8b, 0xbe, 0xad, 0xd4, 0xc7, 0xf2, 0xe1, - 0x2d, 0x3e, 0x0b, 0x18, 0x61, 0x72, 0x47, 0x54, 0xb5, 0xa6, - 0x93, 0x80, 0xf9, 0xea, 0xdf, 0xcc, 0x5a, 0x49, 0x7c, 0x6f, - 0x16, 0x05, 0x30, 0x23, 0xc2, 0xd1, 0xe4, 0xf7, 0x8e, 0x9d, - 0xa8, 0xbb, 0x77, 0x64, 0x51, 0x42, 0x3b, 0x28, 0x1d, 0x0e, - 0xef, 0xfc, 0xc9, 0xda, 0xa3, 0xb0, 0x85, 0x96, 0xb4, 0xa7, - 0x92, 0x81, 0xf8, 0xeb, 0xde, 0xcd, 0x2c, 0x3f, 0x0a, 0x19, - 0x60, 0x73, 0x46, 0x55, 0x99, 0x8a, 0xbf, 0xac, 0xd5, 0xc6, - 0xf3, 0xe0, 0x01, 0x12, 0x27, 0x34, 0x4d, 0x5e, 0x6b, 0x78, - 0xee, 0xfd, 0xc8, 0xdb, 0xa2, 0xb1, 0x84, 0x97, 0x76, 0x65, - 0x50, 0x43, 0x3a, 0x29, 0x1c, 0x0f, 0xc3, 0xd0, 0xe5, 0xf6, - 0x8f, 0x9c, 0xa9, 0xba, 0x5b, 0x48, 0x7d, 0x6e, 0x17, 0x04, - 0x31, 0x22, 0x75, 0x66, 0x53, 0x40, 0x39, 0x2a, 0x1f, 0x0c, - 0xed, 0xfe, 0xcb, 0xd8, 0xa1, 0xb2, 0x87, 0x94, 0x58, 0x4b, - 0x7e, 0x6d, 0x14, 0x07, 0x32, 0x21, 0xc0, 0xd3, 0xe6, 0xf5, - 0x8c, 0x9f, 0xaa, 0xb9, 0x2f, 0x3c, 0x09, 0x1a, 0x63, 0x70, - 0x45, 0x56, 0xb7, 0xa4, 0x91, 0x82, 0xfb, 0xe8, 0xdd, 0xce, - 0x02, 0x11, 0x24, 0x37, 0x4e, 0x5d, 0x68, 0x7b, 0x9a, 0x89, - 0xbc, 0xaf, 0xd6, 0xc5, 0xf0, 0xe3, 0xc1, 0xd2, 0xe7, 0xf4, - 0x8d, 0x9e, 0xab, 0xb8, 0x59, 0x4a, 0x7f, 0x6c, 0x15, 0x06, - 0x33, 0x20, 0xec, 0xff, 0xca, 0xd9, 0xa0, 0xb3, 0x86, 0x95, - 0x74, 0x67, 0x52, 0x41, 0x38, 0x2b, 0x1e, 0x0d, 0x9b, 0x88, - 0xbd, 0xae, 0xd7, 0xc4, 0xf1, 0xe2, 0x03, 0x10, 0x25, 0x36, - 0x4f, 0x5c, 0x69, 0x7a, 0xb6, 0xa5, 0x90, 0x83, 0xfa, 0xe9, - 0xdc, 0xcf, 0x2e, 0x3d, 0x08, 0x1b, 0x62, 0x71, 0x44, 0x57, - 0x00, 0x14, 0x28, 0x3c, 0x50, 0x44, 0x78, 0x6c, 0xa0, 0xb4, - 0x88, 0x9c, 0xf0, 0xe4, 0xd8, 0xcc, 0x5d, 0x49, 0x75, 0x61, - 0x0d, 0x19, 0x25, 0x31, 0xfd, 0xe9, 0xd5, 0xc1, 0xad, 0xb9, - 0x85, 0x91, 0xba, 0xae, 0x92, 0x86, 0xea, 0xfe, 0xc2, 0xd6, - 0x1a, 0x0e, 0x32, 0x26, 0x4a, 0x5e, 0x62, 0x76, 0xe7, 0xf3, - 0xcf, 0xdb, 0xb7, 0xa3, 0x9f, 0x8b, 0x47, 0x53, 0x6f, 0x7b, - 0x17, 0x03, 0x3f, 0x2b, 0x69, 0x7d, 0x41, 0x55, 0x39, 0x2d, - 0x11, 0x05, 0xc9, 0xdd, 0xe1, 0xf5, 0x99, 0x8d, 0xb1, 0xa5, - 0x34, 0x20, 0x1c, 0x08, 0x64, 0x70, 0x4c, 0x58, 0x94, 0x80, - 0xbc, 0xa8, 0xc4, 0xd0, 0xec, 0xf8, 0xd3, 0xc7, 0xfb, 0xef, - 0x83, 0x97, 0xab, 0xbf, 0x73, 0x67, 0x5b, 0x4f, 0x23, 0x37, - 0x0b, 0x1f, 0x8e, 0x9a, 0xa6, 0xb2, 0xde, 0xca, 0xf6, 0xe2, - 0x2e, 0x3a, 0x06, 0x12, 0x7e, 0x6a, 0x56, 0x42, 0xd2, 0xc6, - 0xfa, 0xee, 0x82, 0x96, 0xaa, 0xbe, 0x72, 0x66, 0x5a, 0x4e, - 0x22, 0x36, 0x0a, 0x1e, 0x8f, 0x9b, 0xa7, 0xb3, 0xdf, 0xcb, - 0xf7, 0xe3, 0x2f, 0x3b, 0x07, 0x13, 0x7f, 0x6b, 0x57, 0x43, - 0x68, 0x7c, 0x40, 0x54, 0x38, 0x2c, 0x10, 0x04, 0xc8, 0xdc, - 0xe0, 0xf4, 0x98, 0x8c, 0xb0, 0xa4, 0x35, 0x21, 0x1d, 0x09, - 0x65, 0x71, 0x4d, 0x59, 0x95, 0x81, 0xbd, 0xa9, 0xc5, 0xd1, - 0xed, 0xf9, 0xbb, 0xaf, 0x93, 0x87, 0xeb, 0xff, 0xc3, 0xd7, - 0x1b, 0x0f, 0x33, 0x27, 0x4b, 0x5f, 0x63, 0x77, 0xe6, 0xf2, - 0xce, 0xda, 0xb6, 0xa2, 0x9e, 0x8a, 0x46, 0x52, 0x6e, 0x7a, - 0x16, 0x02, 0x3e, 0x2a, 0x01, 0x15, 0x29, 0x3d, 0x51, 0x45, - 0x79, 0x6d, 0xa1, 0xb5, 0x89, 0x9d, 0xf1, 0xe5, 0xd9, 0xcd, - 0x5c, 0x48, 0x74, 0x60, 0x0c, 0x18, 0x24, 0x30, 0xfc, 0xe8, - 0xd4, 0xc0, 0xac, 0xb8, 0x84, 0x90, 0x00, 0x15, 0x2a, 0x3f, - 0x54, 0x41, 0x7e, 0x6b, 0xa8, 0xbd, 0x82, 0x97, 0xfc, 0xe9, - 0xd6, 0xc3, 0x4d, 0x58, 0x67, 0x72, 0x19, 0x0c, 0x33, 0x26, - 0xe5, 0xf0, 0xcf, 0xda, 0xb1, 0xa4, 0x9b, 0x8e, 0x9a, 0x8f, - 0xb0, 0xa5, 0xce, 0xdb, 0xe4, 0xf1, 0x32, 0x27, 0x18, 0x0d, - 0x66, 0x73, 0x4c, 0x59, 0xd7, 0xc2, 0xfd, 0xe8, 0x83, 0x96, - 0xa9, 0xbc, 0x7f, 0x6a, 0x55, 0x40, 0x2b, 0x3e, 0x01, 0x14, - 0x29, 0x3c, 0x03, 0x16, 0x7d, 0x68, 0x57, 0x42, 0x81, 0x94, - 0xab, 0xbe, 0xd5, 0xc0, 0xff, 0xea, 0x64, 0x71, 0x4e, 0x5b, - 0x30, 0x25, 0x1a, 0x0f, 0xcc, 0xd9, 0xe6, 0xf3, 0x98, 0x8d, - 0xb2, 0xa7, 0xb3, 0xa6, 0x99, 0x8c, 0xe7, 0xf2, 0xcd, 0xd8, - 0x1b, 0x0e, 0x31, 0x24, 0x4f, 0x5a, 0x65, 0x70, 0xfe, 0xeb, - 0xd4, 0xc1, 0xaa, 0xbf, 0x80, 0x95, 0x56, 0x43, 0x7c, 0x69, - 0x02, 0x17, 0x28, 0x3d, 0x52, 0x47, 0x78, 0x6d, 0x06, 0x13, - 0x2c, 0x39, 0xfa, 0xef, 0xd0, 0xc5, 0xae, 0xbb, 0x84, 0x91, - 0x1f, 0x0a, 0x35, 0x20, 0x4b, 0x5e, 0x61, 0x74, 0xb7, 0xa2, - 0x9d, 0x88, 0xe3, 0xf6, 0xc9, 0xdc, 0xc8, 0xdd, 0xe2, 0xf7, - 0x9c, 0x89, 0xb6, 0xa3, 0x60, 0x75, 0x4a, 0x5f, 0x34, 0x21, - 0x1e, 0x0b, 0x85, 0x90, 0xaf, 0xba, 0xd1, 0xc4, 0xfb, 0xee, - 0x2d, 0x38, 0x07, 0x12, 0x79, 0x6c, 0x53, 0x46, 0x7b, 0x6e, - 0x51, 0x44, 0x2f, 0x3a, 0x05, 0x10, 0xd3, 0xc6, 0xf9, 0xec, - 0x87, 0x92, 0xad, 0xb8, 0x36, 0x23, 0x1c, 0x09, 0x62, 0x77, - 0x48, 0x5d, 0x9e, 0x8b, 0xb4, 0xa1, 0xca, 0xdf, 0xe0, 0xf5, - 0xe1, 0xf4, 0xcb, 0xde, 0xb5, 0xa0, 0x9f, 0x8a, 0x49, 0x5c, - 0x63, 0x76, 0x1d, 0x08, 0x37, 0x22, 0xac, 0xb9, 0x86, 0x93, - 0xf8, 0xed, 0xd2, 0xc7, 0x04, 0x11, 0x2e, 0x3b, 0x50, 0x45, - 0x7a, 0x6f, 0x00, 0x16, 0x2c, 0x3a, 0x58, 0x4e, 0x74, 0x62, - 0xb0, 0xa6, 0x9c, 0x8a, 0xe8, 0xfe, 0xc4, 0xd2, 0x7d, 0x6b, - 0x51, 0x47, 0x25, 0x33, 0x09, 0x1f, 0xcd, 0xdb, 0xe1, 0xf7, - 0x95, 0x83, 0xb9, 0xaf, 0xfa, 0xec, 0xd6, 0xc0, 0xa2, 0xb4, - 0x8e, 0x98, 0x4a, 0x5c, 0x66, 0x70, 0x12, 0x04, 0x3e, 0x28, - 0x87, 0x91, 0xab, 0xbd, 0xdf, 0xc9, 0xf3, 0xe5, 0x37, 0x21, - 0x1b, 0x0d, 0x6f, 0x79, 0x43, 0x55, 0xe9, 0xff, 0xc5, 0xd3, - 0xb1, 0xa7, 0x9d, 0x8b, 0x59, 0x4f, 0x75, 0x63, 0x01, 0x17, - 0x2d, 0x3b, 0x94, 0x82, 0xb8, 0xae, 0xcc, 0xda, 0xe0, 0xf6, - 0x24, 0x32, 0x08, 0x1e, 0x7c, 0x6a, 0x50, 0x46, 0x13, 0x05, - 0x3f, 0x29, 0x4b, 0x5d, 0x67, 0x71, 0xa3, 0xb5, 0x8f, 0x99, - 0xfb, 0xed, 0xd7, 0xc1, 0x6e, 0x78, 0x42, 0x54, 0x36, 0x20, - 0x1a, 0x0c, 0xde, 0xc8, 0xf2, 0xe4, 0x86, 0x90, 0xaa, 0xbc, - 0xcf, 0xd9, 0xe3, 0xf5, 0x97, 0x81, 0xbb, 0xad, 0x7f, 0x69, - 0x53, 0x45, 0x27, 0x31, 0x0b, 0x1d, 0xb2, 0xa4, 0x9e, 0x88, - 0xea, 0xfc, 0xc6, 0xd0, 0x02, 0x14, 0x2e, 0x38, 0x5a, 0x4c, - 0x76, 0x60, 0x35, 0x23, 0x19, 0x0f, 0x6d, 0x7b, 0x41, 0x57, - 0x85, 0x93, 0xa9, 0xbf, 0xdd, 0xcb, 0xf1, 0xe7, 0x48, 0x5e, - 0x64, 0x72, 0x10, 0x06, 0x3c, 0x2a, 0xf8, 0xee, 0xd4, 0xc2, - 0xa0, 0xb6, 0x8c, 0x9a, 0x26, 0x30, 0x0a, 0x1c, 0x7e, 0x68, - 0x52, 0x44, 0x96, 0x80, 0xba, 0xac, 0xce, 0xd8, 0xe2, 0xf4, - 0x5b, 0x4d, 0x77, 0x61, 0x03, 0x15, 0x2f, 0x39, 0xeb, 0xfd, - 0xc7, 0xd1, 0xb3, 0xa5, 0x9f, 0x89, 0xdc, 0xca, 0xf0, 0xe6, - 0x84, 0x92, 0xa8, 0xbe, 0x6c, 0x7a, 0x40, 0x56, 0x34, 0x22, - 0x18, 0x0e, 0xa1, 0xb7, 0x8d, 0x9b, 0xf9, 0xef, 0xd5, 0xc3, - 0x11, 0x07, 0x3d, 0x2b, 0x49, 0x5f, 0x65, 0x73, 0x00, 0x17, - 0x2e, 0x39, 0x5c, 0x4b, 0x72, 0x65, 0xb8, 0xaf, 0x96, 0x81, - 0xe4, 0xf3, 0xca, 0xdd, 0x6d, 0x7a, 0x43, 0x54, 0x31, 0x26, - 0x1f, 0x08, 0xd5, 0xc2, 0xfb, 0xec, 0x89, 0x9e, 0xa7, 0xb0, - 0xda, 0xcd, 0xf4, 0xe3, 0x86, 0x91, 0xa8, 0xbf, 0x62, 0x75, - 0x4c, 0x5b, 0x3e, 0x29, 0x10, 0x07, 0xb7, 0xa0, 0x99, 0x8e, - 0xeb, 0xfc, 0xc5, 0xd2, 0x0f, 0x18, 0x21, 0x36, 0x53, 0x44, - 0x7d, 0x6a, 0xa9, 0xbe, 0x87, 0x90, 0xf5, 0xe2, 0xdb, 0xcc, - 0x11, 0x06, 0x3f, 0x28, 0x4d, 0x5a, 0x63, 0x74, 0xc4, 0xd3, - 0xea, 0xfd, 0x98, 0x8f, 0xb6, 0xa1, 0x7c, 0x6b, 0x52, 0x45, - 0x20, 0x37, 0x0e, 0x19, 0x73, 0x64, 0x5d, 0x4a, 0x2f, 0x38, - 0x01, 0x16, 0xcb, 0xdc, 0xe5, 0xf2, 0x97, 0x80, 0xb9, 0xae, - 0x1e, 0x09, 0x30, 0x27, 0x42, 0x55, 0x6c, 0x7b, 0xa6, 0xb1, - 0x88, 0x9f, 0xfa, 0xed, 0xd4, 0xc3, 0x4f, 0x58, 0x61, 0x76, - 0x13, 0x04, 0x3d, 0x2a, 0xf7, 0xe0, 0xd9, 0xce, 0xab, 0xbc, - 0x85, 0x92, 0x22, 0x35, 0x0c, 0x1b, 0x7e, 0x69, 0x50, 0x47, - 0x9a, 0x8d, 0xb4, 0xa3, 0xc6, 0xd1, 0xe8, 0xff, 0x95, 0x82, - 0xbb, 0xac, 0xc9, 0xde, 0xe7, 0xf0, 0x2d, 0x3a, 0x03, 0x14, - 0x71, 0x66, 0x5f, 0x48, 0xf8, 0xef, 0xd6, 0xc1, 0xa4, 0xb3, - 0x8a, 0x9d, 0x40, 0x57, 0x6e, 0x79, 0x1c, 0x0b, 0x32, 0x25, - 0xe6, 0xf1, 0xc8, 0xdf, 0xba, 0xad, 0x94, 0x83, 0x5e, 0x49, - 0x70, 0x67, 0x02, 0x15, 0x2c, 0x3b, 0x8b, 0x9c, 0xa5, 0xb2, - 0xd7, 0xc0, 0xf9, 0xee, 0x33, 0x24, 0x1d, 0x0a, 0x6f, 0x78, - 0x41, 0x56, 0x3c, 0x2b, 0x12, 0x05, 0x60, 0x77, 0x4e, 0x59, - 0x84, 0x93, 0xaa, 0xbd, 0xd8, 0xcf, 0xf6, 0xe1, 0x51, 0x46, - 0x7f, 0x68, 0x0d, 0x1a, 0x23, 0x34, 0xe9, 0xfe, 0xc7, 0xd0, - 0xb5, 0xa2, 0x9b, 0x8c, 0x00, 0x18, 0x30, 0x28, 0x60, 0x78, - 0x50, 0x48, 0xc0, 0xd8, 0xf0, 0xe8, 0xa0, 0xb8, 0x90, 0x88, - 0x9d, 0x85, 0xad, 0xb5, 0xfd, 0xe5, 0xcd, 0xd5, 0x5d, 0x45, - 0x6d, 0x75, 0x3d, 0x25, 0x0d, 0x15, 0x27, 0x3f, 0x17, 0x0f, - 0x47, 0x5f, 0x77, 0x6f, 0xe7, 0xff, 0xd7, 0xcf, 0x87, 0x9f, - 0xb7, 0xaf, 0xba, 0xa2, 0x8a, 0x92, 0xda, 0xc2, 0xea, 0xf2, - 0x7a, 0x62, 0x4a, 0x52, 0x1a, 0x02, 0x2a, 0x32, 0x4e, 0x56, - 0x7e, 0x66, 0x2e, 0x36, 0x1e, 0x06, 0x8e, 0x96, 0xbe, 0xa6, - 0xee, 0xf6, 0xde, 0xc6, 0xd3, 0xcb, 0xe3, 0xfb, 0xb3, 0xab, - 0x83, 0x9b, 0x13, 0x0b, 0x23, 0x3b, 0x73, 0x6b, 0x43, 0x5b, - 0x69, 0x71, 0x59, 0x41, 0x09, 0x11, 0x39, 0x21, 0xa9, 0xb1, - 0x99, 0x81, 0xc9, 0xd1, 0xf9, 0xe1, 0xf4, 0xec, 0xc4, 0xdc, - 0x94, 0x8c, 0xa4, 0xbc, 0x34, 0x2c, 0x04, 0x1c, 0x54, 0x4c, - 0x64, 0x7c, 0x9c, 0x84, 0xac, 0xb4, 0xfc, 0xe4, 0xcc, 0xd4, - 0x5c, 0x44, 0x6c, 0x74, 0x3c, 0x24, 0x0c, 0x14, 0x01, 0x19, - 0x31, 0x29, 0x61, 0x79, 0x51, 0x49, 0xc1, 0xd9, 0xf1, 0xe9, - 0xa1, 0xb9, 0x91, 0x89, 0xbb, 0xa3, 0x8b, 0x93, 0xdb, 0xc3, - 0xeb, 0xf3, 0x7b, 0x63, 0x4b, 0x53, 0x1b, 0x03, 0x2b, 0x33, - 0x26, 0x3e, 0x16, 0x0e, 0x46, 0x5e, 0x76, 0x6e, 0xe6, 0xfe, - 0xd6, 0xce, 0x86, 0x9e, 0xb6, 0xae, 0xd2, 0xca, 0xe2, 0xfa, - 0xb2, 0xaa, 0x82, 0x9a, 0x12, 0x0a, 0x22, 0x3a, 0x72, 0x6a, - 0x42, 0x5a, 0x4f, 0x57, 0x7f, 0x67, 0x2f, 0x37, 0x1f, 0x07, - 0x8f, 0x97, 0xbf, 0xa7, 0xef, 0xf7, 0xdf, 0xc7, 0xf5, 0xed, - 0xc5, 0xdd, 0x95, 0x8d, 0xa5, 0xbd, 0x35, 0x2d, 0x05, 0x1d, - 0x55, 0x4d, 0x65, 0x7d, 0x68, 0x70, 0x58, 0x40, 0x08, 0x10, - 0x38, 0x20, 0xa8, 0xb0, 0x98, 0x80, 0xc8, 0xd0, 0xf8, 0xe0, - 0x00, 0x19, 0x32, 0x2b, 0x64, 0x7d, 0x56, 0x4f, 0xc8, 0xd1, - 0xfa, 0xe3, 0xac, 0xb5, 0x9e, 0x87, 0x8d, 0x94, 0xbf, 0xa6, - 0xe9, 0xf0, 0xdb, 0xc2, 0x45, 0x5c, 0x77, 0x6e, 0x21, 0x38, - 0x13, 0x0a, 0x07, 0x1e, 0x35, 0x2c, 0x63, 0x7a, 0x51, 0x48, - 0xcf, 0xd6, 0xfd, 0xe4, 0xab, 0xb2, 0x99, 0x80, 0x8a, 0x93, - 0xb8, 0xa1, 0xee, 0xf7, 0xdc, 0xc5, 0x42, 0x5b, 0x70, 0x69, - 0x26, 0x3f, 0x14, 0x0d, 0x0e, 0x17, 0x3c, 0x25, 0x6a, 0x73, - 0x58, 0x41, 0xc6, 0xdf, 0xf4, 0xed, 0xa2, 0xbb, 0x90, 0x89, - 0x83, 0x9a, 0xb1, 0xa8, 0xe7, 0xfe, 0xd5, 0xcc, 0x4b, 0x52, - 0x79, 0x60, 0x2f, 0x36, 0x1d, 0x04, 0x09, 0x10, 0x3b, 0x22, - 0x6d, 0x74, 0x5f, 0x46, 0xc1, 0xd8, 0xf3, 0xea, 0xa5, 0xbc, - 0x97, 0x8e, 0x84, 0x9d, 0xb6, 0xaf, 0xe0, 0xf9, 0xd2, 0xcb, - 0x4c, 0x55, 0x7e, 0x67, 0x28, 0x31, 0x1a, 0x03, 0x1c, 0x05, - 0x2e, 0x37, 0x78, 0x61, 0x4a, 0x53, 0xd4, 0xcd, 0xe6, 0xff, - 0xb0, 0xa9, 0x82, 0x9b, 0x91, 0x88, 0xa3, 0xba, 0xf5, 0xec, - 0xc7, 0xde, 0x59, 0x40, 0x6b, 0x72, 0x3d, 0x24, 0x0f, 0x16, - 0x1b, 0x02, 0x29, 0x30, 0x7f, 0x66, 0x4d, 0x54, 0xd3, 0xca, - 0xe1, 0xf8, 0xb7, 0xae, 0x85, 0x9c, 0x96, 0x8f, 0xa4, 0xbd, - 0xf2, 0xeb, 0xc0, 0xd9, 0x5e, 0x47, 0x6c, 0x75, 0x3a, 0x23, - 0x08, 0x11, 0x12, 0x0b, 0x20, 0x39, 0x76, 0x6f, 0x44, 0x5d, - 0xda, 0xc3, 0xe8, 0xf1, 0xbe, 0xa7, 0x8c, 0x95, 0x9f, 0x86, - 0xad, 0xb4, 0xfb, 0xe2, 0xc9, 0xd0, 0x57, 0x4e, 0x65, 0x7c, - 0x33, 0x2a, 0x01, 0x18, 0x15, 0x0c, 0x27, 0x3e, 0x71, 0x68, - 0x43, 0x5a, 0xdd, 0xc4, 0xef, 0xf6, 0xb9, 0xa0, 0x8b, 0x92, - 0x98, 0x81, 0xaa, 0xb3, 0xfc, 0xe5, 0xce, 0xd7, 0x50, 0x49, - 0x62, 0x7b, 0x34, 0x2d, 0x06, 0x1f, 0x00, 0x1a, 0x34, 0x2e, - 0x68, 0x72, 0x5c, 0x46, 0xd0, 0xca, 0xe4, 0xfe, 0xb8, 0xa2, - 0x8c, 0x96, 0xbd, 0xa7, 0x89, 0x93, 0xd5, 0xcf, 0xe1, 0xfb, - 0x6d, 0x77, 0x59, 0x43, 0x05, 0x1f, 0x31, 0x2b, 0x67, 0x7d, - 0x53, 0x49, 0x0f, 0x15, 0x3b, 0x21, 0xb7, 0xad, 0x83, 0x99, - 0xdf, 0xc5, 0xeb, 0xf1, 0xda, 0xc0, 0xee, 0xf4, 0xb2, 0xa8, - 0x86, 0x9c, 0x0a, 0x10, 0x3e, 0x24, 0x62, 0x78, 0x56, 0x4c, - 0xce, 0xd4, 0xfa, 0xe0, 0xa6, 0xbc, 0x92, 0x88, 0x1e, 0x04, - 0x2a, 0x30, 0x76, 0x6c, 0x42, 0x58, 0x73, 0x69, 0x47, 0x5d, - 0x1b, 0x01, 0x2f, 0x35, 0xa3, 0xb9, 0x97, 0x8d, 0xcb, 0xd1, - 0xff, 0xe5, 0xa9, 0xb3, 0x9d, 0x87, 0xc1, 0xdb, 0xf5, 0xef, - 0x79, 0x63, 0x4d, 0x57, 0x11, 0x0b, 0x25, 0x3f, 0x14, 0x0e, - 0x20, 0x3a, 0x7c, 0x66, 0x48, 0x52, 0xc4, 0xde, 0xf0, 0xea, - 0xac, 0xb6, 0x98, 0x82, 0x81, 0x9b, 0xb5, 0xaf, 0xe9, 0xf3, - 0xdd, 0xc7, 0x51, 0x4b, 0x65, 0x7f, 0x39, 0x23, 0x0d, 0x17, - 0x3c, 0x26, 0x08, 0x12, 0x54, 0x4e, 0x60, 0x7a, 0xec, 0xf6, - 0xd8, 0xc2, 0x84, 0x9e, 0xb0, 0xaa, 0xe6, 0xfc, 0xd2, 0xc8, - 0x8e, 0x94, 0xba, 0xa0, 0x36, 0x2c, 0x02, 0x18, 0x5e, 0x44, - 0x6a, 0x70, 0x5b, 0x41, 0x6f, 0x75, 0x33, 0x29, 0x07, 0x1d, - 0x8b, 0x91, 0xbf, 0xa5, 0xe3, 0xf9, 0xd7, 0xcd, 0x4f, 0x55, - 0x7b, 0x61, 0x27, 0x3d, 0x13, 0x09, 0x9f, 0x85, 0xab, 0xb1, - 0xf7, 0xed, 0xc3, 0xd9, 0xf2, 0xe8, 0xc6, 0xdc, 0x9a, 0x80, - 0xae, 0xb4, 0x22, 0x38, 0x16, 0x0c, 0x4a, 0x50, 0x7e, 0x64, - 0x28, 0x32, 0x1c, 0x06, 0x40, 0x5a, 0x74, 0x6e, 0xf8, 0xe2, - 0xcc, 0xd6, 0x90, 0x8a, 0xa4, 0xbe, 0x95, 0x8f, 0xa1, 0xbb, - 0xfd, 0xe7, 0xc9, 0xd3, 0x45, 0x5f, 0x71, 0x6b, 0x2d, 0x37, - 0x19, 0x03, 0x00, 0x1b, 0x36, 0x2d, 0x6c, 0x77, 0x5a, 0x41, - 0xd8, 0xc3, 0xee, 0xf5, 0xb4, 0xaf, 0x82, 0x99, 0xad, 0xb6, - 0x9b, 0x80, 0xc1, 0xda, 0xf7, 0xec, 0x75, 0x6e, 0x43, 0x58, - 0x19, 0x02, 0x2f, 0x34, 0x47, 0x5c, 0x71, 0x6a, 0x2b, 0x30, - 0x1d, 0x06, 0x9f, 0x84, 0xa9, 0xb2, 0xf3, 0xe8, 0xc5, 0xde, - 0xea, 0xf1, 0xdc, 0xc7, 0x86, 0x9d, 0xb0, 0xab, 0x32, 0x29, - 0x04, 0x1f, 0x5e, 0x45, 0x68, 0x73, 0x8e, 0x95, 0xb8, 0xa3, - 0xe2, 0xf9, 0xd4, 0xcf, 0x56, 0x4d, 0x60, 0x7b, 0x3a, 0x21, - 0x0c, 0x17, 0x23, 0x38, 0x15, 0x0e, 0x4f, 0x54, 0x79, 0x62, - 0xfb, 0xe0, 0xcd, 0xd6, 0x97, 0x8c, 0xa1, 0xba, 0xc9, 0xd2, - 0xff, 0xe4, 0xa5, 0xbe, 0x93, 0x88, 0x11, 0x0a, 0x27, 0x3c, - 0x7d, 0x66, 0x4b, 0x50, 0x64, 0x7f, 0x52, 0x49, 0x08, 0x13, - 0x3e, 0x25, 0xbc, 0xa7, 0x8a, 0x91, 0xd0, 0xcb, 0xe6, 0xfd, - 0x01, 0x1a, 0x37, 0x2c, 0x6d, 0x76, 0x5b, 0x40, 0xd9, 0xc2, - 0xef, 0xf4, 0xb5, 0xae, 0x83, 0x98, 0xac, 0xb7, 0x9a, 0x81, - 0xc0, 0xdb, 0xf6, 0xed, 0x74, 0x6f, 0x42, 0x59, 0x18, 0x03, - 0x2e, 0x35, 0x46, 0x5d, 0x70, 0x6b, 0x2a, 0x31, 0x1c, 0x07, - 0x9e, 0x85, 0xa8, 0xb3, 0xf2, 0xe9, 0xc4, 0xdf, 0xeb, 0xf0, - 0xdd, 0xc6, 0x87, 0x9c, 0xb1, 0xaa, 0x33, 0x28, 0x05, 0x1e, - 0x5f, 0x44, 0x69, 0x72, 0x8f, 0x94, 0xb9, 0xa2, 0xe3, 0xf8, - 0xd5, 0xce, 0x57, 0x4c, 0x61, 0x7a, 0x3b, 0x20, 0x0d, 0x16, - 0x22, 0x39, 0x14, 0x0f, 0x4e, 0x55, 0x78, 0x63, 0xfa, 0xe1, - 0xcc, 0xd7, 0x96, 0x8d, 0xa0, 0xbb, 0xc8, 0xd3, 0xfe, 0xe5, - 0xa4, 0xbf, 0x92, 0x89, 0x10, 0x0b, 0x26, 0x3d, 0x7c, 0x67, - 0x4a, 0x51, 0x65, 0x7e, 0x53, 0x48, 0x09, 0x12, 0x3f, 0x24, - 0xbd, 0xa6, 0x8b, 0x90, 0xd1, 0xca, 0xe7, 0xfc, 0x00, 0x1c, - 0x38, 0x24, 0x70, 0x6c, 0x48, 0x54, 0xe0, 0xfc, 0xd8, 0xc4, - 0x90, 0x8c, 0xa8, 0xb4, 0xdd, 0xc1, 0xe5, 0xf9, 0xad, 0xb1, - 0x95, 0x89, 0x3d, 0x21, 0x05, 0x19, 0x4d, 0x51, 0x75, 0x69, - 0xa7, 0xbb, 0x9f, 0x83, 0xd7, 0xcb, 0xef, 0xf3, 0x47, 0x5b, - 0x7f, 0x63, 0x37, 0x2b, 0x0f, 0x13, 0x7a, 0x66, 0x42, 0x5e, - 0x0a, 0x16, 0x32, 0x2e, 0x9a, 0x86, 0xa2, 0xbe, 0xea, 0xf6, - 0xd2, 0xce, 0x53, 0x4f, 0x6b, 0x77, 0x23, 0x3f, 0x1b, 0x07, - 0xb3, 0xaf, 0x8b, 0x97, 0xc3, 0xdf, 0xfb, 0xe7, 0x8e, 0x92, - 0xb6, 0xaa, 0xfe, 0xe2, 0xc6, 0xda, 0x6e, 0x72, 0x56, 0x4a, - 0x1e, 0x02, 0x26, 0x3a, 0xf4, 0xe8, 0xcc, 0xd0, 0x84, 0x98, - 0xbc, 0xa0, 0x14, 0x08, 0x2c, 0x30, 0x64, 0x78, 0x5c, 0x40, - 0x29, 0x35, 0x11, 0x0d, 0x59, 0x45, 0x61, 0x7d, 0xc9, 0xd5, - 0xf1, 0xed, 0xb9, 0xa5, 0x81, 0x9d, 0xa6, 0xba, 0x9e, 0x82, - 0xd6, 0xca, 0xee, 0xf2, 0x46, 0x5a, 0x7e, 0x62, 0x36, 0x2a, - 0x0e, 0x12, 0x7b, 0x67, 0x43, 0x5f, 0x0b, 0x17, 0x33, 0x2f, - 0x9b, 0x87, 0xa3, 0xbf, 0xeb, 0xf7, 0xd3, 0xcf, 0x01, 0x1d, - 0x39, 0x25, 0x71, 0x6d, 0x49, 0x55, 0xe1, 0xfd, 0xd9, 0xc5, - 0x91, 0x8d, 0xa9, 0xb5, 0xdc, 0xc0, 0xe4, 0xf8, 0xac, 0xb0, - 0x94, 0x88, 0x3c, 0x20, 0x04, 0x18, 0x4c, 0x50, 0x74, 0x68, - 0xf5, 0xe9, 0xcd, 0xd1, 0x85, 0x99, 0xbd, 0xa1, 0x15, 0x09, - 0x2d, 0x31, 0x65, 0x79, 0x5d, 0x41, 0x28, 0x34, 0x10, 0x0c, - 0x58, 0x44, 0x60, 0x7c, 0xc8, 0xd4, 0xf0, 0xec, 0xb8, 0xa4, - 0x80, 0x9c, 0x52, 0x4e, 0x6a, 0x76, 0x22, 0x3e, 0x1a, 0x06, - 0xb2, 0xae, 0x8a, 0x96, 0xc2, 0xde, 0xfa, 0xe6, 0x8f, 0x93, - 0xb7, 0xab, 0xff, 0xe3, 0xc7, 0xdb, 0x6f, 0x73, 0x57, 0x4b, - 0x1f, 0x03, 0x27, 0x3b, 0x00, 0x1d, 0x3a, 0x27, 0x74, 0x69, - 0x4e, 0x53, 0xe8, 0xf5, 0xd2, 0xcf, 0x9c, 0x81, 0xa6, 0xbb, - 0xcd, 0xd0, 0xf7, 0xea, 0xb9, 0xa4, 0x83, 0x9e, 0x25, 0x38, - 0x1f, 0x02, 0x51, 0x4c, 0x6b, 0x76, 0x87, 0x9a, 0xbd, 0xa0, - 0xf3, 0xee, 0xc9, 0xd4, 0x6f, 0x72, 0x55, 0x48, 0x1b, 0x06, - 0x21, 0x3c, 0x4a, 0x57, 0x70, 0x6d, 0x3e, 0x23, 0x04, 0x19, - 0xa2, 0xbf, 0x98, 0x85, 0xd6, 0xcb, 0xec, 0xf1, 0x13, 0x0e, - 0x29, 0x34, 0x67, 0x7a, 0x5d, 0x40, 0xfb, 0xe6, 0xc1, 0xdc, - 0x8f, 0x92, 0xb5, 0xa8, 0xde, 0xc3, 0xe4, 0xf9, 0xaa, 0xb7, - 0x90, 0x8d, 0x36, 0x2b, 0x0c, 0x11, 0x42, 0x5f, 0x78, 0x65, - 0x94, 0x89, 0xae, 0xb3, 0xe0, 0xfd, 0xda, 0xc7, 0x7c, 0x61, - 0x46, 0x5b, 0x08, 0x15, 0x32, 0x2f, 0x59, 0x44, 0x63, 0x7e, - 0x2d, 0x30, 0x17, 0x0a, 0xb1, 0xac, 0x8b, 0x96, 0xc5, 0xd8, - 0xff, 0xe2, 0x26, 0x3b, 0x1c, 0x01, 0x52, 0x4f, 0x68, 0x75, - 0xce, 0xd3, 0xf4, 0xe9, 0xba, 0xa7, 0x80, 0x9d, 0xeb, 0xf6, - 0xd1, 0xcc, 0x9f, 0x82, 0xa5, 0xb8, 0x03, 0x1e, 0x39, 0x24, - 0x77, 0x6a, 0x4d, 0x50, 0xa1, 0xbc, 0x9b, 0x86, 0xd5, 0xc8, - 0xef, 0xf2, 0x49, 0x54, 0x73, 0x6e, 0x3d, 0x20, 0x07, 0x1a, - 0x6c, 0x71, 0x56, 0x4b, 0x18, 0x05, 0x22, 0x3f, 0x84, 0x99, - 0xbe, 0xa3, 0xf0, 0xed, 0xca, 0xd7, 0x35, 0x28, 0x0f, 0x12, - 0x41, 0x5c, 0x7b, 0x66, 0xdd, 0xc0, 0xe7, 0xfa, 0xa9, 0xb4, - 0x93, 0x8e, 0xf8, 0xe5, 0xc2, 0xdf, 0x8c, 0x91, 0xb6, 0xab, - 0x10, 0x0d, 0x2a, 0x37, 0x64, 0x79, 0x5e, 0x43, 0xb2, 0xaf, - 0x88, 0x95, 0xc6, 0xdb, 0xfc, 0xe1, 0x5a, 0x47, 0x60, 0x7d, - 0x2e, 0x33, 0x14, 0x09, 0x7f, 0x62, 0x45, 0x58, 0x0b, 0x16, - 0x31, 0x2c, 0x97, 0x8a, 0xad, 0xb0, 0xe3, 0xfe, 0xd9, 0xc4, - 0x00, 0x1e, 0x3c, 0x22, 0x78, 0x66, 0x44, 0x5a, 0xf0, 0xee, - 0xcc, 0xd2, 0x88, 0x96, 0xb4, 0xaa, 0xfd, 0xe3, 0xc1, 0xdf, - 0x85, 0x9b, 0xb9, 0xa7, 0x0d, 0x13, 0x31, 0x2f, 0x75, 0x6b, - 0x49, 0x57, 0xe7, 0xf9, 0xdb, 0xc5, 0x9f, 0x81, 0xa3, 0xbd, - 0x17, 0x09, 0x2b, 0x35, 0x6f, 0x71, 0x53, 0x4d, 0x1a, 0x04, - 0x26, 0x38, 0x62, 0x7c, 0x5e, 0x40, 0xea, 0xf4, 0xd6, 0xc8, - 0x92, 0x8c, 0xae, 0xb0, 0xd3, 0xcd, 0xef, 0xf1, 0xab, 0xb5, - 0x97, 0x89, 0x23, 0x3d, 0x1f, 0x01, 0x5b, 0x45, 0x67, 0x79, - 0x2e, 0x30, 0x12, 0x0c, 0x56, 0x48, 0x6a, 0x74, 0xde, 0xc0, - 0xe2, 0xfc, 0xa6, 0xb8, 0x9a, 0x84, 0x34, 0x2a, 0x08, 0x16, - 0x4c, 0x52, 0x70, 0x6e, 0xc4, 0xda, 0xf8, 0xe6, 0xbc, 0xa2, - 0x80, 0x9e, 0xc9, 0xd7, 0xf5, 0xeb, 0xb1, 0xaf, 0x8d, 0x93, - 0x39, 0x27, 0x05, 0x1b, 0x41, 0x5f, 0x7d, 0x63, 0xbb, 0xa5, - 0x87, 0x99, 0xc3, 0xdd, 0xff, 0xe1, 0x4b, 0x55, 0x77, 0x69, - 0x33, 0x2d, 0x0f, 0x11, 0x46, 0x58, 0x7a, 0x64, 0x3e, 0x20, - 0x02, 0x1c, 0xb6, 0xa8, 0x8a, 0x94, 0xce, 0xd0, 0xf2, 0xec, - 0x5c, 0x42, 0x60, 0x7e, 0x24, 0x3a, 0x18, 0x06, 0xac, 0xb2, - 0x90, 0x8e, 0xd4, 0xca, 0xe8, 0xf6, 0xa1, 0xbf, 0x9d, 0x83, - 0xd9, 0xc7, 0xe5, 0xfb, 0x51, 0x4f, 0x6d, 0x73, 0x29, 0x37, - 0x15, 0x0b, 0x68, 0x76, 0x54, 0x4a, 0x10, 0x0e, 0x2c, 0x32, - 0x98, 0x86, 0xa4, 0xba, 0xe0, 0xfe, 0xdc, 0xc2, 0x95, 0x8b, - 0xa9, 0xb7, 0xed, 0xf3, 0xd1, 0xcf, 0x65, 0x7b, 0x59, 0x47, - 0x1d, 0x03, 0x21, 0x3f, 0x8f, 0x91, 0xb3, 0xad, 0xf7, 0xe9, - 0xcb, 0xd5, 0x7f, 0x61, 0x43, 0x5d, 0x07, 0x19, 0x3b, 0x25, - 0x72, 0x6c, 0x4e, 0x50, 0x0a, 0x14, 0x36, 0x28, 0x82, 0x9c, - 0xbe, 0xa0, 0xfa, 0xe4, 0xc6, 0xd8, 0x00, 0x1f, 0x3e, 0x21, - 0x7c, 0x63, 0x42, 0x5d, 0xf8, 0xe7, 0xc6, 0xd9, 0x84, 0x9b, - 0xba, 0xa5, 0xed, 0xf2, 0xd3, 0xcc, 0x91, 0x8e, 0xaf, 0xb0, - 0x15, 0x0a, 0x2b, 0x34, 0x69, 0x76, 0x57, 0x48, 0xc7, 0xd8, - 0xf9, 0xe6, 0xbb, 0xa4, 0x85, 0x9a, 0x3f, 0x20, 0x01, 0x1e, - 0x43, 0x5c, 0x7d, 0x62, 0x2a, 0x35, 0x14, 0x0b, 0x56, 0x49, - 0x68, 0x77, 0xd2, 0xcd, 0xec, 0xf3, 0xae, 0xb1, 0x90, 0x8f, - 0x93, 0x8c, 0xad, 0xb2, 0xef, 0xf0, 0xd1, 0xce, 0x6b, 0x74, - 0x55, 0x4a, 0x17, 0x08, 0x29, 0x36, 0x7e, 0x61, 0x40, 0x5f, - 0x02, 0x1d, 0x3c, 0x23, 0x86, 0x99, 0xb8, 0xa7, 0xfa, 0xe5, - 0xc4, 0xdb, 0x54, 0x4b, 0x6a, 0x75, 0x28, 0x37, 0x16, 0x09, - 0xac, 0xb3, 0x92, 0x8d, 0xd0, 0xcf, 0xee, 0xf1, 0xb9, 0xa6, - 0x87, 0x98, 0xc5, 0xda, 0xfb, 0xe4, 0x41, 0x5e, 0x7f, 0x60, - 0x3d, 0x22, 0x03, 0x1c, 0x3b, 0x24, 0x05, 0x1a, 0x47, 0x58, - 0x79, 0x66, 0xc3, 0xdc, 0xfd, 0xe2, 0xbf, 0xa0, 0x81, 0x9e, - 0xd6, 0xc9, 0xe8, 0xf7, 0xaa, 0xb5, 0x94, 0x8b, 0x2e, 0x31, - 0x10, 0x0f, 0x52, 0x4d, 0x6c, 0x73, 0xfc, 0xe3, 0xc2, 0xdd, - 0x80, 0x9f, 0xbe, 0xa1, 0x04, 0x1b, 0x3a, 0x25, 0x78, 0x67, - 0x46, 0x59, 0x11, 0x0e, 0x2f, 0x30, 0x6d, 0x72, 0x53, 0x4c, - 0xe9, 0xf6, 0xd7, 0xc8, 0x95, 0x8a, 0xab, 0xb4, 0xa8, 0xb7, - 0x96, 0x89, 0xd4, 0xcb, 0xea, 0xf5, 0x50, 0x4f, 0x6e, 0x71, - 0x2c, 0x33, 0x12, 0x0d, 0x45, 0x5a, 0x7b, 0x64, 0x39, 0x26, - 0x07, 0x18, 0xbd, 0xa2, 0x83, 0x9c, 0xc1, 0xde, 0xff, 0xe0, - 0x6f, 0x70, 0x51, 0x4e, 0x13, 0x0c, 0x2d, 0x32, 0x97, 0x88, - 0xa9, 0xb6, 0xeb, 0xf4, 0xd5, 0xca, 0x82, 0x9d, 0xbc, 0xa3, - 0xfe, 0xe1, 0xc0, 0xdf, 0x7a, 0x65, 0x44, 0x5b, 0x06, 0x19, - 0x38, 0x27, 0x00, 0x20, 0x40, 0x60, 0x80, 0xa0, 0xc0, 0xe0, - 0x1d, 0x3d, 0x5d, 0x7d, 0x9d, 0xbd, 0xdd, 0xfd, 0x3a, 0x1a, - 0x7a, 0x5a, 0xba, 0x9a, 0xfa, 0xda, 0x27, 0x07, 0x67, 0x47, - 0xa7, 0x87, 0xe7, 0xc7, 0x74, 0x54, 0x34, 0x14, 0xf4, 0xd4, - 0xb4, 0x94, 0x69, 0x49, 0x29, 0x09, 0xe9, 0xc9, 0xa9, 0x89, - 0x4e, 0x6e, 0x0e, 0x2e, 0xce, 0xee, 0x8e, 0xae, 0x53, 0x73, - 0x13, 0x33, 0xd3, 0xf3, 0x93, 0xb3, 0xe8, 0xc8, 0xa8, 0x88, - 0x68, 0x48, 0x28, 0x08, 0xf5, 0xd5, 0xb5, 0x95, 0x75, 0x55, - 0x35, 0x15, 0xd2, 0xf2, 0x92, 0xb2, 0x52, 0x72, 0x12, 0x32, - 0xcf, 0xef, 0x8f, 0xaf, 0x4f, 0x6f, 0x0f, 0x2f, 0x9c, 0xbc, - 0xdc, 0xfc, 0x1c, 0x3c, 0x5c, 0x7c, 0x81, 0xa1, 0xc1, 0xe1, - 0x01, 0x21, 0x41, 0x61, 0xa6, 0x86, 0xe6, 0xc6, 0x26, 0x06, - 0x66, 0x46, 0xbb, 0x9b, 0xfb, 0xdb, 0x3b, 0x1b, 0x7b, 0x5b, - 0xcd, 0xed, 0x8d, 0xad, 0x4d, 0x6d, 0x0d, 0x2d, 0xd0, 0xf0, - 0x90, 0xb0, 0x50, 0x70, 0x10, 0x30, 0xf7, 0xd7, 0xb7, 0x97, - 0x77, 0x57, 0x37, 0x17, 0xea, 0xca, 0xaa, 0x8a, 0x6a, 0x4a, - 0x2a, 0x0a, 0xb9, 0x99, 0xf9, 0xd9, 0x39, 0x19, 0x79, 0x59, - 0xa4, 0x84, 0xe4, 0xc4, 0x24, 0x04, 0x64, 0x44, 0x83, 0xa3, - 0xc3, 0xe3, 0x03, 0x23, 0x43, 0x63, 0x9e, 0xbe, 0xde, 0xfe, - 0x1e, 0x3e, 0x5e, 0x7e, 0x25, 0x05, 0x65, 0x45, 0xa5, 0x85, - 0xe5, 0xc5, 0x38, 0x18, 0x78, 0x58, 0xb8, 0x98, 0xf8, 0xd8, - 0x1f, 0x3f, 0x5f, 0x7f, 0x9f, 0xbf, 0xdf, 0xff, 0x02, 0x22, - 0x42, 0x62, 0x82, 0xa2, 0xc2, 0xe2, 0x51, 0x71, 0x11, 0x31, - 0xd1, 0xf1, 0x91, 0xb1, 0x4c, 0x6c, 0x0c, 0x2c, 0xcc, 0xec, - 0x8c, 0xac, 0x6b, 0x4b, 0x2b, 0x0b, 0xeb, 0xcb, 0xab, 0x8b, - 0x76, 0x56, 0x36, 0x16, 0xf6, 0xd6, 0xb6, 0x96, 0x00, 0x21, - 0x42, 0x63, 0x84, 0xa5, 0xc6, 0xe7, 0x15, 0x34, 0x57, 0x76, - 0x91, 0xb0, 0xd3, 0xf2, 0x2a, 0x0b, 0x68, 0x49, 0xae, 0x8f, - 0xec, 0xcd, 0x3f, 0x1e, 0x7d, 0x5c, 0xbb, 0x9a, 0xf9, 0xd8, - 0x54, 0x75, 0x16, 0x37, 0xd0, 0xf1, 0x92, 0xb3, 0x41, 0x60, - 0x03, 0x22, 0xc5, 0xe4, 0x87, 0xa6, 0x7e, 0x5f, 0x3c, 0x1d, - 0xfa, 0xdb, 0xb8, 0x99, 0x6b, 0x4a, 0x29, 0x08, 0xef, 0xce, - 0xad, 0x8c, 0xa8, 0x89, 0xea, 0xcb, 0x2c, 0x0d, 0x6e, 0x4f, - 0xbd, 0x9c, 0xff, 0xde, 0x39, 0x18, 0x7b, 0x5a, 0x82, 0xa3, - 0xc0, 0xe1, 0x06, 0x27, 0x44, 0x65, 0x97, 0xb6, 0xd5, 0xf4, - 0x13, 0x32, 0x51, 0x70, 0xfc, 0xdd, 0xbe, 0x9f, 0x78, 0x59, - 0x3a, 0x1b, 0xe9, 0xc8, 0xab, 0x8a, 0x6d, 0x4c, 0x2f, 0x0e, - 0xd6, 0xf7, 0x94, 0xb5, 0x52, 0x73, 0x10, 0x31, 0xc3, 0xe2, - 0x81, 0xa0, 0x47, 0x66, 0x05, 0x24, 0x4d, 0x6c, 0x0f, 0x2e, - 0xc9, 0xe8, 0x8b, 0xaa, 0x58, 0x79, 0x1a, 0x3b, 0xdc, 0xfd, - 0x9e, 0xbf, 0x67, 0x46, 0x25, 0x04, 0xe3, 0xc2, 0xa1, 0x80, - 0x72, 0x53, 0x30, 0x11, 0xf6, 0xd7, 0xb4, 0x95, 0x19, 0x38, - 0x5b, 0x7a, 0x9d, 0xbc, 0xdf, 0xfe, 0x0c, 0x2d, 0x4e, 0x6f, - 0x88, 0xa9, 0xca, 0xeb, 0x33, 0x12, 0x71, 0x50, 0xb7, 0x96, - 0xf5, 0xd4, 0x26, 0x07, 0x64, 0x45, 0xa2, 0x83, 0xe0, 0xc1, - 0xe5, 0xc4, 0xa7, 0x86, 0x61, 0x40, 0x23, 0x02, 0xf0, 0xd1, - 0xb2, 0x93, 0x74, 0x55, 0x36, 0x17, 0xcf, 0xee, 0x8d, 0xac, - 0x4b, 0x6a, 0x09, 0x28, 0xda, 0xfb, 0x98, 0xb9, 0x5e, 0x7f, - 0x1c, 0x3d, 0xb1, 0x90, 0xf3, 0xd2, 0x35, 0x14, 0x77, 0x56, - 0xa4, 0x85, 0xe6, 0xc7, 0x20, 0x01, 0x62, 0x43, 0x9b, 0xba, - 0xd9, 0xf8, 0x1f, 0x3e, 0x5d, 0x7c, 0x8e, 0xaf, 0xcc, 0xed, - 0x0a, 0x2b, 0x48, 0x69, 0x00, 0x22, 0x44, 0x66, 0x88, 0xaa, - 0xcc, 0xee, 0x0d, 0x2f, 0x49, 0x6b, 0x85, 0xa7, 0xc1, 0xe3, - 0x1a, 0x38, 0x5e, 0x7c, 0x92, 0xb0, 0xd6, 0xf4, 0x17, 0x35, - 0x53, 0x71, 0x9f, 0xbd, 0xdb, 0xf9, 0x34, 0x16, 0x70, 0x52, - 0xbc, 0x9e, 0xf8, 0xda, 0x39, 0x1b, 0x7d, 0x5f, 0xb1, 0x93, - 0xf5, 0xd7, 0x2e, 0x0c, 0x6a, 0x48, 0xa6, 0x84, 0xe2, 0xc0, - 0x23, 0x01, 0x67, 0x45, 0xab, 0x89, 0xef, 0xcd, 0x68, 0x4a, - 0x2c, 0x0e, 0xe0, 0xc2, 0xa4, 0x86, 0x65, 0x47, 0x21, 0x03, - 0xed, 0xcf, 0xa9, 0x8b, 0x72, 0x50, 0x36, 0x14, 0xfa, 0xd8, - 0xbe, 0x9c, 0x7f, 0x5d, 0x3b, 0x19, 0xf7, 0xd5, 0xb3, 0x91, - 0x5c, 0x7e, 0x18, 0x3a, 0xd4, 0xf6, 0x90, 0xb2, 0x51, 0x73, - 0x15, 0x37, 0xd9, 0xfb, 0x9d, 0xbf, 0x46, 0x64, 0x02, 0x20, - 0xce, 0xec, 0x8a, 0xa8, 0x4b, 0x69, 0x0f, 0x2d, 0xc3, 0xe1, - 0x87, 0xa5, 0xd0, 0xf2, 0x94, 0xb6, 0x58, 0x7a, 0x1c, 0x3e, - 0xdd, 0xff, 0x99, 0xbb, 0x55, 0x77, 0x11, 0x33, 0xca, 0xe8, - 0x8e, 0xac, 0x42, 0x60, 0x06, 0x24, 0xc7, 0xe5, 0x83, 0xa1, - 0x4f, 0x6d, 0x0b, 0x29, 0xe4, 0xc6, 0xa0, 0x82, 0x6c, 0x4e, - 0x28, 0x0a, 0xe9, 0xcb, 0xad, 0x8f, 0x61, 0x43, 0x25, 0x07, - 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10, 0xf3, 0xd1, - 0xb7, 0x95, 0x7b, 0x59, 0x3f, 0x1d, 0xb8, 0x9a, 0xfc, 0xde, - 0x30, 0x12, 0x74, 0x56, 0xb5, 0x97, 0xf1, 0xd3, 0x3d, 0x1f, - 0x79, 0x5b, 0xa2, 0x80, 0xe6, 0xc4, 0x2a, 0x08, 0x6e, 0x4c, - 0xaf, 0x8d, 0xeb, 0xc9, 0x27, 0x05, 0x63, 0x41, 0x8c, 0xae, - 0xc8, 0xea, 0x04, 0x26, 0x40, 0x62, 0x81, 0xa3, 0xc5, 0xe7, - 0x09, 0x2b, 0x4d, 0x6f, 0x96, 0xb4, 0xd2, 0xf0, 0x1e, 0x3c, - 0x5a, 0x78, 0x9b, 0xb9, 0xdf, 0xfd, 0x13, 0x31, 0x57, 0x75, - 0x00, 0x23, 0x46, 0x65, 0x8c, 0xaf, 0xca, 0xe9, 0x05, 0x26, - 0x43, 0x60, 0x89, 0xaa, 0xcf, 0xec, 0x0a, 0x29, 0x4c, 0x6f, - 0x86, 0xa5, 0xc0, 0xe3, 0x0f, 0x2c, 0x49, 0x6a, 0x83, 0xa0, - 0xc5, 0xe6, 0x14, 0x37, 0x52, 0x71, 0x98, 0xbb, 0xde, 0xfd, - 0x11, 0x32, 0x57, 0x74, 0x9d, 0xbe, 0xdb, 0xf8, 0x1e, 0x3d, - 0x58, 0x7b, 0x92, 0xb1, 0xd4, 0xf7, 0x1b, 0x38, 0x5d, 0x7e, - 0x97, 0xb4, 0xd1, 0xf2, 0x28, 0x0b, 0x6e, 0x4d, 0xa4, 0x87, - 0xe2, 0xc1, 0x2d, 0x0e, 0x6b, 0x48, 0xa1, 0x82, 0xe7, 0xc4, - 0x22, 0x01, 0x64, 0x47, 0xae, 0x8d, 0xe8, 0xcb, 0x27, 0x04, - 0x61, 0x42, 0xab, 0x88, 0xed, 0xce, 0x3c, 0x1f, 0x7a, 0x59, - 0xb0, 0x93, 0xf6, 0xd5, 0x39, 0x1a, 0x7f, 0x5c, 0xb5, 0x96, - 0xf3, 0xd0, 0x36, 0x15, 0x70, 0x53, 0xba, 0x99, 0xfc, 0xdf, - 0x33, 0x10, 0x75, 0x56, 0xbf, 0x9c, 0xf9, 0xda, 0x50, 0x73, - 0x16, 0x35, 0xdc, 0xff, 0x9a, 0xb9, 0x55, 0x76, 0x13, 0x30, - 0xd9, 0xfa, 0x9f, 0xbc, 0x5a, 0x79, 0x1c, 0x3f, 0xd6, 0xf5, - 0x90, 0xb3, 0x5f, 0x7c, 0x19, 0x3a, 0xd3, 0xf0, 0x95, 0xb6, - 0x44, 0x67, 0x02, 0x21, 0xc8, 0xeb, 0x8e, 0xad, 0x41, 0x62, - 0x07, 0x24, 0xcd, 0xee, 0x8b, 0xa8, 0x4e, 0x6d, 0x08, 0x2b, - 0xc2, 0xe1, 0x84, 0xa7, 0x4b, 0x68, 0x0d, 0x2e, 0xc7, 0xe4, - 0x81, 0xa2, 0x78, 0x5b, 0x3e, 0x1d, 0xf4, 0xd7, 0xb2, 0x91, - 0x7d, 0x5e, 0x3b, 0x18, 0xf1, 0xd2, 0xb7, 0x94, 0x72, 0x51, - 0x34, 0x17, 0xfe, 0xdd, 0xb8, 0x9b, 0x77, 0x54, 0x31, 0x12, - 0xfb, 0xd8, 0xbd, 0x9e, 0x6c, 0x4f, 0x2a, 0x09, 0xe0, 0xc3, - 0xa6, 0x85, 0x69, 0x4a, 0x2f, 0x0c, 0xe5, 0xc6, 0xa3, 0x80, - 0x66, 0x45, 0x20, 0x03, 0xea, 0xc9, 0xac, 0x8f, 0x63, 0x40, - 0x25, 0x06, 0xef, 0xcc, 0xa9, 0x8a, 0x00, 0x24, 0x48, 0x6c, - 0x90, 0xb4, 0xd8, 0xfc, 0x3d, 0x19, 0x75, 0x51, 0xad, 0x89, - 0xe5, 0xc1, 0x7a, 0x5e, 0x32, 0x16, 0xea, 0xce, 0xa2, 0x86, - 0x47, 0x63, 0x0f, 0x2b, 0xd7, 0xf3, 0x9f, 0xbb, 0xf4, 0xd0, - 0xbc, 0x98, 0x64, 0x40, 0x2c, 0x08, 0xc9, 0xed, 0x81, 0xa5, - 0x59, 0x7d, 0x11, 0x35, 0x8e, 0xaa, 0xc6, 0xe2, 0x1e, 0x3a, - 0x56, 0x72, 0xb3, 0x97, 0xfb, 0xdf, 0x23, 0x07, 0x6b, 0x4f, - 0xf5, 0xd1, 0xbd, 0x99, 0x65, 0x41, 0x2d, 0x09, 0xc8, 0xec, - 0x80, 0xa4, 0x58, 0x7c, 0x10, 0x34, 0x8f, 0xab, 0xc7, 0xe3, - 0x1f, 0x3b, 0x57, 0x73, 0xb2, 0x96, 0xfa, 0xde, 0x22, 0x06, - 0x6a, 0x4e, 0x01, 0x25, 0x49, 0x6d, 0x91, 0xb5, 0xd9, 0xfd, - 0x3c, 0x18, 0x74, 0x50, 0xac, 0x88, 0xe4, 0xc0, 0x7b, 0x5f, - 0x33, 0x17, 0xeb, 0xcf, 0xa3, 0x87, 0x46, 0x62, 0x0e, 0x2a, - 0xd6, 0xf2, 0x9e, 0xba, 0xf7, 0xd3, 0xbf, 0x9b, 0x67, 0x43, - 0x2f, 0x0b, 0xca, 0xee, 0x82, 0xa6, 0x5a, 0x7e, 0x12, 0x36, - 0x8d, 0xa9, 0xc5, 0xe1, 0x1d, 0x39, 0x55, 0x71, 0xb0, 0x94, - 0xf8, 0xdc, 0x20, 0x04, 0x68, 0x4c, 0x03, 0x27, 0x4b, 0x6f, - 0x93, 0xb7, 0xdb, 0xff, 0x3e, 0x1a, 0x76, 0x52, 0xae, 0x8a, - 0xe6, 0xc2, 0x79, 0x5d, 0x31, 0x15, 0xe9, 0xcd, 0xa1, 0x85, - 0x44, 0x60, 0x0c, 0x28, 0xd4, 0xf0, 0x9c, 0xb8, 0x02, 0x26, - 0x4a, 0x6e, 0x92, 0xb6, 0xda, 0xfe, 0x3f, 0x1b, 0x77, 0x53, - 0xaf, 0x8b, 0xe7, 0xc3, 0x78, 0x5c, 0x30, 0x14, 0xe8, 0xcc, - 0xa0, 0x84, 0x45, 0x61, 0x0d, 0x29, 0xd5, 0xf1, 0x9d, 0xb9, - 0xf6, 0xd2, 0xbe, 0x9a, 0x66, 0x42, 0x2e, 0x0a, 0xcb, 0xef, - 0x83, 0xa7, 0x5b, 0x7f, 0x13, 0x37, 0x8c, 0xa8, 0xc4, 0xe0, - 0x1c, 0x38, 0x54, 0x70, 0xb1, 0x95, 0xf9, 0xdd, 0x21, 0x05, - 0x69, 0x4d, 0x00, 0x25, 0x4a, 0x6f, 0x94, 0xb1, 0xde, 0xfb, - 0x35, 0x10, 0x7f, 0x5a, 0xa1, 0x84, 0xeb, 0xce, 0x6a, 0x4f, - 0x20, 0x05, 0xfe, 0xdb, 0xb4, 0x91, 0x5f, 0x7a, 0x15, 0x30, - 0xcb, 0xee, 0x81, 0xa4, 0xd4, 0xf1, 0x9e, 0xbb, 0x40, 0x65, - 0x0a, 0x2f, 0xe1, 0xc4, 0xab, 0x8e, 0x75, 0x50, 0x3f, 0x1a, - 0xbe, 0x9b, 0xf4, 0xd1, 0x2a, 0x0f, 0x60, 0x45, 0x8b, 0xae, - 0xc1, 0xe4, 0x1f, 0x3a, 0x55, 0x70, 0xb5, 0x90, 0xff, 0xda, - 0x21, 0x04, 0x6b, 0x4e, 0x80, 0xa5, 0xca, 0xef, 0x14, 0x31, - 0x5e, 0x7b, 0xdf, 0xfa, 0x95, 0xb0, 0x4b, 0x6e, 0x01, 0x24, - 0xea, 0xcf, 0xa0, 0x85, 0x7e, 0x5b, 0x34, 0x11, 0x61, 0x44, - 0x2b, 0x0e, 0xf5, 0xd0, 0xbf, 0x9a, 0x54, 0x71, 0x1e, 0x3b, - 0xc0, 0xe5, 0x8a, 0xaf, 0x0b, 0x2e, 0x41, 0x64, 0x9f, 0xba, - 0xd5, 0xf0, 0x3e, 0x1b, 0x74, 0x51, 0xaa, 0x8f, 0xe0, 0xc5, - 0x77, 0x52, 0x3d, 0x18, 0xe3, 0xc6, 0xa9, 0x8c, 0x42, 0x67, - 0x08, 0x2d, 0xd6, 0xf3, 0x9c, 0xb9, 0x1d, 0x38, 0x57, 0x72, - 0x89, 0xac, 0xc3, 0xe6, 0x28, 0x0d, 0x62, 0x47, 0xbc, 0x99, - 0xf6, 0xd3, 0xa3, 0x86, 0xe9, 0xcc, 0x37, 0x12, 0x7d, 0x58, - 0x96, 0xb3, 0xdc, 0xf9, 0x02, 0x27, 0x48, 0x6d, 0xc9, 0xec, - 0x83, 0xa6, 0x5d, 0x78, 0x17, 0x32, 0xfc, 0xd9, 0xb6, 0x93, - 0x68, 0x4d, 0x22, 0x07, 0xc2, 0xe7, 0x88, 0xad, 0x56, 0x73, - 0x1c, 0x39, 0xf7, 0xd2, 0xbd, 0x98, 0x63, 0x46, 0x29, 0x0c, - 0xa8, 0x8d, 0xe2, 0xc7, 0x3c, 0x19, 0x76, 0x53, 0x9d, 0xb8, - 0xd7, 0xf2, 0x09, 0x2c, 0x43, 0x66, 0x16, 0x33, 0x5c, 0x79, - 0x82, 0xa7, 0xc8, 0xed, 0x23, 0x06, 0x69, 0x4c, 0xb7, 0x92, - 0xfd, 0xd8, 0x7c, 0x59, 0x36, 0x13, 0xe8, 0xcd, 0xa2, 0x87, - 0x49, 0x6c, 0x03, 0x26, 0xdd, 0xf8, 0x97, 0xb2, 0x00, 0x26, - 0x4c, 0x6a, 0x98, 0xbe, 0xd4, 0xf2, 0x2d, 0x0b, 0x61, 0x47, - 0xb5, 0x93, 0xf9, 0xdf, 0x5a, 0x7c, 0x16, 0x30, 0xc2, 0xe4, - 0x8e, 0xa8, 0x77, 0x51, 0x3b, 0x1d, 0xef, 0xc9, 0xa3, 0x85, - 0xb4, 0x92, 0xf8, 0xde, 0x2c, 0x0a, 0x60, 0x46, 0x99, 0xbf, - 0xd5, 0xf3, 0x01, 0x27, 0x4d, 0x6b, 0xee, 0xc8, 0xa2, 0x84, - 0x76, 0x50, 0x3a, 0x1c, 0xc3, 0xe5, 0x8f, 0xa9, 0x5b, 0x7d, - 0x17, 0x31, 0x75, 0x53, 0x39, 0x1f, 0xed, 0xcb, 0xa1, 0x87, - 0x58, 0x7e, 0x14, 0x32, 0xc0, 0xe6, 0x8c, 0xaa, 0x2f, 0x09, - 0x63, 0x45, 0xb7, 0x91, 0xfb, 0xdd, 0x02, 0x24, 0x4e, 0x68, - 0x9a, 0xbc, 0xd6, 0xf0, 0xc1, 0xe7, 0x8d, 0xab, 0x59, 0x7f, - 0x15, 0x33, 0xec, 0xca, 0xa0, 0x86, 0x74, 0x52, 0x38, 0x1e, - 0x9b, 0xbd, 0xd7, 0xf1, 0x03, 0x25, 0x4f, 0x69, 0xb6, 0x90, - 0xfa, 0xdc, 0x2e, 0x08, 0x62, 0x44, 0xea, 0xcc, 0xa6, 0x80, - 0x72, 0x54, 0x3e, 0x18, 0xc7, 0xe1, 0x8b, 0xad, 0x5f, 0x79, - 0x13, 0x35, 0xb0, 0x96, 0xfc, 0xda, 0x28, 0x0e, 0x64, 0x42, - 0x9d, 0xbb, 0xd1, 0xf7, 0x05, 0x23, 0x49, 0x6f, 0x5e, 0x78, - 0x12, 0x34, 0xc6, 0xe0, 0x8a, 0xac, 0x73, 0x55, 0x3f, 0x19, - 0xeb, 0xcd, 0xa7, 0x81, 0x04, 0x22, 0x48, 0x6e, 0x9c, 0xba, - 0xd0, 0xf6, 0x29, 0x0f, 0x65, 0x43, 0xb1, 0x97, 0xfd, 0xdb, - 0x9f, 0xb9, 0xd3, 0xf5, 0x07, 0x21, 0x4b, 0x6d, 0xb2, 0x94, - 0xfe, 0xd8, 0x2a, 0x0c, 0x66, 0x40, 0xc5, 0xe3, 0x89, 0xaf, - 0x5d, 0x7b, 0x11, 0x37, 0xe8, 0xce, 0xa4, 0x82, 0x70, 0x56, - 0x3c, 0x1a, 0x2b, 0x0d, 0x67, 0x41, 0xb3, 0x95, 0xff, 0xd9, - 0x06, 0x20, 0x4a, 0x6c, 0x9e, 0xb8, 0xd2, 0xf4, 0x71, 0x57, - 0x3d, 0x1b, 0xe9, 0xcf, 0xa5, 0x83, 0x5c, 0x7a, 0x10, 0x36, - 0xc4, 0xe2, 0x88, 0xae, 0x00, 0x27, 0x4e, 0x69, 0x9c, 0xbb, - 0xd2, 0xf5, 0x25, 0x02, 0x6b, 0x4c, 0xb9, 0x9e, 0xf7, 0xd0, - 0x4a, 0x6d, 0x04, 0x23, 0xd6, 0xf1, 0x98, 0xbf, 0x6f, 0x48, - 0x21, 0x06, 0xf3, 0xd4, 0xbd, 0x9a, 0x94, 0xb3, 0xda, 0xfd, - 0x08, 0x2f, 0x46, 0x61, 0xb1, 0x96, 0xff, 0xd8, 0x2d, 0x0a, - 0x63, 0x44, 0xde, 0xf9, 0x90, 0xb7, 0x42, 0x65, 0x0c, 0x2b, - 0xfb, 0xdc, 0xb5, 0x92, 0x67, 0x40, 0x29, 0x0e, 0x35, 0x12, - 0x7b, 0x5c, 0xa9, 0x8e, 0xe7, 0xc0, 0x10, 0x37, 0x5e, 0x79, - 0x8c, 0xab, 0xc2, 0xe5, 0x7f, 0x58, 0x31, 0x16, 0xe3, 0xc4, - 0xad, 0x8a, 0x5a, 0x7d, 0x14, 0x33, 0xc6, 0xe1, 0x88, 0xaf, - 0xa1, 0x86, 0xef, 0xc8, 0x3d, 0x1a, 0x73, 0x54, 0x84, 0xa3, - 0xca, 0xed, 0x18, 0x3f, 0x56, 0x71, 0xeb, 0xcc, 0xa5, 0x82, - 0x77, 0x50, 0x39, 0x1e, 0xce, 0xe9, 0x80, 0xa7, 0x52, 0x75, - 0x1c, 0x3b, 0x6a, 0x4d, 0x24, 0x03, 0xf6, 0xd1, 0xb8, 0x9f, - 0x4f, 0x68, 0x01, 0x26, 0xd3, 0xf4, 0x9d, 0xba, 0x20, 0x07, - 0x6e, 0x49, 0xbc, 0x9b, 0xf2, 0xd5, 0x05, 0x22, 0x4b, 0x6c, - 0x99, 0xbe, 0xd7, 0xf0, 0xfe, 0xd9, 0xb0, 0x97, 0x62, 0x45, - 0x2c, 0x0b, 0xdb, 0xfc, 0x95, 0xb2, 0x47, 0x60, 0x09, 0x2e, - 0xb4, 0x93, 0xfa, 0xdd, 0x28, 0x0f, 0x66, 0x41, 0x91, 0xb6, - 0xdf, 0xf8, 0x0d, 0x2a, 0x43, 0x64, 0x5f, 0x78, 0x11, 0x36, - 0xc3, 0xe4, 0x8d, 0xaa, 0x7a, 0x5d, 0x34, 0x13, 0xe6, 0xc1, - 0xa8, 0x8f, 0x15, 0x32, 0x5b, 0x7c, 0x89, 0xae, 0xc7, 0xe0, - 0x30, 0x17, 0x7e, 0x59, 0xac, 0x8b, 0xe2, 0xc5, 0xcb, 0xec, - 0x85, 0xa2, 0x57, 0x70, 0x19, 0x3e, 0xee, 0xc9, 0xa0, 0x87, - 0x72, 0x55, 0x3c, 0x1b, 0x81, 0xa6, 0xcf, 0xe8, 0x1d, 0x3a, - 0x53, 0x74, 0xa4, 0x83, 0xea, 0xcd, 0x38, 0x1f, 0x76, 0x51, - 0x00, 0x28, 0x50, 0x78, 0xa0, 0x88, 0xf0, 0xd8, 0x5d, 0x75, - 0x0d, 0x25, 0xfd, 0xd5, 0xad, 0x85, 0xba, 0x92, 0xea, 0xc2, - 0x1a, 0x32, 0x4a, 0x62, 0xe7, 0xcf, 0xb7, 0x9f, 0x47, 0x6f, - 0x17, 0x3f, 0x69, 0x41, 0x39, 0x11, 0xc9, 0xe1, 0x99, 0xb1, - 0x34, 0x1c, 0x64, 0x4c, 0x94, 0xbc, 0xc4, 0xec, 0xd3, 0xfb, - 0x83, 0xab, 0x73, 0x5b, 0x23, 0x0b, 0x8e, 0xa6, 0xde, 0xf6, - 0x2e, 0x06, 0x7e, 0x56, 0xd2, 0xfa, 0x82, 0xaa, 0x72, 0x5a, - 0x22, 0x0a, 0x8f, 0xa7, 0xdf, 0xf7, 0x2f, 0x07, 0x7f, 0x57, - 0x68, 0x40, 0x38, 0x10, 0xc8, 0xe0, 0x98, 0xb0, 0x35, 0x1d, - 0x65, 0x4d, 0x95, 0xbd, 0xc5, 0xed, 0xbb, 0x93, 0xeb, 0xc3, - 0x1b, 0x33, 0x4b, 0x63, 0xe6, 0xce, 0xb6, 0x9e, 0x46, 0x6e, - 0x16, 0x3e, 0x01, 0x29, 0x51, 0x79, 0xa1, 0x89, 0xf1, 0xd9, - 0x5c, 0x74, 0x0c, 0x24, 0xfc, 0xd4, 0xac, 0x84, 0xb9, 0x91, - 0xe9, 0xc1, 0x19, 0x31, 0x49, 0x61, 0xe4, 0xcc, 0xb4, 0x9c, - 0x44, 0x6c, 0x14, 0x3c, 0x03, 0x2b, 0x53, 0x7b, 0xa3, 0x8b, - 0xf3, 0xdb, 0x5e, 0x76, 0x0e, 0x26, 0xfe, 0xd6, 0xae, 0x86, - 0xd0, 0xf8, 0x80, 0xa8, 0x70, 0x58, 0x20, 0x08, 0x8d, 0xa5, - 0xdd, 0xf5, 0x2d, 0x05, 0x7d, 0x55, 0x6a, 0x42, 0x3a, 0x12, - 0xca, 0xe2, 0x9a, 0xb2, 0x37, 0x1f, 0x67, 0x4f, 0x97, 0xbf, - 0xc7, 0xef, 0x6b, 0x43, 0x3b, 0x13, 0xcb, 0xe3, 0x9b, 0xb3, - 0x36, 0x1e, 0x66, 0x4e, 0x96, 0xbe, 0xc6, 0xee, 0xd1, 0xf9, - 0x81, 0xa9, 0x71, 0x59, 0x21, 0x09, 0x8c, 0xa4, 0xdc, 0xf4, - 0x2c, 0x04, 0x7c, 0x54, 0x02, 0x2a, 0x52, 0x7a, 0xa2, 0x8a, - 0xf2, 0xda, 0x5f, 0x77, 0x0f, 0x27, 0xff, 0xd7, 0xaf, 0x87, - 0xb8, 0x90, 0xe8, 0xc0, 0x18, 0x30, 0x48, 0x60, 0xe5, 0xcd, - 0xb5, 0x9d, 0x45, 0x6d, 0x15, 0x3d, 0x00, 0x29, 0x52, 0x7b, - 0xa4, 0x8d, 0xf6, 0xdf, 0x55, 0x7c, 0x07, 0x2e, 0xf1, 0xd8, - 0xa3, 0x8a, 0xaa, 0x83, 0xf8, 0xd1, 0x0e, 0x27, 0x5c, 0x75, - 0xff, 0xd6, 0xad, 0x84, 0x5b, 0x72, 0x09, 0x20, 0x49, 0x60, - 0x1b, 0x32, 0xed, 0xc4, 0xbf, 0x96, 0x1c, 0x35, 0x4e, 0x67, - 0xb8, 0x91, 0xea, 0xc3, 0xe3, 0xca, 0xb1, 0x98, 0x47, 0x6e, - 0x15, 0x3c, 0xb6, 0x9f, 0xe4, 0xcd, 0x12, 0x3b, 0x40, 0x69, - 0x92, 0xbb, 0xc0, 0xe9, 0x36, 0x1f, 0x64, 0x4d, 0xc7, 0xee, - 0x95, 0xbc, 0x63, 0x4a, 0x31, 0x18, 0x38, 0x11, 0x6a, 0x43, - 0x9c, 0xb5, 0xce, 0xe7, 0x6d, 0x44, 0x3f, 0x16, 0xc9, 0xe0, - 0x9b, 0xb2, 0xdb, 0xf2, 0x89, 0xa0, 0x7f, 0x56, 0x2d, 0x04, - 0x8e, 0xa7, 0xdc, 0xf5, 0x2a, 0x03, 0x78, 0x51, 0x71, 0x58, - 0x23, 0x0a, 0xd5, 0xfc, 0x87, 0xae, 0x24, 0x0d, 0x76, 0x5f, - 0x80, 0xa9, 0xd2, 0xfb, 0x39, 0x10, 0x6b, 0x42, 0x9d, 0xb4, - 0xcf, 0xe6, 0x6c, 0x45, 0x3e, 0x17, 0xc8, 0xe1, 0x9a, 0xb3, - 0x93, 0xba, 0xc1, 0xe8, 0x37, 0x1e, 0x65, 0x4c, 0xc6, 0xef, - 0x94, 0xbd, 0x62, 0x4b, 0x30, 0x19, 0x70, 0x59, 0x22, 0x0b, - 0xd4, 0xfd, 0x86, 0xaf, 0x25, 0x0c, 0x77, 0x5e, 0x81, 0xa8, - 0xd3, 0xfa, 0xda, 0xf3, 0x88, 0xa1, 0x7e, 0x57, 0x2c, 0x05, - 0x8f, 0xa6, 0xdd, 0xf4, 0x2b, 0x02, 0x79, 0x50, 0xab, 0x82, - 0xf9, 0xd0, 0x0f, 0x26, 0x5d, 0x74, 0xfe, 0xd7, 0xac, 0x85, - 0x5a, 0x73, 0x08, 0x21, 0x01, 0x28, 0x53, 0x7a, 0xa5, 0x8c, - 0xf7, 0xde, 0x54, 0x7d, 0x06, 0x2f, 0xf0, 0xd9, 0xa2, 0x8b, - 0xe2, 0xcb, 0xb0, 0x99, 0x46, 0x6f, 0x14, 0x3d, 0xb7, 0x9e, - 0xe5, 0xcc, 0x13, 0x3a, 0x41, 0x68, 0x48, 0x61, 0x1a, 0x33, - 0xec, 0xc5, 0xbe, 0x97, 0x1d, 0x34, 0x4f, 0x66, 0xb9, 0x90, - 0xeb, 0xc2, 0x00, 0x2a, 0x54, 0x7e, 0xa8, 0x82, 0xfc, 0xd6, - 0x4d, 0x67, 0x19, 0x33, 0xe5, 0xcf, 0xb1, 0x9b, 0x9a, 0xb0, - 0xce, 0xe4, 0x32, 0x18, 0x66, 0x4c, 0xd7, 0xfd, 0x83, 0xa9, - 0x7f, 0x55, 0x2b, 0x01, 0x29, 0x03, 0x7d, 0x57, 0x81, 0xab, - 0xd5, 0xff, 0x64, 0x4e, 0x30, 0x1a, 0xcc, 0xe6, 0x98, 0xb2, - 0xb3, 0x99, 0xe7, 0xcd, 0x1b, 0x31, 0x4f, 0x65, 0xfe, 0xd4, - 0xaa, 0x80, 0x56, 0x7c, 0x02, 0x28, 0x52, 0x78, 0x06, 0x2c, - 0xfa, 0xd0, 0xae, 0x84, 0x1f, 0x35, 0x4b, 0x61, 0xb7, 0x9d, - 0xe3, 0xc9, 0xc8, 0xe2, 0x9c, 0xb6, 0x60, 0x4a, 0x34, 0x1e, - 0x85, 0xaf, 0xd1, 0xfb, 0x2d, 0x07, 0x79, 0x53, 0x7b, 0x51, - 0x2f, 0x05, 0xd3, 0xf9, 0x87, 0xad, 0x36, 0x1c, 0x62, 0x48, - 0x9e, 0xb4, 0xca, 0xe0, 0xe1, 0xcb, 0xb5, 0x9f, 0x49, 0x63, - 0x1d, 0x37, 0xac, 0x86, 0xf8, 0xd2, 0x04, 0x2e, 0x50, 0x7a, - 0xa4, 0x8e, 0xf0, 0xda, 0x0c, 0x26, 0x58, 0x72, 0xe9, 0xc3, - 0xbd, 0x97, 0x41, 0x6b, 0x15, 0x3f, 0x3e, 0x14, 0x6a, 0x40, - 0x96, 0xbc, 0xc2, 0xe8, 0x73, 0x59, 0x27, 0x0d, 0xdb, 0xf1, - 0x8f, 0xa5, 0x8d, 0xa7, 0xd9, 0xf3, 0x25, 0x0f, 0x71, 0x5b, - 0xc0, 0xea, 0x94, 0xbe, 0x68, 0x42, 0x3c, 0x16, 0x17, 0x3d, - 0x43, 0x69, 0xbf, 0x95, 0xeb, 0xc1, 0x5a, 0x70, 0x0e, 0x24, - 0xf2, 0xd8, 0xa6, 0x8c, 0xf6, 0xdc, 0xa2, 0x88, 0x5e, 0x74, - 0x0a, 0x20, 0xbb, 0x91, 0xef, 0xc5, 0x13, 0x39, 0x47, 0x6d, - 0x6c, 0x46, 0x38, 0x12, 0xc4, 0xee, 0x90, 0xba, 0x21, 0x0b, - 0x75, 0x5f, 0x89, 0xa3, 0xdd, 0xf7, 0xdf, 0xf5, 0x8b, 0xa1, - 0x77, 0x5d, 0x23, 0x09, 0x92, 0xb8, 0xc6, 0xec, 0x3a, 0x10, - 0x6e, 0x44, 0x45, 0x6f, 0x11, 0x3b, 0xed, 0xc7, 0xb9, 0x93, - 0x08, 0x22, 0x5c, 0x76, 0xa0, 0x8a, 0xf4, 0xde, 0x00, 0x2b, - 0x56, 0x7d, 0xac, 0x87, 0xfa, 0xd1, 0x45, 0x6e, 0x13, 0x38, - 0xe9, 0xc2, 0xbf, 0x94, 0x8a, 0xa1, 0xdc, 0xf7, 0x26, 0x0d, - 0x70, 0x5b, 0xcf, 0xe4, 0x99, 0xb2, 0x63, 0x48, 0x35, 0x1e, - 0x09, 0x22, 0x5f, 0x74, 0xa5, 0x8e, 0xf3, 0xd8, 0x4c, 0x67, - 0x1a, 0x31, 0xe0, 0xcb, 0xb6, 0x9d, 0x83, 0xa8, 0xd5, 0xfe, - 0x2f, 0x04, 0x79, 0x52, 0xc6, 0xed, 0x90, 0xbb, 0x6a, 0x41, - 0x3c, 0x17, 0x12, 0x39, 0x44, 0x6f, 0xbe, 0x95, 0xe8, 0xc3, - 0x57, 0x7c, 0x01, 0x2a, 0xfb, 0xd0, 0xad, 0x86, 0x98, 0xb3, - 0xce, 0xe5, 0x34, 0x1f, 0x62, 0x49, 0xdd, 0xf6, 0x8b, 0xa0, - 0x71, 0x5a, 0x27, 0x0c, 0x1b, 0x30, 0x4d, 0x66, 0xb7, 0x9c, - 0xe1, 0xca, 0x5e, 0x75, 0x08, 0x23, 0xf2, 0xd9, 0xa4, 0x8f, - 0x91, 0xba, 0xc7, 0xec, 0x3d, 0x16, 0x6b, 0x40, 0xd4, 0xff, - 0x82, 0xa9, 0x78, 0x53, 0x2e, 0x05, 0x24, 0x0f, 0x72, 0x59, - 0x88, 0xa3, 0xde, 0xf5, 0x61, 0x4a, 0x37, 0x1c, 0xcd, 0xe6, - 0x9b, 0xb0, 0xae, 0x85, 0xf8, 0xd3, 0x02, 0x29, 0x54, 0x7f, - 0xeb, 0xc0, 0xbd, 0x96, 0x47, 0x6c, 0x11, 0x3a, 0x2d, 0x06, - 0x7b, 0x50, 0x81, 0xaa, 0xd7, 0xfc, 0x68, 0x43, 0x3e, 0x15, - 0xc4, 0xef, 0x92, 0xb9, 0xa7, 0x8c, 0xf1, 0xda, 0x0b, 0x20, - 0x5d, 0x76, 0xe2, 0xc9, 0xb4, 0x9f, 0x4e, 0x65, 0x18, 0x33, - 0x36, 0x1d, 0x60, 0x4b, 0x9a, 0xb1, 0xcc, 0xe7, 0x73, 0x58, - 0x25, 0x0e, 0xdf, 0xf4, 0x89, 0xa2, 0xbc, 0x97, 0xea, 0xc1, - 0x10, 0x3b, 0x46, 0x6d, 0xf9, 0xd2, 0xaf, 0x84, 0x55, 0x7e, - 0x03, 0x28, 0x3f, 0x14, 0x69, 0x42, 0x93, 0xb8, 0xc5, 0xee, - 0x7a, 0x51, 0x2c, 0x07, 0xd6, 0xfd, 0x80, 0xab, 0xb5, 0x9e, - 0xe3, 0xc8, 0x19, 0x32, 0x4f, 0x64, 0xf0, 0xdb, 0xa6, 0x8d, - 0x5c, 0x77, 0x0a, 0x21, 0x00, 0x2c, 0x58, 0x74, 0xb0, 0x9c, - 0xe8, 0xc4, 0x7d, 0x51, 0x25, 0x09, 0xcd, 0xe1, 0x95, 0xb9, - 0xfa, 0xd6, 0xa2, 0x8e, 0x4a, 0x66, 0x12, 0x3e, 0x87, 0xab, - 0xdf, 0xf3, 0x37, 0x1b, 0x6f, 0x43, 0xe9, 0xc5, 0xb1, 0x9d, - 0x59, 0x75, 0x01, 0x2d, 0x94, 0xb8, 0xcc, 0xe0, 0x24, 0x08, - 0x7c, 0x50, 0x13, 0x3f, 0x4b, 0x67, 0xa3, 0x8f, 0xfb, 0xd7, - 0x6e, 0x42, 0x36, 0x1a, 0xde, 0xf2, 0x86, 0xaa, 0xcf, 0xe3, - 0x97, 0xbb, 0x7f, 0x53, 0x27, 0x0b, 0xb2, 0x9e, 0xea, 0xc6, - 0x02, 0x2e, 0x5a, 0x76, 0x35, 0x19, 0x6d, 0x41, 0x85, 0xa9, - 0xdd, 0xf1, 0x48, 0x64, 0x10, 0x3c, 0xf8, 0xd4, 0xa0, 0x8c, - 0x26, 0x0a, 0x7e, 0x52, 0x96, 0xba, 0xce, 0xe2, 0x5b, 0x77, - 0x03, 0x2f, 0xeb, 0xc7, 0xb3, 0x9f, 0xdc, 0xf0, 0x84, 0xa8, - 0x6c, 0x40, 0x34, 0x18, 0xa1, 0x8d, 0xf9, 0xd5, 0x11, 0x3d, - 0x49, 0x65, 0x83, 0xaf, 0xdb, 0xf7, 0x33, 0x1f, 0x6b, 0x47, - 0xfe, 0xd2, 0xa6, 0x8a, 0x4e, 0x62, 0x16, 0x3a, 0x79, 0x55, - 0x21, 0x0d, 0xc9, 0xe5, 0x91, 0xbd, 0x04, 0x28, 0x5c, 0x70, - 0xb4, 0x98, 0xec, 0xc0, 0x6a, 0x46, 0x32, 0x1e, 0xda, 0xf6, - 0x82, 0xae, 0x17, 0x3b, 0x4f, 0x63, 0xa7, 0x8b, 0xff, 0xd3, - 0x90, 0xbc, 0xc8, 0xe4, 0x20, 0x0c, 0x78, 0x54, 0xed, 0xc1, - 0xb5, 0x99, 0x5d, 0x71, 0x05, 0x29, 0x4c, 0x60, 0x14, 0x38, - 0xfc, 0xd0, 0xa4, 0x88, 0x31, 0x1d, 0x69, 0x45, 0x81, 0xad, - 0xd9, 0xf5, 0xb6, 0x9a, 0xee, 0xc2, 0x06, 0x2a, 0x5e, 0x72, - 0xcb, 0xe7, 0x93, 0xbf, 0x7b, 0x57, 0x23, 0x0f, 0xa5, 0x89, - 0xfd, 0xd1, 0x15, 0x39, 0x4d, 0x61, 0xd8, 0xf4, 0x80, 0xac, - 0x68, 0x44, 0x30, 0x1c, 0x5f, 0x73, 0x07, 0x2b, 0xef, 0xc3, - 0xb7, 0x9b, 0x22, 0x0e, 0x7a, 0x56, 0x92, 0xbe, 0xca, 0xe6, - 0x00, 0x2d, 0x5a, 0x77, 0xb4, 0x99, 0xee, 0xc3, 0x75, 0x58, - 0x2f, 0x02, 0xc1, 0xec, 0x9b, 0xb6, 0xea, 0xc7, 0xb0, 0x9d, - 0x5e, 0x73, 0x04, 0x29, 0x9f, 0xb2, 0xc5, 0xe8, 0x2b, 0x06, - 0x71, 0x5c, 0xc9, 0xe4, 0x93, 0xbe, 0x7d, 0x50, 0x27, 0x0a, - 0xbc, 0x91, 0xe6, 0xcb, 0x08, 0x25, 0x52, 0x7f, 0x23, 0x0e, - 0x79, 0x54, 0x97, 0xba, 0xcd, 0xe0, 0x56, 0x7b, 0x0c, 0x21, - 0xe2, 0xcf, 0xb8, 0x95, 0x8f, 0xa2, 0xd5, 0xf8, 0x3b, 0x16, - 0x61, 0x4c, 0xfa, 0xd7, 0xa0, 0x8d, 0x4e, 0x63, 0x14, 0x39, - 0x65, 0x48, 0x3f, 0x12, 0xd1, 0xfc, 0x8b, 0xa6, 0x10, 0x3d, - 0x4a, 0x67, 0xa4, 0x89, 0xfe, 0xd3, 0x46, 0x6b, 0x1c, 0x31, - 0xf2, 0xdf, 0xa8, 0x85, 0x33, 0x1e, 0x69, 0x44, 0x87, 0xaa, - 0xdd, 0xf0, 0xac, 0x81, 0xf6, 0xdb, 0x18, 0x35, 0x42, 0x6f, - 0xd9, 0xf4, 0x83, 0xae, 0x6d, 0x40, 0x37, 0x1a, 0x03, 0x2e, - 0x59, 0x74, 0xb7, 0x9a, 0xed, 0xc0, 0x76, 0x5b, 0x2c, 0x01, - 0xc2, 0xef, 0x98, 0xb5, 0xe9, 0xc4, 0xb3, 0x9e, 0x5d, 0x70, - 0x07, 0x2a, 0x9c, 0xb1, 0xc6, 0xeb, 0x28, 0x05, 0x72, 0x5f, - 0xca, 0xe7, 0x90, 0xbd, 0x7e, 0x53, 0x24, 0x09, 0xbf, 0x92, - 0xe5, 0xc8, 0x0b, 0x26, 0x51, 0x7c, 0x20, 0x0d, 0x7a, 0x57, - 0x94, 0xb9, 0xce, 0xe3, 0x55, 0x78, 0x0f, 0x22, 0xe1, 0xcc, - 0xbb, 0x96, 0x8c, 0xa1, 0xd6, 0xfb, 0x38, 0x15, 0x62, 0x4f, - 0xf9, 0xd4, 0xa3, 0x8e, 0x4d, 0x60, 0x17, 0x3a, 0x66, 0x4b, - 0x3c, 0x11, 0xd2, 0xff, 0x88, 0xa5, 0x13, 0x3e, 0x49, 0x64, - 0xa7, 0x8a, 0xfd, 0xd0, 0x45, 0x68, 0x1f, 0x32, 0xf1, 0xdc, - 0xab, 0x86, 0x30, 0x1d, 0x6a, 0x47, 0x84, 0xa9, 0xde, 0xf3, - 0xaf, 0x82, 0xf5, 0xd8, 0x1b, 0x36, 0x41, 0x6c, 0xda, 0xf7, - 0x80, 0xad, 0x6e, 0x43, 0x34, 0x19, 0x00, 0x2e, 0x5c, 0x72, - 0xb8, 0x96, 0xe4, 0xca, 0x6d, 0x43, 0x31, 0x1f, 0xd5, 0xfb, - 0x89, 0xa7, 0xda, 0xf4, 0x86, 0xa8, 0x62, 0x4c, 0x3e, 0x10, - 0xb7, 0x99, 0xeb, 0xc5, 0x0f, 0x21, 0x53, 0x7d, 0xa9, 0x87, - 0xf5, 0xdb, 0x11, 0x3f, 0x4d, 0x63, 0xc4, 0xea, 0x98, 0xb6, - 0x7c, 0x52, 0x20, 0x0e, 0x73, 0x5d, 0x2f, 0x01, 0xcb, 0xe5, - 0x97, 0xb9, 0x1e, 0x30, 0x42, 0x6c, 0xa6, 0x88, 0xfa, 0xd4, - 0x4f, 0x61, 0x13, 0x3d, 0xf7, 0xd9, 0xab, 0x85, 0x22, 0x0c, - 0x7e, 0x50, 0x9a, 0xb4, 0xc6, 0xe8, 0x95, 0xbb, 0xc9, 0xe7, - 0x2d, 0x03, 0x71, 0x5f, 0xf8, 0xd6, 0xa4, 0x8a, 0x40, 0x6e, - 0x1c, 0x32, 0xe6, 0xc8, 0xba, 0x94, 0x5e, 0x70, 0x02, 0x2c, - 0x8b, 0xa5, 0xd7, 0xf9, 0x33, 0x1d, 0x6f, 0x41, 0x3c, 0x12, - 0x60, 0x4e, 0x84, 0xaa, 0xd8, 0xf6, 0x51, 0x7f, 0x0d, 0x23, - 0xe9, 0xc7, 0xb5, 0x9b, 0x9e, 0xb0, 0xc2, 0xec, 0x26, 0x08, - 0x7a, 0x54, 0xf3, 0xdd, 0xaf, 0x81, 0x4b, 0x65, 0x17, 0x39, - 0x44, 0x6a, 0x18, 0x36, 0xfc, 0xd2, 0xa0, 0x8e, 0x29, 0x07, - 0x75, 0x5b, 0x91, 0xbf, 0xcd, 0xe3, 0x37, 0x19, 0x6b, 0x45, - 0x8f, 0xa1, 0xd3, 0xfd, 0x5a, 0x74, 0x06, 0x28, 0xe2, 0xcc, - 0xbe, 0x90, 0xed, 0xc3, 0xb1, 0x9f, 0x55, 0x7b, 0x09, 0x27, - 0x80, 0xae, 0xdc, 0xf2, 0x38, 0x16, 0x64, 0x4a, 0xd1, 0xff, - 0x8d, 0xa3, 0x69, 0x47, 0x35, 0x1b, 0xbc, 0x92, 0xe0, 0xce, - 0x04, 0x2a, 0x58, 0x76, 0x0b, 0x25, 0x57, 0x79, 0xb3, 0x9d, - 0xef, 0xc1, 0x66, 0x48, 0x3a, 0x14, 0xde, 0xf0, 0x82, 0xac, - 0x78, 0x56, 0x24, 0x0a, 0xc0, 0xee, 0x9c, 0xb2, 0x15, 0x3b, - 0x49, 0x67, 0xad, 0x83, 0xf1, 0xdf, 0xa2, 0x8c, 0xfe, 0xd0, - 0x1a, 0x34, 0x46, 0x68, 0xcf, 0xe1, 0x93, 0xbd, 0x77, 0x59, - 0x2b, 0x05, 0x00, 0x2f, 0x5e, 0x71, 0xbc, 0x93, 0xe2, 0xcd, - 0x65, 0x4a, 0x3b, 0x14, 0xd9, 0xf6, 0x87, 0xa8, 0xca, 0xe5, - 0x94, 0xbb, 0x76, 0x59, 0x28, 0x07, 0xaf, 0x80, 0xf1, 0xde, - 0x13, 0x3c, 0x4d, 0x62, 0x89, 0xa6, 0xd7, 0xf8, 0x35, 0x1a, - 0x6b, 0x44, 0xec, 0xc3, 0xb2, 0x9d, 0x50, 0x7f, 0x0e, 0x21, - 0x43, 0x6c, 0x1d, 0x32, 0xff, 0xd0, 0xa1, 0x8e, 0x26, 0x09, - 0x78, 0x57, 0x9a, 0xb5, 0xc4, 0xeb, 0x0f, 0x20, 0x51, 0x7e, - 0xb3, 0x9c, 0xed, 0xc2, 0x6a, 0x45, 0x34, 0x1b, 0xd6, 0xf9, - 0x88, 0xa7, 0xc5, 0xea, 0x9b, 0xb4, 0x79, 0x56, 0x27, 0x08, - 0xa0, 0x8f, 0xfe, 0xd1, 0x1c, 0x33, 0x42, 0x6d, 0x86, 0xa9, - 0xd8, 0xf7, 0x3a, 0x15, 0x64, 0x4b, 0xe3, 0xcc, 0xbd, 0x92, - 0x5f, 0x70, 0x01, 0x2e, 0x4c, 0x63, 0x12, 0x3d, 0xf0, 0xdf, - 0xae, 0x81, 0x29, 0x06, 0x77, 0x58, 0x95, 0xba, 0xcb, 0xe4, - 0x1e, 0x31, 0x40, 0x6f, 0xa2, 0x8d, 0xfc, 0xd3, 0x7b, 0x54, - 0x25, 0x0a, 0xc7, 0xe8, 0x99, 0xb6, 0xd4, 0xfb, 0x8a, 0xa5, - 0x68, 0x47, 0x36, 0x19, 0xb1, 0x9e, 0xef, 0xc0, 0x0d, 0x22, - 0x53, 0x7c, 0x97, 0xb8, 0xc9, 0xe6, 0x2b, 0x04, 0x75, 0x5a, - 0xf2, 0xdd, 0xac, 0x83, 0x4e, 0x61, 0x10, 0x3f, 0x5d, 0x72, - 0x03, 0x2c, 0xe1, 0xce, 0xbf, 0x90, 0x38, 0x17, 0x66, 0x49, - 0x84, 0xab, 0xda, 0xf5, 0x11, 0x3e, 0x4f, 0x60, 0xad, 0x82, - 0xf3, 0xdc, 0x74, 0x5b, 0x2a, 0x05, 0xc8, 0xe7, 0x96, 0xb9, - 0xdb, 0xf4, 0x85, 0xaa, 0x67, 0x48, 0x39, 0x16, 0xbe, 0x91, - 0xe0, 0xcf, 0x02, 0x2d, 0x5c, 0x73, 0x98, 0xb7, 0xc6, 0xe9, - 0x24, 0x0b, 0x7a, 0x55, 0xfd, 0xd2, 0xa3, 0x8c, 0x41, 0x6e, - 0x1f, 0x30, 0x52, 0x7d, 0x0c, 0x23, 0xee, 0xc1, 0xb0, 0x9f, - 0x37, 0x18, 0x69, 0x46, 0x8b, 0xa4, 0xd5, 0xfa, 0x00, 0x30, - 0x60, 0x50, 0xc0, 0xf0, 0xa0, 0x90, 0x9d, 0xad, 0xfd, 0xcd, - 0x5d, 0x6d, 0x3d, 0x0d, 0x27, 0x17, 0x47, 0x77, 0xe7, 0xd7, - 0x87, 0xb7, 0xba, 0x8a, 0xda, 0xea, 0x7a, 0x4a, 0x1a, 0x2a, - 0x4e, 0x7e, 0x2e, 0x1e, 0x8e, 0xbe, 0xee, 0xde, 0xd3, 0xe3, - 0xb3, 0x83, 0x13, 0x23, 0x73, 0x43, 0x69, 0x59, 0x09, 0x39, - 0xa9, 0x99, 0xc9, 0xf9, 0xf4, 0xc4, 0x94, 0xa4, 0x34, 0x04, - 0x54, 0x64, 0x9c, 0xac, 0xfc, 0xcc, 0x5c, 0x6c, 0x3c, 0x0c, - 0x01, 0x31, 0x61, 0x51, 0xc1, 0xf1, 0xa1, 0x91, 0xbb, 0x8b, - 0xdb, 0xeb, 0x7b, 0x4b, 0x1b, 0x2b, 0x26, 0x16, 0x46, 0x76, - 0xe6, 0xd6, 0x86, 0xb6, 0xd2, 0xe2, 0xb2, 0x82, 0x12, 0x22, - 0x72, 0x42, 0x4f, 0x7f, 0x2f, 0x1f, 0x8f, 0xbf, 0xef, 0xdf, - 0xf5, 0xc5, 0x95, 0xa5, 0x35, 0x05, 0x55, 0x65, 0x68, 0x58, - 0x08, 0x38, 0xa8, 0x98, 0xc8, 0xf8, 0x25, 0x15, 0x45, 0x75, - 0xe5, 0xd5, 0x85, 0xb5, 0xb8, 0x88, 0xd8, 0xe8, 0x78, 0x48, - 0x18, 0x28, 0x02, 0x32, 0x62, 0x52, 0xc2, 0xf2, 0xa2, 0x92, - 0x9f, 0xaf, 0xff, 0xcf, 0x5f, 0x6f, 0x3f, 0x0f, 0x6b, 0x5b, - 0x0b, 0x3b, 0xab, 0x9b, 0xcb, 0xfb, 0xf6, 0xc6, 0x96, 0xa6, - 0x36, 0x06, 0x56, 0x66, 0x4c, 0x7c, 0x2c, 0x1c, 0x8c, 0xbc, - 0xec, 0xdc, 0xd1, 0xe1, 0xb1, 0x81, 0x11, 0x21, 0x71, 0x41, - 0xb9, 0x89, 0xd9, 0xe9, 0x79, 0x49, 0x19, 0x29, 0x24, 0x14, - 0x44, 0x74, 0xe4, 0xd4, 0x84, 0xb4, 0x9e, 0xae, 0xfe, 0xce, - 0x5e, 0x6e, 0x3e, 0x0e, 0x03, 0x33, 0x63, 0x53, 0xc3, 0xf3, - 0xa3, 0x93, 0xf7, 0xc7, 0x97, 0xa7, 0x37, 0x07, 0x57, 0x67, - 0x6a, 0x5a, 0x0a, 0x3a, 0xaa, 0x9a, 0xca, 0xfa, 0xd0, 0xe0, - 0xb0, 0x80, 0x10, 0x20, 0x70, 0x40, 0x4d, 0x7d, 0x2d, 0x1d, - 0x8d, 0xbd, 0xed, 0xdd, 0x00, 0x31, 0x62, 0x53, 0xc4, 0xf5, - 0xa6, 0x97, 0x95, 0xa4, 0xf7, 0xc6, 0x51, 0x60, 0x33, 0x02, - 0x37, 0x06, 0x55, 0x64, 0xf3, 0xc2, 0x91, 0xa0, 0xa2, 0x93, - 0xc0, 0xf1, 0x66, 0x57, 0x04, 0x35, 0x6e, 0x5f, 0x0c, 0x3d, - 0xaa, 0x9b, 0xc8, 0xf9, 0xfb, 0xca, 0x99, 0xa8, 0x3f, 0x0e, - 0x5d, 0x6c, 0x59, 0x68, 0x3b, 0x0a, 0x9d, 0xac, 0xff, 0xce, - 0xcc, 0xfd, 0xae, 0x9f, 0x08, 0x39, 0x6a, 0x5b, 0xdc, 0xed, - 0xbe, 0x8f, 0x18, 0x29, 0x7a, 0x4b, 0x49, 0x78, 0x2b, 0x1a, - 0x8d, 0xbc, 0xef, 0xde, 0xeb, 0xda, 0x89, 0xb8, 0x2f, 0x1e, - 0x4d, 0x7c, 0x7e, 0x4f, 0x1c, 0x2d, 0xba, 0x8b, 0xd8, 0xe9, - 0xb2, 0x83, 0xd0, 0xe1, 0x76, 0x47, 0x14, 0x25, 0x27, 0x16, - 0x45, 0x74, 0xe3, 0xd2, 0x81, 0xb0, 0x85, 0xb4, 0xe7, 0xd6, - 0x41, 0x70, 0x23, 0x12, 0x10, 0x21, 0x72, 0x43, 0xd4, 0xe5, - 0xb6, 0x87, 0xa5, 0x94, 0xc7, 0xf6, 0x61, 0x50, 0x03, 0x32, - 0x30, 0x01, 0x52, 0x63, 0xf4, 0xc5, 0x96, 0xa7, 0x92, 0xa3, - 0xf0, 0xc1, 0x56, 0x67, 0x34, 0x05, 0x07, 0x36, 0x65, 0x54, - 0xc3, 0xf2, 0xa1, 0x90, 0xcb, 0xfa, 0xa9, 0x98, 0x0f, 0x3e, - 0x6d, 0x5c, 0x5e, 0x6f, 0x3c, 0x0d, 0x9a, 0xab, 0xf8, 0xc9, - 0xfc, 0xcd, 0x9e, 0xaf, 0x38, 0x09, 0x5a, 0x6b, 0x69, 0x58, - 0x0b, 0x3a, 0xad, 0x9c, 0xcf, 0xfe, 0x79, 0x48, 0x1b, 0x2a, - 0xbd, 0x8c, 0xdf, 0xee, 0xec, 0xdd, 0x8e, 0xbf, 0x28, 0x19, - 0x4a, 0x7b, 0x4e, 0x7f, 0x2c, 0x1d, 0x8a, 0xbb, 0xe8, 0xd9, - 0xdb, 0xea, 0xb9, 0x88, 0x1f, 0x2e, 0x7d, 0x4c, 0x17, 0x26, - 0x75, 0x44, 0xd3, 0xe2, 0xb1, 0x80, 0x82, 0xb3, 0xe0, 0xd1, - 0x46, 0x77, 0x24, 0x15, 0x20, 0x11, 0x42, 0x73, 0xe4, 0xd5, - 0x86, 0xb7, 0xb5, 0x84, 0xd7, 0xe6, 0x71, 0x40, 0x13, 0x22, - 0x00, 0x32, 0x64, 0x56, 0xc8, 0xfa, 0xac, 0x9e, 0x8d, 0xbf, - 0xe9, 0xdb, 0x45, 0x77, 0x21, 0x13, 0x07, 0x35, 0x63, 0x51, - 0xcf, 0xfd, 0xab, 0x99, 0x8a, 0xb8, 0xee, 0xdc, 0x42, 0x70, - 0x26, 0x14, 0x0e, 0x3c, 0x6a, 0x58, 0xc6, 0xf4, 0xa2, 0x90, - 0x83, 0xb1, 0xe7, 0xd5, 0x4b, 0x79, 0x2f, 0x1d, 0x09, 0x3b, - 0x6d, 0x5f, 0xc1, 0xf3, 0xa5, 0x97, 0x84, 0xb6, 0xe0, 0xd2, - 0x4c, 0x7e, 0x28, 0x1a, 0x1c, 0x2e, 0x78, 0x4a, 0xd4, 0xe6, - 0xb0, 0x82, 0x91, 0xa3, 0xf5, 0xc7, 0x59, 0x6b, 0x3d, 0x0f, - 0x1b, 0x29, 0x7f, 0x4d, 0xd3, 0xe1, 0xb7, 0x85, 0x96, 0xa4, - 0xf2, 0xc0, 0x5e, 0x6c, 0x3a, 0x08, 0x12, 0x20, 0x76, 0x44, - 0xda, 0xe8, 0xbe, 0x8c, 0x9f, 0xad, 0xfb, 0xc9, 0x57, 0x65, - 0x33, 0x01, 0x15, 0x27, 0x71, 0x43, 0xdd, 0xef, 0xb9, 0x8b, - 0x98, 0xaa, 0xfc, 0xce, 0x50, 0x62, 0x34, 0x06, 0x38, 0x0a, - 0x5c, 0x6e, 0xf0, 0xc2, 0x94, 0xa6, 0xb5, 0x87, 0xd1, 0xe3, - 0x7d, 0x4f, 0x19, 0x2b, 0x3f, 0x0d, 0x5b, 0x69, 0xf7, 0xc5, - 0x93, 0xa1, 0xb2, 0x80, 0xd6, 0xe4, 0x7a, 0x48, 0x1e, 0x2c, - 0x36, 0x04, 0x52, 0x60, 0xfe, 0xcc, 0x9a, 0xa8, 0xbb, 0x89, - 0xdf, 0xed, 0x73, 0x41, 0x17, 0x25, 0x31, 0x03, 0x55, 0x67, - 0xf9, 0xcb, 0x9d, 0xaf, 0xbc, 0x8e, 0xd8, 0xea, 0x74, 0x46, - 0x10, 0x22, 0x24, 0x16, 0x40, 0x72, 0xec, 0xde, 0x88, 0xba, - 0xa9, 0x9b, 0xcd, 0xff, 0x61, 0x53, 0x05, 0x37, 0x23, 0x11, - 0x47, 0x75, 0xeb, 0xd9, 0x8f, 0xbd, 0xae, 0x9c, 0xca, 0xf8, - 0x66, 0x54, 0x02, 0x30, 0x2a, 0x18, 0x4e, 0x7c, 0xe2, 0xd0, - 0x86, 0xb4, 0xa7, 0x95, 0xc3, 0xf1, 0x6f, 0x5d, 0x0b, 0x39, - 0x2d, 0x1f, 0x49, 0x7b, 0xe5, 0xd7, 0x81, 0xb3, 0xa0, 0x92, - 0xc4, 0xf6, 0x68, 0x5a, 0x0c, 0x3e, 0x00, 0x33, 0x66, 0x55, - 0xcc, 0xff, 0xaa, 0x99, 0x85, 0xb6, 0xe3, 0xd0, 0x49, 0x7a, - 0x2f, 0x1c, 0x17, 0x24, 0x71, 0x42, 0xdb, 0xe8, 0xbd, 0x8e, - 0x92, 0xa1, 0xf4, 0xc7, 0x5e, 0x6d, 0x38, 0x0b, 0x2e, 0x1d, - 0x48, 0x7b, 0xe2, 0xd1, 0x84, 0xb7, 0xab, 0x98, 0xcd, 0xfe, - 0x67, 0x54, 0x01, 0x32, 0x39, 0x0a, 0x5f, 0x6c, 0xf5, 0xc6, - 0x93, 0xa0, 0xbc, 0x8f, 0xda, 0xe9, 0x70, 0x43, 0x16, 0x25, - 0x5c, 0x6f, 0x3a, 0x09, 0x90, 0xa3, 0xf6, 0xc5, 0xd9, 0xea, - 0xbf, 0x8c, 0x15, 0x26, 0x73, 0x40, 0x4b, 0x78, 0x2d, 0x1e, - 0x87, 0xb4, 0xe1, 0xd2, 0xce, 0xfd, 0xa8, 0x9b, 0x02, 0x31, - 0x64, 0x57, 0x72, 0x41, 0x14, 0x27, 0xbe, 0x8d, 0xd8, 0xeb, - 0xf7, 0xc4, 0x91, 0xa2, 0x3b, 0x08, 0x5d, 0x6e, 0x65, 0x56, - 0x03, 0x30, 0xa9, 0x9a, 0xcf, 0xfc, 0xe0, 0xd3, 0x86, 0xb5, - 0x2c, 0x1f, 0x4a, 0x79, 0xb8, 0x8b, 0xde, 0xed, 0x74, 0x47, - 0x12, 0x21, 0x3d, 0x0e, 0x5b, 0x68, 0xf1, 0xc2, 0x97, 0xa4, - 0xaf, 0x9c, 0xc9, 0xfa, 0x63, 0x50, 0x05, 0x36, 0x2a, 0x19, - 0x4c, 0x7f, 0xe6, 0xd5, 0x80, 0xb3, 0x96, 0xa5, 0xf0, 0xc3, - 0x5a, 0x69, 0x3c, 0x0f, 0x13, 0x20, 0x75, 0x46, 0xdf, 0xec, - 0xb9, 0x8a, 0x81, 0xb2, 0xe7, 0xd4, 0x4d, 0x7e, 0x2b, 0x18, - 0x04, 0x37, 0x62, 0x51, 0xc8, 0xfb, 0xae, 0x9d, 0xe4, 0xd7, - 0x82, 0xb1, 0x28, 0x1b, 0x4e, 0x7d, 0x61, 0x52, 0x07, 0x34, - 0xad, 0x9e, 0xcb, 0xf8, 0xf3, 0xc0, 0x95, 0xa6, 0x3f, 0x0c, - 0x59, 0x6a, 0x76, 0x45, 0x10, 0x23, 0xba, 0x89, 0xdc, 0xef, - 0xca, 0xf9, 0xac, 0x9f, 0x06, 0x35, 0x60, 0x53, 0x4f, 0x7c, - 0x29, 0x1a, 0x83, 0xb0, 0xe5, 0xd6, 0xdd, 0xee, 0xbb, 0x88, - 0x11, 0x22, 0x77, 0x44, 0x58, 0x6b, 0x3e, 0x0d, 0x94, 0xa7, - 0xf2, 0xc1, 0x00, 0x34, 0x68, 0x5c, 0xd0, 0xe4, 0xb8, 0x8c, - 0xbd, 0x89, 0xd5, 0xe1, 0x6d, 0x59, 0x05, 0x31, 0x67, 0x53, - 0x0f, 0x3b, 0xb7, 0x83, 0xdf, 0xeb, 0xda, 0xee, 0xb2, 0x86, - 0x0a, 0x3e, 0x62, 0x56, 0xce, 0xfa, 0xa6, 0x92, 0x1e, 0x2a, - 0x76, 0x42, 0x73, 0x47, 0x1b, 0x2f, 0xa3, 0x97, 0xcb, 0xff, - 0xa9, 0x9d, 0xc1, 0xf5, 0x79, 0x4d, 0x11, 0x25, 0x14, 0x20, - 0x7c, 0x48, 0xc4, 0xf0, 0xac, 0x98, 0x81, 0xb5, 0xe9, 0xdd, - 0x51, 0x65, 0x39, 0x0d, 0x3c, 0x08, 0x54, 0x60, 0xec, 0xd8, - 0x84, 0xb0, 0xe6, 0xd2, 0x8e, 0xba, 0x36, 0x02, 0x5e, 0x6a, - 0x5b, 0x6f, 0x33, 0x07, 0x8b, 0xbf, 0xe3, 0xd7, 0x4f, 0x7b, - 0x27, 0x13, 0x9f, 0xab, 0xf7, 0xc3, 0xf2, 0xc6, 0x9a, 0xae, - 0x22, 0x16, 0x4a, 0x7e, 0x28, 0x1c, 0x40, 0x74, 0xf8, 0xcc, - 0x90, 0xa4, 0x95, 0xa1, 0xfd, 0xc9, 0x45, 0x71, 0x2d, 0x19, - 0x1f, 0x2b, 0x77, 0x43, 0xcf, 0xfb, 0xa7, 0x93, 0xa2, 0x96, - 0xca, 0xfe, 0x72, 0x46, 0x1a, 0x2e, 0x78, 0x4c, 0x10, 0x24, - 0xa8, 0x9c, 0xc0, 0xf4, 0xc5, 0xf1, 0xad, 0x99, 0x15, 0x21, - 0x7d, 0x49, 0xd1, 0xe5, 0xb9, 0x8d, 0x01, 0x35, 0x69, 0x5d, - 0x6c, 0x58, 0x04, 0x30, 0xbc, 0x88, 0xd4, 0xe0, 0xb6, 0x82, - 0xde, 0xea, 0x66, 0x52, 0x0e, 0x3a, 0x0b, 0x3f, 0x63, 0x57, - 0xdb, 0xef, 0xb3, 0x87, 0x9e, 0xaa, 0xf6, 0xc2, 0x4e, 0x7a, - 0x26, 0x12, 0x23, 0x17, 0x4b, 0x7f, 0xf3, 0xc7, 0x9b, 0xaf, - 0xf9, 0xcd, 0x91, 0xa5, 0x29, 0x1d, 0x41, 0x75, 0x44, 0x70, - 0x2c, 0x18, 0x94, 0xa0, 0xfc, 0xc8, 0x50, 0x64, 0x38, 0x0c, - 0x80, 0xb4, 0xe8, 0xdc, 0xed, 0xd9, 0x85, 0xb1, 0x3d, 0x09, - 0x55, 0x61, 0x37, 0x03, 0x5f, 0x6b, 0xe7, 0xd3, 0x8f, 0xbb, - 0x8a, 0xbe, 0xe2, 0xd6, 0x5a, 0x6e, 0x32, 0x06, 0x00, 0x35, - 0x6a, 0x5f, 0xd4, 0xe1, 0xbe, 0x8b, 0xb5, 0x80, 0xdf, 0xea, - 0x61, 0x54, 0x0b, 0x3e, 0x77, 0x42, 0x1d, 0x28, 0xa3, 0x96, - 0xc9, 0xfc, 0xc2, 0xf7, 0xa8, 0x9d, 0x16, 0x23, 0x7c, 0x49, - 0xee, 0xdb, 0x84, 0xb1, 0x3a, 0x0f, 0x50, 0x65, 0x5b, 0x6e, - 0x31, 0x04, 0x8f, 0xba, 0xe5, 0xd0, 0x99, 0xac, 0xf3, 0xc6, - 0x4d, 0x78, 0x27, 0x12, 0x2c, 0x19, 0x46, 0x73, 0xf8, 0xcd, - 0x92, 0xa7, 0xc1, 0xf4, 0xab, 0x9e, 0x15, 0x20, 0x7f, 0x4a, - 0x74, 0x41, 0x1e, 0x2b, 0xa0, 0x95, 0xca, 0xff, 0xb6, 0x83, - 0xdc, 0xe9, 0x62, 0x57, 0x08, 0x3d, 0x03, 0x36, 0x69, 0x5c, - 0xd7, 0xe2, 0xbd, 0x88, 0x2f, 0x1a, 0x45, 0x70, 0xfb, 0xce, - 0x91, 0xa4, 0x9a, 0xaf, 0xf0, 0xc5, 0x4e, 0x7b, 0x24, 0x11, - 0x58, 0x6d, 0x32, 0x07, 0x8c, 0xb9, 0xe6, 0xd3, 0xed, 0xd8, - 0x87, 0xb2, 0x39, 0x0c, 0x53, 0x66, 0x9f, 0xaa, 0xf5, 0xc0, - 0x4b, 0x7e, 0x21, 0x14, 0x2a, 0x1f, 0x40, 0x75, 0xfe, 0xcb, - 0x94, 0xa1, 0xe8, 0xdd, 0x82, 0xb7, 0x3c, 0x09, 0x56, 0x63, - 0x5d, 0x68, 0x37, 0x02, 0x89, 0xbc, 0xe3, 0xd6, 0x71, 0x44, - 0x1b, 0x2e, 0xa5, 0x90, 0xcf, 0xfa, 0xc4, 0xf1, 0xae, 0x9b, - 0x10, 0x25, 0x7a, 0x4f, 0x06, 0x33, 0x6c, 0x59, 0xd2, 0xe7, - 0xb8, 0x8d, 0xb3, 0x86, 0xd9, 0xec, 0x67, 0x52, 0x0d, 0x38, - 0x5e, 0x6b, 0x34, 0x01, 0x8a, 0xbf, 0xe0, 0xd5, 0xeb, 0xde, - 0x81, 0xb4, 0x3f, 0x0a, 0x55, 0x60, 0x29, 0x1c, 0x43, 0x76, - 0xfd, 0xc8, 0x97, 0xa2, 0x9c, 0xa9, 0xf6, 0xc3, 0x48, 0x7d, - 0x22, 0x17, 0xb0, 0x85, 0xda, 0xef, 0x64, 0x51, 0x0e, 0x3b, - 0x05, 0x30, 0x6f, 0x5a, 0xd1, 0xe4, 0xbb, 0x8e, 0xc7, 0xf2, - 0xad, 0x98, 0x13, 0x26, 0x79, 0x4c, 0x72, 0x47, 0x18, 0x2d, - 0xa6, 0x93, 0xcc, 0xf9, 0x00, 0x36, 0x6c, 0x5a, 0xd8, 0xee, - 0xb4, 0x82, 0xad, 0x9b, 0xc1, 0xf7, 0x75, 0x43, 0x19, 0x2f, - 0x47, 0x71, 0x2b, 0x1d, 0x9f, 0xa9, 0xf3, 0xc5, 0xea, 0xdc, - 0x86, 0xb0, 0x32, 0x04, 0x5e, 0x68, 0x8e, 0xb8, 0xe2, 0xd4, - 0x56, 0x60, 0x3a, 0x0c, 0x23, 0x15, 0x4f, 0x79, 0xfb, 0xcd, - 0x97, 0xa1, 0xc9, 0xff, 0xa5, 0x93, 0x11, 0x27, 0x7d, 0x4b, - 0x64, 0x52, 0x08, 0x3e, 0xbc, 0x8a, 0xd0, 0xe6, 0x01, 0x37, - 0x6d, 0x5b, 0xd9, 0xef, 0xb5, 0x83, 0xac, 0x9a, 0xc0, 0xf6, - 0x74, 0x42, 0x18, 0x2e, 0x46, 0x70, 0x2a, 0x1c, 0x9e, 0xa8, - 0xf2, 0xc4, 0xeb, 0xdd, 0x87, 0xb1, 0x33, 0x05, 0x5f, 0x69, - 0x8f, 0xb9, 0xe3, 0xd5, 0x57, 0x61, 0x3b, 0x0d, 0x22, 0x14, - 0x4e, 0x78, 0xfa, 0xcc, 0x96, 0xa0, 0xc8, 0xfe, 0xa4, 0x92, - 0x10, 0x26, 0x7c, 0x4a, 0x65, 0x53, 0x09, 0x3f, 0xbd, 0x8b, - 0xd1, 0xe7, 0x02, 0x34, 0x6e, 0x58, 0xda, 0xec, 0xb6, 0x80, - 0xaf, 0x99, 0xc3, 0xf5, 0x77, 0x41, 0x1b, 0x2d, 0x45, 0x73, - 0x29, 0x1f, 0x9d, 0xab, 0xf1, 0xc7, 0xe8, 0xde, 0x84, 0xb2, - 0x30, 0x06, 0x5c, 0x6a, 0x8c, 0xba, 0xe0, 0xd6, 0x54, 0x62, - 0x38, 0x0e, 0x21, 0x17, 0x4d, 0x7b, 0xf9, 0xcf, 0x95, 0xa3, - 0xcb, 0xfd, 0xa7, 0x91, 0x13, 0x25, 0x7f, 0x49, 0x66, 0x50, - 0x0a, 0x3c, 0xbe, 0x88, 0xd2, 0xe4, 0x03, 0x35, 0x6f, 0x59, - 0xdb, 0xed, 0xb7, 0x81, 0xae, 0x98, 0xc2, 0xf4, 0x76, 0x40, - 0x1a, 0x2c, 0x44, 0x72, 0x28, 0x1e, 0x9c, 0xaa, 0xf0, 0xc6, - 0xe9, 0xdf, 0x85, 0xb3, 0x31, 0x07, 0x5d, 0x6b, 0x8d, 0xbb, - 0xe1, 0xd7, 0x55, 0x63, 0x39, 0x0f, 0x20, 0x16, 0x4c, 0x7a, - 0xf8, 0xce, 0x94, 0xa2, 0xca, 0xfc, 0xa6, 0x90, 0x12, 0x24, - 0x7e, 0x48, 0x67, 0x51, 0x0b, 0x3d, 0xbf, 0x89, 0xd3, 0xe5, - 0x00, 0x37, 0x6e, 0x59, 0xdc, 0xeb, 0xb2, 0x85, 0xa5, 0x92, - 0xcb, 0xfc, 0x79, 0x4e, 0x17, 0x20, 0x57, 0x60, 0x39, 0x0e, - 0x8b, 0xbc, 0xe5, 0xd2, 0xf2, 0xc5, 0x9c, 0xab, 0x2e, 0x19, - 0x40, 0x77, 0xae, 0x99, 0xc0, 0xf7, 0x72, 0x45, 0x1c, 0x2b, - 0x0b, 0x3c, 0x65, 0x52, 0xd7, 0xe0, 0xb9, 0x8e, 0xf9, 0xce, - 0x97, 0xa0, 0x25, 0x12, 0x4b, 0x7c, 0x5c, 0x6b, 0x32, 0x05, - 0x80, 0xb7, 0xee, 0xd9, 0x41, 0x76, 0x2f, 0x18, 0x9d, 0xaa, - 0xf3, 0xc4, 0xe4, 0xd3, 0x8a, 0xbd, 0x38, 0x0f, 0x56, 0x61, - 0x16, 0x21, 0x78, 0x4f, 0xca, 0xfd, 0xa4, 0x93, 0xb3, 0x84, - 0xdd, 0xea, 0x6f, 0x58, 0x01, 0x36, 0xef, 0xd8, 0x81, 0xb6, - 0x33, 0x04, 0x5d, 0x6a, 0x4a, 0x7d, 0x24, 0x13, 0x96, 0xa1, - 0xf8, 0xcf, 0xb8, 0x8f, 0xd6, 0xe1, 0x64, 0x53, 0x0a, 0x3d, - 0x1d, 0x2a, 0x73, 0x44, 0xc1, 0xf6, 0xaf, 0x98, 0x82, 0xb5, - 0xec, 0xdb, 0x5e, 0x69, 0x30, 0x07, 0x27, 0x10, 0x49, 0x7e, - 0xfb, 0xcc, 0x95, 0xa2, 0xd5, 0xe2, 0xbb, 0x8c, 0x09, 0x3e, - 0x67, 0x50, 0x70, 0x47, 0x1e, 0x29, 0xac, 0x9b, 0xc2, 0xf5, - 0x2c, 0x1b, 0x42, 0x75, 0xf0, 0xc7, 0x9e, 0xa9, 0x89, 0xbe, - 0xe7, 0xd0, 0x55, 0x62, 0x3b, 0x0c, 0x7b, 0x4c, 0x15, 0x22, - 0xa7, 0x90, 0xc9, 0xfe, 0xde, 0xe9, 0xb0, 0x87, 0x02, 0x35, - 0x6c, 0x5b, 0xc3, 0xf4, 0xad, 0x9a, 0x1f, 0x28, 0x71, 0x46, - 0x66, 0x51, 0x08, 0x3f, 0xba, 0x8d, 0xd4, 0xe3, 0x94, 0xa3, - 0xfa, 0xcd, 0x48, 0x7f, 0x26, 0x11, 0x31, 0x06, 0x5f, 0x68, - 0xed, 0xda, 0x83, 0xb4, 0x6d, 0x5a, 0x03, 0x34, 0xb1, 0x86, - 0xdf, 0xe8, 0xc8, 0xff, 0xa6, 0x91, 0x14, 0x23, 0x7a, 0x4d, - 0x3a, 0x0d, 0x54, 0x63, 0xe6, 0xd1, 0x88, 0xbf, 0x9f, 0xa8, - 0xf1, 0xc6, 0x43, 0x74, 0x2d, 0x1a, 0x00, 0x38, 0x70, 0x48, - 0xe0, 0xd8, 0x90, 0xa8, 0xdd, 0xe5, 0xad, 0x95, 0x3d, 0x05, - 0x4d, 0x75, 0xa7, 0x9f, 0xd7, 0xef, 0x47, 0x7f, 0x37, 0x0f, - 0x7a, 0x42, 0x0a, 0x32, 0x9a, 0xa2, 0xea, 0xd2, 0x53, 0x6b, - 0x23, 0x1b, 0xb3, 0x8b, 0xc3, 0xfb, 0x8e, 0xb6, 0xfe, 0xc6, - 0x6e, 0x56, 0x1e, 0x26, 0xf4, 0xcc, 0x84, 0xbc, 0x14, 0x2c, - 0x64, 0x5c, 0x29, 0x11, 0x59, 0x61, 0xc9, 0xf1, 0xb9, 0x81, - 0xa6, 0x9e, 0xd6, 0xee, 0x46, 0x7e, 0x36, 0x0e, 0x7b, 0x43, - 0x0b, 0x33, 0x9b, 0xa3, 0xeb, 0xd3, 0x01, 0x39, 0x71, 0x49, - 0xe1, 0xd9, 0x91, 0xa9, 0xdc, 0xe4, 0xac, 0x94, 0x3c, 0x04, - 0x4c, 0x74, 0xf5, 0xcd, 0x85, 0xbd, 0x15, 0x2d, 0x65, 0x5d, - 0x28, 0x10, 0x58, 0x60, 0xc8, 0xf0, 0xb8, 0x80, 0x52, 0x6a, - 0x22, 0x1a, 0xb2, 0x8a, 0xc2, 0xfa, 0x8f, 0xb7, 0xff, 0xc7, - 0x6f, 0x57, 0x1f, 0x27, 0x51, 0x69, 0x21, 0x19, 0xb1, 0x89, - 0xc1, 0xf9, 0x8c, 0xb4, 0xfc, 0xc4, 0x6c, 0x54, 0x1c, 0x24, - 0xf6, 0xce, 0x86, 0xbe, 0x16, 0x2e, 0x66, 0x5e, 0x2b, 0x13, - 0x5b, 0x63, 0xcb, 0xf3, 0xbb, 0x83, 0x02, 0x3a, 0x72, 0x4a, - 0xe2, 0xda, 0x92, 0xaa, 0xdf, 0xe7, 0xaf, 0x97, 0x3f, 0x07, - 0x4f, 0x77, 0xa5, 0x9d, 0xd5, 0xed, 0x45, 0x7d, 0x35, 0x0d, - 0x78, 0x40, 0x08, 0x30, 0x98, 0xa0, 0xe8, 0xd0, 0xf7, 0xcf, - 0x87, 0xbf, 0x17, 0x2f, 0x67, 0x5f, 0x2a, 0x12, 0x5a, 0x62, - 0xca, 0xf2, 0xba, 0x82, 0x50, 0x68, 0x20, 0x18, 0xb0, 0x88, - 0xc0, 0xf8, 0x8d, 0xb5, 0xfd, 0xc5, 0x6d, 0x55, 0x1d, 0x25, - 0xa4, 0x9c, 0xd4, 0xec, 0x44, 0x7c, 0x34, 0x0c, 0x79, 0x41, - 0x09, 0x31, 0x99, 0xa1, 0xe9, 0xd1, 0x03, 0x3b, 0x73, 0x4b, - 0xe3, 0xdb, 0x93, 0xab, 0xde, 0xe6, 0xae, 0x96, 0x3e, 0x06, - 0x4e, 0x76, 0x00, 0x39, 0x72, 0x4b, 0xe4, 0xdd, 0x96, 0xaf, - 0xd5, 0xec, 0xa7, 0x9e, 0x31, 0x08, 0x43, 0x7a, 0xb7, 0x8e, - 0xc5, 0xfc, 0x53, 0x6a, 0x21, 0x18, 0x62, 0x5b, 0x10, 0x29, - 0x86, 0xbf, 0xf4, 0xcd, 0x73, 0x4a, 0x01, 0x38, 0x97, 0xae, - 0xe5, 0xdc, 0xa6, 0x9f, 0xd4, 0xed, 0x42, 0x7b, 0x30, 0x09, - 0xc4, 0xfd, 0xb6, 0x8f, 0x20, 0x19, 0x52, 0x6b, 0x11, 0x28, - 0x63, 0x5a, 0xf5, 0xcc, 0x87, 0xbe, 0xe6, 0xdf, 0x94, 0xad, - 0x02, 0x3b, 0x70, 0x49, 0x33, 0x0a, 0x41, 0x78, 0xd7, 0xee, - 0xa5, 0x9c, 0x51, 0x68, 0x23, 0x1a, 0xb5, 0x8c, 0xc7, 0xfe, - 0x84, 0xbd, 0xf6, 0xcf, 0x60, 0x59, 0x12, 0x2b, 0x95, 0xac, - 0xe7, 0xde, 0x71, 0x48, 0x03, 0x3a, 0x40, 0x79, 0x32, 0x0b, - 0xa4, 0x9d, 0xd6, 0xef, 0x22, 0x1b, 0x50, 0x69, 0xc6, 0xff, - 0xb4, 0x8d, 0xf7, 0xce, 0x85, 0xbc, 0x13, 0x2a, 0x61, 0x58, - 0xd1, 0xe8, 0xa3, 0x9a, 0x35, 0x0c, 0x47, 0x7e, 0x04, 0x3d, - 0x76, 0x4f, 0xe0, 0xd9, 0x92, 0xab, 0x66, 0x5f, 0x14, 0x2d, - 0x82, 0xbb, 0xf0, 0xc9, 0xb3, 0x8a, 0xc1, 0xf8, 0x57, 0x6e, - 0x25, 0x1c, 0xa2, 0x9b, 0xd0, 0xe9, 0x46, 0x7f, 0x34, 0x0d, - 0x77, 0x4e, 0x05, 0x3c, 0x93, 0xaa, 0xe1, 0xd8, 0x15, 0x2c, - 0x67, 0x5e, 0xf1, 0xc8, 0x83, 0xba, 0xc0, 0xf9, 0xb2, 0x8b, - 0x24, 0x1d, 0x56, 0x6f, 0x37, 0x0e, 0x45, 0x7c, 0xd3, 0xea, - 0xa1, 0x98, 0xe2, 0xdb, 0x90, 0xa9, 0x06, 0x3f, 0x74, 0x4d, - 0x80, 0xb9, 0xf2, 0xcb, 0x64, 0x5d, 0x16, 0x2f, 0x55, 0x6c, - 0x27, 0x1e, 0xb1, 0x88, 0xc3, 0xfa, 0x44, 0x7d, 0x36, 0x0f, - 0xa0, 0x99, 0xd2, 0xeb, 0x91, 0xa8, 0xe3, 0xda, 0x75, 0x4c, - 0x07, 0x3e, 0xf3, 0xca, 0x81, 0xb8, 0x17, 0x2e, 0x65, 0x5c, - 0x26, 0x1f, 0x54, 0x6d, 0xc2, 0xfb, 0xb0, 0x89, 0x00, 0x3a, - 0x74, 0x4e, 0xe8, 0xd2, 0x9c, 0xa6, 0xcd, 0xf7, 0xb9, 0x83, - 0x25, 0x1f, 0x51, 0x6b, 0x87, 0xbd, 0xf3, 0xc9, 0x6f, 0x55, - 0x1b, 0x21, 0x4a, 0x70, 0x3e, 0x04, 0xa2, 0x98, 0xd6, 0xec, - 0x13, 0x29, 0x67, 0x5d, 0xfb, 0xc1, 0x8f, 0xb5, 0xde, 0xe4, - 0xaa, 0x90, 0x36, 0x0c, 0x42, 0x78, 0x94, 0xae, 0xe0, 0xda, - 0x7c, 0x46, 0x08, 0x32, 0x59, 0x63, 0x2d, 0x17, 0xb1, 0x8b, - 0xc5, 0xff, 0x26, 0x1c, 0x52, 0x68, 0xce, 0xf4, 0xba, 0x80, - 0xeb, 0xd1, 0x9f, 0xa5, 0x03, 0x39, 0x77, 0x4d, 0xa1, 0x9b, - 0xd5, 0xef, 0x49, 0x73, 0x3d, 0x07, 0x6c, 0x56, 0x18, 0x22, - 0x84, 0xbe, 0xf0, 0xca, 0x35, 0x0f, 0x41, 0x7b, 0xdd, 0xe7, - 0xa9, 0x93, 0xf8, 0xc2, 0x8c, 0xb6, 0x10, 0x2a, 0x64, 0x5e, - 0xb2, 0x88, 0xc6, 0xfc, 0x5a, 0x60, 0x2e, 0x14, 0x7f, 0x45, - 0x0b, 0x31, 0x97, 0xad, 0xe3, 0xd9, 0x4c, 0x76, 0x38, 0x02, - 0xa4, 0x9e, 0xd0, 0xea, 0x81, 0xbb, 0xf5, 0xcf, 0x69, 0x53, - 0x1d, 0x27, 0xcb, 0xf1, 0xbf, 0x85, 0x23, 0x19, 0x57, 0x6d, - 0x06, 0x3c, 0x72, 0x48, 0xee, 0xd4, 0x9a, 0xa0, 0x5f, 0x65, - 0x2b, 0x11, 0xb7, 0x8d, 0xc3, 0xf9, 0x92, 0xa8, 0xe6, 0xdc, - 0x7a, 0x40, 0x0e, 0x34, 0xd8, 0xe2, 0xac, 0x96, 0x30, 0x0a, - 0x44, 0x7e, 0x15, 0x2f, 0x61, 0x5b, 0xfd, 0xc7, 0x89, 0xb3, - 0x6a, 0x50, 0x1e, 0x24, 0x82, 0xb8, 0xf6, 0xcc, 0xa7, 0x9d, - 0xd3, 0xe9, 0x4f, 0x75, 0x3b, 0x01, 0xed, 0xd7, 0x99, 0xa3, - 0x05, 0x3f, 0x71, 0x4b, 0x20, 0x1a, 0x54, 0x6e, 0xc8, 0xf2, - 0xbc, 0x86, 0x79, 0x43, 0x0d, 0x37, 0x91, 0xab, 0xe5, 0xdf, - 0xb4, 0x8e, 0xc0, 0xfa, 0x5c, 0x66, 0x28, 0x12, 0xfe, 0xc4, - 0x8a, 0xb0, 0x16, 0x2c, 0x62, 0x58, 0x33, 0x09, 0x47, 0x7d, - 0xdb, 0xe1, 0xaf, 0x95, 0x00, 0x3b, 0x76, 0x4d, 0xec, 0xd7, - 0x9a, 0xa1, 0xc5, 0xfe, 0xb3, 0x88, 0x29, 0x12, 0x5f, 0x64, - 0x97, 0xac, 0xe1, 0xda, 0x7b, 0x40, 0x0d, 0x36, 0x52, 0x69, - 0x24, 0x1f, 0xbe, 0x85, 0xc8, 0xf3, 0x33, 0x08, 0x45, 0x7e, - 0xdf, 0xe4, 0xa9, 0x92, 0xf6, 0xcd, 0x80, 0xbb, 0x1a, 0x21, - 0x6c, 0x57, 0xa4, 0x9f, 0xd2, 0xe9, 0x48, 0x73, 0x3e, 0x05, - 0x61, 0x5a, 0x17, 0x2c, 0x8d, 0xb6, 0xfb, 0xc0, 0x66, 0x5d, - 0x10, 0x2b, 0x8a, 0xb1, 0xfc, 0xc7, 0xa3, 0x98, 0xd5, 0xee, - 0x4f, 0x74, 0x39, 0x02, 0xf1, 0xca, 0x87, 0xbc, 0x1d, 0x26, - 0x6b, 0x50, 0x34, 0x0f, 0x42, 0x79, 0xd8, 0xe3, 0xae, 0x95, - 0x55, 0x6e, 0x23, 0x18, 0xb9, 0x82, 0xcf, 0xf4, 0x90, 0xab, - 0xe6, 0xdd, 0x7c, 0x47, 0x0a, 0x31, 0xc2, 0xf9, 0xb4, 0x8f, - 0x2e, 0x15, 0x58, 0x63, 0x07, 0x3c, 0x71, 0x4a, 0xeb, 0xd0, - 0x9d, 0xa6, 0xcc, 0xf7, 0xba, 0x81, 0x20, 0x1b, 0x56, 0x6d, - 0x09, 0x32, 0x7f, 0x44, 0xe5, 0xde, 0x93, 0xa8, 0x5b, 0x60, - 0x2d, 0x16, 0xb7, 0x8c, 0xc1, 0xfa, 0x9e, 0xa5, 0xe8, 0xd3, - 0x72, 0x49, 0x04, 0x3f, 0xff, 0xc4, 0x89, 0xb2, 0x13, 0x28, - 0x65, 0x5e, 0x3a, 0x01, 0x4c, 0x77, 0xd6, 0xed, 0xa0, 0x9b, - 0x68, 0x53, 0x1e, 0x25, 0x84, 0xbf, 0xf2, 0xc9, 0xad, 0x96, - 0xdb, 0xe0, 0x41, 0x7a, 0x37, 0x0c, 0xaa, 0x91, 0xdc, 0xe7, - 0x46, 0x7d, 0x30, 0x0b, 0x6f, 0x54, 0x19, 0x22, 0x83, 0xb8, - 0xf5, 0xce, 0x3d, 0x06, 0x4b, 0x70, 0xd1, 0xea, 0xa7, 0x9c, - 0xf8, 0xc3, 0x8e, 0xb5, 0x14, 0x2f, 0x62, 0x59, 0x99, 0xa2, - 0xef, 0xd4, 0x75, 0x4e, 0x03, 0x38, 0x5c, 0x67, 0x2a, 0x11, - 0xb0, 0x8b, 0xc6, 0xfd, 0x0e, 0x35, 0x78, 0x43, 0xe2, 0xd9, - 0x94, 0xaf, 0xcb, 0xf0, 0xbd, 0x86, 0x27, 0x1c, 0x51, 0x6a, - 0x00, 0x3c, 0x78, 0x44, 0xf0, 0xcc, 0x88, 0xb4, 0xfd, 0xc1, - 0x85, 0xb9, 0x0d, 0x31, 0x75, 0x49, 0xe7, 0xdb, 0x9f, 0xa3, - 0x17, 0x2b, 0x6f, 0x53, 0x1a, 0x26, 0x62, 0x5e, 0xea, 0xd6, - 0x92, 0xae, 0xd3, 0xef, 0xab, 0x97, 0x23, 0x1f, 0x5b, 0x67, - 0x2e, 0x12, 0x56, 0x6a, 0xde, 0xe2, 0xa6, 0x9a, 0x34, 0x08, - 0x4c, 0x70, 0xc4, 0xf8, 0xbc, 0x80, 0xc9, 0xf5, 0xb1, 0x8d, - 0x39, 0x05, 0x41, 0x7d, 0xbb, 0x87, 0xc3, 0xff, 0x4b, 0x77, - 0x33, 0x0f, 0x46, 0x7a, 0x3e, 0x02, 0xb6, 0x8a, 0xce, 0xf2, - 0x5c, 0x60, 0x24, 0x18, 0xac, 0x90, 0xd4, 0xe8, 0xa1, 0x9d, - 0xd9, 0xe5, 0x51, 0x6d, 0x29, 0x15, 0x68, 0x54, 0x10, 0x2c, - 0x98, 0xa4, 0xe0, 0xdc, 0x95, 0xa9, 0xed, 0xd1, 0x65, 0x59, - 0x1d, 0x21, 0x8f, 0xb3, 0xf7, 0xcb, 0x7f, 0x43, 0x07, 0x3b, - 0x72, 0x4e, 0x0a, 0x36, 0x82, 0xbe, 0xfa, 0xc6, 0x6b, 0x57, - 0x13, 0x2f, 0x9b, 0xa7, 0xe3, 0xdf, 0x96, 0xaa, 0xee, 0xd2, - 0x66, 0x5a, 0x1e, 0x22, 0x8c, 0xb0, 0xf4, 0xc8, 0x7c, 0x40, - 0x04, 0x38, 0x71, 0x4d, 0x09, 0x35, 0x81, 0xbd, 0xf9, 0xc5, - 0xb8, 0x84, 0xc0, 0xfc, 0x48, 0x74, 0x30, 0x0c, 0x45, 0x79, - 0x3d, 0x01, 0xb5, 0x89, 0xcd, 0xf1, 0x5f, 0x63, 0x27, 0x1b, - 0xaf, 0x93, 0xd7, 0xeb, 0xa2, 0x9e, 0xda, 0xe6, 0x52, 0x6e, - 0x2a, 0x16, 0xd0, 0xec, 0xa8, 0x94, 0x20, 0x1c, 0x58, 0x64, - 0x2d, 0x11, 0x55, 0x69, 0xdd, 0xe1, 0xa5, 0x99, 0x37, 0x0b, - 0x4f, 0x73, 0xc7, 0xfb, 0xbf, 0x83, 0xca, 0xf6, 0xb2, 0x8e, - 0x3a, 0x06, 0x42, 0x7e, 0x03, 0x3f, 0x7b, 0x47, 0xf3, 0xcf, - 0x8b, 0xb7, 0xfe, 0xc2, 0x86, 0xba, 0x0e, 0x32, 0x76, 0x4a, - 0xe4, 0xd8, 0x9c, 0xa0, 0x14, 0x28, 0x6c, 0x50, 0x19, 0x25, - 0x61, 0x5d, 0xe9, 0xd5, 0x91, 0xad, 0x00, 0x3d, 0x7a, 0x47, - 0xf4, 0xc9, 0x8e, 0xb3, 0xf5, 0xc8, 0x8f, 0xb2, 0x01, 0x3c, - 0x7b, 0x46, 0xf7, 0xca, 0x8d, 0xb0, 0x03, 0x3e, 0x79, 0x44, - 0x02, 0x3f, 0x78, 0x45, 0xf6, 0xcb, 0x8c, 0xb1, 0xf3, 0xce, - 0x89, 0xb4, 0x07, 0x3a, 0x7d, 0x40, 0x06, 0x3b, 0x7c, 0x41, - 0xf2, 0xcf, 0x88, 0xb5, 0x04, 0x39, 0x7e, 0x43, 0xf0, 0xcd, - 0x8a, 0xb7, 0xf1, 0xcc, 0x8b, 0xb6, 0x05, 0x38, 0x7f, 0x42, - 0xfb, 0xc6, 0x81, 0xbc, 0x0f, 0x32, 0x75, 0x48, 0x0e, 0x33, - 0x74, 0x49, 0xfa, 0xc7, 0x80, 0xbd, 0x0c, 0x31, 0x76, 0x4b, - 0xf8, 0xc5, 0x82, 0xbf, 0xf9, 0xc4, 0x83, 0xbe, 0x0d, 0x30, - 0x77, 0x4a, 0x08, 0x35, 0x72, 0x4f, 0xfc, 0xc1, 0x86, 0xbb, - 0xfd, 0xc0, 0x87, 0xba, 0x09, 0x34, 0x73, 0x4e, 0xff, 0xc2, - 0x85, 0xb8, 0x0b, 0x36, 0x71, 0x4c, 0x0a, 0x37, 0x70, 0x4d, - 0xfe, 0xc3, 0x84, 0xb9, 0xeb, 0xd6, 0x91, 0xac, 0x1f, 0x22, - 0x65, 0x58, 0x1e, 0x23, 0x64, 0x59, 0xea, 0xd7, 0x90, 0xad, - 0x1c, 0x21, 0x66, 0x5b, 0xe8, 0xd5, 0x92, 0xaf, 0xe9, 0xd4, - 0x93, 0xae, 0x1d, 0x20, 0x67, 0x5a, 0x18, 0x25, 0x62, 0x5f, - 0xec, 0xd1, 0x96, 0xab, 0xed, 0xd0, 0x97, 0xaa, 0x19, 0x24, - 0x63, 0x5e, 0xef, 0xd2, 0x95, 0xa8, 0x1b, 0x26, 0x61, 0x5c, - 0x1a, 0x27, 0x60, 0x5d, 0xee, 0xd3, 0x94, 0xa9, 0x10, 0x2d, - 0x6a, 0x57, 0xe4, 0xd9, 0x9e, 0xa3, 0xe5, 0xd8, 0x9f, 0xa2, - 0x11, 0x2c, 0x6b, 0x56, 0xe7, 0xda, 0x9d, 0xa0, 0x13, 0x2e, - 0x69, 0x54, 0x12, 0x2f, 0x68, 0x55, 0xe6, 0xdb, 0x9c, 0xa1, - 0xe3, 0xde, 0x99, 0xa4, 0x17, 0x2a, 0x6d, 0x50, 0x16, 0x2b, - 0x6c, 0x51, 0xe2, 0xdf, 0x98, 0xa5, 0x14, 0x29, 0x6e, 0x53, - 0xe0, 0xdd, 0x9a, 0xa7, 0xe1, 0xdc, 0x9b, 0xa6, 0x15, 0x28, - 0x6f, 0x52, 0x00, 0x3e, 0x7c, 0x42, 0xf8, 0xc6, 0x84, 0xba, - 0xed, 0xd3, 0x91, 0xaf, 0x15, 0x2b, 0x69, 0x57, 0xc7, 0xf9, - 0xbb, 0x85, 0x3f, 0x01, 0x43, 0x7d, 0x2a, 0x14, 0x56, 0x68, - 0xd2, 0xec, 0xae, 0x90, 0x93, 0xad, 0xef, 0xd1, 0x6b, 0x55, - 0x17, 0x29, 0x7e, 0x40, 0x02, 0x3c, 0x86, 0xb8, 0xfa, 0xc4, - 0x54, 0x6a, 0x28, 0x16, 0xac, 0x92, 0xd0, 0xee, 0xb9, 0x87, - 0xc5, 0xfb, 0x41, 0x7f, 0x3d, 0x03, 0x3b, 0x05, 0x47, 0x79, - 0xc3, 0xfd, 0xbf, 0x81, 0xd6, 0xe8, 0xaa, 0x94, 0x2e, 0x10, - 0x52, 0x6c, 0xfc, 0xc2, 0x80, 0xbe, 0x04, 0x3a, 0x78, 0x46, - 0x11, 0x2f, 0x6d, 0x53, 0xe9, 0xd7, 0x95, 0xab, 0xa8, 0x96, - 0xd4, 0xea, 0x50, 0x6e, 0x2c, 0x12, 0x45, 0x7b, 0x39, 0x07, - 0xbd, 0x83, 0xc1, 0xff, 0x6f, 0x51, 0x13, 0x2d, 0x97, 0xa9, - 0xeb, 0xd5, 0x82, 0xbc, 0xfe, 0xc0, 0x7a, 0x44, 0x06, 0x38, - 0x76, 0x48, 0x0a, 0x34, 0x8e, 0xb0, 0xf2, 0xcc, 0x9b, 0xa5, - 0xe7, 0xd9, 0x63, 0x5d, 0x1f, 0x21, 0xb1, 0x8f, 0xcd, 0xf3, - 0x49, 0x77, 0x35, 0x0b, 0x5c, 0x62, 0x20, 0x1e, 0xa4, 0x9a, - 0xd8, 0xe6, 0xe5, 0xdb, 0x99, 0xa7, 0x1d, 0x23, 0x61, 0x5f, - 0x08, 0x36, 0x74, 0x4a, 0xf0, 0xce, 0x8c, 0xb2, 0x22, 0x1c, - 0x5e, 0x60, 0xda, 0xe4, 0xa6, 0x98, 0xcf, 0xf1, 0xb3, 0x8d, - 0x37, 0x09, 0x4b, 0x75, 0x4d, 0x73, 0x31, 0x0f, 0xb5, 0x8b, - 0xc9, 0xf7, 0xa0, 0x9e, 0xdc, 0xe2, 0x58, 0x66, 0x24, 0x1a, - 0x8a, 0xb4, 0xf6, 0xc8, 0x72, 0x4c, 0x0e, 0x30, 0x67, 0x59, - 0x1b, 0x25, 0x9f, 0xa1, 0xe3, 0xdd, 0xde, 0xe0, 0xa2, 0x9c, - 0x26, 0x18, 0x5a, 0x64, 0x33, 0x0d, 0x4f, 0x71, 0xcb, 0xf5, - 0xb7, 0x89, 0x19, 0x27, 0x65, 0x5b, 0xe1, 0xdf, 0x9d, 0xa3, - 0xf4, 0xca, 0x88, 0xb6, 0x0c, 0x32, 0x70, 0x4e, 0x00, 0x3f, - 0x7e, 0x41, 0xfc, 0xc3, 0x82, 0xbd, 0xe5, 0xda, 0x9b, 0xa4, - 0x19, 0x26, 0x67, 0x58, 0xd7, 0xe8, 0xa9, 0x96, 0x2b, 0x14, - 0x55, 0x6a, 0x32, 0x0d, 0x4c, 0x73, 0xce, 0xf1, 0xb0, 0x8f, - 0xb3, 0x8c, 0xcd, 0xf2, 0x4f, 0x70, 0x31, 0x0e, 0x56, 0x69, - 0x28, 0x17, 0xaa, 0x95, 0xd4, 0xeb, 0x64, 0x5b, 0x1a, 0x25, - 0x98, 0xa7, 0xe6, 0xd9, 0x81, 0xbe, 0xff, 0xc0, 0x7d, 0x42, - 0x03, 0x3c, 0x7b, 0x44, 0x05, 0x3a, 0x87, 0xb8, 0xf9, 0xc6, - 0x9e, 0xa1, 0xe0, 0xdf, 0x62, 0x5d, 0x1c, 0x23, 0xac, 0x93, - 0xd2, 0xed, 0x50, 0x6f, 0x2e, 0x11, 0x49, 0x76, 0x37, 0x08, - 0xb5, 0x8a, 0xcb, 0xf4, 0xc8, 0xf7, 0xb6, 0x89, 0x34, 0x0b, - 0x4a, 0x75, 0x2d, 0x12, 0x53, 0x6c, 0xd1, 0xee, 0xaf, 0x90, - 0x1f, 0x20, 0x61, 0x5e, 0xe3, 0xdc, 0x9d, 0xa2, 0xfa, 0xc5, - 0x84, 0xbb, 0x06, 0x39, 0x78, 0x47, 0xf6, 0xc9, 0x88, 0xb7, - 0x0a, 0x35, 0x74, 0x4b, 0x13, 0x2c, 0x6d, 0x52, 0xef, 0xd0, - 0x91, 0xae, 0x21, 0x1e, 0x5f, 0x60, 0xdd, 0xe2, 0xa3, 0x9c, - 0xc4, 0xfb, 0xba, 0x85, 0x38, 0x07, 0x46, 0x79, 0x45, 0x7a, - 0x3b, 0x04, 0xb9, 0x86, 0xc7, 0xf8, 0xa0, 0x9f, 0xde, 0xe1, - 0x5c, 0x63, 0x22, 0x1d, 0x92, 0xad, 0xec, 0xd3, 0x6e, 0x51, - 0x10, 0x2f, 0x77, 0x48, 0x09, 0x36, 0x8b, 0xb4, 0xf5, 0xca, - 0x8d, 0xb2, 0xf3, 0xcc, 0x71, 0x4e, 0x0f, 0x30, 0x68, 0x57, - 0x16, 0x29, 0x94, 0xab, 0xea, 0xd5, 0x5a, 0x65, 0x24, 0x1b, - 0xa6, 0x99, 0xd8, 0xe7, 0xbf, 0x80, 0xc1, 0xfe, 0x43, 0x7c, - 0x3d, 0x02, 0x3e, 0x01, 0x40, 0x7f, 0xc2, 0xfd, 0xbc, 0x83, - 0xdb, 0xe4, 0xa5, 0x9a, 0x27, 0x18, 0x59, 0x66, 0xe9, 0xd6, - 0x97, 0xa8, 0x15, 0x2a, 0x6b, 0x54, 0x0c, 0x33, 0x72, 0x4d, - 0xf0, 0xcf, 0x8e, 0xb1, 0x00, 0x40, 0x80, 0xc0, 0x1d, 0x5d, - 0x9d, 0xdd, 0x3a, 0x7a, 0xba, 0xfa, 0x27, 0x67, 0xa7, 0xe7, - 0x74, 0x34, 0xf4, 0xb4, 0x69, 0x29, 0xe9, 0xa9, 0x4e, 0x0e, - 0xce, 0x8e, 0x53, 0x13, 0xd3, 0x93, 0xe8, 0xa8, 0x68, 0x28, - 0xf5, 0xb5, 0x75, 0x35, 0xd2, 0x92, 0x52, 0x12, 0xcf, 0x8f, - 0x4f, 0x0f, 0x9c, 0xdc, 0x1c, 0x5c, 0x81, 0xc1, 0x01, 0x41, - 0xa6, 0xe6, 0x26, 0x66, 0xbb, 0xfb, 0x3b, 0x7b, 0xcd, 0x8d, - 0x4d, 0x0d, 0xd0, 0x90, 0x50, 0x10, 0xf7, 0xb7, 0x77, 0x37, - 0xea, 0xaa, 0x6a, 0x2a, 0xb9, 0xf9, 0x39, 0x79, 0xa4, 0xe4, - 0x24, 0x64, 0x83, 0xc3, 0x03, 0x43, 0x9e, 0xde, 0x1e, 0x5e, - 0x25, 0x65, 0xa5, 0xe5, 0x38, 0x78, 0xb8, 0xf8, 0x1f, 0x5f, - 0x9f, 0xdf, 0x02, 0x42, 0x82, 0xc2, 0x51, 0x11, 0xd1, 0x91, - 0x4c, 0x0c, 0xcc, 0x8c, 0x6b, 0x2b, 0xeb, 0xab, 0x76, 0x36, - 0xf6, 0xb6, 0x87, 0xc7, 0x07, 0x47, 0x9a, 0xda, 0x1a, 0x5a, - 0xbd, 0xfd, 0x3d, 0x7d, 0xa0, 0xe0, 0x20, 0x60, 0xf3, 0xb3, - 0x73, 0x33, 0xee, 0xae, 0x6e, 0x2e, 0xc9, 0x89, 0x49, 0x09, - 0xd4, 0x94, 0x54, 0x14, 0x6f, 0x2f, 0xef, 0xaf, 0x72, 0x32, - 0xf2, 0xb2, 0x55, 0x15, 0xd5, 0x95, 0x48, 0x08, 0xc8, 0x88, - 0x1b, 0x5b, 0x9b, 0xdb, 0x06, 0x46, 0x86, 0xc6, 0x21, 0x61, - 0xa1, 0xe1, 0x3c, 0x7c, 0xbc, 0xfc, 0x4a, 0x0a, 0xca, 0x8a, - 0x57, 0x17, 0xd7, 0x97, 0x70, 0x30, 0xf0, 0xb0, 0x6d, 0x2d, - 0xed, 0xad, 0x3e, 0x7e, 0xbe, 0xfe, 0x23, 0x63, 0xa3, 0xe3, - 0x04, 0x44, 0x84, 0xc4, 0x19, 0x59, 0x99, 0xd9, 0xa2, 0xe2, - 0x22, 0x62, 0xbf, 0xff, 0x3f, 0x7f, 0x98, 0xd8, 0x18, 0x58, - 0x85, 0xc5, 0x05, 0x45, 0xd6, 0x96, 0x56, 0x16, 0xcb, 0x8b, - 0x4b, 0x0b, 0xec, 0xac, 0x6c, 0x2c, 0xf1, 0xb1, 0x71, 0x31, - 0x00, 0x41, 0x82, 0xc3, 0x19, 0x58, 0x9b, 0xda, 0x32, 0x73, - 0xb0, 0xf1, 0x2b, 0x6a, 0xa9, 0xe8, 0x64, 0x25, 0xe6, 0xa7, - 0x7d, 0x3c, 0xff, 0xbe, 0x56, 0x17, 0xd4, 0x95, 0x4f, 0x0e, - 0xcd, 0x8c, 0xc8, 0x89, 0x4a, 0x0b, 0xd1, 0x90, 0x53, 0x12, - 0xfa, 0xbb, 0x78, 0x39, 0xe3, 0xa2, 0x61, 0x20, 0xac, 0xed, - 0x2e, 0x6f, 0xb5, 0xf4, 0x37, 0x76, 0x9e, 0xdf, 0x1c, 0x5d, - 0x87, 0xc6, 0x05, 0x44, 0x8d, 0xcc, 0x0f, 0x4e, 0x94, 0xd5, - 0x16, 0x57, 0xbf, 0xfe, 0x3d, 0x7c, 0xa6, 0xe7, 0x24, 0x65, - 0xe9, 0xa8, 0x6b, 0x2a, 0xf0, 0xb1, 0x72, 0x33, 0xdb, 0x9a, - 0x59, 0x18, 0xc2, 0x83, 0x40, 0x01, 0x45, 0x04, 0xc7, 0x86, - 0x5c, 0x1d, 0xde, 0x9f, 0x77, 0x36, 0xf5, 0xb4, 0x6e, 0x2f, - 0xec, 0xad, 0x21, 0x60, 0xa3, 0xe2, 0x38, 0x79, 0xba, 0xfb, - 0x13, 0x52, 0x91, 0xd0, 0x0a, 0x4b, 0x88, 0xc9, 0x07, 0x46, - 0x85, 0xc4, 0x1e, 0x5f, 0x9c, 0xdd, 0x35, 0x74, 0xb7, 0xf6, - 0x2c, 0x6d, 0xae, 0xef, 0x63, 0x22, 0xe1, 0xa0, 0x7a, 0x3b, - 0xf8, 0xb9, 0x51, 0x10, 0xd3, 0x92, 0x48, 0x09, 0xca, 0x8b, - 0xcf, 0x8e, 0x4d, 0x0c, 0xd6, 0x97, 0x54, 0x15, 0xfd, 0xbc, - 0x7f, 0x3e, 0xe4, 0xa5, 0x66, 0x27, 0xab, 0xea, 0x29, 0x68, - 0xb2, 0xf3, 0x30, 0x71, 0x99, 0xd8, 0x1b, 0x5a, 0x80, 0xc1, - 0x02, 0x43, 0x8a, 0xcb, 0x08, 0x49, 0x93, 0xd2, 0x11, 0x50, - 0xb8, 0xf9, 0x3a, 0x7b, 0xa1, 0xe0, 0x23, 0x62, 0xee, 0xaf, - 0x6c, 0x2d, 0xf7, 0xb6, 0x75, 0x34, 0xdc, 0x9d, 0x5e, 0x1f, - 0xc5, 0x84, 0x47, 0x06, 0x42, 0x03, 0xc0, 0x81, 0x5b, 0x1a, - 0xd9, 0x98, 0x70, 0x31, 0xf2, 0xb3, 0x69, 0x28, 0xeb, 0xaa, - 0x26, 0x67, 0xa4, 0xe5, 0x3f, 0x7e, 0xbd, 0xfc, 0x14, 0x55, - 0x96, 0xd7, 0x0d, 0x4c, 0x8f, 0xce, 0x00, 0x42, 0x84, 0xc6, - 0x15, 0x57, 0x91, 0xd3, 0x2a, 0x68, 0xae, 0xec, 0x3f, 0x7d, - 0xbb, 0xf9, 0x54, 0x16, 0xd0, 0x92, 0x41, 0x03, 0xc5, 0x87, - 0x7e, 0x3c, 0xfa, 0xb8, 0x6b, 0x29, 0xef, 0xad, 0xa8, 0xea, - 0x2c, 0x6e, 0xbd, 0xff, 0x39, 0x7b, 0x82, 0xc0, 0x06, 0x44, - 0x97, 0xd5, 0x13, 0x51, 0xfc, 0xbe, 0x78, 0x3a, 0xe9, 0xab, - 0x6d, 0x2f, 0xd6, 0x94, 0x52, 0x10, 0xc3, 0x81, 0x47, 0x05, - 0x4d, 0x0f, 0xc9, 0x8b, 0x58, 0x1a, 0xdc, 0x9e, 0x67, 0x25, - 0xe3, 0xa1, 0x72, 0x30, 0xf6, 0xb4, 0x19, 0x5b, 0x9d, 0xdf, - 0x0c, 0x4e, 0x88, 0xca, 0x33, 0x71, 0xb7, 0xf5, 0x26, 0x64, - 0xa2, 0xe0, 0xe5, 0xa7, 0x61, 0x23, 0xf0, 0xb2, 0x74, 0x36, - 0xcf, 0x8d, 0x4b, 0x09, 0xda, 0x98, 0x5e, 0x1c, 0xb1, 0xf3, - 0x35, 0x77, 0xa4, 0xe6, 0x20, 0x62, 0x9b, 0xd9, 0x1f, 0x5d, - 0x8e, 0xcc, 0x0a, 0x48, 0x9a, 0xd8, 0x1e, 0x5c, 0x8f, 0xcd, - 0x0b, 0x49, 0xb0, 0xf2, 0x34, 0x76, 0xa5, 0xe7, 0x21, 0x63, - 0xce, 0x8c, 0x4a, 0x08, 0xdb, 0x99, 0x5f, 0x1d, 0xe4, 0xa6, - 0x60, 0x22, 0xf1, 0xb3, 0x75, 0x37, 0x32, 0x70, 0xb6, 0xf4, - 0x27, 0x65, 0xa3, 0xe1, 0x18, 0x5a, 0x9c, 0xde, 0x0d, 0x4f, - 0x89, 0xcb, 0x66, 0x24, 0xe2, 0xa0, 0x73, 0x31, 0xf7, 0xb5, - 0x4c, 0x0e, 0xc8, 0x8a, 0x59, 0x1b, 0xdd, 0x9f, 0xd7, 0x95, - 0x53, 0x11, 0xc2, 0x80, 0x46, 0x04, 0xfd, 0xbf, 0x79, 0x3b, - 0xe8, 0xaa, 0x6c, 0x2e, 0x83, 0xc1, 0x07, 0x45, 0x96, 0xd4, - 0x12, 0x50, 0xa9, 0xeb, 0x2d, 0x6f, 0xbc, 0xfe, 0x38, 0x7a, - 0x7f, 0x3d, 0xfb, 0xb9, 0x6a, 0x28, 0xee, 0xac, 0x55, 0x17, - 0xd1, 0x93, 0x40, 0x02, 0xc4, 0x86, 0x2b, 0x69, 0xaf, 0xed, - 0x3e, 0x7c, 0xba, 0xf8, 0x01, 0x43, 0x85, 0xc7, 0x14, 0x56, - 0x90, 0xd2, 0x00, 0x43, 0x86, 0xc5, 0x11, 0x52, 0x97, 0xd4, - 0x22, 0x61, 0xa4, 0xe7, 0x33, 0x70, 0xb5, 0xf6, 0x44, 0x07, - 0xc2, 0x81, 0x55, 0x16, 0xd3, 0x90, 0x66, 0x25, 0xe0, 0xa3, - 0x77, 0x34, 0xf1, 0xb2, 0x88, 0xcb, 0x0e, 0x4d, 0x99, 0xda, - 0x1f, 0x5c, 0xaa, 0xe9, 0x2c, 0x6f, 0xbb, 0xf8, 0x3d, 0x7e, - 0xcc, 0x8f, 0x4a, 0x09, 0xdd, 0x9e, 0x5b, 0x18, 0xee, 0xad, - 0x68, 0x2b, 0xff, 0xbc, 0x79, 0x3a, 0x0d, 0x4e, 0x8b, 0xc8, - 0x1c, 0x5f, 0x9a, 0xd9, 0x2f, 0x6c, 0xa9, 0xea, 0x3e, 0x7d, - 0xb8, 0xfb, 0x49, 0x0a, 0xcf, 0x8c, 0x58, 0x1b, 0xde, 0x9d, - 0x6b, 0x28, 0xed, 0xae, 0x7a, 0x39, 0xfc, 0xbf, 0x85, 0xc6, - 0x03, 0x40, 0x94, 0xd7, 0x12, 0x51, 0xa7, 0xe4, 0x21, 0x62, - 0xb6, 0xf5, 0x30, 0x73, 0xc1, 0x82, 0x47, 0x04, 0xd0, 0x93, - 0x56, 0x15, 0xe3, 0xa0, 0x65, 0x26, 0xf2, 0xb1, 0x74, 0x37, - 0x1a, 0x59, 0x9c, 0xdf, 0x0b, 0x48, 0x8d, 0xce, 0x38, 0x7b, - 0xbe, 0xfd, 0x29, 0x6a, 0xaf, 0xec, 0x5e, 0x1d, 0xd8, 0x9b, - 0x4f, 0x0c, 0xc9, 0x8a, 0x7c, 0x3f, 0xfa, 0xb9, 0x6d, 0x2e, - 0xeb, 0xa8, 0x92, 0xd1, 0x14, 0x57, 0x83, 0xc0, 0x05, 0x46, - 0xb0, 0xf3, 0x36, 0x75, 0xa1, 0xe2, 0x27, 0x64, 0xd6, 0x95, - 0x50, 0x13, 0xc7, 0x84, 0x41, 0x02, 0xf4, 0xb7, 0x72, 0x31, - 0xe5, 0xa6, 0x63, 0x20, 0x17, 0x54, 0x91, 0xd2, 0x06, 0x45, - 0x80, 0xc3, 0x35, 0x76, 0xb3, 0xf0, 0x24, 0x67, 0xa2, 0xe1, - 0x53, 0x10, 0xd5, 0x96, 0x42, 0x01, 0xc4, 0x87, 0x71, 0x32, - 0xf7, 0xb4, 0x60, 0x23, 0xe6, 0xa5, 0x9f, 0xdc, 0x19, 0x5a, - 0x8e, 0xcd, 0x08, 0x4b, 0xbd, 0xfe, 0x3b, 0x78, 0xac, 0xef, - 0x2a, 0x69, 0xdb, 0x98, 0x5d, 0x1e, 0xca, 0x89, 0x4c, 0x0f, - 0xf9, 0xba, 0x7f, 0x3c, 0xe8, 0xab, 0x6e, 0x2d, 0x00, 0x44, - 0x88, 0xcc, 0x0d, 0x49, 0x85, 0xc1, 0x1a, 0x5e, 0x92, 0xd6, - 0x17, 0x53, 0x9f, 0xdb, 0x34, 0x70, 0xbc, 0xf8, 0x39, 0x7d, - 0xb1, 0xf5, 0x2e, 0x6a, 0xa6, 0xe2, 0x23, 0x67, 0xab, 0xef, - 0x68, 0x2c, 0xe0, 0xa4, 0x65, 0x21, 0xed, 0xa9, 0x72, 0x36, - 0xfa, 0xbe, 0x7f, 0x3b, 0xf7, 0xb3, 0x5c, 0x18, 0xd4, 0x90, - 0x51, 0x15, 0xd9, 0x9d, 0x46, 0x02, 0xce, 0x8a, 0x4b, 0x0f, - 0xc3, 0x87, 0xd0, 0x94, 0x58, 0x1c, 0xdd, 0x99, 0x55, 0x11, - 0xca, 0x8e, 0x42, 0x06, 0xc7, 0x83, 0x4f, 0x0b, 0xe4, 0xa0, - 0x6c, 0x28, 0xe9, 0xad, 0x61, 0x25, 0xfe, 0xba, 0x76, 0x32, - 0xf3, 0xb7, 0x7b, 0x3f, 0xb8, 0xfc, 0x30, 0x74, 0xb5, 0xf1, - 0x3d, 0x79, 0xa2, 0xe6, 0x2a, 0x6e, 0xaf, 0xeb, 0x27, 0x63, - 0x8c, 0xc8, 0x04, 0x40, 0x81, 0xc5, 0x09, 0x4d, 0x96, 0xd2, - 0x1e, 0x5a, 0x9b, 0xdf, 0x13, 0x57, 0xbd, 0xf9, 0x35, 0x71, - 0xb0, 0xf4, 0x38, 0x7c, 0xa7, 0xe3, 0x2f, 0x6b, 0xaa, 0xee, - 0x22, 0x66, 0x89, 0xcd, 0x01, 0x45, 0x84, 0xc0, 0x0c, 0x48, - 0x93, 0xd7, 0x1b, 0x5f, 0x9e, 0xda, 0x16, 0x52, 0xd5, 0x91, - 0x5d, 0x19, 0xd8, 0x9c, 0x50, 0x14, 0xcf, 0x8b, 0x47, 0x03, - 0xc2, 0x86, 0x4a, 0x0e, 0xe1, 0xa5, 0x69, 0x2d, 0xec, 0xa8, - 0x64, 0x20, 0xfb, 0xbf, 0x73, 0x37, 0xf6, 0xb2, 0x7e, 0x3a, - 0x6d, 0x29, 0xe5, 0xa1, 0x60, 0x24, 0xe8, 0xac, 0x77, 0x33, - 0xff, 0xbb, 0x7a, 0x3e, 0xf2, 0xb6, 0x59, 0x1d, 0xd1, 0x95, - 0x54, 0x10, 0xdc, 0x98, 0x43, 0x07, 0xcb, 0x8f, 0x4e, 0x0a, - 0xc6, 0x82, 0x05, 0x41, 0x8d, 0xc9, 0x08, 0x4c, 0x80, 0xc4, - 0x1f, 0x5b, 0x97, 0xd3, 0x12, 0x56, 0x9a, 0xde, 0x31, 0x75, - 0xb9, 0xfd, 0x3c, 0x78, 0xb4, 0xf0, 0x2b, 0x6f, 0xa3, 0xe7, - 0x26, 0x62, 0xae, 0xea, 0x00, 0x45, 0x8a, 0xcf, 0x09, 0x4c, - 0x83, 0xc6, 0x12, 0x57, 0x98, 0xdd, 0x1b, 0x5e, 0x91, 0xd4, - 0x24, 0x61, 0xae, 0xeb, 0x2d, 0x68, 0xa7, 0xe2, 0x36, 0x73, - 0xbc, 0xf9, 0x3f, 0x7a, 0xb5, 0xf0, 0x48, 0x0d, 0xc2, 0x87, - 0x41, 0x04, 0xcb, 0x8e, 0x5a, 0x1f, 0xd0, 0x95, 0x53, 0x16, - 0xd9, 0x9c, 0x6c, 0x29, 0xe6, 0xa3, 0x65, 0x20, 0xef, 0xaa, - 0x7e, 0x3b, 0xf4, 0xb1, 0x77, 0x32, 0xfd, 0xb8, 0x90, 0xd5, - 0x1a, 0x5f, 0x99, 0xdc, 0x13, 0x56, 0x82, 0xc7, 0x08, 0x4d, - 0x8b, 0xce, 0x01, 0x44, 0xb4, 0xf1, 0x3e, 0x7b, 0xbd, 0xf8, - 0x37, 0x72, 0xa6, 0xe3, 0x2c, 0x69, 0xaf, 0xea, 0x25, 0x60, - 0xd8, 0x9d, 0x52, 0x17, 0xd1, 0x94, 0x5b, 0x1e, 0xca, 0x8f, - 0x40, 0x05, 0xc3, 0x86, 0x49, 0x0c, 0xfc, 0xb9, 0x76, 0x33, - 0xf5, 0xb0, 0x7f, 0x3a, 0xee, 0xab, 0x64, 0x21, 0xe7, 0xa2, - 0x6d, 0x28, 0x3d, 0x78, 0xb7, 0xf2, 0x34, 0x71, 0xbe, 0xfb, - 0x2f, 0x6a, 0xa5, 0xe0, 0x26, 0x63, 0xac, 0xe9, 0x19, 0x5c, - 0x93, 0xd6, 0x10, 0x55, 0x9a, 0xdf, 0x0b, 0x4e, 0x81, 0xc4, - 0x02, 0x47, 0x88, 0xcd, 0x75, 0x30, 0xff, 0xba, 0x7c, 0x39, - 0xf6, 0xb3, 0x67, 0x22, 0xed, 0xa8, 0x6e, 0x2b, 0xe4, 0xa1, - 0x51, 0x14, 0xdb, 0x9e, 0x58, 0x1d, 0xd2, 0x97, 0x43, 0x06, - 0xc9, 0x8c, 0x4a, 0x0f, 0xc0, 0x85, 0xad, 0xe8, 0x27, 0x62, - 0xa4, 0xe1, 0x2e, 0x6b, 0xbf, 0xfa, 0x35, 0x70, 0xb6, 0xf3, - 0x3c, 0x79, 0x89, 0xcc, 0x03, 0x46, 0x80, 0xc5, 0x0a, 0x4f, - 0x9b, 0xde, 0x11, 0x54, 0x92, 0xd7, 0x18, 0x5d, 0xe5, 0xa0, - 0x6f, 0x2a, 0xec, 0xa9, 0x66, 0x23, 0xf7, 0xb2, 0x7d, 0x38, - 0xfe, 0xbb, 0x74, 0x31, 0xc1, 0x84, 0x4b, 0x0e, 0xc8, 0x8d, - 0x42, 0x07, 0xd3, 0x96, 0x59, 0x1c, 0xda, 0x9f, 0x50, 0x15, - 0x00, 0x46, 0x8c, 0xca, 0x05, 0x43, 0x89, 0xcf, 0x0a, 0x4c, - 0x86, 0xc0, 0x0f, 0x49, 0x83, 0xc5, 0x14, 0x52, 0x98, 0xde, - 0x11, 0x57, 0x9d, 0xdb, 0x1e, 0x58, 0x92, 0xd4, 0x1b, 0x5d, - 0x97, 0xd1, 0x28, 0x6e, 0xa4, 0xe2, 0x2d, 0x6b, 0xa1, 0xe7, - 0x22, 0x64, 0xae, 0xe8, 0x27, 0x61, 0xab, 0xed, 0x3c, 0x7a, - 0xb0, 0xf6, 0x39, 0x7f, 0xb5, 0xf3, 0x36, 0x70, 0xba, 0xfc, - 0x33, 0x75, 0xbf, 0xf9, 0x50, 0x16, 0xdc, 0x9a, 0x55, 0x13, - 0xd9, 0x9f, 0x5a, 0x1c, 0xd6, 0x90, 0x5f, 0x19, 0xd3, 0x95, - 0x44, 0x02, 0xc8, 0x8e, 0x41, 0x07, 0xcd, 0x8b, 0x4e, 0x08, - 0xc2, 0x84, 0x4b, 0x0d, 0xc7, 0x81, 0x78, 0x3e, 0xf4, 0xb2, - 0x7d, 0x3b, 0xf1, 0xb7, 0x72, 0x34, 0xfe, 0xb8, 0x77, 0x31, - 0xfb, 0xbd, 0x6c, 0x2a, 0xe0, 0xa6, 0x69, 0x2f, 0xe5, 0xa3, - 0x66, 0x20, 0xea, 0xac, 0x63, 0x25, 0xef, 0xa9, 0xa0, 0xe6, - 0x2c, 0x6a, 0xa5, 0xe3, 0x29, 0x6f, 0xaa, 0xec, 0x26, 0x60, - 0xaf, 0xe9, 0x23, 0x65, 0xb4, 0xf2, 0x38, 0x7e, 0xb1, 0xf7, - 0x3d, 0x7b, 0xbe, 0xf8, 0x32, 0x74, 0xbb, 0xfd, 0x37, 0x71, - 0x88, 0xce, 0x04, 0x42, 0x8d, 0xcb, 0x01, 0x47, 0x82, 0xc4, - 0x0e, 0x48, 0x87, 0xc1, 0x0b, 0x4d, 0x9c, 0xda, 0x10, 0x56, - 0x99, 0xdf, 0x15, 0x53, 0x96, 0xd0, 0x1a, 0x5c, 0x93, 0xd5, - 0x1f, 0x59, 0xf0, 0xb6, 0x7c, 0x3a, 0xf5, 0xb3, 0x79, 0x3f, - 0xfa, 0xbc, 0x76, 0x30, 0xff, 0xb9, 0x73, 0x35, 0xe4, 0xa2, - 0x68, 0x2e, 0xe1, 0xa7, 0x6d, 0x2b, 0xee, 0xa8, 0x62, 0x24, - 0xeb, 0xad, 0x67, 0x21, 0xd8, 0x9e, 0x54, 0x12, 0xdd, 0x9b, - 0x51, 0x17, 0xd2, 0x94, 0x5e, 0x18, 0xd7, 0x91, 0x5b, 0x1d, - 0xcc, 0x8a, 0x40, 0x06, 0xc9, 0x8f, 0x45, 0x03, 0xc6, 0x80, - 0x4a, 0x0c, 0xc3, 0x85, 0x4f, 0x09, 0x00, 0x47, 0x8e, 0xc9, - 0x01, 0x46, 0x8f, 0xc8, 0x02, 0x45, 0x8c, 0xcb, 0x03, 0x44, - 0x8d, 0xca, 0x04, 0x43, 0x8a, 0xcd, 0x05, 0x42, 0x8b, 0xcc, - 0x06, 0x41, 0x88, 0xcf, 0x07, 0x40, 0x89, 0xce, 0x08, 0x4f, - 0x86, 0xc1, 0x09, 0x4e, 0x87, 0xc0, 0x0a, 0x4d, 0x84, 0xc3, - 0x0b, 0x4c, 0x85, 0xc2, 0x0c, 0x4b, 0x82, 0xc5, 0x0d, 0x4a, - 0x83, 0xc4, 0x0e, 0x49, 0x80, 0xc7, 0x0f, 0x48, 0x81, 0xc6, - 0x10, 0x57, 0x9e, 0xd9, 0x11, 0x56, 0x9f, 0xd8, 0x12, 0x55, - 0x9c, 0xdb, 0x13, 0x54, 0x9d, 0xda, 0x14, 0x53, 0x9a, 0xdd, - 0x15, 0x52, 0x9b, 0xdc, 0x16, 0x51, 0x98, 0xdf, 0x17, 0x50, - 0x99, 0xde, 0x18, 0x5f, 0x96, 0xd1, 0x19, 0x5e, 0x97, 0xd0, - 0x1a, 0x5d, 0x94, 0xd3, 0x1b, 0x5c, 0x95, 0xd2, 0x1c, 0x5b, - 0x92, 0xd5, 0x1d, 0x5a, 0x93, 0xd4, 0x1e, 0x59, 0x90, 0xd7, - 0x1f, 0x58, 0x91, 0xd6, 0x20, 0x67, 0xae, 0xe9, 0x21, 0x66, - 0xaf, 0xe8, 0x22, 0x65, 0xac, 0xeb, 0x23, 0x64, 0xad, 0xea, - 0x24, 0x63, 0xaa, 0xed, 0x25, 0x62, 0xab, 0xec, 0x26, 0x61, - 0xa8, 0xef, 0x27, 0x60, 0xa9, 0xee, 0x28, 0x6f, 0xa6, 0xe1, - 0x29, 0x6e, 0xa7, 0xe0, 0x2a, 0x6d, 0xa4, 0xe3, 0x2b, 0x6c, - 0xa5, 0xe2, 0x2c, 0x6b, 0xa2, 0xe5, 0x2d, 0x6a, 0xa3, 0xe4, - 0x2e, 0x69, 0xa0, 0xe7, 0x2f, 0x68, 0xa1, 0xe6, 0x30, 0x77, - 0xbe, 0xf9, 0x31, 0x76, 0xbf, 0xf8, 0x32, 0x75, 0xbc, 0xfb, - 0x33, 0x74, 0xbd, 0xfa, 0x34, 0x73, 0xba, 0xfd, 0x35, 0x72, - 0xbb, 0xfc, 0x36, 0x71, 0xb8, 0xff, 0x37, 0x70, 0xb9, 0xfe, - 0x38, 0x7f, 0xb6, 0xf1, 0x39, 0x7e, 0xb7, 0xf0, 0x3a, 0x7d, - 0xb4, 0xf3, 0x3b, 0x7c, 0xb5, 0xf2, 0x3c, 0x7b, 0xb2, 0xf5, - 0x3d, 0x7a, 0xb3, 0xf4, 0x3e, 0x79, 0xb0, 0xf7, 0x3f, 0x78, - 0xb1, 0xf6, 0x00, 0x48, 0x90, 0xd8, 0x3d, 0x75, 0xad, 0xe5, - 0x7a, 0x32, 0xea, 0xa2, 0x47, 0x0f, 0xd7, 0x9f, 0xf4, 0xbc, - 0x64, 0x2c, 0xc9, 0x81, 0x59, 0x11, 0x8e, 0xc6, 0x1e, 0x56, - 0xb3, 0xfb, 0x23, 0x6b, 0xf5, 0xbd, 0x65, 0x2d, 0xc8, 0x80, - 0x58, 0x10, 0x8f, 0xc7, 0x1f, 0x57, 0xb2, 0xfa, 0x22, 0x6a, - 0x01, 0x49, 0x91, 0xd9, 0x3c, 0x74, 0xac, 0xe4, 0x7b, 0x33, - 0xeb, 0xa3, 0x46, 0x0e, 0xd6, 0x9e, 0xf7, 0xbf, 0x67, 0x2f, - 0xca, 0x82, 0x5a, 0x12, 0x8d, 0xc5, 0x1d, 0x55, 0xb0, 0xf8, - 0x20, 0x68, 0x03, 0x4b, 0x93, 0xdb, 0x3e, 0x76, 0xae, 0xe6, - 0x79, 0x31, 0xe9, 0xa1, 0x44, 0x0c, 0xd4, 0x9c, 0x02, 0x4a, - 0x92, 0xda, 0x3f, 0x77, 0xaf, 0xe7, 0x78, 0x30, 0xe8, 0xa0, - 0x45, 0x0d, 0xd5, 0x9d, 0xf6, 0xbe, 0x66, 0x2e, 0xcb, 0x83, - 0x5b, 0x13, 0x8c, 0xc4, 0x1c, 0x54, 0xb1, 0xf9, 0x21, 0x69, - 0xf3, 0xbb, 0x63, 0x2b, 0xce, 0x86, 0x5e, 0x16, 0x89, 0xc1, - 0x19, 0x51, 0xb4, 0xfc, 0x24, 0x6c, 0x07, 0x4f, 0x97, 0xdf, - 0x3a, 0x72, 0xaa, 0xe2, 0x7d, 0x35, 0xed, 0xa5, 0x40, 0x08, - 0xd0, 0x98, 0x06, 0x4e, 0x96, 0xde, 0x3b, 0x73, 0xab, 0xe3, - 0x7c, 0x34, 0xec, 0xa4, 0x41, 0x09, 0xd1, 0x99, 0xf2, 0xba, - 0x62, 0x2a, 0xcf, 0x87, 0x5f, 0x17, 0x88, 0xc0, 0x18, 0x50, - 0xb5, 0xfd, 0x25, 0x6d, 0x04, 0x4c, 0x94, 0xdc, 0x39, 0x71, - 0xa9, 0xe1, 0x7e, 0x36, 0xee, 0xa6, 0x43, 0x0b, 0xd3, 0x9b, - 0xf0, 0xb8, 0x60, 0x28, 0xcd, 0x85, 0x5d, 0x15, 0x8a, 0xc2, - 0x1a, 0x52, 0xb7, 0xff, 0x27, 0x6f, 0xf1, 0xb9, 0x61, 0x29, - 0xcc, 0x84, 0x5c, 0x14, 0x8b, 0xc3, 0x1b, 0x53, 0xb6, 0xfe, - 0x26, 0x6e, 0x05, 0x4d, 0x95, 0xdd, 0x38, 0x70, 0xa8, 0xe0, - 0x7f, 0x37, 0xef, 0xa7, 0x42, 0x0a, 0xd2, 0x9a, 0x00, 0x49, - 0x92, 0xdb, 0x39, 0x70, 0xab, 0xe2, 0x72, 0x3b, 0xe0, 0xa9, - 0x4b, 0x02, 0xd9, 0x90, 0xe4, 0xad, 0x76, 0x3f, 0xdd, 0x94, - 0x4f, 0x06, 0x96, 0xdf, 0x04, 0x4d, 0xaf, 0xe6, 0x3d, 0x74, - 0xd5, 0x9c, 0x47, 0x0e, 0xec, 0xa5, 0x7e, 0x37, 0xa7, 0xee, - 0x35, 0x7c, 0x9e, 0xd7, 0x0c, 0x45, 0x31, 0x78, 0xa3, 0xea, - 0x08, 0x41, 0x9a, 0xd3, 0x43, 0x0a, 0xd1, 0x98, 0x7a, 0x33, - 0xe8, 0xa1, 0xb7, 0xfe, 0x25, 0x6c, 0x8e, 0xc7, 0x1c, 0x55, - 0xc5, 0x8c, 0x57, 0x1e, 0xfc, 0xb5, 0x6e, 0x27, 0x53, 0x1a, - 0xc1, 0x88, 0x6a, 0x23, 0xf8, 0xb1, 0x21, 0x68, 0xb3, 0xfa, - 0x18, 0x51, 0x8a, 0xc3, 0x62, 0x2b, 0xf0, 0xb9, 0x5b, 0x12, - 0xc9, 0x80, 0x10, 0x59, 0x82, 0xcb, 0x29, 0x60, 0xbb, 0xf2, - 0x86, 0xcf, 0x14, 0x5d, 0xbf, 0xf6, 0x2d, 0x64, 0xf4, 0xbd, - 0x66, 0x2f, 0xcd, 0x84, 0x5f, 0x16, 0x73, 0x3a, 0xe1, 0xa8, - 0x4a, 0x03, 0xd8, 0x91, 0x01, 0x48, 0x93, 0xda, 0x38, 0x71, - 0xaa, 0xe3, 0x97, 0xde, 0x05, 0x4c, 0xae, 0xe7, 0x3c, 0x75, - 0xe5, 0xac, 0x77, 0x3e, 0xdc, 0x95, 0x4e, 0x07, 0xa6, 0xef, - 0x34, 0x7d, 0x9f, 0xd6, 0x0d, 0x44, 0xd4, 0x9d, 0x46, 0x0f, - 0xed, 0xa4, 0x7f, 0x36, 0x42, 0x0b, 0xd0, 0x99, 0x7b, 0x32, - 0xe9, 0xa0, 0x30, 0x79, 0xa2, 0xeb, 0x09, 0x40, 0x9b, 0xd2, - 0xc4, 0x8d, 0x56, 0x1f, 0xfd, 0xb4, 0x6f, 0x26, 0xb6, 0xff, - 0x24, 0x6d, 0x8f, 0xc6, 0x1d, 0x54, 0x20, 0x69, 0xb2, 0xfb, - 0x19, 0x50, 0x8b, 0xc2, 0x52, 0x1b, 0xc0, 0x89, 0x6b, 0x22, - 0xf9, 0xb0, 0x11, 0x58, 0x83, 0xca, 0x28, 0x61, 0xba, 0xf3, - 0x63, 0x2a, 0xf1, 0xb8, 0x5a, 0x13, 0xc8, 0x81, 0xf5, 0xbc, - 0x67, 0x2e, 0xcc, 0x85, 0x5e, 0x17, 0x87, 0xce, 0x15, 0x5c, - 0xbe, 0xf7, 0x2c, 0x65, 0x00, 0x4a, 0x94, 0xde, 0x35, 0x7f, - 0xa1, 0xeb, 0x6a, 0x20, 0xfe, 0xb4, 0x5f, 0x15, 0xcb, 0x81, - 0xd4, 0x9e, 0x40, 0x0a, 0xe1, 0xab, 0x75, 0x3f, 0xbe, 0xf4, - 0x2a, 0x60, 0x8b, 0xc1, 0x1f, 0x55, 0xb5, 0xff, 0x21, 0x6b, - 0x80, 0xca, 0x14, 0x5e, 0xdf, 0x95, 0x4b, 0x01, 0xea, 0xa0, - 0x7e, 0x34, 0x61, 0x2b, 0xf5, 0xbf, 0x54, 0x1e, 0xc0, 0x8a, - 0x0b, 0x41, 0x9f, 0xd5, 0x3e, 0x74, 0xaa, 0xe0, 0x77, 0x3d, - 0xe3, 0xa9, 0x42, 0x08, 0xd6, 0x9c, 0x1d, 0x57, 0x89, 0xc3, - 0x28, 0x62, 0xbc, 0xf6, 0xa3, 0xe9, 0x37, 0x7d, 0x96, 0xdc, - 0x02, 0x48, 0xc9, 0x83, 0x5d, 0x17, 0xfc, 0xb6, 0x68, 0x22, - 0xc2, 0x88, 0x56, 0x1c, 0xf7, 0xbd, 0x63, 0x29, 0xa8, 0xe2, - 0x3c, 0x76, 0x9d, 0xd7, 0x09, 0x43, 0x16, 0x5c, 0x82, 0xc8, - 0x23, 0x69, 0xb7, 0xfd, 0x7c, 0x36, 0xe8, 0xa2, 0x49, 0x03, - 0xdd, 0x97, 0xee, 0xa4, 0x7a, 0x30, 0xdb, 0x91, 0x4f, 0x05, - 0x84, 0xce, 0x10, 0x5a, 0xb1, 0xfb, 0x25, 0x6f, 0x3a, 0x70, - 0xae, 0xe4, 0x0f, 0x45, 0x9b, 0xd1, 0x50, 0x1a, 0xc4, 0x8e, - 0x65, 0x2f, 0xf1, 0xbb, 0x5b, 0x11, 0xcf, 0x85, 0x6e, 0x24, - 0xfa, 0xb0, 0x31, 0x7b, 0xa5, 0xef, 0x04, 0x4e, 0x90, 0xda, - 0x8f, 0xc5, 0x1b, 0x51, 0xba, 0xf0, 0x2e, 0x64, 0xe5, 0xaf, - 0x71, 0x3b, 0xd0, 0x9a, 0x44, 0x0e, 0x99, 0xd3, 0x0d, 0x47, - 0xac, 0xe6, 0x38, 0x72, 0xf3, 0xb9, 0x67, 0x2d, 0xc6, 0x8c, - 0x52, 0x18, 0x4d, 0x07, 0xd9, 0x93, 0x78, 0x32, 0xec, 0xa6, - 0x27, 0x6d, 0xb3, 0xf9, 0x12, 0x58, 0x86, 0xcc, 0x2c, 0x66, - 0xb8, 0xf2, 0x19, 0x53, 0x8d, 0xc7, 0x46, 0x0c, 0xd2, 0x98, - 0x73, 0x39, 0xe7, 0xad, 0xf8, 0xb2, 0x6c, 0x26, 0xcd, 0x87, - 0x59, 0x13, 0x92, 0xd8, 0x06, 0x4c, 0xa7, 0xed, 0x33, 0x79, - 0x00, 0x4b, 0x96, 0xdd, 0x31, 0x7a, 0xa7, 0xec, 0x62, 0x29, - 0xf4, 0xbf, 0x53, 0x18, 0xc5, 0x8e, 0xc4, 0x8f, 0x52, 0x19, - 0xf5, 0xbe, 0x63, 0x28, 0xa6, 0xed, 0x30, 0x7b, 0x97, 0xdc, - 0x01, 0x4a, 0x95, 0xde, 0x03, 0x48, 0xa4, 0xef, 0x32, 0x79, - 0xf7, 0xbc, 0x61, 0x2a, 0xc6, 0x8d, 0x50, 0x1b, 0x51, 0x1a, - 0xc7, 0x8c, 0x60, 0x2b, 0xf6, 0xbd, 0x33, 0x78, 0xa5, 0xee, - 0x02, 0x49, 0x94, 0xdf, 0x37, 0x7c, 0xa1, 0xea, 0x06, 0x4d, - 0x90, 0xdb, 0x55, 0x1e, 0xc3, 0x88, 0x64, 0x2f, 0xf2, 0xb9, - 0xf3, 0xb8, 0x65, 0x2e, 0xc2, 0x89, 0x54, 0x1f, 0x91, 0xda, - 0x07, 0x4c, 0xa0, 0xeb, 0x36, 0x7d, 0xa2, 0xe9, 0x34, 0x7f, - 0x93, 0xd8, 0x05, 0x4e, 0xc0, 0x8b, 0x56, 0x1d, 0xf1, 0xba, - 0x67, 0x2c, 0x66, 0x2d, 0xf0, 0xbb, 0x57, 0x1c, 0xc1, 0x8a, - 0x04, 0x4f, 0x92, 0xd9, 0x35, 0x7e, 0xa3, 0xe8, 0x6e, 0x25, - 0xf8, 0xb3, 0x5f, 0x14, 0xc9, 0x82, 0x0c, 0x47, 0x9a, 0xd1, - 0x3d, 0x76, 0xab, 0xe0, 0xaa, 0xe1, 0x3c, 0x77, 0x9b, 0xd0, - 0x0d, 0x46, 0xc8, 0x83, 0x5e, 0x15, 0xf9, 0xb2, 0x6f, 0x24, - 0xfb, 0xb0, 0x6d, 0x26, 0xca, 0x81, 0x5c, 0x17, 0x99, 0xd2, - 0x0f, 0x44, 0xa8, 0xe3, 0x3e, 0x75, 0x3f, 0x74, 0xa9, 0xe2, - 0x0e, 0x45, 0x98, 0xd3, 0x5d, 0x16, 0xcb, 0x80, 0x6c, 0x27, - 0xfa, 0xb1, 0x59, 0x12, 0xcf, 0x84, 0x68, 0x23, 0xfe, 0xb5, - 0x3b, 0x70, 0xad, 0xe6, 0x0a, 0x41, 0x9c, 0xd7, 0x9d, 0xd6, - 0x0b, 0x40, 0xac, 0xe7, 0x3a, 0x71, 0xff, 0xb4, 0x69, 0x22, - 0xce, 0x85, 0x58, 0x13, 0xcc, 0x87, 0x5a, 0x11, 0xfd, 0xb6, - 0x6b, 0x20, 0xae, 0xe5, 0x38, 0x73, 0x9f, 0xd4, 0x09, 0x42, - 0x08, 0x43, 0x9e, 0xd5, 0x39, 0x72, 0xaf, 0xe4, 0x6a, 0x21, - 0xfc, 0xb7, 0x5b, 0x10, 0xcd, 0x86, 0x00, 0x4c, 0x98, 0xd4, - 0x2d, 0x61, 0xb5, 0xf9, 0x5a, 0x16, 0xc2, 0x8e, 0x77, 0x3b, - 0xef, 0xa3, 0xb4, 0xf8, 0x2c, 0x60, 0x99, 0xd5, 0x01, 0x4d, - 0xee, 0xa2, 0x76, 0x3a, 0xc3, 0x8f, 0x5b, 0x17, 0x75, 0x39, - 0xed, 0xa1, 0x58, 0x14, 0xc0, 0x8c, 0x2f, 0x63, 0xb7, 0xfb, - 0x02, 0x4e, 0x9a, 0xd6, 0xc1, 0x8d, 0x59, 0x15, 0xec, 0xa0, - 0x74, 0x38, 0x9b, 0xd7, 0x03, 0x4f, 0xb6, 0xfa, 0x2e, 0x62, - 0xea, 0xa6, 0x72, 0x3e, 0xc7, 0x8b, 0x5f, 0x13, 0xb0, 0xfc, - 0x28, 0x64, 0x9d, 0xd1, 0x05, 0x49, 0x5e, 0x12, 0xc6, 0x8a, - 0x73, 0x3f, 0xeb, 0xa7, 0x04, 0x48, 0x9c, 0xd0, 0x29, 0x65, - 0xb1, 0xfd, 0x9f, 0xd3, 0x07, 0x4b, 0xb2, 0xfe, 0x2a, 0x66, - 0xc5, 0x89, 0x5d, 0x11, 0xe8, 0xa4, 0x70, 0x3c, 0x2b, 0x67, - 0xb3, 0xff, 0x06, 0x4a, 0x9e, 0xd2, 0x71, 0x3d, 0xe9, 0xa5, - 0x5c, 0x10, 0xc4, 0x88, 0xc9, 0x85, 0x51, 0x1d, 0xe4, 0xa8, - 0x7c, 0x30, 0x93, 0xdf, 0x0b, 0x47, 0xbe, 0xf2, 0x26, 0x6a, - 0x7d, 0x31, 0xe5, 0xa9, 0x50, 0x1c, 0xc8, 0x84, 0x27, 0x6b, - 0xbf, 0xf3, 0x0a, 0x46, 0x92, 0xde, 0xbc, 0xf0, 0x24, 0x68, - 0x91, 0xdd, 0x09, 0x45, 0xe6, 0xaa, 0x7e, 0x32, 0xcb, 0x87, - 0x53, 0x1f, 0x08, 0x44, 0x90, 0xdc, 0x25, 0x69, 0xbd, 0xf1, - 0x52, 0x1e, 0xca, 0x86, 0x7f, 0x33, 0xe7, 0xab, 0x23, 0x6f, - 0xbb, 0xf7, 0x0e, 0x42, 0x96, 0xda, 0x79, 0x35, 0xe1, 0xad, - 0x54, 0x18, 0xcc, 0x80, 0x97, 0xdb, 0x0f, 0x43, 0xba, 0xf6, - 0x22, 0x6e, 0xcd, 0x81, 0x55, 0x19, 0xe0, 0xac, 0x78, 0x34, - 0x56, 0x1a, 0xce, 0x82, 0x7b, 0x37, 0xe3, 0xaf, 0x0c, 0x40, - 0x94, 0xd8, 0x21, 0x6d, 0xb9, 0xf5, 0xe2, 0xae, 0x7a, 0x36, - 0xcf, 0x83, 0x57, 0x1b, 0xb8, 0xf4, 0x20, 0x6c, 0x95, 0xd9, - 0x0d, 0x41, 0x00, 0x4d, 0x9a, 0xd7, 0x29, 0x64, 0xb3, 0xfe, - 0x52, 0x1f, 0xc8, 0x85, 0x7b, 0x36, 0xe1, 0xac, 0xa4, 0xe9, - 0x3e, 0x73, 0x8d, 0xc0, 0x17, 0x5a, 0xf6, 0xbb, 0x6c, 0x21, - 0xdf, 0x92, 0x45, 0x08, 0x55, 0x18, 0xcf, 0x82, 0x7c, 0x31, - 0xe6, 0xab, 0x07, 0x4a, 0x9d, 0xd0, 0x2e, 0x63, 0xb4, 0xf9, - 0xf1, 0xbc, 0x6b, 0x26, 0xd8, 0x95, 0x42, 0x0f, 0xa3, 0xee, - 0x39, 0x74, 0x8a, 0xc7, 0x10, 0x5d, 0xaa, 0xe7, 0x30, 0x7d, - 0x83, 0xce, 0x19, 0x54, 0xf8, 0xb5, 0x62, 0x2f, 0xd1, 0x9c, - 0x4b, 0x06, 0x0e, 0x43, 0x94, 0xd9, 0x27, 0x6a, 0xbd, 0xf0, - 0x5c, 0x11, 0xc6, 0x8b, 0x75, 0x38, 0xef, 0xa2, 0xff, 0xb2, - 0x65, 0x28, 0xd6, 0x9b, 0x4c, 0x01, 0xad, 0xe0, 0x37, 0x7a, - 0x84, 0xc9, 0x1e, 0x53, 0x5b, 0x16, 0xc1, 0x8c, 0x72, 0x3f, - 0xe8, 0xa5, 0x09, 0x44, 0x93, 0xde, 0x20, 0x6d, 0xba, 0xf7, - 0x49, 0x04, 0xd3, 0x9e, 0x60, 0x2d, 0xfa, 0xb7, 0x1b, 0x56, - 0x81, 0xcc, 0x32, 0x7f, 0xa8, 0xe5, 0xed, 0xa0, 0x77, 0x3a, - 0xc4, 0x89, 0x5e, 0x13, 0xbf, 0xf2, 0x25, 0x68, 0x96, 0xdb, - 0x0c, 0x41, 0x1c, 0x51, 0x86, 0xcb, 0x35, 0x78, 0xaf, 0xe2, - 0x4e, 0x03, 0xd4, 0x99, 0x67, 0x2a, 0xfd, 0xb0, 0xb8, 0xf5, - 0x22, 0x6f, 0x91, 0xdc, 0x0b, 0x46, 0xea, 0xa7, 0x70, 0x3d, - 0xc3, 0x8e, 0x59, 0x14, 0xe3, 0xae, 0x79, 0x34, 0xca, 0x87, - 0x50, 0x1d, 0xb1, 0xfc, 0x2b, 0x66, 0x98, 0xd5, 0x02, 0x4f, - 0x47, 0x0a, 0xdd, 0x90, 0x6e, 0x23, 0xf4, 0xb9, 0x15, 0x58, - 0x8f, 0xc2, 0x3c, 0x71, 0xa6, 0xeb, 0xb6, 0xfb, 0x2c, 0x61, - 0x9f, 0xd2, 0x05, 0x48, 0xe4, 0xa9, 0x7e, 0x33, 0xcd, 0x80, - 0x57, 0x1a, 0x12, 0x5f, 0x88, 0xc5, 0x3b, 0x76, 0xa1, 0xec, - 0x40, 0x0d, 0xda, 0x97, 0x69, 0x24, 0xf3, 0xbe, 0x00, 0x4e, - 0x9c, 0xd2, 0x25, 0x6b, 0xb9, 0xf7, 0x4a, 0x04, 0xd6, 0x98, - 0x6f, 0x21, 0xf3, 0xbd, 0x94, 0xda, 0x08, 0x46, 0xb1, 0xff, - 0x2d, 0x63, 0xde, 0x90, 0x42, 0x0c, 0xfb, 0xb5, 0x67, 0x29, - 0x35, 0x7b, 0xa9, 0xe7, 0x10, 0x5e, 0x8c, 0xc2, 0x7f, 0x31, - 0xe3, 0xad, 0x5a, 0x14, 0xc6, 0x88, 0xa1, 0xef, 0x3d, 0x73, - 0x84, 0xca, 0x18, 0x56, 0xeb, 0xa5, 0x77, 0x39, 0xce, 0x80, - 0x52, 0x1c, 0x6a, 0x24, 0xf6, 0xb8, 0x4f, 0x01, 0xd3, 0x9d, - 0x20, 0x6e, 0xbc, 0xf2, 0x05, 0x4b, 0x99, 0xd7, 0xfe, 0xb0, - 0x62, 0x2c, 0xdb, 0x95, 0x47, 0x09, 0xb4, 0xfa, 0x28, 0x66, - 0x91, 0xdf, 0x0d, 0x43, 0x5f, 0x11, 0xc3, 0x8d, 0x7a, 0x34, - 0xe6, 0xa8, 0x15, 0x5b, 0x89, 0xc7, 0x30, 0x7e, 0xac, 0xe2, - 0xcb, 0x85, 0x57, 0x19, 0xee, 0xa0, 0x72, 0x3c, 0x81, 0xcf, - 0x1d, 0x53, 0xa4, 0xea, 0x38, 0x76, 0xd4, 0x9a, 0x48, 0x06, - 0xf1, 0xbf, 0x6d, 0x23, 0x9e, 0xd0, 0x02, 0x4c, 0xbb, 0xf5, - 0x27, 0x69, 0x40, 0x0e, 0xdc, 0x92, 0x65, 0x2b, 0xf9, 0xb7, - 0x0a, 0x44, 0x96, 0xd8, 0x2f, 0x61, 0xb3, 0xfd, 0xe1, 0xaf, - 0x7d, 0x33, 0xc4, 0x8a, 0x58, 0x16, 0xab, 0xe5, 0x37, 0x79, - 0x8e, 0xc0, 0x12, 0x5c, 0x75, 0x3b, 0xe9, 0xa7, 0x50, 0x1e, - 0xcc, 0x82, 0x3f, 0x71, 0xa3, 0xed, 0x1a, 0x54, 0x86, 0xc8, - 0xbe, 0xf0, 0x22, 0x6c, 0x9b, 0xd5, 0x07, 0x49, 0xf4, 0xba, - 0x68, 0x26, 0xd1, 0x9f, 0x4d, 0x03, 0x2a, 0x64, 0xb6, 0xf8, - 0x0f, 0x41, 0x93, 0xdd, 0x60, 0x2e, 0xfc, 0xb2, 0x45, 0x0b, - 0xd9, 0x97, 0x8b, 0xc5, 0x17, 0x59, 0xae, 0xe0, 0x32, 0x7c, - 0xc1, 0x8f, 0x5d, 0x13, 0xe4, 0xaa, 0x78, 0x36, 0x1f, 0x51, - 0x83, 0xcd, 0x3a, 0x74, 0xa6, 0xe8, 0x55, 0x1b, 0xc9, 0x87, - 0x70, 0x3e, 0xec, 0xa2, 0x00, 0x4f, 0x9e, 0xd1, 0x21, 0x6e, - 0xbf, 0xf0, 0x42, 0x0d, 0xdc, 0x93, 0x63, 0x2c, 0xfd, 0xb2, - 0x84, 0xcb, 0x1a, 0x55, 0xa5, 0xea, 0x3b, 0x74, 0xc6, 0x89, - 0x58, 0x17, 0xe7, 0xa8, 0x79, 0x36, 0x15, 0x5a, 0x8b, 0xc4, - 0x34, 0x7b, 0xaa, 0xe5, 0x57, 0x18, 0xc9, 0x86, 0x76, 0x39, - 0xe8, 0xa7, 0x91, 0xde, 0x0f, 0x40, 0xb0, 0xff, 0x2e, 0x61, - 0xd3, 0x9c, 0x4d, 0x02, 0xf2, 0xbd, 0x6c, 0x23, 0x2a, 0x65, - 0xb4, 0xfb, 0x0b, 0x44, 0x95, 0xda, 0x68, 0x27, 0xf6, 0xb9, - 0x49, 0x06, 0xd7, 0x98, 0xae, 0xe1, 0x30, 0x7f, 0x8f, 0xc0, - 0x11, 0x5e, 0xec, 0xa3, 0x72, 0x3d, 0xcd, 0x82, 0x53, 0x1c, - 0x3f, 0x70, 0xa1, 0xee, 0x1e, 0x51, 0x80, 0xcf, 0x7d, 0x32, - 0xe3, 0xac, 0x5c, 0x13, 0xc2, 0x8d, 0xbb, 0xf4, 0x25, 0x6a, - 0x9a, 0xd5, 0x04, 0x4b, 0xf9, 0xb6, 0x67, 0x28, 0xd8, 0x97, - 0x46, 0x09, 0x54, 0x1b, 0xca, 0x85, 0x75, 0x3a, 0xeb, 0xa4, - 0x16, 0x59, 0x88, 0xc7, 0x37, 0x78, 0xa9, 0xe6, 0xd0, 0x9f, - 0x4e, 0x01, 0xf1, 0xbe, 0x6f, 0x20, 0x92, 0xdd, 0x0c, 0x43, - 0xb3, 0xfc, 0x2d, 0x62, 0x41, 0x0e, 0xdf, 0x90, 0x60, 0x2f, - 0xfe, 0xb1, 0x03, 0x4c, 0x9d, 0xd2, 0x22, 0x6d, 0xbc, 0xf3, - 0xc5, 0x8a, 0x5b, 0x14, 0xe4, 0xab, 0x7a, 0x35, 0x87, 0xc8, - 0x19, 0x56, 0xa6, 0xe9, 0x38, 0x77, 0x7e, 0x31, 0xe0, 0xaf, - 0x5f, 0x10, 0xc1, 0x8e, 0x3c, 0x73, 0xa2, 0xed, 0x1d, 0x52, - 0x83, 0xcc, 0xfa, 0xb5, 0x64, 0x2b, 0xdb, 0x94, 0x45, 0x0a, - 0xb8, 0xf7, 0x26, 0x69, 0x99, 0xd6, 0x07, 0x48, 0x6b, 0x24, - 0xf5, 0xba, 0x4a, 0x05, 0xd4, 0x9b, 0x29, 0x66, 0xb7, 0xf8, - 0x08, 0x47, 0x96, 0xd9, 0xef, 0xa0, 0x71, 0x3e, 0xce, 0x81, - 0x50, 0x1f, 0xad, 0xe2, 0x33, 0x7c, 0x8c, 0xc3, 0x12, 0x5d, - 0x00, 0x50, 0xa0, 0xf0, 0x5d, 0x0d, 0xfd, 0xad, 0xba, 0xea, - 0x1a, 0x4a, 0xe7, 0xb7, 0x47, 0x17, 0x69, 0x39, 0xc9, 0x99, - 0x34, 0x64, 0x94, 0xc4, 0xd3, 0x83, 0x73, 0x23, 0x8e, 0xde, - 0x2e, 0x7e, 0xd2, 0x82, 0x72, 0x22, 0x8f, 0xdf, 0x2f, 0x7f, - 0x68, 0x38, 0xc8, 0x98, 0x35, 0x65, 0x95, 0xc5, 0xbb, 0xeb, - 0x1b, 0x4b, 0xe6, 0xb6, 0x46, 0x16, 0x01, 0x51, 0xa1, 0xf1, - 0x5c, 0x0c, 0xfc, 0xac, 0xb9, 0xe9, 0x19, 0x49, 0xe4, 0xb4, - 0x44, 0x14, 0x03, 0x53, 0xa3, 0xf3, 0x5e, 0x0e, 0xfe, 0xae, - 0xd0, 0x80, 0x70, 0x20, 0x8d, 0xdd, 0x2d, 0x7d, 0x6a, 0x3a, - 0xca, 0x9a, 0x37, 0x67, 0x97, 0xc7, 0x6b, 0x3b, 0xcb, 0x9b, - 0x36, 0x66, 0x96, 0xc6, 0xd1, 0x81, 0x71, 0x21, 0x8c, 0xdc, - 0x2c, 0x7c, 0x02, 0x52, 0xa2, 0xf2, 0x5f, 0x0f, 0xff, 0xaf, - 0xb8, 0xe8, 0x18, 0x48, 0xe5, 0xb5, 0x45, 0x15, 0x6f, 0x3f, - 0xcf, 0x9f, 0x32, 0x62, 0x92, 0xc2, 0xd5, 0x85, 0x75, 0x25, - 0x88, 0xd8, 0x28, 0x78, 0x06, 0x56, 0xa6, 0xf6, 0x5b, 0x0b, - 0xfb, 0xab, 0xbc, 0xec, 0x1c, 0x4c, 0xe1, 0xb1, 0x41, 0x11, - 0xbd, 0xed, 0x1d, 0x4d, 0xe0, 0xb0, 0x40, 0x10, 0x07, 0x57, - 0xa7, 0xf7, 0x5a, 0x0a, 0xfa, 0xaa, 0xd4, 0x84, 0x74, 0x24, - 0x89, 0xd9, 0x29, 0x79, 0x6e, 0x3e, 0xce, 0x9e, 0x33, 0x63, - 0x93, 0xc3, 0xd6, 0x86, 0x76, 0x26, 0x8b, 0xdb, 0x2b, 0x7b, - 0x6c, 0x3c, 0xcc, 0x9c, 0x31, 0x61, 0x91, 0xc1, 0xbf, 0xef, - 0x1f, 0x4f, 0xe2, 0xb2, 0x42, 0x12, 0x05, 0x55, 0xa5, 0xf5, - 0x58, 0x08, 0xf8, 0xa8, 0x04, 0x54, 0xa4, 0xf4, 0x59, 0x09, - 0xf9, 0xa9, 0xbe, 0xee, 0x1e, 0x4e, 0xe3, 0xb3, 0x43, 0x13, - 0x6d, 0x3d, 0xcd, 0x9d, 0x30, 0x60, 0x90, 0xc0, 0xd7, 0x87, - 0x77, 0x27, 0x8a, 0xda, 0x2a, 0x7a, 0x00, 0x51, 0xa2, 0xf3, - 0x59, 0x08, 0xfb, 0xaa, 0xb2, 0xe3, 0x10, 0x41, 0xeb, 0xba, - 0x49, 0x18, 0x79, 0x28, 0xdb, 0x8a, 0x20, 0x71, 0x82, 0xd3, - 0xcb, 0x9a, 0x69, 0x38, 0x92, 0xc3, 0x30, 0x61, 0xf2, 0xa3, - 0x50, 0x01, 0xab, 0xfa, 0x09, 0x58, 0x40, 0x11, 0xe2, 0xb3, - 0x19, 0x48, 0xbb, 0xea, 0x8b, 0xda, 0x29, 0x78, 0xd2, 0x83, - 0x70, 0x21, 0x39, 0x68, 0x9b, 0xca, 0x60, 0x31, 0xc2, 0x93, - 0xf9, 0xa8, 0x5b, 0x0a, 0xa0, 0xf1, 0x02, 0x53, 0x4b, 0x1a, - 0xe9, 0xb8, 0x12, 0x43, 0xb0, 0xe1, 0x80, 0xd1, 0x22, 0x73, - 0xd9, 0x88, 0x7b, 0x2a, 0x32, 0x63, 0x90, 0xc1, 0x6b, 0x3a, - 0xc9, 0x98, 0x0b, 0x5a, 0xa9, 0xf8, 0x52, 0x03, 0xf0, 0xa1, - 0xb9, 0xe8, 0x1b, 0x4a, 0xe0, 0xb1, 0x42, 0x13, 0x72, 0x23, - 0xd0, 0x81, 0x2b, 0x7a, 0x89, 0xd8, 0xc0, 0x91, 0x62, 0x33, - 0x99, 0xc8, 0x3b, 0x6a, 0xef, 0xbe, 0x4d, 0x1c, 0xb6, 0xe7, - 0x14, 0x45, 0x5d, 0x0c, 0xff, 0xae, 0x04, 0x55, 0xa6, 0xf7, - 0x96, 0xc7, 0x34, 0x65, 0xcf, 0x9e, 0x6d, 0x3c, 0x24, 0x75, - 0x86, 0xd7, 0x7d, 0x2c, 0xdf, 0x8e, 0x1d, 0x4c, 0xbf, 0xee, - 0x44, 0x15, 0xe6, 0xb7, 0xaf, 0xfe, 0x0d, 0x5c, 0xf6, 0xa7, - 0x54, 0x05, 0x64, 0x35, 0xc6, 0x97, 0x3d, 0x6c, 0x9f, 0xce, - 0xd6, 0x87, 0x74, 0x25, 0x8f, 0xde, 0x2d, 0x7c, 0x16, 0x47, - 0xb4, 0xe5, 0x4f, 0x1e, 0xed, 0xbc, 0xa4, 0xf5, 0x06, 0x57, - 0xfd, 0xac, 0x5f, 0x0e, 0x6f, 0x3e, 0xcd, 0x9c, 0x36, 0x67, - 0x94, 0xc5, 0xdd, 0x8c, 0x7f, 0x2e, 0x84, 0xd5, 0x26, 0x77, - 0xe4, 0xb5, 0x46, 0x17, 0xbd, 0xec, 0x1f, 0x4e, 0x56, 0x07, - 0xf4, 0xa5, 0x0f, 0x5e, 0xad, 0xfc, 0x9d, 0xcc, 0x3f, 0x6e, - 0xc4, 0x95, 0x66, 0x37, 0x2f, 0x7e, 0x8d, 0xdc, 0x76, 0x27, - 0xd4, 0x85, 0x00, 0x52, 0xa4, 0xf6, 0x55, 0x07, 0xf1, 0xa3, - 0xaa, 0xf8, 0x0e, 0x5c, 0xff, 0xad, 0x5b, 0x09, 0x49, 0x1b, - 0xed, 0xbf, 0x1c, 0x4e, 0xb8, 0xea, 0xe3, 0xb1, 0x47, 0x15, - 0xb6, 0xe4, 0x12, 0x40, 0x92, 0xc0, 0x36, 0x64, 0xc7, 0x95, - 0x63, 0x31, 0x38, 0x6a, 0x9c, 0xce, 0x6d, 0x3f, 0xc9, 0x9b, - 0xdb, 0x89, 0x7f, 0x2d, 0x8e, 0xdc, 0x2a, 0x78, 0x71, 0x23, - 0xd5, 0x87, 0x24, 0x76, 0x80, 0xd2, 0x39, 0x6b, 0x9d, 0xcf, - 0x6c, 0x3e, 0xc8, 0x9a, 0x93, 0xc1, 0x37, 0x65, 0xc6, 0x94, - 0x62, 0x30, 0x70, 0x22, 0xd4, 0x86, 0x25, 0x77, 0x81, 0xd3, - 0xda, 0x88, 0x7e, 0x2c, 0x8f, 0xdd, 0x2b, 0x79, 0xab, 0xf9, - 0x0f, 0x5d, 0xfe, 0xac, 0x5a, 0x08, 0x01, 0x53, 0xa5, 0xf7, - 0x54, 0x06, 0xf0, 0xa2, 0xe2, 0xb0, 0x46, 0x14, 0xb7, 0xe5, - 0x13, 0x41, 0x48, 0x1a, 0xec, 0xbe, 0x1d, 0x4f, 0xb9, 0xeb, - 0x72, 0x20, 0xd6, 0x84, 0x27, 0x75, 0x83, 0xd1, 0xd8, 0x8a, - 0x7c, 0x2e, 0x8d, 0xdf, 0x29, 0x7b, 0x3b, 0x69, 0x9f, 0xcd, - 0x6e, 0x3c, 0xca, 0x98, 0x91, 0xc3, 0x35, 0x67, 0xc4, 0x96, - 0x60, 0x32, 0xe0, 0xb2, 0x44, 0x16, 0xb5, 0xe7, 0x11, 0x43, - 0x4a, 0x18, 0xee, 0xbc, 0x1f, 0x4d, 0xbb, 0xe9, 0xa9, 0xfb, - 0x0d, 0x5f, 0xfc, 0xae, 0x58, 0x0a, 0x03, 0x51, 0xa7, 0xf5, - 0x56, 0x04, 0xf2, 0xa0, 0x4b, 0x19, 0xef, 0xbd, 0x1e, 0x4c, - 0xba, 0xe8, 0xe1, 0xb3, 0x45, 0x17, 0xb4, 0xe6, 0x10, 0x42, - 0x02, 0x50, 0xa6, 0xf4, 0x57, 0x05, 0xf3, 0xa1, 0xa8, 0xfa, - 0x0c, 0x5e, 0xfd, 0xaf, 0x59, 0x0b, 0xd9, 0x8b, 0x7d, 0x2f, - 0x8c, 0xde, 0x28, 0x7a, 0x73, 0x21, 0xd7, 0x85, 0x26, 0x74, - 0x82, 0xd0, 0x90, 0xc2, 0x34, 0x66, 0xc5, 0x97, 0x61, 0x33, - 0x3a, 0x68, 0x9e, 0xcc, 0x6f, 0x3d, 0xcb, 0x99, 0x00, 0x53, - 0xa6, 0xf5, 0x51, 0x02, 0xf7, 0xa4, 0xa2, 0xf1, 0x04, 0x57, - 0xf3, 0xa0, 0x55, 0x06, 0x59, 0x0a, 0xff, 0xac, 0x08, 0x5b, - 0xae, 0xfd, 0xfb, 0xa8, 0x5d, 0x0e, 0xaa, 0xf9, 0x0c, 0x5f, - 0xb2, 0xe1, 0x14, 0x47, 0xe3, 0xb0, 0x45, 0x16, 0x10, 0x43, - 0xb6, 0xe5, 0x41, 0x12, 0xe7, 0xb4, 0xeb, 0xb8, 0x4d, 0x1e, - 0xba, 0xe9, 0x1c, 0x4f, 0x49, 0x1a, 0xef, 0xbc, 0x18, 0x4b, - 0xbe, 0xed, 0x79, 0x2a, 0xdf, 0x8c, 0x28, 0x7b, 0x8e, 0xdd, - 0xdb, 0x88, 0x7d, 0x2e, 0x8a, 0xd9, 0x2c, 0x7f, 0x20, 0x73, - 0x86, 0xd5, 0x71, 0x22, 0xd7, 0x84, 0x82, 0xd1, 0x24, 0x77, - 0xd3, 0x80, 0x75, 0x26, 0xcb, 0x98, 0x6d, 0x3e, 0x9a, 0xc9, - 0x3c, 0x6f, 0x69, 0x3a, 0xcf, 0x9c, 0x38, 0x6b, 0x9e, 0xcd, - 0x92, 0xc1, 0x34, 0x67, 0xc3, 0x90, 0x65, 0x36, 0x30, 0x63, - 0x96, 0xc5, 0x61, 0x32, 0xc7, 0x94, 0xf2, 0xa1, 0x54, 0x07, - 0xa3, 0xf0, 0x05, 0x56, 0x50, 0x03, 0xf6, 0xa5, 0x01, 0x52, - 0xa7, 0xf4, 0xab, 0xf8, 0x0d, 0x5e, 0xfa, 0xa9, 0x5c, 0x0f, - 0x09, 0x5a, 0xaf, 0xfc, 0x58, 0x0b, 0xfe, 0xad, 0x40, 0x13, - 0xe6, 0xb5, 0x11, 0x42, 0xb7, 0xe4, 0xe2, 0xb1, 0x44, 0x17, - 0xb3, 0xe0, 0x15, 0x46, 0x19, 0x4a, 0xbf, 0xec, 0x48, 0x1b, - 0xee, 0xbd, 0xbb, 0xe8, 0x1d, 0x4e, 0xea, 0xb9, 0x4c, 0x1f, - 0x8b, 0xd8, 0x2d, 0x7e, 0xda, 0x89, 0x7c, 0x2f, 0x29, 0x7a, - 0x8f, 0xdc, 0x78, 0x2b, 0xde, 0x8d, 0xd2, 0x81, 0x74, 0x27, - 0x83, 0xd0, 0x25, 0x76, 0x70, 0x23, 0xd6, 0x85, 0x21, 0x72, - 0x87, 0xd4, 0x39, 0x6a, 0x9f, 0xcc, 0x68, 0x3b, 0xce, 0x9d, - 0x9b, 0xc8, 0x3d, 0x6e, 0xca, 0x99, 0x6c, 0x3f, 0x60, 0x33, - 0xc6, 0x95, 0x31, 0x62, 0x97, 0xc4, 0xc2, 0x91, 0x64, 0x37, - 0x93, 0xc0, 0x35, 0x66, 0x00, 0x54, 0xa8, 0xfc, 0x4d, 0x19, - 0xe5, 0xb1, 0x9a, 0xce, 0x32, 0x66, 0xd7, 0x83, 0x7f, 0x2b, - 0x29, 0x7d, 0x81, 0xd5, 0x64, 0x30, 0xcc, 0x98, 0xb3, 0xe7, - 0x1b, 0x4f, 0xfe, 0xaa, 0x56, 0x02, 0x52, 0x06, 0xfa, 0xae, - 0x1f, 0x4b, 0xb7, 0xe3, 0xc8, 0x9c, 0x60, 0x34, 0x85, 0xd1, - 0x2d, 0x79, 0x7b, 0x2f, 0xd3, 0x87, 0x36, 0x62, 0x9e, 0xca, - 0xe1, 0xb5, 0x49, 0x1d, 0xac, 0xf8, 0x04, 0x50, 0xa4, 0xf0, - 0x0c, 0x58, 0xe9, 0xbd, 0x41, 0x15, 0x3e, 0x6a, 0x96, 0xc2, - 0x73, 0x27, 0xdb, 0x8f, 0x8d, 0xd9, 0x25, 0x71, 0xc0, 0x94, - 0x68, 0x3c, 0x17, 0x43, 0xbf, 0xeb, 0x5a, 0x0e, 0xf2, 0xa6, - 0xf6, 0xa2, 0x5e, 0x0a, 0xbb, 0xef, 0x13, 0x47, 0x6c, 0x38, - 0xc4, 0x90, 0x21, 0x75, 0x89, 0xdd, 0xdf, 0x8b, 0x77, 0x23, - 0x92, 0xc6, 0x3a, 0x6e, 0x45, 0x11, 0xed, 0xb9, 0x08, 0x5c, - 0xa0, 0xf4, 0x55, 0x01, 0xfd, 0xa9, 0x18, 0x4c, 0xb0, 0xe4, - 0xcf, 0x9b, 0x67, 0x33, 0x82, 0xd6, 0x2a, 0x7e, 0x7c, 0x28, - 0xd4, 0x80, 0x31, 0x65, 0x99, 0xcd, 0xe6, 0xb2, 0x4e, 0x1a, - 0xab, 0xff, 0x03, 0x57, 0x07, 0x53, 0xaf, 0xfb, 0x4a, 0x1e, - 0xe2, 0xb6, 0x9d, 0xc9, 0x35, 0x61, 0xd0, 0x84, 0x78, 0x2c, - 0x2e, 0x7a, 0x86, 0xd2, 0x63, 0x37, 0xcb, 0x9f, 0xb4, 0xe0, - 0x1c, 0x48, 0xf9, 0xad, 0x51, 0x05, 0xf1, 0xa5, 0x59, 0x0d, - 0xbc, 0xe8, 0x14, 0x40, 0x6b, 0x3f, 0xc3, 0x97, 0x26, 0x72, - 0x8e, 0xda, 0xd8, 0x8c, 0x70, 0x24, 0x95, 0xc1, 0x3d, 0x69, - 0x42, 0x16, 0xea, 0xbe, 0x0f, 0x5b, 0xa7, 0xf3, 0xa3, 0xf7, - 0x0b, 0x5f, 0xee, 0xba, 0x46, 0x12, 0x39, 0x6d, 0x91, 0xc5, - 0x74, 0x20, 0xdc, 0x88, 0x8a, 0xde, 0x22, 0x76, 0xc7, 0x93, - 0x6f, 0x3b, 0x10, 0x44, 0xb8, 0xec, 0x5d, 0x09, 0xf5, 0xa1, - 0x00, 0x55, 0xaa, 0xff, 0x49, 0x1c, 0xe3, 0xb6, 0x92, 0xc7, - 0x38, 0x6d, 0xdb, 0x8e, 0x71, 0x24, 0x39, 0x6c, 0x93, 0xc6, - 0x70, 0x25, 0xda, 0x8f, 0xab, 0xfe, 0x01, 0x54, 0xe2, 0xb7, - 0x48, 0x1d, 0x72, 0x27, 0xd8, 0x8d, 0x3b, 0x6e, 0x91, 0xc4, - 0xe0, 0xb5, 0x4a, 0x1f, 0xa9, 0xfc, 0x03, 0x56, 0x4b, 0x1e, - 0xe1, 0xb4, 0x02, 0x57, 0xa8, 0xfd, 0xd9, 0x8c, 0x73, 0x26, - 0x90, 0xc5, 0x3a, 0x6f, 0xe4, 0xb1, 0x4e, 0x1b, 0xad, 0xf8, - 0x07, 0x52, 0x76, 0x23, 0xdc, 0x89, 0x3f, 0x6a, 0x95, 0xc0, - 0xdd, 0x88, 0x77, 0x22, 0x94, 0xc1, 0x3e, 0x6b, 0x4f, 0x1a, - 0xe5, 0xb0, 0x06, 0x53, 0xac, 0xf9, 0x96, 0xc3, 0x3c, 0x69, - 0xdf, 0x8a, 0x75, 0x20, 0x04, 0x51, 0xae, 0xfb, 0x4d, 0x18, - 0xe7, 0xb2, 0xaf, 0xfa, 0x05, 0x50, 0xe6, 0xb3, 0x4c, 0x19, - 0x3d, 0x68, 0x97, 0xc2, 0x74, 0x21, 0xde, 0x8b, 0xd5, 0x80, - 0x7f, 0x2a, 0x9c, 0xc9, 0x36, 0x63, 0x47, 0x12, 0xed, 0xb8, - 0x0e, 0x5b, 0xa4, 0xf1, 0xec, 0xb9, 0x46, 0x13, 0xa5, 0xf0, - 0x0f, 0x5a, 0x7e, 0x2b, 0xd4, 0x81, 0x37, 0x62, 0x9d, 0xc8, - 0xa7, 0xf2, 0x0d, 0x58, 0xee, 0xbb, 0x44, 0x11, 0x35, 0x60, - 0x9f, 0xca, 0x7c, 0x29, 0xd6, 0x83, 0x9e, 0xcb, 0x34, 0x61, - 0xd7, 0x82, 0x7d, 0x28, 0x0c, 0x59, 0xa6, 0xf3, 0x45, 0x10, - 0xef, 0xba, 0x31, 0x64, 0x9b, 0xce, 0x78, 0x2d, 0xd2, 0x87, - 0xa3, 0xf6, 0x09, 0x5c, 0xea, 0xbf, 0x40, 0x15, 0x08, 0x5d, - 0xa2, 0xf7, 0x41, 0x14, 0xeb, 0xbe, 0x9a, 0xcf, 0x30, 0x65, - 0xd3, 0x86, 0x79, 0x2c, 0x43, 0x16, 0xe9, 0xbc, 0x0a, 0x5f, - 0xa0, 0xf5, 0xd1, 0x84, 0x7b, 0x2e, 0x98, 0xcd, 0x32, 0x67, - 0x7a, 0x2f, 0xd0, 0x85, 0x33, 0x66, 0x99, 0xcc, 0xe8, 0xbd, - 0x42, 0x17, 0xa1, 0xf4, 0x0b, 0x5e, 0x00, 0x56, 0xac, 0xfa, - 0x45, 0x13, 0xe9, 0xbf, 0x8a, 0xdc, 0x26, 0x70, 0xcf, 0x99, - 0x63, 0x35, 0x09, 0x5f, 0xa5, 0xf3, 0x4c, 0x1a, 0xe0, 0xb6, - 0x83, 0xd5, 0x2f, 0x79, 0xc6, 0x90, 0x6a, 0x3c, 0x12, 0x44, - 0xbe, 0xe8, 0x57, 0x01, 0xfb, 0xad, 0x98, 0xce, 0x34, 0x62, - 0xdd, 0x8b, 0x71, 0x27, 0x1b, 0x4d, 0xb7, 0xe1, 0x5e, 0x08, - 0xf2, 0xa4, 0x91, 0xc7, 0x3d, 0x6b, 0xd4, 0x82, 0x78, 0x2e, - 0x24, 0x72, 0x88, 0xde, 0x61, 0x37, 0xcd, 0x9b, 0xae, 0xf8, - 0x02, 0x54, 0xeb, 0xbd, 0x47, 0x11, 0x2d, 0x7b, 0x81, 0xd7, - 0x68, 0x3e, 0xc4, 0x92, 0xa7, 0xf1, 0x0b, 0x5d, 0xe2, 0xb4, - 0x4e, 0x18, 0x36, 0x60, 0x9a, 0xcc, 0x73, 0x25, 0xdf, 0x89, - 0xbc, 0xea, 0x10, 0x46, 0xf9, 0xaf, 0x55, 0x03, 0x3f, 0x69, - 0x93, 0xc5, 0x7a, 0x2c, 0xd6, 0x80, 0xb5, 0xe3, 0x19, 0x4f, - 0xf0, 0xa6, 0x5c, 0x0a, 0x48, 0x1e, 0xe4, 0xb2, 0x0d, 0x5b, - 0xa1, 0xf7, 0xc2, 0x94, 0x6e, 0x38, 0x87, 0xd1, 0x2b, 0x7d, - 0x41, 0x17, 0xed, 0xbb, 0x04, 0x52, 0xa8, 0xfe, 0xcb, 0x9d, - 0x67, 0x31, 0x8e, 0xd8, 0x22, 0x74, 0x5a, 0x0c, 0xf6, 0xa0, - 0x1f, 0x49, 0xb3, 0xe5, 0xd0, 0x86, 0x7c, 0x2a, 0x95, 0xc3, - 0x39, 0x6f, 0x53, 0x05, 0xff, 0xa9, 0x16, 0x40, 0xba, 0xec, - 0xd9, 0x8f, 0x75, 0x23, 0x9c, 0xca, 0x30, 0x66, 0x6c, 0x3a, - 0xc0, 0x96, 0x29, 0x7f, 0x85, 0xd3, 0xe6, 0xb0, 0x4a, 0x1c, - 0xa3, 0xf5, 0x0f, 0x59, 0x65, 0x33, 0xc9, 0x9f, 0x20, 0x76, - 0x8c, 0xda, 0xef, 0xb9, 0x43, 0x15, 0xaa, 0xfc, 0x06, 0x50, - 0x7e, 0x28, 0xd2, 0x84, 0x3b, 0x6d, 0x97, 0xc1, 0xf4, 0xa2, - 0x58, 0x0e, 0xb1, 0xe7, 0x1d, 0x4b, 0x77, 0x21, 0xdb, 0x8d, - 0x32, 0x64, 0x9e, 0xc8, 0xfd, 0xab, 0x51, 0x07, 0xb8, 0xee, - 0x14, 0x42, 0x00, 0x57, 0xae, 0xf9, 0x41, 0x16, 0xef, 0xb8, - 0x82, 0xd5, 0x2c, 0x7b, 0xc3, 0x94, 0x6d, 0x3a, 0x19, 0x4e, - 0xb7, 0xe0, 0x58, 0x0f, 0xf6, 0xa1, 0x9b, 0xcc, 0x35, 0x62, - 0xda, 0x8d, 0x74, 0x23, 0x32, 0x65, 0x9c, 0xcb, 0x73, 0x24, - 0xdd, 0x8a, 0xb0, 0xe7, 0x1e, 0x49, 0xf1, 0xa6, 0x5f, 0x08, - 0x2b, 0x7c, 0x85, 0xd2, 0x6a, 0x3d, 0xc4, 0x93, 0xa9, 0xfe, - 0x07, 0x50, 0xe8, 0xbf, 0x46, 0x11, 0x64, 0x33, 0xca, 0x9d, - 0x25, 0x72, 0x8b, 0xdc, 0xe6, 0xb1, 0x48, 0x1f, 0xa7, 0xf0, - 0x09, 0x5e, 0x7d, 0x2a, 0xd3, 0x84, 0x3c, 0x6b, 0x92, 0xc5, - 0xff, 0xa8, 0x51, 0x06, 0xbe, 0xe9, 0x10, 0x47, 0x56, 0x01, - 0xf8, 0xaf, 0x17, 0x40, 0xb9, 0xee, 0xd4, 0x83, 0x7a, 0x2d, - 0x95, 0xc2, 0x3b, 0x6c, 0x4f, 0x18, 0xe1, 0xb6, 0x0e, 0x59, - 0xa0, 0xf7, 0xcd, 0x9a, 0x63, 0x34, 0x8c, 0xdb, 0x22, 0x75, - 0xc8, 0x9f, 0x66, 0x31, 0x89, 0xde, 0x27, 0x70, 0x4a, 0x1d, - 0xe4, 0xb3, 0x0b, 0x5c, 0xa5, 0xf2, 0xd1, 0x86, 0x7f, 0x28, - 0x90, 0xc7, 0x3e, 0x69, 0x53, 0x04, 0xfd, 0xaa, 0x12, 0x45, - 0xbc, 0xeb, 0xfa, 0xad, 0x54, 0x03, 0xbb, 0xec, 0x15, 0x42, - 0x78, 0x2f, 0xd6, 0x81, 0x39, 0x6e, 0x97, 0xc0, 0xe3, 0xb4, - 0x4d, 0x1a, 0xa2, 0xf5, 0x0c, 0x5b, 0x61, 0x36, 0xcf, 0x98, - 0x20, 0x77, 0x8e, 0xd9, 0xac, 0xfb, 0x02, 0x55, 0xed, 0xba, - 0x43, 0x14, 0x2e, 0x79, 0x80, 0xd7, 0x6f, 0x38, 0xc1, 0x96, - 0xb5, 0xe2, 0x1b, 0x4c, 0xf4, 0xa3, 0x5a, 0x0d, 0x37, 0x60, - 0x99, 0xce, 0x76, 0x21, 0xd8, 0x8f, 0x9e, 0xc9, 0x30, 0x67, - 0xdf, 0x88, 0x71, 0x26, 0x1c, 0x4b, 0xb2, 0xe5, 0x5d, 0x0a, - 0xf3, 0xa4, 0x87, 0xd0, 0x29, 0x7e, 0xc6, 0x91, 0x68, 0x3f, - 0x05, 0x52, 0xab, 0xfc, 0x44, 0x13, 0xea, 0xbd, 0x00, 0x58, - 0xb0, 0xe8, 0x7d, 0x25, 0xcd, 0x95, 0xfa, 0xa2, 0x4a, 0x12, - 0x87, 0xdf, 0x37, 0x6f, 0xe9, 0xb1, 0x59, 0x01, 0x94, 0xcc, - 0x24, 0x7c, 0x13, 0x4b, 0xa3, 0xfb, 0x6e, 0x36, 0xde, 0x86, - 0xcf, 0x97, 0x7f, 0x27, 0xb2, 0xea, 0x02, 0x5a, 0x35, 0x6d, - 0x85, 0xdd, 0x48, 0x10, 0xf8, 0xa0, 0x26, 0x7e, 0x96, 0xce, - 0x5b, 0x03, 0xeb, 0xb3, 0xdc, 0x84, 0x6c, 0x34, 0xa1, 0xf9, - 0x11, 0x49, 0x83, 0xdb, 0x33, 0x6b, 0xfe, 0xa6, 0x4e, 0x16, - 0x79, 0x21, 0xc9, 0x91, 0x04, 0x5c, 0xb4, 0xec, 0x6a, 0x32, - 0xda, 0x82, 0x17, 0x4f, 0xa7, 0xff, 0x90, 0xc8, 0x20, 0x78, - 0xed, 0xb5, 0x5d, 0x05, 0x4c, 0x14, 0xfc, 0xa4, 0x31, 0x69, - 0x81, 0xd9, 0xb6, 0xee, 0x06, 0x5e, 0xcb, 0x93, 0x7b, 0x23, - 0xa5, 0xfd, 0x15, 0x4d, 0xd8, 0x80, 0x68, 0x30, 0x5f, 0x07, - 0xef, 0xb7, 0x22, 0x7a, 0x92, 0xca, 0x1b, 0x43, 0xab, 0xf3, - 0x66, 0x3e, 0xd6, 0x8e, 0xe1, 0xb9, 0x51, 0x09, 0x9c, 0xc4, - 0x2c, 0x74, 0xf2, 0xaa, 0x42, 0x1a, 0x8f, 0xd7, 0x3f, 0x67, - 0x08, 0x50, 0xb8, 0xe0, 0x75, 0x2d, 0xc5, 0x9d, 0xd4, 0x8c, - 0x64, 0x3c, 0xa9, 0xf1, 0x19, 0x41, 0x2e, 0x76, 0x9e, 0xc6, - 0x53, 0x0b, 0xe3, 0xbb, 0x3d, 0x65, 0x8d, 0xd5, 0x40, 0x18, - 0xf0, 0xa8, 0xc7, 0x9f, 0x77, 0x2f, 0xba, 0xe2, 0x0a, 0x52, - 0x98, 0xc0, 0x28, 0x70, 0xe5, 0xbd, 0x55, 0x0d, 0x62, 0x3a, - 0xd2, 0x8a, 0x1f, 0x47, 0xaf, 0xf7, 0x71, 0x29, 0xc1, 0x99, - 0x0c, 0x54, 0xbc, 0xe4, 0x8b, 0xd3, 0x3b, 0x63, 0xf6, 0xae, - 0x46, 0x1e, 0x57, 0x0f, 0xe7, 0xbf, 0x2a, 0x72, 0x9a, 0xc2, - 0xad, 0xf5, 0x1d, 0x45, 0xd0, 0x88, 0x60, 0x38, 0xbe, 0xe6, - 0x0e, 0x56, 0xc3, 0x9b, 0x73, 0x2b, 0x44, 0x1c, 0xf4, 0xac, - 0x39, 0x61, 0x89, 0xd1, 0x00, 0x59, 0xb2, 0xeb, 0x79, 0x20, - 0xcb, 0x92, 0xf2, 0xab, 0x40, 0x19, 0x8b, 0xd2, 0x39, 0x60, - 0xf9, 0xa0, 0x4b, 0x12, 0x80, 0xd9, 0x32, 0x6b, 0x0b, 0x52, - 0xb9, 0xe0, 0x72, 0x2b, 0xc0, 0x99, 0xef, 0xb6, 0x5d, 0x04, - 0x96, 0xcf, 0x24, 0x7d, 0x1d, 0x44, 0xaf, 0xf6, 0x64, 0x3d, - 0xd6, 0x8f, 0x16, 0x4f, 0xa4, 0xfd, 0x6f, 0x36, 0xdd, 0x84, - 0xe4, 0xbd, 0x56, 0x0f, 0x9d, 0xc4, 0x2f, 0x76, 0xc3, 0x9a, - 0x71, 0x28, 0xba, 0xe3, 0x08, 0x51, 0x31, 0x68, 0x83, 0xda, - 0x48, 0x11, 0xfa, 0xa3, 0x3a, 0x63, 0x88, 0xd1, 0x43, 0x1a, - 0xf1, 0xa8, 0xc8, 0x91, 0x7a, 0x23, 0xb1, 0xe8, 0x03, 0x5a, - 0x2c, 0x75, 0x9e, 0xc7, 0x55, 0x0c, 0xe7, 0xbe, 0xde, 0x87, - 0x6c, 0x35, 0xa7, 0xfe, 0x15, 0x4c, 0xd5, 0x8c, 0x67, 0x3e, - 0xac, 0xf5, 0x1e, 0x47, 0x27, 0x7e, 0x95, 0xcc, 0x5e, 0x07, - 0xec, 0xb5, 0x9b, 0xc2, 0x29, 0x70, 0xe2, 0xbb, 0x50, 0x09, - 0x69, 0x30, 0xdb, 0x82, 0x10, 0x49, 0xa2, 0xfb, 0x62, 0x3b, - 0xd0, 0x89, 0x1b, 0x42, 0xa9, 0xf0, 0x90, 0xc9, 0x22, 0x7b, - 0xe9, 0xb0, 0x5b, 0x02, 0x74, 0x2d, 0xc6, 0x9f, 0x0d, 0x54, - 0xbf, 0xe6, 0x86, 0xdf, 0x34, 0x6d, 0xff, 0xa6, 0x4d, 0x14, - 0x8d, 0xd4, 0x3f, 0x66, 0xf4, 0xad, 0x46, 0x1f, 0x7f, 0x26, - 0xcd, 0x94, 0x06, 0x5f, 0xb4, 0xed, 0x58, 0x01, 0xea, 0xb3, - 0x21, 0x78, 0x93, 0xca, 0xaa, 0xf3, 0x18, 0x41, 0xd3, 0x8a, - 0x61, 0x38, 0xa1, 0xf8, 0x13, 0x4a, 0xd8, 0x81, 0x6a, 0x33, - 0x53, 0x0a, 0xe1, 0xb8, 0x2a, 0x73, 0x98, 0xc1, 0xb7, 0xee, - 0x05, 0x5c, 0xce, 0x97, 0x7c, 0x25, 0x45, 0x1c, 0xf7, 0xae, - 0x3c, 0x65, 0x8e, 0xd7, 0x4e, 0x17, 0xfc, 0xa5, 0x37, 0x6e, - 0x85, 0xdc, 0xbc, 0xe5, 0x0e, 0x57, 0xc5, 0x9c, 0x77, 0x2e, - 0x00, 0x5a, 0xb4, 0xee, 0x75, 0x2f, 0xc1, 0x9b, 0xea, 0xb0, - 0x5e, 0x04, 0x9f, 0xc5, 0x2b, 0x71, 0xc9, 0x93, 0x7d, 0x27, - 0xbc, 0xe6, 0x08, 0x52, 0x23, 0x79, 0x97, 0xcd, 0x56, 0x0c, - 0xe2, 0xb8, 0x8f, 0xd5, 0x3b, 0x61, 0xfa, 0xa0, 0x4e, 0x14, - 0x65, 0x3f, 0xd1, 0x8b, 0x10, 0x4a, 0xa4, 0xfe, 0x46, 0x1c, - 0xf2, 0xa8, 0x33, 0x69, 0x87, 0xdd, 0xac, 0xf6, 0x18, 0x42, - 0xd9, 0x83, 0x6d, 0x37, 0x03, 0x59, 0xb7, 0xed, 0x76, 0x2c, - 0xc2, 0x98, 0xe9, 0xb3, 0x5d, 0x07, 0x9c, 0xc6, 0x28, 0x72, - 0xca, 0x90, 0x7e, 0x24, 0xbf, 0xe5, 0x0b, 0x51, 0x20, 0x7a, - 0x94, 0xce, 0x55, 0x0f, 0xe1, 0xbb, 0x8c, 0xd6, 0x38, 0x62, - 0xf9, 0xa3, 0x4d, 0x17, 0x66, 0x3c, 0xd2, 0x88, 0x13, 0x49, - 0xa7, 0xfd, 0x45, 0x1f, 0xf1, 0xab, 0x30, 0x6a, 0x84, 0xde, - 0xaf, 0xf5, 0x1b, 0x41, 0xda, 0x80, 0x6e, 0x34, 0x06, 0x5c, - 0xb2, 0xe8, 0x73, 0x29, 0xc7, 0x9d, 0xec, 0xb6, 0x58, 0x02, - 0x99, 0xc3, 0x2d, 0x77, 0xcf, 0x95, 0x7b, 0x21, 0xba, 0xe0, - 0x0e, 0x54, 0x25, 0x7f, 0x91, 0xcb, 0x50, 0x0a, 0xe4, 0xbe, - 0x89, 0xd3, 0x3d, 0x67, 0xfc, 0xa6, 0x48, 0x12, 0x63, 0x39, - 0xd7, 0x8d, 0x16, 0x4c, 0xa2, 0xf8, 0x40, 0x1a, 0xf4, 0xae, - 0x35, 0x6f, 0x81, 0xdb, 0xaa, 0xf0, 0x1e, 0x44, 0xdf, 0x85, - 0x6b, 0x31, 0x05, 0x5f, 0xb1, 0xeb, 0x70, 0x2a, 0xc4, 0x9e, - 0xef, 0xb5, 0x5b, 0x01, 0x9a, 0xc0, 0x2e, 0x74, 0xcc, 0x96, - 0x78, 0x22, 0xb9, 0xe3, 0x0d, 0x57, 0x26, 0x7c, 0x92, 0xc8, - 0x53, 0x09, 0xe7, 0xbd, 0x8a, 0xd0, 0x3e, 0x64, 0xff, 0xa5, - 0x4b, 0x11, 0x60, 0x3a, 0xd4, 0x8e, 0x15, 0x4f, 0xa1, 0xfb, - 0x43, 0x19, 0xf7, 0xad, 0x36, 0x6c, 0x82, 0xd8, 0xa9, 0xf3, - 0x1d, 0x47, 0xdc, 0x86, 0x68, 0x32, 0x00, 0x5b, 0xb6, 0xed, - 0x71, 0x2a, 0xc7, 0x9c, 0xe2, 0xb9, 0x54, 0x0f, 0x93, 0xc8, - 0x25, 0x7e, 0xd9, 0x82, 0x6f, 0x34, 0xa8, 0xf3, 0x1e, 0x45, - 0x3b, 0x60, 0x8d, 0xd6, 0x4a, 0x11, 0xfc, 0xa7, 0xaf, 0xf4, - 0x19, 0x42, 0xde, 0x85, 0x68, 0x33, 0x4d, 0x16, 0xfb, 0xa0, - 0x3c, 0x67, 0x8a, 0xd1, 0x76, 0x2d, 0xc0, 0x9b, 0x07, 0x5c, - 0xb1, 0xea, 0x94, 0xcf, 0x22, 0x79, 0xe5, 0xbe, 0x53, 0x08, - 0x43, 0x18, 0xf5, 0xae, 0x32, 0x69, 0x84, 0xdf, 0xa1, 0xfa, - 0x17, 0x4c, 0xd0, 0x8b, 0x66, 0x3d, 0x9a, 0xc1, 0x2c, 0x77, - 0xeb, 0xb0, 0x5d, 0x06, 0x78, 0x23, 0xce, 0x95, 0x09, 0x52, - 0xbf, 0xe4, 0xec, 0xb7, 0x5a, 0x01, 0x9d, 0xc6, 0x2b, 0x70, - 0x0e, 0x55, 0xb8, 0xe3, 0x7f, 0x24, 0xc9, 0x92, 0x35, 0x6e, - 0x83, 0xd8, 0x44, 0x1f, 0xf2, 0xa9, 0xd7, 0x8c, 0x61, 0x3a, - 0xa6, 0xfd, 0x10, 0x4b, 0x86, 0xdd, 0x30, 0x6b, 0xf7, 0xac, - 0x41, 0x1a, 0x64, 0x3f, 0xd2, 0x89, 0x15, 0x4e, 0xa3, 0xf8, - 0x5f, 0x04, 0xe9, 0xb2, 0x2e, 0x75, 0x98, 0xc3, 0xbd, 0xe6, - 0x0b, 0x50, 0xcc, 0x97, 0x7a, 0x21, 0x29, 0x72, 0x9f, 0xc4, - 0x58, 0x03, 0xee, 0xb5, 0xcb, 0x90, 0x7d, 0x26, 0xba, 0xe1, - 0x0c, 0x57, 0xf0, 0xab, 0x46, 0x1d, 0x81, 0xda, 0x37, 0x6c, - 0x12, 0x49, 0xa4, 0xff, 0x63, 0x38, 0xd5, 0x8e, 0xc5, 0x9e, - 0x73, 0x28, 0xb4, 0xef, 0x02, 0x59, 0x27, 0x7c, 0x91, 0xca, - 0x56, 0x0d, 0xe0, 0xbb, 0x1c, 0x47, 0xaa, 0xf1, 0x6d, 0x36, - 0xdb, 0x80, 0xfe, 0xa5, 0x48, 0x13, 0x8f, 0xd4, 0x39, 0x62, - 0x6a, 0x31, 0xdc, 0x87, 0x1b, 0x40, 0xad, 0xf6, 0x88, 0xd3, - 0x3e, 0x65, 0xf9, 0xa2, 0x4f, 0x14, 0xb3, 0xe8, 0x05, 0x5e, - 0xc2, 0x99, 0x74, 0x2f, 0x51, 0x0a, 0xe7, 0xbc, 0x20, 0x7b, - 0x96, 0xcd, 0x00, 0x5c, 0xb8, 0xe4, 0x6d, 0x31, 0xd5, 0x89, - 0xda, 0x86, 0x62, 0x3e, 0xb7, 0xeb, 0x0f, 0x53, 0xa9, 0xf5, - 0x11, 0x4d, 0xc4, 0x98, 0x7c, 0x20, 0x73, 0x2f, 0xcb, 0x97, - 0x1e, 0x42, 0xa6, 0xfa, 0x4f, 0x13, 0xf7, 0xab, 0x22, 0x7e, - 0x9a, 0xc6, 0x95, 0xc9, 0x2d, 0x71, 0xf8, 0xa4, 0x40, 0x1c, - 0xe6, 0xba, 0x5e, 0x02, 0x8b, 0xd7, 0x33, 0x6f, 0x3c, 0x60, - 0x84, 0xd8, 0x51, 0x0d, 0xe9, 0xb5, 0x9e, 0xc2, 0x26, 0x7a, - 0xf3, 0xaf, 0x4b, 0x17, 0x44, 0x18, 0xfc, 0xa0, 0x29, 0x75, - 0x91, 0xcd, 0x37, 0x6b, 0x8f, 0xd3, 0x5a, 0x06, 0xe2, 0xbe, - 0xed, 0xb1, 0x55, 0x09, 0x80, 0xdc, 0x38, 0x64, 0xd1, 0x8d, - 0x69, 0x35, 0xbc, 0xe0, 0x04, 0x58, 0x0b, 0x57, 0xb3, 0xef, - 0x66, 0x3a, 0xde, 0x82, 0x78, 0x24, 0xc0, 0x9c, 0x15, 0x49, - 0xad, 0xf1, 0xa2, 0xfe, 0x1a, 0x46, 0xcf, 0x93, 0x77, 0x2b, - 0x21, 0x7d, 0x99, 0xc5, 0x4c, 0x10, 0xf4, 0xa8, 0xfb, 0xa7, - 0x43, 0x1f, 0x96, 0xca, 0x2e, 0x72, 0x88, 0xd4, 0x30, 0x6c, - 0xe5, 0xb9, 0x5d, 0x01, 0x52, 0x0e, 0xea, 0xb6, 0x3f, 0x63, - 0x87, 0xdb, 0x6e, 0x32, 0xd6, 0x8a, 0x03, 0x5f, 0xbb, 0xe7, - 0xb4, 0xe8, 0x0c, 0x50, 0xd9, 0x85, 0x61, 0x3d, 0xc7, 0x9b, - 0x7f, 0x23, 0xaa, 0xf6, 0x12, 0x4e, 0x1d, 0x41, 0xa5, 0xf9, - 0x70, 0x2c, 0xc8, 0x94, 0xbf, 0xe3, 0x07, 0x5b, 0xd2, 0x8e, - 0x6a, 0x36, 0x65, 0x39, 0xdd, 0x81, 0x08, 0x54, 0xb0, 0xec, - 0x16, 0x4a, 0xae, 0xf2, 0x7b, 0x27, 0xc3, 0x9f, 0xcc, 0x90, - 0x74, 0x28, 0xa1, 0xfd, 0x19, 0x45, 0xf0, 0xac, 0x48, 0x14, - 0x9d, 0xc1, 0x25, 0x79, 0x2a, 0x76, 0x92, 0xce, 0x47, 0x1b, - 0xff, 0xa3, 0x59, 0x05, 0xe1, 0xbd, 0x34, 0x68, 0x8c, 0xd0, - 0x83, 0xdf, 0x3b, 0x67, 0xee, 0xb2, 0x56, 0x0a, 0x00, 0x5d, - 0xba, 0xe7, 0x69, 0x34, 0xd3, 0x8e, 0xd2, 0x8f, 0x68, 0x35, - 0xbb, 0xe6, 0x01, 0x5c, 0xb9, 0xe4, 0x03, 0x5e, 0xd0, 0x8d, - 0x6a, 0x37, 0x6b, 0x36, 0xd1, 0x8c, 0x02, 0x5f, 0xb8, 0xe5, - 0x6f, 0x32, 0xd5, 0x88, 0x06, 0x5b, 0xbc, 0xe1, 0xbd, 0xe0, - 0x07, 0x5a, 0xd4, 0x89, 0x6e, 0x33, 0xd6, 0x8b, 0x6c, 0x31, - 0xbf, 0xe2, 0x05, 0x58, 0x04, 0x59, 0xbe, 0xe3, 0x6d, 0x30, - 0xd7, 0x8a, 0xde, 0x83, 0x64, 0x39, 0xb7, 0xea, 0x0d, 0x50, - 0x0c, 0x51, 0xb6, 0xeb, 0x65, 0x38, 0xdf, 0x82, 0x67, 0x3a, - 0xdd, 0x80, 0x0e, 0x53, 0xb4, 0xe9, 0xb5, 0xe8, 0x0f, 0x52, - 0xdc, 0x81, 0x66, 0x3b, 0xb1, 0xec, 0x0b, 0x56, 0xd8, 0x85, - 0x62, 0x3f, 0x63, 0x3e, 0xd9, 0x84, 0x0a, 0x57, 0xb0, 0xed, - 0x08, 0x55, 0xb2, 0xef, 0x61, 0x3c, 0xdb, 0x86, 0xda, 0x87, - 0x60, 0x3d, 0xb3, 0xee, 0x09, 0x54, 0xa1, 0xfc, 0x1b, 0x46, - 0xc8, 0x95, 0x72, 0x2f, 0x73, 0x2e, 0xc9, 0x94, 0x1a, 0x47, - 0xa0, 0xfd, 0x18, 0x45, 0xa2, 0xff, 0x71, 0x2c, 0xcb, 0x96, - 0xca, 0x97, 0x70, 0x2d, 0xa3, 0xfe, 0x19, 0x44, 0xce, 0x93, - 0x74, 0x29, 0xa7, 0xfa, 0x1d, 0x40, 0x1c, 0x41, 0xa6, 0xfb, - 0x75, 0x28, 0xcf, 0x92, 0x77, 0x2a, 0xcd, 0x90, 0x1e, 0x43, - 0xa4, 0xf9, 0xa5, 0xf8, 0x1f, 0x42, 0xcc, 0x91, 0x76, 0x2b, - 0x7f, 0x22, 0xc5, 0x98, 0x16, 0x4b, 0xac, 0xf1, 0xad, 0xf0, - 0x17, 0x4a, 0xc4, 0x99, 0x7e, 0x23, 0xc6, 0x9b, 0x7c, 0x21, - 0xaf, 0xf2, 0x15, 0x48, 0x14, 0x49, 0xae, 0xf3, 0x7d, 0x20, - 0xc7, 0x9a, 0x10, 0x4d, 0xaa, 0xf7, 0x79, 0x24, 0xc3, 0x9e, - 0xc2, 0x9f, 0x78, 0x25, 0xab, 0xf6, 0x11, 0x4c, 0xa9, 0xf4, - 0x13, 0x4e, 0xc0, 0x9d, 0x7a, 0x27, 0x7b, 0x26, 0xc1, 0x9c, - 0x12, 0x4f, 0xa8, 0xf5, 0x00, 0x5e, 0xbc, 0xe2, 0x65, 0x3b, - 0xd9, 0x87, 0xca, 0x94, 0x76, 0x28, 0xaf, 0xf1, 0x13, 0x4d, - 0x89, 0xd7, 0x35, 0x6b, 0xec, 0xb2, 0x50, 0x0e, 0x43, 0x1d, - 0xff, 0xa1, 0x26, 0x78, 0x9a, 0xc4, 0x0f, 0x51, 0xb3, 0xed, - 0x6a, 0x34, 0xd6, 0x88, 0xc5, 0x9b, 0x79, 0x27, 0xa0, 0xfe, - 0x1c, 0x42, 0x86, 0xd8, 0x3a, 0x64, 0xe3, 0xbd, 0x5f, 0x01, - 0x4c, 0x12, 0xf0, 0xae, 0x29, 0x77, 0x95, 0xcb, 0x1e, 0x40, - 0xa2, 0xfc, 0x7b, 0x25, 0xc7, 0x99, 0xd4, 0x8a, 0x68, 0x36, - 0xb1, 0xef, 0x0d, 0x53, 0x97, 0xc9, 0x2b, 0x75, 0xf2, 0xac, - 0x4e, 0x10, 0x5d, 0x03, 0xe1, 0xbf, 0x38, 0x66, 0x84, 0xda, - 0x11, 0x4f, 0xad, 0xf3, 0x74, 0x2a, 0xc8, 0x96, 0xdb, 0x85, - 0x67, 0x39, 0xbe, 0xe0, 0x02, 0x5c, 0x98, 0xc6, 0x24, 0x7a, - 0xfd, 0xa3, 0x41, 0x1f, 0x52, 0x0c, 0xee, 0xb0, 0x37, 0x69, - 0x8b, 0xd5, 0x3c, 0x62, 0x80, 0xde, 0x59, 0x07, 0xe5, 0xbb, - 0xf6, 0xa8, 0x4a, 0x14, 0x93, 0xcd, 0x2f, 0x71, 0xb5, 0xeb, - 0x09, 0x57, 0xd0, 0x8e, 0x6c, 0x32, 0x7f, 0x21, 0xc3, 0x9d, - 0x1a, 0x44, 0xa6, 0xf8, 0x33, 0x6d, 0x8f, 0xd1, 0x56, 0x08, - 0xea, 0xb4, 0xf9, 0xa7, 0x45, 0x1b, 0x9c, 0xc2, 0x20, 0x7e, - 0xba, 0xe4, 0x06, 0x58, 0xdf, 0x81, 0x63, 0x3d, 0x70, 0x2e, - 0xcc, 0x92, 0x15, 0x4b, 0xa9, 0xf7, 0x22, 0x7c, 0x9e, 0xc0, - 0x47, 0x19, 0xfb, 0xa5, 0xe8, 0xb6, 0x54, 0x0a, 0x8d, 0xd3, - 0x31, 0x6f, 0xab, 0xf5, 0x17, 0x49, 0xce, 0x90, 0x72, 0x2c, - 0x61, 0x3f, 0xdd, 0x83, 0x04, 0x5a, 0xb8, 0xe6, 0x2d, 0x73, - 0x91, 0xcf, 0x48, 0x16, 0xf4, 0xaa, 0xe7, 0xb9, 0x5b, 0x05, - 0x82, 0xdc, 0x3e, 0x60, 0xa4, 0xfa, 0x18, 0x46, 0xc1, 0x9f, - 0x7d, 0x23, 0x6e, 0x30, 0xd2, 0x8c, 0x0b, 0x55, 0xb7, 0xe9, - 0x00, 0x5f, 0xbe, 0xe1, 0x61, 0x3e, 0xdf, 0x80, 0xc2, 0x9d, - 0x7c, 0x23, 0xa3, 0xfc, 0x1d, 0x42, 0x99, 0xc6, 0x27, 0x78, - 0xf8, 0xa7, 0x46, 0x19, 0x5b, 0x04, 0xe5, 0xba, 0x3a, 0x65, - 0x84, 0xdb, 0x2f, 0x70, 0x91, 0xce, 0x4e, 0x11, 0xf0, 0xaf, - 0xed, 0xb2, 0x53, 0x0c, 0x8c, 0xd3, 0x32, 0x6d, 0xb6, 0xe9, - 0x08, 0x57, 0xd7, 0x88, 0x69, 0x36, 0x74, 0x2b, 0xca, 0x95, - 0x15, 0x4a, 0xab, 0xf4, 0x5e, 0x01, 0xe0, 0xbf, 0x3f, 0x60, - 0x81, 0xde, 0x9c, 0xc3, 0x22, 0x7d, 0xfd, 0xa2, 0x43, 0x1c, - 0xc7, 0x98, 0x79, 0x26, 0xa6, 0xf9, 0x18, 0x47, 0x05, 0x5a, - 0xbb, 0xe4, 0x64, 0x3b, 0xda, 0x85, 0x71, 0x2e, 0xcf, 0x90, - 0x10, 0x4f, 0xae, 0xf1, 0xb3, 0xec, 0x0d, 0x52, 0xd2, 0x8d, - 0x6c, 0x33, 0xe8, 0xb7, 0x56, 0x09, 0x89, 0xd6, 0x37, 0x68, - 0x2a, 0x75, 0x94, 0xcb, 0x4b, 0x14, 0xf5, 0xaa, 0xbc, 0xe3, - 0x02, 0x5d, 0xdd, 0x82, 0x63, 0x3c, 0x7e, 0x21, 0xc0, 0x9f, - 0x1f, 0x40, 0xa1, 0xfe, 0x25, 0x7a, 0x9b, 0xc4, 0x44, 0x1b, - 0xfa, 0xa5, 0xe7, 0xb8, 0x59, 0x06, 0x86, 0xd9, 0x38, 0x67, - 0x93, 0xcc, 0x2d, 0x72, 0xf2, 0xad, 0x4c, 0x13, 0x51, 0x0e, - 0xef, 0xb0, 0x30, 0x6f, 0x8e, 0xd1, 0x0a, 0x55, 0xb4, 0xeb, - 0x6b, 0x34, 0xd5, 0x8a, 0xc8, 0x97, 0x76, 0x29, 0xa9, 0xf6, - 0x17, 0x48, 0xe2, 0xbd, 0x5c, 0x03, 0x83, 0xdc, 0x3d, 0x62, - 0x20, 0x7f, 0x9e, 0xc1, 0x41, 0x1e, 0xff, 0xa0, 0x7b, 0x24, - 0xc5, 0x9a, 0x1a, 0x45, 0xa4, 0xfb, 0xb9, 0xe6, 0x07, 0x58, - 0xd8, 0x87, 0x66, 0x39, 0xcd, 0x92, 0x73, 0x2c, 0xac, 0xf3, - 0x12, 0x4d, 0x0f, 0x50, 0xb1, 0xee, 0x6e, 0x31, 0xd0, 0x8f, - 0x54, 0x0b, 0xea, 0xb5, 0x35, 0x6a, 0x8b, 0xd4, 0x96, 0xc9, - 0x28, 0x77, 0xf7, 0xa8, 0x49, 0x16, 0x00, 0x60, 0xc0, 0xa0, - 0x9d, 0xfd, 0x5d, 0x3d, 0x27, 0x47, 0xe7, 0x87, 0xba, 0xda, - 0x7a, 0x1a, 0x4e, 0x2e, 0x8e, 0xee, 0xd3, 0xb3, 0x13, 0x73, - 0x69, 0x09, 0xa9, 0xc9, 0xf4, 0x94, 0x34, 0x54, 0x9c, 0xfc, - 0x5c, 0x3c, 0x01, 0x61, 0xc1, 0xa1, 0xbb, 0xdb, 0x7b, 0x1b, - 0x26, 0x46, 0xe6, 0x86, 0xd2, 0xb2, 0x12, 0x72, 0x4f, 0x2f, - 0x8f, 0xef, 0xf5, 0x95, 0x35, 0x55, 0x68, 0x08, 0xa8, 0xc8, - 0x25, 0x45, 0xe5, 0x85, 0xb8, 0xd8, 0x78, 0x18, 0x02, 0x62, - 0xc2, 0xa2, 0x9f, 0xff, 0x5f, 0x3f, 0x6b, 0x0b, 0xab, 0xcb, - 0xf6, 0x96, 0x36, 0x56, 0x4c, 0x2c, 0x8c, 0xec, 0xd1, 0xb1, - 0x11, 0x71, 0xb9, 0xd9, 0x79, 0x19, 0x24, 0x44, 0xe4, 0x84, - 0x9e, 0xfe, 0x5e, 0x3e, 0x03, 0x63, 0xc3, 0xa3, 0xf7, 0x97, - 0x37, 0x57, 0x6a, 0x0a, 0xaa, 0xca, 0xd0, 0xb0, 0x10, 0x70, - 0x4d, 0x2d, 0x8d, 0xed, 0x4a, 0x2a, 0x8a, 0xea, 0xd7, 0xb7, - 0x17, 0x77, 0x6d, 0x0d, 0xad, 0xcd, 0xf0, 0x90, 0x30, 0x50, - 0x04, 0x64, 0xc4, 0xa4, 0x99, 0xf9, 0x59, 0x39, 0x23, 0x43, - 0xe3, 0x83, 0xbe, 0xde, 0x7e, 0x1e, 0xd6, 0xb6, 0x16, 0x76, - 0x4b, 0x2b, 0x8b, 0xeb, 0xf1, 0x91, 0x31, 0x51, 0x6c, 0x0c, - 0xac, 0xcc, 0x98, 0xf8, 0x58, 0x38, 0x05, 0x65, 0xc5, 0xa5, - 0xbf, 0xdf, 0x7f, 0x1f, 0x22, 0x42, 0xe2, 0x82, 0x6f, 0x0f, - 0xaf, 0xcf, 0xf2, 0x92, 0x32, 0x52, 0x48, 0x28, 0x88, 0xe8, - 0xd5, 0xb5, 0x15, 0x75, 0x21, 0x41, 0xe1, 0x81, 0xbc, 0xdc, - 0x7c, 0x1c, 0x06, 0x66, 0xc6, 0xa6, 0x9b, 0xfb, 0x5b, 0x3b, - 0xf3, 0x93, 0x33, 0x53, 0x6e, 0x0e, 0xae, 0xce, 0xd4, 0xb4, - 0x14, 0x74, 0x49, 0x29, 0x89, 0xe9, 0xbd, 0xdd, 0x7d, 0x1d, - 0x20, 0x40, 0xe0, 0x80, 0x9a, 0xfa, 0x5a, 0x3a, 0x07, 0x67, - 0xc7, 0xa7, 0x00, 0x61, 0xc2, 0xa3, 0x99, 0xf8, 0x5b, 0x3a, - 0x2f, 0x4e, 0xed, 0x8c, 0xb6, 0xd7, 0x74, 0x15, 0x5e, 0x3f, - 0x9c, 0xfd, 0xc7, 0xa6, 0x05, 0x64, 0x71, 0x10, 0xb3, 0xd2, - 0xe8, 0x89, 0x2a, 0x4b, 0xbc, 0xdd, 0x7e, 0x1f, 0x25, 0x44, - 0xe7, 0x86, 0x93, 0xf2, 0x51, 0x30, 0x0a, 0x6b, 0xc8, 0xa9, - 0xe2, 0x83, 0x20, 0x41, 0x7b, 0x1a, 0xb9, 0xd8, 0xcd, 0xac, - 0x0f, 0x6e, 0x54, 0x35, 0x96, 0xf7, 0x65, 0x04, 0xa7, 0xc6, - 0xfc, 0x9d, 0x3e, 0x5f, 0x4a, 0x2b, 0x88, 0xe9, 0xd3, 0xb2, - 0x11, 0x70, 0x3b, 0x5a, 0xf9, 0x98, 0xa2, 0xc3, 0x60, 0x01, - 0x14, 0x75, 0xd6, 0xb7, 0x8d, 0xec, 0x4f, 0x2e, 0xd9, 0xb8, - 0x1b, 0x7a, 0x40, 0x21, 0x82, 0xe3, 0xf6, 0x97, 0x34, 0x55, - 0x6f, 0x0e, 0xad, 0xcc, 0x87, 0xe6, 0x45, 0x24, 0x1e, 0x7f, - 0xdc, 0xbd, 0xa8, 0xc9, 0x6a, 0x0b, 0x31, 0x50, 0xf3, 0x92, - 0xca, 0xab, 0x08, 0x69, 0x53, 0x32, 0x91, 0xf0, 0xe5, 0x84, - 0x27, 0x46, 0x7c, 0x1d, 0xbe, 0xdf, 0x94, 0xf5, 0x56, 0x37, - 0x0d, 0x6c, 0xcf, 0xae, 0xbb, 0xda, 0x79, 0x18, 0x22, 0x43, - 0xe0, 0x81, 0x76, 0x17, 0xb4, 0xd5, 0xef, 0x8e, 0x2d, 0x4c, - 0x59, 0x38, 0x9b, 0xfa, 0xc0, 0xa1, 0x02, 0x63, 0x28, 0x49, - 0xea, 0x8b, 0xb1, 0xd0, 0x73, 0x12, 0x07, 0x66, 0xc5, 0xa4, - 0x9e, 0xff, 0x5c, 0x3d, 0xaf, 0xce, 0x6d, 0x0c, 0x36, 0x57, - 0xf4, 0x95, 0x80, 0xe1, 0x42, 0x23, 0x19, 0x78, 0xdb, 0xba, - 0xf1, 0x90, 0x33, 0x52, 0x68, 0x09, 0xaa, 0xcb, 0xde, 0xbf, - 0x1c, 0x7d, 0x47, 0x26, 0x85, 0xe4, 0x13, 0x72, 0xd1, 0xb0, - 0x8a, 0xeb, 0x48, 0x29, 0x3c, 0x5d, 0xfe, 0x9f, 0xa5, 0xc4, - 0x67, 0x06, 0x4d, 0x2c, 0x8f, 0xee, 0xd4, 0xb5, 0x16, 0x77, - 0x62, 0x03, 0xa0, 0xc1, 0xfb, 0x9a, 0x39, 0x58, 0x00, 0x62, - 0xc4, 0xa6, 0x95, 0xf7, 0x51, 0x33, 0x37, 0x55, 0xf3, 0x91, - 0xa2, 0xc0, 0x66, 0x04, 0x6e, 0x0c, 0xaa, 0xc8, 0xfb, 0x99, - 0x3f, 0x5d, 0x59, 0x3b, 0x9d, 0xff, 0xcc, 0xae, 0x08, 0x6a, - 0xdc, 0xbe, 0x18, 0x7a, 0x49, 0x2b, 0x8d, 0xef, 0xeb, 0x89, - 0x2f, 0x4d, 0x7e, 0x1c, 0xba, 0xd8, 0xb2, 0xd0, 0x76, 0x14, - 0x27, 0x45, 0xe3, 0x81, 0x85, 0xe7, 0x41, 0x23, 0x10, 0x72, - 0xd4, 0xb6, 0xa5, 0xc7, 0x61, 0x03, 0x30, 0x52, 0xf4, 0x96, - 0x92, 0xf0, 0x56, 0x34, 0x07, 0x65, 0xc3, 0xa1, 0xcb, 0xa9, - 0x0f, 0x6d, 0x5e, 0x3c, 0x9a, 0xf8, 0xfc, 0x9e, 0x38, 0x5a, - 0x69, 0x0b, 0xad, 0xcf, 0x79, 0x1b, 0xbd, 0xdf, 0xec, 0x8e, - 0x28, 0x4a, 0x4e, 0x2c, 0x8a, 0xe8, 0xdb, 0xb9, 0x1f, 0x7d, - 0x17, 0x75, 0xd3, 0xb1, 0x82, 0xe0, 0x46, 0x24, 0x20, 0x42, - 0xe4, 0x86, 0xb5, 0xd7, 0x71, 0x13, 0x57, 0x35, 0x93, 0xf1, - 0xc2, 0xa0, 0x06, 0x64, 0x60, 0x02, 0xa4, 0xc6, 0xf5, 0x97, - 0x31, 0x53, 0x39, 0x5b, 0xfd, 0x9f, 0xac, 0xce, 0x68, 0x0a, - 0x0e, 0x6c, 0xca, 0xa8, 0x9b, 0xf9, 0x5f, 0x3d, 0x8b, 0xe9, - 0x4f, 0x2d, 0x1e, 0x7c, 0xda, 0xb8, 0xbc, 0xde, 0x78, 0x1a, - 0x29, 0x4b, 0xed, 0x8f, 0xe5, 0x87, 0x21, 0x43, 0x70, 0x12, - 0xb4, 0xd6, 0xd2, 0xb0, 0x16, 0x74, 0x47, 0x25, 0x83, 0xe1, - 0xf2, 0x90, 0x36, 0x54, 0x67, 0x05, 0xa3, 0xc1, 0xc5, 0xa7, - 0x01, 0x63, 0x50, 0x32, 0x94, 0xf6, 0x9c, 0xfe, 0x58, 0x3a, - 0x09, 0x6b, 0xcd, 0xaf, 0xab, 0xc9, 0x6f, 0x0d, 0x3e, 0x5c, - 0xfa, 0x98, 0x2e, 0x4c, 0xea, 0x88, 0xbb, 0xd9, 0x7f, 0x1d, - 0x19, 0x7b, 0xdd, 0xbf, 0x8c, 0xee, 0x48, 0x2a, 0x40, 0x22, - 0x84, 0xe6, 0xd5, 0xb7, 0x11, 0x73, 0x77, 0x15, 0xb3, 0xd1, - 0xe2, 0x80, 0x26, 0x44, 0x00, 0x63, 0xc6, 0xa5, 0x91, 0xf2, - 0x57, 0x34, 0x3f, 0x5c, 0xf9, 0x9a, 0xae, 0xcd, 0x68, 0x0b, - 0x7e, 0x1d, 0xb8, 0xdb, 0xef, 0x8c, 0x29, 0x4a, 0x41, 0x22, - 0x87, 0xe4, 0xd0, 0xb3, 0x16, 0x75, 0xfc, 0x9f, 0x3a, 0x59, - 0x6d, 0x0e, 0xab, 0xc8, 0xc3, 0xa0, 0x05, 0x66, 0x52, 0x31, - 0x94, 0xf7, 0x82, 0xe1, 0x44, 0x27, 0x13, 0x70, 0xd5, 0xb6, - 0xbd, 0xde, 0x7b, 0x18, 0x2c, 0x4f, 0xea, 0x89, 0xe5, 0x86, - 0x23, 0x40, 0x74, 0x17, 0xb2, 0xd1, 0xda, 0xb9, 0x1c, 0x7f, - 0x4b, 0x28, 0x8d, 0xee, 0x9b, 0xf8, 0x5d, 0x3e, 0x0a, 0x69, - 0xcc, 0xaf, 0xa4, 0xc7, 0x62, 0x01, 0x35, 0x56, 0xf3, 0x90, - 0x19, 0x7a, 0xdf, 0xbc, 0x88, 0xeb, 0x4e, 0x2d, 0x26, 0x45, - 0xe0, 0x83, 0xb7, 0xd4, 0x71, 0x12, 0x67, 0x04, 0xa1, 0xc2, - 0xf6, 0x95, 0x30, 0x53, 0x58, 0x3b, 0x9e, 0xfd, 0xc9, 0xaa, - 0x0f, 0x6c, 0xd7, 0xb4, 0x11, 0x72, 0x46, 0x25, 0x80, 0xe3, - 0xe8, 0x8b, 0x2e, 0x4d, 0x79, 0x1a, 0xbf, 0xdc, 0xa9, 0xca, - 0x6f, 0x0c, 0x38, 0x5b, 0xfe, 0x9d, 0x96, 0xf5, 0x50, 0x33, - 0x07, 0x64, 0xc1, 0xa2, 0x2b, 0x48, 0xed, 0x8e, 0xba, 0xd9, - 0x7c, 0x1f, 0x14, 0x77, 0xd2, 0xb1, 0x85, 0xe6, 0x43, 0x20, - 0x55, 0x36, 0x93, 0xf0, 0xc4, 0xa7, 0x02, 0x61, 0x6a, 0x09, - 0xac, 0xcf, 0xfb, 0x98, 0x3d, 0x5e, 0x32, 0x51, 0xf4, 0x97, - 0xa3, 0xc0, 0x65, 0x06, 0x0d, 0x6e, 0xcb, 0xa8, 0x9c, 0xff, - 0x5a, 0x39, 0x4c, 0x2f, 0x8a, 0xe9, 0xdd, 0xbe, 0x1b, 0x78, - 0x73, 0x10, 0xb5, 0xd6, 0xe2, 0x81, 0x24, 0x47, 0xce, 0xad, - 0x08, 0x6b, 0x5f, 0x3c, 0x99, 0xfa, 0xf1, 0x92, 0x37, 0x54, - 0x60, 0x03, 0xa6, 0xc5, 0xb0, 0xd3, 0x76, 0x15, 0x21, 0x42, - 0xe7, 0x84, 0x8f, 0xec, 0x49, 0x2a, 0x1e, 0x7d, 0xd8, 0xbb, - 0x00, 0x64, 0xc8, 0xac, 0x8d, 0xe9, 0x45, 0x21, 0x07, 0x63, - 0xcf, 0xab, 0x8a, 0xee, 0x42, 0x26, 0x0e, 0x6a, 0xc6, 0xa2, - 0x83, 0xe7, 0x4b, 0x2f, 0x09, 0x6d, 0xc1, 0xa5, 0x84, 0xe0, - 0x4c, 0x28, 0x1c, 0x78, 0xd4, 0xb0, 0x91, 0xf5, 0x59, 0x3d, - 0x1b, 0x7f, 0xd3, 0xb7, 0x96, 0xf2, 0x5e, 0x3a, 0x12, 0x76, - 0xda, 0xbe, 0x9f, 0xfb, 0x57, 0x33, 0x15, 0x71, 0xdd, 0xb9, - 0x98, 0xfc, 0x50, 0x34, 0x38, 0x5c, 0xf0, 0x94, 0xb5, 0xd1, - 0x7d, 0x19, 0x3f, 0x5b, 0xf7, 0x93, 0xb2, 0xd6, 0x7a, 0x1e, - 0x36, 0x52, 0xfe, 0x9a, 0xbb, 0xdf, 0x73, 0x17, 0x31, 0x55, - 0xf9, 0x9d, 0xbc, 0xd8, 0x74, 0x10, 0x24, 0x40, 0xec, 0x88, - 0xa9, 0xcd, 0x61, 0x05, 0x23, 0x47, 0xeb, 0x8f, 0xae, 0xca, - 0x66, 0x02, 0x2a, 0x4e, 0xe2, 0x86, 0xa7, 0xc3, 0x6f, 0x0b, - 0x2d, 0x49, 0xe5, 0x81, 0xa0, 0xc4, 0x68, 0x0c, 0x70, 0x14, - 0xb8, 0xdc, 0xfd, 0x99, 0x35, 0x51, 0x77, 0x13, 0xbf, 0xdb, - 0xfa, 0x9e, 0x32, 0x56, 0x7e, 0x1a, 0xb6, 0xd2, 0xf3, 0x97, - 0x3b, 0x5f, 0x79, 0x1d, 0xb1, 0xd5, 0xf4, 0x90, 0x3c, 0x58, - 0x6c, 0x08, 0xa4, 0xc0, 0xe1, 0x85, 0x29, 0x4d, 0x6b, 0x0f, - 0xa3, 0xc7, 0xe6, 0x82, 0x2e, 0x4a, 0x62, 0x06, 0xaa, 0xce, - 0xef, 0x8b, 0x27, 0x43, 0x65, 0x01, 0xad, 0xc9, 0xe8, 0x8c, - 0x20, 0x44, 0x48, 0x2c, 0x80, 0xe4, 0xc5, 0xa1, 0x0d, 0x69, - 0x4f, 0x2b, 0x87, 0xe3, 0xc2, 0xa6, 0x0a, 0x6e, 0x46, 0x22, - 0x8e, 0xea, 0xcb, 0xaf, 0x03, 0x67, 0x41, 0x25, 0x89, 0xed, - 0xcc, 0xa8, 0x04, 0x60, 0x54, 0x30, 0x9c, 0xf8, 0xd9, 0xbd, - 0x11, 0x75, 0x53, 0x37, 0x9b, 0xff, 0xde, 0xba, 0x16, 0x72, - 0x5a, 0x3e, 0x92, 0xf6, 0xd7, 0xb3, 0x1f, 0x7b, 0x5d, 0x39, - 0x95, 0xf1, 0xd0, 0xb4, 0x18, 0x7c, 0x00, 0x65, 0xca, 0xaf, - 0x89, 0xec, 0x43, 0x26, 0x0f, 0x6a, 0xc5, 0xa0, 0x86, 0xe3, - 0x4c, 0x29, 0x1e, 0x7b, 0xd4, 0xb1, 0x97, 0xf2, 0x5d, 0x38, - 0x11, 0x74, 0xdb, 0xbe, 0x98, 0xfd, 0x52, 0x37, 0x3c, 0x59, - 0xf6, 0x93, 0xb5, 0xd0, 0x7f, 0x1a, 0x33, 0x56, 0xf9, 0x9c, - 0xba, 0xdf, 0x70, 0x15, 0x22, 0x47, 0xe8, 0x8d, 0xab, 0xce, - 0x61, 0x04, 0x2d, 0x48, 0xe7, 0x82, 0xa4, 0xc1, 0x6e, 0x0b, - 0x78, 0x1d, 0xb2, 0xd7, 0xf1, 0x94, 0x3b, 0x5e, 0x77, 0x12, - 0xbd, 0xd8, 0xfe, 0x9b, 0x34, 0x51, 0x66, 0x03, 0xac, 0xc9, - 0xef, 0x8a, 0x25, 0x40, 0x69, 0x0c, 0xa3, 0xc6, 0xe0, 0x85, - 0x2a, 0x4f, 0x44, 0x21, 0x8e, 0xeb, 0xcd, 0xa8, 0x07, 0x62, - 0x4b, 0x2e, 0x81, 0xe4, 0xc2, 0xa7, 0x08, 0x6d, 0x5a, 0x3f, - 0x90, 0xf5, 0xd3, 0xb6, 0x19, 0x7c, 0x55, 0x30, 0x9f, 0xfa, - 0xdc, 0xb9, 0x16, 0x73, 0xf0, 0x95, 0x3a, 0x5f, 0x79, 0x1c, - 0xb3, 0xd6, 0xff, 0x9a, 0x35, 0x50, 0x76, 0x13, 0xbc, 0xd9, - 0xee, 0x8b, 0x24, 0x41, 0x67, 0x02, 0xad, 0xc8, 0xe1, 0x84, - 0x2b, 0x4e, 0x68, 0x0d, 0xa2, 0xc7, 0xcc, 0xa9, 0x06, 0x63, - 0x45, 0x20, 0x8f, 0xea, 0xc3, 0xa6, 0x09, 0x6c, 0x4a, 0x2f, - 0x80, 0xe5, 0xd2, 0xb7, 0x18, 0x7d, 0x5b, 0x3e, 0x91, 0xf4, - 0xdd, 0xb8, 0x17, 0x72, 0x54, 0x31, 0x9e, 0xfb, 0x88, 0xed, - 0x42, 0x27, 0x01, 0x64, 0xcb, 0xae, 0x87, 0xe2, 0x4d, 0x28, - 0x0e, 0x6b, 0xc4, 0xa1, 0x96, 0xf3, 0x5c, 0x39, 0x1f, 0x7a, - 0xd5, 0xb0, 0x99, 0xfc, 0x53, 0x36, 0x10, 0x75, 0xda, 0xbf, - 0xb4, 0xd1, 0x7e, 0x1b, 0x3d, 0x58, 0xf7, 0x92, 0xbb, 0xde, - 0x71, 0x14, 0x32, 0x57, 0xf8, 0x9d, 0xaa, 0xcf, 0x60, 0x05, - 0x23, 0x46, 0xe9, 0x8c, 0xa5, 0xc0, 0x6f, 0x0a, 0x2c, 0x49, - 0xe6, 0x83, 0x00, 0x66, 0xcc, 0xaa, 0x85, 0xe3, 0x49, 0x2f, - 0x17, 0x71, 0xdb, 0xbd, 0x92, 0xf4, 0x5e, 0x38, 0x2e, 0x48, - 0xe2, 0x84, 0xab, 0xcd, 0x67, 0x01, 0x39, 0x5f, 0xf5, 0x93, - 0xbc, 0xda, 0x70, 0x16, 0x5c, 0x3a, 0x90, 0xf6, 0xd9, 0xbf, - 0x15, 0x73, 0x4b, 0x2d, 0x87, 0xe1, 0xce, 0xa8, 0x02, 0x64, - 0x72, 0x14, 0xbe, 0xd8, 0xf7, 0x91, 0x3b, 0x5d, 0x65, 0x03, - 0xa9, 0xcf, 0xe0, 0x86, 0x2c, 0x4a, 0xb8, 0xde, 0x74, 0x12, - 0x3d, 0x5b, 0xf1, 0x97, 0xaf, 0xc9, 0x63, 0x05, 0x2a, 0x4c, - 0xe6, 0x80, 0x96, 0xf0, 0x5a, 0x3c, 0x13, 0x75, 0xdf, 0xb9, - 0x81, 0xe7, 0x4d, 0x2b, 0x04, 0x62, 0xc8, 0xae, 0xe4, 0x82, - 0x28, 0x4e, 0x61, 0x07, 0xad, 0xcb, 0xf3, 0x95, 0x3f, 0x59, - 0x76, 0x10, 0xba, 0xdc, 0xca, 0xac, 0x06, 0x60, 0x4f, 0x29, - 0x83, 0xe5, 0xdd, 0xbb, 0x11, 0x77, 0x58, 0x3e, 0x94, 0xf2, - 0x6d, 0x0b, 0xa1, 0xc7, 0xe8, 0x8e, 0x24, 0x42, 0x7a, 0x1c, - 0xb6, 0xd0, 0xff, 0x99, 0x33, 0x55, 0x43, 0x25, 0x8f, 0xe9, - 0xc6, 0xa0, 0x0a, 0x6c, 0x54, 0x32, 0x98, 0xfe, 0xd1, 0xb7, - 0x1d, 0x7b, 0x31, 0x57, 0xfd, 0x9b, 0xb4, 0xd2, 0x78, 0x1e, - 0x26, 0x40, 0xea, 0x8c, 0xa3, 0xc5, 0x6f, 0x09, 0x1f, 0x79, - 0xd3, 0xb5, 0x9a, 0xfc, 0x56, 0x30, 0x08, 0x6e, 0xc4, 0xa2, - 0x8d, 0xeb, 0x41, 0x27, 0xd5, 0xb3, 0x19, 0x7f, 0x50, 0x36, - 0x9c, 0xfa, 0xc2, 0xa4, 0x0e, 0x68, 0x47, 0x21, 0x8b, 0xed, - 0xfb, 0x9d, 0x37, 0x51, 0x7e, 0x18, 0xb2, 0xd4, 0xec, 0x8a, - 0x20, 0x46, 0x69, 0x0f, 0xa5, 0xc3, 0x89, 0xef, 0x45, 0x23, - 0x0c, 0x6a, 0xc0, 0xa6, 0x9e, 0xf8, 0x52, 0x34, 0x1b, 0x7d, - 0xd7, 0xb1, 0xa7, 0xc1, 0x6b, 0x0d, 0x22, 0x44, 0xee, 0x88, - 0xb0, 0xd6, 0x7c, 0x1a, 0x35, 0x53, 0xf9, 0x9f, 0x00, 0x67, - 0xce, 0xa9, 0x81, 0xe6, 0x4f, 0x28, 0x1f, 0x78, 0xd1, 0xb6, - 0x9e, 0xf9, 0x50, 0x37, 0x3e, 0x59, 0xf0, 0x97, 0xbf, 0xd8, - 0x71, 0x16, 0x21, 0x46, 0xef, 0x88, 0xa0, 0xc7, 0x6e, 0x09, - 0x7c, 0x1b, 0xb2, 0xd5, 0xfd, 0x9a, 0x33, 0x54, 0x63, 0x04, - 0xad, 0xca, 0xe2, 0x85, 0x2c, 0x4b, 0x42, 0x25, 0x8c, 0xeb, - 0xc3, 0xa4, 0x0d, 0x6a, 0x5d, 0x3a, 0x93, 0xf4, 0xdc, 0xbb, - 0x12, 0x75, 0xf8, 0x9f, 0x36, 0x51, 0x79, 0x1e, 0xb7, 0xd0, - 0xe7, 0x80, 0x29, 0x4e, 0x66, 0x01, 0xa8, 0xcf, 0xc6, 0xa1, - 0x08, 0x6f, 0x47, 0x20, 0x89, 0xee, 0xd9, 0xbe, 0x17, 0x70, - 0x58, 0x3f, 0x96, 0xf1, 0x84, 0xe3, 0x4a, 0x2d, 0x05, 0x62, - 0xcb, 0xac, 0x9b, 0xfc, 0x55, 0x32, 0x1a, 0x7d, 0xd4, 0xb3, - 0xba, 0xdd, 0x74, 0x13, 0x3b, 0x5c, 0xf5, 0x92, 0xa5, 0xc2, - 0x6b, 0x0c, 0x24, 0x43, 0xea, 0x8d, 0xed, 0x8a, 0x23, 0x44, - 0x6c, 0x0b, 0xa2, 0xc5, 0xf2, 0x95, 0x3c, 0x5b, 0x73, 0x14, - 0xbd, 0xda, 0xd3, 0xb4, 0x1d, 0x7a, 0x52, 0x35, 0x9c, 0xfb, - 0xcc, 0xab, 0x02, 0x65, 0x4d, 0x2a, 0x83, 0xe4, 0x91, 0xf6, - 0x5f, 0x38, 0x10, 0x77, 0xde, 0xb9, 0x8e, 0xe9, 0x40, 0x27, - 0x0f, 0x68, 0xc1, 0xa6, 0xaf, 0xc8, 0x61, 0x06, 0x2e, 0x49, - 0xe0, 0x87, 0xb0, 0xd7, 0x7e, 0x19, 0x31, 0x56, 0xff, 0x98, - 0x15, 0x72, 0xdb, 0xbc, 0x94, 0xf3, 0x5a, 0x3d, 0x0a, 0x6d, - 0xc4, 0xa3, 0x8b, 0xec, 0x45, 0x22, 0x2b, 0x4c, 0xe5, 0x82, - 0xaa, 0xcd, 0x64, 0x03, 0x34, 0x53, 0xfa, 0x9d, 0xb5, 0xd2, - 0x7b, 0x1c, 0x69, 0x0e, 0xa7, 0xc0, 0xe8, 0x8f, 0x26, 0x41, - 0x76, 0x11, 0xb8, 0xdf, 0xf7, 0x90, 0x39, 0x5e, 0x57, 0x30, - 0x99, 0xfe, 0xd6, 0xb1, 0x18, 0x7f, 0x48, 0x2f, 0x86, 0xe1, - 0xc9, 0xae, 0x07, 0x60, 0x00, 0x68, 0xd0, 0xb8, 0xbd, 0xd5, - 0x6d, 0x05, 0x67, 0x0f, 0xb7, 0xdf, 0xda, 0xb2, 0x0a, 0x62, - 0xce, 0xa6, 0x1e, 0x76, 0x73, 0x1b, 0xa3, 0xcb, 0xa9, 0xc1, - 0x79, 0x11, 0x14, 0x7c, 0xc4, 0xac, 0x81, 0xe9, 0x51, 0x39, - 0x3c, 0x54, 0xec, 0x84, 0xe6, 0x8e, 0x36, 0x5e, 0x5b, 0x33, - 0x8b, 0xe3, 0x4f, 0x27, 0x9f, 0xf7, 0xf2, 0x9a, 0x22, 0x4a, - 0x28, 0x40, 0xf8, 0x90, 0x95, 0xfd, 0x45, 0x2d, 0x1f, 0x77, - 0xcf, 0xa7, 0xa2, 0xca, 0x72, 0x1a, 0x78, 0x10, 0xa8, 0xc0, - 0xc5, 0xad, 0x15, 0x7d, 0xd1, 0xb9, 0x01, 0x69, 0x6c, 0x04, - 0xbc, 0xd4, 0xb6, 0xde, 0x66, 0x0e, 0x0b, 0x63, 0xdb, 0xb3, - 0x9e, 0xf6, 0x4e, 0x26, 0x23, 0x4b, 0xf3, 0x9b, 0xf9, 0x91, - 0x29, 0x41, 0x44, 0x2c, 0x94, 0xfc, 0x50, 0x38, 0x80, 0xe8, - 0xed, 0x85, 0x3d, 0x55, 0x37, 0x5f, 0xe7, 0x8f, 0x8a, 0xe2, - 0x5a, 0x32, 0x3e, 0x56, 0xee, 0x86, 0x83, 0xeb, 0x53, 0x3b, - 0x59, 0x31, 0x89, 0xe1, 0xe4, 0x8c, 0x34, 0x5c, 0xf0, 0x98, - 0x20, 0x48, 0x4d, 0x25, 0x9d, 0xf5, 0x97, 0xff, 0x47, 0x2f, - 0x2a, 0x42, 0xfa, 0x92, 0xbf, 0xd7, 0x6f, 0x07, 0x02, 0x6a, - 0xd2, 0xba, 0xd8, 0xb0, 0x08, 0x60, 0x65, 0x0d, 0xb5, 0xdd, - 0x71, 0x19, 0xa1, 0xc9, 0xcc, 0xa4, 0x1c, 0x74, 0x16, 0x7e, - 0xc6, 0xae, 0xab, 0xc3, 0x7b, 0x13, 0x21, 0x49, 0xf1, 0x99, - 0x9c, 0xf4, 0x4c, 0x24, 0x46, 0x2e, 0x96, 0xfe, 0xfb, 0x93, - 0x2b, 0x43, 0xef, 0x87, 0x3f, 0x57, 0x52, 0x3a, 0x82, 0xea, - 0x88, 0xe0, 0x58, 0x30, 0x35, 0x5d, 0xe5, 0x8d, 0xa0, 0xc8, - 0x70, 0x18, 0x1d, 0x75, 0xcd, 0xa5, 0xc7, 0xaf, 0x17, 0x7f, - 0x7a, 0x12, 0xaa, 0xc2, 0x6e, 0x06, 0xbe, 0xd6, 0xd3, 0xbb, - 0x03, 0x6b, 0x09, 0x61, 0xd9, 0xb1, 0xb4, 0xdc, 0x64, 0x0c, - 0x00, 0x69, 0xd2, 0xbb, 0xb9, 0xd0, 0x6b, 0x02, 0x6f, 0x06, - 0xbd, 0xd4, 0xd6, 0xbf, 0x04, 0x6d, 0xde, 0xb7, 0x0c, 0x65, - 0x67, 0x0e, 0xb5, 0xdc, 0xb1, 0xd8, 0x63, 0x0a, 0x08, 0x61, - 0xda, 0xb3, 0xa1, 0xc8, 0x73, 0x1a, 0x18, 0x71, 0xca, 0xa3, - 0xce, 0xa7, 0x1c, 0x75, 0x77, 0x1e, 0xa5, 0xcc, 0x7f, 0x16, - 0xad, 0xc4, 0xc6, 0xaf, 0x14, 0x7d, 0x10, 0x79, 0xc2, 0xab, - 0xa9, 0xc0, 0x7b, 0x12, 0x5f, 0x36, 0x8d, 0xe4, 0xe6, 0x8f, - 0x34, 0x5d, 0x30, 0x59, 0xe2, 0x8b, 0x89, 0xe0, 0x5b, 0x32, - 0x81, 0xe8, 0x53, 0x3a, 0x38, 0x51, 0xea, 0x83, 0xee, 0x87, - 0x3c, 0x55, 0x57, 0x3e, 0x85, 0xec, 0xfe, 0x97, 0x2c, 0x45, - 0x47, 0x2e, 0x95, 0xfc, 0x91, 0xf8, 0x43, 0x2a, 0x28, 0x41, - 0xfa, 0x93, 0x20, 0x49, 0xf2, 0x9b, 0x99, 0xf0, 0x4b, 0x22, - 0x4f, 0x26, 0x9d, 0xf4, 0xf6, 0x9f, 0x24, 0x4d, 0xbe, 0xd7, - 0x6c, 0x05, 0x07, 0x6e, 0xd5, 0xbc, 0xd1, 0xb8, 0x03, 0x6a, - 0x68, 0x01, 0xba, 0xd3, 0x60, 0x09, 0xb2, 0xdb, 0xd9, 0xb0, - 0x0b, 0x62, 0x0f, 0x66, 0xdd, 0xb4, 0xb6, 0xdf, 0x64, 0x0d, - 0x1f, 0x76, 0xcd, 0xa4, 0xa6, 0xcf, 0x74, 0x1d, 0x70, 0x19, - 0xa2, 0xcb, 0xc9, 0xa0, 0x1b, 0x72, 0xc1, 0xa8, 0x13, 0x7a, - 0x78, 0x11, 0xaa, 0xc3, 0xae, 0xc7, 0x7c, 0x15, 0x17, 0x7e, - 0xc5, 0xac, 0xe1, 0x88, 0x33, 0x5a, 0x58, 0x31, 0x8a, 0xe3, - 0x8e, 0xe7, 0x5c, 0x35, 0x37, 0x5e, 0xe5, 0x8c, 0x3f, 0x56, - 0xed, 0x84, 0x86, 0xef, 0x54, 0x3d, 0x50, 0x39, 0x82, 0xeb, - 0xe9, 0x80, 0x3b, 0x52, 0x40, 0x29, 0x92, 0xfb, 0xf9, 0x90, - 0x2b, 0x42, 0x2f, 0x46, 0xfd, 0x94, 0x96, 0xff, 0x44, 0x2d, - 0x9e, 0xf7, 0x4c, 0x25, 0x27, 0x4e, 0xf5, 0x9c, 0xf1, 0x98, - 0x23, 0x4a, 0x48, 0x21, 0x9a, 0xf3, 0x00, 0x6a, 0xd4, 0xbe, - 0xb5, 0xdf, 0x61, 0x0b, 0x77, 0x1d, 0xa3, 0xc9, 0xc2, 0xa8, - 0x16, 0x7c, 0xee, 0x84, 0x3a, 0x50, 0x5b, 0x31, 0x8f, 0xe5, - 0x99, 0xf3, 0x4d, 0x27, 0x2c, 0x46, 0xf8, 0x92, 0xc1, 0xab, - 0x15, 0x7f, 0x74, 0x1e, 0xa0, 0xca, 0xb6, 0xdc, 0x62, 0x08, - 0x03, 0x69, 0xd7, 0xbd, 0x2f, 0x45, 0xfb, 0x91, 0x9a, 0xf0, - 0x4e, 0x24, 0x58, 0x32, 0x8c, 0xe6, 0xed, 0x87, 0x39, 0x53, - 0x9f, 0xf5, 0x4b, 0x21, 0x2a, 0x40, 0xfe, 0x94, 0xe8, 0x82, - 0x3c, 0x56, 0x5d, 0x37, 0x89, 0xe3, 0x71, 0x1b, 0xa5, 0xcf, - 0xc4, 0xae, 0x10, 0x7a, 0x06, 0x6c, 0xd2, 0xb8, 0xb3, 0xd9, - 0x67, 0x0d, 0x5e, 0x34, 0x8a, 0xe0, 0xeb, 0x81, 0x3f, 0x55, - 0x29, 0x43, 0xfd, 0x97, 0x9c, 0xf6, 0x48, 0x22, 0xb0, 0xda, - 0x64, 0x0e, 0x05, 0x6f, 0xd1, 0xbb, 0xc7, 0xad, 0x13, 0x79, - 0x72, 0x18, 0xa6, 0xcc, 0x23, 0x49, 0xf7, 0x9d, 0x96, 0xfc, - 0x42, 0x28, 0x54, 0x3e, 0x80, 0xea, 0xe1, 0x8b, 0x35, 0x5f, - 0xcd, 0xa7, 0x19, 0x73, 0x78, 0x12, 0xac, 0xc6, 0xba, 0xd0, - 0x6e, 0x04, 0x0f, 0x65, 0xdb, 0xb1, 0xe2, 0x88, 0x36, 0x5c, - 0x57, 0x3d, 0x83, 0xe9, 0x95, 0xff, 0x41, 0x2b, 0x20, 0x4a, - 0xf4, 0x9e, 0x0c, 0x66, 0xd8, 0xb2, 0xb9, 0xd3, 0x6d, 0x07, - 0x7b, 0x11, 0xaf, 0xc5, 0xce, 0xa4, 0x1a, 0x70, 0xbc, 0xd6, - 0x68, 0x02, 0x09, 0x63, 0xdd, 0xb7, 0xcb, 0xa1, 0x1f, 0x75, - 0x7e, 0x14, 0xaa, 0xc0, 0x52, 0x38, 0x86, 0xec, 0xe7, 0x8d, - 0x33, 0x59, 0x25, 0x4f, 0xf1, 0x9b, 0x90, 0xfa, 0x44, 0x2e, - 0x7d, 0x17, 0xa9, 0xc3, 0xc8, 0xa2, 0x1c, 0x76, 0x0a, 0x60, - 0xde, 0xb4, 0xbf, 0xd5, 0x6b, 0x01, 0x93, 0xf9, 0x47, 0x2d, - 0x26, 0x4c, 0xf2, 0x98, 0xe4, 0x8e, 0x30, 0x5a, 0x51, 0x3b, - 0x85, 0xef, 0x00, 0x6b, 0xd6, 0xbd, 0xb1, 0xda, 0x67, 0x0c, - 0x7f, 0x14, 0xa9, 0xc2, 0xce, 0xa5, 0x18, 0x73, 0xfe, 0x95, - 0x28, 0x43, 0x4f, 0x24, 0x99, 0xf2, 0x81, 0xea, 0x57, 0x3c, - 0x30, 0x5b, 0xe6, 0x8d, 0xe1, 0x8a, 0x37, 0x5c, 0x50, 0x3b, - 0x86, 0xed, 0x9e, 0xf5, 0x48, 0x23, 0x2f, 0x44, 0xf9, 0x92, - 0x1f, 0x74, 0xc9, 0xa2, 0xae, 0xc5, 0x78, 0x13, 0x60, 0x0b, - 0xb6, 0xdd, 0xd1, 0xba, 0x07, 0x6c, 0xdf, 0xb4, 0x09, 0x62, - 0x6e, 0x05, 0xb8, 0xd3, 0xa0, 0xcb, 0x76, 0x1d, 0x11, 0x7a, - 0xc7, 0xac, 0x21, 0x4a, 0xf7, 0x9c, 0x90, 0xfb, 0x46, 0x2d, - 0x5e, 0x35, 0x88, 0xe3, 0xef, 0x84, 0x39, 0x52, 0x3e, 0x55, - 0xe8, 0x83, 0x8f, 0xe4, 0x59, 0x32, 0x41, 0x2a, 0x97, 0xfc, - 0xf0, 0x9b, 0x26, 0x4d, 0xc0, 0xab, 0x16, 0x7d, 0x71, 0x1a, - 0xa7, 0xcc, 0xbf, 0xd4, 0x69, 0x02, 0x0e, 0x65, 0xd8, 0xb3, - 0xa3, 0xc8, 0x75, 0x1e, 0x12, 0x79, 0xc4, 0xaf, 0xdc, 0xb7, - 0x0a, 0x61, 0x6d, 0x06, 0xbb, 0xd0, 0x5d, 0x36, 0x8b, 0xe0, - 0xec, 0x87, 0x3a, 0x51, 0x22, 0x49, 0xf4, 0x9f, 0x93, 0xf8, - 0x45, 0x2e, 0x42, 0x29, 0x94, 0xff, 0xf3, 0x98, 0x25, 0x4e, - 0x3d, 0x56, 0xeb, 0x80, 0x8c, 0xe7, 0x5a, 0x31, 0xbc, 0xd7, - 0x6a, 0x01, 0x0d, 0x66, 0xdb, 0xb0, 0xc3, 0xa8, 0x15, 0x7e, - 0x72, 0x19, 0xa4, 0xcf, 0x7c, 0x17, 0xaa, 0xc1, 0xcd, 0xa6, - 0x1b, 0x70, 0x03, 0x68, 0xd5, 0xbe, 0xb2, 0xd9, 0x64, 0x0f, - 0x82, 0xe9, 0x54, 0x3f, 0x33, 0x58, 0xe5, 0x8e, 0xfd, 0x96, - 0x2b, 0x40, 0x4c, 0x27, 0x9a, 0xf1, 0x9d, 0xf6, 0x4b, 0x20, - 0x2c, 0x47, 0xfa, 0x91, 0xe2, 0x89, 0x34, 0x5f, 0x53, 0x38, - 0x85, 0xee, 0x63, 0x08, 0xb5, 0xde, 0xd2, 0xb9, 0x04, 0x6f, - 0x1c, 0x77, 0xca, 0xa1, 0xad, 0xc6, 0x7b, 0x10, 0x00, 0x6c, - 0xd8, 0xb4, 0xad, 0xc1, 0x75, 0x19, 0x47, 0x2b, 0x9f, 0xf3, - 0xea, 0x86, 0x32, 0x5e, 0x8e, 0xe2, 0x56, 0x3a, 0x23, 0x4f, - 0xfb, 0x97, 0xc9, 0xa5, 0x11, 0x7d, 0x64, 0x08, 0xbc, 0xd0, - 0x01, 0x6d, 0xd9, 0xb5, 0xac, 0xc0, 0x74, 0x18, 0x46, 0x2a, - 0x9e, 0xf2, 0xeb, 0x87, 0x33, 0x5f, 0x8f, 0xe3, 0x57, 0x3b, - 0x22, 0x4e, 0xfa, 0x96, 0xc8, 0xa4, 0x10, 0x7c, 0x65, 0x09, - 0xbd, 0xd1, 0x02, 0x6e, 0xda, 0xb6, 0xaf, 0xc3, 0x77, 0x1b, - 0x45, 0x29, 0x9d, 0xf1, 0xe8, 0x84, 0x30, 0x5c, 0x8c, 0xe0, - 0x54, 0x38, 0x21, 0x4d, 0xf9, 0x95, 0xcb, 0xa7, 0x13, 0x7f, - 0x66, 0x0a, 0xbe, 0xd2, 0x03, 0x6f, 0xdb, 0xb7, 0xae, 0xc2, - 0x76, 0x1a, 0x44, 0x28, 0x9c, 0xf0, 0xe9, 0x85, 0x31, 0x5d, - 0x8d, 0xe1, 0x55, 0x39, 0x20, 0x4c, 0xf8, 0x94, 0xca, 0xa6, - 0x12, 0x7e, 0x67, 0x0b, 0xbf, 0xd3, 0x04, 0x68, 0xdc, 0xb0, - 0xa9, 0xc5, 0x71, 0x1d, 0x43, 0x2f, 0x9b, 0xf7, 0xee, 0x82, - 0x36, 0x5a, 0x8a, 0xe6, 0x52, 0x3e, 0x27, 0x4b, 0xff, 0x93, - 0xcd, 0xa1, 0x15, 0x79, 0x60, 0x0c, 0xb8, 0xd4, 0x05, 0x69, - 0xdd, 0xb1, 0xa8, 0xc4, 0x70, 0x1c, 0x42, 0x2e, 0x9a, 0xf6, - 0xef, 0x83, 0x37, 0x5b, 0x8b, 0xe7, 0x53, 0x3f, 0x26, 0x4a, - 0xfe, 0x92, 0xcc, 0xa0, 0x14, 0x78, 0x61, 0x0d, 0xb9, 0xd5, - 0x06, 0x6a, 0xde, 0xb2, 0xab, 0xc7, 0x73, 0x1f, 0x41, 0x2d, - 0x99, 0xf5, 0xec, 0x80, 0x34, 0x58, 0x88, 0xe4, 0x50, 0x3c, - 0x25, 0x49, 0xfd, 0x91, 0xcf, 0xa3, 0x17, 0x7b, 0x62, 0x0e, - 0xba, 0xd6, 0x07, 0x6b, 0xdf, 0xb3, 0xaa, 0xc6, 0x72, 0x1e, - 0x40, 0x2c, 0x98, 0xf4, 0xed, 0x81, 0x35, 0x59, 0x89, 0xe5, - 0x51, 0x3d, 0x24, 0x48, 0xfc, 0x90, 0xce, 0xa2, 0x16, 0x7a, - 0x63, 0x0f, 0xbb, 0xd7, 0x00, 0x6d, 0xda, 0xb7, 0xa9, 0xc4, - 0x73, 0x1e, 0x4f, 0x22, 0x95, 0xf8, 0xe6, 0x8b, 0x3c, 0x51, - 0x9e, 0xf3, 0x44, 0x29, 0x37, 0x5a, 0xed, 0x80, 0xd1, 0xbc, - 0x0b, 0x66, 0x78, 0x15, 0xa2, 0xcf, 0x21, 0x4c, 0xfb, 0x96, - 0x88, 0xe5, 0x52, 0x3f, 0x6e, 0x03, 0xb4, 0xd9, 0xc7, 0xaa, - 0x1d, 0x70, 0xbf, 0xd2, 0x65, 0x08, 0x16, 0x7b, 0xcc, 0xa1, - 0xf0, 0x9d, 0x2a, 0x47, 0x59, 0x34, 0x83, 0xee, 0x42, 0x2f, - 0x98, 0xf5, 0xeb, 0x86, 0x31, 0x5c, 0x0d, 0x60, 0xd7, 0xba, - 0xa4, 0xc9, 0x7e, 0x13, 0xdc, 0xb1, 0x06, 0x6b, 0x75, 0x18, - 0xaf, 0xc2, 0x93, 0xfe, 0x49, 0x24, 0x3a, 0x57, 0xe0, 0x8d, - 0x63, 0x0e, 0xb9, 0xd4, 0xca, 0xa7, 0x10, 0x7d, 0x2c, 0x41, - 0xf6, 0x9b, 0x85, 0xe8, 0x5f, 0x32, 0xfd, 0x90, 0x27, 0x4a, - 0x54, 0x39, 0x8e, 0xe3, 0xb2, 0xdf, 0x68, 0x05, 0x1b, 0x76, - 0xc1, 0xac, 0x84, 0xe9, 0x5e, 0x33, 0x2d, 0x40, 0xf7, 0x9a, - 0xcb, 0xa6, 0x11, 0x7c, 0x62, 0x0f, 0xb8, 0xd5, 0x1a, 0x77, - 0xc0, 0xad, 0xb3, 0xde, 0x69, 0x04, 0x55, 0x38, 0x8f, 0xe2, - 0xfc, 0x91, 0x26, 0x4b, 0xa5, 0xc8, 0x7f, 0x12, 0x0c, 0x61, - 0xd6, 0xbb, 0xea, 0x87, 0x30, 0x5d, 0x43, 0x2e, 0x99, 0xf4, - 0x3b, 0x56, 0xe1, 0x8c, 0x92, 0xff, 0x48, 0x25, 0x74, 0x19, - 0xae, 0xc3, 0xdd, 0xb0, 0x07, 0x6a, 0xc6, 0xab, 0x1c, 0x71, - 0x6f, 0x02, 0xb5, 0xd8, 0x89, 0xe4, 0x53, 0x3e, 0x20, 0x4d, - 0xfa, 0x97, 0x58, 0x35, 0x82, 0xef, 0xf1, 0x9c, 0x2b, 0x46, - 0x17, 0x7a, 0xcd, 0xa0, 0xbe, 0xd3, 0x64, 0x09, 0xe7, 0x8a, - 0x3d, 0x50, 0x4e, 0x23, 0x94, 0xf9, 0xa8, 0xc5, 0x72, 0x1f, - 0x01, 0x6c, 0xdb, 0xb6, 0x79, 0x14, 0xa3, 0xce, 0xd0, 0xbd, - 0x0a, 0x67, 0x36, 0x5b, 0xec, 0x81, 0x9f, 0xf2, 0x45, 0x28, - 0x00, 0x6e, 0xdc, 0xb2, 0xa5, 0xcb, 0x79, 0x17, 0x57, 0x39, - 0x8b, 0xe5, 0xf2, 0x9c, 0x2e, 0x40, 0xae, 0xc0, 0x72, 0x1c, - 0x0b, 0x65, 0xd7, 0xb9, 0xf9, 0x97, 0x25, 0x4b, 0x5c, 0x32, - 0x80, 0xee, 0x41, 0x2f, 0x9d, 0xf3, 0xe4, 0x8a, 0x38, 0x56, - 0x16, 0x78, 0xca, 0xa4, 0xb3, 0xdd, 0x6f, 0x01, 0xef, 0x81, - 0x33, 0x5d, 0x4a, 0x24, 0x96, 0xf8, 0xb8, 0xd6, 0x64, 0x0a, - 0x1d, 0x73, 0xc1, 0xaf, 0x82, 0xec, 0x5e, 0x30, 0x27, 0x49, - 0xfb, 0x95, 0xd5, 0xbb, 0x09, 0x67, 0x70, 0x1e, 0xac, 0xc2, - 0x2c, 0x42, 0xf0, 0x9e, 0x89, 0xe7, 0x55, 0x3b, 0x7b, 0x15, - 0xa7, 0xc9, 0xde, 0xb0, 0x02, 0x6c, 0xc3, 0xad, 0x1f, 0x71, - 0x66, 0x08, 0xba, 0xd4, 0x94, 0xfa, 0x48, 0x26, 0x31, 0x5f, - 0xed, 0x83, 0x6d, 0x03, 0xb1, 0xdf, 0xc8, 0xa6, 0x14, 0x7a, - 0x3a, 0x54, 0xe6, 0x88, 0x9f, 0xf1, 0x43, 0x2d, 0x19, 0x77, - 0xc5, 0xab, 0xbc, 0xd2, 0x60, 0x0e, 0x4e, 0x20, 0x92, 0xfc, - 0xeb, 0x85, 0x37, 0x59, 0xb7, 0xd9, 0x6b, 0x05, 0x12, 0x7c, - 0xce, 0xa0, 0xe0, 0x8e, 0x3c, 0x52, 0x45, 0x2b, 0x99, 0xf7, - 0x58, 0x36, 0x84, 0xea, 0xfd, 0x93, 0x21, 0x4f, 0x0f, 0x61, - 0xd3, 0xbd, 0xaa, 0xc4, 0x76, 0x18, 0xf6, 0x98, 0x2a, 0x44, - 0x53, 0x3d, 0x8f, 0xe1, 0xa1, 0xcf, 0x7d, 0x13, 0x04, 0x6a, - 0xd8, 0xb6, 0x9b, 0xf5, 0x47, 0x29, 0x3e, 0x50, 0xe2, 0x8c, - 0xcc, 0xa2, 0x10, 0x7e, 0x69, 0x07, 0xb5, 0xdb, 0x35, 0x5b, - 0xe9, 0x87, 0x90, 0xfe, 0x4c, 0x22, 0x62, 0x0c, 0xbe, 0xd0, - 0xc7, 0xa9, 0x1b, 0x75, 0xda, 0xb4, 0x06, 0x68, 0x7f, 0x11, - 0xa3, 0xcd, 0x8d, 0xe3, 0x51, 0x3f, 0x28, 0x46, 0xf4, 0x9a, - 0x74, 0x1a, 0xa8, 0xc6, 0xd1, 0xbf, 0x0d, 0x63, 0x23, 0x4d, - 0xff, 0x91, 0x86, 0xe8, 0x5a, 0x34, 0x00, 0x6f, 0xde, 0xb1, - 0xa1, 0xce, 0x7f, 0x10, 0x5f, 0x30, 0x81, 0xee, 0xfe, 0x91, - 0x20, 0x4f, 0xbe, 0xd1, 0x60, 0x0f, 0x1f, 0x70, 0xc1, 0xae, - 0xe1, 0x8e, 0x3f, 0x50, 0x40, 0x2f, 0x9e, 0xf1, 0x61, 0x0e, - 0xbf, 0xd0, 0xc0, 0xaf, 0x1e, 0x71, 0x3e, 0x51, 0xe0, 0x8f, - 0x9f, 0xf0, 0x41, 0x2e, 0xdf, 0xb0, 0x01, 0x6e, 0x7e, 0x11, - 0xa0, 0xcf, 0x80, 0xef, 0x5e, 0x31, 0x21, 0x4e, 0xff, 0x90, - 0xc2, 0xad, 0x1c, 0x73, 0x63, 0x0c, 0xbd, 0xd2, 0x9d, 0xf2, - 0x43, 0x2c, 0x3c, 0x53, 0xe2, 0x8d, 0x7c, 0x13, 0xa2, 0xcd, - 0xdd, 0xb2, 0x03, 0x6c, 0x23, 0x4c, 0xfd, 0x92, 0x82, 0xed, - 0x5c, 0x33, 0xa3, 0xcc, 0x7d, 0x12, 0x02, 0x6d, 0xdc, 0xb3, - 0xfc, 0x93, 0x22, 0x4d, 0x5d, 0x32, 0x83, 0xec, 0x1d, 0x72, - 0xc3, 0xac, 0xbc, 0xd3, 0x62, 0x0d, 0x42, 0x2d, 0x9c, 0xf3, - 0xe3, 0x8c, 0x3d, 0x52, 0x99, 0xf6, 0x47, 0x28, 0x38, 0x57, - 0xe6, 0x89, 0xc6, 0xa9, 0x18, 0x77, 0x67, 0x08, 0xb9, 0xd6, - 0x27, 0x48, 0xf9, 0x96, 0x86, 0xe9, 0x58, 0x37, 0x78, 0x17, - 0xa6, 0xc9, 0xd9, 0xb6, 0x07, 0x68, 0xf8, 0x97, 0x26, 0x49, - 0x59, 0x36, 0x87, 0xe8, 0xa7, 0xc8, 0x79, 0x16, 0x06, 0x69, - 0xd8, 0xb7, 0x46, 0x29, 0x98, 0xf7, 0xe7, 0x88, 0x39, 0x56, - 0x19, 0x76, 0xc7, 0xa8, 0xb8, 0xd7, 0x66, 0x09, 0x5b, 0x34, - 0x85, 0xea, 0xfa, 0x95, 0x24, 0x4b, 0x04, 0x6b, 0xda, 0xb5, - 0xa5, 0xca, 0x7b, 0x14, 0xe5, 0x8a, 0x3b, 0x54, 0x44, 0x2b, - 0x9a, 0xf5, 0xba, 0xd5, 0x64, 0x0b, 0x1b, 0x74, 0xc5, 0xaa, - 0x3a, 0x55, 0xe4, 0x8b, 0x9b, 0xf4, 0x45, 0x2a, 0x65, 0x0a, - 0xbb, 0xd4, 0xc4, 0xab, 0x1a, 0x75, 0x84, 0xeb, 0x5a, 0x35, - 0x25, 0x4a, 0xfb, 0x94, 0xdb, 0xb4, 0x05, 0x6a, 0x7a, 0x15, - 0xa4, 0xcb, 0x00, 0x70, 0xe0, 0x90, 0xdd, 0xad, 0x3d, 0x4d, - 0xa7, 0xd7, 0x47, 0x37, 0x7a, 0x0a, 0x9a, 0xea, 0x53, 0x23, - 0xb3, 0xc3, 0x8e, 0xfe, 0x6e, 0x1e, 0xf4, 0x84, 0x14, 0x64, - 0x29, 0x59, 0xc9, 0xb9, 0xa6, 0xd6, 0x46, 0x36, 0x7b, 0x0b, - 0x9b, 0xeb, 0x01, 0x71, 0xe1, 0x91, 0xdc, 0xac, 0x3c, 0x4c, - 0xf5, 0x85, 0x15, 0x65, 0x28, 0x58, 0xc8, 0xb8, 0x52, 0x22, - 0xb2, 0xc2, 0x8f, 0xff, 0x6f, 0x1f, 0x51, 0x21, 0xb1, 0xc1, - 0x8c, 0xfc, 0x6c, 0x1c, 0xf6, 0x86, 0x16, 0x66, 0x2b, 0x5b, - 0xcb, 0xbb, 0x02, 0x72, 0xe2, 0x92, 0xdf, 0xaf, 0x3f, 0x4f, - 0xa5, 0xd5, 0x45, 0x35, 0x78, 0x08, 0x98, 0xe8, 0xf7, 0x87, - 0x17, 0x67, 0x2a, 0x5a, 0xca, 0xba, 0x50, 0x20, 0xb0, 0xc0, - 0x8d, 0xfd, 0x6d, 0x1d, 0xa4, 0xd4, 0x44, 0x34, 0x79, 0x09, - 0x99, 0xe9, 0x03, 0x73, 0xe3, 0x93, 0xde, 0xae, 0x3e, 0x4e, - 0xa2, 0xd2, 0x42, 0x32, 0x7f, 0x0f, 0x9f, 0xef, 0x05, 0x75, - 0xe5, 0x95, 0xd8, 0xa8, 0x38, 0x48, 0xf1, 0x81, 0x11, 0x61, - 0x2c, 0x5c, 0xcc, 0xbc, 0x56, 0x26, 0xb6, 0xc6, 0x8b, 0xfb, - 0x6b, 0x1b, 0x04, 0x74, 0xe4, 0x94, 0xd9, 0xa9, 0x39, 0x49, - 0xa3, 0xd3, 0x43, 0x33, 0x7e, 0x0e, 0x9e, 0xee, 0x57, 0x27, - 0xb7, 0xc7, 0x8a, 0xfa, 0x6a, 0x1a, 0xf0, 0x80, 0x10, 0x60, - 0x2d, 0x5d, 0xcd, 0xbd, 0xf3, 0x83, 0x13, 0x63, 0x2e, 0x5e, - 0xce, 0xbe, 0x54, 0x24, 0xb4, 0xc4, 0x89, 0xf9, 0x69, 0x19, - 0xa0, 0xd0, 0x40, 0x30, 0x7d, 0x0d, 0x9d, 0xed, 0x07, 0x77, - 0xe7, 0x97, 0xda, 0xaa, 0x3a, 0x4a, 0x55, 0x25, 0xb5, 0xc5, - 0x88, 0xf8, 0x68, 0x18, 0xf2, 0x82, 0x12, 0x62, 0x2f, 0x5f, - 0xcf, 0xbf, 0x06, 0x76, 0xe6, 0x96, 0xdb, 0xab, 0x3b, 0x4b, - 0xa1, 0xd1, 0x41, 0x31, 0x7c, 0x0c, 0x9c, 0xec, 0x00, 0x71, - 0xe2, 0x93, 0xd9, 0xa8, 0x3b, 0x4a, 0xaf, 0xde, 0x4d, 0x3c, - 0x76, 0x07, 0x94, 0xe5, 0x43, 0x32, 0xa1, 0xd0, 0x9a, 0xeb, - 0x78, 0x09, 0xec, 0x9d, 0x0e, 0x7f, 0x35, 0x44, 0xd7, 0xa6, - 0x86, 0xf7, 0x64, 0x15, 0x5f, 0x2e, 0xbd, 0xcc, 0x29, 0x58, - 0xcb, 0xba, 0xf0, 0x81, 0x12, 0x63, 0xc5, 0xb4, 0x27, 0x56, - 0x1c, 0x6d, 0xfe, 0x8f, 0x6a, 0x1b, 0x88, 0xf9, 0xb3, 0xc2, - 0x51, 0x20, 0x11, 0x60, 0xf3, 0x82, 0xc8, 0xb9, 0x2a, 0x5b, - 0xbe, 0xcf, 0x5c, 0x2d, 0x67, 0x16, 0x85, 0xf4, 0x52, 0x23, - 0xb0, 0xc1, 0x8b, 0xfa, 0x69, 0x18, 0xfd, 0x8c, 0x1f, 0x6e, - 0x24, 0x55, 0xc6, 0xb7, 0x97, 0xe6, 0x75, 0x04, 0x4e, 0x3f, - 0xac, 0xdd, 0x38, 0x49, 0xda, 0xab, 0xe1, 0x90, 0x03, 0x72, - 0xd4, 0xa5, 0x36, 0x47, 0x0d, 0x7c, 0xef, 0x9e, 0x7b, 0x0a, - 0x99, 0xe8, 0xa2, 0xd3, 0x40, 0x31, 0x22, 0x53, 0xc0, 0xb1, - 0xfb, 0x8a, 0x19, 0x68, 0x8d, 0xfc, 0x6f, 0x1e, 0x54, 0x25, - 0xb6, 0xc7, 0x61, 0x10, 0x83, 0xf2, 0xb8, 0xc9, 0x5a, 0x2b, - 0xce, 0xbf, 0x2c, 0x5d, 0x17, 0x66, 0xf5, 0x84, 0xa4, 0xd5, - 0x46, 0x37, 0x7d, 0x0c, 0x9f, 0xee, 0x0b, 0x7a, 0xe9, 0x98, - 0xd2, 0xa3, 0x30, 0x41, 0xe7, 0x96, 0x05, 0x74, 0x3e, 0x4f, - 0xdc, 0xad, 0x48, 0x39, 0xaa, 0xdb, 0x91, 0xe0, 0x73, 0x02, - 0x33, 0x42, 0xd1, 0xa0, 0xea, 0x9b, 0x08, 0x79, 0x9c, 0xed, - 0x7e, 0x0f, 0x45, 0x34, 0xa7, 0xd6, 0x70, 0x01, 0x92, 0xe3, - 0xa9, 0xd8, 0x4b, 0x3a, 0xdf, 0xae, 0x3d, 0x4c, 0x06, 0x77, - 0xe4, 0x95, 0xb5, 0xc4, 0x57, 0x26, 0x6c, 0x1d, 0x8e, 0xff, - 0x1a, 0x6b, 0xf8, 0x89, 0xc3, 0xb2, 0x21, 0x50, 0xf6, 0x87, - 0x14, 0x65, 0x2f, 0x5e, 0xcd, 0xbc, 0x59, 0x28, 0xbb, 0xca, - 0x80, 0xf1, 0x62, 0x13, 0x00, 0x72, 0xe4, 0x96, 0xd5, 0xa7, - 0x31, 0x43, 0xb7, 0xc5, 0x53, 0x21, 0x62, 0x10, 0x86, 0xf4, - 0x73, 0x01, 0x97, 0xe5, 0xa6, 0xd4, 0x42, 0x30, 0xc4, 0xb6, - 0x20, 0x52, 0x11, 0x63, 0xf5, 0x87, 0xe6, 0x94, 0x02, 0x70, - 0x33, 0x41, 0xd7, 0xa5, 0x51, 0x23, 0xb5, 0xc7, 0x84, 0xf6, - 0x60, 0x12, 0x95, 0xe7, 0x71, 0x03, 0x40, 0x32, 0xa4, 0xd6, - 0x22, 0x50, 0xc6, 0xb4, 0xf7, 0x85, 0x13, 0x61, 0xd1, 0xa3, - 0x35, 0x47, 0x04, 0x76, 0xe0, 0x92, 0x66, 0x14, 0x82, 0xf0, - 0xb3, 0xc1, 0x57, 0x25, 0xa2, 0xd0, 0x46, 0x34, 0x77, 0x05, - 0x93, 0xe1, 0x15, 0x67, 0xf1, 0x83, 0xc0, 0xb2, 0x24, 0x56, - 0x37, 0x45, 0xd3, 0xa1, 0xe2, 0x90, 0x06, 0x74, 0x80, 0xf2, - 0x64, 0x16, 0x55, 0x27, 0xb1, 0xc3, 0x44, 0x36, 0xa0, 0xd2, - 0x91, 0xe3, 0x75, 0x07, 0xf3, 0x81, 0x17, 0x65, 0x26, 0x54, - 0xc2, 0xb0, 0xbf, 0xcd, 0x5b, 0x29, 0x6a, 0x18, 0x8e, 0xfc, - 0x08, 0x7a, 0xec, 0x9e, 0xdd, 0xaf, 0x39, 0x4b, 0xcc, 0xbe, - 0x28, 0x5a, 0x19, 0x6b, 0xfd, 0x8f, 0x7b, 0x09, 0x9f, 0xed, - 0xae, 0xdc, 0x4a, 0x38, 0x59, 0x2b, 0xbd, 0xcf, 0x8c, 0xfe, - 0x68, 0x1a, 0xee, 0x9c, 0x0a, 0x78, 0x3b, 0x49, 0xdf, 0xad, - 0x2a, 0x58, 0xce, 0xbc, 0xff, 0x8d, 0x1b, 0x69, 0x9d, 0xef, - 0x79, 0x0b, 0x48, 0x3a, 0xac, 0xde, 0x6e, 0x1c, 0x8a, 0xf8, - 0xbb, 0xc9, 0x5f, 0x2d, 0xd9, 0xab, 0x3d, 0x4f, 0x0c, 0x7e, - 0xe8, 0x9a, 0x1d, 0x6f, 0xf9, 0x8b, 0xc8, 0xba, 0x2c, 0x5e, - 0xaa, 0xd8, 0x4e, 0x3c, 0x7f, 0x0d, 0x9b, 0xe9, 0x88, 0xfa, - 0x6c, 0x1e, 0x5d, 0x2f, 0xb9, 0xcb, 0x3f, 0x4d, 0xdb, 0xa9, - 0xea, 0x98, 0x0e, 0x7c, 0xfb, 0x89, 0x1f, 0x6d, 0x2e, 0x5c, - 0xca, 0xb8, 0x4c, 0x3e, 0xa8, 0xda, 0x99, 0xeb, 0x7d, 0x0f, - 0x00, 0x73, 0xe6, 0x95, 0xd1, 0xa2, 0x37, 0x44, 0xbf, 0xcc, - 0x59, 0x2a, 0x6e, 0x1d, 0x88, 0xfb, 0x63, 0x10, 0x85, 0xf6, - 0xb2, 0xc1, 0x54, 0x27, 0xdc, 0xaf, 0x3a, 0x49, 0x0d, 0x7e, - 0xeb, 0x98, 0xc6, 0xb5, 0x20, 0x53, 0x17, 0x64, 0xf1, 0x82, - 0x79, 0x0a, 0x9f, 0xec, 0xa8, 0xdb, 0x4e, 0x3d, 0xa5, 0xd6, - 0x43, 0x30, 0x74, 0x07, 0x92, 0xe1, 0x1a, 0x69, 0xfc, 0x8f, - 0xcb, 0xb8, 0x2d, 0x5e, 0x91, 0xe2, 0x77, 0x04, 0x40, 0x33, - 0xa6, 0xd5, 0x2e, 0x5d, 0xc8, 0xbb, 0xff, 0x8c, 0x19, 0x6a, - 0xf2, 0x81, 0x14, 0x67, 0x23, 0x50, 0xc5, 0xb6, 0x4d, 0x3e, - 0xab, 0xd8, 0x9c, 0xef, 0x7a, 0x09, 0x57, 0x24, 0xb1, 0xc2, - 0x86, 0xf5, 0x60, 0x13, 0xe8, 0x9b, 0x0e, 0x7d, 0x39, 0x4a, - 0xdf, 0xac, 0x34, 0x47, 0xd2, 0xa1, 0xe5, 0x96, 0x03, 0x70, - 0x8b, 0xf8, 0x6d, 0x1e, 0x5a, 0x29, 0xbc, 0xcf, 0x3f, 0x4c, - 0xd9, 0xaa, 0xee, 0x9d, 0x08, 0x7b, 0x80, 0xf3, 0x66, 0x15, - 0x51, 0x22, 0xb7, 0xc4, 0x5c, 0x2f, 0xba, 0xc9, 0x8d, 0xfe, - 0x6b, 0x18, 0xe3, 0x90, 0x05, 0x76, 0x32, 0x41, 0xd4, 0xa7, - 0xf9, 0x8a, 0x1f, 0x6c, 0x28, 0x5b, 0xce, 0xbd, 0x46, 0x35, - 0xa0, 0xd3, 0x97, 0xe4, 0x71, 0x02, 0x9a, 0xe9, 0x7c, 0x0f, - 0x4b, 0x38, 0xad, 0xde, 0x25, 0x56, 0xc3, 0xb0, 0xf4, 0x87, - 0x12, 0x61, 0xae, 0xdd, 0x48, 0x3b, 0x7f, 0x0c, 0x99, 0xea, - 0x11, 0x62, 0xf7, 0x84, 0xc0, 0xb3, 0x26, 0x55, 0xcd, 0xbe, - 0x2b, 0x58, 0x1c, 0x6f, 0xfa, 0x89, 0x72, 0x01, 0x94, 0xe7, - 0xa3, 0xd0, 0x45, 0x36, 0x68, 0x1b, 0x8e, 0xfd, 0xb9, 0xca, - 0x5f, 0x2c, 0xd7, 0xa4, 0x31, 0x42, 0x06, 0x75, 0xe0, 0x93, - 0x0b, 0x78, 0xed, 0x9e, 0xda, 0xa9, 0x3c, 0x4f, 0xb4, 0xc7, - 0x52, 0x21, 0x65, 0x16, 0x83, 0xf0, 0x00, 0x74, 0xe8, 0x9c, - 0xcd, 0xb9, 0x25, 0x51, 0x87, 0xf3, 0x6f, 0x1b, 0x4a, 0x3e, - 0xa2, 0xd6, 0x13, 0x67, 0xfb, 0x8f, 0xde, 0xaa, 0x36, 0x42, - 0x94, 0xe0, 0x7c, 0x08, 0x59, 0x2d, 0xb1, 0xc5, 0x26, 0x52, - 0xce, 0xba, 0xeb, 0x9f, 0x03, 0x77, 0xa1, 0xd5, 0x49, 0x3d, - 0x6c, 0x18, 0x84, 0xf0, 0x35, 0x41, 0xdd, 0xa9, 0xf8, 0x8c, - 0x10, 0x64, 0xb2, 0xc6, 0x5a, 0x2e, 0x7f, 0x0b, 0x97, 0xe3, - 0x4c, 0x38, 0xa4, 0xd0, 0x81, 0xf5, 0x69, 0x1d, 0xcb, 0xbf, - 0x23, 0x57, 0x06, 0x72, 0xee, 0x9a, 0x5f, 0x2b, 0xb7, 0xc3, - 0x92, 0xe6, 0x7a, 0x0e, 0xd8, 0xac, 0x30, 0x44, 0x15, 0x61, - 0xfd, 0x89, 0x6a, 0x1e, 0x82, 0xf6, 0xa7, 0xd3, 0x4f, 0x3b, - 0xed, 0x99, 0x05, 0x71, 0x20, 0x54, 0xc8, 0xbc, 0x79, 0x0d, - 0x91, 0xe5, 0xb4, 0xc0, 0x5c, 0x28, 0xfe, 0x8a, 0x16, 0x62, - 0x33, 0x47, 0xdb, 0xaf, 0x98, 0xec, 0x70, 0x04, 0x55, 0x21, - 0xbd, 0xc9, 0x1f, 0x6b, 0xf7, 0x83, 0xd2, 0xa6, 0x3a, 0x4e, - 0x8b, 0xff, 0x63, 0x17, 0x46, 0x32, 0xae, 0xda, 0x0c, 0x78, - 0xe4, 0x90, 0xc1, 0xb5, 0x29, 0x5d, 0xbe, 0xca, 0x56, 0x22, - 0x73, 0x07, 0x9b, 0xef, 0x39, 0x4d, 0xd1, 0xa5, 0xf4, 0x80, - 0x1c, 0x68, 0xad, 0xd9, 0x45, 0x31, 0x60, 0x14, 0x88, 0xfc, - 0x2a, 0x5e, 0xc2, 0xb6, 0xe7, 0x93, 0x0f, 0x7b, 0xd4, 0xa0, - 0x3c, 0x48, 0x19, 0x6d, 0xf1, 0x85, 0x53, 0x27, 0xbb, 0xcf, - 0x9e, 0xea, 0x76, 0x02, 0xc7, 0xb3, 0x2f, 0x5b, 0x0a, 0x7e, - 0xe2, 0x96, 0x40, 0x34, 0xa8, 0xdc, 0x8d, 0xf9, 0x65, 0x11, - 0xf2, 0x86, 0x1a, 0x6e, 0x3f, 0x4b, 0xd7, 0xa3, 0x75, 0x01, - 0x9d, 0xe9, 0xb8, 0xcc, 0x50, 0x24, 0xe1, 0x95, 0x09, 0x7d, - 0x2c, 0x58, 0xc4, 0xb0, 0x66, 0x12, 0x8e, 0xfa, 0xab, 0xdf, - 0x43, 0x37, 0x00, 0x75, 0xea, 0x9f, 0xc9, 0xbc, 0x23, 0x56, - 0x8f, 0xfa, 0x65, 0x10, 0x46, 0x33, 0xac, 0xd9, 0x03, 0x76, - 0xe9, 0x9c, 0xca, 0xbf, 0x20, 0x55, 0x8c, 0xf9, 0x66, 0x13, - 0x45, 0x30, 0xaf, 0xda, 0x06, 0x73, 0xec, 0x99, 0xcf, 0xba, - 0x25, 0x50, 0x89, 0xfc, 0x63, 0x16, 0x40, 0x35, 0xaa, 0xdf, - 0x05, 0x70, 0xef, 0x9a, 0xcc, 0xb9, 0x26, 0x53, 0x8a, 0xff, - 0x60, 0x15, 0x43, 0x36, 0xa9, 0xdc, 0x0c, 0x79, 0xe6, 0x93, - 0xc5, 0xb0, 0x2f, 0x5a, 0x83, 0xf6, 0x69, 0x1c, 0x4a, 0x3f, - 0xa0, 0xd5, 0x0f, 0x7a, 0xe5, 0x90, 0xc6, 0xb3, 0x2c, 0x59, - 0x80, 0xf5, 0x6a, 0x1f, 0x49, 0x3c, 0xa3, 0xd6, 0x0a, 0x7f, - 0xe0, 0x95, 0xc3, 0xb6, 0x29, 0x5c, 0x85, 0xf0, 0x6f, 0x1a, - 0x4c, 0x39, 0xa6, 0xd3, 0x09, 0x7c, 0xe3, 0x96, 0xc0, 0xb5, - 0x2a, 0x5f, 0x86, 0xf3, 0x6c, 0x19, 0x4f, 0x3a, 0xa5, 0xd0, - 0x18, 0x6d, 0xf2, 0x87, 0xd1, 0xa4, 0x3b, 0x4e, 0x97, 0xe2, - 0x7d, 0x08, 0x5e, 0x2b, 0xb4, 0xc1, 0x1b, 0x6e, 0xf1, 0x84, - 0xd2, 0xa7, 0x38, 0x4d, 0x94, 0xe1, 0x7e, 0x0b, 0x5d, 0x28, - 0xb7, 0xc2, 0x1e, 0x6b, 0xf4, 0x81, 0xd7, 0xa2, 0x3d, 0x48, - 0x91, 0xe4, 0x7b, 0x0e, 0x58, 0x2d, 0xb2, 0xc7, 0x1d, 0x68, - 0xf7, 0x82, 0xd4, 0xa1, 0x3e, 0x4b, 0x92, 0xe7, 0x78, 0x0d, - 0x5b, 0x2e, 0xb1, 0xc4, 0x14, 0x61, 0xfe, 0x8b, 0xdd, 0xa8, - 0x37, 0x42, 0x9b, 0xee, 0x71, 0x04, 0x52, 0x27, 0xb8, 0xcd, - 0x17, 0x62, 0xfd, 0x88, 0xde, 0xab, 0x34, 0x41, 0x98, 0xed, - 0x72, 0x07, 0x51, 0x24, 0xbb, 0xce, 0x12, 0x67, 0xf8, 0x8d, - 0xdb, 0xae, 0x31, 0x44, 0x9d, 0xe8, 0x77, 0x02, 0x54, 0x21, - 0xbe, 0xcb, 0x11, 0x64, 0xfb, 0x8e, 0xd8, 0xad, 0x32, 0x47, - 0x9e, 0xeb, 0x74, 0x01, 0x57, 0x22, 0xbd, 0xc8, 0x00, 0x76, - 0xec, 0x9a, 0xc5, 0xb3, 0x29, 0x5f, 0x97, 0xe1, 0x7b, 0x0d, - 0x52, 0x24, 0xbe, 0xc8, 0x33, 0x45, 0xdf, 0xa9, 0xf6, 0x80, - 0x1a, 0x6c, 0xa4, 0xd2, 0x48, 0x3e, 0x61, 0x17, 0x8d, 0xfb, - 0x66, 0x10, 0x8a, 0xfc, 0xa3, 0xd5, 0x4f, 0x39, 0xf1, 0x87, - 0x1d, 0x6b, 0x34, 0x42, 0xd8, 0xae, 0x55, 0x23, 0xb9, 0xcf, - 0x90, 0xe6, 0x7c, 0x0a, 0xc2, 0xb4, 0x2e, 0x58, 0x07, 0x71, - 0xeb, 0x9d, 0xcc, 0xba, 0x20, 0x56, 0x09, 0x7f, 0xe5, 0x93, - 0x5b, 0x2d, 0xb7, 0xc1, 0x9e, 0xe8, 0x72, 0x04, 0xff, 0x89, - 0x13, 0x65, 0x3a, 0x4c, 0xd6, 0xa0, 0x68, 0x1e, 0x84, 0xf2, - 0xad, 0xdb, 0x41, 0x37, 0xaa, 0xdc, 0x46, 0x30, 0x6f, 0x19, - 0x83, 0xf5, 0x3d, 0x4b, 0xd1, 0xa7, 0xf8, 0x8e, 0x14, 0x62, - 0x99, 0xef, 0x75, 0x03, 0x5c, 0x2a, 0xb0, 0xc6, 0x0e, 0x78, - 0xe2, 0x94, 0xcb, 0xbd, 0x27, 0x51, 0x85, 0xf3, 0x69, 0x1f, - 0x40, 0x36, 0xac, 0xda, 0x12, 0x64, 0xfe, 0x88, 0xd7, 0xa1, - 0x3b, 0x4d, 0xb6, 0xc0, 0x5a, 0x2c, 0x73, 0x05, 0x9f, 0xe9, - 0x21, 0x57, 0xcd, 0xbb, 0xe4, 0x92, 0x08, 0x7e, 0xe3, 0x95, - 0x0f, 0x79, 0x26, 0x50, 0xca, 0xbc, 0x74, 0x02, 0x98, 0xee, - 0xb1, 0xc7, 0x5d, 0x2b, 0xd0, 0xa6, 0x3c, 0x4a, 0x15, 0x63, - 0xf9, 0x8f, 0x47, 0x31, 0xab, 0xdd, 0x82, 0xf4, 0x6e, 0x18, - 0x49, 0x3f, 0xa5, 0xd3, 0x8c, 0xfa, 0x60, 0x16, 0xde, 0xa8, - 0x32, 0x44, 0x1b, 0x6d, 0xf7, 0x81, 0x7a, 0x0c, 0x96, 0xe0, - 0xbf, 0xc9, 0x53, 0x25, 0xed, 0x9b, 0x01, 0x77, 0x28, 0x5e, - 0xc4, 0xb2, 0x2f, 0x59, 0xc3, 0xb5, 0xea, 0x9c, 0x06, 0x70, - 0xb8, 0xce, 0x54, 0x22, 0x7d, 0x0b, 0x91, 0xe7, 0x1c, 0x6a, - 0xf0, 0x86, 0xd9, 0xaf, 0x35, 0x43, 0x8b, 0xfd, 0x67, 0x11, - 0x4e, 0x38, 0xa2, 0xd4, 0x00, 0x77, 0xee, 0x99, 0xc1, 0xb6, - 0x2f, 0x58, 0x9f, 0xe8, 0x71, 0x06, 0x5e, 0x29, 0xb0, 0xc7, - 0x23, 0x54, 0xcd, 0xba, 0xe2, 0x95, 0x0c, 0x7b, 0xbc, 0xcb, - 0x52, 0x25, 0x7d, 0x0a, 0x93, 0xe4, 0x46, 0x31, 0xa8, 0xdf, - 0x87, 0xf0, 0x69, 0x1e, 0xd9, 0xae, 0x37, 0x40, 0x18, 0x6f, - 0xf6, 0x81, 0x65, 0x12, 0x8b, 0xfc, 0xa4, 0xd3, 0x4a, 0x3d, - 0xfa, 0x8d, 0x14, 0x63, 0x3b, 0x4c, 0xd5, 0xa2, 0x8c, 0xfb, - 0x62, 0x15, 0x4d, 0x3a, 0xa3, 0xd4, 0x13, 0x64, 0xfd, 0x8a, - 0xd2, 0xa5, 0x3c, 0x4b, 0xaf, 0xd8, 0x41, 0x36, 0x6e, 0x19, - 0x80, 0xf7, 0x30, 0x47, 0xde, 0xa9, 0xf1, 0x86, 0x1f, 0x68, - 0xca, 0xbd, 0x24, 0x53, 0x0b, 0x7c, 0xe5, 0x92, 0x55, 0x22, - 0xbb, 0xcc, 0x94, 0xe3, 0x7a, 0x0d, 0xe9, 0x9e, 0x07, 0x70, - 0x28, 0x5f, 0xc6, 0xb1, 0x76, 0x01, 0x98, 0xef, 0xb7, 0xc0, - 0x59, 0x2e, 0x05, 0x72, 0xeb, 0x9c, 0xc4, 0xb3, 0x2a, 0x5d, - 0x9a, 0xed, 0x74, 0x03, 0x5b, 0x2c, 0xb5, 0xc2, 0x26, 0x51, - 0xc8, 0xbf, 0xe7, 0x90, 0x09, 0x7e, 0xb9, 0xce, 0x57, 0x20, - 0x78, 0x0f, 0x96, 0xe1, 0x43, 0x34, 0xad, 0xda, 0x82, 0xf5, - 0x6c, 0x1b, 0xdc, 0xab, 0x32, 0x45, 0x1d, 0x6a, 0xf3, 0x84, - 0x60, 0x17, 0x8e, 0xf9, 0xa1, 0xd6, 0x4f, 0x38, 0xff, 0x88, - 0x11, 0x66, 0x3e, 0x49, 0xd0, 0xa7, 0x89, 0xfe, 0x67, 0x10, - 0x48, 0x3f, 0xa6, 0xd1, 0x16, 0x61, 0xf8, 0x8f, 0xd7, 0xa0, - 0x39, 0x4e, 0xaa, 0xdd, 0x44, 0x33, 0x6b, 0x1c, 0x85, 0xf2, - 0x35, 0x42, 0xdb, 0xac, 0xf4, 0x83, 0x1a, 0x6d, 0xcf, 0xb8, - 0x21, 0x56, 0x0e, 0x79, 0xe0, 0x97, 0x50, 0x27, 0xbe, 0xc9, - 0x91, 0xe6, 0x7f, 0x08, 0xec, 0x9b, 0x02, 0x75, 0x2d, 0x5a, - 0xc3, 0xb4, 0x73, 0x04, 0x9d, 0xea, 0xb2, 0xc5, 0x5c, 0x2b, - 0x00, 0x78, 0xf0, 0x88, 0xfd, 0x85, 0x0d, 0x75, 0xe7, 0x9f, - 0x17, 0x6f, 0x1a, 0x62, 0xea, 0x92, 0xd3, 0xab, 0x23, 0x5b, - 0x2e, 0x56, 0xde, 0xa6, 0x34, 0x4c, 0xc4, 0xbc, 0xc9, 0xb1, - 0x39, 0x41, 0xbb, 0xc3, 0x4b, 0x33, 0x46, 0x3e, 0xb6, 0xce, - 0x5c, 0x24, 0xac, 0xd4, 0xa1, 0xd9, 0x51, 0x29, 0x68, 0x10, - 0x98, 0xe0, 0x95, 0xed, 0x65, 0x1d, 0x8f, 0xf7, 0x7f, 0x07, - 0x72, 0x0a, 0x82, 0xfa, 0x6b, 0x13, 0x9b, 0xe3, 0x96, 0xee, - 0x66, 0x1e, 0x8c, 0xf4, 0x7c, 0x04, 0x71, 0x09, 0x81, 0xf9, - 0xb8, 0xc0, 0x48, 0x30, 0x45, 0x3d, 0xb5, 0xcd, 0x5f, 0x27, - 0xaf, 0xd7, 0xa2, 0xda, 0x52, 0x2a, 0xd0, 0xa8, 0x20, 0x58, - 0x2d, 0x55, 0xdd, 0xa5, 0x37, 0x4f, 0xc7, 0xbf, 0xca, 0xb2, - 0x3a, 0x42, 0x03, 0x7b, 0xf3, 0x8b, 0xfe, 0x86, 0x0e, 0x76, - 0xe4, 0x9c, 0x14, 0x6c, 0x19, 0x61, 0xe9, 0x91, 0xd6, 0xae, - 0x26, 0x5e, 0x2b, 0x53, 0xdb, 0xa3, 0x31, 0x49, 0xc1, 0xb9, - 0xcc, 0xb4, 0x3c, 0x44, 0x05, 0x7d, 0xf5, 0x8d, 0xf8, 0x80, - 0x08, 0x70, 0xe2, 0x9a, 0x12, 0x6a, 0x1f, 0x67, 0xef, 0x97, - 0x6d, 0x15, 0x9d, 0xe5, 0x90, 0xe8, 0x60, 0x18, 0x8a, 0xf2, - 0x7a, 0x02, 0x77, 0x0f, 0x87, 0xff, 0xbe, 0xc6, 0x4e, 0x36, - 0x43, 0x3b, 0xb3, 0xcb, 0x59, 0x21, 0xa9, 0xd1, 0xa4, 0xdc, - 0x54, 0x2c, 0xbd, 0xc5, 0x4d, 0x35, 0x40, 0x38, 0xb0, 0xc8, - 0x5a, 0x22, 0xaa, 0xd2, 0xa7, 0xdf, 0x57, 0x2f, 0x6e, 0x16, - 0x9e, 0xe6, 0x93, 0xeb, 0x63, 0x1b, 0x89, 0xf1, 0x79, 0x01, - 0x74, 0x0c, 0x84, 0xfc, 0x06, 0x7e, 0xf6, 0x8e, 0xfb, 0x83, - 0x0b, 0x73, 0xe1, 0x99, 0x11, 0x69, 0x1c, 0x64, 0xec, 0x94, - 0xd5, 0xad, 0x25, 0x5d, 0x28, 0x50, 0xd8, 0xa0, 0x32, 0x4a, - 0xc2, 0xba, 0xcf, 0xb7, 0x3f, 0x47, 0x00, 0x79, 0xf2, 0x8b, - 0xf9, 0x80, 0x0b, 0x72, 0xef, 0x96, 0x1d, 0x64, 0x16, 0x6f, - 0xe4, 0x9d, 0xc3, 0xba, 0x31, 0x48, 0x3a, 0x43, 0xc8, 0xb1, - 0x2c, 0x55, 0xde, 0xa7, 0xd5, 0xac, 0x27, 0x5e, 0x9b, 0xe2, - 0x69, 0x10, 0x62, 0x1b, 0x90, 0xe9, 0x74, 0x0d, 0x86, 0xff, - 0x8d, 0xf4, 0x7f, 0x06, 0x58, 0x21, 0xaa, 0xd3, 0xa1, 0xd8, - 0x53, 0x2a, 0xb7, 0xce, 0x45, 0x3c, 0x4e, 0x37, 0xbc, 0xc5, - 0x2b, 0x52, 0xd9, 0xa0, 0xd2, 0xab, 0x20, 0x59, 0xc4, 0xbd, - 0x36, 0x4f, 0x3d, 0x44, 0xcf, 0xb6, 0xe8, 0x91, 0x1a, 0x63, - 0x11, 0x68, 0xe3, 0x9a, 0x07, 0x7e, 0xf5, 0x8c, 0xfe, 0x87, - 0x0c, 0x75, 0xb0, 0xc9, 0x42, 0x3b, 0x49, 0x30, 0xbb, 0xc2, - 0x5f, 0x26, 0xad, 0xd4, 0xa6, 0xdf, 0x54, 0x2d, 0x73, 0x0a, - 0x81, 0xf8, 0x8a, 0xf3, 0x78, 0x01, 0x9c, 0xe5, 0x6e, 0x17, - 0x65, 0x1c, 0x97, 0xee, 0x56, 0x2f, 0xa4, 0xdd, 0xaf, 0xd6, - 0x5d, 0x24, 0xb9, 0xc0, 0x4b, 0x32, 0x40, 0x39, 0xb2, 0xcb, - 0x95, 0xec, 0x67, 0x1e, 0x6c, 0x15, 0x9e, 0xe7, 0x7a, 0x03, - 0x88, 0xf1, 0x83, 0xfa, 0x71, 0x08, 0xcd, 0xb4, 0x3f, 0x46, - 0x34, 0x4d, 0xc6, 0xbf, 0x22, 0x5b, 0xd0, 0xa9, 0xdb, 0xa2, - 0x29, 0x50, 0x0e, 0x77, 0xfc, 0x85, 0xf7, 0x8e, 0x05, 0x7c, - 0xe1, 0x98, 0x13, 0x6a, 0x18, 0x61, 0xea, 0x93, 0x7d, 0x04, - 0x8f, 0xf6, 0x84, 0xfd, 0x76, 0x0f, 0x92, 0xeb, 0x60, 0x19, - 0x6b, 0x12, 0x99, 0xe0, 0xbe, 0xc7, 0x4c, 0x35, 0x47, 0x3e, - 0xb5, 0xcc, 0x51, 0x28, 0xa3, 0xda, 0xa8, 0xd1, 0x5a, 0x23, - 0xe6, 0x9f, 0x14, 0x6d, 0x1f, 0x66, 0xed, 0x94, 0x09, 0x70, - 0xfb, 0x82, 0xf0, 0x89, 0x02, 0x7b, 0x25, 0x5c, 0xd7, 0xae, - 0xdc, 0xa5, 0x2e, 0x57, 0xca, 0xb3, 0x38, 0x41, 0x33, 0x4a, - 0xc1, 0xb8, 0x00, 0x7a, 0xf4, 0x8e, 0xf5, 0x8f, 0x01, 0x7b, - 0xf7, 0x8d, 0x03, 0x79, 0x02, 0x78, 0xf6, 0x8c, 0xf3, 0x89, - 0x07, 0x7d, 0x06, 0x7c, 0xf2, 0x88, 0x04, 0x7e, 0xf0, 0x8a, - 0xf1, 0x8b, 0x05, 0x7f, 0xfb, 0x81, 0x0f, 0x75, 0x0e, 0x74, - 0xfa, 0x80, 0x0c, 0x76, 0xf8, 0x82, 0xf9, 0x83, 0x0d, 0x77, - 0x08, 0x72, 0xfc, 0x86, 0xfd, 0x87, 0x09, 0x73, 0xff, 0x85, - 0x0b, 0x71, 0x0a, 0x70, 0xfe, 0x84, 0xeb, 0x91, 0x1f, 0x65, - 0x1e, 0x64, 0xea, 0x90, 0x1c, 0x66, 0xe8, 0x92, 0xe9, 0x93, - 0x1d, 0x67, 0x18, 0x62, 0xec, 0x96, 0xed, 0x97, 0x19, 0x63, - 0xef, 0x95, 0x1b, 0x61, 0x1a, 0x60, 0xee, 0x94, 0x10, 0x6a, - 0xe4, 0x9e, 0xe5, 0x9f, 0x11, 0x6b, 0xe7, 0x9d, 0x13, 0x69, - 0x12, 0x68, 0xe6, 0x9c, 0xe3, 0x99, 0x17, 0x6d, 0x16, 0x6c, - 0xe2, 0x98, 0x14, 0x6e, 0xe0, 0x9a, 0xe1, 0x9b, 0x15, 0x6f, - 0xcb, 0xb1, 0x3f, 0x45, 0x3e, 0x44, 0xca, 0xb0, 0x3c, 0x46, - 0xc8, 0xb2, 0xc9, 0xb3, 0x3d, 0x47, 0x38, 0x42, 0xcc, 0xb6, - 0xcd, 0xb7, 0x39, 0x43, 0xcf, 0xb5, 0x3b, 0x41, 0x3a, 0x40, - 0xce, 0xb4, 0x30, 0x4a, 0xc4, 0xbe, 0xc5, 0xbf, 0x31, 0x4b, - 0xc7, 0xbd, 0x33, 0x49, 0x32, 0x48, 0xc6, 0xbc, 0xc3, 0xb9, - 0x37, 0x4d, 0x36, 0x4c, 0xc2, 0xb8, 0x34, 0x4e, 0xc0, 0xba, - 0xc1, 0xbb, 0x35, 0x4f, 0x20, 0x5a, 0xd4, 0xae, 0xd5, 0xaf, - 0x21, 0x5b, 0xd7, 0xad, 0x23, 0x59, 0x22, 0x58, 0xd6, 0xac, - 0xd3, 0xa9, 0x27, 0x5d, 0x26, 0x5c, 0xd2, 0xa8, 0x24, 0x5e, - 0xd0, 0xaa, 0xd1, 0xab, 0x25, 0x5f, 0xdb, 0xa1, 0x2f, 0x55, - 0x2e, 0x54, 0xda, 0xa0, 0x2c, 0x56, 0xd8, 0xa2, 0xd9, 0xa3, - 0x2d, 0x57, 0x28, 0x52, 0xdc, 0xa6, 0xdd, 0xa7, 0x29, 0x53, - 0xdf, 0xa5, 0x2b, 0x51, 0x2a, 0x50, 0xde, 0xa4, 0x00, 0x7b, - 0xf6, 0x8d, 0xf1, 0x8a, 0x07, 0x7c, 0xff, 0x84, 0x09, 0x72, - 0x0e, 0x75, 0xf8, 0x83, 0xe3, 0x98, 0x15, 0x6e, 0x12, 0x69, - 0xe4, 0x9f, 0x1c, 0x67, 0xea, 0x91, 0xed, 0x96, 0x1b, 0x60, - 0xdb, 0xa0, 0x2d, 0x56, 0x2a, 0x51, 0xdc, 0xa7, 0x24, 0x5f, - 0xd2, 0xa9, 0xd5, 0xae, 0x23, 0x58, 0x38, 0x43, 0xce, 0xb5, - 0xc9, 0xb2, 0x3f, 0x44, 0xc7, 0xbc, 0x31, 0x4a, 0x36, 0x4d, - 0xc0, 0xbb, 0xab, 0xd0, 0x5d, 0x26, 0x5a, 0x21, 0xac, 0xd7, - 0x54, 0x2f, 0xa2, 0xd9, 0xa5, 0xde, 0x53, 0x28, 0x48, 0x33, - 0xbe, 0xc5, 0xb9, 0xc2, 0x4f, 0x34, 0xb7, 0xcc, 0x41, 0x3a, - 0x46, 0x3d, 0xb0, 0xcb, 0x70, 0x0b, 0x86, 0xfd, 0x81, 0xfa, - 0x77, 0x0c, 0x8f, 0xf4, 0x79, 0x02, 0x7e, 0x05, 0x88, 0xf3, - 0x93, 0xe8, 0x65, 0x1e, 0x62, 0x19, 0x94, 0xef, 0x6c, 0x17, - 0x9a, 0xe1, 0x9d, 0xe6, 0x6b, 0x10, 0x4b, 0x30, 0xbd, 0xc6, - 0xba, 0xc1, 0x4c, 0x37, 0xb4, 0xcf, 0x42, 0x39, 0x45, 0x3e, - 0xb3, 0xc8, 0xa8, 0xd3, 0x5e, 0x25, 0x59, 0x22, 0xaf, 0xd4, - 0x57, 0x2c, 0xa1, 0xda, 0xa6, 0xdd, 0x50, 0x2b, 0x90, 0xeb, - 0x66, 0x1d, 0x61, 0x1a, 0x97, 0xec, 0x6f, 0x14, 0x99, 0xe2, - 0x9e, 0xe5, 0x68, 0x13, 0x73, 0x08, 0x85, 0xfe, 0x82, 0xf9, - 0x74, 0x0f, 0x8c, 0xf7, 0x7a, 0x01, 0x7d, 0x06, 0x8b, 0xf0, - 0xe0, 0x9b, 0x16, 0x6d, 0x11, 0x6a, 0xe7, 0x9c, 0x1f, 0x64, - 0xe9, 0x92, 0xee, 0x95, 0x18, 0x63, 0x03, 0x78, 0xf5, 0x8e, - 0xf2, 0x89, 0x04, 0x7f, 0xfc, 0x87, 0x0a, 0x71, 0x0d, 0x76, - 0xfb, 0x80, 0x3b, 0x40, 0xcd, 0xb6, 0xca, 0xb1, 0x3c, 0x47, - 0xc4, 0xbf, 0x32, 0x49, 0x35, 0x4e, 0xc3, 0xb8, 0xd8, 0xa3, - 0x2e, 0x55, 0x29, 0x52, 0xdf, 0xa4, 0x27, 0x5c, 0xd1, 0xaa, - 0xd6, 0xad, 0x20, 0x5b, 0x00, 0x7c, 0xf8, 0x84, 0xed, 0x91, - 0x15, 0x69, 0xc7, 0xbb, 0x3f, 0x43, 0x2a, 0x56, 0xd2, 0xae, - 0x93, 0xef, 0x6b, 0x17, 0x7e, 0x02, 0x86, 0xfa, 0x54, 0x28, - 0xac, 0xd0, 0xb9, 0xc5, 0x41, 0x3d, 0x3b, 0x47, 0xc3, 0xbf, - 0xd6, 0xaa, 0x2e, 0x52, 0xfc, 0x80, 0x04, 0x78, 0x11, 0x6d, - 0xe9, 0x95, 0xa8, 0xd4, 0x50, 0x2c, 0x45, 0x39, 0xbd, 0xc1, - 0x6f, 0x13, 0x97, 0xeb, 0x82, 0xfe, 0x7a, 0x06, 0x76, 0x0a, - 0x8e, 0xf2, 0x9b, 0xe7, 0x63, 0x1f, 0xb1, 0xcd, 0x49, 0x35, - 0x5c, 0x20, 0xa4, 0xd8, 0xe5, 0x99, 0x1d, 0x61, 0x08, 0x74, - 0xf0, 0x8c, 0x22, 0x5e, 0xda, 0xa6, 0xcf, 0xb3, 0x37, 0x4b, - 0x4d, 0x31, 0xb5, 0xc9, 0xa0, 0xdc, 0x58, 0x24, 0x8a, 0xf6, - 0x72, 0x0e, 0x67, 0x1b, 0x9f, 0xe3, 0xde, 0xa2, 0x26, 0x5a, - 0x33, 0x4f, 0xcb, 0xb7, 0x19, 0x65, 0xe1, 0x9d, 0xf4, 0x88, - 0x0c, 0x70, 0xec, 0x90, 0x14, 0x68, 0x01, 0x7d, 0xf9, 0x85, - 0x2b, 0x57, 0xd3, 0xaf, 0xc6, 0xba, 0x3e, 0x42, 0x7f, 0x03, - 0x87, 0xfb, 0x92, 0xee, 0x6a, 0x16, 0xb8, 0xc4, 0x40, 0x3c, - 0x55, 0x29, 0xad, 0xd1, 0xd7, 0xab, 0x2f, 0x53, 0x3a, 0x46, - 0xc2, 0xbe, 0x10, 0x6c, 0xe8, 0x94, 0xfd, 0x81, 0x05, 0x79, - 0x44, 0x38, 0xbc, 0xc0, 0xa9, 0xd5, 0x51, 0x2d, 0x83, 0xff, - 0x7b, 0x07, 0x6e, 0x12, 0x96, 0xea, 0x9a, 0xe6, 0x62, 0x1e, - 0x77, 0x0b, 0x8f, 0xf3, 0x5d, 0x21, 0xa5, 0xd9, 0xb0, 0xcc, - 0x48, 0x34, 0x09, 0x75, 0xf1, 0x8d, 0xe4, 0x98, 0x1c, 0x60, - 0xce, 0xb2, 0x36, 0x4a, 0x23, 0x5f, 0xdb, 0xa7, 0xa1, 0xdd, - 0x59, 0x25, 0x4c, 0x30, 0xb4, 0xc8, 0x66, 0x1a, 0x9e, 0xe2, - 0x8b, 0xf7, 0x73, 0x0f, 0x32, 0x4e, 0xca, 0xb6, 0xdf, 0xa3, - 0x27, 0x5b, 0xf5, 0x89, 0x0d, 0x71, 0x18, 0x64, 0xe0, 0x9c, - 0x00, 0x7d, 0xfa, 0x87, 0xe9, 0x94, 0x13, 0x6e, 0xcf, 0xb2, - 0x35, 0x48, 0x26, 0x5b, 0xdc, 0xa1, 0x83, 0xfe, 0x79, 0x04, - 0x6a, 0x17, 0x90, 0xed, 0x4c, 0x31, 0xb6, 0xcb, 0xa5, 0xd8, - 0x5f, 0x22, 0x1b, 0x66, 0xe1, 0x9c, 0xf2, 0x8f, 0x08, 0x75, - 0xd4, 0xa9, 0x2e, 0x53, 0x3d, 0x40, 0xc7, 0xba, 0x98, 0xe5, - 0x62, 0x1f, 0x71, 0x0c, 0x8b, 0xf6, 0x57, 0x2a, 0xad, 0xd0, - 0xbe, 0xc3, 0x44, 0x39, 0x36, 0x4b, 0xcc, 0xb1, 0xdf, 0xa2, - 0x25, 0x58, 0xf9, 0x84, 0x03, 0x7e, 0x10, 0x6d, 0xea, 0x97, - 0xb5, 0xc8, 0x4f, 0x32, 0x5c, 0x21, 0xa6, 0xdb, 0x7a, 0x07, - 0x80, 0xfd, 0x93, 0xee, 0x69, 0x14, 0x2d, 0x50, 0xd7, 0xaa, - 0xc4, 0xb9, 0x3e, 0x43, 0xe2, 0x9f, 0x18, 0x65, 0x0b, 0x76, - 0xf1, 0x8c, 0xae, 0xd3, 0x54, 0x29, 0x47, 0x3a, 0xbd, 0xc0, - 0x61, 0x1c, 0x9b, 0xe6, 0x88, 0xf5, 0x72, 0x0f, 0x6c, 0x11, - 0x96, 0xeb, 0x85, 0xf8, 0x7f, 0x02, 0xa3, 0xde, 0x59, 0x24, - 0x4a, 0x37, 0xb0, 0xcd, 0xef, 0x92, 0x15, 0x68, 0x06, 0x7b, - 0xfc, 0x81, 0x20, 0x5d, 0xda, 0xa7, 0xc9, 0xb4, 0x33, 0x4e, - 0x77, 0x0a, 0x8d, 0xf0, 0x9e, 0xe3, 0x64, 0x19, 0xb8, 0xc5, - 0x42, 0x3f, 0x51, 0x2c, 0xab, 0xd6, 0xf4, 0x89, 0x0e, 0x73, - 0x1d, 0x60, 0xe7, 0x9a, 0x3b, 0x46, 0xc1, 0xbc, 0xd2, 0xaf, - 0x28, 0x55, 0x5a, 0x27, 0xa0, 0xdd, 0xb3, 0xce, 0x49, 0x34, - 0x95, 0xe8, 0x6f, 0x12, 0x7c, 0x01, 0x86, 0xfb, 0xd9, 0xa4, - 0x23, 0x5e, 0x30, 0x4d, 0xca, 0xb7, 0x16, 0x6b, 0xec, 0x91, - 0xff, 0x82, 0x05, 0x78, 0x41, 0x3c, 0xbb, 0xc6, 0xa8, 0xd5, - 0x52, 0x2f, 0x8e, 0xf3, 0x74, 0x09, 0x67, 0x1a, 0x9d, 0xe0, - 0xc2, 0xbf, 0x38, 0x45, 0x2b, 0x56, 0xd1, 0xac, 0x0d, 0x70, - 0xf7, 0x8a, 0xe4, 0x99, 0x1e, 0x63, 0x00, 0x7e, 0xfc, 0x82, - 0xe5, 0x9b, 0x19, 0x67, 0xd7, 0xa9, 0x2b, 0x55, 0x32, 0x4c, - 0xce, 0xb0, 0xb3, 0xcd, 0x4f, 0x31, 0x56, 0x28, 0xaa, 0xd4, - 0x64, 0x1a, 0x98, 0xe6, 0x81, 0xff, 0x7d, 0x03, 0x7b, 0x05, - 0x87, 0xf9, 0x9e, 0xe0, 0x62, 0x1c, 0xac, 0xd2, 0x50, 0x2e, - 0x49, 0x37, 0xb5, 0xcb, 0xc8, 0xb6, 0x34, 0x4a, 0x2d, 0x53, - 0xd1, 0xaf, 0x1f, 0x61, 0xe3, 0x9d, 0xfa, 0x84, 0x06, 0x78, - 0xf6, 0x88, 0x0a, 0x74, 0x13, 0x6d, 0xef, 0x91, 0x21, 0x5f, - 0xdd, 0xa3, 0xc4, 0xba, 0x38, 0x46, 0x45, 0x3b, 0xb9, 0xc7, - 0xa0, 0xde, 0x5c, 0x22, 0x92, 0xec, 0x6e, 0x10, 0x77, 0x09, - 0x8b, 0xf5, 0x8d, 0xf3, 0x71, 0x0f, 0x68, 0x16, 0x94, 0xea, - 0x5a, 0x24, 0xa6, 0xd8, 0xbf, 0xc1, 0x43, 0x3d, 0x3e, 0x40, - 0xc2, 0xbc, 0xdb, 0xa5, 0x27, 0x59, 0xe9, 0x97, 0x15, 0x6b, - 0x0c, 0x72, 0xf0, 0x8e, 0xf1, 0x8f, 0x0d, 0x73, 0x14, 0x6a, - 0xe8, 0x96, 0x26, 0x58, 0xda, 0xa4, 0xc3, 0xbd, 0x3f, 0x41, - 0x42, 0x3c, 0xbe, 0xc0, 0xa7, 0xd9, 0x5b, 0x25, 0x95, 0xeb, - 0x69, 0x17, 0x70, 0x0e, 0x8c, 0xf2, 0x8a, 0xf4, 0x76, 0x08, - 0x6f, 0x11, 0x93, 0xed, 0x5d, 0x23, 0xa1, 0xdf, 0xb8, 0xc6, - 0x44, 0x3a, 0x39, 0x47, 0xc5, 0xbb, 0xdc, 0xa2, 0x20, 0x5e, - 0xee, 0x90, 0x12, 0x6c, 0x0b, 0x75, 0xf7, 0x89, 0x07, 0x79, - 0xfb, 0x85, 0xe2, 0x9c, 0x1e, 0x60, 0xd0, 0xae, 0x2c, 0x52, - 0x35, 0x4b, 0xc9, 0xb7, 0xb4, 0xca, 0x48, 0x36, 0x51, 0x2f, - 0xad, 0xd3, 0x63, 0x1d, 0x9f, 0xe1, 0x86, 0xf8, 0x7a, 0x04, - 0x7c, 0x02, 0x80, 0xfe, 0x99, 0xe7, 0x65, 0x1b, 0xab, 0xd5, - 0x57, 0x29, 0x4e, 0x30, 0xb2, 0xcc, 0xcf, 0xb1, 0x33, 0x4d, - 0x2a, 0x54, 0xd6, 0xa8, 0x18, 0x66, 0xe4, 0x9a, 0xfd, 0x83, - 0x01, 0x7f, 0x00, 0x7f, 0xfe, 0x81, 0xe1, 0x9e, 0x1f, 0x60, - 0xdf, 0xa0, 0x21, 0x5e, 0x3e, 0x41, 0xc0, 0xbf, 0xa3, 0xdc, - 0x5d, 0x22, 0x42, 0x3d, 0xbc, 0xc3, 0x7c, 0x03, 0x82, 0xfd, - 0x9d, 0xe2, 0x63, 0x1c, 0x5b, 0x24, 0xa5, 0xda, 0xba, 0xc5, - 0x44, 0x3b, 0x84, 0xfb, 0x7a, 0x05, 0x65, 0x1a, 0x9b, 0xe4, - 0xf8, 0x87, 0x06, 0x79, 0x19, 0x66, 0xe7, 0x98, 0x27, 0x58, - 0xd9, 0xa6, 0xc6, 0xb9, 0x38, 0x47, 0xb6, 0xc9, 0x48, 0x37, - 0x57, 0x28, 0xa9, 0xd6, 0x69, 0x16, 0x97, 0xe8, 0x88, 0xf7, - 0x76, 0x09, 0x15, 0x6a, 0xeb, 0x94, 0xf4, 0x8b, 0x0a, 0x75, - 0xca, 0xb5, 0x34, 0x4b, 0x2b, 0x54, 0xd5, 0xaa, 0xed, 0x92, - 0x13, 0x6c, 0x0c, 0x73, 0xf2, 0x8d, 0x32, 0x4d, 0xcc, 0xb3, - 0xd3, 0xac, 0x2d, 0x52, 0x4e, 0x31, 0xb0, 0xcf, 0xaf, 0xd0, - 0x51, 0x2e, 0x91, 0xee, 0x6f, 0x10, 0x70, 0x0f, 0x8e, 0xf1, - 0x71, 0x0e, 0x8f, 0xf0, 0x90, 0xef, 0x6e, 0x11, 0xae, 0xd1, - 0x50, 0x2f, 0x4f, 0x30, 0xb1, 0xce, 0xd2, 0xad, 0x2c, 0x53, - 0x33, 0x4c, 0xcd, 0xb2, 0x0d, 0x72, 0xf3, 0x8c, 0xec, 0x93, - 0x12, 0x6d, 0x2a, 0x55, 0xd4, 0xab, 0xcb, 0xb4, 0x35, 0x4a, - 0xf5, 0x8a, 0x0b, 0x74, 0x14, 0x6b, 0xea, 0x95, 0x89, 0xf6, - 0x77, 0x08, 0x68, 0x17, 0x96, 0xe9, 0x56, 0x29, 0xa8, 0xd7, - 0xb7, 0xc8, 0x49, 0x36, 0xc7, 0xb8, 0x39, 0x46, 0x26, 0x59, - 0xd8, 0xa7, 0x18, 0x67, 0xe6, 0x99, 0xf9, 0x86, 0x07, 0x78, - 0x64, 0x1b, 0x9a, 0xe5, 0x85, 0xfa, 0x7b, 0x04, 0xbb, 0xc4, - 0x45, 0x3a, 0x5a, 0x25, 0xa4, 0xdb, 0x9c, 0xe3, 0x62, 0x1d, - 0x7d, 0x02, 0x83, 0xfc, 0x43, 0x3c, 0xbd, 0xc2, 0xa2, 0xdd, - 0x5c, 0x23, 0x3f, 0x40, 0xc1, 0xbe, 0xde, 0xa1, 0x20, 0x5f, - 0xe0, 0x9f, 0x1e, 0x61, 0x01, 0x7e, 0xff, 0x80, 0x00, 0x80, - 0x1d, 0x9d, 0x3a, 0xba, 0x27, 0xa7, 0x74, 0xf4, 0x69, 0xe9, - 0x4e, 0xce, 0x53, 0xd3, 0xe8, 0x68, 0xf5, 0x75, 0xd2, 0x52, - 0xcf, 0x4f, 0x9c, 0x1c, 0x81, 0x01, 0xa6, 0x26, 0xbb, 0x3b, - 0xcd, 0x4d, 0xd0, 0x50, 0xf7, 0x77, 0xea, 0x6a, 0xb9, 0x39, - 0xa4, 0x24, 0x83, 0x03, 0x9e, 0x1e, 0x25, 0xa5, 0x38, 0xb8, - 0x1f, 0x9f, 0x02, 0x82, 0x51, 0xd1, 0x4c, 0xcc, 0x6b, 0xeb, - 0x76, 0xf6, 0x87, 0x07, 0x9a, 0x1a, 0xbd, 0x3d, 0xa0, 0x20, - 0xf3, 0x73, 0xee, 0x6e, 0xc9, 0x49, 0xd4, 0x54, 0x6f, 0xef, - 0x72, 0xf2, 0x55, 0xd5, 0x48, 0xc8, 0x1b, 0x9b, 0x06, 0x86, - 0x21, 0xa1, 0x3c, 0xbc, 0x4a, 0xca, 0x57, 0xd7, 0x70, 0xf0, - 0x6d, 0xed, 0x3e, 0xbe, 0x23, 0xa3, 0x04, 0x84, 0x19, 0x99, - 0xa2, 0x22, 0xbf, 0x3f, 0x98, 0x18, 0x85, 0x05, 0xd6, 0x56, - 0xcb, 0x4b, 0xec, 0x6c, 0xf1, 0x71, 0x13, 0x93, 0x0e, 0x8e, - 0x29, 0xa9, 0x34, 0xb4, 0x67, 0xe7, 0x7a, 0xfa, 0x5d, 0xdd, - 0x40, 0xc0, 0xfb, 0x7b, 0xe6, 0x66, 0xc1, 0x41, 0xdc, 0x5c, - 0x8f, 0x0f, 0x92, 0x12, 0xb5, 0x35, 0xa8, 0x28, 0xde, 0x5e, - 0xc3, 0x43, 0xe4, 0x64, 0xf9, 0x79, 0xaa, 0x2a, 0xb7, 0x37, - 0x90, 0x10, 0x8d, 0x0d, 0x36, 0xb6, 0x2b, 0xab, 0x0c, 0x8c, - 0x11, 0x91, 0x42, 0xc2, 0x5f, 0xdf, 0x78, 0xf8, 0x65, 0xe5, - 0x94, 0x14, 0x89, 0x09, 0xae, 0x2e, 0xb3, 0x33, 0xe0, 0x60, - 0xfd, 0x7d, 0xda, 0x5a, 0xc7, 0x47, 0x7c, 0xfc, 0x61, 0xe1, - 0x46, 0xc6, 0x5b, 0xdb, 0x08, 0x88, 0x15, 0x95, 0x32, 0xb2, - 0x2f, 0xaf, 0x59, 0xd9, 0x44, 0xc4, 0x63, 0xe3, 0x7e, 0xfe, - 0x2d, 0xad, 0x30, 0xb0, 0x17, 0x97, 0x0a, 0x8a, 0xb1, 0x31, - 0xac, 0x2c, 0x8b, 0x0b, 0x96, 0x16, 0xc5, 0x45, 0xd8, 0x58, - 0xff, 0x7f, 0xe2, 0x62, 0x00, 0x81, 0x1f, 0x9e, 0x3e, 0xbf, - 0x21, 0xa0, 0x7c, 0xfd, 0x63, 0xe2, 0x42, 0xc3, 0x5d, 0xdc, - 0xf8, 0x79, 0xe7, 0x66, 0xc6, 0x47, 0xd9, 0x58, 0x84, 0x05, - 0x9b, 0x1a, 0xba, 0x3b, 0xa5, 0x24, 0xed, 0x6c, 0xf2, 0x73, - 0xd3, 0x52, 0xcc, 0x4d, 0x91, 0x10, 0x8e, 0x0f, 0xaf, 0x2e, - 0xb0, 0x31, 0x15, 0x94, 0x0a, 0x8b, 0x2b, 0xaa, 0x34, 0xb5, - 0x69, 0xe8, 0x76, 0xf7, 0x57, 0xd6, 0x48, 0xc9, 0xc7, 0x46, - 0xd8, 0x59, 0xf9, 0x78, 0xe6, 0x67, 0xbb, 0x3a, 0xa4, 0x25, - 0x85, 0x04, 0x9a, 0x1b, 0x3f, 0xbe, 0x20, 0xa1, 0x01, 0x80, - 0x1e, 0x9f, 0x43, 0xc2, 0x5c, 0xdd, 0x7d, 0xfc, 0x62, 0xe3, - 0x2a, 0xab, 0x35, 0xb4, 0x14, 0x95, 0x0b, 0x8a, 0x56, 0xd7, - 0x49, 0xc8, 0x68, 0xe9, 0x77, 0xf6, 0xd2, 0x53, 0xcd, 0x4c, - 0xec, 0x6d, 0xf3, 0x72, 0xae, 0x2f, 0xb1, 0x30, 0x90, 0x11, - 0x8f, 0x0e, 0x93, 0x12, 0x8c, 0x0d, 0xad, 0x2c, 0xb2, 0x33, - 0xef, 0x6e, 0xf0, 0x71, 0xd1, 0x50, 0xce, 0x4f, 0x6b, 0xea, - 0x74, 0xf5, 0x55, 0xd4, 0x4a, 0xcb, 0x17, 0x96, 0x08, 0x89, - 0x29, 0xa8, 0x36, 0xb7, 0x7e, 0xff, 0x61, 0xe0, 0x40, 0xc1, - 0x5f, 0xde, 0x02, 0x83, 0x1d, 0x9c, 0x3c, 0xbd, 0x23, 0xa2, - 0x86, 0x07, 0x99, 0x18, 0xb8, 0x39, 0xa7, 0x26, 0xfa, 0x7b, - 0xe5, 0x64, 0xc4, 0x45, 0xdb, 0x5a, 0x54, 0xd5, 0x4b, 0xca, - 0x6a, 0xeb, 0x75, 0xf4, 0x28, 0xa9, 0x37, 0xb6, 0x16, 0x97, - 0x09, 0x88, 0xac, 0x2d, 0xb3, 0x32, 0x92, 0x13, 0x8d, 0x0c, - 0xd0, 0x51, 0xcf, 0x4e, 0xee, 0x6f, 0xf1, 0x70, 0xb9, 0x38, - 0xa6, 0x27, 0x87, 0x06, 0x98, 0x19, 0xc5, 0x44, 0xda, 0x5b, - 0xfb, 0x7a, 0xe4, 0x65, 0x41, 0xc0, 0x5e, 0xdf, 0x7f, 0xfe, - 0x60, 0xe1, 0x3d, 0xbc, 0x22, 0xa3, 0x03, 0x82, 0x1c, 0x9d, - 0x00, 0x82, 0x19, 0x9b, 0x32, 0xb0, 0x2b, 0xa9, 0x64, 0xe6, - 0x7d, 0xff, 0x56, 0xd4, 0x4f, 0xcd, 0xc8, 0x4a, 0xd1, 0x53, - 0xfa, 0x78, 0xe3, 0x61, 0xac, 0x2e, 0xb5, 0x37, 0x9e, 0x1c, - 0x87, 0x05, 0x8d, 0x0f, 0x94, 0x16, 0xbf, 0x3d, 0xa6, 0x24, - 0xe9, 0x6b, 0xf0, 0x72, 0xdb, 0x59, 0xc2, 0x40, 0x45, 0xc7, - 0x5c, 0xde, 0x77, 0xf5, 0x6e, 0xec, 0x21, 0xa3, 0x38, 0xba, - 0x13, 0x91, 0x0a, 0x88, 0x07, 0x85, 0x1e, 0x9c, 0x35, 0xb7, - 0x2c, 0xae, 0x63, 0xe1, 0x7a, 0xf8, 0x51, 0xd3, 0x48, 0xca, - 0xcf, 0x4d, 0xd6, 0x54, 0xfd, 0x7f, 0xe4, 0x66, 0xab, 0x29, - 0xb2, 0x30, 0x99, 0x1b, 0x80, 0x02, 0x8a, 0x08, 0x93, 0x11, - 0xb8, 0x3a, 0xa1, 0x23, 0xee, 0x6c, 0xf7, 0x75, 0xdc, 0x5e, - 0xc5, 0x47, 0x42, 0xc0, 0x5b, 0xd9, 0x70, 0xf2, 0x69, 0xeb, - 0x26, 0xa4, 0x3f, 0xbd, 0x14, 0x96, 0x0d, 0x8f, 0x0e, 0x8c, - 0x17, 0x95, 0x3c, 0xbe, 0x25, 0xa7, 0x6a, 0xe8, 0x73, 0xf1, - 0x58, 0xda, 0x41, 0xc3, 0xc6, 0x44, 0xdf, 0x5d, 0xf4, 0x76, - 0xed, 0x6f, 0xa2, 0x20, 0xbb, 0x39, 0x90, 0x12, 0x89, 0x0b, - 0x83, 0x01, 0x9a, 0x18, 0xb1, 0x33, 0xa8, 0x2a, 0xe7, 0x65, - 0xfe, 0x7c, 0xd5, 0x57, 0xcc, 0x4e, 0x4b, 0xc9, 0x52, 0xd0, - 0x79, 0xfb, 0x60, 0xe2, 0x2f, 0xad, 0x36, 0xb4, 0x1d, 0x9f, - 0x04, 0x86, 0x09, 0x8b, 0x10, 0x92, 0x3b, 0xb9, 0x22, 0xa0, - 0x6d, 0xef, 0x74, 0xf6, 0x5f, 0xdd, 0x46, 0xc4, 0xc1, 0x43, - 0xd8, 0x5a, 0xf3, 0x71, 0xea, 0x68, 0xa5, 0x27, 0xbc, 0x3e, - 0x97, 0x15, 0x8e, 0x0c, 0x84, 0x06, 0x9d, 0x1f, 0xb6, 0x34, - 0xaf, 0x2d, 0xe0, 0x62, 0xf9, 0x7b, 0xd2, 0x50, 0xcb, 0x49, - 0x4c, 0xce, 0x55, 0xd7, 0x7e, 0xfc, 0x67, 0xe5, 0x28, 0xaa, - 0x31, 0xb3, 0x1a, 0x98, 0x03, 0x81, 0x00, 0x83, 0x1b, 0x98, - 0x36, 0xb5, 0x2d, 0xae, 0x6c, 0xef, 0x77, 0xf4, 0x5a, 0xd9, - 0x41, 0xc2, 0xd8, 0x5b, 0xc3, 0x40, 0xee, 0x6d, 0xf5, 0x76, - 0xb4, 0x37, 0xaf, 0x2c, 0x82, 0x01, 0x99, 0x1a, 0xad, 0x2e, - 0xb6, 0x35, 0x9b, 0x18, 0x80, 0x03, 0xc1, 0x42, 0xda, 0x59, - 0xf7, 0x74, 0xec, 0x6f, 0x75, 0xf6, 0x6e, 0xed, 0x43, 0xc0, - 0x58, 0xdb, 0x19, 0x9a, 0x02, 0x81, 0x2f, 0xac, 0x34, 0xb7, - 0x47, 0xc4, 0x5c, 0xdf, 0x71, 0xf2, 0x6a, 0xe9, 0x2b, 0xa8, - 0x30, 0xb3, 0x1d, 0x9e, 0x06, 0x85, 0x9f, 0x1c, 0x84, 0x07, - 0xa9, 0x2a, 0xb2, 0x31, 0xf3, 0x70, 0xe8, 0x6b, 0xc5, 0x46, - 0xde, 0x5d, 0xea, 0x69, 0xf1, 0x72, 0xdc, 0x5f, 0xc7, 0x44, - 0x86, 0x05, 0x9d, 0x1e, 0xb0, 0x33, 0xab, 0x28, 0x32, 0xb1, - 0x29, 0xaa, 0x04, 0x87, 0x1f, 0x9c, 0x5e, 0xdd, 0x45, 0xc6, - 0x68, 0xeb, 0x73, 0xf0, 0x8e, 0x0d, 0x95, 0x16, 0xb8, 0x3b, - 0xa3, 0x20, 0xe2, 0x61, 0xf9, 0x7a, 0xd4, 0x57, 0xcf, 0x4c, - 0x56, 0xd5, 0x4d, 0xce, 0x60, 0xe3, 0x7b, 0xf8, 0x3a, 0xb9, - 0x21, 0xa2, 0x0c, 0x8f, 0x17, 0x94, 0x23, 0xa0, 0x38, 0xbb, - 0x15, 0x96, 0x0e, 0x8d, 0x4f, 0xcc, 0x54, 0xd7, 0x79, 0xfa, - 0x62, 0xe1, 0xfb, 0x78, 0xe0, 0x63, 0xcd, 0x4e, 0xd6, 0x55, - 0x97, 0x14, 0x8c, 0x0f, 0xa1, 0x22, 0xba, 0x39, 0xc9, 0x4a, - 0xd2, 0x51, 0xff, 0x7c, 0xe4, 0x67, 0xa5, 0x26, 0xbe, 0x3d, - 0x93, 0x10, 0x88, 0x0b, 0x11, 0x92, 0x0a, 0x89, 0x27, 0xa4, - 0x3c, 0xbf, 0x7d, 0xfe, 0x66, 0xe5, 0x4b, 0xc8, 0x50, 0xd3, - 0x64, 0xe7, 0x7f, 0xfc, 0x52, 0xd1, 0x49, 0xca, 0x08, 0x8b, - 0x13, 0x90, 0x3e, 0xbd, 0x25, 0xa6, 0xbc, 0x3f, 0xa7, 0x24, - 0x8a, 0x09, 0x91, 0x12, 0xd0, 0x53, 0xcb, 0x48, 0xe6, 0x65, - 0xfd, 0x7e, 0x00, 0x84, 0x15, 0x91, 0x2a, 0xae, 0x3f, 0xbb, - 0x54, 0xd0, 0x41, 0xc5, 0x7e, 0xfa, 0x6b, 0xef, 0xa8, 0x2c, - 0xbd, 0x39, 0x82, 0x06, 0x97, 0x13, 0xfc, 0x78, 0xe9, 0x6d, - 0xd6, 0x52, 0xc3, 0x47, 0x4d, 0xc9, 0x58, 0xdc, 0x67, 0xe3, - 0x72, 0xf6, 0x19, 0x9d, 0x0c, 0x88, 0x33, 0xb7, 0x26, 0xa2, - 0xe5, 0x61, 0xf0, 0x74, 0xcf, 0x4b, 0xda, 0x5e, 0xb1, 0x35, - 0xa4, 0x20, 0x9b, 0x1f, 0x8e, 0x0a, 0x9a, 0x1e, 0x8f, 0x0b, - 0xb0, 0x34, 0xa5, 0x21, 0xce, 0x4a, 0xdb, 0x5f, 0xe4, 0x60, - 0xf1, 0x75, 0x32, 0xb6, 0x27, 0xa3, 0x18, 0x9c, 0x0d, 0x89, - 0x66, 0xe2, 0x73, 0xf7, 0x4c, 0xc8, 0x59, 0xdd, 0xd7, 0x53, - 0xc2, 0x46, 0xfd, 0x79, 0xe8, 0x6c, 0x83, 0x07, 0x96, 0x12, - 0xa9, 0x2d, 0xbc, 0x38, 0x7f, 0xfb, 0x6a, 0xee, 0x55, 0xd1, - 0x40, 0xc4, 0x2b, 0xaf, 0x3e, 0xba, 0x01, 0x85, 0x14, 0x90, - 0x29, 0xad, 0x3c, 0xb8, 0x03, 0x87, 0x16, 0x92, 0x7d, 0xf9, - 0x68, 0xec, 0x57, 0xd3, 0x42, 0xc6, 0x81, 0x05, 0x94, 0x10, - 0xab, 0x2f, 0xbe, 0x3a, 0xd5, 0x51, 0xc0, 0x44, 0xff, 0x7b, - 0xea, 0x6e, 0x64, 0xe0, 0x71, 0xf5, 0x4e, 0xca, 0x5b, 0xdf, - 0x30, 0xb4, 0x25, 0xa1, 0x1a, 0x9e, 0x0f, 0x8b, 0xcc, 0x48, - 0xd9, 0x5d, 0xe6, 0x62, 0xf3, 0x77, 0x98, 0x1c, 0x8d, 0x09, - 0xb2, 0x36, 0xa7, 0x23, 0xb3, 0x37, 0xa6, 0x22, 0x99, 0x1d, - 0x8c, 0x08, 0xe7, 0x63, 0xf2, 0x76, 0xcd, 0x49, 0xd8, 0x5c, - 0x1b, 0x9f, 0x0e, 0x8a, 0x31, 0xb5, 0x24, 0xa0, 0x4f, 0xcb, - 0x5a, 0xde, 0x65, 0xe1, 0x70, 0xf4, 0xfe, 0x7a, 0xeb, 0x6f, - 0xd4, 0x50, 0xc1, 0x45, 0xaa, 0x2e, 0xbf, 0x3b, 0x80, 0x04, - 0x95, 0x11, 0x56, 0xd2, 0x43, 0xc7, 0x7c, 0xf8, 0x69, 0xed, - 0x02, 0x86, 0x17, 0x93, 0x28, 0xac, 0x3d, 0xb9, 0x00, 0x85, - 0x17, 0x92, 0x2e, 0xab, 0x39, 0xbc, 0x5c, 0xd9, 0x4b, 0xce, - 0x72, 0xf7, 0x65, 0xe0, 0xb8, 0x3d, 0xaf, 0x2a, 0x96, 0x13, - 0x81, 0x04, 0xe4, 0x61, 0xf3, 0x76, 0xca, 0x4f, 0xdd, 0x58, - 0x6d, 0xe8, 0x7a, 0xff, 0x43, 0xc6, 0x54, 0xd1, 0x31, 0xb4, - 0x26, 0xa3, 0x1f, 0x9a, 0x08, 0x8d, 0xd5, 0x50, 0xc2, 0x47, - 0xfb, 0x7e, 0xec, 0x69, 0x89, 0x0c, 0x9e, 0x1b, 0xa7, 0x22, - 0xb0, 0x35, 0xda, 0x5f, 0xcd, 0x48, 0xf4, 0x71, 0xe3, 0x66, - 0x86, 0x03, 0x91, 0x14, 0xa8, 0x2d, 0xbf, 0x3a, 0x62, 0xe7, - 0x75, 0xf0, 0x4c, 0xc9, 0x5b, 0xde, 0x3e, 0xbb, 0x29, 0xac, - 0x10, 0x95, 0x07, 0x82, 0xb7, 0x32, 0xa0, 0x25, 0x99, 0x1c, - 0x8e, 0x0b, 0xeb, 0x6e, 0xfc, 0x79, 0xc5, 0x40, 0xd2, 0x57, - 0x0f, 0x8a, 0x18, 0x9d, 0x21, 0xa4, 0x36, 0xb3, 0x53, 0xd6, - 0x44, 0xc1, 0x7d, 0xf8, 0x6a, 0xef, 0xa9, 0x2c, 0xbe, 0x3b, - 0x87, 0x02, 0x90, 0x15, 0xf5, 0x70, 0xe2, 0x67, 0xdb, 0x5e, - 0xcc, 0x49, 0x11, 0x94, 0x06, 0x83, 0x3f, 0xba, 0x28, 0xad, - 0x4d, 0xc8, 0x5a, 0xdf, 0x63, 0xe6, 0x74, 0xf1, 0xc4, 0x41, - 0xd3, 0x56, 0xea, 0x6f, 0xfd, 0x78, 0x98, 0x1d, 0x8f, 0x0a, - 0xb6, 0x33, 0xa1, 0x24, 0x7c, 0xf9, 0x6b, 0xee, 0x52, 0xd7, - 0x45, 0xc0, 0x20, 0xa5, 0x37, 0xb2, 0x0e, 0x8b, 0x19, 0x9c, - 0x73, 0xf6, 0x64, 0xe1, 0x5d, 0xd8, 0x4a, 0xcf, 0x2f, 0xaa, - 0x38, 0xbd, 0x01, 0x84, 0x16, 0x93, 0xcb, 0x4e, 0xdc, 0x59, - 0xe5, 0x60, 0xf2, 0x77, 0x97, 0x12, 0x80, 0x05, 0xb9, 0x3c, - 0xae, 0x2b, 0x1e, 0x9b, 0x09, 0x8c, 0x30, 0xb5, 0x27, 0xa2, - 0x42, 0xc7, 0x55, 0xd0, 0x6c, 0xe9, 0x7b, 0xfe, 0xa6, 0x23, - 0xb1, 0x34, 0x88, 0x0d, 0x9f, 0x1a, 0xfa, 0x7f, 0xed, 0x68, - 0xd4, 0x51, 0xc3, 0x46, 0x00, 0x86, 0x11, 0x97, 0x22, 0xa4, - 0x33, 0xb5, 0x44, 0xc2, 0x55, 0xd3, 0x66, 0xe0, 0x77, 0xf1, - 0x88, 0x0e, 0x99, 0x1f, 0xaa, 0x2c, 0xbb, 0x3d, 0xcc, 0x4a, - 0xdd, 0x5b, 0xee, 0x68, 0xff, 0x79, 0x0d, 0x8b, 0x1c, 0x9a, - 0x2f, 0xa9, 0x3e, 0xb8, 0x49, 0xcf, 0x58, 0xde, 0x6b, 0xed, - 0x7a, 0xfc, 0x85, 0x03, 0x94, 0x12, 0xa7, 0x21, 0xb6, 0x30, - 0xc1, 0x47, 0xd0, 0x56, 0xe3, 0x65, 0xf2, 0x74, 0x1a, 0x9c, - 0x0b, 0x8d, 0x38, 0xbe, 0x29, 0xaf, 0x5e, 0xd8, 0x4f, 0xc9, - 0x7c, 0xfa, 0x6d, 0xeb, 0x92, 0x14, 0x83, 0x05, 0xb0, 0x36, - 0xa1, 0x27, 0xd6, 0x50, 0xc7, 0x41, 0xf4, 0x72, 0xe5, 0x63, - 0x17, 0x91, 0x06, 0x80, 0x35, 0xb3, 0x24, 0xa2, 0x53, 0xd5, - 0x42, 0xc4, 0x71, 0xf7, 0x60, 0xe6, 0x9f, 0x19, 0x8e, 0x08, - 0xbd, 0x3b, 0xac, 0x2a, 0xdb, 0x5d, 0xca, 0x4c, 0xf9, 0x7f, - 0xe8, 0x6e, 0x34, 0xb2, 0x25, 0xa3, 0x16, 0x90, 0x07, 0x81, - 0x70, 0xf6, 0x61, 0xe7, 0x52, 0xd4, 0x43, 0xc5, 0xbc, 0x3a, - 0xad, 0x2b, 0x9e, 0x18, 0x8f, 0x09, 0xf8, 0x7e, 0xe9, 0x6f, - 0xda, 0x5c, 0xcb, 0x4d, 0x39, 0xbf, 0x28, 0xae, 0x1b, 0x9d, - 0x0a, 0x8c, 0x7d, 0xfb, 0x6c, 0xea, 0x5f, 0xd9, 0x4e, 0xc8, - 0xb1, 0x37, 0xa0, 0x26, 0x93, 0x15, 0x82, 0x04, 0xf5, 0x73, - 0xe4, 0x62, 0xd7, 0x51, 0xc6, 0x40, 0x2e, 0xa8, 0x3f, 0xb9, - 0x0c, 0x8a, 0x1d, 0x9b, 0x6a, 0xec, 0x7b, 0xfd, 0x48, 0xce, - 0x59, 0xdf, 0xa6, 0x20, 0xb7, 0x31, 0x84, 0x02, 0x95, 0x13, - 0xe2, 0x64, 0xf3, 0x75, 0xc0, 0x46, 0xd1, 0x57, 0x23, 0xa5, - 0x32, 0xb4, 0x01, 0x87, 0x10, 0x96, 0x67, 0xe1, 0x76, 0xf0, - 0x45, 0xc3, 0x54, 0xd2, 0xab, 0x2d, 0xba, 0x3c, 0x89, 0x0f, - 0x98, 0x1e, 0xef, 0x69, 0xfe, 0x78, 0xcd, 0x4b, 0xdc, 0x5a, - 0x00, 0x87, 0x13, 0x94, 0x26, 0xa1, 0x35, 0xb2, 0x4c, 0xcb, - 0x5f, 0xd8, 0x6a, 0xed, 0x79, 0xfe, 0x98, 0x1f, 0x8b, 0x0c, - 0xbe, 0x39, 0xad, 0x2a, 0xd4, 0x53, 0xc7, 0x40, 0xf2, 0x75, - 0xe1, 0x66, 0x2d, 0xaa, 0x3e, 0xb9, 0x0b, 0x8c, 0x18, 0x9f, - 0x61, 0xe6, 0x72, 0xf5, 0x47, 0xc0, 0x54, 0xd3, 0xb5, 0x32, - 0xa6, 0x21, 0x93, 0x14, 0x80, 0x07, 0xf9, 0x7e, 0xea, 0x6d, - 0xdf, 0x58, 0xcc, 0x4b, 0x5a, 0xdd, 0x49, 0xce, 0x7c, 0xfb, - 0x6f, 0xe8, 0x16, 0x91, 0x05, 0x82, 0x30, 0xb7, 0x23, 0xa4, - 0xc2, 0x45, 0xd1, 0x56, 0xe4, 0x63, 0xf7, 0x70, 0x8e, 0x09, - 0x9d, 0x1a, 0xa8, 0x2f, 0xbb, 0x3c, 0x77, 0xf0, 0x64, 0xe3, - 0x51, 0xd6, 0x42, 0xc5, 0x3b, 0xbc, 0x28, 0xaf, 0x1d, 0x9a, - 0x0e, 0x89, 0xef, 0x68, 0xfc, 0x7b, 0xc9, 0x4e, 0xda, 0x5d, - 0xa3, 0x24, 0xb0, 0x37, 0x85, 0x02, 0x96, 0x11, 0xb4, 0x33, - 0xa7, 0x20, 0x92, 0x15, 0x81, 0x06, 0xf8, 0x7f, 0xeb, 0x6c, - 0xde, 0x59, 0xcd, 0x4a, 0x2c, 0xab, 0x3f, 0xb8, 0x0a, 0x8d, - 0x19, 0x9e, 0x60, 0xe7, 0x73, 0xf4, 0x46, 0xc1, 0x55, 0xd2, - 0x99, 0x1e, 0x8a, 0x0d, 0xbf, 0x38, 0xac, 0x2b, 0xd5, 0x52, - 0xc6, 0x41, 0xf3, 0x74, 0xe0, 0x67, 0x01, 0x86, 0x12, 0x95, - 0x27, 0xa0, 0x34, 0xb3, 0x4d, 0xca, 0x5e, 0xd9, 0x6b, 0xec, - 0x78, 0xff, 0xee, 0x69, 0xfd, 0x7a, 0xc8, 0x4f, 0xdb, 0x5c, - 0xa2, 0x25, 0xb1, 0x36, 0x84, 0x03, 0x97, 0x10, 0x76, 0xf1, - 0x65, 0xe2, 0x50, 0xd7, 0x43, 0xc4, 0x3a, 0xbd, 0x29, 0xae, - 0x1c, 0x9b, 0x0f, 0x88, 0xc3, 0x44, 0xd0, 0x57, 0xe5, 0x62, - 0xf6, 0x71, 0x8f, 0x08, 0x9c, 0x1b, 0xa9, 0x2e, 0xba, 0x3d, - 0x5b, 0xdc, 0x48, 0xcf, 0x7d, 0xfa, 0x6e, 0xe9, 0x17, 0x90, - 0x04, 0x83, 0x31, 0xb6, 0x22, 0xa5, 0x00, 0x88, 0x0d, 0x85, - 0x1a, 0x92, 0x17, 0x9f, 0x34, 0xbc, 0x39, 0xb1, 0x2e, 0xa6, - 0x23, 0xab, 0x68, 0xe0, 0x65, 0xed, 0x72, 0xfa, 0x7f, 0xf7, - 0x5c, 0xd4, 0x51, 0xd9, 0x46, 0xce, 0x4b, 0xc3, 0xd0, 0x58, - 0xdd, 0x55, 0xca, 0x42, 0xc7, 0x4f, 0xe4, 0x6c, 0xe9, 0x61, - 0xfe, 0x76, 0xf3, 0x7b, 0xb8, 0x30, 0xb5, 0x3d, 0xa2, 0x2a, - 0xaf, 0x27, 0x8c, 0x04, 0x81, 0x09, 0x96, 0x1e, 0x9b, 0x13, - 0xbd, 0x35, 0xb0, 0x38, 0xa7, 0x2f, 0xaa, 0x22, 0x89, 0x01, - 0x84, 0x0c, 0x93, 0x1b, 0x9e, 0x16, 0xd5, 0x5d, 0xd8, 0x50, - 0xcf, 0x47, 0xc2, 0x4a, 0xe1, 0x69, 0xec, 0x64, 0xfb, 0x73, - 0xf6, 0x7e, 0x6d, 0xe5, 0x60, 0xe8, 0x77, 0xff, 0x7a, 0xf2, - 0x59, 0xd1, 0x54, 0xdc, 0x43, 0xcb, 0x4e, 0xc6, 0x05, 0x8d, - 0x08, 0x80, 0x1f, 0x97, 0x12, 0x9a, 0x31, 0xb9, 0x3c, 0xb4, - 0x2b, 0xa3, 0x26, 0xae, 0x67, 0xef, 0x6a, 0xe2, 0x7d, 0xf5, - 0x70, 0xf8, 0x53, 0xdb, 0x5e, 0xd6, 0x49, 0xc1, 0x44, 0xcc, - 0x0f, 0x87, 0x02, 0x8a, 0x15, 0x9d, 0x18, 0x90, 0x3b, 0xb3, - 0x36, 0xbe, 0x21, 0xa9, 0x2c, 0xa4, 0xb7, 0x3f, 0xba, 0x32, - 0xad, 0x25, 0xa0, 0x28, 0x83, 0x0b, 0x8e, 0x06, 0x99, 0x11, - 0x94, 0x1c, 0xdf, 0x57, 0xd2, 0x5a, 0xc5, 0x4d, 0xc8, 0x40, - 0xeb, 0x63, 0xe6, 0x6e, 0xf1, 0x79, 0xfc, 0x74, 0xda, 0x52, - 0xd7, 0x5f, 0xc0, 0x48, 0xcd, 0x45, 0xee, 0x66, 0xe3, 0x6b, - 0xf4, 0x7c, 0xf9, 0x71, 0xb2, 0x3a, 0xbf, 0x37, 0xa8, 0x20, - 0xa5, 0x2d, 0x86, 0x0e, 0x8b, 0x03, 0x9c, 0x14, 0x91, 0x19, - 0x0a, 0x82, 0x07, 0x8f, 0x10, 0x98, 0x1d, 0x95, 0x3e, 0xb6, - 0x33, 0xbb, 0x24, 0xac, 0x29, 0xa1, 0x62, 0xea, 0x6f, 0xe7, - 0x78, 0xf0, 0x75, 0xfd, 0x56, 0xde, 0x5b, 0xd3, 0x4c, 0xc4, - 0x41, 0xc9, 0x00, 0x89, 0x0f, 0x86, 0x1e, 0x97, 0x11, 0x98, - 0x3c, 0xb5, 0x33, 0xba, 0x22, 0xab, 0x2d, 0xa4, 0x78, 0xf1, - 0x77, 0xfe, 0x66, 0xef, 0x69, 0xe0, 0x44, 0xcd, 0x4b, 0xc2, - 0x5a, 0xd3, 0x55, 0xdc, 0xf0, 0x79, 0xff, 0x76, 0xee, 0x67, - 0xe1, 0x68, 0xcc, 0x45, 0xc3, 0x4a, 0xd2, 0x5b, 0xdd, 0x54, - 0x88, 0x01, 0x87, 0x0e, 0x96, 0x1f, 0x99, 0x10, 0xb4, 0x3d, - 0xbb, 0x32, 0xaa, 0x23, 0xa5, 0x2c, 0xfd, 0x74, 0xf2, 0x7b, - 0xe3, 0x6a, 0xec, 0x65, 0xc1, 0x48, 0xce, 0x47, 0xdf, 0x56, - 0xd0, 0x59, 0x85, 0x0c, 0x8a, 0x03, 0x9b, 0x12, 0x94, 0x1d, - 0xb9, 0x30, 0xb6, 0x3f, 0xa7, 0x2e, 0xa8, 0x21, 0x0d, 0x84, - 0x02, 0x8b, 0x13, 0x9a, 0x1c, 0x95, 0x31, 0xb8, 0x3e, 0xb7, - 0x2f, 0xa6, 0x20, 0xa9, 0x75, 0xfc, 0x7a, 0xf3, 0x6b, 0xe2, - 0x64, 0xed, 0x49, 0xc0, 0x46, 0xcf, 0x57, 0xde, 0x58, 0xd1, - 0xe7, 0x6e, 0xe8, 0x61, 0xf9, 0x70, 0xf6, 0x7f, 0xdb, 0x52, - 0xd4, 0x5d, 0xc5, 0x4c, 0xca, 0x43, 0x9f, 0x16, 0x90, 0x19, - 0x81, 0x08, 0x8e, 0x07, 0xa3, 0x2a, 0xac, 0x25, 0xbd, 0x34, - 0xb2, 0x3b, 0x17, 0x9e, 0x18, 0x91, 0x09, 0x80, 0x06, 0x8f, - 0x2b, 0xa2, 0x24, 0xad, 0x35, 0xbc, 0x3a, 0xb3, 0x6f, 0xe6, - 0x60, 0xe9, 0x71, 0xf8, 0x7e, 0xf7, 0x53, 0xda, 0x5c, 0xd5, - 0x4d, 0xc4, 0x42, 0xcb, 0x1a, 0x93, 0x15, 0x9c, 0x04, 0x8d, - 0x0b, 0x82, 0x26, 0xaf, 0x29, 0xa0, 0x38, 0xb1, 0x37, 0xbe, - 0x62, 0xeb, 0x6d, 0xe4, 0x7c, 0xf5, 0x73, 0xfa, 0x5e, 0xd7, - 0x51, 0xd8, 0x40, 0xc9, 0x4f, 0xc6, 0xea, 0x63, 0xe5, 0x6c, - 0xf4, 0x7d, 0xfb, 0x72, 0xd6, 0x5f, 0xd9, 0x50, 0xc8, 0x41, - 0xc7, 0x4e, 0x92, 0x1b, 0x9d, 0x14, 0x8c, 0x05, 0x83, 0x0a, - 0xae, 0x27, 0xa1, 0x28, 0xb0, 0x39, 0xbf, 0x36, 0x00, 0x8a, - 0x09, 0x83, 0x12, 0x98, 0x1b, 0x91, 0x24, 0xae, 0x2d, 0xa7, - 0x36, 0xbc, 0x3f, 0xb5, 0x48, 0xc2, 0x41, 0xcb, 0x5a, 0xd0, - 0x53, 0xd9, 0x6c, 0xe6, 0x65, 0xef, 0x7e, 0xf4, 0x77, 0xfd, - 0x90, 0x1a, 0x99, 0x13, 0x82, 0x08, 0x8b, 0x01, 0xb4, 0x3e, - 0xbd, 0x37, 0xa6, 0x2c, 0xaf, 0x25, 0xd8, 0x52, 0xd1, 0x5b, - 0xca, 0x40, 0xc3, 0x49, 0xfc, 0x76, 0xf5, 0x7f, 0xee, 0x64, - 0xe7, 0x6d, 0x3d, 0xb7, 0x34, 0xbe, 0x2f, 0xa5, 0x26, 0xac, - 0x19, 0x93, 0x10, 0x9a, 0x0b, 0x81, 0x02, 0x88, 0x75, 0xff, - 0x7c, 0xf6, 0x67, 0xed, 0x6e, 0xe4, 0x51, 0xdb, 0x58, 0xd2, - 0x43, 0xc9, 0x4a, 0xc0, 0xad, 0x27, 0xa4, 0x2e, 0xbf, 0x35, - 0xb6, 0x3c, 0x89, 0x03, 0x80, 0x0a, 0x9b, 0x11, 0x92, 0x18, - 0xe5, 0x6f, 0xec, 0x66, 0xf7, 0x7d, 0xfe, 0x74, 0xc1, 0x4b, - 0xc8, 0x42, 0xd3, 0x59, 0xda, 0x50, 0x7a, 0xf0, 0x73, 0xf9, - 0x68, 0xe2, 0x61, 0xeb, 0x5e, 0xd4, 0x57, 0xdd, 0x4c, 0xc6, - 0x45, 0xcf, 0x32, 0xb8, 0x3b, 0xb1, 0x20, 0xaa, 0x29, 0xa3, - 0x16, 0x9c, 0x1f, 0x95, 0x04, 0x8e, 0x0d, 0x87, 0xea, 0x60, - 0xe3, 0x69, 0xf8, 0x72, 0xf1, 0x7b, 0xce, 0x44, 0xc7, 0x4d, - 0xdc, 0x56, 0xd5, 0x5f, 0xa2, 0x28, 0xab, 0x21, 0xb0, 0x3a, - 0xb9, 0x33, 0x86, 0x0c, 0x8f, 0x05, 0x94, 0x1e, 0x9d, 0x17, - 0x47, 0xcd, 0x4e, 0xc4, 0x55, 0xdf, 0x5c, 0xd6, 0x63, 0xe9, - 0x6a, 0xe0, 0x71, 0xfb, 0x78, 0xf2, 0x0f, 0x85, 0x06, 0x8c, - 0x1d, 0x97, 0x14, 0x9e, 0x2b, 0xa1, 0x22, 0xa8, 0x39, 0xb3, - 0x30, 0xba, 0xd7, 0x5d, 0xde, 0x54, 0xc5, 0x4f, 0xcc, 0x46, - 0xf3, 0x79, 0xfa, 0x70, 0xe1, 0x6b, 0xe8, 0x62, 0x9f, 0x15, - 0x96, 0x1c, 0x8d, 0x07, 0x84, 0x0e, 0xbb, 0x31, 0xb2, 0x38, - 0xa9, 0x23, 0xa0, 0x2a, 0x00, 0x8b, 0x0b, 0x80, 0x16, 0x9d, - 0x1d, 0x96, 0x2c, 0xa7, 0x27, 0xac, 0x3a, 0xb1, 0x31, 0xba, - 0x58, 0xd3, 0x53, 0xd8, 0x4e, 0xc5, 0x45, 0xce, 0x74, 0xff, - 0x7f, 0xf4, 0x62, 0xe9, 0x69, 0xe2, 0xb0, 0x3b, 0xbb, 0x30, - 0xa6, 0x2d, 0xad, 0x26, 0x9c, 0x17, 0x97, 0x1c, 0x8a, 0x01, - 0x81, 0x0a, 0xe8, 0x63, 0xe3, 0x68, 0xfe, 0x75, 0xf5, 0x7e, - 0xc4, 0x4f, 0xcf, 0x44, 0xd2, 0x59, 0xd9, 0x52, 0x7d, 0xf6, - 0x76, 0xfd, 0x6b, 0xe0, 0x60, 0xeb, 0x51, 0xda, 0x5a, 0xd1, - 0x47, 0xcc, 0x4c, 0xc7, 0x25, 0xae, 0x2e, 0xa5, 0x33, 0xb8, - 0x38, 0xb3, 0x09, 0x82, 0x02, 0x89, 0x1f, 0x94, 0x14, 0x9f, - 0xcd, 0x46, 0xc6, 0x4d, 0xdb, 0x50, 0xd0, 0x5b, 0xe1, 0x6a, - 0xea, 0x61, 0xf7, 0x7c, 0xfc, 0x77, 0x95, 0x1e, 0x9e, 0x15, - 0x83, 0x08, 0x88, 0x03, 0xb9, 0x32, 0xb2, 0x39, 0xaf, 0x24, - 0xa4, 0x2f, 0xfa, 0x71, 0xf1, 0x7a, 0xec, 0x67, 0xe7, 0x6c, - 0xd6, 0x5d, 0xdd, 0x56, 0xc0, 0x4b, 0xcb, 0x40, 0xa2, 0x29, - 0xa9, 0x22, 0xb4, 0x3f, 0xbf, 0x34, 0x8e, 0x05, 0x85, 0x0e, - 0x98, 0x13, 0x93, 0x18, 0x4a, 0xc1, 0x41, 0xca, 0x5c, 0xd7, - 0x57, 0xdc, 0x66, 0xed, 0x6d, 0xe6, 0x70, 0xfb, 0x7b, 0xf0, - 0x12, 0x99, 0x19, 0x92, 0x04, 0x8f, 0x0f, 0x84, 0x3e, 0xb5, - 0x35, 0xbe, 0x28, 0xa3, 0x23, 0xa8, 0x87, 0x0c, 0x8c, 0x07, - 0x91, 0x1a, 0x9a, 0x11, 0xab, 0x20, 0xa0, 0x2b, 0xbd, 0x36, - 0xb6, 0x3d, 0xdf, 0x54, 0xd4, 0x5f, 0xc9, 0x42, 0xc2, 0x49, - 0xf3, 0x78, 0xf8, 0x73, 0xe5, 0x6e, 0xee, 0x65, 0x37, 0xbc, - 0x3c, 0xb7, 0x21, 0xaa, 0x2a, 0xa1, 0x1b, 0x90, 0x10, 0x9b, - 0x0d, 0x86, 0x06, 0x8d, 0x6f, 0xe4, 0x64, 0xef, 0x79, 0xf2, - 0x72, 0xf9, 0x43, 0xc8, 0x48, 0xc3, 0x55, 0xde, 0x5e, 0xd5, - 0x00, 0x8c, 0x05, 0x89, 0x0a, 0x86, 0x0f, 0x83, 0x14, 0x98, - 0x11, 0x9d, 0x1e, 0x92, 0x1b, 0x97, 0x28, 0xa4, 0x2d, 0xa1, - 0x22, 0xae, 0x27, 0xab, 0x3c, 0xb0, 0x39, 0xb5, 0x36, 0xba, - 0x33, 0xbf, 0x50, 0xdc, 0x55, 0xd9, 0x5a, 0xd6, 0x5f, 0xd3, - 0x44, 0xc8, 0x41, 0xcd, 0x4e, 0xc2, 0x4b, 0xc7, 0x78, 0xf4, - 0x7d, 0xf1, 0x72, 0xfe, 0x77, 0xfb, 0x6c, 0xe0, 0x69, 0xe5, - 0x66, 0xea, 0x63, 0xef, 0xa0, 0x2c, 0xa5, 0x29, 0xaa, 0x26, - 0xaf, 0x23, 0xb4, 0x38, 0xb1, 0x3d, 0xbe, 0x32, 0xbb, 0x37, - 0x88, 0x04, 0x8d, 0x01, 0x82, 0x0e, 0x87, 0x0b, 0x9c, 0x10, - 0x99, 0x15, 0x96, 0x1a, 0x93, 0x1f, 0xf0, 0x7c, 0xf5, 0x79, - 0xfa, 0x76, 0xff, 0x73, 0xe4, 0x68, 0xe1, 0x6d, 0xee, 0x62, - 0xeb, 0x67, 0xd8, 0x54, 0xdd, 0x51, 0xd2, 0x5e, 0xd7, 0x5b, - 0xcc, 0x40, 0xc9, 0x45, 0xc6, 0x4a, 0xc3, 0x4f, 0x5d, 0xd1, - 0x58, 0xd4, 0x57, 0xdb, 0x52, 0xde, 0x49, 0xc5, 0x4c, 0xc0, - 0x43, 0xcf, 0x46, 0xca, 0x75, 0xf9, 0x70, 0xfc, 0x7f, 0xf3, - 0x7a, 0xf6, 0x61, 0xed, 0x64, 0xe8, 0x6b, 0xe7, 0x6e, 0xe2, - 0x0d, 0x81, 0x08, 0x84, 0x07, 0x8b, 0x02, 0x8e, 0x19, 0x95, - 0x1c, 0x90, 0x13, 0x9f, 0x16, 0x9a, 0x25, 0xa9, 0x20, 0xac, - 0x2f, 0xa3, 0x2a, 0xa6, 0x31, 0xbd, 0x34, 0xb8, 0x3b, 0xb7, - 0x3e, 0xb2, 0xfd, 0x71, 0xf8, 0x74, 0xf7, 0x7b, 0xf2, 0x7e, - 0xe9, 0x65, 0xec, 0x60, 0xe3, 0x6f, 0xe6, 0x6a, 0xd5, 0x59, - 0xd0, 0x5c, 0xdf, 0x53, 0xda, 0x56, 0xc1, 0x4d, 0xc4, 0x48, - 0xcb, 0x47, 0xce, 0x42, 0xad, 0x21, 0xa8, 0x24, 0xa7, 0x2b, - 0xa2, 0x2e, 0xb9, 0x35, 0xbc, 0x30, 0xb3, 0x3f, 0xb6, 0x3a, - 0x85, 0x09, 0x80, 0x0c, 0x8f, 0x03, 0x8a, 0x06, 0x91, 0x1d, - 0x94, 0x18, 0x9b, 0x17, 0x9e, 0x12, 0x00, 0x8d, 0x07, 0x8a, - 0x0e, 0x83, 0x09, 0x84, 0x1c, 0x91, 0x1b, 0x96, 0x12, 0x9f, - 0x15, 0x98, 0x38, 0xb5, 0x3f, 0xb2, 0x36, 0xbb, 0x31, 0xbc, - 0x24, 0xa9, 0x23, 0xae, 0x2a, 0xa7, 0x2d, 0xa0, 0x70, 0xfd, - 0x77, 0xfa, 0x7e, 0xf3, 0x79, 0xf4, 0x6c, 0xe1, 0x6b, 0xe6, - 0x62, 0xef, 0x65, 0xe8, 0x48, 0xc5, 0x4f, 0xc2, 0x46, 0xcb, - 0x41, 0xcc, 0x54, 0xd9, 0x53, 0xde, 0x5a, 0xd7, 0x5d, 0xd0, - 0xe0, 0x6d, 0xe7, 0x6a, 0xee, 0x63, 0xe9, 0x64, 0xfc, 0x71, - 0xfb, 0x76, 0xf2, 0x7f, 0xf5, 0x78, 0xd8, 0x55, 0xdf, 0x52, - 0xd6, 0x5b, 0xd1, 0x5c, 0xc4, 0x49, 0xc3, 0x4e, 0xca, 0x47, - 0xcd, 0x40, 0x90, 0x1d, 0x97, 0x1a, 0x9e, 0x13, 0x99, 0x14, - 0x8c, 0x01, 0x8b, 0x06, 0x82, 0x0f, 0x85, 0x08, 0xa8, 0x25, - 0xaf, 0x22, 0xa6, 0x2b, 0xa1, 0x2c, 0xb4, 0x39, 0xb3, 0x3e, - 0xba, 0x37, 0xbd, 0x30, 0xdd, 0x50, 0xda, 0x57, 0xd3, 0x5e, - 0xd4, 0x59, 0xc1, 0x4c, 0xc6, 0x4b, 0xcf, 0x42, 0xc8, 0x45, - 0xe5, 0x68, 0xe2, 0x6f, 0xeb, 0x66, 0xec, 0x61, 0xf9, 0x74, - 0xfe, 0x73, 0xf7, 0x7a, 0xf0, 0x7d, 0xad, 0x20, 0xaa, 0x27, - 0xa3, 0x2e, 0xa4, 0x29, 0xb1, 0x3c, 0xb6, 0x3b, 0xbf, 0x32, - 0xb8, 0x35, 0x95, 0x18, 0x92, 0x1f, 0x9b, 0x16, 0x9c, 0x11, - 0x89, 0x04, 0x8e, 0x03, 0x87, 0x0a, 0x80, 0x0d, 0x3d, 0xb0, - 0x3a, 0xb7, 0x33, 0xbe, 0x34, 0xb9, 0x21, 0xac, 0x26, 0xab, - 0x2f, 0xa2, 0x28, 0xa5, 0x05, 0x88, 0x02, 0x8f, 0x0b, 0x86, - 0x0c, 0x81, 0x19, 0x94, 0x1e, 0x93, 0x17, 0x9a, 0x10, 0x9d, - 0x4d, 0xc0, 0x4a, 0xc7, 0x43, 0xce, 0x44, 0xc9, 0x51, 0xdc, - 0x56, 0xdb, 0x5f, 0xd2, 0x58, 0xd5, 0x75, 0xf8, 0x72, 0xff, - 0x7b, 0xf6, 0x7c, 0xf1, 0x69, 0xe4, 0x6e, 0xe3, 0x67, 0xea, - 0x60, 0xed, 0x00, 0x8e, 0x01, 0x8f, 0x02, 0x8c, 0x03, 0x8d, - 0x04, 0x8a, 0x05, 0x8b, 0x06, 0x88, 0x07, 0x89, 0x08, 0x86, - 0x09, 0x87, 0x0a, 0x84, 0x0b, 0x85, 0x0c, 0x82, 0x0d, 0x83, - 0x0e, 0x80, 0x0f, 0x81, 0x10, 0x9e, 0x11, 0x9f, 0x12, 0x9c, - 0x13, 0x9d, 0x14, 0x9a, 0x15, 0x9b, 0x16, 0x98, 0x17, 0x99, - 0x18, 0x96, 0x19, 0x97, 0x1a, 0x94, 0x1b, 0x95, 0x1c, 0x92, - 0x1d, 0x93, 0x1e, 0x90, 0x1f, 0x91, 0x20, 0xae, 0x21, 0xaf, - 0x22, 0xac, 0x23, 0xad, 0x24, 0xaa, 0x25, 0xab, 0x26, 0xa8, - 0x27, 0xa9, 0x28, 0xa6, 0x29, 0xa7, 0x2a, 0xa4, 0x2b, 0xa5, - 0x2c, 0xa2, 0x2d, 0xa3, 0x2e, 0xa0, 0x2f, 0xa1, 0x30, 0xbe, - 0x31, 0xbf, 0x32, 0xbc, 0x33, 0xbd, 0x34, 0xba, 0x35, 0xbb, - 0x36, 0xb8, 0x37, 0xb9, 0x38, 0xb6, 0x39, 0xb7, 0x3a, 0xb4, - 0x3b, 0xb5, 0x3c, 0xb2, 0x3d, 0xb3, 0x3e, 0xb0, 0x3f, 0xb1, - 0x40, 0xce, 0x41, 0xcf, 0x42, 0xcc, 0x43, 0xcd, 0x44, 0xca, - 0x45, 0xcb, 0x46, 0xc8, 0x47, 0xc9, 0x48, 0xc6, 0x49, 0xc7, - 0x4a, 0xc4, 0x4b, 0xc5, 0x4c, 0xc2, 0x4d, 0xc3, 0x4e, 0xc0, - 0x4f, 0xc1, 0x50, 0xde, 0x51, 0xdf, 0x52, 0xdc, 0x53, 0xdd, - 0x54, 0xda, 0x55, 0xdb, 0x56, 0xd8, 0x57, 0xd9, 0x58, 0xd6, - 0x59, 0xd7, 0x5a, 0xd4, 0x5b, 0xd5, 0x5c, 0xd2, 0x5d, 0xd3, - 0x5e, 0xd0, 0x5f, 0xd1, 0x60, 0xee, 0x61, 0xef, 0x62, 0xec, - 0x63, 0xed, 0x64, 0xea, 0x65, 0xeb, 0x66, 0xe8, 0x67, 0xe9, - 0x68, 0xe6, 0x69, 0xe7, 0x6a, 0xe4, 0x6b, 0xe5, 0x6c, 0xe2, - 0x6d, 0xe3, 0x6e, 0xe0, 0x6f, 0xe1, 0x70, 0xfe, 0x71, 0xff, - 0x72, 0xfc, 0x73, 0xfd, 0x74, 0xfa, 0x75, 0xfb, 0x76, 0xf8, - 0x77, 0xf9, 0x78, 0xf6, 0x79, 0xf7, 0x7a, 0xf4, 0x7b, 0xf5, - 0x7c, 0xf2, 0x7d, 0xf3, 0x7e, 0xf0, 0x7f, 0xf1, 0x00, 0x8f, - 0x03, 0x8c, 0x06, 0x89, 0x05, 0x8a, 0x0c, 0x83, 0x0f, 0x80, - 0x0a, 0x85, 0x09, 0x86, 0x18, 0x97, 0x1b, 0x94, 0x1e, 0x91, - 0x1d, 0x92, 0x14, 0x9b, 0x17, 0x98, 0x12, 0x9d, 0x11, 0x9e, - 0x30, 0xbf, 0x33, 0xbc, 0x36, 0xb9, 0x35, 0xba, 0x3c, 0xb3, - 0x3f, 0xb0, 0x3a, 0xb5, 0x39, 0xb6, 0x28, 0xa7, 0x2b, 0xa4, - 0x2e, 0xa1, 0x2d, 0xa2, 0x24, 0xab, 0x27, 0xa8, 0x22, 0xad, - 0x21, 0xae, 0x60, 0xef, 0x63, 0xec, 0x66, 0xe9, 0x65, 0xea, - 0x6c, 0xe3, 0x6f, 0xe0, 0x6a, 0xe5, 0x69, 0xe6, 0x78, 0xf7, - 0x7b, 0xf4, 0x7e, 0xf1, 0x7d, 0xf2, 0x74, 0xfb, 0x77, 0xf8, - 0x72, 0xfd, 0x71, 0xfe, 0x50, 0xdf, 0x53, 0xdc, 0x56, 0xd9, - 0x55, 0xda, 0x5c, 0xd3, 0x5f, 0xd0, 0x5a, 0xd5, 0x59, 0xd6, - 0x48, 0xc7, 0x4b, 0xc4, 0x4e, 0xc1, 0x4d, 0xc2, 0x44, 0xcb, - 0x47, 0xc8, 0x42, 0xcd, 0x41, 0xce, 0xc0, 0x4f, 0xc3, 0x4c, - 0xc6, 0x49, 0xc5, 0x4a, 0xcc, 0x43, 0xcf, 0x40, 0xca, 0x45, - 0xc9, 0x46, 0xd8, 0x57, 0xdb, 0x54, 0xde, 0x51, 0xdd, 0x52, - 0xd4, 0x5b, 0xd7, 0x58, 0xd2, 0x5d, 0xd1, 0x5e, 0xf0, 0x7f, - 0xf3, 0x7c, 0xf6, 0x79, 0xf5, 0x7a, 0xfc, 0x73, 0xff, 0x70, - 0xfa, 0x75, 0xf9, 0x76, 0xe8, 0x67, 0xeb, 0x64, 0xee, 0x61, - 0xed, 0x62, 0xe4, 0x6b, 0xe7, 0x68, 0xe2, 0x6d, 0xe1, 0x6e, - 0xa0, 0x2f, 0xa3, 0x2c, 0xa6, 0x29, 0xa5, 0x2a, 0xac, 0x23, - 0xaf, 0x20, 0xaa, 0x25, 0xa9, 0x26, 0xb8, 0x37, 0xbb, 0x34, - 0xbe, 0x31, 0xbd, 0x32, 0xb4, 0x3b, 0xb7, 0x38, 0xb2, 0x3d, - 0xb1, 0x3e, 0x90, 0x1f, 0x93, 0x1c, 0x96, 0x19, 0x95, 0x1a, - 0x9c, 0x13, 0x9f, 0x10, 0x9a, 0x15, 0x99, 0x16, 0x88, 0x07, - 0x8b, 0x04, 0x8e, 0x01, 0x8d, 0x02, 0x84, 0x0b, 0x87, 0x08, - 0x82, 0x0d, 0x81, 0x0e, 0x00, 0x90, 0x3d, 0xad, 0x7a, 0xea, - 0x47, 0xd7, 0xf4, 0x64, 0xc9, 0x59, 0x8e, 0x1e, 0xb3, 0x23, - 0xf5, 0x65, 0xc8, 0x58, 0x8f, 0x1f, 0xb2, 0x22, 0x01, 0x91, - 0x3c, 0xac, 0x7b, 0xeb, 0x46, 0xd6, 0xf7, 0x67, 0xca, 0x5a, - 0x8d, 0x1d, 0xb0, 0x20, 0x03, 0x93, 0x3e, 0xae, 0x79, 0xe9, - 0x44, 0xd4, 0x02, 0x92, 0x3f, 0xaf, 0x78, 0xe8, 0x45, 0xd5, - 0xf6, 0x66, 0xcb, 0x5b, 0x8c, 0x1c, 0xb1, 0x21, 0xf3, 0x63, - 0xce, 0x5e, 0x89, 0x19, 0xb4, 0x24, 0x07, 0x97, 0x3a, 0xaa, - 0x7d, 0xed, 0x40, 0xd0, 0x06, 0x96, 0x3b, 0xab, 0x7c, 0xec, - 0x41, 0xd1, 0xf2, 0x62, 0xcf, 0x5f, 0x88, 0x18, 0xb5, 0x25, - 0x04, 0x94, 0x39, 0xa9, 0x7e, 0xee, 0x43, 0xd3, 0xf0, 0x60, - 0xcd, 0x5d, 0x8a, 0x1a, 0xb7, 0x27, 0xf1, 0x61, 0xcc, 0x5c, - 0x8b, 0x1b, 0xb6, 0x26, 0x05, 0x95, 0x38, 0xa8, 0x7f, 0xef, - 0x42, 0xd2, 0xfb, 0x6b, 0xc6, 0x56, 0x81, 0x11, 0xbc, 0x2c, - 0x0f, 0x9f, 0x32, 0xa2, 0x75, 0xe5, 0x48, 0xd8, 0x0e, 0x9e, - 0x33, 0xa3, 0x74, 0xe4, 0x49, 0xd9, 0xfa, 0x6a, 0xc7, 0x57, - 0x80, 0x10, 0xbd, 0x2d, 0x0c, 0x9c, 0x31, 0xa1, 0x76, 0xe6, - 0x4b, 0xdb, 0xf8, 0x68, 0xc5, 0x55, 0x82, 0x12, 0xbf, 0x2f, - 0xf9, 0x69, 0xc4, 0x54, 0x83, 0x13, 0xbe, 0x2e, 0x0d, 0x9d, - 0x30, 0xa0, 0x77, 0xe7, 0x4a, 0xda, 0x08, 0x98, 0x35, 0xa5, - 0x72, 0xe2, 0x4f, 0xdf, 0xfc, 0x6c, 0xc1, 0x51, 0x86, 0x16, - 0xbb, 0x2b, 0xfd, 0x6d, 0xc0, 0x50, 0x87, 0x17, 0xba, 0x2a, - 0x09, 0x99, 0x34, 0xa4, 0x73, 0xe3, 0x4e, 0xde, 0xff, 0x6f, - 0xc2, 0x52, 0x85, 0x15, 0xb8, 0x28, 0x0b, 0x9b, 0x36, 0xa6, - 0x71, 0xe1, 0x4c, 0xdc, 0x0a, 0x9a, 0x37, 0xa7, 0x70, 0xe0, - 0x4d, 0xdd, 0xfe, 0x6e, 0xc3, 0x53, 0x84, 0x14, 0xb9, 0x29, - 0x00, 0x91, 0x3f, 0xae, 0x7e, 0xef, 0x41, 0xd0, 0xfc, 0x6d, - 0xc3, 0x52, 0x82, 0x13, 0xbd, 0x2c, 0xe5, 0x74, 0xda, 0x4b, - 0x9b, 0x0a, 0xa4, 0x35, 0x19, 0x88, 0x26, 0xb7, 0x67, 0xf6, - 0x58, 0xc9, 0xd7, 0x46, 0xe8, 0x79, 0xa9, 0x38, 0x96, 0x07, - 0x2b, 0xba, 0x14, 0x85, 0x55, 0xc4, 0x6a, 0xfb, 0x32, 0xa3, - 0x0d, 0x9c, 0x4c, 0xdd, 0x73, 0xe2, 0xce, 0x5f, 0xf1, 0x60, - 0xb0, 0x21, 0x8f, 0x1e, 0xb3, 0x22, 0x8c, 0x1d, 0xcd, 0x5c, - 0xf2, 0x63, 0x4f, 0xde, 0x70, 0xe1, 0x31, 0xa0, 0x0e, 0x9f, - 0x56, 0xc7, 0x69, 0xf8, 0x28, 0xb9, 0x17, 0x86, 0xaa, 0x3b, - 0x95, 0x04, 0xd4, 0x45, 0xeb, 0x7a, 0x64, 0xf5, 0x5b, 0xca, - 0x1a, 0x8b, 0x25, 0xb4, 0x98, 0x09, 0xa7, 0x36, 0xe6, 0x77, - 0xd9, 0x48, 0x81, 0x10, 0xbe, 0x2f, 0xff, 0x6e, 0xc0, 0x51, - 0x7d, 0xec, 0x42, 0xd3, 0x03, 0x92, 0x3c, 0xad, 0x7b, 0xea, - 0x44, 0xd5, 0x05, 0x94, 0x3a, 0xab, 0x87, 0x16, 0xb8, 0x29, - 0xf9, 0x68, 0xc6, 0x57, 0x9e, 0x0f, 0xa1, 0x30, 0xe0, 0x71, - 0xdf, 0x4e, 0x62, 0xf3, 0x5d, 0xcc, 0x1c, 0x8d, 0x23, 0xb2, - 0xac, 0x3d, 0x93, 0x02, 0xd2, 0x43, 0xed, 0x7c, 0x50, 0xc1, - 0x6f, 0xfe, 0x2e, 0xbf, 0x11, 0x80, 0x49, 0xd8, 0x76, 0xe7, - 0x37, 0xa6, 0x08, 0x99, 0xb5, 0x24, 0x8a, 0x1b, 0xcb, 0x5a, - 0xf4, 0x65, 0xc8, 0x59, 0xf7, 0x66, 0xb6, 0x27, 0x89, 0x18, - 0x34, 0xa5, 0x0b, 0x9a, 0x4a, 0xdb, 0x75, 0xe4, 0x2d, 0xbc, - 0x12, 0x83, 0x53, 0xc2, 0x6c, 0xfd, 0xd1, 0x40, 0xee, 0x7f, - 0xaf, 0x3e, 0x90, 0x01, 0x1f, 0x8e, 0x20, 0xb1, 0x61, 0xf0, - 0x5e, 0xcf, 0xe3, 0x72, 0xdc, 0x4d, 0x9d, 0x0c, 0xa2, 0x33, - 0xfa, 0x6b, 0xc5, 0x54, 0x84, 0x15, 0xbb, 0x2a, 0x06, 0x97, - 0x39, 0xa8, 0x78, 0xe9, 0x47, 0xd6, 0x00, 0x92, 0x39, 0xab, - 0x72, 0xe0, 0x4b, 0xd9, 0xe4, 0x76, 0xdd, 0x4f, 0x96, 0x04, - 0xaf, 0x3d, 0xd5, 0x47, 0xec, 0x7e, 0xa7, 0x35, 0x9e, 0x0c, - 0x31, 0xa3, 0x08, 0x9a, 0x43, 0xd1, 0x7a, 0xe8, 0xb7, 0x25, - 0x8e, 0x1c, 0xc5, 0x57, 0xfc, 0x6e, 0x53, 0xc1, 0x6a, 0xf8, - 0x21, 0xb3, 0x18, 0x8a, 0x62, 0xf0, 0x5b, 0xc9, 0x10, 0x82, - 0x29, 0xbb, 0x86, 0x14, 0xbf, 0x2d, 0xf4, 0x66, 0xcd, 0x5f, - 0x73, 0xe1, 0x4a, 0xd8, 0x01, 0x93, 0x38, 0xaa, 0x97, 0x05, - 0xae, 0x3c, 0xe5, 0x77, 0xdc, 0x4e, 0xa6, 0x34, 0x9f, 0x0d, - 0xd4, 0x46, 0xed, 0x7f, 0x42, 0xd0, 0x7b, 0xe9, 0x30, 0xa2, - 0x09, 0x9b, 0xc4, 0x56, 0xfd, 0x6f, 0xb6, 0x24, 0x8f, 0x1d, - 0x20, 0xb2, 0x19, 0x8b, 0x52, 0xc0, 0x6b, 0xf9, 0x11, 0x83, - 0x28, 0xba, 0x63, 0xf1, 0x5a, 0xc8, 0xf5, 0x67, 0xcc, 0x5e, - 0x87, 0x15, 0xbe, 0x2c, 0xe6, 0x74, 0xdf, 0x4d, 0x94, 0x06, - 0xad, 0x3f, 0x02, 0x90, 0x3b, 0xa9, 0x70, 0xe2, 0x49, 0xdb, - 0x33, 0xa1, 0x0a, 0x98, 0x41, 0xd3, 0x78, 0xea, 0xd7, 0x45, - 0xee, 0x7c, 0xa5, 0x37, 0x9c, 0x0e, 0x51, 0xc3, 0x68, 0xfa, - 0x23, 0xb1, 0x1a, 0x88, 0xb5, 0x27, 0x8c, 0x1e, 0xc7, 0x55, - 0xfe, 0x6c, 0x84, 0x16, 0xbd, 0x2f, 0xf6, 0x64, 0xcf, 0x5d, - 0x60, 0xf2, 0x59, 0xcb, 0x12, 0x80, 0x2b, 0xb9, 0x95, 0x07, - 0xac, 0x3e, 0xe7, 0x75, 0xde, 0x4c, 0x71, 0xe3, 0x48, 0xda, - 0x03, 0x91, 0x3a, 0xa8, 0x40, 0xd2, 0x79, 0xeb, 0x32, 0xa0, - 0x0b, 0x99, 0xa4, 0x36, 0x9d, 0x0f, 0xd6, 0x44, 0xef, 0x7d, - 0x22, 0xb0, 0x1b, 0x89, 0x50, 0xc2, 0x69, 0xfb, 0xc6, 0x54, - 0xff, 0x6d, 0xb4, 0x26, 0x8d, 0x1f, 0xf7, 0x65, 0xce, 0x5c, - 0x85, 0x17, 0xbc, 0x2e, 0x13, 0x81, 0x2a, 0xb8, 0x61, 0xf3, - 0x58, 0xca, 0x00, 0x93, 0x3b, 0xa8, 0x76, 0xe5, 0x4d, 0xde, - 0xec, 0x7f, 0xd7, 0x44, 0x9a, 0x09, 0xa1, 0x32, 0xc5, 0x56, - 0xfe, 0x6d, 0xb3, 0x20, 0x88, 0x1b, 0x29, 0xba, 0x12, 0x81, - 0x5f, 0xcc, 0x64, 0xf7, 0x97, 0x04, 0xac, 0x3f, 0xe1, 0x72, - 0xda, 0x49, 0x7b, 0xe8, 0x40, 0xd3, 0x0d, 0x9e, 0x36, 0xa5, - 0x52, 0xc1, 0x69, 0xfa, 0x24, 0xb7, 0x1f, 0x8c, 0xbe, 0x2d, - 0x85, 0x16, 0xc8, 0x5b, 0xf3, 0x60, 0x33, 0xa0, 0x08, 0x9b, - 0x45, 0xd6, 0x7e, 0xed, 0xdf, 0x4c, 0xe4, 0x77, 0xa9, 0x3a, - 0x92, 0x01, 0xf6, 0x65, 0xcd, 0x5e, 0x80, 0x13, 0xbb, 0x28, - 0x1a, 0x89, 0x21, 0xb2, 0x6c, 0xff, 0x57, 0xc4, 0xa4, 0x37, - 0x9f, 0x0c, 0xd2, 0x41, 0xe9, 0x7a, 0x48, 0xdb, 0x73, 0xe0, - 0x3e, 0xad, 0x05, 0x96, 0x61, 0xf2, 0x5a, 0xc9, 0x17, 0x84, - 0x2c, 0xbf, 0x8d, 0x1e, 0xb6, 0x25, 0xfb, 0x68, 0xc0, 0x53, - 0x66, 0xf5, 0x5d, 0xce, 0x10, 0x83, 0x2b, 0xb8, 0x8a, 0x19, - 0xb1, 0x22, 0xfc, 0x6f, 0xc7, 0x54, 0xa3, 0x30, 0x98, 0x0b, - 0xd5, 0x46, 0xee, 0x7d, 0x4f, 0xdc, 0x74, 0xe7, 0x39, 0xaa, - 0x02, 0x91, 0xf1, 0x62, 0xca, 0x59, 0x87, 0x14, 0xbc, 0x2f, - 0x1d, 0x8e, 0x26, 0xb5, 0x6b, 0xf8, 0x50, 0xc3, 0x34, 0xa7, - 0x0f, 0x9c, 0x42, 0xd1, 0x79, 0xea, 0xd8, 0x4b, 0xe3, 0x70, - 0xae, 0x3d, 0x95, 0x06, 0x55, 0xc6, 0x6e, 0xfd, 0x23, 0xb0, - 0x18, 0x8b, 0xb9, 0x2a, 0x82, 0x11, 0xcf, 0x5c, 0xf4, 0x67, - 0x90, 0x03, 0xab, 0x38, 0xe6, 0x75, 0xdd, 0x4e, 0x7c, 0xef, - 0x47, 0xd4, 0x0a, 0x99, 0x31, 0xa2, 0xc2, 0x51, 0xf9, 0x6a, - 0xb4, 0x27, 0x8f, 0x1c, 0x2e, 0xbd, 0x15, 0x86, 0x58, 0xcb, - 0x63, 0xf0, 0x07, 0x94, 0x3c, 0xaf, 0x71, 0xe2, 0x4a, 0xd9, - 0xeb, 0x78, 0xd0, 0x43, 0x9d, 0x0e, 0xa6, 0x35, 0x00, 0x94, - 0x35, 0xa1, 0x6a, 0xfe, 0x5f, 0xcb, 0xd4, 0x40, 0xe1, 0x75, - 0xbe, 0x2a, 0x8b, 0x1f, 0xb5, 0x21, 0x80, 0x14, 0xdf, 0x4b, - 0xea, 0x7e, 0x61, 0xf5, 0x54, 0xc0, 0x0b, 0x9f, 0x3e, 0xaa, - 0x77, 0xe3, 0x42, 0xd6, 0x1d, 0x89, 0x28, 0xbc, 0xa3, 0x37, - 0x96, 0x02, 0xc9, 0x5d, 0xfc, 0x68, 0xc2, 0x56, 0xf7, 0x63, - 0xa8, 0x3c, 0x9d, 0x09, 0x16, 0x82, 0x23, 0xb7, 0x7c, 0xe8, - 0x49, 0xdd, 0xee, 0x7a, 0xdb, 0x4f, 0x84, 0x10, 0xb1, 0x25, - 0x3a, 0xae, 0x0f, 0x9b, 0x50, 0xc4, 0x65, 0xf1, 0x5b, 0xcf, - 0x6e, 0xfa, 0x31, 0xa5, 0x04, 0x90, 0x8f, 0x1b, 0xba, 0x2e, - 0xe5, 0x71, 0xd0, 0x44, 0x99, 0x0d, 0xac, 0x38, 0xf3, 0x67, - 0xc6, 0x52, 0x4d, 0xd9, 0x78, 0xec, 0x27, 0xb3, 0x12, 0x86, - 0x2c, 0xb8, 0x19, 0x8d, 0x46, 0xd2, 0x73, 0xe7, 0xf8, 0x6c, - 0xcd, 0x59, 0x92, 0x06, 0xa7, 0x33, 0xc1, 0x55, 0xf4, 0x60, - 0xab, 0x3f, 0x9e, 0x0a, 0x15, 0x81, 0x20, 0xb4, 0x7f, 0xeb, - 0x4a, 0xde, 0x74, 0xe0, 0x41, 0xd5, 0x1e, 0x8a, 0x2b, 0xbf, - 0xa0, 0x34, 0x95, 0x01, 0xca, 0x5e, 0xff, 0x6b, 0xb6, 0x22, - 0x83, 0x17, 0xdc, 0x48, 0xe9, 0x7d, 0x62, 0xf6, 0x57, 0xc3, - 0x08, 0x9c, 0x3d, 0xa9, 0x03, 0x97, 0x36, 0xa2, 0x69, 0xfd, - 0x5c, 0xc8, 0xd7, 0x43, 0xe2, 0x76, 0xbd, 0x29, 0x88, 0x1c, - 0x2f, 0xbb, 0x1a, 0x8e, 0x45, 0xd1, 0x70, 0xe4, 0xfb, 0x6f, - 0xce, 0x5a, 0x91, 0x05, 0xa4, 0x30, 0x9a, 0x0e, 0xaf, 0x3b, - 0xf0, 0x64, 0xc5, 0x51, 0x4e, 0xda, 0x7b, 0xef, 0x24, 0xb0, - 0x11, 0x85, 0x58, 0xcc, 0x6d, 0xf9, 0x32, 0xa6, 0x07, 0x93, - 0x8c, 0x18, 0xb9, 0x2d, 0xe6, 0x72, 0xd3, 0x47, 0xed, 0x79, - 0xd8, 0x4c, 0x87, 0x13, 0xb2, 0x26, 0x39, 0xad, 0x0c, 0x98, - 0x53, 0xc7, 0x66, 0xf2, 0x00, 0x95, 0x37, 0xa2, 0x6e, 0xfb, - 0x59, 0xcc, 0xdc, 0x49, 0xeb, 0x7e, 0xb2, 0x27, 0x85, 0x10, - 0xa5, 0x30, 0x92, 0x07, 0xcb, 0x5e, 0xfc, 0x69, 0x79, 0xec, - 0x4e, 0xdb, 0x17, 0x82, 0x20, 0xb5, 0x57, 0xc2, 0x60, 0xf5, - 0x39, 0xac, 0x0e, 0x9b, 0x8b, 0x1e, 0xbc, 0x29, 0xe5, 0x70, - 0xd2, 0x47, 0xf2, 0x67, 0xc5, 0x50, 0x9c, 0x09, 0xab, 0x3e, - 0x2e, 0xbb, 0x19, 0x8c, 0x40, 0xd5, 0x77, 0xe2, 0xae, 0x3b, - 0x99, 0x0c, 0xc0, 0x55, 0xf7, 0x62, 0x72, 0xe7, 0x45, 0xd0, - 0x1c, 0x89, 0x2b, 0xbe, 0x0b, 0x9e, 0x3c, 0xa9, 0x65, 0xf0, - 0x52, 0xc7, 0xd7, 0x42, 0xe0, 0x75, 0xb9, 0x2c, 0x8e, 0x1b, - 0xf9, 0x6c, 0xce, 0x5b, 0x97, 0x02, 0xa0, 0x35, 0x25, 0xb0, - 0x12, 0x87, 0x4b, 0xde, 0x7c, 0xe9, 0x5c, 0xc9, 0x6b, 0xfe, - 0x32, 0xa7, 0x05, 0x90, 0x80, 0x15, 0xb7, 0x22, 0xee, 0x7b, - 0xd9, 0x4c, 0x41, 0xd4, 0x76, 0xe3, 0x2f, 0xba, 0x18, 0x8d, - 0x9d, 0x08, 0xaa, 0x3f, 0xf3, 0x66, 0xc4, 0x51, 0xe4, 0x71, - 0xd3, 0x46, 0x8a, 0x1f, 0xbd, 0x28, 0x38, 0xad, 0x0f, 0x9a, - 0x56, 0xc3, 0x61, 0xf4, 0x16, 0x83, 0x21, 0xb4, 0x78, 0xed, - 0x4f, 0xda, 0xca, 0x5f, 0xfd, 0x68, 0xa4, 0x31, 0x93, 0x06, - 0xb3, 0x26, 0x84, 0x11, 0xdd, 0x48, 0xea, 0x7f, 0x6f, 0xfa, - 0x58, 0xcd, 0x01, 0x94, 0x36, 0xa3, 0xef, 0x7a, 0xd8, 0x4d, - 0x81, 0x14, 0xb6, 0x23, 0x33, 0xa6, 0x04, 0x91, 0x5d, 0xc8, - 0x6a, 0xff, 0x4a, 0xdf, 0x7d, 0xe8, 0x24, 0xb1, 0x13, 0x86, - 0x96, 0x03, 0xa1, 0x34, 0xf8, 0x6d, 0xcf, 0x5a, 0xb8, 0x2d, - 0x8f, 0x1a, 0xd6, 0x43, 0xe1, 0x74, 0x64, 0xf1, 0x53, 0xc6, - 0x0a, 0x9f, 0x3d, 0xa8, 0x1d, 0x88, 0x2a, 0xbf, 0x73, 0xe6, - 0x44, 0xd1, 0xc1, 0x54, 0xf6, 0x63, 0xaf, 0x3a, 0x98, 0x0d, - 0x00, 0x96, 0x31, 0xa7, 0x62, 0xf4, 0x53, 0xc5, 0xc4, 0x52, - 0xf5, 0x63, 0xa6, 0x30, 0x97, 0x01, 0x95, 0x03, 0xa4, 0x32, - 0xf7, 0x61, 0xc6, 0x50, 0x51, 0xc7, 0x60, 0xf6, 0x33, 0xa5, - 0x02, 0x94, 0x37, 0xa1, 0x06, 0x90, 0x55, 0xc3, 0x64, 0xf2, - 0xf3, 0x65, 0xc2, 0x54, 0x91, 0x07, 0xa0, 0x36, 0xa2, 0x34, - 0x93, 0x05, 0xc0, 0x56, 0xf1, 0x67, 0x66, 0xf0, 0x57, 0xc1, - 0x04, 0x92, 0x35, 0xa3, 0x6e, 0xf8, 0x5f, 0xc9, 0x0c, 0x9a, - 0x3d, 0xab, 0xaa, 0x3c, 0x9b, 0x0d, 0xc8, 0x5e, 0xf9, 0x6f, - 0xfb, 0x6d, 0xca, 0x5c, 0x99, 0x0f, 0xa8, 0x3e, 0x3f, 0xa9, - 0x0e, 0x98, 0x5d, 0xcb, 0x6c, 0xfa, 0x59, 0xcf, 0x68, 0xfe, - 0x3b, 0xad, 0x0a, 0x9c, 0x9d, 0x0b, 0xac, 0x3a, 0xff, 0x69, - 0xce, 0x58, 0xcc, 0x5a, 0xfd, 0x6b, 0xae, 0x38, 0x9f, 0x09, - 0x08, 0x9e, 0x39, 0xaf, 0x6a, 0xfc, 0x5b, 0xcd, 0xdc, 0x4a, - 0xed, 0x7b, 0xbe, 0x28, 0x8f, 0x19, 0x18, 0x8e, 0x29, 0xbf, - 0x7a, 0xec, 0x4b, 0xdd, 0x49, 0xdf, 0x78, 0xee, 0x2b, 0xbd, - 0x1a, 0x8c, 0x8d, 0x1b, 0xbc, 0x2a, 0xef, 0x79, 0xde, 0x48, - 0xeb, 0x7d, 0xda, 0x4c, 0x89, 0x1f, 0xb8, 0x2e, 0x2f, 0xb9, - 0x1e, 0x88, 0x4d, 0xdb, 0x7c, 0xea, 0x7e, 0xe8, 0x4f, 0xd9, - 0x1c, 0x8a, 0x2d, 0xbb, 0xba, 0x2c, 0x8b, 0x1d, 0xd8, 0x4e, - 0xe9, 0x7f, 0xb2, 0x24, 0x83, 0x15, 0xd0, 0x46, 0xe1, 0x77, - 0x76, 0xe0, 0x47, 0xd1, 0x14, 0x82, 0x25, 0xb3, 0x27, 0xb1, - 0x16, 0x80, 0x45, 0xd3, 0x74, 0xe2, 0xe3, 0x75, 0xd2, 0x44, - 0x81, 0x17, 0xb0, 0x26, 0x85, 0x13, 0xb4, 0x22, 0xe7, 0x71, - 0xd6, 0x40, 0x41, 0xd7, 0x70, 0xe6, 0x23, 0xb5, 0x12, 0x84, - 0x10, 0x86, 0x21, 0xb7, 0x72, 0xe4, 0x43, 0xd5, 0xd4, 0x42, - 0xe5, 0x73, 0xb6, 0x20, 0x87, 0x11, 0x00, 0x97, 0x33, 0xa4, - 0x66, 0xf1, 0x55, 0xc2, 0xcc, 0x5b, 0xff, 0x68, 0xaa, 0x3d, - 0x99, 0x0e, 0x85, 0x12, 0xb6, 0x21, 0xe3, 0x74, 0xd0, 0x47, - 0x49, 0xde, 0x7a, 0xed, 0x2f, 0xb8, 0x1c, 0x8b, 0x17, 0x80, - 0x24, 0xb3, 0x71, 0xe6, 0x42, 0xd5, 0xdb, 0x4c, 0xe8, 0x7f, - 0xbd, 0x2a, 0x8e, 0x19, 0x92, 0x05, 0xa1, 0x36, 0xf4, 0x63, - 0xc7, 0x50, 0x5e, 0xc9, 0x6d, 0xfa, 0x38, 0xaf, 0x0b, 0x9c, - 0x2e, 0xb9, 0x1d, 0x8a, 0x48, 0xdf, 0x7b, 0xec, 0xe2, 0x75, - 0xd1, 0x46, 0x84, 0x13, 0xb7, 0x20, 0xab, 0x3c, 0x98, 0x0f, - 0xcd, 0x5a, 0xfe, 0x69, 0x67, 0xf0, 0x54, 0xc3, 0x01, 0x96, - 0x32, 0xa5, 0x39, 0xae, 0x0a, 0x9d, 0x5f, 0xc8, 0x6c, 0xfb, - 0xf5, 0x62, 0xc6, 0x51, 0x93, 0x04, 0xa0, 0x37, 0xbc, 0x2b, - 0x8f, 0x18, 0xda, 0x4d, 0xe9, 0x7e, 0x70, 0xe7, 0x43, 0xd4, - 0x16, 0x81, 0x25, 0xb2, 0x5c, 0xcb, 0x6f, 0xf8, 0x3a, 0xad, - 0x09, 0x9e, 0x90, 0x07, 0xa3, 0x34, 0xf6, 0x61, 0xc5, 0x52, - 0xd9, 0x4e, 0xea, 0x7d, 0xbf, 0x28, 0x8c, 0x1b, 0x15, 0x82, - 0x26, 0xb1, 0x73, 0xe4, 0x40, 0xd7, 0x4b, 0xdc, 0x78, 0xef, - 0x2d, 0xba, 0x1e, 0x89, 0x87, 0x10, 0xb4, 0x23, 0xe1, 0x76, - 0xd2, 0x45, 0xce, 0x59, 0xfd, 0x6a, 0xa8, 0x3f, 0x9b, 0x0c, - 0x02, 0x95, 0x31, 0xa6, 0x64, 0xf3, 0x57, 0xc0, 0x72, 0xe5, - 0x41, 0xd6, 0x14, 0x83, 0x27, 0xb0, 0xbe, 0x29, 0x8d, 0x1a, - 0xd8, 0x4f, 0xeb, 0x7c, 0xf7, 0x60, 0xc4, 0x53, 0x91, 0x06, - 0xa2, 0x35, 0x3b, 0xac, 0x08, 0x9f, 0x5d, 0xca, 0x6e, 0xf9, - 0x65, 0xf2, 0x56, 0xc1, 0x03, 0x94, 0x30, 0xa7, 0xa9, 0x3e, - 0x9a, 0x0d, 0xcf, 0x58, 0xfc, 0x6b, 0xe0, 0x77, 0xd3, 0x44, - 0x86, 0x11, 0xb5, 0x22, 0x2c, 0xbb, 0x1f, 0x88, 0x4a, 0xdd, - 0x79, 0xee, 0x00, 0x98, 0x2d, 0xb5, 0x5a, 0xc2, 0x77, 0xef, - 0xb4, 0x2c, 0x99, 0x01, 0xee, 0x76, 0xc3, 0x5b, 0x75, 0xed, - 0x58, 0xc0, 0x2f, 0xb7, 0x02, 0x9a, 0xc1, 0x59, 0xec, 0x74, - 0x9b, 0x03, 0xb6, 0x2e, 0xea, 0x72, 0xc7, 0x5f, 0xb0, 0x28, - 0x9d, 0x05, 0x5e, 0xc6, 0x73, 0xeb, 0x04, 0x9c, 0x29, 0xb1, - 0x9f, 0x07, 0xb2, 0x2a, 0xc5, 0x5d, 0xe8, 0x70, 0x2b, 0xb3, - 0x06, 0x9e, 0x71, 0xe9, 0x5c, 0xc4, 0xc9, 0x51, 0xe4, 0x7c, - 0x93, 0x0b, 0xbe, 0x26, 0x7d, 0xe5, 0x50, 0xc8, 0x27, 0xbf, - 0x0a, 0x92, 0xbc, 0x24, 0x91, 0x09, 0xe6, 0x7e, 0xcb, 0x53, - 0x08, 0x90, 0x25, 0xbd, 0x52, 0xca, 0x7f, 0xe7, 0x23, 0xbb, - 0x0e, 0x96, 0x79, 0xe1, 0x54, 0xcc, 0x97, 0x0f, 0xba, 0x22, - 0xcd, 0x55, 0xe0, 0x78, 0x56, 0xce, 0x7b, 0xe3, 0x0c, 0x94, - 0x21, 0xb9, 0xe2, 0x7a, 0xcf, 0x57, 0xb8, 0x20, 0x95, 0x0d, - 0x8f, 0x17, 0xa2, 0x3a, 0xd5, 0x4d, 0xf8, 0x60, 0x3b, 0xa3, - 0x16, 0x8e, 0x61, 0xf9, 0x4c, 0xd4, 0xfa, 0x62, 0xd7, 0x4f, - 0xa0, 0x38, 0x8d, 0x15, 0x4e, 0xd6, 0x63, 0xfb, 0x14, 0x8c, - 0x39, 0xa1, 0x65, 0xfd, 0x48, 0xd0, 0x3f, 0xa7, 0x12, 0x8a, - 0xd1, 0x49, 0xfc, 0x64, 0x8b, 0x13, 0xa6, 0x3e, 0x10, 0x88, - 0x3d, 0xa5, 0x4a, 0xd2, 0x67, 0xff, 0xa4, 0x3c, 0x89, 0x11, - 0xfe, 0x66, 0xd3, 0x4b, 0x46, 0xde, 0x6b, 0xf3, 0x1c, 0x84, - 0x31, 0xa9, 0xf2, 0x6a, 0xdf, 0x47, 0xa8, 0x30, 0x85, 0x1d, - 0x33, 0xab, 0x1e, 0x86, 0x69, 0xf1, 0x44, 0xdc, 0x87, 0x1f, - 0xaa, 0x32, 0xdd, 0x45, 0xf0, 0x68, 0xac, 0x34, 0x81, 0x19, - 0xf6, 0x6e, 0xdb, 0x43, 0x18, 0x80, 0x35, 0xad, 0x42, 0xda, - 0x6f, 0xf7, 0xd9, 0x41, 0xf4, 0x6c, 0x83, 0x1b, 0xae, 0x36, - 0x6d, 0xf5, 0x40, 0xd8, 0x37, 0xaf, 0x1a, 0x82, 0x00, 0x99, - 0x2f, 0xb6, 0x5e, 0xc7, 0x71, 0xe8, 0xbc, 0x25, 0x93, 0x0a, - 0xe2, 0x7b, 0xcd, 0x54, 0x65, 0xfc, 0x4a, 0xd3, 0x3b, 0xa2, - 0x14, 0x8d, 0xd9, 0x40, 0xf6, 0x6f, 0x87, 0x1e, 0xa8, 0x31, - 0xca, 0x53, 0xe5, 0x7c, 0x94, 0x0d, 0xbb, 0x22, 0x76, 0xef, - 0x59, 0xc0, 0x28, 0xb1, 0x07, 0x9e, 0xaf, 0x36, 0x80, 0x19, - 0xf1, 0x68, 0xde, 0x47, 0x13, 0x8a, 0x3c, 0xa5, 0x4d, 0xd4, - 0x62, 0xfb, 0x89, 0x10, 0xa6, 0x3f, 0xd7, 0x4e, 0xf8, 0x61, - 0x35, 0xac, 0x1a, 0x83, 0x6b, 0xf2, 0x44, 0xdd, 0xec, 0x75, - 0xc3, 0x5a, 0xb2, 0x2b, 0x9d, 0x04, 0x50, 0xc9, 0x7f, 0xe6, - 0x0e, 0x97, 0x21, 0xb8, 0x43, 0xda, 0x6c, 0xf5, 0x1d, 0x84, - 0x32, 0xab, 0xff, 0x66, 0xd0, 0x49, 0xa1, 0x38, 0x8e, 0x17, - 0x26, 0xbf, 0x09, 0x90, 0x78, 0xe1, 0x57, 0xce, 0x9a, 0x03, - 0xb5, 0x2c, 0xc4, 0x5d, 0xeb, 0x72, 0x0f, 0x96, 0x20, 0xb9, - 0x51, 0xc8, 0x7e, 0xe7, 0xb3, 0x2a, 0x9c, 0x05, 0xed, 0x74, - 0xc2, 0x5b, 0x6a, 0xf3, 0x45, 0xdc, 0x34, 0xad, 0x1b, 0x82, - 0xd6, 0x4f, 0xf9, 0x60, 0x88, 0x11, 0xa7, 0x3e, 0xc5, 0x5c, - 0xea, 0x73, 0x9b, 0x02, 0xb4, 0x2d, 0x79, 0xe0, 0x56, 0xcf, - 0x27, 0xbe, 0x08, 0x91, 0xa0, 0x39, 0x8f, 0x16, 0xfe, 0x67, - 0xd1, 0x48, 0x1c, 0x85, 0x33, 0xaa, 0x42, 0xdb, 0x6d, 0xf4, - 0x86, 0x1f, 0xa9, 0x30, 0xd8, 0x41, 0xf7, 0x6e, 0x3a, 0xa3, - 0x15, 0x8c, 0x64, 0xfd, 0x4b, 0xd2, 0xe3, 0x7a, 0xcc, 0x55, - 0xbd, 0x24, 0x92, 0x0b, 0x5f, 0xc6, 0x70, 0xe9, 0x01, 0x98, - 0x2e, 0xb7, 0x4c, 0xd5, 0x63, 0xfa, 0x12, 0x8b, 0x3d, 0xa4, - 0xf0, 0x69, 0xdf, 0x46, 0xae, 0x37, 0x81, 0x18, 0x29, 0xb0, - 0x06, 0x9f, 0x77, 0xee, 0x58, 0xc1, 0x95, 0x0c, 0xba, 0x23, - 0xcb, 0x52, 0xe4, 0x7d, 0x00, 0x9a, 0x29, 0xb3, 0x52, 0xc8, - 0x7b, 0xe1, 0xa4, 0x3e, 0x8d, 0x17, 0xf6, 0x6c, 0xdf, 0x45, - 0x55, 0xcf, 0x7c, 0xe6, 0x07, 0x9d, 0x2e, 0xb4, 0xf1, 0x6b, - 0xd8, 0x42, 0xa3, 0x39, 0x8a, 0x10, 0xaa, 0x30, 0x83, 0x19, - 0xf8, 0x62, 0xd1, 0x4b, 0x0e, 0x94, 0x27, 0xbd, 0x5c, 0xc6, - 0x75, 0xef, 0xff, 0x65, 0xd6, 0x4c, 0xad, 0x37, 0x84, 0x1e, - 0x5b, 0xc1, 0x72, 0xe8, 0x09, 0x93, 0x20, 0xba, 0x49, 0xd3, - 0x60, 0xfa, 0x1b, 0x81, 0x32, 0xa8, 0xed, 0x77, 0xc4, 0x5e, - 0xbf, 0x25, 0x96, 0x0c, 0x1c, 0x86, 0x35, 0xaf, 0x4e, 0xd4, - 0x67, 0xfd, 0xb8, 0x22, 0x91, 0x0b, 0xea, 0x70, 0xc3, 0x59, - 0xe3, 0x79, 0xca, 0x50, 0xb1, 0x2b, 0x98, 0x02, 0x47, 0xdd, - 0x6e, 0xf4, 0x15, 0x8f, 0x3c, 0xa6, 0xb6, 0x2c, 0x9f, 0x05, - 0xe4, 0x7e, 0xcd, 0x57, 0x12, 0x88, 0x3b, 0xa1, 0x40, 0xda, - 0x69, 0xf3, 0x92, 0x08, 0xbb, 0x21, 0xc0, 0x5a, 0xe9, 0x73, - 0x36, 0xac, 0x1f, 0x85, 0x64, 0xfe, 0x4d, 0xd7, 0xc7, 0x5d, - 0xee, 0x74, 0x95, 0x0f, 0xbc, 0x26, 0x63, 0xf9, 0x4a, 0xd0, - 0x31, 0xab, 0x18, 0x82, 0x38, 0xa2, 0x11, 0x8b, 0x6a, 0xf0, - 0x43, 0xd9, 0x9c, 0x06, 0xb5, 0x2f, 0xce, 0x54, 0xe7, 0x7d, - 0x6d, 0xf7, 0x44, 0xde, 0x3f, 0xa5, 0x16, 0x8c, 0xc9, 0x53, - 0xe0, 0x7a, 0x9b, 0x01, 0xb2, 0x28, 0xdb, 0x41, 0xf2, 0x68, - 0x89, 0x13, 0xa0, 0x3a, 0x7f, 0xe5, 0x56, 0xcc, 0x2d, 0xb7, - 0x04, 0x9e, 0x8e, 0x14, 0xa7, 0x3d, 0xdc, 0x46, 0xf5, 0x6f, - 0x2a, 0xb0, 0x03, 0x99, 0x78, 0xe2, 0x51, 0xcb, 0x71, 0xeb, - 0x58, 0xc2, 0x23, 0xb9, 0x0a, 0x90, 0xd5, 0x4f, 0xfc, 0x66, - 0x87, 0x1d, 0xae, 0x34, 0x24, 0xbe, 0x0d, 0x97, 0x76, 0xec, - 0x5f, 0xc5, 0x80, 0x1a, 0xa9, 0x33, 0xd2, 0x48, 0xfb, 0x61, - 0x00, 0x9b, 0x2b, 0xb0, 0x56, 0xcd, 0x7d, 0xe6, 0xac, 0x37, - 0x87, 0x1c, 0xfa, 0x61, 0xd1, 0x4a, 0x45, 0xde, 0x6e, 0xf5, - 0x13, 0x88, 0x38, 0xa3, 0xe9, 0x72, 0xc2, 0x59, 0xbf, 0x24, - 0x94, 0x0f, 0x8a, 0x11, 0xa1, 0x3a, 0xdc, 0x47, 0xf7, 0x6c, - 0x26, 0xbd, 0x0d, 0x96, 0x70, 0xeb, 0x5b, 0xc0, 0xcf, 0x54, - 0xe4, 0x7f, 0x99, 0x02, 0xb2, 0x29, 0x63, 0xf8, 0x48, 0xd3, - 0x35, 0xae, 0x1e, 0x85, 0x09, 0x92, 0x22, 0xb9, 0x5f, 0xc4, - 0x74, 0xef, 0xa5, 0x3e, 0x8e, 0x15, 0xf3, 0x68, 0xd8, 0x43, - 0x4c, 0xd7, 0x67, 0xfc, 0x1a, 0x81, 0x31, 0xaa, 0xe0, 0x7b, - 0xcb, 0x50, 0xb6, 0x2d, 0x9d, 0x06, 0x83, 0x18, 0xa8, 0x33, - 0xd5, 0x4e, 0xfe, 0x65, 0x2f, 0xb4, 0x04, 0x9f, 0x79, 0xe2, - 0x52, 0xc9, 0xc6, 0x5d, 0xed, 0x76, 0x90, 0x0b, 0xbb, 0x20, - 0x6a, 0xf1, 0x41, 0xda, 0x3c, 0xa7, 0x17, 0x8c, 0x12, 0x89, - 0x39, 0xa2, 0x44, 0xdf, 0x6f, 0xf4, 0xbe, 0x25, 0x95, 0x0e, - 0xe8, 0x73, 0xc3, 0x58, 0x57, 0xcc, 0x7c, 0xe7, 0x01, 0x9a, - 0x2a, 0xb1, 0xfb, 0x60, 0xd0, 0x4b, 0xad, 0x36, 0x86, 0x1d, - 0x98, 0x03, 0xb3, 0x28, 0xce, 0x55, 0xe5, 0x7e, 0x34, 0xaf, - 0x1f, 0x84, 0x62, 0xf9, 0x49, 0xd2, 0xdd, 0x46, 0xf6, 0x6d, - 0x8b, 0x10, 0xa0, 0x3b, 0x71, 0xea, 0x5a, 0xc1, 0x27, 0xbc, - 0x0c, 0x97, 0x1b, 0x80, 0x30, 0xab, 0x4d, 0xd6, 0x66, 0xfd, - 0xb7, 0x2c, 0x9c, 0x07, 0xe1, 0x7a, 0xca, 0x51, 0x5e, 0xc5, - 0x75, 0xee, 0x08, 0x93, 0x23, 0xb8, 0xf2, 0x69, 0xd9, 0x42, - 0xa4, 0x3f, 0x8f, 0x14, 0x91, 0x0a, 0xba, 0x21, 0xc7, 0x5c, - 0xec, 0x77, 0x3d, 0xa6, 0x16, 0x8d, 0x6b, 0xf0, 0x40, 0xdb, - 0xd4, 0x4f, 0xff, 0x64, 0x82, 0x19, 0xa9, 0x32, 0x78, 0xe3, - 0x53, 0xc8, 0x2e, 0xb5, 0x05, 0x9e, 0x00, 0x9c, 0x25, 0xb9, - 0x4a, 0xd6, 0x6f, 0xf3, 0x94, 0x08, 0xb1, 0x2d, 0xde, 0x42, - 0xfb, 0x67, 0x35, 0xa9, 0x10, 0x8c, 0x7f, 0xe3, 0x5a, 0xc6, - 0xa1, 0x3d, 0x84, 0x18, 0xeb, 0x77, 0xce, 0x52, 0x6a, 0xf6, - 0x4f, 0xd3, 0x20, 0xbc, 0x05, 0x99, 0xfe, 0x62, 0xdb, 0x47, - 0xb4, 0x28, 0x91, 0x0d, 0x5f, 0xc3, 0x7a, 0xe6, 0x15, 0x89, - 0x30, 0xac, 0xcb, 0x57, 0xee, 0x72, 0x81, 0x1d, 0xa4, 0x38, - 0xd4, 0x48, 0xf1, 0x6d, 0x9e, 0x02, 0xbb, 0x27, 0x40, 0xdc, - 0x65, 0xf9, 0x0a, 0x96, 0x2f, 0xb3, 0xe1, 0x7d, 0xc4, 0x58, - 0xab, 0x37, 0x8e, 0x12, 0x75, 0xe9, 0x50, 0xcc, 0x3f, 0xa3, - 0x1a, 0x86, 0xbe, 0x22, 0x9b, 0x07, 0xf4, 0x68, 0xd1, 0x4d, - 0x2a, 0xb6, 0x0f, 0x93, 0x60, 0xfc, 0x45, 0xd9, 0x8b, 0x17, - 0xae, 0x32, 0xc1, 0x5d, 0xe4, 0x78, 0x1f, 0x83, 0x3a, 0xa6, - 0x55, 0xc9, 0x70, 0xec, 0xb5, 0x29, 0x90, 0x0c, 0xff, 0x63, - 0xda, 0x46, 0x21, 0xbd, 0x04, 0x98, 0x6b, 0xf7, 0x4e, 0xd2, - 0x80, 0x1c, 0xa5, 0x39, 0xca, 0x56, 0xef, 0x73, 0x14, 0x88, - 0x31, 0xad, 0x5e, 0xc2, 0x7b, 0xe7, 0xdf, 0x43, 0xfa, 0x66, - 0x95, 0x09, 0xb0, 0x2c, 0x4b, 0xd7, 0x6e, 0xf2, 0x01, 0x9d, - 0x24, 0xb8, 0xea, 0x76, 0xcf, 0x53, 0xa0, 0x3c, 0x85, 0x19, - 0x7e, 0xe2, 0x5b, 0xc7, 0x34, 0xa8, 0x11, 0x8d, 0x61, 0xfd, - 0x44, 0xd8, 0x2b, 0xb7, 0x0e, 0x92, 0xf5, 0x69, 0xd0, 0x4c, - 0xbf, 0x23, 0x9a, 0x06, 0x54, 0xc8, 0x71, 0xed, 0x1e, 0x82, - 0x3b, 0xa7, 0xc0, 0x5c, 0xe5, 0x79, 0x8a, 0x16, 0xaf, 0x33, - 0x0b, 0x97, 0x2e, 0xb2, 0x41, 0xdd, 0x64, 0xf8, 0x9f, 0x03, - 0xba, 0x26, 0xd5, 0x49, 0xf0, 0x6c, 0x3e, 0xa2, 0x1b, 0x87, - 0x74, 0xe8, 0x51, 0xcd, 0xaa, 0x36, 0x8f, 0x13, 0xe0, 0x7c, - 0xc5, 0x59, 0x00, 0x9d, 0x27, 0xba, 0x4e, 0xd3, 0x69, 0xf4, - 0x9c, 0x01, 0xbb, 0x26, 0xd2, 0x4f, 0xf5, 0x68, 0x25, 0xb8, - 0x02, 0x9f, 0x6b, 0xf6, 0x4c, 0xd1, 0xb9, 0x24, 0x9e, 0x03, - 0xf7, 0x6a, 0xd0, 0x4d, 0x4a, 0xd7, 0x6d, 0xf0, 0x04, 0x99, - 0x23, 0xbe, 0xd6, 0x4b, 0xf1, 0x6c, 0x98, 0x05, 0xbf, 0x22, - 0x6f, 0xf2, 0x48, 0xd5, 0x21, 0xbc, 0x06, 0x9b, 0xf3, 0x6e, - 0xd4, 0x49, 0xbd, 0x20, 0x9a, 0x07, 0x94, 0x09, 0xb3, 0x2e, - 0xda, 0x47, 0xfd, 0x60, 0x08, 0x95, 0x2f, 0xb2, 0x46, 0xdb, - 0x61, 0xfc, 0xb1, 0x2c, 0x96, 0x0b, 0xff, 0x62, 0xd8, 0x45, - 0x2d, 0xb0, 0x0a, 0x97, 0x63, 0xfe, 0x44, 0xd9, 0xde, 0x43, - 0xf9, 0x64, 0x90, 0x0d, 0xb7, 0x2a, 0x42, 0xdf, 0x65, 0xf8, - 0x0c, 0x91, 0x2b, 0xb6, 0xfb, 0x66, 0xdc, 0x41, 0xb5, 0x28, - 0x92, 0x0f, 0x67, 0xfa, 0x40, 0xdd, 0x29, 0xb4, 0x0e, 0x93, - 0x35, 0xa8, 0x12, 0x8f, 0x7b, 0xe6, 0x5c, 0xc1, 0xa9, 0x34, - 0x8e, 0x13, 0xe7, 0x7a, 0xc0, 0x5d, 0x10, 0x8d, 0x37, 0xaa, - 0x5e, 0xc3, 0x79, 0xe4, 0x8c, 0x11, 0xab, 0x36, 0xc2, 0x5f, - 0xe5, 0x78, 0x7f, 0xe2, 0x58, 0xc5, 0x31, 0xac, 0x16, 0x8b, - 0xe3, 0x7e, 0xc4, 0x59, 0xad, 0x30, 0x8a, 0x17, 0x5a, 0xc7, - 0x7d, 0xe0, 0x14, 0x89, 0x33, 0xae, 0xc6, 0x5b, 0xe1, 0x7c, - 0x88, 0x15, 0xaf, 0x32, 0xa1, 0x3c, 0x86, 0x1b, 0xef, 0x72, - 0xc8, 0x55, 0x3d, 0xa0, 0x1a, 0x87, 0x73, 0xee, 0x54, 0xc9, - 0x84, 0x19, 0xa3, 0x3e, 0xca, 0x57, 0xed, 0x70, 0x18, 0x85, - 0x3f, 0xa2, 0x56, 0xcb, 0x71, 0xec, 0xeb, 0x76, 0xcc, 0x51, - 0xa5, 0x38, 0x82, 0x1f, 0x77, 0xea, 0x50, 0xcd, 0x39, 0xa4, - 0x1e, 0x83, 0xce, 0x53, 0xe9, 0x74, 0x80, 0x1d, 0xa7, 0x3a, - 0x52, 0xcf, 0x75, 0xe8, 0x1c, 0x81, 0x3b, 0xa6, 0x00, 0x9e, - 0x21, 0xbf, 0x42, 0xdc, 0x63, 0xfd, 0x84, 0x1a, 0xa5, 0x3b, - 0xc6, 0x58, 0xe7, 0x79, 0x15, 0x8b, 0x34, 0xaa, 0x57, 0xc9, - 0x76, 0xe8, 0x91, 0x0f, 0xb0, 0x2e, 0xd3, 0x4d, 0xf2, 0x6c, - 0x2a, 0xb4, 0x0b, 0x95, 0x68, 0xf6, 0x49, 0xd7, 0xae, 0x30, - 0x8f, 0x11, 0xec, 0x72, 0xcd, 0x53, 0x3f, 0xa1, 0x1e, 0x80, - 0x7d, 0xe3, 0x5c, 0xc2, 0xbb, 0x25, 0x9a, 0x04, 0xf9, 0x67, - 0xd8, 0x46, 0x54, 0xca, 0x75, 0xeb, 0x16, 0x88, 0x37, 0xa9, - 0xd0, 0x4e, 0xf1, 0x6f, 0x92, 0x0c, 0xb3, 0x2d, 0x41, 0xdf, - 0x60, 0xfe, 0x03, 0x9d, 0x22, 0xbc, 0xc5, 0x5b, 0xe4, 0x7a, - 0x87, 0x19, 0xa6, 0x38, 0x7e, 0xe0, 0x5f, 0xc1, 0x3c, 0xa2, - 0x1d, 0x83, 0xfa, 0x64, 0xdb, 0x45, 0xb8, 0x26, 0x99, 0x07, - 0x6b, 0xf5, 0x4a, 0xd4, 0x29, 0xb7, 0x08, 0x96, 0xef, 0x71, - 0xce, 0x50, 0xad, 0x33, 0x8c, 0x12, 0xa8, 0x36, 0x89, 0x17, - 0xea, 0x74, 0xcb, 0x55, 0x2c, 0xb2, 0x0d, 0x93, 0x6e, 0xf0, - 0x4f, 0xd1, 0xbd, 0x23, 0x9c, 0x02, 0xff, 0x61, 0xde, 0x40, - 0x39, 0xa7, 0x18, 0x86, 0x7b, 0xe5, 0x5a, 0xc4, 0x82, 0x1c, - 0xa3, 0x3d, 0xc0, 0x5e, 0xe1, 0x7f, 0x06, 0x98, 0x27, 0xb9, - 0x44, 0xda, 0x65, 0xfb, 0x97, 0x09, 0xb6, 0x28, 0xd5, 0x4b, - 0xf4, 0x6a, 0x13, 0x8d, 0x32, 0xac, 0x51, 0xcf, 0x70, 0xee, - 0xfc, 0x62, 0xdd, 0x43, 0xbe, 0x20, 0x9f, 0x01, 0x78, 0xe6, - 0x59, 0xc7, 0x3a, 0xa4, 0x1b, 0x85, 0xe9, 0x77, 0xc8, 0x56, - 0xab, 0x35, 0x8a, 0x14, 0x6d, 0xf3, 0x4c, 0xd2, 0x2f, 0xb1, - 0x0e, 0x90, 0xd6, 0x48, 0xf7, 0x69, 0x94, 0x0a, 0xb5, 0x2b, - 0x52, 0xcc, 0x73, 0xed, 0x10, 0x8e, 0x31, 0xaf, 0xc3, 0x5d, - 0xe2, 0x7c, 0x81, 0x1f, 0xa0, 0x3e, 0x47, 0xd9, 0x66, 0xf8, - 0x05, 0x9b, 0x24, 0xba, 0x00, 0x9f, 0x23, 0xbc, 0x46, 0xd9, - 0x65, 0xfa, 0x8c, 0x13, 0xaf, 0x30, 0xca, 0x55, 0xe9, 0x76, - 0x05, 0x9a, 0x26, 0xb9, 0x43, 0xdc, 0x60, 0xff, 0x89, 0x16, - 0xaa, 0x35, 0xcf, 0x50, 0xec, 0x73, 0x0a, 0x95, 0x29, 0xb6, - 0x4c, 0xd3, 0x6f, 0xf0, 0x86, 0x19, 0xa5, 0x3a, 0xc0, 0x5f, - 0xe3, 0x7c, 0x0f, 0x90, 0x2c, 0xb3, 0x49, 0xd6, 0x6a, 0xf5, - 0x83, 0x1c, 0xa0, 0x3f, 0xc5, 0x5a, 0xe6, 0x79, 0x14, 0x8b, - 0x37, 0xa8, 0x52, 0xcd, 0x71, 0xee, 0x98, 0x07, 0xbb, 0x24, - 0xde, 0x41, 0xfd, 0x62, 0x11, 0x8e, 0x32, 0xad, 0x57, 0xc8, - 0x74, 0xeb, 0x9d, 0x02, 0xbe, 0x21, 0xdb, 0x44, 0xf8, 0x67, - 0x1e, 0x81, 0x3d, 0xa2, 0x58, 0xc7, 0x7b, 0xe4, 0x92, 0x0d, - 0xb1, 0x2e, 0xd4, 0x4b, 0xf7, 0x68, 0x1b, 0x84, 0x38, 0xa7, - 0x5d, 0xc2, 0x7e, 0xe1, 0x97, 0x08, 0xb4, 0x2b, 0xd1, 0x4e, - 0xf2, 0x6d, 0x28, 0xb7, 0x0b, 0x94, 0x6e, 0xf1, 0x4d, 0xd2, - 0xa4, 0x3b, 0x87, 0x18, 0xe2, 0x7d, 0xc1, 0x5e, 0x2d, 0xb2, - 0x0e, 0x91, 0x6b, 0xf4, 0x48, 0xd7, 0xa1, 0x3e, 0x82, 0x1d, - 0xe7, 0x78, 0xc4, 0x5b, 0x22, 0xbd, 0x01, 0x9e, 0x64, 0xfb, - 0x47, 0xd8, 0xae, 0x31, 0x8d, 0x12, 0xe8, 0x77, 0xcb, 0x54, - 0x27, 0xb8, 0x04, 0x9b, 0x61, 0xfe, 0x42, 0xdd, 0xab, 0x34, - 0x88, 0x17, 0xed, 0x72, 0xce, 0x51, 0x3c, 0xa3, 0x1f, 0x80, - 0x7a, 0xe5, 0x59, 0xc6, 0xb0, 0x2f, 0x93, 0x0c, 0xf6, 0x69, - 0xd5, 0x4a, 0x39, 0xa6, 0x1a, 0x85, 0x7f, 0xe0, 0x5c, 0xc3, - 0xb5, 0x2a, 0x96, 0x09, 0xf3, 0x6c, 0xd0, 0x4f, 0x36, 0xa9, - 0x15, 0x8a, 0x70, 0xef, 0x53, 0xcc, 0xba, 0x25, 0x99, 0x06, - 0xfc, 0x63, 0xdf, 0x40, 0x33, 0xac, 0x10, 0x8f, 0x75, 0xea, - 0x56, 0xc9, 0xbf, 0x20, 0x9c, 0x03, 0xf9, 0x66, 0xda, 0x45, - 0x00, 0xa0, 0x5d, 0xfd, 0xba, 0x1a, 0xe7, 0x47, 0x69, 0xc9, - 0x34, 0x94, 0xd3, 0x73, 0x8e, 0x2e, 0xd2, 0x72, 0x8f, 0x2f, - 0x68, 0xc8, 0x35, 0x95, 0xbb, 0x1b, 0xe6, 0x46, 0x01, 0xa1, - 0x5c, 0xfc, 0xb9, 0x19, 0xe4, 0x44, 0x03, 0xa3, 0x5e, 0xfe, - 0xd0, 0x70, 0x8d, 0x2d, 0x6a, 0xca, 0x37, 0x97, 0x6b, 0xcb, - 0x36, 0x96, 0xd1, 0x71, 0x8c, 0x2c, 0x02, 0xa2, 0x5f, 0xff, - 0xb8, 0x18, 0xe5, 0x45, 0x6f, 0xcf, 0x32, 0x92, 0xd5, 0x75, - 0x88, 0x28, 0x06, 0xa6, 0x5b, 0xfb, 0xbc, 0x1c, 0xe1, 0x41, - 0xbd, 0x1d, 0xe0, 0x40, 0x07, 0xa7, 0x5a, 0xfa, 0xd4, 0x74, - 0x89, 0x29, 0x6e, 0xce, 0x33, 0x93, 0xd6, 0x76, 0x8b, 0x2b, - 0x6c, 0xcc, 0x31, 0x91, 0xbf, 0x1f, 0xe2, 0x42, 0x05, 0xa5, - 0x58, 0xf8, 0x04, 0xa4, 0x59, 0xf9, 0xbe, 0x1e, 0xe3, 0x43, - 0x6d, 0xcd, 0x30, 0x90, 0xd7, 0x77, 0x8a, 0x2a, 0xde, 0x7e, - 0x83, 0x23, 0x64, 0xc4, 0x39, 0x99, 0xb7, 0x17, 0xea, 0x4a, - 0x0d, 0xad, 0x50, 0xf0, 0x0c, 0xac, 0x51, 0xf1, 0xb6, 0x16, - 0xeb, 0x4b, 0x65, 0xc5, 0x38, 0x98, 0xdf, 0x7f, 0x82, 0x22, - 0x67, 0xc7, 0x3a, 0x9a, 0xdd, 0x7d, 0x80, 0x20, 0x0e, 0xae, - 0x53, 0xf3, 0xb4, 0x14, 0xe9, 0x49, 0xb5, 0x15, 0xe8, 0x48, - 0x0f, 0xaf, 0x52, 0xf2, 0xdc, 0x7c, 0x81, 0x21, 0x66, 0xc6, - 0x3b, 0x9b, 0xb1, 0x11, 0xec, 0x4c, 0x0b, 0xab, 0x56, 0xf6, - 0xd8, 0x78, 0x85, 0x25, 0x62, 0xc2, 0x3f, 0x9f, 0x63, 0xc3, - 0x3e, 0x9e, 0xd9, 0x79, 0x84, 0x24, 0x0a, 0xaa, 0x57, 0xf7, - 0xb0, 0x10, 0xed, 0x4d, 0x08, 0xa8, 0x55, 0xf5, 0xb2, 0x12, - 0xef, 0x4f, 0x61, 0xc1, 0x3c, 0x9c, 0xdb, 0x7b, 0x86, 0x26, - 0xda, 0x7a, 0x87, 0x27, 0x60, 0xc0, 0x3d, 0x9d, 0xb3, 0x13, - 0xee, 0x4e, 0x09, 0xa9, 0x54, 0xf4, 0x00, 0xa1, 0x5f, 0xfe, - 0xbe, 0x1f, 0xe1, 0x40, 0x61, 0xc0, 0x3e, 0x9f, 0xdf, 0x7e, - 0x80, 0x21, 0xc2, 0x63, 0x9d, 0x3c, 0x7c, 0xdd, 0x23, 0x82, - 0xa3, 0x02, 0xfc, 0x5d, 0x1d, 0xbc, 0x42, 0xe3, 0x99, 0x38, - 0xc6, 0x67, 0x27, 0x86, 0x78, 0xd9, 0xf8, 0x59, 0xa7, 0x06, - 0x46, 0xe7, 0x19, 0xb8, 0x5b, 0xfa, 0x04, 0xa5, 0xe5, 0x44, - 0xba, 0x1b, 0x3a, 0x9b, 0x65, 0xc4, 0x84, 0x25, 0xdb, 0x7a, - 0x2f, 0x8e, 0x70, 0xd1, 0x91, 0x30, 0xce, 0x6f, 0x4e, 0xef, - 0x11, 0xb0, 0xf0, 0x51, 0xaf, 0x0e, 0xed, 0x4c, 0xb2, 0x13, - 0x53, 0xf2, 0x0c, 0xad, 0x8c, 0x2d, 0xd3, 0x72, 0x32, 0x93, - 0x6d, 0xcc, 0xb6, 0x17, 0xe9, 0x48, 0x08, 0xa9, 0x57, 0xf6, - 0xd7, 0x76, 0x88, 0x29, 0x69, 0xc8, 0x36, 0x97, 0x74, 0xd5, - 0x2b, 0x8a, 0xca, 0x6b, 0x95, 0x34, 0x15, 0xb4, 0x4a, 0xeb, - 0xab, 0x0a, 0xf4, 0x55, 0x5e, 0xff, 0x01, 0xa0, 0xe0, 0x41, - 0xbf, 0x1e, 0x3f, 0x9e, 0x60, 0xc1, 0x81, 0x20, 0xde, 0x7f, - 0x9c, 0x3d, 0xc3, 0x62, 0x22, 0x83, 0x7d, 0xdc, 0xfd, 0x5c, - 0xa2, 0x03, 0x43, 0xe2, 0x1c, 0xbd, 0xc7, 0x66, 0x98, 0x39, - 0x79, 0xd8, 0x26, 0x87, 0xa6, 0x07, 0xf9, 0x58, 0x18, 0xb9, - 0x47, 0xe6, 0x05, 0xa4, 0x5a, 0xfb, 0xbb, 0x1a, 0xe4, 0x45, - 0x64, 0xc5, 0x3b, 0x9a, 0xda, 0x7b, 0x85, 0x24, 0x71, 0xd0, - 0x2e, 0x8f, 0xcf, 0x6e, 0x90, 0x31, 0x10, 0xb1, 0x4f, 0xee, - 0xae, 0x0f, 0xf1, 0x50, 0xb3, 0x12, 0xec, 0x4d, 0x0d, 0xac, - 0x52, 0xf3, 0xd2, 0x73, 0x8d, 0x2c, 0x6c, 0xcd, 0x33, 0x92, - 0xe8, 0x49, 0xb7, 0x16, 0x56, 0xf7, 0x09, 0xa8, 0x89, 0x28, - 0xd6, 0x77, 0x37, 0x96, 0x68, 0xc9, 0x2a, 0x8b, 0x75, 0xd4, - 0x94, 0x35, 0xcb, 0x6a, 0x4b, 0xea, 0x14, 0xb5, 0xf5, 0x54, - 0xaa, 0x0b, 0x00, 0xa2, 0x59, 0xfb, 0xb2, 0x10, 0xeb, 0x49, - 0x79, 0xdb, 0x20, 0x82, 0xcb, 0x69, 0x92, 0x30, 0xf2, 0x50, - 0xab, 0x09, 0x40, 0xe2, 0x19, 0xbb, 0x8b, 0x29, 0xd2, 0x70, - 0x39, 0x9b, 0x60, 0xc2, 0xf9, 0x5b, 0xa0, 0x02, 0x4b, 0xe9, - 0x12, 0xb0, 0x80, 0x22, 0xd9, 0x7b, 0x32, 0x90, 0x6b, 0xc9, - 0x0b, 0xa9, 0x52, 0xf0, 0xb9, 0x1b, 0xe0, 0x42, 0x72, 0xd0, - 0x2b, 0x89, 0xc0, 0x62, 0x99, 0x3b, 0xef, 0x4d, 0xb6, 0x14, - 0x5d, 0xff, 0x04, 0xa6, 0x96, 0x34, 0xcf, 0x6d, 0x24, 0x86, - 0x7d, 0xdf, 0x1d, 0xbf, 0x44, 0xe6, 0xaf, 0x0d, 0xf6, 0x54, - 0x64, 0xc6, 0x3d, 0x9f, 0xd6, 0x74, 0x8f, 0x2d, 0x16, 0xb4, - 0x4f, 0xed, 0xa4, 0x06, 0xfd, 0x5f, 0x6f, 0xcd, 0x36, 0x94, - 0xdd, 0x7f, 0x84, 0x26, 0xe4, 0x46, 0xbd, 0x1f, 0x56, 0xf4, - 0x0f, 0xad, 0x9d, 0x3f, 0xc4, 0x66, 0x2f, 0x8d, 0x76, 0xd4, - 0xc3, 0x61, 0x9a, 0x38, 0x71, 0xd3, 0x28, 0x8a, 0xba, 0x18, - 0xe3, 0x41, 0x08, 0xaa, 0x51, 0xf3, 0x31, 0x93, 0x68, 0xca, - 0x83, 0x21, 0xda, 0x78, 0x48, 0xea, 0x11, 0xb3, 0xfa, 0x58, - 0xa3, 0x01, 0x3a, 0x98, 0x63, 0xc1, 0x88, 0x2a, 0xd1, 0x73, - 0x43, 0xe1, 0x1a, 0xb8, 0xf1, 0x53, 0xa8, 0x0a, 0xc8, 0x6a, - 0x91, 0x33, 0x7a, 0xd8, 0x23, 0x81, 0xb1, 0x13, 0xe8, 0x4a, - 0x03, 0xa1, 0x5a, 0xf8, 0x2c, 0x8e, 0x75, 0xd7, 0x9e, 0x3c, - 0xc7, 0x65, 0x55, 0xf7, 0x0c, 0xae, 0xe7, 0x45, 0xbe, 0x1c, - 0xde, 0x7c, 0x87, 0x25, 0x6c, 0xce, 0x35, 0x97, 0xa7, 0x05, - 0xfe, 0x5c, 0x15, 0xb7, 0x4c, 0xee, 0xd5, 0x77, 0x8c, 0x2e, - 0x67, 0xc5, 0x3e, 0x9c, 0xac, 0x0e, 0xf5, 0x57, 0x1e, 0xbc, - 0x47, 0xe5, 0x27, 0x85, 0x7e, 0xdc, 0x95, 0x37, 0xcc, 0x6e, - 0x5e, 0xfc, 0x07, 0xa5, 0xec, 0x4e, 0xb5, 0x17, 0x00, 0xa3, - 0x5b, 0xf8, 0xb6, 0x15, 0xed, 0x4e, 0x71, 0xd2, 0x2a, 0x89, - 0xc7, 0x64, 0x9c, 0x3f, 0xe2, 0x41, 0xb9, 0x1a, 0x54, 0xf7, - 0x0f, 0xac, 0x93, 0x30, 0xc8, 0x6b, 0x25, 0x86, 0x7e, 0xdd, - 0xd9, 0x7a, 0x82, 0x21, 0x6f, 0xcc, 0x34, 0x97, 0xa8, 0x0b, - 0xf3, 0x50, 0x1e, 0xbd, 0x45, 0xe6, 0x3b, 0x98, 0x60, 0xc3, - 0x8d, 0x2e, 0xd6, 0x75, 0x4a, 0xe9, 0x11, 0xb2, 0xfc, 0x5f, - 0xa7, 0x04, 0xaf, 0x0c, 0xf4, 0x57, 0x19, 0xba, 0x42, 0xe1, - 0xde, 0x7d, 0x85, 0x26, 0x68, 0xcb, 0x33, 0x90, 0x4d, 0xee, - 0x16, 0xb5, 0xfb, 0x58, 0xa0, 0x03, 0x3c, 0x9f, 0x67, 0xc4, - 0x8a, 0x29, 0xd1, 0x72, 0x76, 0xd5, 0x2d, 0x8e, 0xc0, 0x63, - 0x9b, 0x38, 0x07, 0xa4, 0x5c, 0xff, 0xb1, 0x12, 0xea, 0x49, - 0x94, 0x37, 0xcf, 0x6c, 0x22, 0x81, 0x79, 0xda, 0xe5, 0x46, - 0xbe, 0x1d, 0x53, 0xf0, 0x08, 0xab, 0x43, 0xe0, 0x18, 0xbb, - 0xf5, 0x56, 0xae, 0x0d, 0x32, 0x91, 0x69, 0xca, 0x84, 0x27, - 0xdf, 0x7c, 0xa1, 0x02, 0xfa, 0x59, 0x17, 0xb4, 0x4c, 0xef, - 0xd0, 0x73, 0x8b, 0x28, 0x66, 0xc5, 0x3d, 0x9e, 0x9a, 0x39, - 0xc1, 0x62, 0x2c, 0x8f, 0x77, 0xd4, 0xeb, 0x48, 0xb0, 0x13, - 0x5d, 0xfe, 0x06, 0xa5, 0x78, 0xdb, 0x23, 0x80, 0xce, 0x6d, - 0x95, 0x36, 0x09, 0xaa, 0x52, 0xf1, 0xbf, 0x1c, 0xe4, 0x47, - 0xec, 0x4f, 0xb7, 0x14, 0x5a, 0xf9, 0x01, 0xa2, 0x9d, 0x3e, - 0xc6, 0x65, 0x2b, 0x88, 0x70, 0xd3, 0x0e, 0xad, 0x55, 0xf6, - 0xb8, 0x1b, 0xe3, 0x40, 0x7f, 0xdc, 0x24, 0x87, 0xc9, 0x6a, - 0x92, 0x31, 0x35, 0x96, 0x6e, 0xcd, 0x83, 0x20, 0xd8, 0x7b, - 0x44, 0xe7, 0x1f, 0xbc, 0xf2, 0x51, 0xa9, 0x0a, 0xd7, 0x74, - 0x8c, 0x2f, 0x61, 0xc2, 0x3a, 0x99, 0xa6, 0x05, 0xfd, 0x5e, - 0x10, 0xb3, 0x4b, 0xe8, 0x00, 0xa4, 0x55, 0xf1, 0xaa, 0x0e, - 0xff, 0x5b, 0x49, 0xed, 0x1c, 0xb8, 0xe3, 0x47, 0xb6, 0x12, - 0x92, 0x36, 0xc7, 0x63, 0x38, 0x9c, 0x6d, 0xc9, 0xdb, 0x7f, - 0x8e, 0x2a, 0x71, 0xd5, 0x24, 0x80, 0x39, 0x9d, 0x6c, 0xc8, - 0x93, 0x37, 0xc6, 0x62, 0x70, 0xd4, 0x25, 0x81, 0xda, 0x7e, - 0x8f, 0x2b, 0xab, 0x0f, 0xfe, 0x5a, 0x01, 0xa5, 0x54, 0xf0, - 0xe2, 0x46, 0xb7, 0x13, 0x48, 0xec, 0x1d, 0xb9, 0x72, 0xd6, - 0x27, 0x83, 0xd8, 0x7c, 0x8d, 0x29, 0x3b, 0x9f, 0x6e, 0xca, - 0x91, 0x35, 0xc4, 0x60, 0xe0, 0x44, 0xb5, 0x11, 0x4a, 0xee, - 0x1f, 0xbb, 0xa9, 0x0d, 0xfc, 0x58, 0x03, 0xa7, 0x56, 0xf2, - 0x4b, 0xef, 0x1e, 0xba, 0xe1, 0x45, 0xb4, 0x10, 0x02, 0xa6, - 0x57, 0xf3, 0xa8, 0x0c, 0xfd, 0x59, 0xd9, 0x7d, 0x8c, 0x28, - 0x73, 0xd7, 0x26, 0x82, 0x90, 0x34, 0xc5, 0x61, 0x3a, 0x9e, - 0x6f, 0xcb, 0xe4, 0x40, 0xb1, 0x15, 0x4e, 0xea, 0x1b, 0xbf, - 0xad, 0x09, 0xf8, 0x5c, 0x07, 0xa3, 0x52, 0xf6, 0x76, 0xd2, - 0x23, 0x87, 0xdc, 0x78, 0x89, 0x2d, 0x3f, 0x9b, 0x6a, 0xce, - 0x95, 0x31, 0xc0, 0x64, 0xdd, 0x79, 0x88, 0x2c, 0x77, 0xd3, - 0x22, 0x86, 0x94, 0x30, 0xc1, 0x65, 0x3e, 0x9a, 0x6b, 0xcf, - 0x4f, 0xeb, 0x1a, 0xbe, 0xe5, 0x41, 0xb0, 0x14, 0x06, 0xa2, - 0x53, 0xf7, 0xac, 0x08, 0xf9, 0x5d, 0x96, 0x32, 0xc3, 0x67, - 0x3c, 0x98, 0x69, 0xcd, 0xdf, 0x7b, 0x8a, 0x2e, 0x75, 0xd1, - 0x20, 0x84, 0x04, 0xa0, 0x51, 0xf5, 0xae, 0x0a, 0xfb, 0x5f, - 0x4d, 0xe9, 0x18, 0xbc, 0xe7, 0x43, 0xb2, 0x16, 0xaf, 0x0b, - 0xfa, 0x5e, 0x05, 0xa1, 0x50, 0xf4, 0xe6, 0x42, 0xb3, 0x17, - 0x4c, 0xe8, 0x19, 0xbd, 0x3d, 0x99, 0x68, 0xcc, 0x97, 0x33, - 0xc2, 0x66, 0x74, 0xd0, 0x21, 0x85, 0xde, 0x7a, 0x8b, 0x2f, - 0x00, 0xa5, 0x57, 0xf2, 0xae, 0x0b, 0xf9, 0x5c, 0x41, 0xe4, - 0x16, 0xb3, 0xef, 0x4a, 0xb8, 0x1d, 0x82, 0x27, 0xd5, 0x70, - 0x2c, 0x89, 0x7b, 0xde, 0xc3, 0x66, 0x94, 0x31, 0x6d, 0xc8, - 0x3a, 0x9f, 0x19, 0xbc, 0x4e, 0xeb, 0xb7, 0x12, 0xe0, 0x45, - 0x58, 0xfd, 0x0f, 0xaa, 0xf6, 0x53, 0xa1, 0x04, 0x9b, 0x3e, - 0xcc, 0x69, 0x35, 0x90, 0x62, 0xc7, 0xda, 0x7f, 0x8d, 0x28, - 0x74, 0xd1, 0x23, 0x86, 0x32, 0x97, 0x65, 0xc0, 0x9c, 0x39, - 0xcb, 0x6e, 0x73, 0xd6, 0x24, 0x81, 0xdd, 0x78, 0x8a, 0x2f, - 0xb0, 0x15, 0xe7, 0x42, 0x1e, 0xbb, 0x49, 0xec, 0xf1, 0x54, - 0xa6, 0x03, 0x5f, 0xfa, 0x08, 0xad, 0x2b, 0x8e, 0x7c, 0xd9, - 0x85, 0x20, 0xd2, 0x77, 0x6a, 0xcf, 0x3d, 0x98, 0xc4, 0x61, - 0x93, 0x36, 0xa9, 0x0c, 0xfe, 0x5b, 0x07, 0xa2, 0x50, 0xf5, - 0xe8, 0x4d, 0xbf, 0x1a, 0x46, 0xe3, 0x11, 0xb4, 0x64, 0xc1, - 0x33, 0x96, 0xca, 0x6f, 0x9d, 0x38, 0x25, 0x80, 0x72, 0xd7, - 0x8b, 0x2e, 0xdc, 0x79, 0xe6, 0x43, 0xb1, 0x14, 0x48, 0xed, - 0x1f, 0xba, 0xa7, 0x02, 0xf0, 0x55, 0x09, 0xac, 0x5e, 0xfb, - 0x7d, 0xd8, 0x2a, 0x8f, 0xd3, 0x76, 0x84, 0x21, 0x3c, 0x99, - 0x6b, 0xce, 0x92, 0x37, 0xc5, 0x60, 0xff, 0x5a, 0xa8, 0x0d, - 0x51, 0xf4, 0x06, 0xa3, 0xbe, 0x1b, 0xe9, 0x4c, 0x10, 0xb5, - 0x47, 0xe2, 0x56, 0xf3, 0x01, 0xa4, 0xf8, 0x5d, 0xaf, 0x0a, - 0x17, 0xb2, 0x40, 0xe5, 0xb9, 0x1c, 0xee, 0x4b, 0xd4, 0x71, - 0x83, 0x26, 0x7a, 0xdf, 0x2d, 0x88, 0x95, 0x30, 0xc2, 0x67, - 0x3b, 0x9e, 0x6c, 0xc9, 0x4f, 0xea, 0x18, 0xbd, 0xe1, 0x44, - 0xb6, 0x13, 0x0e, 0xab, 0x59, 0xfc, 0xa0, 0x05, 0xf7, 0x52, - 0xcd, 0x68, 0x9a, 0x3f, 0x63, 0xc6, 0x34, 0x91, 0x8c, 0x29, - 0xdb, 0x7e, 0x22, 0x87, 0x75, 0xd0, 0x00, 0xa6, 0x51, 0xf7, - 0xa2, 0x04, 0xf3, 0x55, 0x59, 0xff, 0x08, 0xae, 0xfb, 0x5d, - 0xaa, 0x0c, 0xb2, 0x14, 0xe3, 0x45, 0x10, 0xb6, 0x41, 0xe7, - 0xeb, 0x4d, 0xba, 0x1c, 0x49, 0xef, 0x18, 0xbe, 0x79, 0xdf, - 0x28, 0x8e, 0xdb, 0x7d, 0x8a, 0x2c, 0x20, 0x86, 0x71, 0xd7, - 0x82, 0x24, 0xd3, 0x75, 0xcb, 0x6d, 0x9a, 0x3c, 0x69, 0xcf, - 0x38, 0x9e, 0x92, 0x34, 0xc3, 0x65, 0x30, 0x96, 0x61, 0xc7, - 0xf2, 0x54, 0xa3, 0x05, 0x50, 0xf6, 0x01, 0xa7, 0xab, 0x0d, - 0xfa, 0x5c, 0x09, 0xaf, 0x58, 0xfe, 0x40, 0xe6, 0x11, 0xb7, - 0xe2, 0x44, 0xb3, 0x15, 0x19, 0xbf, 0x48, 0xee, 0xbb, 0x1d, - 0xea, 0x4c, 0x8b, 0x2d, 0xda, 0x7c, 0x29, 0x8f, 0x78, 0xde, - 0xd2, 0x74, 0x83, 0x25, 0x70, 0xd6, 0x21, 0x87, 0x39, 0x9f, - 0x68, 0xce, 0x9b, 0x3d, 0xca, 0x6c, 0x60, 0xc6, 0x31, 0x97, - 0xc2, 0x64, 0x93, 0x35, 0xf9, 0x5f, 0xa8, 0x0e, 0x5b, 0xfd, - 0x0a, 0xac, 0xa0, 0x06, 0xf1, 0x57, 0x02, 0xa4, 0x53, 0xf5, - 0x4b, 0xed, 0x1a, 0xbc, 0xe9, 0x4f, 0xb8, 0x1e, 0x12, 0xb4, - 0x43, 0xe5, 0xb0, 0x16, 0xe1, 0x47, 0x80, 0x26, 0xd1, 0x77, - 0x22, 0x84, 0x73, 0xd5, 0xd9, 0x7f, 0x88, 0x2e, 0x7b, 0xdd, - 0x2a, 0x8c, 0x32, 0x94, 0x63, 0xc5, 0x90, 0x36, 0xc1, 0x67, - 0x6b, 0xcd, 0x3a, 0x9c, 0xc9, 0x6f, 0x98, 0x3e, 0x0b, 0xad, - 0x5a, 0xfc, 0xa9, 0x0f, 0xf8, 0x5e, 0x52, 0xf4, 0x03, 0xa5, - 0xf0, 0x56, 0xa1, 0x07, 0xb9, 0x1f, 0xe8, 0x4e, 0x1b, 0xbd, - 0x4a, 0xec, 0xe0, 0x46, 0xb1, 0x17, 0x42, 0xe4, 0x13, 0xb5, - 0x72, 0xd4, 0x23, 0x85, 0xd0, 0x76, 0x81, 0x27, 0x2b, 0x8d, - 0x7a, 0xdc, 0x89, 0x2f, 0xd8, 0x7e, 0xc0, 0x66, 0x91, 0x37, - 0x62, 0xc4, 0x33, 0x95, 0x99, 0x3f, 0xc8, 0x6e, 0x3b, 0x9d, - 0x6a, 0xcc, 0x00, 0xa7, 0x53, 0xf4, 0xa6, 0x01, 0xf5, 0x52, - 0x51, 0xf6, 0x02, 0xa5, 0xf7, 0x50, 0xa4, 0x03, 0xa2, 0x05, - 0xf1, 0x56, 0x04, 0xa3, 0x57, 0xf0, 0xf3, 0x54, 0xa0, 0x07, - 0x55, 0xf2, 0x06, 0xa1, 0x59, 0xfe, 0x0a, 0xad, 0xff, 0x58, - 0xac, 0x0b, 0x08, 0xaf, 0x5b, 0xfc, 0xae, 0x09, 0xfd, 0x5a, - 0xfb, 0x5c, 0xa8, 0x0f, 0x5d, 0xfa, 0x0e, 0xa9, 0xaa, 0x0d, - 0xf9, 0x5e, 0x0c, 0xab, 0x5f, 0xf8, 0xb2, 0x15, 0xe1, 0x46, - 0x14, 0xb3, 0x47, 0xe0, 0xe3, 0x44, 0xb0, 0x17, 0x45, 0xe2, - 0x16, 0xb1, 0x10, 0xb7, 0x43, 0xe4, 0xb6, 0x11, 0xe5, 0x42, - 0x41, 0xe6, 0x12, 0xb5, 0xe7, 0x40, 0xb4, 0x13, 0xeb, 0x4c, - 0xb8, 0x1f, 0x4d, 0xea, 0x1e, 0xb9, 0xba, 0x1d, 0xe9, 0x4e, - 0x1c, 0xbb, 0x4f, 0xe8, 0x49, 0xee, 0x1a, 0xbd, 0xef, 0x48, - 0xbc, 0x1b, 0x18, 0xbf, 0x4b, 0xec, 0xbe, 0x19, 0xed, 0x4a, - 0x79, 0xde, 0x2a, 0x8d, 0xdf, 0x78, 0x8c, 0x2b, 0x28, 0x8f, - 0x7b, 0xdc, 0x8e, 0x29, 0xdd, 0x7a, 0xdb, 0x7c, 0x88, 0x2f, - 0x7d, 0xda, 0x2e, 0x89, 0x8a, 0x2d, 0xd9, 0x7e, 0x2c, 0x8b, - 0x7f, 0xd8, 0x20, 0x87, 0x73, 0xd4, 0x86, 0x21, 0xd5, 0x72, - 0x71, 0xd6, 0x22, 0x85, 0xd7, 0x70, 0x84, 0x23, 0x82, 0x25, - 0xd1, 0x76, 0x24, 0x83, 0x77, 0xd0, 0xd3, 0x74, 0x80, 0x27, - 0x75, 0xd2, 0x26, 0x81, 0xcb, 0x6c, 0x98, 0x3f, 0x6d, 0xca, - 0x3e, 0x99, 0x9a, 0x3d, 0xc9, 0x6e, 0x3c, 0x9b, 0x6f, 0xc8, - 0x69, 0xce, 0x3a, 0x9d, 0xcf, 0x68, 0x9c, 0x3b, 0x38, 0x9f, - 0x6b, 0xcc, 0x9e, 0x39, 0xcd, 0x6a, 0x92, 0x35, 0xc1, 0x66, - 0x34, 0x93, 0x67, 0xc0, 0xc3, 0x64, 0x90, 0x37, 0x65, 0xc2, - 0x36, 0x91, 0x30, 0x97, 0x63, 0xc4, 0x96, 0x31, 0xc5, 0x62, - 0x61, 0xc6, 0x32, 0x95, 0xc7, 0x60, 0x94, 0x33, 0x00, 0xa8, - 0x4d, 0xe5, 0x9a, 0x32, 0xd7, 0x7f, 0x29, 0x81, 0x64, 0xcc, - 0xb3, 0x1b, 0xfe, 0x56, 0x52, 0xfa, 0x1f, 0xb7, 0xc8, 0x60, - 0x85, 0x2d, 0x7b, 0xd3, 0x36, 0x9e, 0xe1, 0x49, 0xac, 0x04, - 0xa4, 0x0c, 0xe9, 0x41, 0x3e, 0x96, 0x73, 0xdb, 0x8d, 0x25, - 0xc0, 0x68, 0x17, 0xbf, 0x5a, 0xf2, 0xf6, 0x5e, 0xbb, 0x13, - 0x6c, 0xc4, 0x21, 0x89, 0xdf, 0x77, 0x92, 0x3a, 0x45, 0xed, - 0x08, 0xa0, 0x55, 0xfd, 0x18, 0xb0, 0xcf, 0x67, 0x82, 0x2a, - 0x7c, 0xd4, 0x31, 0x99, 0xe6, 0x4e, 0xab, 0x03, 0x07, 0xaf, - 0x4a, 0xe2, 0x9d, 0x35, 0xd0, 0x78, 0x2e, 0x86, 0x63, 0xcb, - 0xb4, 0x1c, 0xf9, 0x51, 0xf1, 0x59, 0xbc, 0x14, 0x6b, 0xc3, - 0x26, 0x8e, 0xd8, 0x70, 0x95, 0x3d, 0x42, 0xea, 0x0f, 0xa7, - 0xa3, 0x0b, 0xee, 0x46, 0x39, 0x91, 0x74, 0xdc, 0x8a, 0x22, - 0xc7, 0x6f, 0x10, 0xb8, 0x5d, 0xf5, 0xaa, 0x02, 0xe7, 0x4f, - 0x30, 0x98, 0x7d, 0xd5, 0x83, 0x2b, 0xce, 0x66, 0x19, 0xb1, - 0x54, 0xfc, 0xf8, 0x50, 0xb5, 0x1d, 0x62, 0xca, 0x2f, 0x87, - 0xd1, 0x79, 0x9c, 0x34, 0x4b, 0xe3, 0x06, 0xae, 0x0e, 0xa6, - 0x43, 0xeb, 0x94, 0x3c, 0xd9, 0x71, 0x27, 0x8f, 0x6a, 0xc2, - 0xbd, 0x15, 0xf0, 0x58, 0x5c, 0xf4, 0x11, 0xb9, 0xc6, 0x6e, - 0x8b, 0x23, 0x75, 0xdd, 0x38, 0x90, 0xef, 0x47, 0xa2, 0x0a, - 0xff, 0x57, 0xb2, 0x1a, 0x65, 0xcd, 0x28, 0x80, 0xd6, 0x7e, - 0x9b, 0x33, 0x4c, 0xe4, 0x01, 0xa9, 0xad, 0x05, 0xe0, 0x48, - 0x37, 0x9f, 0x7a, 0xd2, 0x84, 0x2c, 0xc9, 0x61, 0x1e, 0xb6, - 0x53, 0xfb, 0x5b, 0xf3, 0x16, 0xbe, 0xc1, 0x69, 0x8c, 0x24, - 0x72, 0xda, 0x3f, 0x97, 0xe8, 0x40, 0xa5, 0x0d, 0x09, 0xa1, - 0x44, 0xec, 0x93, 0x3b, 0xde, 0x76, 0x20, 0x88, 0x6d, 0xc5, - 0xba, 0x12, 0xf7, 0x5f, 0x00, 0xa9, 0x4f, 0xe6, 0x9e, 0x37, - 0xd1, 0x78, 0x21, 0x88, 0x6e, 0xc7, 0xbf, 0x16, 0xf0, 0x59, - 0x42, 0xeb, 0x0d, 0xa4, 0xdc, 0x75, 0x93, 0x3a, 0x63, 0xca, - 0x2c, 0x85, 0xfd, 0x54, 0xb2, 0x1b, 0x84, 0x2d, 0xcb, 0x62, - 0x1a, 0xb3, 0x55, 0xfc, 0xa5, 0x0c, 0xea, 0x43, 0x3b, 0x92, - 0x74, 0xdd, 0xc6, 0x6f, 0x89, 0x20, 0x58, 0xf1, 0x17, 0xbe, - 0xe7, 0x4e, 0xa8, 0x01, 0x79, 0xd0, 0x36, 0x9f, 0x15, 0xbc, - 0x5a, 0xf3, 0x8b, 0x22, 0xc4, 0x6d, 0x34, 0x9d, 0x7b, 0xd2, - 0xaa, 0x03, 0xe5, 0x4c, 0x57, 0xfe, 0x18, 0xb1, 0xc9, 0x60, - 0x86, 0x2f, 0x76, 0xdf, 0x39, 0x90, 0xe8, 0x41, 0xa7, 0x0e, - 0x91, 0x38, 0xde, 0x77, 0x0f, 0xa6, 0x40, 0xe9, 0xb0, 0x19, - 0xff, 0x56, 0x2e, 0x87, 0x61, 0xc8, 0xd3, 0x7a, 0x9c, 0x35, - 0x4d, 0xe4, 0x02, 0xab, 0xf2, 0x5b, 0xbd, 0x14, 0x6c, 0xc5, - 0x23, 0x8a, 0x2a, 0x83, 0x65, 0xcc, 0xb4, 0x1d, 0xfb, 0x52, - 0x0b, 0xa2, 0x44, 0xed, 0x95, 0x3c, 0xda, 0x73, 0x68, 0xc1, - 0x27, 0x8e, 0xf6, 0x5f, 0xb9, 0x10, 0x49, 0xe0, 0x06, 0xaf, - 0xd7, 0x7e, 0x98, 0x31, 0xae, 0x07, 0xe1, 0x48, 0x30, 0x99, - 0x7f, 0xd6, 0x8f, 0x26, 0xc0, 0x69, 0x11, 0xb8, 0x5e, 0xf7, - 0xec, 0x45, 0xa3, 0x0a, 0x72, 0xdb, 0x3d, 0x94, 0xcd, 0x64, - 0x82, 0x2b, 0x53, 0xfa, 0x1c, 0xb5, 0x3f, 0x96, 0x70, 0xd9, - 0xa1, 0x08, 0xee, 0x47, 0x1e, 0xb7, 0x51, 0xf8, 0x80, 0x29, - 0xcf, 0x66, 0x7d, 0xd4, 0x32, 0x9b, 0xe3, 0x4a, 0xac, 0x05, - 0x5c, 0xf5, 0x13, 0xba, 0xc2, 0x6b, 0x8d, 0x24, 0xbb, 0x12, - 0xf4, 0x5d, 0x25, 0x8c, 0x6a, 0xc3, 0x9a, 0x33, 0xd5, 0x7c, - 0x04, 0xad, 0x4b, 0xe2, 0xf9, 0x50, 0xb6, 0x1f, 0x67, 0xce, - 0x28, 0x81, 0xd8, 0x71, 0x97, 0x3e, 0x46, 0xef, 0x09, 0xa0, - 0x00, 0xaa, 0x49, 0xe3, 0x92, 0x38, 0xdb, 0x71, 0x39, 0x93, - 0x70, 0xda, 0xab, 0x01, 0xe2, 0x48, 0x72, 0xd8, 0x3b, 0x91, - 0xe0, 0x4a, 0xa9, 0x03, 0x4b, 0xe1, 0x02, 0xa8, 0xd9, 0x73, - 0x90, 0x3a, 0xe4, 0x4e, 0xad, 0x07, 0x76, 0xdc, 0x3f, 0x95, - 0xdd, 0x77, 0x94, 0x3e, 0x4f, 0xe5, 0x06, 0xac, 0x96, 0x3c, - 0xdf, 0x75, 0x04, 0xae, 0x4d, 0xe7, 0xaf, 0x05, 0xe6, 0x4c, - 0x3d, 0x97, 0x74, 0xde, 0xd5, 0x7f, 0x9c, 0x36, 0x47, 0xed, - 0x0e, 0xa4, 0xec, 0x46, 0xa5, 0x0f, 0x7e, 0xd4, 0x37, 0x9d, - 0xa7, 0x0d, 0xee, 0x44, 0x35, 0x9f, 0x7c, 0xd6, 0x9e, 0x34, - 0xd7, 0x7d, 0x0c, 0xa6, 0x45, 0xef, 0x31, 0x9b, 0x78, 0xd2, - 0xa3, 0x09, 0xea, 0x40, 0x08, 0xa2, 0x41, 0xeb, 0x9a, 0x30, - 0xd3, 0x79, 0x43, 0xe9, 0x0a, 0xa0, 0xd1, 0x7b, 0x98, 0x32, - 0x7a, 0xd0, 0x33, 0x99, 0xe8, 0x42, 0xa1, 0x0b, 0xb7, 0x1d, - 0xfe, 0x54, 0x25, 0x8f, 0x6c, 0xc6, 0x8e, 0x24, 0xc7, 0x6d, - 0x1c, 0xb6, 0x55, 0xff, 0xc5, 0x6f, 0x8c, 0x26, 0x57, 0xfd, - 0x1e, 0xb4, 0xfc, 0x56, 0xb5, 0x1f, 0x6e, 0xc4, 0x27, 0x8d, - 0x53, 0xf9, 0x1a, 0xb0, 0xc1, 0x6b, 0x88, 0x22, 0x6a, 0xc0, - 0x23, 0x89, 0xf8, 0x52, 0xb1, 0x1b, 0x21, 0x8b, 0x68, 0xc2, - 0xb3, 0x19, 0xfa, 0x50, 0x18, 0xb2, 0x51, 0xfb, 0x8a, 0x20, - 0xc3, 0x69, 0x62, 0xc8, 0x2b, 0x81, 0xf0, 0x5a, 0xb9, 0x13, - 0x5b, 0xf1, 0x12, 0xb8, 0xc9, 0x63, 0x80, 0x2a, 0x10, 0xba, - 0x59, 0xf3, 0x82, 0x28, 0xcb, 0x61, 0x29, 0x83, 0x60, 0xca, - 0xbb, 0x11, 0xf2, 0x58, 0x86, 0x2c, 0xcf, 0x65, 0x14, 0xbe, - 0x5d, 0xf7, 0xbf, 0x15, 0xf6, 0x5c, 0x2d, 0x87, 0x64, 0xce, - 0xf4, 0x5e, 0xbd, 0x17, 0x66, 0xcc, 0x2f, 0x85, 0xcd, 0x67, - 0x84, 0x2e, 0x5f, 0xf5, 0x16, 0xbc, 0x00, 0xab, 0x4b, 0xe0, - 0x96, 0x3d, 0xdd, 0x76, 0x31, 0x9a, 0x7a, 0xd1, 0xa7, 0x0c, - 0xec, 0x47, 0x62, 0xc9, 0x29, 0x82, 0xf4, 0x5f, 0xbf, 0x14, - 0x53, 0xf8, 0x18, 0xb3, 0xc5, 0x6e, 0x8e, 0x25, 0xc4, 0x6f, - 0x8f, 0x24, 0x52, 0xf9, 0x19, 0xb2, 0xf5, 0x5e, 0xbe, 0x15, - 0x63, 0xc8, 0x28, 0x83, 0xa6, 0x0d, 0xed, 0x46, 0x30, 0x9b, - 0x7b, 0xd0, 0x97, 0x3c, 0xdc, 0x77, 0x01, 0xaa, 0x4a, 0xe1, - 0x95, 0x3e, 0xde, 0x75, 0x03, 0xa8, 0x48, 0xe3, 0xa4, 0x0f, - 0xef, 0x44, 0x32, 0x99, 0x79, 0xd2, 0xf7, 0x5c, 0xbc, 0x17, - 0x61, 0xca, 0x2a, 0x81, 0xc6, 0x6d, 0x8d, 0x26, 0x50, 0xfb, - 0x1b, 0xb0, 0x51, 0xfa, 0x1a, 0xb1, 0xc7, 0x6c, 0x8c, 0x27, - 0x60, 0xcb, 0x2b, 0x80, 0xf6, 0x5d, 0xbd, 0x16, 0x33, 0x98, - 0x78, 0xd3, 0xa5, 0x0e, 0xee, 0x45, 0x02, 0xa9, 0x49, 0xe2, - 0x94, 0x3f, 0xdf, 0x74, 0x37, 0x9c, 0x7c, 0xd7, 0xa1, 0x0a, - 0xea, 0x41, 0x06, 0xad, 0x4d, 0xe6, 0x90, 0x3b, 0xdb, 0x70, - 0x55, 0xfe, 0x1e, 0xb5, 0xc3, 0x68, 0x88, 0x23, 0x64, 0xcf, - 0x2f, 0x84, 0xf2, 0x59, 0xb9, 0x12, 0xf3, 0x58, 0xb8, 0x13, - 0x65, 0xce, 0x2e, 0x85, 0xc2, 0x69, 0x89, 0x22, 0x54, 0xff, - 0x1f, 0xb4, 0x91, 0x3a, 0xda, 0x71, 0x07, 0xac, 0x4c, 0xe7, - 0xa0, 0x0b, 0xeb, 0x40, 0x36, 0x9d, 0x7d, 0xd6, 0xa2, 0x09, - 0xe9, 0x42, 0x34, 0x9f, 0x7f, 0xd4, 0x93, 0x38, 0xd8, 0x73, - 0x05, 0xae, 0x4e, 0xe5, 0xc0, 0x6b, 0x8b, 0x20, 0x56, 0xfd, - 0x1d, 0xb6, 0xf1, 0x5a, 0xba, 0x11, 0x67, 0xcc, 0x2c, 0x87, - 0x66, 0xcd, 0x2d, 0x86, 0xf0, 0x5b, 0xbb, 0x10, 0x57, 0xfc, - 0x1c, 0xb7, 0xc1, 0x6a, 0x8a, 0x21, 0x04, 0xaf, 0x4f, 0xe4, - 0x92, 0x39, 0xd9, 0x72, 0x35, 0x9e, 0x7e, 0xd5, 0xa3, 0x08, - 0xe8, 0x43, 0x00, 0xac, 0x45, 0xe9, 0x8a, 0x26, 0xcf, 0x63, - 0x09, 0xa5, 0x4c, 0xe0, 0x83, 0x2f, 0xc6, 0x6a, 0x12, 0xbe, - 0x57, 0xfb, 0x98, 0x34, 0xdd, 0x71, 0x1b, 0xb7, 0x5e, 0xf2, - 0x91, 0x3d, 0xd4, 0x78, 0x24, 0x88, 0x61, 0xcd, 0xae, 0x02, - 0xeb, 0x47, 0x2d, 0x81, 0x68, 0xc4, 0xa7, 0x0b, 0xe2, 0x4e, - 0x36, 0x9a, 0x73, 0xdf, 0xbc, 0x10, 0xf9, 0x55, 0x3f, 0x93, - 0x7a, 0xd6, 0xb5, 0x19, 0xf0, 0x5c, 0x48, 0xe4, 0x0d, 0xa1, - 0xc2, 0x6e, 0x87, 0x2b, 0x41, 0xed, 0x04, 0xa8, 0xcb, 0x67, - 0x8e, 0x22, 0x5a, 0xf6, 0x1f, 0xb3, 0xd0, 0x7c, 0x95, 0x39, - 0x53, 0xff, 0x16, 0xba, 0xd9, 0x75, 0x9c, 0x30, 0x6c, 0xc0, - 0x29, 0x85, 0xe6, 0x4a, 0xa3, 0x0f, 0x65, 0xc9, 0x20, 0x8c, - 0xef, 0x43, 0xaa, 0x06, 0x7e, 0xd2, 0x3b, 0x97, 0xf4, 0x58, - 0xb1, 0x1d, 0x77, 0xdb, 0x32, 0x9e, 0xfd, 0x51, 0xb8, 0x14, - 0x90, 0x3c, 0xd5, 0x79, 0x1a, 0xb6, 0x5f, 0xf3, 0x99, 0x35, - 0xdc, 0x70, 0x13, 0xbf, 0x56, 0xfa, 0x82, 0x2e, 0xc7, 0x6b, - 0x08, 0xa4, 0x4d, 0xe1, 0x8b, 0x27, 0xce, 0x62, 0x01, 0xad, - 0x44, 0xe8, 0xb4, 0x18, 0xf1, 0x5d, 0x3e, 0x92, 0x7b, 0xd7, - 0xbd, 0x11, 0xf8, 0x54, 0x37, 0x9b, 0x72, 0xde, 0xa6, 0x0a, - 0xe3, 0x4f, 0x2c, 0x80, 0x69, 0xc5, 0xaf, 0x03, 0xea, 0x46, - 0x25, 0x89, 0x60, 0xcc, 0xd8, 0x74, 0x9d, 0x31, 0x52, 0xfe, - 0x17, 0xbb, 0xd1, 0x7d, 0x94, 0x38, 0x5b, 0xf7, 0x1e, 0xb2, - 0xca, 0x66, 0x8f, 0x23, 0x40, 0xec, 0x05, 0xa9, 0xc3, 0x6f, - 0x86, 0x2a, 0x49, 0xe5, 0x0c, 0xa0, 0xfc, 0x50, 0xb9, 0x15, - 0x76, 0xda, 0x33, 0x9f, 0xf5, 0x59, 0xb0, 0x1c, 0x7f, 0xd3, - 0x3a, 0x96, 0xee, 0x42, 0xab, 0x07, 0x64, 0xc8, 0x21, 0x8d, - 0xe7, 0x4b, 0xa2, 0x0e, 0x6d, 0xc1, 0x28, 0x84, 0x00, 0xad, - 0x47, 0xea, 0x8e, 0x23, 0xc9, 0x64, 0x01, 0xac, 0x46, 0xeb, - 0x8f, 0x22, 0xc8, 0x65, 0x02, 0xaf, 0x45, 0xe8, 0x8c, 0x21, - 0xcb, 0x66, 0x03, 0xae, 0x44, 0xe9, 0x8d, 0x20, 0xca, 0x67, - 0x04, 0xa9, 0x43, 0xee, 0x8a, 0x27, 0xcd, 0x60, 0x05, 0xa8, - 0x42, 0xef, 0x8b, 0x26, 0xcc, 0x61, 0x06, 0xab, 0x41, 0xec, - 0x88, 0x25, 0xcf, 0x62, 0x07, 0xaa, 0x40, 0xed, 0x89, 0x24, - 0xce, 0x63, 0x08, 0xa5, 0x4f, 0xe2, 0x86, 0x2b, 0xc1, 0x6c, - 0x09, 0xa4, 0x4e, 0xe3, 0x87, 0x2a, 0xc0, 0x6d, 0x0a, 0xa7, - 0x4d, 0xe0, 0x84, 0x29, 0xc3, 0x6e, 0x0b, 0xa6, 0x4c, 0xe1, - 0x85, 0x28, 0xc2, 0x6f, 0x0c, 0xa1, 0x4b, 0xe6, 0x82, 0x2f, - 0xc5, 0x68, 0x0d, 0xa0, 0x4a, 0xe7, 0x83, 0x2e, 0xc4, 0x69, - 0x0e, 0xa3, 0x49, 0xe4, 0x80, 0x2d, 0xc7, 0x6a, 0x0f, 0xa2, - 0x48, 0xe5, 0x81, 0x2c, 0xc6, 0x6b, 0x10, 0xbd, 0x57, 0xfa, - 0x9e, 0x33, 0xd9, 0x74, 0x11, 0xbc, 0x56, 0xfb, 0x9f, 0x32, - 0xd8, 0x75, 0x12, 0xbf, 0x55, 0xf8, 0x9c, 0x31, 0xdb, 0x76, - 0x13, 0xbe, 0x54, 0xf9, 0x9d, 0x30, 0xda, 0x77, 0x14, 0xb9, - 0x53, 0xfe, 0x9a, 0x37, 0xdd, 0x70, 0x15, 0xb8, 0x52, 0xff, - 0x9b, 0x36, 0xdc, 0x71, 0x16, 0xbb, 0x51, 0xfc, 0x98, 0x35, - 0xdf, 0x72, 0x17, 0xba, 0x50, 0xfd, 0x99, 0x34, 0xde, 0x73, - 0x18, 0xb5, 0x5f, 0xf2, 0x96, 0x3b, 0xd1, 0x7c, 0x19, 0xb4, - 0x5e, 0xf3, 0x97, 0x3a, 0xd0, 0x7d, 0x1a, 0xb7, 0x5d, 0xf0, - 0x94, 0x39, 0xd3, 0x7e, 0x1b, 0xb6, 0x5c, 0xf1, 0x95, 0x38, - 0xd2, 0x7f, 0x1c, 0xb1, 0x5b, 0xf6, 0x92, 0x3f, 0xd5, 0x78, - 0x1d, 0xb0, 0x5a, 0xf7, 0x93, 0x3e, 0xd4, 0x79, 0x1e, 0xb3, - 0x59, 0xf4, 0x90, 0x3d, 0xd7, 0x7a, 0x1f, 0xb2, 0x58, 0xf5, - 0x91, 0x3c, 0xd6, 0x7b, 0x00, 0xae, 0x41, 0xef, 0x82, 0x2c, - 0xc3, 0x6d, 0x19, 0xb7, 0x58, 0xf6, 0x9b, 0x35, 0xda, 0x74, - 0x32, 0x9c, 0x73, 0xdd, 0xb0, 0x1e, 0xf1, 0x5f, 0x2b, 0x85, - 0x6a, 0xc4, 0xa9, 0x07, 0xe8, 0x46, 0x64, 0xca, 0x25, 0x8b, - 0xe6, 0x48, 0xa7, 0x09, 0x7d, 0xd3, 0x3c, 0x92, 0xff, 0x51, - 0xbe, 0x10, 0x56, 0xf8, 0x17, 0xb9, 0xd4, 0x7a, 0x95, 0x3b, - 0x4f, 0xe1, 0x0e, 0xa0, 0xcd, 0x63, 0x8c, 0x22, 0xc8, 0x66, - 0x89, 0x27, 0x4a, 0xe4, 0x0b, 0xa5, 0xd1, 0x7f, 0x90, 0x3e, - 0x53, 0xfd, 0x12, 0xbc, 0xfa, 0x54, 0xbb, 0x15, 0x78, 0xd6, - 0x39, 0x97, 0xe3, 0x4d, 0xa2, 0x0c, 0x61, 0xcf, 0x20, 0x8e, - 0xac, 0x02, 0xed, 0x43, 0x2e, 0x80, 0x6f, 0xc1, 0xb5, 0x1b, - 0xf4, 0x5a, 0x37, 0x99, 0x76, 0xd8, 0x9e, 0x30, 0xdf, 0x71, - 0x1c, 0xb2, 0x5d, 0xf3, 0x87, 0x29, 0xc6, 0x68, 0x05, 0xab, - 0x44, 0xea, 0x8d, 0x23, 0xcc, 0x62, 0x0f, 0xa1, 0x4e, 0xe0, - 0x94, 0x3a, 0xd5, 0x7b, 0x16, 0xb8, 0x57, 0xf9, 0xbf, 0x11, - 0xfe, 0x50, 0x3d, 0x93, 0x7c, 0xd2, 0xa6, 0x08, 0xe7, 0x49, - 0x24, 0x8a, 0x65, 0xcb, 0xe9, 0x47, 0xa8, 0x06, 0x6b, 0xc5, - 0x2a, 0x84, 0xf0, 0x5e, 0xb1, 0x1f, 0x72, 0xdc, 0x33, 0x9d, - 0xdb, 0x75, 0x9a, 0x34, 0x59, 0xf7, 0x18, 0xb6, 0xc2, 0x6c, - 0x83, 0x2d, 0x40, 0xee, 0x01, 0xaf, 0x45, 0xeb, 0x04, 0xaa, - 0xc7, 0x69, 0x86, 0x28, 0x5c, 0xf2, 0x1d, 0xb3, 0xde, 0x70, - 0x9f, 0x31, 0x77, 0xd9, 0x36, 0x98, 0xf5, 0x5b, 0xb4, 0x1a, - 0x6e, 0xc0, 0x2f, 0x81, 0xec, 0x42, 0xad, 0x03, 0x21, 0x8f, - 0x60, 0xce, 0xa3, 0x0d, 0xe2, 0x4c, 0x38, 0x96, 0x79, 0xd7, - 0xba, 0x14, 0xfb, 0x55, 0x13, 0xbd, 0x52, 0xfc, 0x91, 0x3f, - 0xd0, 0x7e, 0x0a, 0xa4, 0x4b, 0xe5, 0x88, 0x26, 0xc9, 0x67, - 0x00, 0xaf, 0x43, 0xec, 0x86, 0x29, 0xc5, 0x6a, 0x11, 0xbe, - 0x52, 0xfd, 0x97, 0x38, 0xd4, 0x7b, 0x22, 0x8d, 0x61, 0xce, - 0xa4, 0x0b, 0xe7, 0x48, 0x33, 0x9c, 0x70, 0xdf, 0xb5, 0x1a, - 0xf6, 0x59, 0x44, 0xeb, 0x07, 0xa8, 0xc2, 0x6d, 0x81, 0x2e, - 0x55, 0xfa, 0x16, 0xb9, 0xd3, 0x7c, 0x90, 0x3f, 0x66, 0xc9, - 0x25, 0x8a, 0xe0, 0x4f, 0xa3, 0x0c, 0x77, 0xd8, 0x34, 0x9b, - 0xf1, 0x5e, 0xb2, 0x1d, 0x88, 0x27, 0xcb, 0x64, 0x0e, 0xa1, - 0x4d, 0xe2, 0x99, 0x36, 0xda, 0x75, 0x1f, 0xb0, 0x5c, 0xf3, - 0xaa, 0x05, 0xe9, 0x46, 0x2c, 0x83, 0x6f, 0xc0, 0xbb, 0x14, - 0xf8, 0x57, 0x3d, 0x92, 0x7e, 0xd1, 0xcc, 0x63, 0x8f, 0x20, - 0x4a, 0xe5, 0x09, 0xa6, 0xdd, 0x72, 0x9e, 0x31, 0x5b, 0xf4, - 0x18, 0xb7, 0xee, 0x41, 0xad, 0x02, 0x68, 0xc7, 0x2b, 0x84, - 0xff, 0x50, 0xbc, 0x13, 0x79, 0xd6, 0x3a, 0x95, 0x0d, 0xa2, - 0x4e, 0xe1, 0x8b, 0x24, 0xc8, 0x67, 0x1c, 0xb3, 0x5f, 0xf0, - 0x9a, 0x35, 0xd9, 0x76, 0x2f, 0x80, 0x6c, 0xc3, 0xa9, 0x06, - 0xea, 0x45, 0x3e, 0x91, 0x7d, 0xd2, 0xb8, 0x17, 0xfb, 0x54, - 0x49, 0xe6, 0x0a, 0xa5, 0xcf, 0x60, 0x8c, 0x23, 0x58, 0xf7, - 0x1b, 0xb4, 0xde, 0x71, 0x9d, 0x32, 0x6b, 0xc4, 0x28, 0x87, - 0xed, 0x42, 0xae, 0x01, 0x7a, 0xd5, 0x39, 0x96, 0xfc, 0x53, - 0xbf, 0x10, 0x85, 0x2a, 0xc6, 0x69, 0x03, 0xac, 0x40, 0xef, - 0x94, 0x3b, 0xd7, 0x78, 0x12, 0xbd, 0x51, 0xfe, 0xa7, 0x08, - 0xe4, 0x4b, 0x21, 0x8e, 0x62, 0xcd, 0xb6, 0x19, 0xf5, 0x5a, - 0x30, 0x9f, 0x73, 0xdc, 0xc1, 0x6e, 0x82, 0x2d, 0x47, 0xe8, - 0x04, 0xab, 0xd0, 0x7f, 0x93, 0x3c, 0x56, 0xf9, 0x15, 0xba, - 0xe3, 0x4c, 0xa0, 0x0f, 0x65, 0xca, 0x26, 0x89, 0xf2, 0x5d, - 0xb1, 0x1e, 0x74, 0xdb, 0x37, 0x98, 0x00, 0xb0, 0x7d, 0xcd, - 0xfa, 0x4a, 0x87, 0x37, 0xe9, 0x59, 0x94, 0x24, 0x13, 0xa3, - 0x6e, 0xde, 0xcf, 0x7f, 0xb2, 0x02, 0x35, 0x85, 0x48, 0xf8, - 0x26, 0x96, 0x5b, 0xeb, 0xdc, 0x6c, 0xa1, 0x11, 0x83, 0x33, - 0xfe, 0x4e, 0x79, 0xc9, 0x04, 0xb4, 0x6a, 0xda, 0x17, 0xa7, - 0x90, 0x20, 0xed, 0x5d, 0x4c, 0xfc, 0x31, 0x81, 0xb6, 0x06, - 0xcb, 0x7b, 0xa5, 0x15, 0xd8, 0x68, 0x5f, 0xef, 0x22, 0x92, - 0x1b, 0xab, 0x66, 0xd6, 0xe1, 0x51, 0x9c, 0x2c, 0xf2, 0x42, - 0x8f, 0x3f, 0x08, 0xb8, 0x75, 0xc5, 0xd4, 0x64, 0xa9, 0x19, - 0x2e, 0x9e, 0x53, 0xe3, 0x3d, 0x8d, 0x40, 0xf0, 0xc7, 0x77, - 0xba, 0x0a, 0x98, 0x28, 0xe5, 0x55, 0x62, 0xd2, 0x1f, 0xaf, - 0x71, 0xc1, 0x0c, 0xbc, 0x8b, 0x3b, 0xf6, 0x46, 0x57, 0xe7, - 0x2a, 0x9a, 0xad, 0x1d, 0xd0, 0x60, 0xbe, 0x0e, 0xc3, 0x73, - 0x44, 0xf4, 0x39, 0x89, 0x36, 0x86, 0x4b, 0xfb, 0xcc, 0x7c, - 0xb1, 0x01, 0xdf, 0x6f, 0xa2, 0x12, 0x25, 0x95, 0x58, 0xe8, - 0xf9, 0x49, 0x84, 0x34, 0x03, 0xb3, 0x7e, 0xce, 0x10, 0xa0, - 0x6d, 0xdd, 0xea, 0x5a, 0x97, 0x27, 0xb5, 0x05, 0xc8, 0x78, - 0x4f, 0xff, 0x32, 0x82, 0x5c, 0xec, 0x21, 0x91, 0xa6, 0x16, - 0xdb, 0x6b, 0x7a, 0xca, 0x07, 0xb7, 0x80, 0x30, 0xfd, 0x4d, - 0x93, 0x23, 0xee, 0x5e, 0x69, 0xd9, 0x14, 0xa4, 0x2d, 0x9d, - 0x50, 0xe0, 0xd7, 0x67, 0xaa, 0x1a, 0xc4, 0x74, 0xb9, 0x09, - 0x3e, 0x8e, 0x43, 0xf3, 0xe2, 0x52, 0x9f, 0x2f, 0x18, 0xa8, - 0x65, 0xd5, 0x0b, 0xbb, 0x76, 0xc6, 0xf1, 0x41, 0x8c, 0x3c, - 0xae, 0x1e, 0xd3, 0x63, 0x54, 0xe4, 0x29, 0x99, 0x47, 0xf7, - 0x3a, 0x8a, 0xbd, 0x0d, 0xc0, 0x70, 0x61, 0xd1, 0x1c, 0xac, - 0x9b, 0x2b, 0xe6, 0x56, 0x88, 0x38, 0xf5, 0x45, 0x72, 0xc2, - 0x0f, 0xbf, 0x00, 0xb1, 0x7f, 0xce, 0xfe, 0x4f, 0x81, 0x30, - 0xe1, 0x50, 0x9e, 0x2f, 0x1f, 0xae, 0x60, 0xd1, 0xdf, 0x6e, - 0xa0, 0x11, 0x21, 0x90, 0x5e, 0xef, 0x3e, 0x8f, 0x41, 0xf0, - 0xc0, 0x71, 0xbf, 0x0e, 0xa3, 0x12, 0xdc, 0x6d, 0x5d, 0xec, - 0x22, 0x93, 0x42, 0xf3, 0x3d, 0x8c, 0xbc, 0x0d, 0xc3, 0x72, - 0x7c, 0xcd, 0x03, 0xb2, 0x82, 0x33, 0xfd, 0x4c, 0x9d, 0x2c, - 0xe2, 0x53, 0x63, 0xd2, 0x1c, 0xad, 0x5b, 0xea, 0x24, 0x95, - 0xa5, 0x14, 0xda, 0x6b, 0xba, 0x0b, 0xc5, 0x74, 0x44, 0xf5, - 0x3b, 0x8a, 0x84, 0x35, 0xfb, 0x4a, 0x7a, 0xcb, 0x05, 0xb4, - 0x65, 0xd4, 0x1a, 0xab, 0x9b, 0x2a, 0xe4, 0x55, 0xf8, 0x49, - 0x87, 0x36, 0x06, 0xb7, 0x79, 0xc8, 0x19, 0xa8, 0x66, 0xd7, - 0xe7, 0x56, 0x98, 0x29, 0x27, 0x96, 0x58, 0xe9, 0xd9, 0x68, - 0xa6, 0x17, 0xc6, 0x77, 0xb9, 0x08, 0x38, 0x89, 0x47, 0xf6, - 0xb6, 0x07, 0xc9, 0x78, 0x48, 0xf9, 0x37, 0x86, 0x57, 0xe6, - 0x28, 0x99, 0xa9, 0x18, 0xd6, 0x67, 0x69, 0xd8, 0x16, 0xa7, - 0x97, 0x26, 0xe8, 0x59, 0x88, 0x39, 0xf7, 0x46, 0x76, 0xc7, - 0x09, 0xb8, 0x15, 0xa4, 0x6a, 0xdb, 0xeb, 0x5a, 0x94, 0x25, - 0xf4, 0x45, 0x8b, 0x3a, 0x0a, 0xbb, 0x75, 0xc4, 0xca, 0x7b, - 0xb5, 0x04, 0x34, 0x85, 0x4b, 0xfa, 0x2b, 0x9a, 0x54, 0xe5, - 0xd5, 0x64, 0xaa, 0x1b, 0xed, 0x5c, 0x92, 0x23, 0x13, 0xa2, - 0x6c, 0xdd, 0x0c, 0xbd, 0x73, 0xc2, 0xf2, 0x43, 0x8d, 0x3c, - 0x32, 0x83, 0x4d, 0xfc, 0xcc, 0x7d, 0xb3, 0x02, 0xd3, 0x62, - 0xac, 0x1d, 0x2d, 0x9c, 0x52, 0xe3, 0x4e, 0xff, 0x31, 0x80, - 0xb0, 0x01, 0xcf, 0x7e, 0xaf, 0x1e, 0xd0, 0x61, 0x51, 0xe0, - 0x2e, 0x9f, 0x91, 0x20, 0xee, 0x5f, 0x6f, 0xde, 0x10, 0xa1, - 0x70, 0xc1, 0x0f, 0xbe, 0x8e, 0x3f, 0xf1, 0x40, 0x00, 0xb2, - 0x79, 0xcb, 0xf2, 0x40, 0x8b, 0x39, 0xf9, 0x4b, 0x80, 0x32, - 0x0b, 0xb9, 0x72, 0xc0, 0xef, 0x5d, 0x96, 0x24, 0x1d, 0xaf, - 0x64, 0xd6, 0x16, 0xa4, 0x6f, 0xdd, 0xe4, 0x56, 0x9d, 0x2f, - 0xc3, 0x71, 0xba, 0x08, 0x31, 0x83, 0x48, 0xfa, 0x3a, 0x88, - 0x43, 0xf1, 0xc8, 0x7a, 0xb1, 0x03, 0x2c, 0x9e, 0x55, 0xe7, - 0xde, 0x6c, 0xa7, 0x15, 0xd5, 0x67, 0xac, 0x1e, 0x27, 0x95, - 0x5e, 0xec, 0x9b, 0x29, 0xe2, 0x50, 0x69, 0xdb, 0x10, 0xa2, - 0x62, 0xd0, 0x1b, 0xa9, 0x90, 0x22, 0xe9, 0x5b, 0x74, 0xc6, - 0x0d, 0xbf, 0x86, 0x34, 0xff, 0x4d, 0x8d, 0x3f, 0xf4, 0x46, - 0x7f, 0xcd, 0x06, 0xb4, 0x58, 0xea, 0x21, 0x93, 0xaa, 0x18, - 0xd3, 0x61, 0xa1, 0x13, 0xd8, 0x6a, 0x53, 0xe1, 0x2a, 0x98, - 0xb7, 0x05, 0xce, 0x7c, 0x45, 0xf7, 0x3c, 0x8e, 0x4e, 0xfc, - 0x37, 0x85, 0xbc, 0x0e, 0xc5, 0x77, 0x2b, 0x99, 0x52, 0xe0, - 0xd9, 0x6b, 0xa0, 0x12, 0xd2, 0x60, 0xab, 0x19, 0x20, 0x92, - 0x59, 0xeb, 0xc4, 0x76, 0xbd, 0x0f, 0x36, 0x84, 0x4f, 0xfd, - 0x3d, 0x8f, 0x44, 0xf6, 0xcf, 0x7d, 0xb6, 0x04, 0xe8, 0x5a, - 0x91, 0x23, 0x1a, 0xa8, 0x63, 0xd1, 0x11, 0xa3, 0x68, 0xda, - 0xe3, 0x51, 0x9a, 0x28, 0x07, 0xb5, 0x7e, 0xcc, 0xf5, 0x47, - 0x8c, 0x3e, 0xfe, 0x4c, 0x87, 0x35, 0x0c, 0xbe, 0x75, 0xc7, - 0xb0, 0x02, 0xc9, 0x7b, 0x42, 0xf0, 0x3b, 0x89, 0x49, 0xfb, - 0x30, 0x82, 0xbb, 0x09, 0xc2, 0x70, 0x5f, 0xed, 0x26, 0x94, - 0xad, 0x1f, 0xd4, 0x66, 0xa6, 0x14, 0xdf, 0x6d, 0x54, 0xe6, - 0x2d, 0x9f, 0x73, 0xc1, 0x0a, 0xb8, 0x81, 0x33, 0xf8, 0x4a, - 0x8a, 0x38, 0xf3, 0x41, 0x78, 0xca, 0x01, 0xb3, 0x9c, 0x2e, - 0xe5, 0x57, 0x6e, 0xdc, 0x17, 0xa5, 0x65, 0xd7, 0x1c, 0xae, - 0x97, 0x25, 0xee, 0x5c, 0x00, 0xb3, 0x7b, 0xc8, 0xf6, 0x45, - 0x8d, 0x3e, 0xf1, 0x42, 0x8a, 0x39, 0x07, 0xb4, 0x7c, 0xcf, - 0xff, 0x4c, 0x84, 0x37, 0x09, 0xba, 0x72, 0xc1, 0x0e, 0xbd, - 0x75, 0xc6, 0xf8, 0x4b, 0x83, 0x30, 0xe3, 0x50, 0x98, 0x2b, - 0x15, 0xa6, 0x6e, 0xdd, 0x12, 0xa1, 0x69, 0xda, 0xe4, 0x57, - 0x9f, 0x2c, 0x1c, 0xaf, 0x67, 0xd4, 0xea, 0x59, 0x91, 0x22, - 0xed, 0x5e, 0x96, 0x25, 0x1b, 0xa8, 0x60, 0xd3, 0xdb, 0x68, - 0xa0, 0x13, 0x2d, 0x9e, 0x56, 0xe5, 0x2a, 0x99, 0x51, 0xe2, - 0xdc, 0x6f, 0xa7, 0x14, 0x24, 0x97, 0x5f, 0xec, 0xd2, 0x61, - 0xa9, 0x1a, 0xd5, 0x66, 0xae, 0x1d, 0x23, 0x90, 0x58, 0xeb, - 0x38, 0x8b, 0x43, 0xf0, 0xce, 0x7d, 0xb5, 0x06, 0xc9, 0x7a, - 0xb2, 0x01, 0x3f, 0x8c, 0x44, 0xf7, 0xc7, 0x74, 0xbc, 0x0f, - 0x31, 0x82, 0x4a, 0xf9, 0x36, 0x85, 0x4d, 0xfe, 0xc0, 0x73, - 0xbb, 0x08, 0xab, 0x18, 0xd0, 0x63, 0x5d, 0xee, 0x26, 0x95, - 0x5a, 0xe9, 0x21, 0x92, 0xac, 0x1f, 0xd7, 0x64, 0x54, 0xe7, - 0x2f, 0x9c, 0xa2, 0x11, 0xd9, 0x6a, 0xa5, 0x16, 0xde, 0x6d, - 0x53, 0xe0, 0x28, 0x9b, 0x48, 0xfb, 0x33, 0x80, 0xbe, 0x0d, - 0xc5, 0x76, 0xb9, 0x0a, 0xc2, 0x71, 0x4f, 0xfc, 0x34, 0x87, - 0xb7, 0x04, 0xcc, 0x7f, 0x41, 0xf2, 0x3a, 0x89, 0x46, 0xf5, - 0x3d, 0x8e, 0xb0, 0x03, 0xcb, 0x78, 0x70, 0xc3, 0x0b, 0xb8, - 0x86, 0x35, 0xfd, 0x4e, 0x81, 0x32, 0xfa, 0x49, 0x77, 0xc4, - 0x0c, 0xbf, 0x8f, 0x3c, 0xf4, 0x47, 0x79, 0xca, 0x02, 0xb1, - 0x7e, 0xcd, 0x05, 0xb6, 0x88, 0x3b, 0xf3, 0x40, 0x93, 0x20, - 0xe8, 0x5b, 0x65, 0xd6, 0x1e, 0xad, 0x62, 0xd1, 0x19, 0xaa, - 0x94, 0x27, 0xef, 0x5c, 0x6c, 0xdf, 0x17, 0xa4, 0x9a, 0x29, - 0xe1, 0x52, 0x9d, 0x2e, 0xe6, 0x55, 0x6b, 0xd8, 0x10, 0xa3, - 0x00, 0xb4, 0x75, 0xc1, 0xea, 0x5e, 0x9f, 0x2b, 0xc9, 0x7d, - 0xbc, 0x08, 0x23, 0x97, 0x56, 0xe2, 0x8f, 0x3b, 0xfa, 0x4e, - 0x65, 0xd1, 0x10, 0xa4, 0x46, 0xf2, 0x33, 0x87, 0xac, 0x18, - 0xd9, 0x6d, 0x03, 0xb7, 0x76, 0xc2, 0xe9, 0x5d, 0x9c, 0x28, - 0xca, 0x7e, 0xbf, 0x0b, 0x20, 0x94, 0x55, 0xe1, 0x8c, 0x38, - 0xf9, 0x4d, 0x66, 0xd2, 0x13, 0xa7, 0x45, 0xf1, 0x30, 0x84, - 0xaf, 0x1b, 0xda, 0x6e, 0x06, 0xb2, 0x73, 0xc7, 0xec, 0x58, - 0x99, 0x2d, 0xcf, 0x7b, 0xba, 0x0e, 0x25, 0x91, 0x50, 0xe4, - 0x89, 0x3d, 0xfc, 0x48, 0x63, 0xd7, 0x16, 0xa2, 0x40, 0xf4, - 0x35, 0x81, 0xaa, 0x1e, 0xdf, 0x6b, 0x05, 0xb1, 0x70, 0xc4, - 0xef, 0x5b, 0x9a, 0x2e, 0xcc, 0x78, 0xb9, 0x0d, 0x26, 0x92, - 0x53, 0xe7, 0x8a, 0x3e, 0xff, 0x4b, 0x60, 0xd4, 0x15, 0xa1, - 0x43, 0xf7, 0x36, 0x82, 0xa9, 0x1d, 0xdc, 0x68, 0x0c, 0xb8, - 0x79, 0xcd, 0xe6, 0x52, 0x93, 0x27, 0xc5, 0x71, 0xb0, 0x04, - 0x2f, 0x9b, 0x5a, 0xee, 0x83, 0x37, 0xf6, 0x42, 0x69, 0xdd, - 0x1c, 0xa8, 0x4a, 0xfe, 0x3f, 0x8b, 0xa0, 0x14, 0xd5, 0x61, - 0x0f, 0xbb, 0x7a, 0xce, 0xe5, 0x51, 0x90, 0x24, 0xc6, 0x72, - 0xb3, 0x07, 0x2c, 0x98, 0x59, 0xed, 0x80, 0x34, 0xf5, 0x41, - 0x6a, 0xde, 0x1f, 0xab, 0x49, 0xfd, 0x3c, 0x88, 0xa3, 0x17, - 0xd6, 0x62, 0x0a, 0xbe, 0x7f, 0xcb, 0xe0, 0x54, 0x95, 0x21, - 0xc3, 0x77, 0xb6, 0x02, 0x29, 0x9d, 0x5c, 0xe8, 0x85, 0x31, - 0xf0, 0x44, 0x6f, 0xdb, 0x1a, 0xae, 0x4c, 0xf8, 0x39, 0x8d, - 0xa6, 0x12, 0xd3, 0x67, 0x09, 0xbd, 0x7c, 0xc8, 0xe3, 0x57, - 0x96, 0x22, 0xc0, 0x74, 0xb5, 0x01, 0x2a, 0x9e, 0x5f, 0xeb, - 0x86, 0x32, 0xf3, 0x47, 0x6c, 0xd8, 0x19, 0xad, 0x4f, 0xfb, - 0x3a, 0x8e, 0xa5, 0x11, 0xd0, 0x64, 0x00, 0xb5, 0x77, 0xc2, - 0xee, 0x5b, 0x99, 0x2c, 0xc1, 0x74, 0xb6, 0x03, 0x2f, 0x9a, - 0x58, 0xed, 0x9f, 0x2a, 0xe8, 0x5d, 0x71, 0xc4, 0x06, 0xb3, - 0x5e, 0xeb, 0x29, 0x9c, 0xb0, 0x05, 0xc7, 0x72, 0x23, 0x96, - 0x54, 0xe1, 0xcd, 0x78, 0xba, 0x0f, 0xe2, 0x57, 0x95, 0x20, - 0x0c, 0xb9, 0x7b, 0xce, 0xbc, 0x09, 0xcb, 0x7e, 0x52, 0xe7, - 0x25, 0x90, 0x7d, 0xc8, 0x0a, 0xbf, 0x93, 0x26, 0xe4, 0x51, - 0x46, 0xf3, 0x31, 0x84, 0xa8, 0x1d, 0xdf, 0x6a, 0x87, 0x32, - 0xf0, 0x45, 0x69, 0xdc, 0x1e, 0xab, 0xd9, 0x6c, 0xae, 0x1b, - 0x37, 0x82, 0x40, 0xf5, 0x18, 0xad, 0x6f, 0xda, 0xf6, 0x43, - 0x81, 0x34, 0x65, 0xd0, 0x12, 0xa7, 0x8b, 0x3e, 0xfc, 0x49, - 0xa4, 0x11, 0xd3, 0x66, 0x4a, 0xff, 0x3d, 0x88, 0xfa, 0x4f, - 0x8d, 0x38, 0x14, 0xa1, 0x63, 0xd6, 0x3b, 0x8e, 0x4c, 0xf9, - 0xd5, 0x60, 0xa2, 0x17, 0x8c, 0x39, 0xfb, 0x4e, 0x62, 0xd7, - 0x15, 0xa0, 0x4d, 0xf8, 0x3a, 0x8f, 0xa3, 0x16, 0xd4, 0x61, - 0x13, 0xa6, 0x64, 0xd1, 0xfd, 0x48, 0x8a, 0x3f, 0xd2, 0x67, - 0xa5, 0x10, 0x3c, 0x89, 0x4b, 0xfe, 0xaf, 0x1a, 0xd8, 0x6d, - 0x41, 0xf4, 0x36, 0x83, 0x6e, 0xdb, 0x19, 0xac, 0x80, 0x35, - 0xf7, 0x42, 0x30, 0x85, 0x47, 0xf2, 0xde, 0x6b, 0xa9, 0x1c, - 0xf1, 0x44, 0x86, 0x33, 0x1f, 0xaa, 0x68, 0xdd, 0xca, 0x7f, - 0xbd, 0x08, 0x24, 0x91, 0x53, 0xe6, 0x0b, 0xbe, 0x7c, 0xc9, - 0xe5, 0x50, 0x92, 0x27, 0x55, 0xe0, 0x22, 0x97, 0xbb, 0x0e, - 0xcc, 0x79, 0x94, 0x21, 0xe3, 0x56, 0x7a, 0xcf, 0x0d, 0xb8, - 0xe9, 0x5c, 0x9e, 0x2b, 0x07, 0xb2, 0x70, 0xc5, 0x28, 0x9d, - 0x5f, 0xea, 0xc6, 0x73, 0xb1, 0x04, 0x76, 0xc3, 0x01, 0xb4, - 0x98, 0x2d, 0xef, 0x5a, 0xb7, 0x02, 0xc0, 0x75, 0x59, 0xec, - 0x2e, 0x9b, 0x00, 0xb6, 0x71, 0xc7, 0xe2, 0x54, 0x93, 0x25, - 0xd9, 0x6f, 0xa8, 0x1e, 0x3b, 0x8d, 0x4a, 0xfc, 0xaf, 0x19, - 0xde, 0x68, 0x4d, 0xfb, 0x3c, 0x8a, 0x76, 0xc0, 0x07, 0xb1, - 0x94, 0x22, 0xe5, 0x53, 0x43, 0xf5, 0x32, 0x84, 0xa1, 0x17, - 0xd0, 0x66, 0x9a, 0x2c, 0xeb, 0x5d, 0x78, 0xce, 0x09, 0xbf, - 0xec, 0x5a, 0x9d, 0x2b, 0x0e, 0xb8, 0x7f, 0xc9, 0x35, 0x83, - 0x44, 0xf2, 0xd7, 0x61, 0xa6, 0x10, 0x86, 0x30, 0xf7, 0x41, - 0x64, 0xd2, 0x15, 0xa3, 0x5f, 0xe9, 0x2e, 0x98, 0xbd, 0x0b, - 0xcc, 0x7a, 0x29, 0x9f, 0x58, 0xee, 0xcb, 0x7d, 0xba, 0x0c, - 0xf0, 0x46, 0x81, 0x37, 0x12, 0xa4, 0x63, 0xd5, 0xc5, 0x73, - 0xb4, 0x02, 0x27, 0x91, 0x56, 0xe0, 0x1c, 0xaa, 0x6d, 0xdb, - 0xfe, 0x48, 0x8f, 0x39, 0x6a, 0xdc, 0x1b, 0xad, 0x88, 0x3e, - 0xf9, 0x4f, 0xb3, 0x05, 0xc2, 0x74, 0x51, 0xe7, 0x20, 0x96, - 0x11, 0xa7, 0x60, 0xd6, 0xf3, 0x45, 0x82, 0x34, 0xc8, 0x7e, - 0xb9, 0x0f, 0x2a, 0x9c, 0x5b, 0xed, 0xbe, 0x08, 0xcf, 0x79, - 0x5c, 0xea, 0x2d, 0x9b, 0x67, 0xd1, 0x16, 0xa0, 0x85, 0x33, - 0xf4, 0x42, 0x52, 0xe4, 0x23, 0x95, 0xb0, 0x06, 0xc1, 0x77, - 0x8b, 0x3d, 0xfa, 0x4c, 0x69, 0xdf, 0x18, 0xae, 0xfd, 0x4b, - 0x8c, 0x3a, 0x1f, 0xa9, 0x6e, 0xd8, 0x24, 0x92, 0x55, 0xe3, - 0xc6, 0x70, 0xb7, 0x01, 0x97, 0x21, 0xe6, 0x50, 0x75, 0xc3, - 0x04, 0xb2, 0x4e, 0xf8, 0x3f, 0x89, 0xac, 0x1a, 0xdd, 0x6b, - 0x38, 0x8e, 0x49, 0xff, 0xda, 0x6c, 0xab, 0x1d, 0xe1, 0x57, - 0x90, 0x26, 0x03, 0xb5, 0x72, 0xc4, 0xd4, 0x62, 0xa5, 0x13, - 0x36, 0x80, 0x47, 0xf1, 0x0d, 0xbb, 0x7c, 0xca, 0xef, 0x59, - 0x9e, 0x28, 0x7b, 0xcd, 0x0a, 0xbc, 0x99, 0x2f, 0xe8, 0x5e, - 0xa2, 0x14, 0xd3, 0x65, 0x40, 0xf6, 0x31, 0x87, 0x00, 0xb7, - 0x73, 0xc4, 0xe6, 0x51, 0x95, 0x22, 0xd1, 0x66, 0xa2, 0x15, - 0x37, 0x80, 0x44, 0xf3, 0xbf, 0x08, 0xcc, 0x7b, 0x59, 0xee, - 0x2a, 0x9d, 0x6e, 0xd9, 0x1d, 0xaa, 0x88, 0x3f, 0xfb, 0x4c, - 0x63, 0xd4, 0x10, 0xa7, 0x85, 0x32, 0xf6, 0x41, 0xb2, 0x05, - 0xc1, 0x76, 0x54, 0xe3, 0x27, 0x90, 0xdc, 0x6b, 0xaf, 0x18, - 0x3a, 0x8d, 0x49, 0xfe, 0x0d, 0xba, 0x7e, 0xc9, 0xeb, 0x5c, - 0x98, 0x2f, 0xc6, 0x71, 0xb5, 0x02, 0x20, 0x97, 0x53, 0xe4, - 0x17, 0xa0, 0x64, 0xd3, 0xf1, 0x46, 0x82, 0x35, 0x79, 0xce, - 0x0a, 0xbd, 0x9f, 0x28, 0xec, 0x5b, 0xa8, 0x1f, 0xdb, 0x6c, - 0x4e, 0xf9, 0x3d, 0x8a, 0xa5, 0x12, 0xd6, 0x61, 0x43, 0xf4, - 0x30, 0x87, 0x74, 0xc3, 0x07, 0xb0, 0x92, 0x25, 0xe1, 0x56, - 0x1a, 0xad, 0x69, 0xde, 0xfc, 0x4b, 0x8f, 0x38, 0xcb, 0x7c, - 0xb8, 0x0f, 0x2d, 0x9a, 0x5e, 0xe9, 0x91, 0x26, 0xe2, 0x55, - 0x77, 0xc0, 0x04, 0xb3, 0x40, 0xf7, 0x33, 0x84, 0xa6, 0x11, - 0xd5, 0x62, 0x2e, 0x99, 0x5d, 0xea, 0xc8, 0x7f, 0xbb, 0x0c, - 0xff, 0x48, 0x8c, 0x3b, 0x19, 0xae, 0x6a, 0xdd, 0xf2, 0x45, - 0x81, 0x36, 0x14, 0xa3, 0x67, 0xd0, 0x23, 0x94, 0x50, 0xe7, - 0xc5, 0x72, 0xb6, 0x01, 0x4d, 0xfa, 0x3e, 0x89, 0xab, 0x1c, - 0xd8, 0x6f, 0x9c, 0x2b, 0xef, 0x58, 0x7a, 0xcd, 0x09, 0xbe, - 0x57, 0xe0, 0x24, 0x93, 0xb1, 0x06, 0xc2, 0x75, 0x86, 0x31, - 0xf5, 0x42, 0x60, 0xd7, 0x13, 0xa4, 0xe8, 0x5f, 0x9b, 0x2c, - 0x0e, 0xb9, 0x7d, 0xca, 0x39, 0x8e, 0x4a, 0xfd, 0xdf, 0x68, - 0xac, 0x1b, 0x34, 0x83, 0x47, 0xf0, 0xd2, 0x65, 0xa1, 0x16, - 0xe5, 0x52, 0x96, 0x21, 0x03, 0xb4, 0x70, 0xc7, 0x8b, 0x3c, - 0xf8, 0x4f, 0x6d, 0xda, 0x1e, 0xa9, 0x5a, 0xed, 0x29, 0x9e, - 0xbc, 0x0b, 0xcf, 0x78, 0x00, 0xb8, 0x6d, 0xd5, 0xda, 0x62, - 0xb7, 0x0f, 0xa9, 0x11, 0xc4, 0x7c, 0x73, 0xcb, 0x1e, 0xa6, - 0x4f, 0xf7, 0x22, 0x9a, 0x95, 0x2d, 0xf8, 0x40, 0xe6, 0x5e, - 0x8b, 0x33, 0x3c, 0x84, 0x51, 0xe9, 0x9e, 0x26, 0xf3, 0x4b, - 0x44, 0xfc, 0x29, 0x91, 0x37, 0x8f, 0x5a, 0xe2, 0xed, 0x55, - 0x80, 0x38, 0xd1, 0x69, 0xbc, 0x04, 0x0b, 0xb3, 0x66, 0xde, - 0x78, 0xc0, 0x15, 0xad, 0xa2, 0x1a, 0xcf, 0x77, 0x21, 0x99, - 0x4c, 0xf4, 0xfb, 0x43, 0x96, 0x2e, 0x88, 0x30, 0xe5, 0x5d, - 0x52, 0xea, 0x3f, 0x87, 0x6e, 0xd6, 0x03, 0xbb, 0xb4, 0x0c, - 0xd9, 0x61, 0xc7, 0x7f, 0xaa, 0x12, 0x1d, 0xa5, 0x70, 0xc8, - 0xbf, 0x07, 0xd2, 0x6a, 0x65, 0xdd, 0x08, 0xb0, 0x16, 0xae, - 0x7b, 0xc3, 0xcc, 0x74, 0xa1, 0x19, 0xf0, 0x48, 0x9d, 0x25, - 0x2a, 0x92, 0x47, 0xff, 0x59, 0xe1, 0x34, 0x8c, 0x83, 0x3b, - 0xee, 0x56, 0x42, 0xfa, 0x2f, 0x97, 0x98, 0x20, 0xf5, 0x4d, - 0xeb, 0x53, 0x86, 0x3e, 0x31, 0x89, 0x5c, 0xe4, 0x0d, 0xb5, - 0x60, 0xd8, 0xd7, 0x6f, 0xba, 0x02, 0xa4, 0x1c, 0xc9, 0x71, - 0x7e, 0xc6, 0x13, 0xab, 0xdc, 0x64, 0xb1, 0x09, 0x06, 0xbe, - 0x6b, 0xd3, 0x75, 0xcd, 0x18, 0xa0, 0xaf, 0x17, 0xc2, 0x7a, - 0x93, 0x2b, 0xfe, 0x46, 0x49, 0xf1, 0x24, 0x9c, 0x3a, 0x82, - 0x57, 0xef, 0xe0, 0x58, 0x8d, 0x35, 0x63, 0xdb, 0x0e, 0xb6, - 0xb9, 0x01, 0xd4, 0x6c, 0xca, 0x72, 0xa7, 0x1f, 0x10, 0xa8, - 0x7d, 0xc5, 0x2c, 0x94, 0x41, 0xf9, 0xf6, 0x4e, 0x9b, 0x23, - 0x85, 0x3d, 0xe8, 0x50, 0x5f, 0xe7, 0x32, 0x8a, 0xfd, 0x45, - 0x90, 0x28, 0x27, 0x9f, 0x4a, 0xf2, 0x54, 0xec, 0x39, 0x81, - 0x8e, 0x36, 0xe3, 0x5b, 0xb2, 0x0a, 0xdf, 0x67, 0x68, 0xd0, - 0x05, 0xbd, 0x1b, 0xa3, 0x76, 0xce, 0xc1, 0x79, 0xac, 0x14, - 0x00, 0xb9, 0x6f, 0xd6, 0xde, 0x67, 0xb1, 0x08, 0xa1, 0x18, - 0xce, 0x77, 0x7f, 0xc6, 0x10, 0xa9, 0x5f, 0xe6, 0x30, 0x89, - 0x81, 0x38, 0xee, 0x57, 0xfe, 0x47, 0x91, 0x28, 0x20, 0x99, - 0x4f, 0xf6, 0xbe, 0x07, 0xd1, 0x68, 0x60, 0xd9, 0x0f, 0xb6, - 0x1f, 0xa6, 0x70, 0xc9, 0xc1, 0x78, 0xae, 0x17, 0xe1, 0x58, - 0x8e, 0x37, 0x3f, 0x86, 0x50, 0xe9, 0x40, 0xf9, 0x2f, 0x96, - 0x9e, 0x27, 0xf1, 0x48, 0x61, 0xd8, 0x0e, 0xb7, 0xbf, 0x06, - 0xd0, 0x69, 0xc0, 0x79, 0xaf, 0x16, 0x1e, 0xa7, 0x71, 0xc8, - 0x3e, 0x87, 0x51, 0xe8, 0xe0, 0x59, 0x8f, 0x36, 0x9f, 0x26, - 0xf0, 0x49, 0x41, 0xf8, 0x2e, 0x97, 0xdf, 0x66, 0xb0, 0x09, - 0x01, 0xb8, 0x6e, 0xd7, 0x7e, 0xc7, 0x11, 0xa8, 0xa0, 0x19, - 0xcf, 0x76, 0x80, 0x39, 0xef, 0x56, 0x5e, 0xe7, 0x31, 0x88, - 0x21, 0x98, 0x4e, 0xf7, 0xff, 0x46, 0x90, 0x29, 0xc2, 0x7b, - 0xad, 0x14, 0x1c, 0xa5, 0x73, 0xca, 0x63, 0xda, 0x0c, 0xb5, - 0xbd, 0x04, 0xd2, 0x6b, 0x9d, 0x24, 0xf2, 0x4b, 0x43, 0xfa, - 0x2c, 0x95, 0x3c, 0x85, 0x53, 0xea, 0xe2, 0x5b, 0x8d, 0x34, - 0x7c, 0xc5, 0x13, 0xaa, 0xa2, 0x1b, 0xcd, 0x74, 0xdd, 0x64, - 0xb2, 0x0b, 0x03, 0xba, 0x6c, 0xd5, 0x23, 0x9a, 0x4c, 0xf5, - 0xfd, 0x44, 0x92, 0x2b, 0x82, 0x3b, 0xed, 0x54, 0x5c, 0xe5, - 0x33, 0x8a, 0xa3, 0x1a, 0xcc, 0x75, 0x7d, 0xc4, 0x12, 0xab, - 0x02, 0xbb, 0x6d, 0xd4, 0xdc, 0x65, 0xb3, 0x0a, 0xfc, 0x45, - 0x93, 0x2a, 0x22, 0x9b, 0x4d, 0xf4, 0x5d, 0xe4, 0x32, 0x8b, - 0x83, 0x3a, 0xec, 0x55, 0x1d, 0xa4, 0x72, 0xcb, 0xc3, 0x7a, - 0xac, 0x15, 0xbc, 0x05, 0xd3, 0x6a, 0x62, 0xdb, 0x0d, 0xb4, - 0x42, 0xfb, 0x2d, 0x94, 0x9c, 0x25, 0xf3, 0x4a, 0xe3, 0x5a, - 0x8c, 0x35, 0x3d, 0x84, 0x52, 0xeb, 0x00, 0xba, 0x69, 0xd3, - 0xd2, 0x68, 0xbb, 0x01, 0xb9, 0x03, 0xd0, 0x6a, 0x6b, 0xd1, - 0x02, 0xb8, 0x6f, 0xd5, 0x06, 0xbc, 0xbd, 0x07, 0xd4, 0x6e, - 0xd6, 0x6c, 0xbf, 0x05, 0x04, 0xbe, 0x6d, 0xd7, 0xde, 0x64, - 0xb7, 0x0d, 0x0c, 0xb6, 0x65, 0xdf, 0x67, 0xdd, 0x0e, 0xb4, - 0xb5, 0x0f, 0xdc, 0x66, 0xb1, 0x0b, 0xd8, 0x62, 0x63, 0xd9, - 0x0a, 0xb0, 0x08, 0xb2, 0x61, 0xdb, 0xda, 0x60, 0xb3, 0x09, - 0xa1, 0x1b, 0xc8, 0x72, 0x73, 0xc9, 0x1a, 0xa0, 0x18, 0xa2, - 0x71, 0xcb, 0xca, 0x70, 0xa3, 0x19, 0xce, 0x74, 0xa7, 0x1d, - 0x1c, 0xa6, 0x75, 0xcf, 0x77, 0xcd, 0x1e, 0xa4, 0xa5, 0x1f, - 0xcc, 0x76, 0x7f, 0xc5, 0x16, 0xac, 0xad, 0x17, 0xc4, 0x7e, - 0xc6, 0x7c, 0xaf, 0x15, 0x14, 0xae, 0x7d, 0xc7, 0x10, 0xaa, - 0x79, 0xc3, 0xc2, 0x78, 0xab, 0x11, 0xa9, 0x13, 0xc0, 0x7a, - 0x7b, 0xc1, 0x12, 0xa8, 0x5f, 0xe5, 0x36, 0x8c, 0x8d, 0x37, - 0xe4, 0x5e, 0xe6, 0x5c, 0x8f, 0x35, 0x34, 0x8e, 0x5d, 0xe7, - 0x30, 0x8a, 0x59, 0xe3, 0xe2, 0x58, 0x8b, 0x31, 0x89, 0x33, - 0xe0, 0x5a, 0x5b, 0xe1, 0x32, 0x88, 0x81, 0x3b, 0xe8, 0x52, - 0x53, 0xe9, 0x3a, 0x80, 0x38, 0x82, 0x51, 0xeb, 0xea, 0x50, - 0x83, 0x39, 0xee, 0x54, 0x87, 0x3d, 0x3c, 0x86, 0x55, 0xef, - 0x57, 0xed, 0x3e, 0x84, 0x85, 0x3f, 0xec, 0x56, 0xfe, 0x44, - 0x97, 0x2d, 0x2c, 0x96, 0x45, 0xff, 0x47, 0xfd, 0x2e, 0x94, - 0x95, 0x2f, 0xfc, 0x46, 0x91, 0x2b, 0xf8, 0x42, 0x43, 0xf9, - 0x2a, 0x90, 0x28, 0x92, 0x41, 0xfb, 0xfa, 0x40, 0x93, 0x29, - 0x20, 0x9a, 0x49, 0xf3, 0xf2, 0x48, 0x9b, 0x21, 0x99, 0x23, - 0xf0, 0x4a, 0x4b, 0xf1, 0x22, 0x98, 0x4f, 0xf5, 0x26, 0x9c, - 0x9d, 0x27, 0xf4, 0x4e, 0xf6, 0x4c, 0x9f, 0x25, 0x24, 0x9e, - 0x4d, 0xf7, 0x00, 0xbb, 0x6b, 0xd0, 0xd6, 0x6d, 0xbd, 0x06, - 0xb1, 0x0a, 0xda, 0x61, 0x67, 0xdc, 0x0c, 0xb7, 0x7f, 0xc4, - 0x14, 0xaf, 0xa9, 0x12, 0xc2, 0x79, 0xce, 0x75, 0xa5, 0x1e, - 0x18, 0xa3, 0x73, 0xc8, 0xfe, 0x45, 0x95, 0x2e, 0x28, 0x93, - 0x43, 0xf8, 0x4f, 0xf4, 0x24, 0x9f, 0x99, 0x22, 0xf2, 0x49, - 0x81, 0x3a, 0xea, 0x51, 0x57, 0xec, 0x3c, 0x87, 0x30, 0x8b, - 0x5b, 0xe0, 0xe6, 0x5d, 0x8d, 0x36, 0xe1, 0x5a, 0x8a, 0x31, - 0x37, 0x8c, 0x5c, 0xe7, 0x50, 0xeb, 0x3b, 0x80, 0x86, 0x3d, - 0xed, 0x56, 0x9e, 0x25, 0xf5, 0x4e, 0x48, 0xf3, 0x23, 0x98, - 0x2f, 0x94, 0x44, 0xff, 0xf9, 0x42, 0x92, 0x29, 0x1f, 0xa4, - 0x74, 0xcf, 0xc9, 0x72, 0xa2, 0x19, 0xae, 0x15, 0xc5, 0x7e, - 0x78, 0xc3, 0x13, 0xa8, 0x60, 0xdb, 0x0b, 0xb0, 0xb6, 0x0d, - 0xdd, 0x66, 0xd1, 0x6a, 0xba, 0x01, 0x07, 0xbc, 0x6c, 0xd7, - 0xdf, 0x64, 0xb4, 0x0f, 0x09, 0xb2, 0x62, 0xd9, 0x6e, 0xd5, - 0x05, 0xbe, 0xb8, 0x03, 0xd3, 0x68, 0xa0, 0x1b, 0xcb, 0x70, - 0x76, 0xcd, 0x1d, 0xa6, 0x11, 0xaa, 0x7a, 0xc1, 0xc7, 0x7c, - 0xac, 0x17, 0x21, 0x9a, 0x4a, 0xf1, 0xf7, 0x4c, 0x9c, 0x27, - 0x90, 0x2b, 0xfb, 0x40, 0x46, 0xfd, 0x2d, 0x96, 0x5e, 0xe5, - 0x35, 0x8e, 0x88, 0x33, 0xe3, 0x58, 0xef, 0x54, 0x84, 0x3f, - 0x39, 0x82, 0x52, 0xe9, 0x3e, 0x85, 0x55, 0xee, 0xe8, 0x53, - 0x83, 0x38, 0x8f, 0x34, 0xe4, 0x5f, 0x59, 0xe2, 0x32, 0x89, - 0x41, 0xfa, 0x2a, 0x91, 0x97, 0x2c, 0xfc, 0x47, 0xf0, 0x4b, - 0x9b, 0x20, 0x26, 0x9d, 0x4d, 0xf6, 0xc0, 0x7b, 0xab, 0x10, - 0x16, 0xad, 0x7d, 0xc6, 0x71, 0xca, 0x1a, 0xa1, 0xa7, 0x1c, - 0xcc, 0x77, 0xbf, 0x04, 0xd4, 0x6f, 0x69, 0xd2, 0x02, 0xb9, - 0x0e, 0xb5, 0x65, 0xde, 0xd8, 0x63, 0xb3, 0x08, 0x00, 0xbc, - 0x65, 0xd9, 0xca, 0x76, 0xaf, 0x13, 0x89, 0x35, 0xec, 0x50, - 0x43, 0xff, 0x26, 0x9a, 0x0f, 0xb3, 0x6a, 0xd6, 0xc5, 0x79, - 0xa0, 0x1c, 0x86, 0x3a, 0xe3, 0x5f, 0x4c, 0xf0, 0x29, 0x95, - 0x1e, 0xa2, 0x7b, 0xc7, 0xd4, 0x68, 0xb1, 0x0d, 0x97, 0x2b, - 0xf2, 0x4e, 0x5d, 0xe1, 0x38, 0x84, 0x11, 0xad, 0x74, 0xc8, - 0xdb, 0x67, 0xbe, 0x02, 0x98, 0x24, 0xfd, 0x41, 0x52, 0xee, - 0x37, 0x8b, 0x3c, 0x80, 0x59, 0xe5, 0xf6, 0x4a, 0x93, 0x2f, - 0xb5, 0x09, 0xd0, 0x6c, 0x7f, 0xc3, 0x1a, 0xa6, 0x33, 0x8f, - 0x56, 0xea, 0xf9, 0x45, 0x9c, 0x20, 0xba, 0x06, 0xdf, 0x63, - 0x70, 0xcc, 0x15, 0xa9, 0x22, 0x9e, 0x47, 0xfb, 0xe8, 0x54, - 0x8d, 0x31, 0xab, 0x17, 0xce, 0x72, 0x61, 0xdd, 0x04, 0xb8, - 0x2d, 0x91, 0x48, 0xf4, 0xe7, 0x5b, 0x82, 0x3e, 0xa4, 0x18, - 0xc1, 0x7d, 0x6e, 0xd2, 0x0b, 0xb7, 0x78, 0xc4, 0x1d, 0xa1, - 0xb2, 0x0e, 0xd7, 0x6b, 0xf1, 0x4d, 0x94, 0x28, 0x3b, 0x87, - 0x5e, 0xe2, 0x77, 0xcb, 0x12, 0xae, 0xbd, 0x01, 0xd8, 0x64, - 0xfe, 0x42, 0x9b, 0x27, 0x34, 0x88, 0x51, 0xed, 0x66, 0xda, - 0x03, 0xbf, 0xac, 0x10, 0xc9, 0x75, 0xef, 0x53, 0x8a, 0x36, - 0x25, 0x99, 0x40, 0xfc, 0x69, 0xd5, 0x0c, 0xb0, 0xa3, 0x1f, - 0xc6, 0x7a, 0xe0, 0x5c, 0x85, 0x39, 0x2a, 0x96, 0x4f, 0xf3, - 0x44, 0xf8, 0x21, 0x9d, 0x8e, 0x32, 0xeb, 0x57, 0xcd, 0x71, - 0xa8, 0x14, 0x07, 0xbb, 0x62, 0xde, 0x4b, 0xf7, 0x2e, 0x92, - 0x81, 0x3d, 0xe4, 0x58, 0xc2, 0x7e, 0xa7, 0x1b, 0x08, 0xb4, - 0x6d, 0xd1, 0x5a, 0xe6, 0x3f, 0x83, 0x90, 0x2c, 0xf5, 0x49, - 0xd3, 0x6f, 0xb6, 0x0a, 0x19, 0xa5, 0x7c, 0xc0, 0x55, 0xe9, - 0x30, 0x8c, 0x9f, 0x23, 0xfa, 0x46, 0xdc, 0x60, 0xb9, 0x05, - 0x16, 0xaa, 0x73, 0xcf, 0x00, 0xbd, 0x67, 0xda, 0xce, 0x73, - 0xa9, 0x14, 0x81, 0x3c, 0xe6, 0x5b, 0x4f, 0xf2, 0x28, 0x95, - 0x1f, 0xa2, 0x78, 0xc5, 0xd1, 0x6c, 0xb6, 0x0b, 0x9e, 0x23, - 0xf9, 0x44, 0x50, 0xed, 0x37, 0x8a, 0x3e, 0x83, 0x59, 0xe4, - 0xf0, 0x4d, 0x97, 0x2a, 0xbf, 0x02, 0xd8, 0x65, 0x71, 0xcc, - 0x16, 0xab, 0x21, 0x9c, 0x46, 0xfb, 0xef, 0x52, 0x88, 0x35, - 0xa0, 0x1d, 0xc7, 0x7a, 0x6e, 0xd3, 0x09, 0xb4, 0x7c, 0xc1, - 0x1b, 0xa6, 0xb2, 0x0f, 0xd5, 0x68, 0xfd, 0x40, 0x9a, 0x27, - 0x33, 0x8e, 0x54, 0xe9, 0x63, 0xde, 0x04, 0xb9, 0xad, 0x10, - 0xca, 0x77, 0xe2, 0x5f, 0x85, 0x38, 0x2c, 0x91, 0x4b, 0xf6, - 0x42, 0xff, 0x25, 0x98, 0x8c, 0x31, 0xeb, 0x56, 0xc3, 0x7e, - 0xa4, 0x19, 0x0d, 0xb0, 0x6a, 0xd7, 0x5d, 0xe0, 0x3a, 0x87, - 0x93, 0x2e, 0xf4, 0x49, 0xdc, 0x61, 0xbb, 0x06, 0x12, 0xaf, - 0x75, 0xc8, 0xf8, 0x45, 0x9f, 0x22, 0x36, 0x8b, 0x51, 0xec, - 0x79, 0xc4, 0x1e, 0xa3, 0xb7, 0x0a, 0xd0, 0x6d, 0xe7, 0x5a, - 0x80, 0x3d, 0x29, 0x94, 0x4e, 0xf3, 0x66, 0xdb, 0x01, 0xbc, - 0xa8, 0x15, 0xcf, 0x72, 0xc6, 0x7b, 0xa1, 0x1c, 0x08, 0xb5, - 0x6f, 0xd2, 0x47, 0xfa, 0x20, 0x9d, 0x89, 0x34, 0xee, 0x53, - 0xd9, 0x64, 0xbe, 0x03, 0x17, 0xaa, 0x70, 0xcd, 0x58, 0xe5, - 0x3f, 0x82, 0x96, 0x2b, 0xf1, 0x4c, 0x84, 0x39, 0xe3, 0x5e, - 0x4a, 0xf7, 0x2d, 0x90, 0x05, 0xb8, 0x62, 0xdf, 0xcb, 0x76, - 0xac, 0x11, 0x9b, 0x26, 0xfc, 0x41, 0x55, 0xe8, 0x32, 0x8f, - 0x1a, 0xa7, 0x7d, 0xc0, 0xd4, 0x69, 0xb3, 0x0e, 0xba, 0x07, - 0xdd, 0x60, 0x74, 0xc9, 0x13, 0xae, 0x3b, 0x86, 0x5c, 0xe1, - 0xf5, 0x48, 0x92, 0x2f, 0xa5, 0x18, 0xc2, 0x7f, 0x6b, 0xd6, - 0x0c, 0xb1, 0x24, 0x99, 0x43, 0xfe, 0xea, 0x57, 0x8d, 0x30, - 0x00, 0xbe, 0x61, 0xdf, 0xc2, 0x7c, 0xa3, 0x1d, 0x99, 0x27, - 0xf8, 0x46, 0x5b, 0xe5, 0x3a, 0x84, 0x2f, 0x91, 0x4e, 0xf0, - 0xed, 0x53, 0x8c, 0x32, 0xb6, 0x08, 0xd7, 0x69, 0x74, 0xca, - 0x15, 0xab, 0x5e, 0xe0, 0x3f, 0x81, 0x9c, 0x22, 0xfd, 0x43, - 0xc7, 0x79, 0xa6, 0x18, 0x05, 0xbb, 0x64, 0xda, 0x71, 0xcf, - 0x10, 0xae, 0xb3, 0x0d, 0xd2, 0x6c, 0xe8, 0x56, 0x89, 0x37, - 0x2a, 0x94, 0x4b, 0xf5, 0xbc, 0x02, 0xdd, 0x63, 0x7e, 0xc0, - 0x1f, 0xa1, 0x25, 0x9b, 0x44, 0xfa, 0xe7, 0x59, 0x86, 0x38, - 0x93, 0x2d, 0xf2, 0x4c, 0x51, 0xef, 0x30, 0x8e, 0x0a, 0xb4, - 0x6b, 0xd5, 0xc8, 0x76, 0xa9, 0x17, 0xe2, 0x5c, 0x83, 0x3d, - 0x20, 0x9e, 0x41, 0xff, 0x7b, 0xc5, 0x1a, 0xa4, 0xb9, 0x07, - 0xd8, 0x66, 0xcd, 0x73, 0xac, 0x12, 0x0f, 0xb1, 0x6e, 0xd0, - 0x54, 0xea, 0x35, 0x8b, 0x96, 0x28, 0xf7, 0x49, 0x65, 0xdb, - 0x04, 0xba, 0xa7, 0x19, 0xc6, 0x78, 0xfc, 0x42, 0x9d, 0x23, - 0x3e, 0x80, 0x5f, 0xe1, 0x4a, 0xf4, 0x2b, 0x95, 0x88, 0x36, - 0xe9, 0x57, 0xd3, 0x6d, 0xb2, 0x0c, 0x11, 0xaf, 0x70, 0xce, - 0x3b, 0x85, 0x5a, 0xe4, 0xf9, 0x47, 0x98, 0x26, 0xa2, 0x1c, - 0xc3, 0x7d, 0x60, 0xde, 0x01, 0xbf, 0x14, 0xaa, 0x75, 0xcb, - 0xd6, 0x68, 0xb7, 0x09, 0x8d, 0x33, 0xec, 0x52, 0x4f, 0xf1, - 0x2e, 0x90, 0xd9, 0x67, 0xb8, 0x06, 0x1b, 0xa5, 0x7a, 0xc4, - 0x40, 0xfe, 0x21, 0x9f, 0x82, 0x3c, 0xe3, 0x5d, 0xf6, 0x48, - 0x97, 0x29, 0x34, 0x8a, 0x55, 0xeb, 0x6f, 0xd1, 0x0e, 0xb0, - 0xad, 0x13, 0xcc, 0x72, 0x87, 0x39, 0xe6, 0x58, 0x45, 0xfb, - 0x24, 0x9a, 0x1e, 0xa0, 0x7f, 0xc1, 0xdc, 0x62, 0xbd, 0x03, - 0xa8, 0x16, 0xc9, 0x77, 0x6a, 0xd4, 0x0b, 0xb5, 0x31, 0x8f, - 0x50, 0xee, 0xf3, 0x4d, 0x92, 0x2c, 0x00, 0xbf, 0x63, 0xdc, - 0xc6, 0x79, 0xa5, 0x1a, 0x91, 0x2e, 0xf2, 0x4d, 0x57, 0xe8, - 0x34, 0x8b, 0x3f, 0x80, 0x5c, 0xe3, 0xf9, 0x46, 0x9a, 0x25, - 0xae, 0x11, 0xcd, 0x72, 0x68, 0xd7, 0x0b, 0xb4, 0x7e, 0xc1, - 0x1d, 0xa2, 0xb8, 0x07, 0xdb, 0x64, 0xef, 0x50, 0x8c, 0x33, - 0x29, 0x96, 0x4a, 0xf5, 0x41, 0xfe, 0x22, 0x9d, 0x87, 0x38, - 0xe4, 0x5b, 0xd0, 0x6f, 0xb3, 0x0c, 0x16, 0xa9, 0x75, 0xca, - 0xfc, 0x43, 0x9f, 0x20, 0x3a, 0x85, 0x59, 0xe6, 0x6d, 0xd2, - 0x0e, 0xb1, 0xab, 0x14, 0xc8, 0x77, 0xc3, 0x7c, 0xa0, 0x1f, - 0x05, 0xba, 0x66, 0xd9, 0x52, 0xed, 0x31, 0x8e, 0x94, 0x2b, - 0xf7, 0x48, 0x82, 0x3d, 0xe1, 0x5e, 0x44, 0xfb, 0x27, 0x98, - 0x13, 0xac, 0x70, 0xcf, 0xd5, 0x6a, 0xb6, 0x09, 0xbd, 0x02, - 0xde, 0x61, 0x7b, 0xc4, 0x18, 0xa7, 0x2c, 0x93, 0x4f, 0xf0, - 0xea, 0x55, 0x89, 0x36, 0xe5, 0x5a, 0x86, 0x39, 0x23, 0x9c, - 0x40, 0xff, 0x74, 0xcb, 0x17, 0xa8, 0xb2, 0x0d, 0xd1, 0x6e, - 0xda, 0x65, 0xb9, 0x06, 0x1c, 0xa3, 0x7f, 0xc0, 0x4b, 0xf4, - 0x28, 0x97, 0x8d, 0x32, 0xee, 0x51, 0x9b, 0x24, 0xf8, 0x47, - 0x5d, 0xe2, 0x3e, 0x81, 0x0a, 0xb5, 0x69, 0xd6, 0xcc, 0x73, - 0xaf, 0x10, 0xa4, 0x1b, 0xc7, 0x78, 0x62, 0xdd, 0x01, 0xbe, - 0x35, 0x8a, 0x56, 0xe9, 0xf3, 0x4c, 0x90, 0x2f, 0x19, 0xa6, - 0x7a, 0xc5, 0xdf, 0x60, 0xbc, 0x03, 0x88, 0x37, 0xeb, 0x54, - 0x4e, 0xf1, 0x2d, 0x92, 0x26, 0x99, 0x45, 0xfa, 0xe0, 0x5f, - 0x83, 0x3c, 0xb7, 0x08, 0xd4, 0x6b, 0x71, 0xce, 0x12, 0xad, - 0x67, 0xd8, 0x04, 0xbb, 0xa1, 0x1e, 0xc2, 0x7d, 0xf6, 0x49, - 0x95, 0x2a, 0x30, 0x8f, 0x53, 0xec, 0x58, 0xe7, 0x3b, 0x84, - 0x9e, 0x21, 0xfd, 0x42, 0xc9, 0x76, 0xaa, 0x15, 0x0f, 0xb0, - 0x6c, 0xd3, 0x00, 0xc0, 0x9d, 0x5d, 0x27, 0xe7, 0xba, 0x7a, - 0x4e, 0x8e, 0xd3, 0x13, 0x69, 0xa9, 0xf4, 0x34, 0x9c, 0x5c, - 0x01, 0xc1, 0xbb, 0x7b, 0x26, 0xe6, 0xd2, 0x12, 0x4f, 0x8f, - 0xf5, 0x35, 0x68, 0xa8, 0x25, 0xe5, 0xb8, 0x78, 0x02, 0xc2, - 0x9f, 0x5f, 0x6b, 0xab, 0xf6, 0x36, 0x4c, 0x8c, 0xd1, 0x11, - 0xb9, 0x79, 0x24, 0xe4, 0x9e, 0x5e, 0x03, 0xc3, 0xf7, 0x37, - 0x6a, 0xaa, 0xd0, 0x10, 0x4d, 0x8d, 0x4a, 0x8a, 0xd7, 0x17, - 0x6d, 0xad, 0xf0, 0x30, 0x04, 0xc4, 0x99, 0x59, 0x23, 0xe3, - 0xbe, 0x7e, 0xd6, 0x16, 0x4b, 0x8b, 0xf1, 0x31, 0x6c, 0xac, - 0x98, 0x58, 0x05, 0xc5, 0xbf, 0x7f, 0x22, 0xe2, 0x6f, 0xaf, - 0xf2, 0x32, 0x48, 0x88, 0xd5, 0x15, 0x21, 0xe1, 0xbc, 0x7c, - 0x06, 0xc6, 0x9b, 0x5b, 0xf3, 0x33, 0x6e, 0xae, 0xd4, 0x14, - 0x49, 0x89, 0xbd, 0x7d, 0x20, 0xe0, 0x9a, 0x5a, 0x07, 0xc7, - 0x94, 0x54, 0x09, 0xc9, 0xb3, 0x73, 0x2e, 0xee, 0xda, 0x1a, - 0x47, 0x87, 0xfd, 0x3d, 0x60, 0xa0, 0x08, 0xc8, 0x95, 0x55, - 0x2f, 0xef, 0xb2, 0x72, 0x46, 0x86, 0xdb, 0x1b, 0x61, 0xa1, - 0xfc, 0x3c, 0xb1, 0x71, 0x2c, 0xec, 0x96, 0x56, 0x0b, 0xcb, - 0xff, 0x3f, 0x62, 0xa2, 0xd8, 0x18, 0x45, 0x85, 0x2d, 0xed, - 0xb0, 0x70, 0x0a, 0xca, 0x97, 0x57, 0x63, 0xa3, 0xfe, 0x3e, - 0x44, 0x84, 0xd9, 0x19, 0xde, 0x1e, 0x43, 0x83, 0xf9, 0x39, - 0x64, 0xa4, 0x90, 0x50, 0x0d, 0xcd, 0xb7, 0x77, 0x2a, 0xea, - 0x42, 0x82, 0xdf, 0x1f, 0x65, 0xa5, 0xf8, 0x38, 0x0c, 0xcc, - 0x91, 0x51, 0x2b, 0xeb, 0xb6, 0x76, 0xfb, 0x3b, 0x66, 0xa6, - 0xdc, 0x1c, 0x41, 0x81, 0xb5, 0x75, 0x28, 0xe8, 0x92, 0x52, - 0x0f, 0xcf, 0x67, 0xa7, 0xfa, 0x3a, 0x40, 0x80, 0xdd, 0x1d, - 0x29, 0xe9, 0xb4, 0x74, 0x0e, 0xce, 0x93, 0x53, 0x00, 0xc1, - 0x9f, 0x5e, 0x23, 0xe2, 0xbc, 0x7d, 0x46, 0x87, 0xd9, 0x18, - 0x65, 0xa4, 0xfa, 0x3b, 0x8c, 0x4d, 0x13, 0xd2, 0xaf, 0x6e, - 0x30, 0xf1, 0xca, 0x0b, 0x55, 0x94, 0xe9, 0x28, 0x76, 0xb7, - 0x05, 0xc4, 0x9a, 0x5b, 0x26, 0xe7, 0xb9, 0x78, 0x43, 0x82, - 0xdc, 0x1d, 0x60, 0xa1, 0xff, 0x3e, 0x89, 0x48, 0x16, 0xd7, - 0xaa, 0x6b, 0x35, 0xf4, 0xcf, 0x0e, 0x50, 0x91, 0xec, 0x2d, - 0x73, 0xb2, 0x0a, 0xcb, 0x95, 0x54, 0x29, 0xe8, 0xb6, 0x77, - 0x4c, 0x8d, 0xd3, 0x12, 0x6f, 0xae, 0xf0, 0x31, 0x86, 0x47, - 0x19, 0xd8, 0xa5, 0x64, 0x3a, 0xfb, 0xc0, 0x01, 0x5f, 0x9e, - 0xe3, 0x22, 0x7c, 0xbd, 0x0f, 0xce, 0x90, 0x51, 0x2c, 0xed, - 0xb3, 0x72, 0x49, 0x88, 0xd6, 0x17, 0x6a, 0xab, 0xf5, 0x34, - 0x83, 0x42, 0x1c, 0xdd, 0xa0, 0x61, 0x3f, 0xfe, 0xc5, 0x04, - 0x5a, 0x9b, 0xe6, 0x27, 0x79, 0xb8, 0x14, 0xd5, 0x8b, 0x4a, - 0x37, 0xf6, 0xa8, 0x69, 0x52, 0x93, 0xcd, 0x0c, 0x71, 0xb0, - 0xee, 0x2f, 0x98, 0x59, 0x07, 0xc6, 0xbb, 0x7a, 0x24, 0xe5, - 0xde, 0x1f, 0x41, 0x80, 0xfd, 0x3c, 0x62, 0xa3, 0x11, 0xd0, - 0x8e, 0x4f, 0x32, 0xf3, 0xad, 0x6c, 0x57, 0x96, 0xc8, 0x09, - 0x74, 0xb5, 0xeb, 0x2a, 0x9d, 0x5c, 0x02, 0xc3, 0xbe, 0x7f, - 0x21, 0xe0, 0xdb, 0x1a, 0x44, 0x85, 0xf8, 0x39, 0x67, 0xa6, - 0x1e, 0xdf, 0x81, 0x40, 0x3d, 0xfc, 0xa2, 0x63, 0x58, 0x99, - 0xc7, 0x06, 0x7b, 0xba, 0xe4, 0x25, 0x92, 0x53, 0x0d, 0xcc, - 0xb1, 0x70, 0x2e, 0xef, 0xd4, 0x15, 0x4b, 0x8a, 0xf7, 0x36, - 0x68, 0xa9, 0x1b, 0xda, 0x84, 0x45, 0x38, 0xf9, 0xa7, 0x66, - 0x5d, 0x9c, 0xc2, 0x03, 0x7e, 0xbf, 0xe1, 0x20, 0x97, 0x56, - 0x08, 0xc9, 0xb4, 0x75, 0x2b, 0xea, 0xd1, 0x10, 0x4e, 0x8f, - 0xf2, 0x33, 0x6d, 0xac, 0x00, 0xc2, 0x99, 0x5b, 0x2f, 0xed, - 0xb6, 0x74, 0x5e, 0x9c, 0xc7, 0x05, 0x71, 0xb3, 0xe8, 0x2a, - 0xbc, 0x7e, 0x25, 0xe7, 0x93, 0x51, 0x0a, 0xc8, 0xe2, 0x20, - 0x7b, 0xb9, 0xcd, 0x0f, 0x54, 0x96, 0x65, 0xa7, 0xfc, 0x3e, - 0x4a, 0x88, 0xd3, 0x11, 0x3b, 0xf9, 0xa2, 0x60, 0x14, 0xd6, - 0x8d, 0x4f, 0xd9, 0x1b, 0x40, 0x82, 0xf6, 0x34, 0x6f, 0xad, - 0x87, 0x45, 0x1e, 0xdc, 0xa8, 0x6a, 0x31, 0xf3, 0xca, 0x08, - 0x53, 0x91, 0xe5, 0x27, 0x7c, 0xbe, 0x94, 0x56, 0x0d, 0xcf, - 0xbb, 0x79, 0x22, 0xe0, 0x76, 0xb4, 0xef, 0x2d, 0x59, 0x9b, - 0xc0, 0x02, 0x28, 0xea, 0xb1, 0x73, 0x07, 0xc5, 0x9e, 0x5c, - 0xaf, 0x6d, 0x36, 0xf4, 0x80, 0x42, 0x19, 0xdb, 0xf1, 0x33, - 0x68, 0xaa, 0xde, 0x1c, 0x47, 0x85, 0x13, 0xd1, 0x8a, 0x48, - 0x3c, 0xfe, 0xa5, 0x67, 0x4d, 0x8f, 0xd4, 0x16, 0x62, 0xa0, - 0xfb, 0x39, 0x89, 0x4b, 0x10, 0xd2, 0xa6, 0x64, 0x3f, 0xfd, - 0xd7, 0x15, 0x4e, 0x8c, 0xf8, 0x3a, 0x61, 0xa3, 0x35, 0xf7, - 0xac, 0x6e, 0x1a, 0xd8, 0x83, 0x41, 0x6b, 0xa9, 0xf2, 0x30, - 0x44, 0x86, 0xdd, 0x1f, 0xec, 0x2e, 0x75, 0xb7, 0xc3, 0x01, - 0x5a, 0x98, 0xb2, 0x70, 0x2b, 0xe9, 0x9d, 0x5f, 0x04, 0xc6, - 0x50, 0x92, 0xc9, 0x0b, 0x7f, 0xbd, 0xe6, 0x24, 0x0e, 0xcc, - 0x97, 0x55, 0x21, 0xe3, 0xb8, 0x7a, 0x43, 0x81, 0xda, 0x18, - 0x6c, 0xae, 0xf5, 0x37, 0x1d, 0xdf, 0x84, 0x46, 0x32, 0xf0, - 0xab, 0x69, 0xff, 0x3d, 0x66, 0xa4, 0xd0, 0x12, 0x49, 0x8b, - 0xa1, 0x63, 0x38, 0xfa, 0x8e, 0x4c, 0x17, 0xd5, 0x26, 0xe4, - 0xbf, 0x7d, 0x09, 0xcb, 0x90, 0x52, 0x78, 0xba, 0xe1, 0x23, - 0x57, 0x95, 0xce, 0x0c, 0x9a, 0x58, 0x03, 0xc1, 0xb5, 0x77, - 0x2c, 0xee, 0xc4, 0x06, 0x5d, 0x9f, 0xeb, 0x29, 0x72, 0xb0, - 0x00, 0xc3, 0x9b, 0x58, 0x2b, 0xe8, 0xb0, 0x73, 0x56, 0x95, - 0xcd, 0x0e, 0x7d, 0xbe, 0xe6, 0x25, 0xac, 0x6f, 0x37, 0xf4, - 0x87, 0x44, 0x1c, 0xdf, 0xfa, 0x39, 0x61, 0xa2, 0xd1, 0x12, - 0x4a, 0x89, 0x45, 0x86, 0xde, 0x1d, 0x6e, 0xad, 0xf5, 0x36, - 0x13, 0xd0, 0x88, 0x4b, 0x38, 0xfb, 0xa3, 0x60, 0xe9, 0x2a, - 0x72, 0xb1, 0xc2, 0x01, 0x59, 0x9a, 0xbf, 0x7c, 0x24, 0xe7, - 0x94, 0x57, 0x0f, 0xcc, 0x8a, 0x49, 0x11, 0xd2, 0xa1, 0x62, - 0x3a, 0xf9, 0xdc, 0x1f, 0x47, 0x84, 0xf7, 0x34, 0x6c, 0xaf, - 0x26, 0xe5, 0xbd, 0x7e, 0x0d, 0xce, 0x96, 0x55, 0x70, 0xb3, - 0xeb, 0x28, 0x5b, 0x98, 0xc0, 0x03, 0xcf, 0x0c, 0x54, 0x97, - 0xe4, 0x27, 0x7f, 0xbc, 0x99, 0x5a, 0x02, 0xc1, 0xb2, 0x71, - 0x29, 0xea, 0x63, 0xa0, 0xf8, 0x3b, 0x48, 0x8b, 0xd3, 0x10, - 0x35, 0xf6, 0xae, 0x6d, 0x1e, 0xdd, 0x85, 0x46, 0x09, 0xca, - 0x92, 0x51, 0x22, 0xe1, 0xb9, 0x7a, 0x5f, 0x9c, 0xc4, 0x07, - 0x74, 0xb7, 0xef, 0x2c, 0xa5, 0x66, 0x3e, 0xfd, 0x8e, 0x4d, - 0x15, 0xd6, 0xf3, 0x30, 0x68, 0xab, 0xd8, 0x1b, 0x43, 0x80, - 0x4c, 0x8f, 0xd7, 0x14, 0x67, 0xa4, 0xfc, 0x3f, 0x1a, 0xd9, - 0x81, 0x42, 0x31, 0xf2, 0xaa, 0x69, 0xe0, 0x23, 0x7b, 0xb8, - 0xcb, 0x08, 0x50, 0x93, 0xb6, 0x75, 0x2d, 0xee, 0x9d, 0x5e, - 0x06, 0xc5, 0x83, 0x40, 0x18, 0xdb, 0xa8, 0x6b, 0x33, 0xf0, - 0xd5, 0x16, 0x4e, 0x8d, 0xfe, 0x3d, 0x65, 0xa6, 0x2f, 0xec, - 0xb4, 0x77, 0x04, 0xc7, 0x9f, 0x5c, 0x79, 0xba, 0xe2, 0x21, - 0x52, 0x91, 0xc9, 0x0a, 0xc6, 0x05, 0x5d, 0x9e, 0xed, 0x2e, - 0x76, 0xb5, 0x90, 0x53, 0x0b, 0xc8, 0xbb, 0x78, 0x20, 0xe3, - 0x6a, 0xa9, 0xf1, 0x32, 0x41, 0x82, 0xda, 0x19, 0x3c, 0xff, - 0xa7, 0x64, 0x17, 0xd4, 0x8c, 0x4f, 0x00, 0xc4, 0x95, 0x51, - 0x37, 0xf3, 0xa2, 0x66, 0x6e, 0xaa, 0xfb, 0x3f, 0x59, 0x9d, - 0xcc, 0x08, 0xdc, 0x18, 0x49, 0x8d, 0xeb, 0x2f, 0x7e, 0xba, - 0xb2, 0x76, 0x27, 0xe3, 0x85, 0x41, 0x10, 0xd4, 0xa5, 0x61, - 0x30, 0xf4, 0x92, 0x56, 0x07, 0xc3, 0xcb, 0x0f, 0x5e, 0x9a, - 0xfc, 0x38, 0x69, 0xad, 0x79, 0xbd, 0xec, 0x28, 0x4e, 0x8a, - 0xdb, 0x1f, 0x17, 0xd3, 0x82, 0x46, 0x20, 0xe4, 0xb5, 0x71, - 0x57, 0x93, 0xc2, 0x06, 0x60, 0xa4, 0xf5, 0x31, 0x39, 0xfd, - 0xac, 0x68, 0x0e, 0xca, 0x9b, 0x5f, 0x8b, 0x4f, 0x1e, 0xda, - 0xbc, 0x78, 0x29, 0xed, 0xe5, 0x21, 0x70, 0xb4, 0xd2, 0x16, - 0x47, 0x83, 0xf2, 0x36, 0x67, 0xa3, 0xc5, 0x01, 0x50, 0x94, - 0x9c, 0x58, 0x09, 0xcd, 0xab, 0x6f, 0x3e, 0xfa, 0x2e, 0xea, - 0xbb, 0x7f, 0x19, 0xdd, 0x8c, 0x48, 0x40, 0x84, 0xd5, 0x11, - 0x77, 0xb3, 0xe2, 0x26, 0xae, 0x6a, 0x3b, 0xff, 0x99, 0x5d, - 0x0c, 0xc8, 0xc0, 0x04, 0x55, 0x91, 0xf7, 0x33, 0x62, 0xa6, - 0x72, 0xb6, 0xe7, 0x23, 0x45, 0x81, 0xd0, 0x14, 0x1c, 0xd8, - 0x89, 0x4d, 0x2b, 0xef, 0xbe, 0x7a, 0x0b, 0xcf, 0x9e, 0x5a, - 0x3c, 0xf8, 0xa9, 0x6d, 0x65, 0xa1, 0xf0, 0x34, 0x52, 0x96, - 0xc7, 0x03, 0xd7, 0x13, 0x42, 0x86, 0xe0, 0x24, 0x75, 0xb1, - 0xb9, 0x7d, 0x2c, 0xe8, 0x8e, 0x4a, 0x1b, 0xdf, 0xf9, 0x3d, - 0x6c, 0xa8, 0xce, 0x0a, 0x5b, 0x9f, 0x97, 0x53, 0x02, 0xc6, - 0xa0, 0x64, 0x35, 0xf1, 0x25, 0xe1, 0xb0, 0x74, 0x12, 0xd6, - 0x87, 0x43, 0x4b, 0x8f, 0xde, 0x1a, 0x7c, 0xb8, 0xe9, 0x2d, - 0x5c, 0x98, 0xc9, 0x0d, 0x6b, 0xaf, 0xfe, 0x3a, 0x32, 0xf6, - 0xa7, 0x63, 0x05, 0xc1, 0x90, 0x54, 0x80, 0x44, 0x15, 0xd1, - 0xb7, 0x73, 0x22, 0xe6, 0xee, 0x2a, 0x7b, 0xbf, 0xd9, 0x1d, - 0x4c, 0x88, 0x00, 0xc5, 0x97, 0x52, 0x33, 0xf6, 0xa4, 0x61, - 0x66, 0xa3, 0xf1, 0x34, 0x55, 0x90, 0xc2, 0x07, 0xcc, 0x09, - 0x5b, 0x9e, 0xff, 0x3a, 0x68, 0xad, 0xaa, 0x6f, 0x3d, 0xf8, - 0x99, 0x5c, 0x0e, 0xcb, 0x85, 0x40, 0x12, 0xd7, 0xb6, 0x73, - 0x21, 0xe4, 0xe3, 0x26, 0x74, 0xb1, 0xd0, 0x15, 0x47, 0x82, - 0x49, 0x8c, 0xde, 0x1b, 0x7a, 0xbf, 0xed, 0x28, 0x2f, 0xea, - 0xb8, 0x7d, 0x1c, 0xd9, 0x8b, 0x4e, 0x17, 0xd2, 0x80, 0x45, - 0x24, 0xe1, 0xb3, 0x76, 0x71, 0xb4, 0xe6, 0x23, 0x42, 0x87, - 0xd5, 0x10, 0xdb, 0x1e, 0x4c, 0x89, 0xe8, 0x2d, 0x7f, 0xba, - 0xbd, 0x78, 0x2a, 0xef, 0x8e, 0x4b, 0x19, 0xdc, 0x92, 0x57, - 0x05, 0xc0, 0xa1, 0x64, 0x36, 0xf3, 0xf4, 0x31, 0x63, 0xa6, - 0xc7, 0x02, 0x50, 0x95, 0x5e, 0x9b, 0xc9, 0x0c, 0x6d, 0xa8, - 0xfa, 0x3f, 0x38, 0xfd, 0xaf, 0x6a, 0x0b, 0xce, 0x9c, 0x59, - 0x2e, 0xeb, 0xb9, 0x7c, 0x1d, 0xd8, 0x8a, 0x4f, 0x48, 0x8d, - 0xdf, 0x1a, 0x7b, 0xbe, 0xec, 0x29, 0xe2, 0x27, 0x75, 0xb0, - 0xd1, 0x14, 0x46, 0x83, 0x84, 0x41, 0x13, 0xd6, 0xb7, 0x72, - 0x20, 0xe5, 0xab, 0x6e, 0x3c, 0xf9, 0x98, 0x5d, 0x0f, 0xca, - 0xcd, 0x08, 0x5a, 0x9f, 0xfe, 0x3b, 0x69, 0xac, 0x67, 0xa2, - 0xf0, 0x35, 0x54, 0x91, 0xc3, 0x06, 0x01, 0xc4, 0x96, 0x53, - 0x32, 0xf7, 0xa5, 0x60, 0x39, 0xfc, 0xae, 0x6b, 0x0a, 0xcf, - 0x9d, 0x58, 0x5f, 0x9a, 0xc8, 0x0d, 0x6c, 0xa9, 0xfb, 0x3e, - 0xf5, 0x30, 0x62, 0xa7, 0xc6, 0x03, 0x51, 0x94, 0x93, 0x56, - 0x04, 0xc1, 0xa0, 0x65, 0x37, 0xf2, 0xbc, 0x79, 0x2b, 0xee, - 0x8f, 0x4a, 0x18, 0xdd, 0xda, 0x1f, 0x4d, 0x88, 0xe9, 0x2c, - 0x7e, 0xbb, 0x70, 0xb5, 0xe7, 0x22, 0x43, 0x86, 0xd4, 0x11, - 0x16, 0xd3, 0x81, 0x44, 0x25, 0xe0, 0xb2, 0x77, 0x00, 0xc6, - 0x91, 0x57, 0x3f, 0xf9, 0xae, 0x68, 0x7e, 0xb8, 0xef, 0x29, - 0x41, 0x87, 0xd0, 0x16, 0xfc, 0x3a, 0x6d, 0xab, 0xc3, 0x05, - 0x52, 0x94, 0x82, 0x44, 0x13, 0xd5, 0xbd, 0x7b, 0x2c, 0xea, - 0xe5, 0x23, 0x74, 0xb2, 0xda, 0x1c, 0x4b, 0x8d, 0x9b, 0x5d, - 0x0a, 0xcc, 0xa4, 0x62, 0x35, 0xf3, 0x19, 0xdf, 0x88, 0x4e, - 0x26, 0xe0, 0xb7, 0x71, 0x67, 0xa1, 0xf6, 0x30, 0x58, 0x9e, - 0xc9, 0x0f, 0xd7, 0x11, 0x46, 0x80, 0xe8, 0x2e, 0x79, 0xbf, - 0xa9, 0x6f, 0x38, 0xfe, 0x96, 0x50, 0x07, 0xc1, 0x2b, 0xed, - 0xba, 0x7c, 0x14, 0xd2, 0x85, 0x43, 0x55, 0x93, 0xc4, 0x02, - 0x6a, 0xac, 0xfb, 0x3d, 0x32, 0xf4, 0xa3, 0x65, 0x0d, 0xcb, - 0x9c, 0x5a, 0x4c, 0x8a, 0xdd, 0x1b, 0x73, 0xb5, 0xe2, 0x24, - 0xce, 0x08, 0x5f, 0x99, 0xf1, 0x37, 0x60, 0xa6, 0xb0, 0x76, - 0x21, 0xe7, 0x8f, 0x49, 0x1e, 0xd8, 0xb3, 0x75, 0x22, 0xe4, - 0x8c, 0x4a, 0x1d, 0xdb, 0xcd, 0x0b, 0x5c, 0x9a, 0xf2, 0x34, - 0x63, 0xa5, 0x4f, 0x89, 0xde, 0x18, 0x70, 0xb6, 0xe1, 0x27, - 0x31, 0xf7, 0xa0, 0x66, 0x0e, 0xc8, 0x9f, 0x59, 0x56, 0x90, - 0xc7, 0x01, 0x69, 0xaf, 0xf8, 0x3e, 0x28, 0xee, 0xb9, 0x7f, - 0x17, 0xd1, 0x86, 0x40, 0xaa, 0x6c, 0x3b, 0xfd, 0x95, 0x53, - 0x04, 0xc2, 0xd4, 0x12, 0x45, 0x83, 0xeb, 0x2d, 0x7a, 0xbc, - 0x64, 0xa2, 0xf5, 0x33, 0x5b, 0x9d, 0xca, 0x0c, 0x1a, 0xdc, - 0x8b, 0x4d, 0x25, 0xe3, 0xb4, 0x72, 0x98, 0x5e, 0x09, 0xcf, - 0xa7, 0x61, 0x36, 0xf0, 0xe6, 0x20, 0x77, 0xb1, 0xd9, 0x1f, - 0x48, 0x8e, 0x81, 0x47, 0x10, 0xd6, 0xbe, 0x78, 0x2f, 0xe9, - 0xff, 0x39, 0x6e, 0xa8, 0xc0, 0x06, 0x51, 0x97, 0x7d, 0xbb, - 0xec, 0x2a, 0x42, 0x84, 0xd3, 0x15, 0x03, 0xc5, 0x92, 0x54, - 0x3c, 0xfa, 0xad, 0x6b, 0x00, 0xc7, 0x93, 0x54, 0x3b, 0xfc, - 0xa8, 0x6f, 0x76, 0xb1, 0xe5, 0x22, 0x4d, 0x8a, 0xde, 0x19, - 0xec, 0x2b, 0x7f, 0xb8, 0xd7, 0x10, 0x44, 0x83, 0x9a, 0x5d, - 0x09, 0xce, 0xa1, 0x66, 0x32, 0xf5, 0xc5, 0x02, 0x56, 0x91, - 0xfe, 0x39, 0x6d, 0xaa, 0xb3, 0x74, 0x20, 0xe7, 0x88, 0x4f, - 0x1b, 0xdc, 0x29, 0xee, 0xba, 0x7d, 0x12, 0xd5, 0x81, 0x46, - 0x5f, 0x98, 0xcc, 0x0b, 0x64, 0xa3, 0xf7, 0x30, 0x97, 0x50, - 0x04, 0xc3, 0xac, 0x6b, 0x3f, 0xf8, 0xe1, 0x26, 0x72, 0xb5, - 0xda, 0x1d, 0x49, 0x8e, 0x7b, 0xbc, 0xe8, 0x2f, 0x40, 0x87, - 0xd3, 0x14, 0x0d, 0xca, 0x9e, 0x59, 0x36, 0xf1, 0xa5, 0x62, - 0x52, 0x95, 0xc1, 0x06, 0x69, 0xae, 0xfa, 0x3d, 0x24, 0xe3, - 0xb7, 0x70, 0x1f, 0xd8, 0x8c, 0x4b, 0xbe, 0x79, 0x2d, 0xea, - 0x85, 0x42, 0x16, 0xd1, 0xc8, 0x0f, 0x5b, 0x9c, 0xf3, 0x34, - 0x60, 0xa7, 0x33, 0xf4, 0xa0, 0x67, 0x08, 0xcf, 0x9b, 0x5c, - 0x45, 0x82, 0xd6, 0x11, 0x7e, 0xb9, 0xed, 0x2a, 0xdf, 0x18, - 0x4c, 0x8b, 0xe4, 0x23, 0x77, 0xb0, 0xa9, 0x6e, 0x3a, 0xfd, - 0x92, 0x55, 0x01, 0xc6, 0xf6, 0x31, 0x65, 0xa2, 0xcd, 0x0a, - 0x5e, 0x99, 0x80, 0x47, 0x13, 0xd4, 0xbb, 0x7c, 0x28, 0xef, - 0x1a, 0xdd, 0x89, 0x4e, 0x21, 0xe6, 0xb2, 0x75, 0x6c, 0xab, - 0xff, 0x38, 0x57, 0x90, 0xc4, 0x03, 0xa4, 0x63, 0x37, 0xf0, - 0x9f, 0x58, 0x0c, 0xcb, 0xd2, 0x15, 0x41, 0x86, 0xe9, 0x2e, - 0x7a, 0xbd, 0x48, 0x8f, 0xdb, 0x1c, 0x73, 0xb4, 0xe0, 0x27, - 0x3e, 0xf9, 0xad, 0x6a, 0x05, 0xc2, 0x96, 0x51, 0x61, 0xa6, - 0xf2, 0x35, 0x5a, 0x9d, 0xc9, 0x0e, 0x17, 0xd0, 0x84, 0x43, - 0x2c, 0xeb, 0xbf, 0x78, 0x8d, 0x4a, 0x1e, 0xd9, 0xb6, 0x71, - 0x25, 0xe2, 0xfb, 0x3c, 0x68, 0xaf, 0xc0, 0x07, 0x53, 0x94, - 0x00, 0xc8, 0x8d, 0x45, 0x07, 0xcf, 0x8a, 0x42, 0x0e, 0xc6, - 0x83, 0x4b, 0x09, 0xc1, 0x84, 0x4c, 0x1c, 0xd4, 0x91, 0x59, - 0x1b, 0xd3, 0x96, 0x5e, 0x12, 0xda, 0x9f, 0x57, 0x15, 0xdd, - 0x98, 0x50, 0x38, 0xf0, 0xb5, 0x7d, 0x3f, 0xf7, 0xb2, 0x7a, - 0x36, 0xfe, 0xbb, 0x73, 0x31, 0xf9, 0xbc, 0x74, 0x24, 0xec, - 0xa9, 0x61, 0x23, 0xeb, 0xae, 0x66, 0x2a, 0xe2, 0xa7, 0x6f, - 0x2d, 0xe5, 0xa0, 0x68, 0x70, 0xb8, 0xfd, 0x35, 0x77, 0xbf, - 0xfa, 0x32, 0x7e, 0xb6, 0xf3, 0x3b, 0x79, 0xb1, 0xf4, 0x3c, - 0x6c, 0xa4, 0xe1, 0x29, 0x6b, 0xa3, 0xe6, 0x2e, 0x62, 0xaa, - 0xef, 0x27, 0x65, 0xad, 0xe8, 0x20, 0x48, 0x80, 0xc5, 0x0d, - 0x4f, 0x87, 0xc2, 0x0a, 0x46, 0x8e, 0xcb, 0x03, 0x41, 0x89, - 0xcc, 0x04, 0x54, 0x9c, 0xd9, 0x11, 0x53, 0x9b, 0xde, 0x16, - 0x5a, 0x92, 0xd7, 0x1f, 0x5d, 0x95, 0xd0, 0x18, 0xe0, 0x28, - 0x6d, 0xa5, 0xe7, 0x2f, 0x6a, 0xa2, 0xee, 0x26, 0x63, 0xab, - 0xe9, 0x21, 0x64, 0xac, 0xfc, 0x34, 0x71, 0xb9, 0xfb, 0x33, - 0x76, 0xbe, 0xf2, 0x3a, 0x7f, 0xb7, 0xf5, 0x3d, 0x78, 0xb0, - 0xd8, 0x10, 0x55, 0x9d, 0xdf, 0x17, 0x52, 0x9a, 0xd6, 0x1e, - 0x5b, 0x93, 0xd1, 0x19, 0x5c, 0x94, 0xc4, 0x0c, 0x49, 0x81, - 0xc3, 0x0b, 0x4e, 0x86, 0xca, 0x02, 0x47, 0x8f, 0xcd, 0x05, - 0x40, 0x88, 0x90, 0x58, 0x1d, 0xd5, 0x97, 0x5f, 0x1a, 0xd2, - 0x9e, 0x56, 0x13, 0xdb, 0x99, 0x51, 0x14, 0xdc, 0x8c, 0x44, - 0x01, 0xc9, 0x8b, 0x43, 0x06, 0xce, 0x82, 0x4a, 0x0f, 0xc7, - 0x85, 0x4d, 0x08, 0xc0, 0xa8, 0x60, 0x25, 0xed, 0xaf, 0x67, - 0x22, 0xea, 0xa6, 0x6e, 0x2b, 0xe3, 0xa1, 0x69, 0x2c, 0xe4, - 0xb4, 0x7c, 0x39, 0xf1, 0xb3, 0x7b, 0x3e, 0xf6, 0xba, 0x72, - 0x37, 0xff, 0xbd, 0x75, 0x30, 0xf8, 0x00, 0xc9, 0x8f, 0x46, - 0x03, 0xca, 0x8c, 0x45, 0x06, 0xcf, 0x89, 0x40, 0x05, 0xcc, - 0x8a, 0x43, 0x0c, 0xc5, 0x83, 0x4a, 0x0f, 0xc6, 0x80, 0x49, - 0x0a, 0xc3, 0x85, 0x4c, 0x09, 0xc0, 0x86, 0x4f, 0x18, 0xd1, - 0x97, 0x5e, 0x1b, 0xd2, 0x94, 0x5d, 0x1e, 0xd7, 0x91, 0x58, - 0x1d, 0xd4, 0x92, 0x5b, 0x14, 0xdd, 0x9b, 0x52, 0x17, 0xde, - 0x98, 0x51, 0x12, 0xdb, 0x9d, 0x54, 0x11, 0xd8, 0x9e, 0x57, - 0x30, 0xf9, 0xbf, 0x76, 0x33, 0xfa, 0xbc, 0x75, 0x36, 0xff, - 0xb9, 0x70, 0x35, 0xfc, 0xba, 0x73, 0x3c, 0xf5, 0xb3, 0x7a, - 0x3f, 0xf6, 0xb0, 0x79, 0x3a, 0xf3, 0xb5, 0x7c, 0x39, 0xf0, - 0xb6, 0x7f, 0x28, 0xe1, 0xa7, 0x6e, 0x2b, 0xe2, 0xa4, 0x6d, - 0x2e, 0xe7, 0xa1, 0x68, 0x2d, 0xe4, 0xa2, 0x6b, 0x24, 0xed, - 0xab, 0x62, 0x27, 0xee, 0xa8, 0x61, 0x22, 0xeb, 0xad, 0x64, - 0x21, 0xe8, 0xae, 0x67, 0x60, 0xa9, 0xef, 0x26, 0x63, 0xaa, - 0xec, 0x25, 0x66, 0xaf, 0xe9, 0x20, 0x65, 0xac, 0xea, 0x23, - 0x6c, 0xa5, 0xe3, 0x2a, 0x6f, 0xa6, 0xe0, 0x29, 0x6a, 0xa3, - 0xe5, 0x2c, 0x69, 0xa0, 0xe6, 0x2f, 0x78, 0xb1, 0xf7, 0x3e, - 0x7b, 0xb2, 0xf4, 0x3d, 0x7e, 0xb7, 0xf1, 0x38, 0x7d, 0xb4, - 0xf2, 0x3b, 0x74, 0xbd, 0xfb, 0x32, 0x77, 0xbe, 0xf8, 0x31, - 0x72, 0xbb, 0xfd, 0x34, 0x71, 0xb8, 0xfe, 0x37, 0x50, 0x99, - 0xdf, 0x16, 0x53, 0x9a, 0xdc, 0x15, 0x56, 0x9f, 0xd9, 0x10, - 0x55, 0x9c, 0xda, 0x13, 0x5c, 0x95, 0xd3, 0x1a, 0x5f, 0x96, - 0xd0, 0x19, 0x5a, 0x93, 0xd5, 0x1c, 0x59, 0x90, 0xd6, 0x1f, - 0x48, 0x81, 0xc7, 0x0e, 0x4b, 0x82, 0xc4, 0x0d, 0x4e, 0x87, - 0xc1, 0x08, 0x4d, 0x84, 0xc2, 0x0b, 0x44, 0x8d, 0xcb, 0x02, - 0x47, 0x8e, 0xc8, 0x01, 0x42, 0x8b, 0xcd, 0x04, 0x41, 0x88, - 0xce, 0x07, 0x00, 0xca, 0x89, 0x43, 0x0f, 0xc5, 0x86, 0x4c, - 0x1e, 0xd4, 0x97, 0x5d, 0x11, 0xdb, 0x98, 0x52, 0x3c, 0xf6, - 0xb5, 0x7f, 0x33, 0xf9, 0xba, 0x70, 0x22, 0xe8, 0xab, 0x61, - 0x2d, 0xe7, 0xa4, 0x6e, 0x78, 0xb2, 0xf1, 0x3b, 0x77, 0xbd, - 0xfe, 0x34, 0x66, 0xac, 0xef, 0x25, 0x69, 0xa3, 0xe0, 0x2a, - 0x44, 0x8e, 0xcd, 0x07, 0x4b, 0x81, 0xc2, 0x08, 0x5a, 0x90, - 0xd3, 0x19, 0x55, 0x9f, 0xdc, 0x16, 0xf0, 0x3a, 0x79, 0xb3, - 0xff, 0x35, 0x76, 0xbc, 0xee, 0x24, 0x67, 0xad, 0xe1, 0x2b, - 0x68, 0xa2, 0xcc, 0x06, 0x45, 0x8f, 0xc3, 0x09, 0x4a, 0x80, - 0xd2, 0x18, 0x5b, 0x91, 0xdd, 0x17, 0x54, 0x9e, 0x88, 0x42, - 0x01, 0xcb, 0x87, 0x4d, 0x0e, 0xc4, 0x96, 0x5c, 0x1f, 0xd5, - 0x99, 0x53, 0x10, 0xda, 0xb4, 0x7e, 0x3d, 0xf7, 0xbb, 0x71, - 0x32, 0xf8, 0xaa, 0x60, 0x23, 0xe9, 0xa5, 0x6f, 0x2c, 0xe6, - 0xfd, 0x37, 0x74, 0xbe, 0xf2, 0x38, 0x7b, 0xb1, 0xe3, 0x29, - 0x6a, 0xa0, 0xec, 0x26, 0x65, 0xaf, 0xc1, 0x0b, 0x48, 0x82, - 0xce, 0x04, 0x47, 0x8d, 0xdf, 0x15, 0x56, 0x9c, 0xd0, 0x1a, - 0x59, 0x93, 0x85, 0x4f, 0x0c, 0xc6, 0x8a, 0x40, 0x03, 0xc9, - 0x9b, 0x51, 0x12, 0xd8, 0x94, 0x5e, 0x1d, 0xd7, 0xb9, 0x73, - 0x30, 0xfa, 0xb6, 0x7c, 0x3f, 0xf5, 0xa7, 0x6d, 0x2e, 0xe4, - 0xa8, 0x62, 0x21, 0xeb, 0x0d, 0xc7, 0x84, 0x4e, 0x02, 0xc8, - 0x8b, 0x41, 0x13, 0xd9, 0x9a, 0x50, 0x1c, 0xd6, 0x95, 0x5f, - 0x31, 0xfb, 0xb8, 0x72, 0x3e, 0xf4, 0xb7, 0x7d, 0x2f, 0xe5, - 0xa6, 0x6c, 0x20, 0xea, 0xa9, 0x63, 0x75, 0xbf, 0xfc, 0x36, - 0x7a, 0xb0, 0xf3, 0x39, 0x6b, 0xa1, 0xe2, 0x28, 0x64, 0xae, - 0xed, 0x27, 0x49, 0x83, 0xc0, 0x0a, 0x46, 0x8c, 0xcf, 0x05, - 0x57, 0x9d, 0xde, 0x14, 0x58, 0x92, 0xd1, 0x1b, 0x00, 0xcb, - 0x8b, 0x40, 0x0b, 0xc0, 0x80, 0x4b, 0x16, 0xdd, 0x9d, 0x56, - 0x1d, 0xd6, 0x96, 0x5d, 0x2c, 0xe7, 0xa7, 0x6c, 0x27, 0xec, - 0xac, 0x67, 0x3a, 0xf1, 0xb1, 0x7a, 0x31, 0xfa, 0xba, 0x71, - 0x58, 0x93, 0xd3, 0x18, 0x53, 0x98, 0xd8, 0x13, 0x4e, 0x85, - 0xc5, 0x0e, 0x45, 0x8e, 0xce, 0x05, 0x74, 0xbf, 0xff, 0x34, - 0x7f, 0xb4, 0xf4, 0x3f, 0x62, 0xa9, 0xe9, 0x22, 0x69, 0xa2, - 0xe2, 0x29, 0xb0, 0x7b, 0x3b, 0xf0, 0xbb, 0x70, 0x30, 0xfb, - 0xa6, 0x6d, 0x2d, 0xe6, 0xad, 0x66, 0x26, 0xed, 0x9c, 0x57, - 0x17, 0xdc, 0x97, 0x5c, 0x1c, 0xd7, 0x8a, 0x41, 0x01, 0xca, - 0x81, 0x4a, 0x0a, 0xc1, 0xe8, 0x23, 0x63, 0xa8, 0xe3, 0x28, - 0x68, 0xa3, 0xfe, 0x35, 0x75, 0xbe, 0xf5, 0x3e, 0x7e, 0xb5, - 0xc4, 0x0f, 0x4f, 0x84, 0xcf, 0x04, 0x44, 0x8f, 0xd2, 0x19, - 0x59, 0x92, 0xd9, 0x12, 0x52, 0x99, 0x7d, 0xb6, 0xf6, 0x3d, - 0x76, 0xbd, 0xfd, 0x36, 0x6b, 0xa0, 0xe0, 0x2b, 0x60, 0xab, - 0xeb, 0x20, 0x51, 0x9a, 0xda, 0x11, 0x5a, 0x91, 0xd1, 0x1a, - 0x47, 0x8c, 0xcc, 0x07, 0x4c, 0x87, 0xc7, 0x0c, 0x25, 0xee, - 0xae, 0x65, 0x2e, 0xe5, 0xa5, 0x6e, 0x33, 0xf8, 0xb8, 0x73, - 0x38, 0xf3, 0xb3, 0x78, 0x09, 0xc2, 0x82, 0x49, 0x02, 0xc9, - 0x89, 0x42, 0x1f, 0xd4, 0x94, 0x5f, 0x14, 0xdf, 0x9f, 0x54, - 0xcd, 0x06, 0x46, 0x8d, 0xc6, 0x0d, 0x4d, 0x86, 0xdb, 0x10, - 0x50, 0x9b, 0xd0, 0x1b, 0x5b, 0x90, 0xe1, 0x2a, 0x6a, 0xa1, - 0xea, 0x21, 0x61, 0xaa, 0xf7, 0x3c, 0x7c, 0xb7, 0xfc, 0x37, - 0x77, 0xbc, 0x95, 0x5e, 0x1e, 0xd5, 0x9e, 0x55, 0x15, 0xde, - 0x83, 0x48, 0x08, 0xc3, 0x88, 0x43, 0x03, 0xc8, 0xb9, 0x72, - 0x32, 0xf9, 0xb2, 0x79, 0x39, 0xf2, 0xaf, 0x64, 0x24, 0xef, - 0xa4, 0x6f, 0x2f, 0xe4, 0x00, 0xcc, 0x85, 0x49, 0x17, 0xdb, - 0x92, 0x5e, 0x2e, 0xe2, 0xab, 0x67, 0x39, 0xf5, 0xbc, 0x70, - 0x5c, 0x90, 0xd9, 0x15, 0x4b, 0x87, 0xce, 0x02, 0x72, 0xbe, - 0xf7, 0x3b, 0x65, 0xa9, 0xe0, 0x2c, 0xb8, 0x74, 0x3d, 0xf1, - 0xaf, 0x63, 0x2a, 0xe6, 0x96, 0x5a, 0x13, 0xdf, 0x81, 0x4d, - 0x04, 0xc8, 0xe4, 0x28, 0x61, 0xad, 0xf3, 0x3f, 0x76, 0xba, - 0xca, 0x06, 0x4f, 0x83, 0xdd, 0x11, 0x58, 0x94, 0x6d, 0xa1, - 0xe8, 0x24, 0x7a, 0xb6, 0xff, 0x33, 0x43, 0x8f, 0xc6, 0x0a, - 0x54, 0x98, 0xd1, 0x1d, 0x31, 0xfd, 0xb4, 0x78, 0x26, 0xea, - 0xa3, 0x6f, 0x1f, 0xd3, 0x9a, 0x56, 0x08, 0xc4, 0x8d, 0x41, - 0xd5, 0x19, 0x50, 0x9c, 0xc2, 0x0e, 0x47, 0x8b, 0xfb, 0x37, - 0x7e, 0xb2, 0xec, 0x20, 0x69, 0xa5, 0x89, 0x45, 0x0c, 0xc0, - 0x9e, 0x52, 0x1b, 0xd7, 0xa7, 0x6b, 0x22, 0xee, 0xb0, 0x7c, - 0x35, 0xf9, 0xda, 0x16, 0x5f, 0x93, 0xcd, 0x01, 0x48, 0x84, - 0xf4, 0x38, 0x71, 0xbd, 0xe3, 0x2f, 0x66, 0xaa, 0x86, 0x4a, - 0x03, 0xcf, 0x91, 0x5d, 0x14, 0xd8, 0xa8, 0x64, 0x2d, 0xe1, - 0xbf, 0x73, 0x3a, 0xf6, 0x62, 0xae, 0xe7, 0x2b, 0x75, 0xb9, - 0xf0, 0x3c, 0x4c, 0x80, 0xc9, 0x05, 0x5b, 0x97, 0xde, 0x12, - 0x3e, 0xf2, 0xbb, 0x77, 0x29, 0xe5, 0xac, 0x60, 0x10, 0xdc, - 0x95, 0x59, 0x07, 0xcb, 0x82, 0x4e, 0xb7, 0x7b, 0x32, 0xfe, - 0xa0, 0x6c, 0x25, 0xe9, 0x99, 0x55, 0x1c, 0xd0, 0x8e, 0x42, - 0x0b, 0xc7, 0xeb, 0x27, 0x6e, 0xa2, 0xfc, 0x30, 0x79, 0xb5, - 0xc5, 0x09, 0x40, 0x8c, 0xd2, 0x1e, 0x57, 0x9b, 0x0f, 0xc3, - 0x8a, 0x46, 0x18, 0xd4, 0x9d, 0x51, 0x21, 0xed, 0xa4, 0x68, - 0x36, 0xfa, 0xb3, 0x7f, 0x53, 0x9f, 0xd6, 0x1a, 0x44, 0x88, - 0xc1, 0x0d, 0x7d, 0xb1, 0xf8, 0x34, 0x6a, 0xa6, 0xef, 0x23, - 0x00, 0xcd, 0x87, 0x4a, 0x13, 0xde, 0x94, 0x59, 0x26, 0xeb, - 0xa1, 0x6c, 0x35, 0xf8, 0xb2, 0x7f, 0x4c, 0x81, 0xcb, 0x06, - 0x5f, 0x92, 0xd8, 0x15, 0x6a, 0xa7, 0xed, 0x20, 0x79, 0xb4, - 0xfe, 0x33, 0x98, 0x55, 0x1f, 0xd2, 0x8b, 0x46, 0x0c, 0xc1, - 0xbe, 0x73, 0x39, 0xf4, 0xad, 0x60, 0x2a, 0xe7, 0xd4, 0x19, - 0x53, 0x9e, 0xc7, 0x0a, 0x40, 0x8d, 0xf2, 0x3f, 0x75, 0xb8, - 0xe1, 0x2c, 0x66, 0xab, 0x2d, 0xe0, 0xaa, 0x67, 0x3e, 0xf3, - 0xb9, 0x74, 0x0b, 0xc6, 0x8c, 0x41, 0x18, 0xd5, 0x9f, 0x52, - 0x61, 0xac, 0xe6, 0x2b, 0x72, 0xbf, 0xf5, 0x38, 0x47, 0x8a, - 0xc0, 0x0d, 0x54, 0x99, 0xd3, 0x1e, 0xb5, 0x78, 0x32, 0xff, - 0xa6, 0x6b, 0x21, 0xec, 0x93, 0x5e, 0x14, 0xd9, 0x80, 0x4d, - 0x07, 0xca, 0xf9, 0x34, 0x7e, 0xb3, 0xea, 0x27, 0x6d, 0xa0, - 0xdf, 0x12, 0x58, 0x95, 0xcc, 0x01, 0x4b, 0x86, 0x5a, 0x97, - 0xdd, 0x10, 0x49, 0x84, 0xce, 0x03, 0x7c, 0xb1, 0xfb, 0x36, - 0x6f, 0xa2, 0xe8, 0x25, 0x16, 0xdb, 0x91, 0x5c, 0x05, 0xc8, - 0x82, 0x4f, 0x30, 0xfd, 0xb7, 0x7a, 0x23, 0xee, 0xa4, 0x69, - 0xc2, 0x0f, 0x45, 0x88, 0xd1, 0x1c, 0x56, 0x9b, 0xe4, 0x29, - 0x63, 0xae, 0xf7, 0x3a, 0x70, 0xbd, 0x8e, 0x43, 0x09, 0xc4, - 0x9d, 0x50, 0x1a, 0xd7, 0xa8, 0x65, 0x2f, 0xe2, 0xbb, 0x76, - 0x3c, 0xf1, 0x77, 0xba, 0xf0, 0x3d, 0x64, 0xa9, 0xe3, 0x2e, - 0x51, 0x9c, 0xd6, 0x1b, 0x42, 0x8f, 0xc5, 0x08, 0x3b, 0xf6, - 0xbc, 0x71, 0x28, 0xe5, 0xaf, 0x62, 0x1d, 0xd0, 0x9a, 0x57, - 0x0e, 0xc3, 0x89, 0x44, 0xef, 0x22, 0x68, 0xa5, 0xfc, 0x31, - 0x7b, 0xb6, 0xc9, 0x04, 0x4e, 0x83, 0xda, 0x17, 0x5d, 0x90, - 0xa3, 0x6e, 0x24, 0xe9, 0xb0, 0x7d, 0x37, 0xfa, 0x85, 0x48, - 0x02, 0xcf, 0x96, 0x5b, 0x11, 0xdc, 0x00, 0xce, 0x81, 0x4f, - 0x1f, 0xd1, 0x9e, 0x50, 0x3e, 0xf0, 0xbf, 0x71, 0x21, 0xef, - 0xa0, 0x6e, 0x7c, 0xb2, 0xfd, 0x33, 0x63, 0xad, 0xe2, 0x2c, - 0x42, 0x8c, 0xc3, 0x0d, 0x5d, 0x93, 0xdc, 0x12, 0xf8, 0x36, - 0x79, 0xb7, 0xe7, 0x29, 0x66, 0xa8, 0xc6, 0x08, 0x47, 0x89, - 0xd9, 0x17, 0x58, 0x96, 0x84, 0x4a, 0x05, 0xcb, 0x9b, 0x55, - 0x1a, 0xd4, 0xba, 0x74, 0x3b, 0xf5, 0xa5, 0x6b, 0x24, 0xea, - 0xed, 0x23, 0x6c, 0xa2, 0xf2, 0x3c, 0x73, 0xbd, 0xd3, 0x1d, - 0x52, 0x9c, 0xcc, 0x02, 0x4d, 0x83, 0x91, 0x5f, 0x10, 0xde, - 0x8e, 0x40, 0x0f, 0xc1, 0xaf, 0x61, 0x2e, 0xe0, 0xb0, 0x7e, - 0x31, 0xff, 0x15, 0xdb, 0x94, 0x5a, 0x0a, 0xc4, 0x8b, 0x45, - 0x2b, 0xe5, 0xaa, 0x64, 0x34, 0xfa, 0xb5, 0x7b, 0x69, 0xa7, - 0xe8, 0x26, 0x76, 0xb8, 0xf7, 0x39, 0x57, 0x99, 0xd6, 0x18, - 0x48, 0x86, 0xc9, 0x07, 0xc7, 0x09, 0x46, 0x88, 0xd8, 0x16, - 0x59, 0x97, 0xf9, 0x37, 0x78, 0xb6, 0xe6, 0x28, 0x67, 0xa9, - 0xbb, 0x75, 0x3a, 0xf4, 0xa4, 0x6a, 0x25, 0xeb, 0x85, 0x4b, - 0x04, 0xca, 0x9a, 0x54, 0x1b, 0xd5, 0x3f, 0xf1, 0xbe, 0x70, - 0x20, 0xee, 0xa1, 0x6f, 0x01, 0xcf, 0x80, 0x4e, 0x1e, 0xd0, - 0x9f, 0x51, 0x43, 0x8d, 0xc2, 0x0c, 0x5c, 0x92, 0xdd, 0x13, - 0x7d, 0xb3, 0xfc, 0x32, 0x62, 0xac, 0xe3, 0x2d, 0x2a, 0xe4, - 0xab, 0x65, 0x35, 0xfb, 0xb4, 0x7a, 0x14, 0xda, 0x95, 0x5b, - 0x0b, 0xc5, 0x8a, 0x44, 0x56, 0x98, 0xd7, 0x19, 0x49, 0x87, - 0xc8, 0x06, 0x68, 0xa6, 0xe9, 0x27, 0x77, 0xb9, 0xf6, 0x38, - 0xd2, 0x1c, 0x53, 0x9d, 0xcd, 0x03, 0x4c, 0x82, 0xec, 0x22, - 0x6d, 0xa3, 0xf3, 0x3d, 0x72, 0xbc, 0xae, 0x60, 0x2f, 0xe1, - 0xb1, 0x7f, 0x30, 0xfe, 0x90, 0x5e, 0x11, 0xdf, 0x8f, 0x41, - 0x0e, 0xc0, 0x00, 0xcf, 0x83, 0x4c, 0x1b, 0xd4, 0x98, 0x57, - 0x36, 0xf9, 0xb5, 0x7a, 0x2d, 0xe2, 0xae, 0x61, 0x6c, 0xa3, - 0xef, 0x20, 0x77, 0xb8, 0xf4, 0x3b, 0x5a, 0x95, 0xd9, 0x16, - 0x41, 0x8e, 0xc2, 0x0d, 0xd8, 0x17, 0x5b, 0x94, 0xc3, 0x0c, - 0x40, 0x8f, 0xee, 0x21, 0x6d, 0xa2, 0xf5, 0x3a, 0x76, 0xb9, - 0xb4, 0x7b, 0x37, 0xf8, 0xaf, 0x60, 0x2c, 0xe3, 0x82, 0x4d, - 0x01, 0xce, 0x99, 0x56, 0x1a, 0xd5, 0xad, 0x62, 0x2e, 0xe1, - 0xb6, 0x79, 0x35, 0xfa, 0x9b, 0x54, 0x18, 0xd7, 0x80, 0x4f, - 0x03, 0xcc, 0xc1, 0x0e, 0x42, 0x8d, 0xda, 0x15, 0x59, 0x96, - 0xf7, 0x38, 0x74, 0xbb, 0xec, 0x23, 0x6f, 0xa0, 0x75, 0xba, - 0xf6, 0x39, 0x6e, 0xa1, 0xed, 0x22, 0x43, 0x8c, 0xc0, 0x0f, - 0x58, 0x97, 0xdb, 0x14, 0x19, 0xd6, 0x9a, 0x55, 0x02, 0xcd, - 0x81, 0x4e, 0x2f, 0xe0, 0xac, 0x63, 0x34, 0xfb, 0xb7, 0x78, - 0x47, 0x88, 0xc4, 0x0b, 0x5c, 0x93, 0xdf, 0x10, 0x71, 0xbe, - 0xf2, 0x3d, 0x6a, 0xa5, 0xe9, 0x26, 0x2b, 0xe4, 0xa8, 0x67, - 0x30, 0xff, 0xb3, 0x7c, 0x1d, 0xd2, 0x9e, 0x51, 0x06, 0xc9, - 0x85, 0x4a, 0x9f, 0x50, 0x1c, 0xd3, 0x84, 0x4b, 0x07, 0xc8, - 0xa9, 0x66, 0x2a, 0xe5, 0xb2, 0x7d, 0x31, 0xfe, 0xf3, 0x3c, - 0x70, 0xbf, 0xe8, 0x27, 0x6b, 0xa4, 0xc5, 0x0a, 0x46, 0x89, - 0xde, 0x11, 0x5d, 0x92, 0xea, 0x25, 0x69, 0xa6, 0xf1, 0x3e, - 0x72, 0xbd, 0xdc, 0x13, 0x5f, 0x90, 0xc7, 0x08, 0x44, 0x8b, - 0x86, 0x49, 0x05, 0xca, 0x9d, 0x52, 0x1e, 0xd1, 0xb0, 0x7f, - 0x33, 0xfc, 0xab, 0x64, 0x28, 0xe7, 0x32, 0xfd, 0xb1, 0x7e, - 0x29, 0xe6, 0xaa, 0x65, 0x04, 0xcb, 0x87, 0x48, 0x1f, 0xd0, - 0x9c, 0x53, 0x5e, 0x91, 0xdd, 0x12, 0x45, 0x8a, 0xc6, 0x09, - 0x68, 0xa7, 0xeb, 0x24, 0x73, 0xbc, 0xf0, 0x3f, 0x00, 0xd0, - 0xbd, 0x6d, 0x67, 0xb7, 0xda, 0x0a, 0xce, 0x1e, 0x73, 0xa3, - 0xa9, 0x79, 0x14, 0xc4, 0x81, 0x51, 0x3c, 0xec, 0xe6, 0x36, - 0x5b, 0x8b, 0x4f, 0x9f, 0xf2, 0x22, 0x28, 0xf8, 0x95, 0x45, - 0x1f, 0xcf, 0xa2, 0x72, 0x78, 0xa8, 0xc5, 0x15, 0xd1, 0x01, - 0x6c, 0xbc, 0xb6, 0x66, 0x0b, 0xdb, 0x9e, 0x4e, 0x23, 0xf3, - 0xf9, 0x29, 0x44, 0x94, 0x50, 0x80, 0xed, 0x3d, 0x37, 0xe7, - 0x8a, 0x5a, 0x3e, 0xee, 0x83, 0x53, 0x59, 0x89, 0xe4, 0x34, - 0xf0, 0x20, 0x4d, 0x9d, 0x97, 0x47, 0x2a, 0xfa, 0xbf, 0x6f, - 0x02, 0xd2, 0xd8, 0x08, 0x65, 0xb5, 0x71, 0xa1, 0xcc, 0x1c, - 0x16, 0xc6, 0xab, 0x7b, 0x21, 0xf1, 0x9c, 0x4c, 0x46, 0x96, - 0xfb, 0x2b, 0xef, 0x3f, 0x52, 0x82, 0x88, 0x58, 0x35, 0xe5, - 0xa0, 0x70, 0x1d, 0xcd, 0xc7, 0x17, 0x7a, 0xaa, 0x6e, 0xbe, - 0xd3, 0x03, 0x09, 0xd9, 0xb4, 0x64, 0x7c, 0xac, 0xc1, 0x11, - 0x1b, 0xcb, 0xa6, 0x76, 0xb2, 0x62, 0x0f, 0xdf, 0xd5, 0x05, - 0x68, 0xb8, 0xfd, 0x2d, 0x40, 0x90, 0x9a, 0x4a, 0x27, 0xf7, - 0x33, 0xe3, 0x8e, 0x5e, 0x54, 0x84, 0xe9, 0x39, 0x63, 0xb3, - 0xde, 0x0e, 0x04, 0xd4, 0xb9, 0x69, 0xad, 0x7d, 0x10, 0xc0, - 0xca, 0x1a, 0x77, 0xa7, 0xe2, 0x32, 0x5f, 0x8f, 0x85, 0x55, - 0x38, 0xe8, 0x2c, 0xfc, 0x91, 0x41, 0x4b, 0x9b, 0xf6, 0x26, - 0x42, 0x92, 0xff, 0x2f, 0x25, 0xf5, 0x98, 0x48, 0x8c, 0x5c, - 0x31, 0xe1, 0xeb, 0x3b, 0x56, 0x86, 0xc3, 0x13, 0x7e, 0xae, - 0xa4, 0x74, 0x19, 0xc9, 0x0d, 0xdd, 0xb0, 0x60, 0x6a, 0xba, - 0xd7, 0x07, 0x5d, 0x8d, 0xe0, 0x30, 0x3a, 0xea, 0x87, 0x57, - 0x93, 0x43, 0x2e, 0xfe, 0xf4, 0x24, 0x49, 0x99, 0xdc, 0x0c, - 0x61, 0xb1, 0xbb, 0x6b, 0x06, 0xd6, 0x12, 0xc2, 0xaf, 0x7f, - 0x75, 0xa5, 0xc8, 0x18, 0x00, 0xd1, 0xbf, 0x6e, 0x63, 0xb2, - 0xdc, 0x0d, 0xc6, 0x17, 0x79, 0xa8, 0xa5, 0x74, 0x1a, 0xcb, - 0x91, 0x40, 0x2e, 0xff, 0xf2, 0x23, 0x4d, 0x9c, 0x57, 0x86, - 0xe8, 0x39, 0x34, 0xe5, 0x8b, 0x5a, 0x3f, 0xee, 0x80, 0x51, - 0x5c, 0x8d, 0xe3, 0x32, 0xf9, 0x28, 0x46, 0x97, 0x9a, 0x4b, - 0x25, 0xf4, 0xae, 0x7f, 0x11, 0xc0, 0xcd, 0x1c, 0x72, 0xa3, - 0x68, 0xb9, 0xd7, 0x06, 0x0b, 0xda, 0xb4, 0x65, 0x7e, 0xaf, - 0xc1, 0x10, 0x1d, 0xcc, 0xa2, 0x73, 0xb8, 0x69, 0x07, 0xd6, - 0xdb, 0x0a, 0x64, 0xb5, 0xef, 0x3e, 0x50, 0x81, 0x8c, 0x5d, - 0x33, 0xe2, 0x29, 0xf8, 0x96, 0x47, 0x4a, 0x9b, 0xf5, 0x24, - 0x41, 0x90, 0xfe, 0x2f, 0x22, 0xf3, 0x9d, 0x4c, 0x87, 0x56, - 0x38, 0xe9, 0xe4, 0x35, 0x5b, 0x8a, 0xd0, 0x01, 0x6f, 0xbe, - 0xb3, 0x62, 0x0c, 0xdd, 0x16, 0xc7, 0xa9, 0x78, 0x75, 0xa4, - 0xca, 0x1b, 0xfc, 0x2d, 0x43, 0x92, 0x9f, 0x4e, 0x20, 0xf1, - 0x3a, 0xeb, 0x85, 0x54, 0x59, 0x88, 0xe6, 0x37, 0x6d, 0xbc, - 0xd2, 0x03, 0x0e, 0xdf, 0xb1, 0x60, 0xab, 0x7a, 0x14, 0xc5, - 0xc8, 0x19, 0x77, 0xa6, 0xc3, 0x12, 0x7c, 0xad, 0xa0, 0x71, - 0x1f, 0xce, 0x05, 0xd4, 0xba, 0x6b, 0x66, 0xb7, 0xd9, 0x08, - 0x52, 0x83, 0xed, 0x3c, 0x31, 0xe0, 0x8e, 0x5f, 0x94, 0x45, - 0x2b, 0xfa, 0xf7, 0x26, 0x48, 0x99, 0x82, 0x53, 0x3d, 0xec, - 0xe1, 0x30, 0x5e, 0x8f, 0x44, 0x95, 0xfb, 0x2a, 0x27, 0xf6, - 0x98, 0x49, 0x13, 0xc2, 0xac, 0x7d, 0x70, 0xa1, 0xcf, 0x1e, - 0xd5, 0x04, 0x6a, 0xbb, 0xb6, 0x67, 0x09, 0xd8, 0xbd, 0x6c, - 0x02, 0xd3, 0xde, 0x0f, 0x61, 0xb0, 0x7b, 0xaa, 0xc4, 0x15, - 0x18, 0xc9, 0xa7, 0x76, 0x2c, 0xfd, 0x93, 0x42, 0x4f, 0x9e, - 0xf0, 0x21, 0xea, 0x3b, 0x55, 0x84, 0x89, 0x58, 0x36, 0xe7, - 0x00, 0xd2, 0xb9, 0x6b, 0x6f, 0xbd, 0xd6, 0x04, 0xde, 0x0c, - 0x67, 0xb5, 0xb1, 0x63, 0x08, 0xda, 0xa1, 0x73, 0x18, 0xca, - 0xce, 0x1c, 0x77, 0xa5, 0x7f, 0xad, 0xc6, 0x14, 0x10, 0xc2, - 0xa9, 0x7b, 0x5f, 0x8d, 0xe6, 0x34, 0x30, 0xe2, 0x89, 0x5b, - 0x81, 0x53, 0x38, 0xea, 0xee, 0x3c, 0x57, 0x85, 0xfe, 0x2c, - 0x47, 0x95, 0x91, 0x43, 0x28, 0xfa, 0x20, 0xf2, 0x99, 0x4b, - 0x4f, 0x9d, 0xf6, 0x24, 0xbe, 0x6c, 0x07, 0xd5, 0xd1, 0x03, - 0x68, 0xba, 0x60, 0xb2, 0xd9, 0x0b, 0x0f, 0xdd, 0xb6, 0x64, - 0x1f, 0xcd, 0xa6, 0x74, 0x70, 0xa2, 0xc9, 0x1b, 0xc1, 0x13, - 0x78, 0xaa, 0xae, 0x7c, 0x17, 0xc5, 0xe1, 0x33, 0x58, 0x8a, - 0x8e, 0x5c, 0x37, 0xe5, 0x3f, 0xed, 0x86, 0x54, 0x50, 0x82, - 0xe9, 0x3b, 0x40, 0x92, 0xf9, 0x2b, 0x2f, 0xfd, 0x96, 0x44, - 0x9e, 0x4c, 0x27, 0xf5, 0xf1, 0x23, 0x48, 0x9a, 0x61, 0xb3, - 0xd8, 0x0a, 0x0e, 0xdc, 0xb7, 0x65, 0xbf, 0x6d, 0x06, 0xd4, - 0xd0, 0x02, 0x69, 0xbb, 0xc0, 0x12, 0x79, 0xab, 0xaf, 0x7d, - 0x16, 0xc4, 0x1e, 0xcc, 0xa7, 0x75, 0x71, 0xa3, 0xc8, 0x1a, - 0x3e, 0xec, 0x87, 0x55, 0x51, 0x83, 0xe8, 0x3a, 0xe0, 0x32, - 0x59, 0x8b, 0x8f, 0x5d, 0x36, 0xe4, 0x9f, 0x4d, 0x26, 0xf4, - 0xf0, 0x22, 0x49, 0x9b, 0x41, 0x93, 0xf8, 0x2a, 0x2e, 0xfc, - 0x97, 0x45, 0xdf, 0x0d, 0x66, 0xb4, 0xb0, 0x62, 0x09, 0xdb, - 0x01, 0xd3, 0xb8, 0x6a, 0x6e, 0xbc, 0xd7, 0x05, 0x7e, 0xac, - 0xc7, 0x15, 0x11, 0xc3, 0xa8, 0x7a, 0xa0, 0x72, 0x19, 0xcb, - 0xcf, 0x1d, 0x76, 0xa4, 0x80, 0x52, 0x39, 0xeb, 0xef, 0x3d, - 0x56, 0x84, 0x5e, 0x8c, 0xe7, 0x35, 0x31, 0xe3, 0x88, 0x5a, - 0x21, 0xf3, 0x98, 0x4a, 0x4e, 0x9c, 0xf7, 0x25, 0xff, 0x2d, - 0x46, 0x94, 0x90, 0x42, 0x29, 0xfb, 0x00, 0xd3, 0xbb, 0x68, - 0x6b, 0xb8, 0xd0, 0x03, 0xd6, 0x05, 0x6d, 0xbe, 0xbd, 0x6e, - 0x06, 0xd5, 0xb1, 0x62, 0x0a, 0xd9, 0xda, 0x09, 0x61, 0xb2, - 0x67, 0xb4, 0xdc, 0x0f, 0x0c, 0xdf, 0xb7, 0x64, 0x7f, 0xac, - 0xc4, 0x17, 0x14, 0xc7, 0xaf, 0x7c, 0xa9, 0x7a, 0x12, 0xc1, - 0xc2, 0x11, 0x79, 0xaa, 0xce, 0x1d, 0x75, 0xa6, 0xa5, 0x76, - 0x1e, 0xcd, 0x18, 0xcb, 0xa3, 0x70, 0x73, 0xa0, 0xc8, 0x1b, - 0xfe, 0x2d, 0x45, 0x96, 0x95, 0x46, 0x2e, 0xfd, 0x28, 0xfb, - 0x93, 0x40, 0x43, 0x90, 0xf8, 0x2b, 0x4f, 0x9c, 0xf4, 0x27, - 0x24, 0xf7, 0x9f, 0x4c, 0x99, 0x4a, 0x22, 0xf1, 0xf2, 0x21, - 0x49, 0x9a, 0x81, 0x52, 0x3a, 0xe9, 0xea, 0x39, 0x51, 0x82, - 0x57, 0x84, 0xec, 0x3f, 0x3c, 0xef, 0x87, 0x54, 0x30, 0xe3, - 0x8b, 0x58, 0x5b, 0x88, 0xe0, 0x33, 0xe6, 0x35, 0x5d, 0x8e, - 0x8d, 0x5e, 0x36, 0xe5, 0xe1, 0x32, 0x5a, 0x89, 0x8a, 0x59, - 0x31, 0xe2, 0x37, 0xe4, 0x8c, 0x5f, 0x5c, 0x8f, 0xe7, 0x34, - 0x50, 0x83, 0xeb, 0x38, 0x3b, 0xe8, 0x80, 0x53, 0x86, 0x55, - 0x3d, 0xee, 0xed, 0x3e, 0x56, 0x85, 0x9e, 0x4d, 0x25, 0xf6, - 0xf5, 0x26, 0x4e, 0x9d, 0x48, 0x9b, 0xf3, 0x20, 0x23, 0xf0, - 0x98, 0x4b, 0x2f, 0xfc, 0x94, 0x47, 0x44, 0x97, 0xff, 0x2c, - 0xf9, 0x2a, 0x42, 0x91, 0x92, 0x41, 0x29, 0xfa, 0x1f, 0xcc, - 0xa4, 0x77, 0x74, 0xa7, 0xcf, 0x1c, 0xc9, 0x1a, 0x72, 0xa1, - 0xa2, 0x71, 0x19, 0xca, 0xae, 0x7d, 0x15, 0xc6, 0xc5, 0x16, - 0x7e, 0xad, 0x78, 0xab, 0xc3, 0x10, 0x13, 0xc0, 0xa8, 0x7b, - 0x60, 0xb3, 0xdb, 0x08, 0x0b, 0xd8, 0xb0, 0x63, 0xb6, 0x65, - 0x0d, 0xde, 0xdd, 0x0e, 0x66, 0xb5, 0xd1, 0x02, 0x6a, 0xb9, - 0xba, 0x69, 0x01, 0xd2, 0x07, 0xd4, 0xbc, 0x6f, 0x6c, 0xbf, - 0xd7, 0x04, 0x00, 0xd4, 0xb5, 0x61, 0x77, 0xa3, 0xc2, 0x16, - 0xee, 0x3a, 0x5b, 0x8f, 0x99, 0x4d, 0x2c, 0xf8, 0xc1, 0x15, - 0x74, 0xa0, 0xb6, 0x62, 0x03, 0xd7, 0x2f, 0xfb, 0x9a, 0x4e, - 0x58, 0x8c, 0xed, 0x39, 0x9f, 0x4b, 0x2a, 0xfe, 0xe8, 0x3c, - 0x5d, 0x89, 0x71, 0xa5, 0xc4, 0x10, 0x06, 0xd2, 0xb3, 0x67, - 0x5e, 0x8a, 0xeb, 0x3f, 0x29, 0xfd, 0x9c, 0x48, 0xb0, 0x64, - 0x05, 0xd1, 0xc7, 0x13, 0x72, 0xa6, 0x23, 0xf7, 0x96, 0x42, - 0x54, 0x80, 0xe1, 0x35, 0xcd, 0x19, 0x78, 0xac, 0xba, 0x6e, - 0x0f, 0xdb, 0xe2, 0x36, 0x57, 0x83, 0x95, 0x41, 0x20, 0xf4, - 0x0c, 0xd8, 0xb9, 0x6d, 0x7b, 0xaf, 0xce, 0x1a, 0xbc, 0x68, - 0x09, 0xdd, 0xcb, 0x1f, 0x7e, 0xaa, 0x52, 0x86, 0xe7, 0x33, - 0x25, 0xf1, 0x90, 0x44, 0x7d, 0xa9, 0xc8, 0x1c, 0x0a, 0xde, - 0xbf, 0x6b, 0x93, 0x47, 0x26, 0xf2, 0xe4, 0x30, 0x51, 0x85, - 0x46, 0x92, 0xf3, 0x27, 0x31, 0xe5, 0x84, 0x50, 0xa8, 0x7c, - 0x1d, 0xc9, 0xdf, 0x0b, 0x6a, 0xbe, 0x87, 0x53, 0x32, 0xe6, - 0xf0, 0x24, 0x45, 0x91, 0x69, 0xbd, 0xdc, 0x08, 0x1e, 0xca, - 0xab, 0x7f, 0xd9, 0x0d, 0x6c, 0xb8, 0xae, 0x7a, 0x1b, 0xcf, - 0x37, 0xe3, 0x82, 0x56, 0x40, 0x94, 0xf5, 0x21, 0x18, 0xcc, - 0xad, 0x79, 0x6f, 0xbb, 0xda, 0x0e, 0xf6, 0x22, 0x43, 0x97, - 0x81, 0x55, 0x34, 0xe0, 0x65, 0xb1, 0xd0, 0x04, 0x12, 0xc6, - 0xa7, 0x73, 0x8b, 0x5f, 0x3e, 0xea, 0xfc, 0x28, 0x49, 0x9d, - 0xa4, 0x70, 0x11, 0xc5, 0xd3, 0x07, 0x66, 0xb2, 0x4a, 0x9e, - 0xff, 0x2b, 0x3d, 0xe9, 0x88, 0x5c, 0xfa, 0x2e, 0x4f, 0x9b, - 0x8d, 0x59, 0x38, 0xec, 0x14, 0xc0, 0xa1, 0x75, 0x63, 0xb7, - 0xd6, 0x02, 0x3b, 0xef, 0x8e, 0x5a, 0x4c, 0x98, 0xf9, 0x2d, - 0xd5, 0x01, 0x60, 0xb4, 0xa2, 0x76, 0x17, 0xc3, 0x00, 0xd5, - 0xb7, 0x62, 0x73, 0xa6, 0xc4, 0x11, 0xe6, 0x33, 0x51, 0x84, - 0x95, 0x40, 0x22, 0xf7, 0xd1, 0x04, 0x66, 0xb3, 0xa2, 0x77, - 0x15, 0xc0, 0x37, 0xe2, 0x80, 0x55, 0x44, 0x91, 0xf3, 0x26, - 0xbf, 0x6a, 0x08, 0xdd, 0xcc, 0x19, 0x7b, 0xae, 0x59, 0x8c, - 0xee, 0x3b, 0x2a, 0xff, 0x9d, 0x48, 0x6e, 0xbb, 0xd9, 0x0c, - 0x1d, 0xc8, 0xaa, 0x7f, 0x88, 0x5d, 0x3f, 0xea, 0xfb, 0x2e, - 0x4c, 0x99, 0x63, 0xb6, 0xd4, 0x01, 0x10, 0xc5, 0xa7, 0x72, - 0x85, 0x50, 0x32, 0xe7, 0xf6, 0x23, 0x41, 0x94, 0xb2, 0x67, - 0x05, 0xd0, 0xc1, 0x14, 0x76, 0xa3, 0x54, 0x81, 0xe3, 0x36, - 0x27, 0xf2, 0x90, 0x45, 0xdc, 0x09, 0x6b, 0xbe, 0xaf, 0x7a, - 0x18, 0xcd, 0x3a, 0xef, 0x8d, 0x58, 0x49, 0x9c, 0xfe, 0x2b, - 0x0d, 0xd8, 0xba, 0x6f, 0x7e, 0xab, 0xc9, 0x1c, 0xeb, 0x3e, - 0x5c, 0x89, 0x98, 0x4d, 0x2f, 0xfa, 0xc6, 0x13, 0x71, 0xa4, - 0xb5, 0x60, 0x02, 0xd7, 0x20, 0xf5, 0x97, 0x42, 0x53, 0x86, - 0xe4, 0x31, 0x17, 0xc2, 0xa0, 0x75, 0x64, 0xb1, 0xd3, 0x06, - 0xf1, 0x24, 0x46, 0x93, 0x82, 0x57, 0x35, 0xe0, 0x79, 0xac, - 0xce, 0x1b, 0x0a, 0xdf, 0xbd, 0x68, 0x9f, 0x4a, 0x28, 0xfd, - 0xec, 0x39, 0x5b, 0x8e, 0xa8, 0x7d, 0x1f, 0xca, 0xdb, 0x0e, - 0x6c, 0xb9, 0x4e, 0x9b, 0xf9, 0x2c, 0x3d, 0xe8, 0x8a, 0x5f, - 0xa5, 0x70, 0x12, 0xc7, 0xd6, 0x03, 0x61, 0xb4, 0x43, 0x96, - 0xf4, 0x21, 0x30, 0xe5, 0x87, 0x52, 0x74, 0xa1, 0xc3, 0x16, - 0x07, 0xd2, 0xb0, 0x65, 0x92, 0x47, 0x25, 0xf0, 0xe1, 0x34, - 0x56, 0x83, 0x1a, 0xcf, 0xad, 0x78, 0x69, 0xbc, 0xde, 0x0b, - 0xfc, 0x29, 0x4b, 0x9e, 0x8f, 0x5a, 0x38, 0xed, 0xcb, 0x1e, - 0x7c, 0xa9, 0xb8, 0x6d, 0x0f, 0xda, 0x2d, 0xf8, 0x9a, 0x4f, - 0x5e, 0x8b, 0xe9, 0x3c, 0x00, 0xd6, 0xb1, 0x67, 0x7f, 0xa9, - 0xce, 0x18, 0xfe, 0x28, 0x4f, 0x99, 0x81, 0x57, 0x30, 0xe6, - 0xe1, 0x37, 0x50, 0x86, 0x9e, 0x48, 0x2f, 0xf9, 0x1f, 0xc9, - 0xae, 0x78, 0x60, 0xb6, 0xd1, 0x07, 0xdf, 0x09, 0x6e, 0xb8, - 0xa0, 0x76, 0x11, 0xc7, 0x21, 0xf7, 0x90, 0x46, 0x5e, 0x88, - 0xef, 0x39, 0x3e, 0xe8, 0x8f, 0x59, 0x41, 0x97, 0xf0, 0x26, - 0xc0, 0x16, 0x71, 0xa7, 0xbf, 0x69, 0x0e, 0xd8, 0xa3, 0x75, - 0x12, 0xc4, 0xdc, 0x0a, 0x6d, 0xbb, 0x5d, 0x8b, 0xec, 0x3a, - 0x22, 0xf4, 0x93, 0x45, 0x42, 0x94, 0xf3, 0x25, 0x3d, 0xeb, - 0x8c, 0x5a, 0xbc, 0x6a, 0x0d, 0xdb, 0xc3, 0x15, 0x72, 0xa4, - 0x7c, 0xaa, 0xcd, 0x1b, 0x03, 0xd5, 0xb2, 0x64, 0x82, 0x54, - 0x33, 0xe5, 0xfd, 0x2b, 0x4c, 0x9a, 0x9d, 0x4b, 0x2c, 0xfa, - 0xe2, 0x34, 0x53, 0x85, 0x63, 0xb5, 0xd2, 0x04, 0x1c, 0xca, - 0xad, 0x7b, 0x5b, 0x8d, 0xea, 0x3c, 0x24, 0xf2, 0x95, 0x43, - 0xa5, 0x73, 0x14, 0xc2, 0xda, 0x0c, 0x6b, 0xbd, 0xba, 0x6c, - 0x0b, 0xdd, 0xc5, 0x13, 0x74, 0xa2, 0x44, 0x92, 0xf5, 0x23, - 0x3b, 0xed, 0x8a, 0x5c, 0x84, 0x52, 0x35, 0xe3, 0xfb, 0x2d, - 0x4a, 0x9c, 0x7a, 0xac, 0xcb, 0x1d, 0x05, 0xd3, 0xb4, 0x62, - 0x65, 0xb3, 0xd4, 0x02, 0x1a, 0xcc, 0xab, 0x7d, 0x9b, 0x4d, - 0x2a, 0xfc, 0xe4, 0x32, 0x55, 0x83, 0xf8, 0x2e, 0x49, 0x9f, - 0x87, 0x51, 0x36, 0xe0, 0x06, 0xd0, 0xb7, 0x61, 0x79, 0xaf, - 0xc8, 0x1e, 0x19, 0xcf, 0xa8, 0x7e, 0x66, 0xb0, 0xd7, 0x01, - 0xe7, 0x31, 0x56, 0x80, 0x98, 0x4e, 0x29, 0xff, 0x27, 0xf1, - 0x96, 0x40, 0x58, 0x8e, 0xe9, 0x3f, 0xd9, 0x0f, 0x68, 0xbe, - 0xa6, 0x70, 0x17, 0xc1, 0xc6, 0x10, 0x77, 0xa1, 0xb9, 0x6f, - 0x08, 0xde, 0x38, 0xee, 0x89, 0x5f, 0x47, 0x91, 0xf6, 0x20, - 0x00, 0xd7, 0xb3, 0x64, 0x7b, 0xac, 0xc8, 0x1f, 0xf6, 0x21, - 0x45, 0x92, 0x8d, 0x5a, 0x3e, 0xe9, 0xf1, 0x26, 0x42, 0x95, - 0x8a, 0x5d, 0x39, 0xee, 0x07, 0xd0, 0xb4, 0x63, 0x7c, 0xab, - 0xcf, 0x18, 0xff, 0x28, 0x4c, 0x9b, 0x84, 0x53, 0x37, 0xe0, - 0x09, 0xde, 0xba, 0x6d, 0x72, 0xa5, 0xc1, 0x16, 0x0e, 0xd9, - 0xbd, 0x6a, 0x75, 0xa2, 0xc6, 0x11, 0xf8, 0x2f, 0x4b, 0x9c, - 0x83, 0x54, 0x30, 0xe7, 0xe3, 0x34, 0x50, 0x87, 0x98, 0x4f, - 0x2b, 0xfc, 0x15, 0xc2, 0xa6, 0x71, 0x6e, 0xb9, 0xdd, 0x0a, - 0x12, 0xc5, 0xa1, 0x76, 0x69, 0xbe, 0xda, 0x0d, 0xe4, 0x33, - 0x57, 0x80, 0x9f, 0x48, 0x2c, 0xfb, 0x1c, 0xcb, 0xaf, 0x78, - 0x67, 0xb0, 0xd4, 0x03, 0xea, 0x3d, 0x59, 0x8e, 0x91, 0x46, - 0x22, 0xf5, 0xed, 0x3a, 0x5e, 0x89, 0x96, 0x41, 0x25, 0xf2, - 0x1b, 0xcc, 0xa8, 0x7f, 0x60, 0xb7, 0xd3, 0x04, 0xdb, 0x0c, - 0x68, 0xbf, 0xa0, 0x77, 0x13, 0xc4, 0x2d, 0xfa, 0x9e, 0x49, - 0x56, 0x81, 0xe5, 0x32, 0x2a, 0xfd, 0x99, 0x4e, 0x51, 0x86, - 0xe2, 0x35, 0xdc, 0x0b, 0x6f, 0xb8, 0xa7, 0x70, 0x14, 0xc3, - 0x24, 0xf3, 0x97, 0x40, 0x5f, 0x88, 0xec, 0x3b, 0xd2, 0x05, - 0x61, 0xb6, 0xa9, 0x7e, 0x1a, 0xcd, 0xd5, 0x02, 0x66, 0xb1, - 0xae, 0x79, 0x1d, 0xca, 0x23, 0xf4, 0x90, 0x47, 0x58, 0x8f, - 0xeb, 0x3c, 0x38, 0xef, 0x8b, 0x5c, 0x43, 0x94, 0xf0, 0x27, - 0xce, 0x19, 0x7d, 0xaa, 0xb5, 0x62, 0x06, 0xd1, 0xc9, 0x1e, - 0x7a, 0xad, 0xb2, 0x65, 0x01, 0xd6, 0x3f, 0xe8, 0x8c, 0x5b, - 0x44, 0x93, 0xf7, 0x20, 0xc7, 0x10, 0x74, 0xa3, 0xbc, 0x6b, - 0x0f, 0xd8, 0x31, 0xe6, 0x82, 0x55, 0x4a, 0x9d, 0xf9, 0x2e, - 0x36, 0xe1, 0x85, 0x52, 0x4d, 0x9a, 0xfe, 0x29, 0xc0, 0x17, - 0x73, 0xa4, 0xbb, 0x6c, 0x08, 0xdf, 0x00, 0xd8, 0xad, 0x75, - 0x47, 0x9f, 0xea, 0x32, 0x8e, 0x56, 0x23, 0xfb, 0xc9, 0x11, - 0x64, 0xbc, 0x01, 0xd9, 0xac, 0x74, 0x46, 0x9e, 0xeb, 0x33, - 0x8f, 0x57, 0x22, 0xfa, 0xc8, 0x10, 0x65, 0xbd, 0x02, 0xda, - 0xaf, 0x77, 0x45, 0x9d, 0xe8, 0x30, 0x8c, 0x54, 0x21, 0xf9, - 0xcb, 0x13, 0x66, 0xbe, 0x03, 0xdb, 0xae, 0x76, 0x44, 0x9c, - 0xe9, 0x31, 0x8d, 0x55, 0x20, 0xf8, 0xca, 0x12, 0x67, 0xbf, - 0x04, 0xdc, 0xa9, 0x71, 0x43, 0x9b, 0xee, 0x36, 0x8a, 0x52, - 0x27, 0xff, 0xcd, 0x15, 0x60, 0xb8, 0x05, 0xdd, 0xa8, 0x70, - 0x42, 0x9a, 0xef, 0x37, 0x8b, 0x53, 0x26, 0xfe, 0xcc, 0x14, - 0x61, 0xb9, 0x06, 0xde, 0xab, 0x73, 0x41, 0x99, 0xec, 0x34, - 0x88, 0x50, 0x25, 0xfd, 0xcf, 0x17, 0x62, 0xba, 0x07, 0xdf, - 0xaa, 0x72, 0x40, 0x98, 0xed, 0x35, 0x89, 0x51, 0x24, 0xfc, - 0xce, 0x16, 0x63, 0xbb, 0x08, 0xd0, 0xa5, 0x7d, 0x4f, 0x97, - 0xe2, 0x3a, 0x86, 0x5e, 0x2b, 0xf3, 0xc1, 0x19, 0x6c, 0xb4, - 0x09, 0xd1, 0xa4, 0x7c, 0x4e, 0x96, 0xe3, 0x3b, 0x87, 0x5f, - 0x2a, 0xf2, 0xc0, 0x18, 0x6d, 0xb5, 0x0a, 0xd2, 0xa7, 0x7f, - 0x4d, 0x95, 0xe0, 0x38, 0x84, 0x5c, 0x29, 0xf1, 0xc3, 0x1b, - 0x6e, 0xb6, 0x0b, 0xd3, 0xa6, 0x7e, 0x4c, 0x94, 0xe1, 0x39, - 0x85, 0x5d, 0x28, 0xf0, 0xc2, 0x1a, 0x6f, 0xb7, 0x0c, 0xd4, - 0xa1, 0x79, 0x4b, 0x93, 0xe6, 0x3e, 0x82, 0x5a, 0x2f, 0xf7, - 0xc5, 0x1d, 0x68, 0xb0, 0x0d, 0xd5, 0xa0, 0x78, 0x4a, 0x92, - 0xe7, 0x3f, 0x83, 0x5b, 0x2e, 0xf6, 0xc4, 0x1c, 0x69, 0xb1, - 0x0e, 0xd6, 0xa3, 0x7b, 0x49, 0x91, 0xe4, 0x3c, 0x80, 0x58, - 0x2d, 0xf5, 0xc7, 0x1f, 0x6a, 0xb2, 0x0f, 0xd7, 0xa2, 0x7a, - 0x48, 0x90, 0xe5, 0x3d, 0x81, 0x59, 0x2c, 0xf4, 0xc6, 0x1e, - 0x6b, 0xb3, 0x00, 0xd9, 0xaf, 0x76, 0x43, 0x9a, 0xec, 0x35, - 0x86, 0x5f, 0x29, 0xf0, 0xc5, 0x1c, 0x6a, 0xb3, 0x11, 0xc8, - 0xbe, 0x67, 0x52, 0x8b, 0xfd, 0x24, 0x97, 0x4e, 0x38, 0xe1, - 0xd4, 0x0d, 0x7b, 0xa2, 0x22, 0xfb, 0x8d, 0x54, 0x61, 0xb8, - 0xce, 0x17, 0xa4, 0x7d, 0x0b, 0xd2, 0xe7, 0x3e, 0x48, 0x91, - 0x33, 0xea, 0x9c, 0x45, 0x70, 0xa9, 0xdf, 0x06, 0xb5, 0x6c, - 0x1a, 0xc3, 0xf6, 0x2f, 0x59, 0x80, 0x44, 0x9d, 0xeb, 0x32, - 0x07, 0xde, 0xa8, 0x71, 0xc2, 0x1b, 0x6d, 0xb4, 0x81, 0x58, - 0x2e, 0xf7, 0x55, 0x8c, 0xfa, 0x23, 0x16, 0xcf, 0xb9, 0x60, - 0xd3, 0x0a, 0x7c, 0xa5, 0x90, 0x49, 0x3f, 0xe6, 0x66, 0xbf, - 0xc9, 0x10, 0x25, 0xfc, 0x8a, 0x53, 0xe0, 0x39, 0x4f, 0x96, - 0xa3, 0x7a, 0x0c, 0xd5, 0x77, 0xae, 0xd8, 0x01, 0x34, 0xed, - 0x9b, 0x42, 0xf1, 0x28, 0x5e, 0x87, 0xb2, 0x6b, 0x1d, 0xc4, - 0x88, 0x51, 0x27, 0xfe, 0xcb, 0x12, 0x64, 0xbd, 0x0e, 0xd7, - 0xa1, 0x78, 0x4d, 0x94, 0xe2, 0x3b, 0x99, 0x40, 0x36, 0xef, - 0xda, 0x03, 0x75, 0xac, 0x1f, 0xc6, 0xb0, 0x69, 0x5c, 0x85, - 0xf3, 0x2a, 0xaa, 0x73, 0x05, 0xdc, 0xe9, 0x30, 0x46, 0x9f, - 0x2c, 0xf5, 0x83, 0x5a, 0x6f, 0xb6, 0xc0, 0x19, 0xbb, 0x62, - 0x14, 0xcd, 0xf8, 0x21, 0x57, 0x8e, 0x3d, 0xe4, 0x92, 0x4b, - 0x7e, 0xa7, 0xd1, 0x08, 0xcc, 0x15, 0x63, 0xba, 0x8f, 0x56, - 0x20, 0xf9, 0x4a, 0x93, 0xe5, 0x3c, 0x09, 0xd0, 0xa6, 0x7f, - 0xdd, 0x04, 0x72, 0xab, 0x9e, 0x47, 0x31, 0xe8, 0x5b, 0x82, - 0xf4, 0x2d, 0x18, 0xc1, 0xb7, 0x6e, 0xee, 0x37, 0x41, 0x98, - 0xad, 0x74, 0x02, 0xdb, 0x68, 0xb1, 0xc7, 0x1e, 0x2b, 0xf2, - 0x84, 0x5d, 0xff, 0x26, 0x50, 0x89, 0xbc, 0x65, 0x13, 0xca, - 0x79, 0xa0, 0xd6, 0x0f, 0x3a, 0xe3, 0x95, 0x4c, 0x00, 0xda, - 0xa9, 0x73, 0x4f, 0x95, 0xe6, 0x3c, 0x9e, 0x44, 0x37, 0xed, - 0xd1, 0x0b, 0x78, 0xa2, 0x21, 0xfb, 0x88, 0x52, 0x6e, 0xb4, - 0xc7, 0x1d, 0xbf, 0x65, 0x16, 0xcc, 0xf0, 0x2a, 0x59, 0x83, - 0x42, 0x98, 0xeb, 0x31, 0x0d, 0xd7, 0xa4, 0x7e, 0xdc, 0x06, - 0x75, 0xaf, 0x93, 0x49, 0x3a, 0xe0, 0x63, 0xb9, 0xca, 0x10, - 0x2c, 0xf6, 0x85, 0x5f, 0xfd, 0x27, 0x54, 0x8e, 0xb2, 0x68, - 0x1b, 0xc1, 0x84, 0x5e, 0x2d, 0xf7, 0xcb, 0x11, 0x62, 0xb8, - 0x1a, 0xc0, 0xb3, 0x69, 0x55, 0x8f, 0xfc, 0x26, 0xa5, 0x7f, - 0x0c, 0xd6, 0xea, 0x30, 0x43, 0x99, 0x3b, 0xe1, 0x92, 0x48, - 0x74, 0xae, 0xdd, 0x07, 0xc6, 0x1c, 0x6f, 0xb5, 0x89, 0x53, - 0x20, 0xfa, 0x58, 0x82, 0xf1, 0x2b, 0x17, 0xcd, 0xbe, 0x64, - 0xe7, 0x3d, 0x4e, 0x94, 0xa8, 0x72, 0x01, 0xdb, 0x79, 0xa3, - 0xd0, 0x0a, 0x36, 0xec, 0x9f, 0x45, 0x15, 0xcf, 0xbc, 0x66, - 0x5a, 0x80, 0xf3, 0x29, 0x8b, 0x51, 0x22, 0xf8, 0xc4, 0x1e, - 0x6d, 0xb7, 0x34, 0xee, 0x9d, 0x47, 0x7b, 0xa1, 0xd2, 0x08, - 0xaa, 0x70, 0x03, 0xd9, 0xe5, 0x3f, 0x4c, 0x96, 0x57, 0x8d, - 0xfe, 0x24, 0x18, 0xc2, 0xb1, 0x6b, 0xc9, 0x13, 0x60, 0xba, - 0x86, 0x5c, 0x2f, 0xf5, 0x76, 0xac, 0xdf, 0x05, 0x39, 0xe3, - 0x90, 0x4a, 0xe8, 0x32, 0x41, 0x9b, 0xa7, 0x7d, 0x0e, 0xd4, - 0x91, 0x4b, 0x38, 0xe2, 0xde, 0x04, 0x77, 0xad, 0x0f, 0xd5, - 0xa6, 0x7c, 0x40, 0x9a, 0xe9, 0x33, 0xb0, 0x6a, 0x19, 0xc3, - 0xff, 0x25, 0x56, 0x8c, 0x2e, 0xf4, 0x87, 0x5d, 0x61, 0xbb, - 0xc8, 0x12, 0xd3, 0x09, 0x7a, 0xa0, 0x9c, 0x46, 0x35, 0xef, - 0x4d, 0x97, 0xe4, 0x3e, 0x02, 0xd8, 0xab, 0x71, 0xf2, 0x28, - 0x5b, 0x81, 0xbd, 0x67, 0x14, 0xce, 0x6c, 0xb6, 0xc5, 0x1f, - 0x23, 0xf9, 0x8a, 0x50, 0x00, 0xdb, 0xab, 0x70, 0x4b, 0x90, - 0xe0, 0x3b, 0x96, 0x4d, 0x3d, 0xe6, 0xdd, 0x06, 0x76, 0xad, - 0x31, 0xea, 0x9a, 0x41, 0x7a, 0xa1, 0xd1, 0x0a, 0xa7, 0x7c, - 0x0c, 0xd7, 0xec, 0x37, 0x47, 0x9c, 0x62, 0xb9, 0xc9, 0x12, - 0x29, 0xf2, 0x82, 0x59, 0xf4, 0x2f, 0x5f, 0x84, 0xbf, 0x64, - 0x14, 0xcf, 0x53, 0x88, 0xf8, 0x23, 0x18, 0xc3, 0xb3, 0x68, - 0xc5, 0x1e, 0x6e, 0xb5, 0x8e, 0x55, 0x25, 0xfe, 0xc4, 0x1f, - 0x6f, 0xb4, 0x8f, 0x54, 0x24, 0xff, 0x52, 0x89, 0xf9, 0x22, - 0x19, 0xc2, 0xb2, 0x69, 0xf5, 0x2e, 0x5e, 0x85, 0xbe, 0x65, - 0x15, 0xce, 0x63, 0xb8, 0xc8, 0x13, 0x28, 0xf3, 0x83, 0x58, - 0xa6, 0x7d, 0x0d, 0xd6, 0xed, 0x36, 0x46, 0x9d, 0x30, 0xeb, - 0x9b, 0x40, 0x7b, 0xa0, 0xd0, 0x0b, 0x97, 0x4c, 0x3c, 0xe7, - 0xdc, 0x07, 0x77, 0xac, 0x01, 0xda, 0xaa, 0x71, 0x4a, 0x91, - 0xe1, 0x3a, 0x95, 0x4e, 0x3e, 0xe5, 0xde, 0x05, 0x75, 0xae, - 0x03, 0xd8, 0xa8, 0x73, 0x48, 0x93, 0xe3, 0x38, 0xa4, 0x7f, - 0x0f, 0xd4, 0xef, 0x34, 0x44, 0x9f, 0x32, 0xe9, 0x99, 0x42, - 0x79, 0xa2, 0xd2, 0x09, 0xf7, 0x2c, 0x5c, 0x87, 0xbc, 0x67, - 0x17, 0xcc, 0x61, 0xba, 0xca, 0x11, 0x2a, 0xf1, 0x81, 0x5a, - 0xc6, 0x1d, 0x6d, 0xb6, 0x8d, 0x56, 0x26, 0xfd, 0x50, 0x8b, - 0xfb, 0x20, 0x1b, 0xc0, 0xb0, 0x6b, 0x51, 0x8a, 0xfa, 0x21, - 0x1a, 0xc1, 0xb1, 0x6a, 0xc7, 0x1c, 0x6c, 0xb7, 0x8c, 0x57, - 0x27, 0xfc, 0x60, 0xbb, 0xcb, 0x10, 0x2b, 0xf0, 0x80, 0x5b, - 0xf6, 0x2d, 0x5d, 0x86, 0xbd, 0x66, 0x16, 0xcd, 0x33, 0xe8, - 0x98, 0x43, 0x78, 0xa3, 0xd3, 0x08, 0xa5, 0x7e, 0x0e, 0xd5, - 0xee, 0x35, 0x45, 0x9e, 0x02, 0xd9, 0xa9, 0x72, 0x49, 0x92, - 0xe2, 0x39, 0x94, 0x4f, 0x3f, 0xe4, 0xdf, 0x04, 0x74, 0xaf, - 0x00, 0xdc, 0xa5, 0x79, 0x57, 0x8b, 0xf2, 0x2e, 0xae, 0x72, - 0x0b, 0xd7, 0xf9, 0x25, 0x5c, 0x80, 0x41, 0x9d, 0xe4, 0x38, - 0x16, 0xca, 0xb3, 0x6f, 0xef, 0x33, 0x4a, 0x96, 0xb8, 0x64, - 0x1d, 0xc1, 0x82, 0x5e, 0x27, 0xfb, 0xd5, 0x09, 0x70, 0xac, - 0x2c, 0xf0, 0x89, 0x55, 0x7b, 0xa7, 0xde, 0x02, 0xc3, 0x1f, - 0x66, 0xba, 0x94, 0x48, 0x31, 0xed, 0x6d, 0xb1, 0xc8, 0x14, - 0x3a, 0xe6, 0x9f, 0x43, 0x19, 0xc5, 0xbc, 0x60, 0x4e, 0x92, - 0xeb, 0x37, 0xb7, 0x6b, 0x12, 0xce, 0xe0, 0x3c, 0x45, 0x99, - 0x58, 0x84, 0xfd, 0x21, 0x0f, 0xd3, 0xaa, 0x76, 0xf6, 0x2a, - 0x53, 0x8f, 0xa1, 0x7d, 0x04, 0xd8, 0x9b, 0x47, 0x3e, 0xe2, - 0xcc, 0x10, 0x69, 0xb5, 0x35, 0xe9, 0x90, 0x4c, 0x62, 0xbe, - 0xc7, 0x1b, 0xda, 0x06, 0x7f, 0xa3, 0x8d, 0x51, 0x28, 0xf4, - 0x74, 0xa8, 0xd1, 0x0d, 0x23, 0xff, 0x86, 0x5a, 0x32, 0xee, - 0x97, 0x4b, 0x65, 0xb9, 0xc0, 0x1c, 0x9c, 0x40, 0x39, 0xe5, - 0xcb, 0x17, 0x6e, 0xb2, 0x73, 0xaf, 0xd6, 0x0a, 0x24, 0xf8, - 0x81, 0x5d, 0xdd, 0x01, 0x78, 0xa4, 0x8a, 0x56, 0x2f, 0xf3, - 0xb0, 0x6c, 0x15, 0xc9, 0xe7, 0x3b, 0x42, 0x9e, 0x1e, 0xc2, - 0xbb, 0x67, 0x49, 0x95, 0xec, 0x30, 0xf1, 0x2d, 0x54, 0x88, - 0xa6, 0x7a, 0x03, 0xdf, 0x5f, 0x83, 0xfa, 0x26, 0x08, 0xd4, - 0xad, 0x71, 0x2b, 0xf7, 0x8e, 0x52, 0x7c, 0xa0, 0xd9, 0x05, - 0x85, 0x59, 0x20, 0xfc, 0xd2, 0x0e, 0x77, 0xab, 0x6a, 0xb6, - 0xcf, 0x13, 0x3d, 0xe1, 0x98, 0x44, 0xc4, 0x18, 0x61, 0xbd, - 0x93, 0x4f, 0x36, 0xea, 0xa9, 0x75, 0x0c, 0xd0, 0xfe, 0x22, - 0x5b, 0x87, 0x07, 0xdb, 0xa2, 0x7e, 0x50, 0x8c, 0xf5, 0x29, - 0xe8, 0x34, 0x4d, 0x91, 0xbf, 0x63, 0x1a, 0xc6, 0x46, 0x9a, - 0xe3, 0x3f, 0x11, 0xcd, 0xb4, 0x68, 0x00, 0xdd, 0xa7, 0x7a, - 0x53, 0x8e, 0xf4, 0x29, 0xa6, 0x7b, 0x01, 0xdc, 0xf5, 0x28, - 0x52, 0x8f, 0x51, 0x8c, 0xf6, 0x2b, 0x02, 0xdf, 0xa5, 0x78, - 0xf7, 0x2a, 0x50, 0x8d, 0xa4, 0x79, 0x03, 0xde, 0xa2, 0x7f, - 0x05, 0xd8, 0xf1, 0x2c, 0x56, 0x8b, 0x04, 0xd9, 0xa3, 0x7e, - 0x57, 0x8a, 0xf0, 0x2d, 0xf3, 0x2e, 0x54, 0x89, 0xa0, 0x7d, - 0x07, 0xda, 0x55, 0x88, 0xf2, 0x2f, 0x06, 0xdb, 0xa1, 0x7c, - 0x59, 0x84, 0xfe, 0x23, 0x0a, 0xd7, 0xad, 0x70, 0xff, 0x22, - 0x58, 0x85, 0xac, 0x71, 0x0b, 0xd6, 0x08, 0xd5, 0xaf, 0x72, - 0x5b, 0x86, 0xfc, 0x21, 0xae, 0x73, 0x09, 0xd4, 0xfd, 0x20, - 0x5a, 0x87, 0xfb, 0x26, 0x5c, 0x81, 0xa8, 0x75, 0x0f, 0xd2, - 0x5d, 0x80, 0xfa, 0x27, 0x0e, 0xd3, 0xa9, 0x74, 0xaa, 0x77, - 0x0d, 0xd0, 0xf9, 0x24, 0x5e, 0x83, 0x0c, 0xd1, 0xab, 0x76, - 0x5f, 0x82, 0xf8, 0x25, 0xb2, 0x6f, 0x15, 0xc8, 0xe1, 0x3c, - 0x46, 0x9b, 0x14, 0xc9, 0xb3, 0x6e, 0x47, 0x9a, 0xe0, 0x3d, - 0xe3, 0x3e, 0x44, 0x99, 0xb0, 0x6d, 0x17, 0xca, 0x45, 0x98, - 0xe2, 0x3f, 0x16, 0xcb, 0xb1, 0x6c, 0x10, 0xcd, 0xb7, 0x6a, - 0x43, 0x9e, 0xe4, 0x39, 0xb6, 0x6b, 0x11, 0xcc, 0xe5, 0x38, - 0x42, 0x9f, 0x41, 0x9c, 0xe6, 0x3b, 0x12, 0xcf, 0xb5, 0x68, - 0xe7, 0x3a, 0x40, 0x9d, 0xb4, 0x69, 0x13, 0xce, 0xeb, 0x36, - 0x4c, 0x91, 0xb8, 0x65, 0x1f, 0xc2, 0x4d, 0x90, 0xea, 0x37, - 0x1e, 0xc3, 0xb9, 0x64, 0xba, 0x67, 0x1d, 0xc0, 0xe9, 0x34, - 0x4e, 0x93, 0x1c, 0xc1, 0xbb, 0x66, 0x4f, 0x92, 0xe8, 0x35, - 0x49, 0x94, 0xee, 0x33, 0x1a, 0xc7, 0xbd, 0x60, 0xef, 0x32, - 0x48, 0x95, 0xbc, 0x61, 0x1b, 0xc6, 0x18, 0xc5, 0xbf, 0x62, - 0x4b, 0x96, 0xec, 0x31, 0xbe, 0x63, 0x19, 0xc4, 0xed, 0x30, - 0x4a, 0x97, 0x00, 0xde, 0xa1, 0x7f, 0x5f, 0x81, 0xfe, 0x20, - 0xbe, 0x60, 0x1f, 0xc1, 0xe1, 0x3f, 0x40, 0x9e, 0x61, 0xbf, - 0xc0, 0x1e, 0x3e, 0xe0, 0x9f, 0x41, 0xdf, 0x01, 0x7e, 0xa0, - 0x80, 0x5e, 0x21, 0xff, 0xc2, 0x1c, 0x63, 0xbd, 0x9d, 0x43, - 0x3c, 0xe2, 0x7c, 0xa2, 0xdd, 0x03, 0x23, 0xfd, 0x82, 0x5c, - 0xa3, 0x7d, 0x02, 0xdc, 0xfc, 0x22, 0x5d, 0x83, 0x1d, 0xc3, - 0xbc, 0x62, 0x42, 0x9c, 0xe3, 0x3d, 0x99, 0x47, 0x38, 0xe6, - 0xc6, 0x18, 0x67, 0xb9, 0x27, 0xf9, 0x86, 0x58, 0x78, 0xa6, - 0xd9, 0x07, 0xf8, 0x26, 0x59, 0x87, 0xa7, 0x79, 0x06, 0xd8, - 0x46, 0x98, 0xe7, 0x39, 0x19, 0xc7, 0xb8, 0x66, 0x5b, 0x85, - 0xfa, 0x24, 0x04, 0xda, 0xa5, 0x7b, 0xe5, 0x3b, 0x44, 0x9a, - 0xba, 0x64, 0x1b, 0xc5, 0x3a, 0xe4, 0x9b, 0x45, 0x65, 0xbb, - 0xc4, 0x1a, 0x84, 0x5a, 0x25, 0xfb, 0xdb, 0x05, 0x7a, 0xa4, - 0x2f, 0xf1, 0x8e, 0x50, 0x70, 0xae, 0xd1, 0x0f, 0x91, 0x4f, - 0x30, 0xee, 0xce, 0x10, 0x6f, 0xb1, 0x4e, 0x90, 0xef, 0x31, - 0x11, 0xcf, 0xb0, 0x6e, 0xf0, 0x2e, 0x51, 0x8f, 0xaf, 0x71, - 0x0e, 0xd0, 0xed, 0x33, 0x4c, 0x92, 0xb2, 0x6c, 0x13, 0xcd, - 0x53, 0x8d, 0xf2, 0x2c, 0x0c, 0xd2, 0xad, 0x73, 0x8c, 0x52, - 0x2d, 0xf3, 0xd3, 0x0d, 0x72, 0xac, 0x32, 0xec, 0x93, 0x4d, - 0x6d, 0xb3, 0xcc, 0x12, 0xb6, 0x68, 0x17, 0xc9, 0xe9, 0x37, - 0x48, 0x96, 0x08, 0xd6, 0xa9, 0x77, 0x57, 0x89, 0xf6, 0x28, - 0xd7, 0x09, 0x76, 0xa8, 0x88, 0x56, 0x29, 0xf7, 0x69, 0xb7, - 0xc8, 0x16, 0x36, 0xe8, 0x97, 0x49, 0x74, 0xaa, 0xd5, 0x0b, - 0x2b, 0xf5, 0x8a, 0x54, 0xca, 0x14, 0x6b, 0xb5, 0x95, 0x4b, - 0x34, 0xea, 0x15, 0xcb, 0xb4, 0x6a, 0x4a, 0x94, 0xeb, 0x35, - 0xab, 0x75, 0x0a, 0xd4, 0xf4, 0x2a, 0x55, 0x8b, 0x00, 0xdf, - 0xa3, 0x7c, 0x5b, 0x84, 0xf8, 0x27, 0xb6, 0x69, 0x15, 0xca, - 0xed, 0x32, 0x4e, 0x91, 0x71, 0xae, 0xd2, 0x0d, 0x2a, 0xf5, - 0x89, 0x56, 0xc7, 0x18, 0x64, 0xbb, 0x9c, 0x43, 0x3f, 0xe0, - 0xe2, 0x3d, 0x41, 0x9e, 0xb9, 0x66, 0x1a, 0xc5, 0x54, 0x8b, - 0xf7, 0x28, 0x0f, 0xd0, 0xac, 0x73, 0x93, 0x4c, 0x30, 0xef, - 0xc8, 0x17, 0x6b, 0xb4, 0x25, 0xfa, 0x86, 0x59, 0x7e, 0xa1, - 0xdd, 0x02, 0xd9, 0x06, 0x7a, 0xa5, 0x82, 0x5d, 0x21, 0xfe, - 0x6f, 0xb0, 0xcc, 0x13, 0x34, 0xeb, 0x97, 0x48, 0xa8, 0x77, - 0x0b, 0xd4, 0xf3, 0x2c, 0x50, 0x8f, 0x1e, 0xc1, 0xbd, 0x62, - 0x45, 0x9a, 0xe6, 0x39, 0x3b, 0xe4, 0x98, 0x47, 0x60, 0xbf, - 0xc3, 0x1c, 0x8d, 0x52, 0x2e, 0xf1, 0xd6, 0x09, 0x75, 0xaa, - 0x4a, 0x95, 0xe9, 0x36, 0x11, 0xce, 0xb2, 0x6d, 0xfc, 0x23, - 0x5f, 0x80, 0xa7, 0x78, 0x04, 0xdb, 0xaf, 0x70, 0x0c, 0xd3, - 0xf4, 0x2b, 0x57, 0x88, 0x19, 0xc6, 0xba, 0x65, 0x42, 0x9d, - 0xe1, 0x3e, 0xde, 0x01, 0x7d, 0xa2, 0x85, 0x5a, 0x26, 0xf9, - 0x68, 0xb7, 0xcb, 0x14, 0x33, 0xec, 0x90, 0x4f, 0x4d, 0x92, - 0xee, 0x31, 0x16, 0xc9, 0xb5, 0x6a, 0xfb, 0x24, 0x58, 0x87, - 0xa0, 0x7f, 0x03, 0xdc, 0x3c, 0xe3, 0x9f, 0x40, 0x67, 0xb8, - 0xc4, 0x1b, 0x8a, 0x55, 0x29, 0xf6, 0xd1, 0x0e, 0x72, 0xad, - 0x76, 0xa9, 0xd5, 0x0a, 0x2d, 0xf2, 0x8e, 0x51, 0xc0, 0x1f, - 0x63, 0xbc, 0x9b, 0x44, 0x38, 0xe7, 0x07, 0xd8, 0xa4, 0x7b, - 0x5c, 0x83, 0xff, 0x20, 0xb1, 0x6e, 0x12, 0xcd, 0xea, 0x35, - 0x49, 0x96, 0x94, 0x4b, 0x37, 0xe8, 0xcf, 0x10, 0x6c, 0xb3, - 0x22, 0xfd, 0x81, 0x5e, 0x79, 0xa6, 0xda, 0x05, 0xe5, 0x3a, - 0x46, 0x99, 0xbe, 0x61, 0x1d, 0xc2, 0x53, 0x8c, 0xf0, 0x2f, - 0x08, 0xd7, 0xab, 0x74, 0x00, 0xe0, 0xdd, 0x3d, 0xa7, 0x47, - 0x7a, 0x9a, 0x53, 0xb3, 0x8e, 0x6e, 0xf4, 0x14, 0x29, 0xc9, - 0xa6, 0x46, 0x7b, 0x9b, 0x01, 0xe1, 0xdc, 0x3c, 0xf5, 0x15, - 0x28, 0xc8, 0x52, 0xb2, 0x8f, 0x6f, 0x51, 0xb1, 0x8c, 0x6c, - 0xf6, 0x16, 0x2b, 0xcb, 0x02, 0xe2, 0xdf, 0x3f, 0xa5, 0x45, - 0x78, 0x98, 0xf7, 0x17, 0x2a, 0xca, 0x50, 0xb0, 0x8d, 0x6d, - 0xa4, 0x44, 0x79, 0x99, 0x03, 0xe3, 0xde, 0x3e, 0xa2, 0x42, - 0x7f, 0x9f, 0x05, 0xe5, 0xd8, 0x38, 0xf1, 0x11, 0x2c, 0xcc, - 0x56, 0xb6, 0x8b, 0x6b, 0x04, 0xe4, 0xd9, 0x39, 0xa3, 0x43, - 0x7e, 0x9e, 0x57, 0xb7, 0x8a, 0x6a, 0xf0, 0x10, 0x2d, 0xcd, - 0xf3, 0x13, 0x2e, 0xce, 0x54, 0xb4, 0x89, 0x69, 0xa0, 0x40, - 0x7d, 0x9d, 0x07, 0xe7, 0xda, 0x3a, 0x55, 0xb5, 0x88, 0x68, - 0xf2, 0x12, 0x2f, 0xcf, 0x06, 0xe6, 0xdb, 0x3b, 0xa1, 0x41, - 0x7c, 0x9c, 0x59, 0xb9, 0x84, 0x64, 0xfe, 0x1e, 0x23, 0xc3, - 0x0a, 0xea, 0xd7, 0x37, 0xad, 0x4d, 0x70, 0x90, 0xff, 0x1f, - 0x22, 0xc2, 0x58, 0xb8, 0x85, 0x65, 0xac, 0x4c, 0x71, 0x91, - 0x0b, 0xeb, 0xd6, 0x36, 0x08, 0xe8, 0xd5, 0x35, 0xaf, 0x4f, - 0x72, 0x92, 0x5b, 0xbb, 0x86, 0x66, 0xfc, 0x1c, 0x21, 0xc1, - 0xae, 0x4e, 0x73, 0x93, 0x09, 0xe9, 0xd4, 0x34, 0xfd, 0x1d, - 0x20, 0xc0, 0x5a, 0xba, 0x87, 0x67, 0xfb, 0x1b, 0x26, 0xc6, - 0x5c, 0xbc, 0x81, 0x61, 0xa8, 0x48, 0x75, 0x95, 0x0f, 0xef, - 0xd2, 0x32, 0x5d, 0xbd, 0x80, 0x60, 0xfa, 0x1a, 0x27, 0xc7, - 0x0e, 0xee, 0xd3, 0x33, 0xa9, 0x49, 0x74, 0x94, 0xaa, 0x4a, - 0x77, 0x97, 0x0d, 0xed, 0xd0, 0x30, 0xf9, 0x19, 0x24, 0xc4, - 0x5e, 0xbe, 0x83, 0x63, 0x0c, 0xec, 0xd1, 0x31, 0xab, 0x4b, - 0x76, 0x96, 0x5f, 0xbf, 0x82, 0x62, 0xf8, 0x18, 0x25, 0xc5, - 0x00, 0xe1, 0xdf, 0x3e, 0xa3, 0x42, 0x7c, 0x9d, 0x5b, 0xba, - 0x84, 0x65, 0xf8, 0x19, 0x27, 0xc6, 0xb6, 0x57, 0x69, 0x88, - 0x15, 0xf4, 0xca, 0x2b, 0xed, 0x0c, 0x32, 0xd3, 0x4e, 0xaf, - 0x91, 0x70, 0x71, 0x90, 0xae, 0x4f, 0xd2, 0x33, 0x0d, 0xec, - 0x2a, 0xcb, 0xf5, 0x14, 0x89, 0x68, 0x56, 0xb7, 0xc7, 0x26, - 0x18, 0xf9, 0x64, 0x85, 0xbb, 0x5a, 0x9c, 0x7d, 0x43, 0xa2, - 0x3f, 0xde, 0xe0, 0x01, 0xe2, 0x03, 0x3d, 0xdc, 0x41, 0xa0, - 0x9e, 0x7f, 0xb9, 0x58, 0x66, 0x87, 0x1a, 0xfb, 0xc5, 0x24, - 0x54, 0xb5, 0x8b, 0x6a, 0xf7, 0x16, 0x28, 0xc9, 0x0f, 0xee, - 0xd0, 0x31, 0xac, 0x4d, 0x73, 0x92, 0x93, 0x72, 0x4c, 0xad, - 0x30, 0xd1, 0xef, 0x0e, 0xc8, 0x29, 0x17, 0xf6, 0x6b, 0x8a, - 0xb4, 0x55, 0x25, 0xc4, 0xfa, 0x1b, 0x86, 0x67, 0x59, 0xb8, - 0x7e, 0x9f, 0xa1, 0x40, 0xdd, 0x3c, 0x02, 0xe3, 0xd9, 0x38, - 0x06, 0xe7, 0x7a, 0x9b, 0xa5, 0x44, 0x82, 0x63, 0x5d, 0xbc, - 0x21, 0xc0, 0xfe, 0x1f, 0x6f, 0x8e, 0xb0, 0x51, 0xcc, 0x2d, - 0x13, 0xf2, 0x34, 0xd5, 0xeb, 0x0a, 0x97, 0x76, 0x48, 0xa9, - 0xa8, 0x49, 0x77, 0x96, 0x0b, 0xea, 0xd4, 0x35, 0xf3, 0x12, - 0x2c, 0xcd, 0x50, 0xb1, 0x8f, 0x6e, 0x1e, 0xff, 0xc1, 0x20, - 0xbd, 0x5c, 0x62, 0x83, 0x45, 0xa4, 0x9a, 0x7b, 0xe6, 0x07, - 0x39, 0xd8, 0x3b, 0xda, 0xe4, 0x05, 0x98, 0x79, 0x47, 0xa6, - 0x60, 0x81, 0xbf, 0x5e, 0xc3, 0x22, 0x1c, 0xfd, 0x8d, 0x6c, - 0x52, 0xb3, 0x2e, 0xcf, 0xf1, 0x10, 0xd6, 0x37, 0x09, 0xe8, - 0x75, 0x94, 0xaa, 0x4b, 0x4a, 0xab, 0x95, 0x74, 0xe9, 0x08, - 0x36, 0xd7, 0x11, 0xf0, 0xce, 0x2f, 0xb2, 0x53, 0x6d, 0x8c, - 0xfc, 0x1d, 0x23, 0xc2, 0x5f, 0xbe, 0x80, 0x61, 0xa7, 0x46, - 0x78, 0x99, 0x04, 0xe5, 0xdb, 0x3a, 0x00, 0xe2, 0xd9, 0x3b, - 0xaf, 0x4d, 0x76, 0x94, 0x43, 0xa1, 0x9a, 0x78, 0xec, 0x0e, - 0x35, 0xd7, 0x86, 0x64, 0x5f, 0xbd, 0x29, 0xcb, 0xf0, 0x12, - 0xc5, 0x27, 0x1c, 0xfe, 0x6a, 0x88, 0xb3, 0x51, 0x11, 0xf3, - 0xc8, 0x2a, 0xbe, 0x5c, 0x67, 0x85, 0x52, 0xb0, 0x8b, 0x69, - 0xfd, 0x1f, 0x24, 0xc6, 0x97, 0x75, 0x4e, 0xac, 0x38, 0xda, - 0xe1, 0x03, 0xd4, 0x36, 0x0d, 0xef, 0x7b, 0x99, 0xa2, 0x40, - 0x22, 0xc0, 0xfb, 0x19, 0x8d, 0x6f, 0x54, 0xb6, 0x61, 0x83, - 0xb8, 0x5a, 0xce, 0x2c, 0x17, 0xf5, 0xa4, 0x46, 0x7d, 0x9f, - 0x0b, 0xe9, 0xd2, 0x30, 0xe7, 0x05, 0x3e, 0xdc, 0x48, 0xaa, - 0x91, 0x73, 0x33, 0xd1, 0xea, 0x08, 0x9c, 0x7e, 0x45, 0xa7, - 0x70, 0x92, 0xa9, 0x4b, 0xdf, 0x3d, 0x06, 0xe4, 0xb5, 0x57, - 0x6c, 0x8e, 0x1a, 0xf8, 0xc3, 0x21, 0xf6, 0x14, 0x2f, 0xcd, - 0x59, 0xbb, 0x80, 0x62, 0x44, 0xa6, 0x9d, 0x7f, 0xeb, 0x09, - 0x32, 0xd0, 0x07, 0xe5, 0xde, 0x3c, 0xa8, 0x4a, 0x71, 0x93, - 0xc2, 0x20, 0x1b, 0xf9, 0x6d, 0x8f, 0xb4, 0x56, 0x81, 0x63, - 0x58, 0xba, 0x2e, 0xcc, 0xf7, 0x15, 0x55, 0xb7, 0x8c, 0x6e, - 0xfa, 0x18, 0x23, 0xc1, 0x16, 0xf4, 0xcf, 0x2d, 0xb9, 0x5b, - 0x60, 0x82, 0xd3, 0x31, 0x0a, 0xe8, 0x7c, 0x9e, 0xa5, 0x47, - 0x90, 0x72, 0x49, 0xab, 0x3f, 0xdd, 0xe6, 0x04, 0x66, 0x84, - 0xbf, 0x5d, 0xc9, 0x2b, 0x10, 0xf2, 0x25, 0xc7, 0xfc, 0x1e, - 0x8a, 0x68, 0x53, 0xb1, 0xe0, 0x02, 0x39, 0xdb, 0x4f, 0xad, - 0x96, 0x74, 0xa3, 0x41, 0x7a, 0x98, 0x0c, 0xee, 0xd5, 0x37, - 0x77, 0x95, 0xae, 0x4c, 0xd8, 0x3a, 0x01, 0xe3, 0x34, 0xd6, - 0xed, 0x0f, 0x9b, 0x79, 0x42, 0xa0, 0xf1, 0x13, 0x28, 0xca, - 0x5e, 0xbc, 0x87, 0x65, 0xb2, 0x50, 0x6b, 0x89, 0x1d, 0xff, - 0xc4, 0x26, 0x00, 0xe3, 0xdb, 0x38, 0xab, 0x48, 0x70, 0x93, - 0x4b, 0xa8, 0x90, 0x73, 0xe0, 0x03, 0x3b, 0xd8, 0x96, 0x75, - 0x4d, 0xae, 0x3d, 0xde, 0xe6, 0x05, 0xdd, 0x3e, 0x06, 0xe5, - 0x76, 0x95, 0xad, 0x4e, 0x31, 0xd2, 0xea, 0x09, 0x9a, 0x79, - 0x41, 0xa2, 0x7a, 0x99, 0xa1, 0x42, 0xd1, 0x32, 0x0a, 0xe9, - 0xa7, 0x44, 0x7c, 0x9f, 0x0c, 0xef, 0xd7, 0x34, 0xec, 0x0f, - 0x37, 0xd4, 0x47, 0xa4, 0x9c, 0x7f, 0x62, 0x81, 0xb9, 0x5a, - 0xc9, 0x2a, 0x12, 0xf1, 0x29, 0xca, 0xf2, 0x11, 0x82, 0x61, - 0x59, 0xba, 0xf4, 0x17, 0x2f, 0xcc, 0x5f, 0xbc, 0x84, 0x67, - 0xbf, 0x5c, 0x64, 0x87, 0x14, 0xf7, 0xcf, 0x2c, 0x53, 0xb0, - 0x88, 0x6b, 0xf8, 0x1b, 0x23, 0xc0, 0x18, 0xfb, 0xc3, 0x20, - 0xb3, 0x50, 0x68, 0x8b, 0xc5, 0x26, 0x1e, 0xfd, 0x6e, 0x8d, - 0xb5, 0x56, 0x8e, 0x6d, 0x55, 0xb6, 0x25, 0xc6, 0xfe, 0x1d, - 0xc4, 0x27, 0x1f, 0xfc, 0x6f, 0x8c, 0xb4, 0x57, 0x8f, 0x6c, - 0x54, 0xb7, 0x24, 0xc7, 0xff, 0x1c, 0x52, 0xb1, 0x89, 0x6a, - 0xf9, 0x1a, 0x22, 0xc1, 0x19, 0xfa, 0xc2, 0x21, 0xb2, 0x51, - 0x69, 0x8a, 0xf5, 0x16, 0x2e, 0xcd, 0x5e, 0xbd, 0x85, 0x66, - 0xbe, 0x5d, 0x65, 0x86, 0x15, 0xf6, 0xce, 0x2d, 0x63, 0x80, - 0xb8, 0x5b, 0xc8, 0x2b, 0x13, 0xf0, 0x28, 0xcb, 0xf3, 0x10, - 0x83, 0x60, 0x58, 0xbb, 0xa6, 0x45, 0x7d, 0x9e, 0x0d, 0xee, - 0xd6, 0x35, 0xed, 0x0e, 0x36, 0xd5, 0x46, 0xa5, 0x9d, 0x7e, - 0x30, 0xd3, 0xeb, 0x08, 0x9b, 0x78, 0x40, 0xa3, 0x7b, 0x98, - 0xa0, 0x43, 0xd0, 0x33, 0x0b, 0xe8, 0x97, 0x74, 0x4c, 0xaf, - 0x3c, 0xdf, 0xe7, 0x04, 0xdc, 0x3f, 0x07, 0xe4, 0x77, 0x94, - 0xac, 0x4f, 0x01, 0xe2, 0xda, 0x39, 0xaa, 0x49, 0x71, 0x92, - 0x4a, 0xa9, 0x91, 0x72, 0xe1, 0x02, 0x3a, 0xd9, 0x00, 0xe4, - 0xd5, 0x31, 0xb7, 0x53, 0x62, 0x86, 0x73, 0x97, 0xa6, 0x42, - 0xc4, 0x20, 0x11, 0xf5, 0xe6, 0x02, 0x33, 0xd7, 0x51, 0xb5, - 0x84, 0x60, 0x95, 0x71, 0x40, 0xa4, 0x22, 0xc6, 0xf7, 0x13, - 0xd1, 0x35, 0x04, 0xe0, 0x66, 0x82, 0xb3, 0x57, 0xa2, 0x46, - 0x77, 0x93, 0x15, 0xf1, 0xc0, 0x24, 0x37, 0xd3, 0xe2, 0x06, - 0x80, 0x64, 0x55, 0xb1, 0x44, 0xa0, 0x91, 0x75, 0xf3, 0x17, - 0x26, 0xc2, 0xbf, 0x5b, 0x6a, 0x8e, 0x08, 0xec, 0xdd, 0x39, - 0xcc, 0x28, 0x19, 0xfd, 0x7b, 0x9f, 0xae, 0x4a, 0x59, 0xbd, - 0x8c, 0x68, 0xee, 0x0a, 0x3b, 0xdf, 0x2a, 0xce, 0xff, 0x1b, - 0x9d, 0x79, 0x48, 0xac, 0x6e, 0x8a, 0xbb, 0x5f, 0xd9, 0x3d, - 0x0c, 0xe8, 0x1d, 0xf9, 0xc8, 0x2c, 0xaa, 0x4e, 0x7f, 0x9b, - 0x88, 0x6c, 0x5d, 0xb9, 0x3f, 0xdb, 0xea, 0x0e, 0xfb, 0x1f, - 0x2e, 0xca, 0x4c, 0xa8, 0x99, 0x7d, 0x63, 0x87, 0xb6, 0x52, - 0xd4, 0x30, 0x01, 0xe5, 0x10, 0xf4, 0xc5, 0x21, 0xa7, 0x43, - 0x72, 0x96, 0x85, 0x61, 0x50, 0xb4, 0x32, 0xd6, 0xe7, 0x03, - 0xf6, 0x12, 0x23, 0xc7, 0x41, 0xa5, 0x94, 0x70, 0xb2, 0x56, - 0x67, 0x83, 0x05, 0xe1, 0xd0, 0x34, 0xc1, 0x25, 0x14, 0xf0, - 0x76, 0x92, 0xa3, 0x47, 0x54, 0xb0, 0x81, 0x65, 0xe3, 0x07, - 0x36, 0xd2, 0x27, 0xc3, 0xf2, 0x16, 0x90, 0x74, 0x45, 0xa1, - 0xdc, 0x38, 0x09, 0xed, 0x6b, 0x8f, 0xbe, 0x5a, 0xaf, 0x4b, - 0x7a, 0x9e, 0x18, 0xfc, 0xcd, 0x29, 0x3a, 0xde, 0xef, 0x0b, - 0x8d, 0x69, 0x58, 0xbc, 0x49, 0xad, 0x9c, 0x78, 0xfe, 0x1a, - 0x2b, 0xcf, 0x0d, 0xe9, 0xd8, 0x3c, 0xba, 0x5e, 0x6f, 0x8b, - 0x7e, 0x9a, 0xab, 0x4f, 0xc9, 0x2d, 0x1c, 0xf8, 0xeb, 0x0f, - 0x3e, 0xda, 0x5c, 0xb8, 0x89, 0x6d, 0x98, 0x7c, 0x4d, 0xa9, - 0x2f, 0xcb, 0xfa, 0x1e, 0x00, 0xe5, 0xd7, 0x32, 0xb3, 0x56, - 0x64, 0x81, 0x7b, 0x9e, 0xac, 0x49, 0xc8, 0x2d, 0x1f, 0xfa, - 0xf6, 0x13, 0x21, 0xc4, 0x45, 0xa0, 0x92, 0x77, 0x8d, 0x68, - 0x5a, 0xbf, 0x3e, 0xdb, 0xe9, 0x0c, 0xf1, 0x14, 0x26, 0xc3, - 0x42, 0xa7, 0x95, 0x70, 0x8a, 0x6f, 0x5d, 0xb8, 0x39, 0xdc, - 0xee, 0x0b, 0x07, 0xe2, 0xd0, 0x35, 0xb4, 0x51, 0x63, 0x86, - 0x7c, 0x99, 0xab, 0x4e, 0xcf, 0x2a, 0x18, 0xfd, 0xff, 0x1a, - 0x28, 0xcd, 0x4c, 0xa9, 0x9b, 0x7e, 0x84, 0x61, 0x53, 0xb6, - 0x37, 0xd2, 0xe0, 0x05, 0x09, 0xec, 0xde, 0x3b, 0xba, 0x5f, - 0x6d, 0x88, 0x72, 0x97, 0xa5, 0x40, 0xc1, 0x24, 0x16, 0xf3, - 0x0e, 0xeb, 0xd9, 0x3c, 0xbd, 0x58, 0x6a, 0x8f, 0x75, 0x90, - 0xa2, 0x47, 0xc6, 0x23, 0x11, 0xf4, 0xf8, 0x1d, 0x2f, 0xca, - 0x4b, 0xae, 0x9c, 0x79, 0x83, 0x66, 0x54, 0xb1, 0x30, 0xd5, - 0xe7, 0x02, 0xe3, 0x06, 0x34, 0xd1, 0x50, 0xb5, 0x87, 0x62, - 0x98, 0x7d, 0x4f, 0xaa, 0x2b, 0xce, 0xfc, 0x19, 0x15, 0xf0, - 0xc2, 0x27, 0xa6, 0x43, 0x71, 0x94, 0x6e, 0x8b, 0xb9, 0x5c, - 0xdd, 0x38, 0x0a, 0xef, 0x12, 0xf7, 0xc5, 0x20, 0xa1, 0x44, - 0x76, 0x93, 0x69, 0x8c, 0xbe, 0x5b, 0xda, 0x3f, 0x0d, 0xe8, - 0xe4, 0x01, 0x33, 0xd6, 0x57, 0xb2, 0x80, 0x65, 0x9f, 0x7a, - 0x48, 0xad, 0x2c, 0xc9, 0xfb, 0x1e, 0x1c, 0xf9, 0xcb, 0x2e, - 0xaf, 0x4a, 0x78, 0x9d, 0x67, 0x82, 0xb0, 0x55, 0xd4, 0x31, - 0x03, 0xe6, 0xea, 0x0f, 0x3d, 0xd8, 0x59, 0xbc, 0x8e, 0x6b, - 0x91, 0x74, 0x46, 0xa3, 0x22, 0xc7, 0xf5, 0x10, 0xed, 0x08, - 0x3a, 0xdf, 0x5e, 0xbb, 0x89, 0x6c, 0x96, 0x73, 0x41, 0xa4, - 0x25, 0xc0, 0xf2, 0x17, 0x1b, 0xfe, 0xcc, 0x29, 0xa8, 0x4d, - 0x7f, 0x9a, 0x60, 0x85, 0xb7, 0x52, 0xd3, 0x36, 0x04, 0xe1, - 0x00, 0xe6, 0xd1, 0x37, 0xbf, 0x59, 0x6e, 0x88, 0x63, 0x85, - 0xb2, 0x54, 0xdc, 0x3a, 0x0d, 0xeb, 0xc6, 0x20, 0x17, 0xf1, - 0x79, 0x9f, 0xa8, 0x4e, 0xa5, 0x43, 0x74, 0x92, 0x1a, 0xfc, - 0xcb, 0x2d, 0x91, 0x77, 0x40, 0xa6, 0x2e, 0xc8, 0xff, 0x19, - 0xf2, 0x14, 0x23, 0xc5, 0x4d, 0xab, 0x9c, 0x7a, 0x57, 0xb1, - 0x86, 0x60, 0xe8, 0x0e, 0x39, 0xdf, 0x34, 0xd2, 0xe5, 0x03, - 0x8b, 0x6d, 0x5a, 0xbc, 0x3f, 0xd9, 0xee, 0x08, 0x80, 0x66, - 0x51, 0xb7, 0x5c, 0xba, 0x8d, 0x6b, 0xe3, 0x05, 0x32, 0xd4, - 0xf9, 0x1f, 0x28, 0xce, 0x46, 0xa0, 0x97, 0x71, 0x9a, 0x7c, - 0x4b, 0xad, 0x25, 0xc3, 0xf4, 0x12, 0xae, 0x48, 0x7f, 0x99, - 0x11, 0xf7, 0xc0, 0x26, 0xcd, 0x2b, 0x1c, 0xfa, 0x72, 0x94, - 0xa3, 0x45, 0x68, 0x8e, 0xb9, 0x5f, 0xd7, 0x31, 0x06, 0xe0, - 0x0b, 0xed, 0xda, 0x3c, 0xb4, 0x52, 0x65, 0x83, 0x7e, 0x98, - 0xaf, 0x49, 0xc1, 0x27, 0x10, 0xf6, 0x1d, 0xfb, 0xcc, 0x2a, - 0xa2, 0x44, 0x73, 0x95, 0xb8, 0x5e, 0x69, 0x8f, 0x07, 0xe1, - 0xd6, 0x30, 0xdb, 0x3d, 0x0a, 0xec, 0x64, 0x82, 0xb5, 0x53, - 0xef, 0x09, 0x3e, 0xd8, 0x50, 0xb6, 0x81, 0x67, 0x8c, 0x6a, - 0x5d, 0xbb, 0x33, 0xd5, 0xe2, 0x04, 0x29, 0xcf, 0xf8, 0x1e, - 0x96, 0x70, 0x47, 0xa1, 0x4a, 0xac, 0x9b, 0x7d, 0xf5, 0x13, - 0x24, 0xc2, 0x41, 0xa7, 0x90, 0x76, 0xfe, 0x18, 0x2f, 0xc9, - 0x22, 0xc4, 0xf3, 0x15, 0x9d, 0x7b, 0x4c, 0xaa, 0x87, 0x61, - 0x56, 0xb0, 0x38, 0xde, 0xe9, 0x0f, 0xe4, 0x02, 0x35, 0xd3, - 0x5b, 0xbd, 0x8a, 0x6c, 0xd0, 0x36, 0x01, 0xe7, 0x6f, 0x89, - 0xbe, 0x58, 0xb3, 0x55, 0x62, 0x84, 0x0c, 0xea, 0xdd, 0x3b, - 0x16, 0xf0, 0xc7, 0x21, 0xa9, 0x4f, 0x78, 0x9e, 0x75, 0x93, - 0xa4, 0x42, 0xca, 0x2c, 0x1b, 0xfd, 0x00, 0xe7, 0xd3, 0x34, - 0xbb, 0x5c, 0x68, 0x8f, 0x6b, 0x8c, 0xb8, 0x5f, 0xd0, 0x37, - 0x03, 0xe4, 0xd6, 0x31, 0x05, 0xe2, 0x6d, 0x8a, 0xbe, 0x59, - 0xbd, 0x5a, 0x6e, 0x89, 0x06, 0xe1, 0xd5, 0x32, 0xb1, 0x56, - 0x62, 0x85, 0x0a, 0xed, 0xd9, 0x3e, 0xda, 0x3d, 0x09, 0xee, - 0x61, 0x86, 0xb2, 0x55, 0x67, 0x80, 0xb4, 0x53, 0xdc, 0x3b, - 0x0f, 0xe8, 0x0c, 0xeb, 0xdf, 0x38, 0xb7, 0x50, 0x64, 0x83, - 0x7f, 0x98, 0xac, 0x4b, 0xc4, 0x23, 0x17, 0xf0, 0x14, 0xf3, - 0xc7, 0x20, 0xaf, 0x48, 0x7c, 0x9b, 0xa9, 0x4e, 0x7a, 0x9d, - 0x12, 0xf5, 0xc1, 0x26, 0xc2, 0x25, 0x11, 0xf6, 0x79, 0x9e, - 0xaa, 0x4d, 0xce, 0x29, 0x1d, 0xfa, 0x75, 0x92, 0xa6, 0x41, - 0xa5, 0x42, 0x76, 0x91, 0x1e, 0xf9, 0xcd, 0x2a, 0x18, 0xff, - 0xcb, 0x2c, 0xa3, 0x44, 0x70, 0x97, 0x73, 0x94, 0xa0, 0x47, - 0xc8, 0x2f, 0x1b, 0xfc, 0xfe, 0x19, 0x2d, 0xca, 0x45, 0xa2, - 0x96, 0x71, 0x95, 0x72, 0x46, 0xa1, 0x2e, 0xc9, 0xfd, 0x1a, - 0x28, 0xcf, 0xfb, 0x1c, 0x93, 0x74, 0x40, 0xa7, 0x43, 0xa4, - 0x90, 0x77, 0xf8, 0x1f, 0x2b, 0xcc, 0x4f, 0xa8, 0x9c, 0x7b, - 0xf4, 0x13, 0x27, 0xc0, 0x24, 0xc3, 0xf7, 0x10, 0x9f, 0x78, - 0x4c, 0xab, 0x99, 0x7e, 0x4a, 0xad, 0x22, 0xc5, 0xf1, 0x16, - 0xf2, 0x15, 0x21, 0xc6, 0x49, 0xae, 0x9a, 0x7d, 0x81, 0x66, - 0x52, 0xb5, 0x3a, 0xdd, 0xe9, 0x0e, 0xea, 0x0d, 0x39, 0xde, - 0x51, 0xb6, 0x82, 0x65, 0x57, 0xb0, 0x84, 0x63, 0xec, 0x0b, - 0x3f, 0xd8, 0x3c, 0xdb, 0xef, 0x08, 0x87, 0x60, 0x54, 0xb3, - 0x30, 0xd7, 0xe3, 0x04, 0x8b, 0x6c, 0x58, 0xbf, 0x5b, 0xbc, - 0x88, 0x6f, 0xe0, 0x07, 0x33, 0xd4, 0xe6, 0x01, 0x35, 0xd2, - 0x5d, 0xba, 0x8e, 0x69, 0x8d, 0x6a, 0x5e, 0xb9, 0x36, 0xd1, - 0xe5, 0x02, 0x00, 0xe8, 0xcd, 0x25, 0x87, 0x6f, 0x4a, 0xa2, - 0x13, 0xfb, 0xde, 0x36, 0x94, 0x7c, 0x59, 0xb1, 0x26, 0xce, - 0xeb, 0x03, 0xa1, 0x49, 0x6c, 0x84, 0x35, 0xdd, 0xf8, 0x10, - 0xb2, 0x5a, 0x7f, 0x97, 0x4c, 0xa4, 0x81, 0x69, 0xcb, 0x23, - 0x06, 0xee, 0x5f, 0xb7, 0x92, 0x7a, 0xd8, 0x30, 0x15, 0xfd, - 0x6a, 0x82, 0xa7, 0x4f, 0xed, 0x05, 0x20, 0xc8, 0x79, 0x91, - 0xb4, 0x5c, 0xfe, 0x16, 0x33, 0xdb, 0x98, 0x70, 0x55, 0xbd, - 0x1f, 0xf7, 0xd2, 0x3a, 0x8b, 0x63, 0x46, 0xae, 0x0c, 0xe4, - 0xc1, 0x29, 0xbe, 0x56, 0x73, 0x9b, 0x39, 0xd1, 0xf4, 0x1c, - 0xad, 0x45, 0x60, 0x88, 0x2a, 0xc2, 0xe7, 0x0f, 0xd4, 0x3c, - 0x19, 0xf1, 0x53, 0xbb, 0x9e, 0x76, 0xc7, 0x2f, 0x0a, 0xe2, - 0x40, 0xa8, 0x8d, 0x65, 0xf2, 0x1a, 0x3f, 0xd7, 0x75, 0x9d, - 0xb8, 0x50, 0xe1, 0x09, 0x2c, 0xc4, 0x66, 0x8e, 0xab, 0x43, - 0x2d, 0xc5, 0xe0, 0x08, 0xaa, 0x42, 0x67, 0x8f, 0x3e, 0xd6, - 0xf3, 0x1b, 0xb9, 0x51, 0x74, 0x9c, 0x0b, 0xe3, 0xc6, 0x2e, - 0x8c, 0x64, 0x41, 0xa9, 0x18, 0xf0, 0xd5, 0x3d, 0x9f, 0x77, - 0x52, 0xba, 0x61, 0x89, 0xac, 0x44, 0xe6, 0x0e, 0x2b, 0xc3, - 0x72, 0x9a, 0xbf, 0x57, 0xf5, 0x1d, 0x38, 0xd0, 0x47, 0xaf, - 0x8a, 0x62, 0xc0, 0x28, 0x0d, 0xe5, 0x54, 0xbc, 0x99, 0x71, - 0xd3, 0x3b, 0x1e, 0xf6, 0xb5, 0x5d, 0x78, 0x90, 0x32, 0xda, - 0xff, 0x17, 0xa6, 0x4e, 0x6b, 0x83, 0x21, 0xc9, 0xec, 0x04, - 0x93, 0x7b, 0x5e, 0xb6, 0x14, 0xfc, 0xd9, 0x31, 0x80, 0x68, - 0x4d, 0xa5, 0x07, 0xef, 0xca, 0x22, 0xf9, 0x11, 0x34, 0xdc, - 0x7e, 0x96, 0xb3, 0x5b, 0xea, 0x02, 0x27, 0xcf, 0x6d, 0x85, - 0xa0, 0x48, 0xdf, 0x37, 0x12, 0xfa, 0x58, 0xb0, 0x95, 0x7d, - 0xcc, 0x24, 0x01, 0xe9, 0x4b, 0xa3, 0x86, 0x6e, 0x00, 0xe9, - 0xcf, 0x26, 0x83, 0x6a, 0x4c, 0xa5, 0x1b, 0xf2, 0xd4, 0x3d, - 0x98, 0x71, 0x57, 0xbe, 0x36, 0xdf, 0xf9, 0x10, 0xb5, 0x5c, - 0x7a, 0x93, 0x2d, 0xc4, 0xe2, 0x0b, 0xae, 0x47, 0x61, 0x88, - 0x6c, 0x85, 0xa3, 0x4a, 0xef, 0x06, 0x20, 0xc9, 0x77, 0x9e, - 0xb8, 0x51, 0xf4, 0x1d, 0x3b, 0xd2, 0x5a, 0xb3, 0x95, 0x7c, - 0xd9, 0x30, 0x16, 0xff, 0x41, 0xa8, 0x8e, 0x67, 0xc2, 0x2b, - 0x0d, 0xe4, 0xd8, 0x31, 0x17, 0xfe, 0x5b, 0xb2, 0x94, 0x7d, - 0xc3, 0x2a, 0x0c, 0xe5, 0x40, 0xa9, 0x8f, 0x66, 0xee, 0x07, - 0x21, 0xc8, 0x6d, 0x84, 0xa2, 0x4b, 0xf5, 0x1c, 0x3a, 0xd3, - 0x76, 0x9f, 0xb9, 0x50, 0xb4, 0x5d, 0x7b, 0x92, 0x37, 0xde, - 0xf8, 0x11, 0xaf, 0x46, 0x60, 0x89, 0x2c, 0xc5, 0xe3, 0x0a, - 0x82, 0x6b, 0x4d, 0xa4, 0x01, 0xe8, 0xce, 0x27, 0x99, 0x70, - 0x56, 0xbf, 0x1a, 0xf3, 0xd5, 0x3c, 0xad, 0x44, 0x62, 0x8b, - 0x2e, 0xc7, 0xe1, 0x08, 0xb6, 0x5f, 0x79, 0x90, 0x35, 0xdc, - 0xfa, 0x13, 0x9b, 0x72, 0x54, 0xbd, 0x18, 0xf1, 0xd7, 0x3e, - 0x80, 0x69, 0x4f, 0xa6, 0x03, 0xea, 0xcc, 0x25, 0xc1, 0x28, - 0x0e, 0xe7, 0x42, 0xab, 0x8d, 0x64, 0xda, 0x33, 0x15, 0xfc, - 0x59, 0xb0, 0x96, 0x7f, 0xf7, 0x1e, 0x38, 0xd1, 0x74, 0x9d, - 0xbb, 0x52, 0xec, 0x05, 0x23, 0xca, 0x6f, 0x86, 0xa0, 0x49, - 0x75, 0x9c, 0xba, 0x53, 0xf6, 0x1f, 0x39, 0xd0, 0x6e, 0x87, - 0xa1, 0x48, 0xed, 0x04, 0x22, 0xcb, 0x43, 0xaa, 0x8c, 0x65, - 0xc0, 0x29, 0x0f, 0xe6, 0x58, 0xb1, 0x97, 0x7e, 0xdb, 0x32, - 0x14, 0xfd, 0x19, 0xf0, 0xd6, 0x3f, 0x9a, 0x73, 0x55, 0xbc, - 0x02, 0xeb, 0xcd, 0x24, 0x81, 0x68, 0x4e, 0xa7, 0x2f, 0xc6, - 0xe0, 0x09, 0xac, 0x45, 0x63, 0x8a, 0x34, 0xdd, 0xfb, 0x12, - 0xb7, 0x5e, 0x78, 0x91, 0x00, 0xea, 0xc9, 0x23, 0x8f, 0x65, - 0x46, 0xac, 0x03, 0xe9, 0xca, 0x20, 0x8c, 0x66, 0x45, 0xaf, - 0x06, 0xec, 0xcf, 0x25, 0x89, 0x63, 0x40, 0xaa, 0x05, 0xef, - 0xcc, 0x26, 0x8a, 0x60, 0x43, 0xa9, 0x0c, 0xe6, 0xc5, 0x2f, - 0x83, 0x69, 0x4a, 0xa0, 0x0f, 0xe5, 0xc6, 0x2c, 0x80, 0x6a, - 0x49, 0xa3, 0x0a, 0xe0, 0xc3, 0x29, 0x85, 0x6f, 0x4c, 0xa6, - 0x09, 0xe3, 0xc0, 0x2a, 0x86, 0x6c, 0x4f, 0xa5, 0x18, 0xf2, - 0xd1, 0x3b, 0x97, 0x7d, 0x5e, 0xb4, 0x1b, 0xf1, 0xd2, 0x38, - 0x94, 0x7e, 0x5d, 0xb7, 0x1e, 0xf4, 0xd7, 0x3d, 0x91, 0x7b, - 0x58, 0xb2, 0x1d, 0xf7, 0xd4, 0x3e, 0x92, 0x78, 0x5b, 0xb1, - 0x14, 0xfe, 0xdd, 0x37, 0x9b, 0x71, 0x52, 0xb8, 0x17, 0xfd, - 0xde, 0x34, 0x98, 0x72, 0x51, 0xbb, 0x12, 0xf8, 0xdb, 0x31, - 0x9d, 0x77, 0x54, 0xbe, 0x11, 0xfb, 0xd8, 0x32, 0x9e, 0x74, - 0x57, 0xbd, 0x30, 0xda, 0xf9, 0x13, 0xbf, 0x55, 0x76, 0x9c, - 0x33, 0xd9, 0xfa, 0x10, 0xbc, 0x56, 0x75, 0x9f, 0x36, 0xdc, - 0xff, 0x15, 0xb9, 0x53, 0x70, 0x9a, 0x35, 0xdf, 0xfc, 0x16, - 0xba, 0x50, 0x73, 0x99, 0x3c, 0xd6, 0xf5, 0x1f, 0xb3, 0x59, - 0x7a, 0x90, 0x3f, 0xd5, 0xf6, 0x1c, 0xb0, 0x5a, 0x79, 0x93, - 0x3a, 0xd0, 0xf3, 0x19, 0xb5, 0x5f, 0x7c, 0x96, 0x39, 0xd3, - 0xf0, 0x1a, 0xb6, 0x5c, 0x7f, 0x95, 0x28, 0xc2, 0xe1, 0x0b, - 0xa7, 0x4d, 0x6e, 0x84, 0x2b, 0xc1, 0xe2, 0x08, 0xa4, 0x4e, - 0x6d, 0x87, 0x2e, 0xc4, 0xe7, 0x0d, 0xa1, 0x4b, 0x68, 0x82, - 0x2d, 0xc7, 0xe4, 0x0e, 0xa2, 0x48, 0x6b, 0x81, 0x24, 0xce, - 0xed, 0x07, 0xab, 0x41, 0x62, 0x88, 0x27, 0xcd, 0xee, 0x04, - 0xa8, 0x42, 0x61, 0x8b, 0x22, 0xc8, 0xeb, 0x01, 0xad, 0x47, - 0x64, 0x8e, 0x21, 0xcb, 0xe8, 0x02, 0xae, 0x44, 0x67, 0x8d, - 0x00, 0xeb, 0xcb, 0x20, 0x8b, 0x60, 0x40, 0xab, 0x0b, 0xe0, - 0xc0, 0x2b, 0x80, 0x6b, 0x4b, 0xa0, 0x16, 0xfd, 0xdd, 0x36, - 0x9d, 0x76, 0x56, 0xbd, 0x1d, 0xf6, 0xd6, 0x3d, 0x96, 0x7d, - 0x5d, 0xb6, 0x2c, 0xc7, 0xe7, 0x0c, 0xa7, 0x4c, 0x6c, 0x87, - 0x27, 0xcc, 0xec, 0x07, 0xac, 0x47, 0x67, 0x8c, 0x3a, 0xd1, - 0xf1, 0x1a, 0xb1, 0x5a, 0x7a, 0x91, 0x31, 0xda, 0xfa, 0x11, - 0xba, 0x51, 0x71, 0x9a, 0x58, 0xb3, 0x93, 0x78, 0xd3, 0x38, - 0x18, 0xf3, 0x53, 0xb8, 0x98, 0x73, 0xd8, 0x33, 0x13, 0xf8, - 0x4e, 0xa5, 0x85, 0x6e, 0xc5, 0x2e, 0x0e, 0xe5, 0x45, 0xae, - 0x8e, 0x65, 0xce, 0x25, 0x05, 0xee, 0x74, 0x9f, 0xbf, 0x54, - 0xff, 0x14, 0x34, 0xdf, 0x7f, 0x94, 0xb4, 0x5f, 0xf4, 0x1f, - 0x3f, 0xd4, 0x62, 0x89, 0xa9, 0x42, 0xe9, 0x02, 0x22, 0xc9, - 0x69, 0x82, 0xa2, 0x49, 0xe2, 0x09, 0x29, 0xc2, 0xb0, 0x5b, - 0x7b, 0x90, 0x3b, 0xd0, 0xf0, 0x1b, 0xbb, 0x50, 0x70, 0x9b, - 0x30, 0xdb, 0xfb, 0x10, 0xa6, 0x4d, 0x6d, 0x86, 0x2d, 0xc6, - 0xe6, 0x0d, 0xad, 0x46, 0x66, 0x8d, 0x26, 0xcd, 0xed, 0x06, - 0x9c, 0x77, 0x57, 0xbc, 0x17, 0xfc, 0xdc, 0x37, 0x97, 0x7c, - 0x5c, 0xb7, 0x1c, 0xf7, 0xd7, 0x3c, 0x8a, 0x61, 0x41, 0xaa, - 0x01, 0xea, 0xca, 0x21, 0x81, 0x6a, 0x4a, 0xa1, 0x0a, 0xe1, - 0xc1, 0x2a, 0xe8, 0x03, 0x23, 0xc8, 0x63, 0x88, 0xa8, 0x43, - 0xe3, 0x08, 0x28, 0xc3, 0x68, 0x83, 0xa3, 0x48, 0xfe, 0x15, - 0x35, 0xde, 0x75, 0x9e, 0xbe, 0x55, 0xf5, 0x1e, 0x3e, 0xd5, - 0x7e, 0x95, 0xb5, 0x5e, 0xc4, 0x2f, 0x0f, 0xe4, 0x4f, 0xa4, - 0x84, 0x6f, 0xcf, 0x24, 0x04, 0xef, 0x44, 0xaf, 0x8f, 0x64, - 0xd2, 0x39, 0x19, 0xf2, 0x59, 0xb2, 0x92, 0x79, 0xd9, 0x32, - 0x12, 0xf9, 0x52, 0xb9, 0x99, 0x72, 0x00, 0xec, 0xc5, 0x29, - 0x97, 0x7b, 0x52, 0xbe, 0x33, 0xdf, 0xf6, 0x1a, 0xa4, 0x48, - 0x61, 0x8d, 0x66, 0x8a, 0xa3, 0x4f, 0xf1, 0x1d, 0x34, 0xd8, - 0x55, 0xb9, 0x90, 0x7c, 0xc2, 0x2e, 0x07, 0xeb, 0xcc, 0x20, - 0x09, 0xe5, 0x5b, 0xb7, 0x9e, 0x72, 0xff, 0x13, 0x3a, 0xd6, - 0x68, 0x84, 0xad, 0x41, 0xaa, 0x46, 0x6f, 0x83, 0x3d, 0xd1, - 0xf8, 0x14, 0x99, 0x75, 0x5c, 0xb0, 0x0e, 0xe2, 0xcb, 0x27, - 0x85, 0x69, 0x40, 0xac, 0x12, 0xfe, 0xd7, 0x3b, 0xb6, 0x5a, - 0x73, 0x9f, 0x21, 0xcd, 0xe4, 0x08, 0xe3, 0x0f, 0x26, 0xca, - 0x74, 0x98, 0xb1, 0x5d, 0xd0, 0x3c, 0x15, 0xf9, 0x47, 0xab, - 0x82, 0x6e, 0x49, 0xa5, 0x8c, 0x60, 0xde, 0x32, 0x1b, 0xf7, - 0x7a, 0x96, 0xbf, 0x53, 0xed, 0x01, 0x28, 0xc4, 0x2f, 0xc3, - 0xea, 0x06, 0xb8, 0x54, 0x7d, 0x91, 0x1c, 0xf0, 0xd9, 0x35, - 0x8b, 0x67, 0x4e, 0xa2, 0x17, 0xfb, 0xd2, 0x3e, 0x80, 0x6c, - 0x45, 0xa9, 0x24, 0xc8, 0xe1, 0x0d, 0xb3, 0x5f, 0x76, 0x9a, - 0x71, 0x9d, 0xb4, 0x58, 0xe6, 0x0a, 0x23, 0xcf, 0x42, 0xae, - 0x87, 0x6b, 0xd5, 0x39, 0x10, 0xfc, 0xdb, 0x37, 0x1e, 0xf2, - 0x4c, 0xa0, 0x89, 0x65, 0xe8, 0x04, 0x2d, 0xc1, 0x7f, 0x93, - 0xba, 0x56, 0xbd, 0x51, 0x78, 0x94, 0x2a, 0xc6, 0xef, 0x03, - 0x8e, 0x62, 0x4b, 0xa7, 0x19, 0xf5, 0xdc, 0x30, 0x92, 0x7e, - 0x57, 0xbb, 0x05, 0xe9, 0xc0, 0x2c, 0xa1, 0x4d, 0x64, 0x88, - 0x36, 0xda, 0xf3, 0x1f, 0xf4, 0x18, 0x31, 0xdd, 0x63, 0x8f, - 0xa6, 0x4a, 0xc7, 0x2b, 0x02, 0xee, 0x50, 0xbc, 0x95, 0x79, - 0x5e, 0xb2, 0x9b, 0x77, 0xc9, 0x25, 0x0c, 0xe0, 0x6d, 0x81, - 0xa8, 0x44, 0xfa, 0x16, 0x3f, 0xd3, 0x38, 0xd4, 0xfd, 0x11, - 0xaf, 0x43, 0x6a, 0x86, 0x0b, 0xe7, 0xce, 0x22, 0x9c, 0x70, - 0x59, 0xb5, 0x00, 0xed, 0xc7, 0x2a, 0x93, 0x7e, 0x54, 0xb9, - 0x3b, 0xd6, 0xfc, 0x11, 0xa8, 0x45, 0x6f, 0x82, 0x76, 0x9b, - 0xb1, 0x5c, 0xe5, 0x08, 0x22, 0xcf, 0x4d, 0xa0, 0x8a, 0x67, - 0xde, 0x33, 0x19, 0xf4, 0xec, 0x01, 0x2b, 0xc6, 0x7f, 0x92, - 0xb8, 0x55, 0xd7, 0x3a, 0x10, 0xfd, 0x44, 0xa9, 0x83, 0x6e, - 0x9a, 0x77, 0x5d, 0xb0, 0x09, 0xe4, 0xce, 0x23, 0xa1, 0x4c, - 0x66, 0x8b, 0x32, 0xdf, 0xf5, 0x18, 0xc5, 0x28, 0x02, 0xef, - 0x56, 0xbb, 0x91, 0x7c, 0xfe, 0x13, 0x39, 0xd4, 0x6d, 0x80, - 0xaa, 0x47, 0xb3, 0x5e, 0x74, 0x99, 0x20, 0xcd, 0xe7, 0x0a, - 0x88, 0x65, 0x4f, 0xa2, 0x1b, 0xf6, 0xdc, 0x31, 0x29, 0xc4, - 0xee, 0x03, 0xba, 0x57, 0x7d, 0x90, 0x12, 0xff, 0xd5, 0x38, - 0x81, 0x6c, 0x46, 0xab, 0x5f, 0xb2, 0x98, 0x75, 0xcc, 0x21, - 0x0b, 0xe6, 0x64, 0x89, 0xa3, 0x4e, 0xf7, 0x1a, 0x30, 0xdd, - 0x97, 0x7a, 0x50, 0xbd, 0x04, 0xe9, 0xc3, 0x2e, 0xac, 0x41, - 0x6b, 0x86, 0x3f, 0xd2, 0xf8, 0x15, 0xe1, 0x0c, 0x26, 0xcb, - 0x72, 0x9f, 0xb5, 0x58, 0xda, 0x37, 0x1d, 0xf0, 0x49, 0xa4, - 0x8e, 0x63, 0x7b, 0x96, 0xbc, 0x51, 0xe8, 0x05, 0x2f, 0xc2, - 0x40, 0xad, 0x87, 0x6a, 0xd3, 0x3e, 0x14, 0xf9, 0x0d, 0xe0, - 0xca, 0x27, 0x9e, 0x73, 0x59, 0xb4, 0x36, 0xdb, 0xf1, 0x1c, - 0xa5, 0x48, 0x62, 0x8f, 0x52, 0xbf, 0x95, 0x78, 0xc1, 0x2c, - 0x06, 0xeb, 0x69, 0x84, 0xae, 0x43, 0xfa, 0x17, 0x3d, 0xd0, - 0x24, 0xc9, 0xe3, 0x0e, 0xb7, 0x5a, 0x70, 0x9d, 0x1f, 0xf2, - 0xd8, 0x35, 0x8c, 0x61, 0x4b, 0xa6, 0xbe, 0x53, 0x79, 0x94, - 0x2d, 0xc0, 0xea, 0x07, 0x85, 0x68, 0x42, 0xaf, 0x16, 0xfb, - 0xd1, 0x3c, 0xc8, 0x25, 0x0f, 0xe2, 0x5b, 0xb6, 0x9c, 0x71, - 0xf3, 0x1e, 0x34, 0xd9, 0x60, 0x8d, 0xa7, 0x4a, 0x00, 0xee, - 0xc1, 0x2f, 0x9f, 0x71, 0x5e, 0xb0, 0x23, 0xcd, 0xe2, 0x0c, - 0xbc, 0x52, 0x7d, 0x93, 0x46, 0xa8, 0x87, 0x69, 0xd9, 0x37, - 0x18, 0xf6, 0x65, 0x8b, 0xa4, 0x4a, 0xfa, 0x14, 0x3b, 0xd5, - 0x8c, 0x62, 0x4d, 0xa3, 0x13, 0xfd, 0xd2, 0x3c, 0xaf, 0x41, - 0x6e, 0x80, 0x30, 0xde, 0xf1, 0x1f, 0xca, 0x24, 0x0b, 0xe5, - 0x55, 0xbb, 0x94, 0x7a, 0xe9, 0x07, 0x28, 0xc6, 0x76, 0x98, - 0xb7, 0x59, 0x05, 0xeb, 0xc4, 0x2a, 0x9a, 0x74, 0x5b, 0xb5, - 0x26, 0xc8, 0xe7, 0x09, 0xb9, 0x57, 0x78, 0x96, 0x43, 0xad, - 0x82, 0x6c, 0xdc, 0x32, 0x1d, 0xf3, 0x60, 0x8e, 0xa1, 0x4f, - 0xff, 0x11, 0x3e, 0xd0, 0x89, 0x67, 0x48, 0xa6, 0x16, 0xf8, - 0xd7, 0x39, 0xaa, 0x44, 0x6b, 0x85, 0x35, 0xdb, 0xf4, 0x1a, - 0xcf, 0x21, 0x0e, 0xe0, 0x50, 0xbe, 0x91, 0x7f, 0xec, 0x02, - 0x2d, 0xc3, 0x73, 0x9d, 0xb2, 0x5c, 0x0a, 0xe4, 0xcb, 0x25, - 0x95, 0x7b, 0x54, 0xba, 0x29, 0xc7, 0xe8, 0x06, 0xb6, 0x58, - 0x77, 0x99, 0x4c, 0xa2, 0x8d, 0x63, 0xd3, 0x3d, 0x12, 0xfc, - 0x6f, 0x81, 0xae, 0x40, 0xf0, 0x1e, 0x31, 0xdf, 0x86, 0x68, - 0x47, 0xa9, 0x19, 0xf7, 0xd8, 0x36, 0xa5, 0x4b, 0x64, 0x8a, - 0x3a, 0xd4, 0xfb, 0x15, 0xc0, 0x2e, 0x01, 0xef, 0x5f, 0xb1, - 0x9e, 0x70, 0xe3, 0x0d, 0x22, 0xcc, 0x7c, 0x92, 0xbd, 0x53, - 0x0f, 0xe1, 0xce, 0x20, 0x90, 0x7e, 0x51, 0xbf, 0x2c, 0xc2, - 0xed, 0x03, 0xb3, 0x5d, 0x72, 0x9c, 0x49, 0xa7, 0x88, 0x66, - 0xd6, 0x38, 0x17, 0xf9, 0x6a, 0x84, 0xab, 0x45, 0xf5, 0x1b, - 0x34, 0xda, 0x83, 0x6d, 0x42, 0xac, 0x1c, 0xf2, 0xdd, 0x33, - 0xa0, 0x4e, 0x61, 0x8f, 0x3f, 0xd1, 0xfe, 0x10, 0xc5, 0x2b, - 0x04, 0xea, 0x5a, 0xb4, 0x9b, 0x75, 0xe6, 0x08, 0x27, 0xc9, - 0x79, 0x97, 0xb8, 0x56, 0x00, 0xef, 0xc3, 0x2c, 0x9b, 0x74, - 0x58, 0xb7, 0x2b, 0xc4, 0xe8, 0x07, 0xb0, 0x5f, 0x73, 0x9c, - 0x56, 0xb9, 0x95, 0x7a, 0xcd, 0x22, 0x0e, 0xe1, 0x7d, 0x92, - 0xbe, 0x51, 0xe6, 0x09, 0x25, 0xca, 0xac, 0x43, 0x6f, 0x80, - 0x37, 0xd8, 0xf4, 0x1b, 0x87, 0x68, 0x44, 0xab, 0x1c, 0xf3, - 0xdf, 0x30, 0xfa, 0x15, 0x39, 0xd6, 0x61, 0x8e, 0xa2, 0x4d, - 0xd1, 0x3e, 0x12, 0xfd, 0x4a, 0xa5, 0x89, 0x66, 0x45, 0xaa, - 0x86, 0x69, 0xde, 0x31, 0x1d, 0xf2, 0x6e, 0x81, 0xad, 0x42, - 0xf5, 0x1a, 0x36, 0xd9, 0x13, 0xfc, 0xd0, 0x3f, 0x88, 0x67, - 0x4b, 0xa4, 0x38, 0xd7, 0xfb, 0x14, 0xa3, 0x4c, 0x60, 0x8f, - 0xe9, 0x06, 0x2a, 0xc5, 0x72, 0x9d, 0xb1, 0x5e, 0xc2, 0x2d, - 0x01, 0xee, 0x59, 0xb6, 0x9a, 0x75, 0xbf, 0x50, 0x7c, 0x93, - 0x24, 0xcb, 0xe7, 0x08, 0x94, 0x7b, 0x57, 0xb8, 0x0f, 0xe0, - 0xcc, 0x23, 0x8a, 0x65, 0x49, 0xa6, 0x11, 0xfe, 0xd2, 0x3d, - 0xa1, 0x4e, 0x62, 0x8d, 0x3a, 0xd5, 0xf9, 0x16, 0xdc, 0x33, - 0x1f, 0xf0, 0x47, 0xa8, 0x84, 0x6b, 0xf7, 0x18, 0x34, 0xdb, - 0x6c, 0x83, 0xaf, 0x40, 0x26, 0xc9, 0xe5, 0x0a, 0xbd, 0x52, - 0x7e, 0x91, 0x0d, 0xe2, 0xce, 0x21, 0x96, 0x79, 0x55, 0xba, - 0x70, 0x9f, 0xb3, 0x5c, 0xeb, 0x04, 0x28, 0xc7, 0x5b, 0xb4, - 0x98, 0x77, 0xc0, 0x2f, 0x03, 0xec, 0xcf, 0x20, 0x0c, 0xe3, - 0x54, 0xbb, 0x97, 0x78, 0xe4, 0x0b, 0x27, 0xc8, 0x7f, 0x90, - 0xbc, 0x53, 0x99, 0x76, 0x5a, 0xb5, 0x02, 0xed, 0xc1, 0x2e, - 0xb2, 0x5d, 0x71, 0x9e, 0x29, 0xc6, 0xea, 0x05, 0x63, 0x8c, - 0xa0, 0x4f, 0xf8, 0x17, 0x3b, 0xd4, 0x48, 0xa7, 0x8b, 0x64, - 0xd3, 0x3c, 0x10, 0xff, 0x35, 0xda, 0xf6, 0x19, 0xae, 0x41, - 0x6d, 0x82, 0x1e, 0xf1, 0xdd, 0x32, 0x85, 0x6a, 0x46, 0xa9, - 0x00, 0xf0, 0xfd, 0x0d, 0xe7, 0x17, 0x1a, 0xea, 0xd3, 0x23, - 0x2e, 0xde, 0x34, 0xc4, 0xc9, 0x39, 0xbb, 0x4b, 0x46, 0xb6, - 0x5c, 0xac, 0xa1, 0x51, 0x68, 0x98, 0x95, 0x65, 0x8f, 0x7f, - 0x72, 0x82, 0x6b, 0x9b, 0x96, 0x66, 0x8c, 0x7c, 0x71, 0x81, - 0xb8, 0x48, 0x45, 0xb5, 0x5f, 0xaf, 0xa2, 0x52, 0xd0, 0x20, - 0x2d, 0xdd, 0x37, 0xc7, 0xca, 0x3a, 0x03, 0xf3, 0xfe, 0x0e, - 0xe4, 0x14, 0x19, 0xe9, 0xd6, 0x26, 0x2b, 0xdb, 0x31, 0xc1, - 0xcc, 0x3c, 0x05, 0xf5, 0xf8, 0x08, 0xe2, 0x12, 0x1f, 0xef, - 0x6d, 0x9d, 0x90, 0x60, 0x8a, 0x7a, 0x77, 0x87, 0xbe, 0x4e, - 0x43, 0xb3, 0x59, 0xa9, 0xa4, 0x54, 0xbd, 0x4d, 0x40, 0xb0, - 0x5a, 0xaa, 0xa7, 0x57, 0x6e, 0x9e, 0x93, 0x63, 0x89, 0x79, - 0x74, 0x84, 0x06, 0xf6, 0xfb, 0x0b, 0xe1, 0x11, 0x1c, 0xec, - 0xd5, 0x25, 0x28, 0xd8, 0x32, 0xc2, 0xcf, 0x3f, 0xb1, 0x41, - 0x4c, 0xbc, 0x56, 0xa6, 0xab, 0x5b, 0x62, 0x92, 0x9f, 0x6f, - 0x85, 0x75, 0x78, 0x88, 0x0a, 0xfa, 0xf7, 0x07, 0xed, 0x1d, - 0x10, 0xe0, 0xd9, 0x29, 0x24, 0xd4, 0x3e, 0xce, 0xc3, 0x33, - 0xda, 0x2a, 0x27, 0xd7, 0x3d, 0xcd, 0xc0, 0x30, 0x09, 0xf9, - 0xf4, 0x04, 0xee, 0x1e, 0x13, 0xe3, 0x61, 0x91, 0x9c, 0x6c, - 0x86, 0x76, 0x7b, 0x8b, 0xb2, 0x42, 0x4f, 0xbf, 0x55, 0xa5, - 0xa8, 0x58, 0x67, 0x97, 0x9a, 0x6a, 0x80, 0x70, 0x7d, 0x8d, - 0xb4, 0x44, 0x49, 0xb9, 0x53, 0xa3, 0xae, 0x5e, 0xdc, 0x2c, - 0x21, 0xd1, 0x3b, 0xcb, 0xc6, 0x36, 0x0f, 0xff, 0xf2, 0x02, - 0xe8, 0x18, 0x15, 0xe5, 0x0c, 0xfc, 0xf1, 0x01, 0xeb, 0x1b, - 0x16, 0xe6, 0xdf, 0x2f, 0x22, 0xd2, 0x38, 0xc8, 0xc5, 0x35, - 0xb7, 0x47, 0x4a, 0xba, 0x50, 0xa0, 0xad, 0x5d, 0x64, 0x94, - 0x99, 0x69, 0x83, 0x73, 0x7e, 0x8e, 0x00, 0xf1, 0xff, 0x0e, - 0xe3, 0x12, 0x1c, 0xed, 0xdb, 0x2a, 0x24, 0xd5, 0x38, 0xc9, - 0xc7, 0x36, 0xab, 0x5a, 0x54, 0xa5, 0x48, 0xb9, 0xb7, 0x46, - 0x70, 0x81, 0x8f, 0x7e, 0x93, 0x62, 0x6c, 0x9d, 0x4b, 0xba, - 0xb4, 0x45, 0xa8, 0x59, 0x57, 0xa6, 0x90, 0x61, 0x6f, 0x9e, - 0x73, 0x82, 0x8c, 0x7d, 0xe0, 0x11, 0x1f, 0xee, 0x03, 0xf2, - 0xfc, 0x0d, 0x3b, 0xca, 0xc4, 0x35, 0xd8, 0x29, 0x27, 0xd6, - 0x96, 0x67, 0x69, 0x98, 0x75, 0x84, 0x8a, 0x7b, 0x4d, 0xbc, - 0xb2, 0x43, 0xae, 0x5f, 0x51, 0xa0, 0x3d, 0xcc, 0xc2, 0x33, - 0xde, 0x2f, 0x21, 0xd0, 0xe6, 0x17, 0x19, 0xe8, 0x05, 0xf4, - 0xfa, 0x0b, 0xdd, 0x2c, 0x22, 0xd3, 0x3e, 0xcf, 0xc1, 0x30, - 0x06, 0xf7, 0xf9, 0x08, 0xe5, 0x14, 0x1a, 0xeb, 0x76, 0x87, - 0x89, 0x78, 0x95, 0x64, 0x6a, 0x9b, 0xad, 0x5c, 0x52, 0xa3, - 0x4e, 0xbf, 0xb1, 0x40, 0x31, 0xc0, 0xce, 0x3f, 0xd2, 0x23, - 0x2d, 0xdc, 0xea, 0x1b, 0x15, 0xe4, 0x09, 0xf8, 0xf6, 0x07, - 0x9a, 0x6b, 0x65, 0x94, 0x79, 0x88, 0x86, 0x77, 0x41, 0xb0, - 0xbe, 0x4f, 0xa2, 0x53, 0x5d, 0xac, 0x7a, 0x8b, 0x85, 0x74, - 0x99, 0x68, 0x66, 0x97, 0xa1, 0x50, 0x5e, 0xaf, 0x42, 0xb3, - 0xbd, 0x4c, 0xd1, 0x20, 0x2e, 0xdf, 0x32, 0xc3, 0xcd, 0x3c, - 0x0a, 0xfb, 0xf5, 0x04, 0xe9, 0x18, 0x16, 0xe7, 0xa7, 0x56, - 0x58, 0xa9, 0x44, 0xb5, 0xbb, 0x4a, 0x7c, 0x8d, 0x83, 0x72, - 0x9f, 0x6e, 0x60, 0x91, 0x0c, 0xfd, 0xf3, 0x02, 0xef, 0x1e, - 0x10, 0xe1, 0xd7, 0x26, 0x28, 0xd9, 0x34, 0xc5, 0xcb, 0x3a, - 0xec, 0x1d, 0x13, 0xe2, 0x0f, 0xfe, 0xf0, 0x01, 0x37, 0xc6, - 0xc8, 0x39, 0xd4, 0x25, 0x2b, 0xda, 0x47, 0xb6, 0xb8, 0x49, - 0xa4, 0x55, 0x5b, 0xaa, 0x9c, 0x6d, 0x63, 0x92, 0x7f, 0x8e, - 0x80, 0x71, 0x00, 0xf2, 0xf9, 0x0b, 0xef, 0x1d, 0x16, 0xe4, - 0xc3, 0x31, 0x3a, 0xc8, 0x2c, 0xde, 0xd5, 0x27, 0x9b, 0x69, - 0x62, 0x90, 0x74, 0x86, 0x8d, 0x7f, 0x58, 0xaa, 0xa1, 0x53, - 0xb7, 0x45, 0x4e, 0xbc, 0x2b, 0xd9, 0xd2, 0x20, 0xc4, 0x36, - 0x3d, 0xcf, 0xe8, 0x1a, 0x11, 0xe3, 0x07, 0xf5, 0xfe, 0x0c, - 0xb0, 0x42, 0x49, 0xbb, 0x5f, 0xad, 0xa6, 0x54, 0x73, 0x81, - 0x8a, 0x78, 0x9c, 0x6e, 0x65, 0x97, 0x56, 0xa4, 0xaf, 0x5d, - 0xb9, 0x4b, 0x40, 0xb2, 0x95, 0x67, 0x6c, 0x9e, 0x7a, 0x88, - 0x83, 0x71, 0xcd, 0x3f, 0x34, 0xc6, 0x22, 0xd0, 0xdb, 0x29, - 0x0e, 0xfc, 0xf7, 0x05, 0xe1, 0x13, 0x18, 0xea, 0x7d, 0x8f, - 0x84, 0x76, 0x92, 0x60, 0x6b, 0x99, 0xbe, 0x4c, 0x47, 0xb5, - 0x51, 0xa3, 0xa8, 0x5a, 0xe6, 0x14, 0x1f, 0xed, 0x09, 0xfb, - 0xf0, 0x02, 0x25, 0xd7, 0xdc, 0x2e, 0xca, 0x38, 0x33, 0xc1, - 0xac, 0x5e, 0x55, 0xa7, 0x43, 0xb1, 0xba, 0x48, 0x6f, 0x9d, - 0x96, 0x64, 0x80, 0x72, 0x79, 0x8b, 0x37, 0xc5, 0xce, 0x3c, - 0xd8, 0x2a, 0x21, 0xd3, 0xf4, 0x06, 0x0d, 0xff, 0x1b, 0xe9, - 0xe2, 0x10, 0x87, 0x75, 0x7e, 0x8c, 0x68, 0x9a, 0x91, 0x63, - 0x44, 0xb6, 0xbd, 0x4f, 0xab, 0x59, 0x52, 0xa0, 0x1c, 0xee, - 0xe5, 0x17, 0xf3, 0x01, 0x0a, 0xf8, 0xdf, 0x2d, 0x26, 0xd4, - 0x30, 0xc2, 0xc9, 0x3b, 0xfa, 0x08, 0x03, 0xf1, 0x15, 0xe7, - 0xec, 0x1e, 0x39, 0xcb, 0xc0, 0x32, 0xd6, 0x24, 0x2f, 0xdd, - 0x61, 0x93, 0x98, 0x6a, 0x8e, 0x7c, 0x77, 0x85, 0xa2, 0x50, - 0x5b, 0xa9, 0x4d, 0xbf, 0xb4, 0x46, 0xd1, 0x23, 0x28, 0xda, - 0x3e, 0xcc, 0xc7, 0x35, 0x12, 0xe0, 0xeb, 0x19, 0xfd, 0x0f, - 0x04, 0xf6, 0x4a, 0xb8, 0xb3, 0x41, 0xa5, 0x57, 0x5c, 0xae, - 0x89, 0x7b, 0x70, 0x82, 0x66, 0x94, 0x9f, 0x6d, 0x00, 0xf3, - 0xfb, 0x08, 0xeb, 0x18, 0x10, 0xe3, 0xcb, 0x38, 0x30, 0xc3, - 0x20, 0xd3, 0xdb, 0x28, 0x8b, 0x78, 0x70, 0x83, 0x60, 0x93, - 0x9b, 0x68, 0x40, 0xb3, 0xbb, 0x48, 0xab, 0x58, 0x50, 0xa3, - 0x0b, 0xf8, 0xf0, 0x03, 0xe0, 0x13, 0x1b, 0xe8, 0xc0, 0x33, - 0x3b, 0xc8, 0x2b, 0xd8, 0xd0, 0x23, 0x80, 0x73, 0x7b, 0x88, - 0x6b, 0x98, 0x90, 0x63, 0x4b, 0xb8, 0xb0, 0x43, 0xa0, 0x53, - 0x5b, 0xa8, 0x16, 0xe5, 0xed, 0x1e, 0xfd, 0x0e, 0x06, 0xf5, - 0xdd, 0x2e, 0x26, 0xd5, 0x36, 0xc5, 0xcd, 0x3e, 0x9d, 0x6e, - 0x66, 0x95, 0x76, 0x85, 0x8d, 0x7e, 0x56, 0xa5, 0xad, 0x5e, - 0xbd, 0x4e, 0x46, 0xb5, 0x1d, 0xee, 0xe6, 0x15, 0xf6, 0x05, - 0x0d, 0xfe, 0xd6, 0x25, 0x2d, 0xde, 0x3d, 0xce, 0xc6, 0x35, - 0x96, 0x65, 0x6d, 0x9e, 0x7d, 0x8e, 0x86, 0x75, 0x5d, 0xae, - 0xa6, 0x55, 0xb6, 0x45, 0x4d, 0xbe, 0x2c, 0xdf, 0xd7, 0x24, - 0xc7, 0x34, 0x3c, 0xcf, 0xe7, 0x14, 0x1c, 0xef, 0x0c, 0xff, - 0xf7, 0x04, 0xa7, 0x54, 0x5c, 0xaf, 0x4c, 0xbf, 0xb7, 0x44, - 0x6c, 0x9f, 0x97, 0x64, 0x87, 0x74, 0x7c, 0x8f, 0x27, 0xd4, - 0xdc, 0x2f, 0xcc, 0x3f, 0x37, 0xc4, 0xec, 0x1f, 0x17, 0xe4, - 0x07, 0xf4, 0xfc, 0x0f, 0xac, 0x5f, 0x57, 0xa4, 0x47, 0xb4, - 0xbc, 0x4f, 0x67, 0x94, 0x9c, 0x6f, 0x8c, 0x7f, 0x77, 0x84, - 0x3a, 0xc9, 0xc1, 0x32, 0xd1, 0x22, 0x2a, 0xd9, 0xf1, 0x02, - 0x0a, 0xf9, 0x1a, 0xe9, 0xe1, 0x12, 0xb1, 0x42, 0x4a, 0xb9, - 0x5a, 0xa9, 0xa1, 0x52, 0x7a, 0x89, 0x81, 0x72, 0x91, 0x62, - 0x6a, 0x99, 0x31, 0xc2, 0xca, 0x39, 0xda, 0x29, 0x21, 0xd2, - 0xfa, 0x09, 0x01, 0xf2, 0x11, 0xe2, 0xea, 0x19, 0xba, 0x49, - 0x41, 0xb2, 0x51, 0xa2, 0xaa, 0x59, 0x71, 0x82, 0x8a, 0x79, - 0x9a, 0x69, 0x61, 0x92, 0x00, 0xf4, 0xf5, 0x01, 0xf7, 0x03, - 0x02, 0xf6, 0xf3, 0x07, 0x06, 0xf2, 0x04, 0xf0, 0xf1, 0x05, - 0xfb, 0x0f, 0x0e, 0xfa, 0x0c, 0xf8, 0xf9, 0x0d, 0x08, 0xfc, - 0xfd, 0x09, 0xff, 0x0b, 0x0a, 0xfe, 0xeb, 0x1f, 0x1e, 0xea, - 0x1c, 0xe8, 0xe9, 0x1d, 0x18, 0xec, 0xed, 0x19, 0xef, 0x1b, - 0x1a, 0xee, 0x10, 0xe4, 0xe5, 0x11, 0xe7, 0x13, 0x12, 0xe6, - 0xe3, 0x17, 0x16, 0xe2, 0x14, 0xe0, 0xe1, 0x15, 0xcb, 0x3f, - 0x3e, 0xca, 0x3c, 0xc8, 0xc9, 0x3d, 0x38, 0xcc, 0xcd, 0x39, - 0xcf, 0x3b, 0x3a, 0xce, 0x30, 0xc4, 0xc5, 0x31, 0xc7, 0x33, - 0x32, 0xc6, 0xc3, 0x37, 0x36, 0xc2, 0x34, 0xc0, 0xc1, 0x35, - 0x20, 0xd4, 0xd5, 0x21, 0xd7, 0x23, 0x22, 0xd6, 0xd3, 0x27, - 0x26, 0xd2, 0x24, 0xd0, 0xd1, 0x25, 0xdb, 0x2f, 0x2e, 0xda, - 0x2c, 0xd8, 0xd9, 0x2d, 0x28, 0xdc, 0xdd, 0x29, 0xdf, 0x2b, - 0x2a, 0xde, 0x8b, 0x7f, 0x7e, 0x8a, 0x7c, 0x88, 0x89, 0x7d, - 0x78, 0x8c, 0x8d, 0x79, 0x8f, 0x7b, 0x7a, 0x8e, 0x70, 0x84, - 0x85, 0x71, 0x87, 0x73, 0x72, 0x86, 0x83, 0x77, 0x76, 0x82, - 0x74, 0x80, 0x81, 0x75, 0x60, 0x94, 0x95, 0x61, 0x97, 0x63, - 0x62, 0x96, 0x93, 0x67, 0x66, 0x92, 0x64, 0x90, 0x91, 0x65, - 0x9b, 0x6f, 0x6e, 0x9a, 0x6c, 0x98, 0x99, 0x6d, 0x68, 0x9c, - 0x9d, 0x69, 0x9f, 0x6b, 0x6a, 0x9e, 0x40, 0xb4, 0xb5, 0x41, - 0xb7, 0x43, 0x42, 0xb6, 0xb3, 0x47, 0x46, 0xb2, 0x44, 0xb0, - 0xb1, 0x45, 0xbb, 0x4f, 0x4e, 0xba, 0x4c, 0xb8, 0xb9, 0x4d, - 0x48, 0xbc, 0xbd, 0x49, 0xbf, 0x4b, 0x4a, 0xbe, 0xab, 0x5f, - 0x5e, 0xaa, 0x5c, 0xa8, 0xa9, 0x5d, 0x58, 0xac, 0xad, 0x59, - 0xaf, 0x5b, 0x5a, 0xae, 0x50, 0xa4, 0xa5, 0x51, 0xa7, 0x53, - 0x52, 0xa6, 0xa3, 0x57, 0x56, 0xa2, 0x54, 0xa0, 0xa1, 0x55, - 0x00, 0xf5, 0xf7, 0x02, 0xf3, 0x06, 0x04, 0xf1, 0xfb, 0x0e, - 0x0c, 0xf9, 0x08, 0xfd, 0xff, 0x0a, 0xeb, 0x1e, 0x1c, 0xe9, - 0x18, 0xed, 0xef, 0x1a, 0x10, 0xe5, 0xe7, 0x12, 0xe3, 0x16, - 0x14, 0xe1, 0xcb, 0x3e, 0x3c, 0xc9, 0x38, 0xcd, 0xcf, 0x3a, - 0x30, 0xc5, 0xc7, 0x32, 0xc3, 0x36, 0x34, 0xc1, 0x20, 0xd5, - 0xd7, 0x22, 0xd3, 0x26, 0x24, 0xd1, 0xdb, 0x2e, 0x2c, 0xd9, - 0x28, 0xdd, 0xdf, 0x2a, 0x8b, 0x7e, 0x7c, 0x89, 0x78, 0x8d, - 0x8f, 0x7a, 0x70, 0x85, 0x87, 0x72, 0x83, 0x76, 0x74, 0x81, - 0x60, 0x95, 0x97, 0x62, 0x93, 0x66, 0x64, 0x91, 0x9b, 0x6e, - 0x6c, 0x99, 0x68, 0x9d, 0x9f, 0x6a, 0x40, 0xb5, 0xb7, 0x42, - 0xb3, 0x46, 0x44, 0xb1, 0xbb, 0x4e, 0x4c, 0xb9, 0x48, 0xbd, - 0xbf, 0x4a, 0xab, 0x5e, 0x5c, 0xa9, 0x58, 0xad, 0xaf, 0x5a, - 0x50, 0xa5, 0xa7, 0x52, 0xa3, 0x56, 0x54, 0xa1, 0x0b, 0xfe, - 0xfc, 0x09, 0xf8, 0x0d, 0x0f, 0xfa, 0xf0, 0x05, 0x07, 0xf2, - 0x03, 0xf6, 0xf4, 0x01, 0xe0, 0x15, 0x17, 0xe2, 0x13, 0xe6, - 0xe4, 0x11, 0x1b, 0xee, 0xec, 0x19, 0xe8, 0x1d, 0x1f, 0xea, - 0xc0, 0x35, 0x37, 0xc2, 0x33, 0xc6, 0xc4, 0x31, 0x3b, 0xce, - 0xcc, 0x39, 0xc8, 0x3d, 0x3f, 0xca, 0x2b, 0xde, 0xdc, 0x29, - 0xd8, 0x2d, 0x2f, 0xda, 0xd0, 0x25, 0x27, 0xd2, 0x23, 0xd6, - 0xd4, 0x21, 0x80, 0x75, 0x77, 0x82, 0x73, 0x86, 0x84, 0x71, - 0x7b, 0x8e, 0x8c, 0x79, 0x88, 0x7d, 0x7f, 0x8a, 0x6b, 0x9e, - 0x9c, 0x69, 0x98, 0x6d, 0x6f, 0x9a, 0x90, 0x65, 0x67, 0x92, - 0x63, 0x96, 0x94, 0x61, 0x4b, 0xbe, 0xbc, 0x49, 0xb8, 0x4d, - 0x4f, 0xba, 0xb0, 0x45, 0x47, 0xb2, 0x43, 0xb6, 0xb4, 0x41, - 0xa0, 0x55, 0x57, 0xa2, 0x53, 0xa6, 0xa4, 0x51, 0x5b, 0xae, - 0xac, 0x59, 0xa8, 0x5d, 0x5f, 0xaa, 0x00, 0xf6, 0xf1, 0x07, - 0xff, 0x09, 0x0e, 0xf8, 0xe3, 0x15, 0x12, 0xe4, 0x1c, 0xea, - 0xed, 0x1b, 0xdb, 0x2d, 0x2a, 0xdc, 0x24, 0xd2, 0xd5, 0x23, - 0x38, 0xce, 0xc9, 0x3f, 0xc7, 0x31, 0x36, 0xc0, 0xab, 0x5d, - 0x5a, 0xac, 0x54, 0xa2, 0xa5, 0x53, 0x48, 0xbe, 0xb9, 0x4f, - 0xb7, 0x41, 0x46, 0xb0, 0x70, 0x86, 0x81, 0x77, 0x8f, 0x79, - 0x7e, 0x88, 0x93, 0x65, 0x62, 0x94, 0x6c, 0x9a, 0x9d, 0x6b, - 0x4b, 0xbd, 0xba, 0x4c, 0xb4, 0x42, 0x45, 0xb3, 0xa8, 0x5e, - 0x59, 0xaf, 0x57, 0xa1, 0xa6, 0x50, 0x90, 0x66, 0x61, 0x97, - 0x6f, 0x99, 0x9e, 0x68, 0x73, 0x85, 0x82, 0x74, 0x8c, 0x7a, - 0x7d, 0x8b, 0xe0, 0x16, 0x11, 0xe7, 0x1f, 0xe9, 0xee, 0x18, - 0x03, 0xf5, 0xf2, 0x04, 0xfc, 0x0a, 0x0d, 0xfb, 0x3b, 0xcd, - 0xca, 0x3c, 0xc4, 0x32, 0x35, 0xc3, 0xd8, 0x2e, 0x29, 0xdf, - 0x27, 0xd1, 0xd6, 0x20, 0x96, 0x60, 0x67, 0x91, 0x69, 0x9f, - 0x98, 0x6e, 0x75, 0x83, 0x84, 0x72, 0x8a, 0x7c, 0x7b, 0x8d, - 0x4d, 0xbb, 0xbc, 0x4a, 0xb2, 0x44, 0x43, 0xb5, 0xae, 0x58, - 0x5f, 0xa9, 0x51, 0xa7, 0xa0, 0x56, 0x3d, 0xcb, 0xcc, 0x3a, - 0xc2, 0x34, 0x33, 0xc5, 0xde, 0x28, 0x2f, 0xd9, 0x21, 0xd7, - 0xd0, 0x26, 0xe6, 0x10, 0x17, 0xe1, 0x19, 0xef, 0xe8, 0x1e, - 0x05, 0xf3, 0xf4, 0x02, 0xfa, 0x0c, 0x0b, 0xfd, 0xdd, 0x2b, - 0x2c, 0xda, 0x22, 0xd4, 0xd3, 0x25, 0x3e, 0xc8, 0xcf, 0x39, - 0xc1, 0x37, 0x30, 0xc6, 0x06, 0xf0, 0xf7, 0x01, 0xf9, 0x0f, - 0x08, 0xfe, 0xe5, 0x13, 0x14, 0xe2, 0x1a, 0xec, 0xeb, 0x1d, - 0x76, 0x80, 0x87, 0x71, 0x89, 0x7f, 0x78, 0x8e, 0x95, 0x63, - 0x64, 0x92, 0x6a, 0x9c, 0x9b, 0x6d, 0xad, 0x5b, 0x5c, 0xaa, - 0x52, 0xa4, 0xa3, 0x55, 0x4e, 0xb8, 0xbf, 0x49, 0xb1, 0x47, - 0x40, 0xb6, 0x00, 0xf7, 0xf3, 0x04, 0xfb, 0x0c, 0x08, 0xff, - 0xeb, 0x1c, 0x18, 0xef, 0x10, 0xe7, 0xe3, 0x14, 0xcb, 0x3c, - 0x38, 0xcf, 0x30, 0xc7, 0xc3, 0x34, 0x20, 0xd7, 0xd3, 0x24, - 0xdb, 0x2c, 0x28, 0xdf, 0x8b, 0x7c, 0x78, 0x8f, 0x70, 0x87, - 0x83, 0x74, 0x60, 0x97, 0x93, 0x64, 0x9b, 0x6c, 0x68, 0x9f, - 0x40, 0xb7, 0xb3, 0x44, 0xbb, 0x4c, 0x48, 0xbf, 0xab, 0x5c, - 0x58, 0xaf, 0x50, 0xa7, 0xa3, 0x54, 0x0b, 0xfc, 0xf8, 0x0f, - 0xf0, 0x07, 0x03, 0xf4, 0xe0, 0x17, 0x13, 0xe4, 0x1b, 0xec, - 0xe8, 0x1f, 0xc0, 0x37, 0x33, 0xc4, 0x3b, 0xcc, 0xc8, 0x3f, - 0x2b, 0xdc, 0xd8, 0x2f, 0xd0, 0x27, 0x23, 0xd4, 0x80, 0x77, - 0x73, 0x84, 0x7b, 0x8c, 0x88, 0x7f, 0x6b, 0x9c, 0x98, 0x6f, - 0x90, 0x67, 0x63, 0x94, 0x4b, 0xbc, 0xb8, 0x4f, 0xb0, 0x47, - 0x43, 0xb4, 0xa0, 0x57, 0x53, 0xa4, 0x5b, 0xac, 0xa8, 0x5f, - 0x16, 0xe1, 0xe5, 0x12, 0xed, 0x1a, 0x1e, 0xe9, 0xfd, 0x0a, - 0x0e, 0xf9, 0x06, 0xf1, 0xf5, 0x02, 0xdd, 0x2a, 0x2e, 0xd9, - 0x26, 0xd1, 0xd5, 0x22, 0x36, 0xc1, 0xc5, 0x32, 0xcd, 0x3a, - 0x3e, 0xc9, 0x9d, 0x6a, 0x6e, 0x99, 0x66, 0x91, 0x95, 0x62, - 0x76, 0x81, 0x85, 0x72, 0x8d, 0x7a, 0x7e, 0x89, 0x56, 0xa1, - 0xa5, 0x52, 0xad, 0x5a, 0x5e, 0xa9, 0xbd, 0x4a, 0x4e, 0xb9, - 0x46, 0xb1, 0xb5, 0x42, 0x1d, 0xea, 0xee, 0x19, 0xe6, 0x11, - 0x15, 0xe2, 0xf6, 0x01, 0x05, 0xf2, 0x0d, 0xfa, 0xfe, 0x09, - 0xd6, 0x21, 0x25, 0xd2, 0x2d, 0xda, 0xde, 0x29, 0x3d, 0xca, - 0xce, 0x39, 0xc6, 0x31, 0x35, 0xc2, 0x96, 0x61, 0x65, 0x92, - 0x6d, 0x9a, 0x9e, 0x69, 0x7d, 0x8a, 0x8e, 0x79, 0x86, 0x71, - 0x75, 0x82, 0x5d, 0xaa, 0xae, 0x59, 0xa6, 0x51, 0x55, 0xa2, - 0xb6, 0x41, 0x45, 0xb2, 0x4d, 0xba, 0xbe, 0x49, 0x00, 0xf8, - 0xed, 0x15, 0xc7, 0x3f, 0x2a, 0xd2, 0x93, 0x6b, 0x7e, 0x86, - 0x54, 0xac, 0xb9, 0x41, 0x3b, 0xc3, 0xd6, 0x2e, 0xfc, 0x04, - 0x11, 0xe9, 0xa8, 0x50, 0x45, 0xbd, 0x6f, 0x97, 0x82, 0x7a, - 0x76, 0x8e, 0x9b, 0x63, 0xb1, 0x49, 0x5c, 0xa4, 0xe5, 0x1d, - 0x08, 0xf0, 0x22, 0xda, 0xcf, 0x37, 0x4d, 0xb5, 0xa0, 0x58, - 0x8a, 0x72, 0x67, 0x9f, 0xde, 0x26, 0x33, 0xcb, 0x19, 0xe1, - 0xf4, 0x0c, 0xec, 0x14, 0x01, 0xf9, 0x2b, 0xd3, 0xc6, 0x3e, - 0x7f, 0x87, 0x92, 0x6a, 0xb8, 0x40, 0x55, 0xad, 0xd7, 0x2f, - 0x3a, 0xc2, 0x10, 0xe8, 0xfd, 0x05, 0x44, 0xbc, 0xa9, 0x51, - 0x83, 0x7b, 0x6e, 0x96, 0x9a, 0x62, 0x77, 0x8f, 0x5d, 0xa5, - 0xb0, 0x48, 0x09, 0xf1, 0xe4, 0x1c, 0xce, 0x36, 0x23, 0xdb, - 0xa1, 0x59, 0x4c, 0xb4, 0x66, 0x9e, 0x8b, 0x73, 0x32, 0xca, - 0xdf, 0x27, 0xf5, 0x0d, 0x18, 0xe0, 0xc5, 0x3d, 0x28, 0xd0, - 0x02, 0xfa, 0xef, 0x17, 0x56, 0xae, 0xbb, 0x43, 0x91, 0x69, - 0x7c, 0x84, 0xfe, 0x06, 0x13, 0xeb, 0x39, 0xc1, 0xd4, 0x2c, - 0x6d, 0x95, 0x80, 0x78, 0xaa, 0x52, 0x47, 0xbf, 0xb3, 0x4b, - 0x5e, 0xa6, 0x74, 0x8c, 0x99, 0x61, 0x20, 0xd8, 0xcd, 0x35, - 0xe7, 0x1f, 0x0a, 0xf2, 0x88, 0x70, 0x65, 0x9d, 0x4f, 0xb7, - 0xa2, 0x5a, 0x1b, 0xe3, 0xf6, 0x0e, 0xdc, 0x24, 0x31, 0xc9, - 0x29, 0xd1, 0xc4, 0x3c, 0xee, 0x16, 0x03, 0xfb, 0xba, 0x42, - 0x57, 0xaf, 0x7d, 0x85, 0x90, 0x68, 0x12, 0xea, 0xff, 0x07, - 0xd5, 0x2d, 0x38, 0xc0, 0x81, 0x79, 0x6c, 0x94, 0x46, 0xbe, - 0xab, 0x53, 0x5f, 0xa7, 0xb2, 0x4a, 0x98, 0x60, 0x75, 0x8d, - 0xcc, 0x34, 0x21, 0xd9, 0x0b, 0xf3, 0xe6, 0x1e, 0x64, 0x9c, - 0x89, 0x71, 0xa3, 0x5b, 0x4e, 0xb6, 0xf7, 0x0f, 0x1a, 0xe2, - 0x30, 0xc8, 0xdd, 0x25, 0x00, 0xf9, 0xef, 0x16, 0xc3, 0x3a, - 0x2c, 0xd5, 0x9b, 0x62, 0x74, 0x8d, 0x58, 0xa1, 0xb7, 0x4e, - 0x2b, 0xd2, 0xc4, 0x3d, 0xe8, 0x11, 0x07, 0xfe, 0xb0, 0x49, - 0x5f, 0xa6, 0x73, 0x8a, 0x9c, 0x65, 0x56, 0xaf, 0xb9, 0x40, - 0x95, 0x6c, 0x7a, 0x83, 0xcd, 0x34, 0x22, 0xdb, 0x0e, 0xf7, - 0xe1, 0x18, 0x7d, 0x84, 0x92, 0x6b, 0xbe, 0x47, 0x51, 0xa8, - 0xe6, 0x1f, 0x09, 0xf0, 0x25, 0xdc, 0xca, 0x33, 0xac, 0x55, - 0x43, 0xba, 0x6f, 0x96, 0x80, 0x79, 0x37, 0xce, 0xd8, 0x21, - 0xf4, 0x0d, 0x1b, 0xe2, 0x87, 0x7e, 0x68, 0x91, 0x44, 0xbd, - 0xab, 0x52, 0x1c, 0xe5, 0xf3, 0x0a, 0xdf, 0x26, 0x30, 0xc9, - 0xfa, 0x03, 0x15, 0xec, 0x39, 0xc0, 0xd6, 0x2f, 0x61, 0x98, - 0x8e, 0x77, 0xa2, 0x5b, 0x4d, 0xb4, 0xd1, 0x28, 0x3e, 0xc7, - 0x12, 0xeb, 0xfd, 0x04, 0x4a, 0xb3, 0xa5, 0x5c, 0x89, 0x70, - 0x66, 0x9f, 0x45, 0xbc, 0xaa, 0x53, 0x86, 0x7f, 0x69, 0x90, - 0xde, 0x27, 0x31, 0xc8, 0x1d, 0xe4, 0xf2, 0x0b, 0x6e, 0x97, - 0x81, 0x78, 0xad, 0x54, 0x42, 0xbb, 0xf5, 0x0c, 0x1a, 0xe3, - 0x36, 0xcf, 0xd9, 0x20, 0x13, 0xea, 0xfc, 0x05, 0xd0, 0x29, - 0x3f, 0xc6, 0x88, 0x71, 0x67, 0x9e, 0x4b, 0xb2, 0xa4, 0x5d, - 0x38, 0xc1, 0xd7, 0x2e, 0xfb, 0x02, 0x14, 0xed, 0xa3, 0x5a, - 0x4c, 0xb5, 0x60, 0x99, 0x8f, 0x76, 0xe9, 0x10, 0x06, 0xff, - 0x2a, 0xd3, 0xc5, 0x3c, 0x72, 0x8b, 0x9d, 0x64, 0xb1, 0x48, - 0x5e, 0xa7, 0xc2, 0x3b, 0x2d, 0xd4, 0x01, 0xf8, 0xee, 0x17, - 0x59, 0xa0, 0xb6, 0x4f, 0x9a, 0x63, 0x75, 0x8c, 0xbf, 0x46, - 0x50, 0xa9, 0x7c, 0x85, 0x93, 0x6a, 0x24, 0xdd, 0xcb, 0x32, - 0xe7, 0x1e, 0x08, 0xf1, 0x94, 0x6d, 0x7b, 0x82, 0x57, 0xae, - 0xb8, 0x41, 0x0f, 0xf6, 0xe0, 0x19, 0xcc, 0x35, 0x23, 0xda, - 0x00, 0xfa, 0xe9, 0x13, 0xcf, 0x35, 0x26, 0xdc, 0x83, 0x79, - 0x6a, 0x90, 0x4c, 0xb6, 0xa5, 0x5f, 0x1b, 0xe1, 0xf2, 0x08, - 0xd4, 0x2e, 0x3d, 0xc7, 0x98, 0x62, 0x71, 0x8b, 0x57, 0xad, - 0xbe, 0x44, 0x36, 0xcc, 0xdf, 0x25, 0xf9, 0x03, 0x10, 0xea, - 0xb5, 0x4f, 0x5c, 0xa6, 0x7a, 0x80, 0x93, 0x69, 0x2d, 0xd7, - 0xc4, 0x3e, 0xe2, 0x18, 0x0b, 0xf1, 0xae, 0x54, 0x47, 0xbd, - 0x61, 0x9b, 0x88, 0x72, 0x6c, 0x96, 0x85, 0x7f, 0xa3, 0x59, - 0x4a, 0xb0, 0xef, 0x15, 0x06, 0xfc, 0x20, 0xda, 0xc9, 0x33, - 0x77, 0x8d, 0x9e, 0x64, 0xb8, 0x42, 0x51, 0xab, 0xf4, 0x0e, - 0x1d, 0xe7, 0x3b, 0xc1, 0xd2, 0x28, 0x5a, 0xa0, 0xb3, 0x49, - 0x95, 0x6f, 0x7c, 0x86, 0xd9, 0x23, 0x30, 0xca, 0x16, 0xec, - 0xff, 0x05, 0x41, 0xbb, 0xa8, 0x52, 0x8e, 0x74, 0x67, 0x9d, - 0xc2, 0x38, 0x2b, 0xd1, 0x0d, 0xf7, 0xe4, 0x1e, 0xd8, 0x22, - 0x31, 0xcb, 0x17, 0xed, 0xfe, 0x04, 0x5b, 0xa1, 0xb2, 0x48, - 0x94, 0x6e, 0x7d, 0x87, 0xc3, 0x39, 0x2a, 0xd0, 0x0c, 0xf6, - 0xe5, 0x1f, 0x40, 0xba, 0xa9, 0x53, 0x8f, 0x75, 0x66, 0x9c, - 0xee, 0x14, 0x07, 0xfd, 0x21, 0xdb, 0xc8, 0x32, 0x6d, 0x97, - 0x84, 0x7e, 0xa2, 0x58, 0x4b, 0xb1, 0xf5, 0x0f, 0x1c, 0xe6, - 0x3a, 0xc0, 0xd3, 0x29, 0x76, 0x8c, 0x9f, 0x65, 0xb9, 0x43, - 0x50, 0xaa, 0xb4, 0x4e, 0x5d, 0xa7, 0x7b, 0x81, 0x92, 0x68, - 0x37, 0xcd, 0xde, 0x24, 0xf8, 0x02, 0x11, 0xeb, 0xaf, 0x55, - 0x46, 0xbc, 0x60, 0x9a, 0x89, 0x73, 0x2c, 0xd6, 0xc5, 0x3f, - 0xe3, 0x19, 0x0a, 0xf0, 0x82, 0x78, 0x6b, 0x91, 0x4d, 0xb7, - 0xa4, 0x5e, 0x01, 0xfb, 0xe8, 0x12, 0xce, 0x34, 0x27, 0xdd, - 0x99, 0x63, 0x70, 0x8a, 0x56, 0xac, 0xbf, 0x45, 0x1a, 0xe0, - 0xf3, 0x09, 0xd5, 0x2f, 0x3c, 0xc6, 0x00, 0xfb, 0xeb, 0x10, - 0xcb, 0x30, 0x20, 0xdb, 0x8b, 0x70, 0x60, 0x9b, 0x40, 0xbb, - 0xab, 0x50, 0x0b, 0xf0, 0xe0, 0x1b, 0xc0, 0x3b, 0x2b, 0xd0, - 0x80, 0x7b, 0x6b, 0x90, 0x4b, 0xb0, 0xa0, 0x5b, 0x16, 0xed, - 0xfd, 0x06, 0xdd, 0x26, 0x36, 0xcd, 0x9d, 0x66, 0x76, 0x8d, - 0x56, 0xad, 0xbd, 0x46, 0x1d, 0xe6, 0xf6, 0x0d, 0xd6, 0x2d, - 0x3d, 0xc6, 0x96, 0x6d, 0x7d, 0x86, 0x5d, 0xa6, 0xb6, 0x4d, - 0x2c, 0xd7, 0xc7, 0x3c, 0xe7, 0x1c, 0x0c, 0xf7, 0xa7, 0x5c, - 0x4c, 0xb7, 0x6c, 0x97, 0x87, 0x7c, 0x27, 0xdc, 0xcc, 0x37, - 0xec, 0x17, 0x07, 0xfc, 0xac, 0x57, 0x47, 0xbc, 0x67, 0x9c, - 0x8c, 0x77, 0x3a, 0xc1, 0xd1, 0x2a, 0xf1, 0x0a, 0x1a, 0xe1, - 0xb1, 0x4a, 0x5a, 0xa1, 0x7a, 0x81, 0x91, 0x6a, 0x31, 0xca, - 0xda, 0x21, 0xfa, 0x01, 0x11, 0xea, 0xba, 0x41, 0x51, 0xaa, - 0x71, 0x8a, 0x9a, 0x61, 0x58, 0xa3, 0xb3, 0x48, 0x93, 0x68, - 0x78, 0x83, 0xd3, 0x28, 0x38, 0xc3, 0x18, 0xe3, 0xf3, 0x08, - 0x53, 0xa8, 0xb8, 0x43, 0x98, 0x63, 0x73, 0x88, 0xd8, 0x23, - 0x33, 0xc8, 0x13, 0xe8, 0xf8, 0x03, 0x4e, 0xb5, 0xa5, 0x5e, - 0x85, 0x7e, 0x6e, 0x95, 0xc5, 0x3e, 0x2e, 0xd5, 0x0e, 0xf5, - 0xe5, 0x1e, 0x45, 0xbe, 0xae, 0x55, 0x8e, 0x75, 0x65, 0x9e, - 0xce, 0x35, 0x25, 0xde, 0x05, 0xfe, 0xee, 0x15, 0x74, 0x8f, - 0x9f, 0x64, 0xbf, 0x44, 0x54, 0xaf, 0xff, 0x04, 0x14, 0xef, - 0x34, 0xcf, 0xdf, 0x24, 0x7f, 0x84, 0x94, 0x6f, 0xb4, 0x4f, - 0x5f, 0xa4, 0xf4, 0x0f, 0x1f, 0xe4, 0x3f, 0xc4, 0xd4, 0x2f, - 0x62, 0x99, 0x89, 0x72, 0xa9, 0x52, 0x42, 0xb9, 0xe9, 0x12, - 0x02, 0xf9, 0x22, 0xd9, 0xc9, 0x32, 0x69, 0x92, 0x82, 0x79, - 0xa2, 0x59, 0x49, 0xb2, 0xe2, 0x19, 0x09, 0xf2, 0x29, 0xd2, - 0xc2, 0x39, 0x00, 0xfc, 0xe5, 0x19, 0xd7, 0x2b, 0x32, 0xce, - 0xb3, 0x4f, 0x56, 0xaa, 0x64, 0x98, 0x81, 0x7d, 0x7b, 0x87, - 0x9e, 0x62, 0xac, 0x50, 0x49, 0xb5, 0xc8, 0x34, 0x2d, 0xd1, - 0x1f, 0xe3, 0xfa, 0x06, 0xf6, 0x0a, 0x13, 0xef, 0x21, 0xdd, - 0xc4, 0x38, 0x45, 0xb9, 0xa0, 0x5c, 0x92, 0x6e, 0x77, 0x8b, - 0x8d, 0x71, 0x68, 0x94, 0x5a, 0xa6, 0xbf, 0x43, 0x3e, 0xc2, - 0xdb, 0x27, 0xe9, 0x15, 0x0c, 0xf0, 0xf1, 0x0d, 0x14, 0xe8, - 0x26, 0xda, 0xc3, 0x3f, 0x42, 0xbe, 0xa7, 0x5b, 0x95, 0x69, - 0x70, 0x8c, 0x8a, 0x76, 0x6f, 0x93, 0x5d, 0xa1, 0xb8, 0x44, - 0x39, 0xc5, 0xdc, 0x20, 0xee, 0x12, 0x0b, 0xf7, 0x07, 0xfb, - 0xe2, 0x1e, 0xd0, 0x2c, 0x35, 0xc9, 0xb4, 0x48, 0x51, 0xad, - 0x63, 0x9f, 0x86, 0x7a, 0x7c, 0x80, 0x99, 0x65, 0xab, 0x57, - 0x4e, 0xb2, 0xcf, 0x33, 0x2a, 0xd6, 0x18, 0xe4, 0xfd, 0x01, - 0xff, 0x03, 0x1a, 0xe6, 0x28, 0xd4, 0xcd, 0x31, 0x4c, 0xb0, - 0xa9, 0x55, 0x9b, 0x67, 0x7e, 0x82, 0x84, 0x78, 0x61, 0x9d, - 0x53, 0xaf, 0xb6, 0x4a, 0x37, 0xcb, 0xd2, 0x2e, 0xe0, 0x1c, - 0x05, 0xf9, 0x09, 0xf5, 0xec, 0x10, 0xde, 0x22, 0x3b, 0xc7, - 0xba, 0x46, 0x5f, 0xa3, 0x6d, 0x91, 0x88, 0x74, 0x72, 0x8e, - 0x97, 0x6b, 0xa5, 0x59, 0x40, 0xbc, 0xc1, 0x3d, 0x24, 0xd8, - 0x16, 0xea, 0xf3, 0x0f, 0x0e, 0xf2, 0xeb, 0x17, 0xd9, 0x25, - 0x3c, 0xc0, 0xbd, 0x41, 0x58, 0xa4, 0x6a, 0x96, 0x8f, 0x73, - 0x75, 0x89, 0x90, 0x6c, 0xa2, 0x5e, 0x47, 0xbb, 0xc6, 0x3a, - 0x23, 0xdf, 0x11, 0xed, 0xf4, 0x08, 0xf8, 0x04, 0x1d, 0xe1, - 0x2f, 0xd3, 0xca, 0x36, 0x4b, 0xb7, 0xae, 0x52, 0x9c, 0x60, - 0x79, 0x85, 0x83, 0x7f, 0x66, 0x9a, 0x54, 0xa8, 0xb1, 0x4d, - 0x30, 0xcc, 0xd5, 0x29, 0xe7, 0x1b, 0x02, 0xfe, 0x00, 0xfd, - 0xe7, 0x1a, 0xd3, 0x2e, 0x34, 0xc9, 0xbb, 0x46, 0x5c, 0xa1, - 0x68, 0x95, 0x8f, 0x72, 0x6b, 0x96, 0x8c, 0x71, 0xb8, 0x45, - 0x5f, 0xa2, 0xd0, 0x2d, 0x37, 0xca, 0x03, 0xfe, 0xe4, 0x19, - 0xd6, 0x2b, 0x31, 0xcc, 0x05, 0xf8, 0xe2, 0x1f, 0x6d, 0x90, - 0x8a, 0x77, 0xbe, 0x43, 0x59, 0xa4, 0xbd, 0x40, 0x5a, 0xa7, - 0x6e, 0x93, 0x89, 0x74, 0x06, 0xfb, 0xe1, 0x1c, 0xd5, 0x28, - 0x32, 0xcf, 0xb1, 0x4c, 0x56, 0xab, 0x62, 0x9f, 0x85, 0x78, - 0x0a, 0xf7, 0xed, 0x10, 0xd9, 0x24, 0x3e, 0xc3, 0xda, 0x27, - 0x3d, 0xc0, 0x09, 0xf4, 0xee, 0x13, 0x61, 0x9c, 0x86, 0x7b, - 0xb2, 0x4f, 0x55, 0xa8, 0x67, 0x9a, 0x80, 0x7d, 0xb4, 0x49, - 0x53, 0xae, 0xdc, 0x21, 0x3b, 0xc6, 0x0f, 0xf2, 0xe8, 0x15, - 0x0c, 0xf1, 0xeb, 0x16, 0xdf, 0x22, 0x38, 0xc5, 0xb7, 0x4a, - 0x50, 0xad, 0x64, 0x99, 0x83, 0x7e, 0x7f, 0x82, 0x98, 0x65, - 0xac, 0x51, 0x4b, 0xb6, 0xc4, 0x39, 0x23, 0xde, 0x17, 0xea, - 0xf0, 0x0d, 0x14, 0xe9, 0xf3, 0x0e, 0xc7, 0x3a, 0x20, 0xdd, - 0xaf, 0x52, 0x48, 0xb5, 0x7c, 0x81, 0x9b, 0x66, 0xa9, 0x54, - 0x4e, 0xb3, 0x7a, 0x87, 0x9d, 0x60, 0x12, 0xef, 0xf5, 0x08, - 0xc1, 0x3c, 0x26, 0xdb, 0xc2, 0x3f, 0x25, 0xd8, 0x11, 0xec, - 0xf6, 0x0b, 0x79, 0x84, 0x9e, 0x63, 0xaa, 0x57, 0x4d, 0xb0, - 0xce, 0x33, 0x29, 0xd4, 0x1d, 0xe0, 0xfa, 0x07, 0x75, 0x88, - 0x92, 0x6f, 0xa6, 0x5b, 0x41, 0xbc, 0xa5, 0x58, 0x42, 0xbf, - 0x76, 0x8b, 0x91, 0x6c, 0x1e, 0xe3, 0xf9, 0x04, 0xcd, 0x30, - 0x2a, 0xd7, 0x18, 0xe5, 0xff, 0x02, 0xcb, 0x36, 0x2c, 0xd1, - 0xa3, 0x5e, 0x44, 0xb9, 0x70, 0x8d, 0x97, 0x6a, 0x73, 0x8e, - 0x94, 0x69, 0xa0, 0x5d, 0x47, 0xba, 0xc8, 0x35, 0x2f, 0xd2, - 0x1b, 0xe6, 0xfc, 0x01, 0x00, 0xfe, 0xe1, 0x1f, 0xdf, 0x21, - 0x3e, 0xc0, 0xa3, 0x5d, 0x42, 0xbc, 0x7c, 0x82, 0x9d, 0x63, - 0x5b, 0xa5, 0xba, 0x44, 0x84, 0x7a, 0x65, 0x9b, 0xf8, 0x06, - 0x19, 0xe7, 0x27, 0xd9, 0xc6, 0x38, 0xb6, 0x48, 0x57, 0xa9, - 0x69, 0x97, 0x88, 0x76, 0x15, 0xeb, 0xf4, 0x0a, 0xca, 0x34, - 0x2b, 0xd5, 0xed, 0x13, 0x0c, 0xf2, 0x32, 0xcc, 0xd3, 0x2d, - 0x4e, 0xb0, 0xaf, 0x51, 0x91, 0x6f, 0x70, 0x8e, 0x71, 0x8f, - 0x90, 0x6e, 0xae, 0x50, 0x4f, 0xb1, 0xd2, 0x2c, 0x33, 0xcd, - 0x0d, 0xf3, 0xec, 0x12, 0x2a, 0xd4, 0xcb, 0x35, 0xf5, 0x0b, - 0x14, 0xea, 0x89, 0x77, 0x68, 0x96, 0x56, 0xa8, 0xb7, 0x49, - 0xc7, 0x39, 0x26, 0xd8, 0x18, 0xe6, 0xf9, 0x07, 0x64, 0x9a, - 0x85, 0x7b, 0xbb, 0x45, 0x5a, 0xa4, 0x9c, 0x62, 0x7d, 0x83, - 0x43, 0xbd, 0xa2, 0x5c, 0x3f, 0xc1, 0xde, 0x20, 0xe0, 0x1e, - 0x01, 0xff, 0xe2, 0x1c, 0x03, 0xfd, 0x3d, 0xc3, 0xdc, 0x22, - 0x41, 0xbf, 0xa0, 0x5e, 0x9e, 0x60, 0x7f, 0x81, 0xb9, 0x47, - 0x58, 0xa6, 0x66, 0x98, 0x87, 0x79, 0x1a, 0xe4, 0xfb, 0x05, - 0xc5, 0x3b, 0x24, 0xda, 0x54, 0xaa, 0xb5, 0x4b, 0x8b, 0x75, - 0x6a, 0x94, 0xf7, 0x09, 0x16, 0xe8, 0x28, 0xd6, 0xc9, 0x37, - 0x0f, 0xf1, 0xee, 0x10, 0xd0, 0x2e, 0x31, 0xcf, 0xac, 0x52, - 0x4d, 0xb3, 0x73, 0x8d, 0x92, 0x6c, 0x93, 0x6d, 0x72, 0x8c, - 0x4c, 0xb2, 0xad, 0x53, 0x30, 0xce, 0xd1, 0x2f, 0xef, 0x11, - 0x0e, 0xf0, 0xc8, 0x36, 0x29, 0xd7, 0x17, 0xe9, 0xf6, 0x08, - 0x6b, 0x95, 0x8a, 0x74, 0xb4, 0x4a, 0x55, 0xab, 0x25, 0xdb, - 0xc4, 0x3a, 0xfa, 0x04, 0x1b, 0xe5, 0x86, 0x78, 0x67, 0x99, - 0x59, 0xa7, 0xb8, 0x46, 0x7e, 0x80, 0x9f, 0x61, 0xa1, 0x5f, - 0x40, 0xbe, 0xdd, 0x23, 0x3c, 0xc2, 0x02, 0xfc, 0xe3, 0x1d, - 0x00, 0xff, 0xe3, 0x1c, 0xdb, 0x24, 0x38, 0xc7, 0xab, 0x54, - 0x48, 0xb7, 0x70, 0x8f, 0x93, 0x6c, 0x4b, 0xb4, 0xa8, 0x57, - 0x90, 0x6f, 0x73, 0x8c, 0xe0, 0x1f, 0x03, 0xfc, 0x3b, 0xc4, - 0xd8, 0x27, 0x96, 0x69, 0x75, 0x8a, 0x4d, 0xb2, 0xae, 0x51, - 0x3d, 0xc2, 0xde, 0x21, 0xe6, 0x19, 0x05, 0xfa, 0xdd, 0x22, - 0x3e, 0xc1, 0x06, 0xf9, 0xe5, 0x1a, 0x76, 0x89, 0x95, 0x6a, - 0xad, 0x52, 0x4e, 0xb1, 0x31, 0xce, 0xd2, 0x2d, 0xea, 0x15, - 0x09, 0xf6, 0x9a, 0x65, 0x79, 0x86, 0x41, 0xbe, 0xa2, 0x5d, - 0x7a, 0x85, 0x99, 0x66, 0xa1, 0x5e, 0x42, 0xbd, 0xd1, 0x2e, - 0x32, 0xcd, 0x0a, 0xf5, 0xe9, 0x16, 0xa7, 0x58, 0x44, 0xbb, - 0x7c, 0x83, 0x9f, 0x60, 0x0c, 0xf3, 0xef, 0x10, 0xd7, 0x28, - 0x34, 0xcb, 0xec, 0x13, 0x0f, 0xf0, 0x37, 0xc8, 0xd4, 0x2b, - 0x47, 0xb8, 0xa4, 0x5b, 0x9c, 0x63, 0x7f, 0x80, 0x62, 0x9d, - 0x81, 0x7e, 0xb9, 0x46, 0x5a, 0xa5, 0xc9, 0x36, 0x2a, 0xd5, - 0x12, 0xed, 0xf1, 0x0e, 0x29, 0xd6, 0xca, 0x35, 0xf2, 0x0d, - 0x11, 0xee, 0x82, 0x7d, 0x61, 0x9e, 0x59, 0xa6, 0xba, 0x45, - 0xf4, 0x0b, 0x17, 0xe8, 0x2f, 0xd0, 0xcc, 0x33, 0x5f, 0xa0, - 0xbc, 0x43, 0x84, 0x7b, 0x67, 0x98, 0xbf, 0x40, 0x5c, 0xa3, - 0x64, 0x9b, 0x87, 0x78, 0x14, 0xeb, 0xf7, 0x08, 0xcf, 0x30, - 0x2c, 0xd3, 0x53, 0xac, 0xb0, 0x4f, 0x88, 0x77, 0x6b, 0x94, - 0xf8, 0x07, 0x1b, 0xe4, 0x23, 0xdc, 0xc0, 0x3f, 0x18, 0xe7, - 0xfb, 0x04, 0xc3, 0x3c, 0x20, 0xdf, 0xb3, 0x4c, 0x50, 0xaf, - 0x68, 0x97, 0x8b, 0x74, 0xc5, 0x3a, 0x26, 0xd9, 0x1e, 0xe1, - 0xfd, 0x02, 0x6e, 0x91, 0x8d, 0x72, 0xb5, 0x4a, 0x56, 0xa9, - 0x8e, 0x71, 0x6d, 0x92, 0x55, 0xaa, 0xb6, 0x49, 0x25, 0xda, - 0xc6, 0x39, 0xfe, 0x01, 0x1d, 0xe2 -}; - -unsigned char gf_inv_table_base[] = { - 0x00, 0x01, 0x8e, 0xf4, 0x47, 0xa7, 0x7a, 0xba, 0xad, 0x9d, - 0xdd, 0x98, 0x3d, 0xaa, 0x5d, 0x96, 0xd8, 0x72, 0xc0, 0x58, - 0xe0, 0x3e, 0x4c, 0x66, 0x90, 0xde, 0x55, 0x80, 0xa0, 0x83, - 0x4b, 0x2a, 0x6c, 0xed, 0x39, 0x51, 0x60, 0x56, 0x2c, 0x8a, - 0x70, 0xd0, 0x1f, 0x4a, 0x26, 0x8b, 0x33, 0x6e, 0x48, 0x89, - 0x6f, 0x2e, 0xa4, 0xc3, 0x40, 0x5e, 0x50, 0x22, 0xcf, 0xa9, - 0xab, 0x0c, 0x15, 0xe1, 0x36, 0x5f, 0xf8, 0xd5, 0x92, 0x4e, - 0xa6, 0x04, 0x30, 0x88, 0x2b, 0x1e, 0x16, 0x67, 0x45, 0x93, - 0x38, 0x23, 0x68, 0x8c, 0x81, 0x1a, 0x25, 0x61, 0x13, 0xc1, - 0xcb, 0x63, 0x97, 0x0e, 0x37, 0x41, 0x24, 0x57, 0xca, 0x5b, - 0xb9, 0xc4, 0x17, 0x4d, 0x52, 0x8d, 0xef, 0xb3, 0x20, 0xec, - 0x2f, 0x32, 0x28, 0xd1, 0x11, 0xd9, 0xe9, 0xfb, 0xda, 0x79, - 0xdb, 0x77, 0x06, 0xbb, 0x84, 0xcd, 0xfe, 0xfc, 0x1b, 0x54, - 0xa1, 0x1d, 0x7c, 0xcc, 0xe4, 0xb0, 0x49, 0x31, 0x27, 0x2d, - 0x53, 0x69, 0x02, 0xf5, 0x18, 0xdf, 0x44, 0x4f, 0x9b, 0xbc, - 0x0f, 0x5c, 0x0b, 0xdc, 0xbd, 0x94, 0xac, 0x09, 0xc7, 0xa2, - 0x1c, 0x82, 0x9f, 0xc6, 0x34, 0xc2, 0x46, 0x05, 0xce, 0x3b, - 0x0d, 0x3c, 0x9c, 0x08, 0xbe, 0xb7, 0x87, 0xe5, 0xee, 0x6b, - 0xeb, 0xf2, 0xbf, 0xaf, 0xc5, 0x64, 0x07, 0x7b, 0x95, 0x9a, - 0xae, 0xb6, 0x12, 0x59, 0xa5, 0x35, 0x65, 0xb8, 0xa3, 0x9e, - 0xd2, 0xf7, 0x62, 0x5a, 0x85, 0x7d, 0xa8, 0x3a, 0x29, 0x71, - 0xc8, 0xf6, 0xf9, 0x43, 0xd7, 0xd6, 0x10, 0x73, 0x76, 0x78, - 0x99, 0x0a, 0x19, 0x91, 0x14, 0x3f, 0xe6, 0xf0, 0x86, 0xb1, - 0xe2, 0xf1, 0xfa, 0x74, 0xf3, 0xb4, 0x6d, 0x21, 0xb2, 0x6a, - 0xe3, 0xe7, 0xb5, 0xea, 0x03, 0x8f, 0xd3, 0xc9, 0x42, 0xd4, - 0xe8, 0x75, 0x7f, 0xff, 0x7e, 0xfd -}; -#endif // GF_LARGE_TABLES - -#endif //_EC_BASE_H_ diff --git a/pkg/encoding/erasure/ec-code.h b/pkg/encoding/erasure/ec-code.h deleted file mode 100644 index 69338ecaa..000000000 --- a/pkg/encoding/erasure/ec-code.h +++ /dev/null @@ -1,660 +0,0 @@ -/********************************************************************** - Copyright(c) 2011-2014 Intel Corporation All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -**********************************************************************/ - - -#ifndef _ERASURE_CODE_H_ -#define _ERASURE_CODE_H_ - -#include -/** - * @file erasure_code.h - * @brief Interface to functions supporting erasure code encode and decode. - * - * This file defines the interface to optimized functions used in erasure - * codes. Encode and decode of erasures in GF(2^8) are made by calculating the - * dot product of the symbols (bytes in GF(2^8)) across a set of buffers and a - * set of coefficients. Values for the coefficients are determined by the type - * of erasure code. Using a general dot product means that any sequence of - * coefficients may be used including erasure codes based on random - * coefficients. - * Multiple versions of dot product are supplied to calculate 1-6 output - * vectors in one pass. - * Base GF multiply and divide functions can be sped up by defining - * GF_LARGE_TABLES at the expense of memory size. - * - */ - -#include "ec-vect-mul.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Initialize tables for fast Erasure Code encode and decode. - * - * Generates the expanded tables needed for fast encode or decode for erasure - * codes on blocks of data. 32bytes is generated for each input coefficient. - * - * @param k The number of vector sources or rows in the generator matrix - * for coding. - * @param rows The number of output vectors to concurrently encode/decode. - * @param a Pointer to sets of arrays of input coefficients used to encode - * or decode data. - * @param gftbls Pointer to start of space for concatenated output tables - * generated from input coefficients. Must be of size 32*k*rows. - * @returns none - */ - -void ec_init_tables(int k, int rows, uint8_t* a, uint8_t* gftbls); - -/** - * @brief Generate or decode erasure codes on blocks of data. - * - * Given a list of source data blocks, generate one or multiple blocks of - * encoded data as specified by a matrix of GF(2^8) coefficients. When given a - * suitable set of coefficients, this function will perform the fast generation - * or decoding of Reed-Solomon type erasure codes. - * - * @requires SSE4.1 - * @param len Length of each block of data (vector) of source or dest data. - * @param k The number of vector sources or rows in the generator matrix - * for coding. - * @param rows The number of output vectors to concurrently encode/decode. - * @param gftbls Pointer to array of input tables generated from coding - * coefficients in ec_init_tables(). Must be of size 32*k*rows - * @param data Array of pointers to source input buffers. - * @param coding Array of pointers to coded output buffers. - * @returns none - */ - -void ec_encode_data_sse(int len, int k, int rows, uint8_t *gftbls, uint8_t **data, uint8_t **coding); - - -/** - * @brief Generate or decode erasure codes on blocks of data, runs appropriate version. - * - * Given a list of source data blocks, generate one or multiple blocks of - * encoded data as specified by a matrix of GF(2^8) coefficients. When given a - * suitable set of coefficients, this function will perform the fast generation - * or decoding of Reed-Solomon type erasure codes. - * - * This function determines what instruction sets are enabled and - * selects the appropriate version at runtime. - * - * @param len Length of each block of data (vector) of source or dest data. - * @param k The number of vector sources or rows in the generator matrix - * for coding. - * @param rows The number of output vectors to concurrently encode/decode. - * @param gftbls Pointer to array of input tables generated from coding - * coefficients in ec_init_tables(). Must be of size 32*k*rows - * @param data Array of pointers to source input buffers. - * @param coding Array of pointers to coded output buffers. - * @returns none - */ - -void ec_encode_data(int len, int k, int rows, uint8_t *gftbls, uint8_t **data, uint8_t **coding); - - -/** - * @brief Generate or decode erasure codes on blocks of data, runs baseline version. - * - * Given a list of source data blocks, generate one or multiple blocks of - * encoded data as specified by a matrix of GF(2^8) coefficients. When given a - * suitable set of coefficients, this function will perform the fast generation - * or decoding of Reed-Solomon type erasure codes. - * - * @param len Length of each block of data (vector) of source or dest data. - * @param srcs The number of vector sources or rows in the generator matrix - * for coding. - * @param dests The number of output vectors to concurrently encode/decode. - * @param v Pointer to array of input tables generated from coding - * coefficients in ec_init_tables(). Must be of size 32*k*rows - * @param src Array of pointers to source input buffers. - * @param dest Array of pointers to coded output buffers. - * @returns none - */ - -void ec_encode_data_base(int len, int srcs, int dests, uint8_t *v, uint8_t **src, uint8_t **dest); - - -/** - * @brief GF(2^8) vector dot product. - * - * Does a GF(2^8) dot product across each byte of the input array and a constant - * set of coefficients to produce each byte of the output. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 32*vlen byte constant array based on the input coefficients. - * - * @requires SSE4.1 - * @param len Length of each vector in bytes. Must be >= 16. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 32*vlen byte array of pre-calculated constants based - * on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Pointer to destination data array. - * @returns none - */ - -void gf_vect_dot_prod_sse(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t *dest); - -/** - * @brief GF(2^8) vector dot product. - * - * Does a GF(2^8) dot product across each byte of the input array and a constant - * set of coefficients to produce each byte of the output. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 32*vlen byte constant array based on the input coefficients. - * - * @requires AVX - * @param len Length of each vector in bytes. Must be >= 16. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 32*vlen byte array of pre-calculated constants based - * on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Pointer to destination data array. - * @returns none - */ - -void gf_vect_dot_prod_avx(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t *dest); - -/** - * @brief GF(2^8) vector dot product. - * - * Does a GF(2^8) dot product across each byte of the input array and a constant - * set of coefficients to produce each byte of the output. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 32*vlen byte constant array based on the input coefficients. - * - * @requires AVX2 - * @param len Length of each vector in bytes. Must be >= 32. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 32*vlen byte array of pre-calculated constants based - * on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Pointer to destination data array. - * @returns none - */ - -void gf_vect_dot_prod_avx2(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t *dest); - -/** - * @brief GF(2^8) vector dot product with two outputs. - * - * Vector dot product optimized to calculate two ouputs at a time. Does two - * GF(2^8) dot products across each byte of the input array and two constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 2*32*vlen byte constant array based on the two sets of input coefficients. - * - * @requires SSE4.1 - * @param len Length of each vector in bytes. Must be >= 16. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 2*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_2vect_dot_prod_sse(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product with two outputs. - * - * Vector dot product optimized to calculate two ouputs at a time. Does two - * GF(2^8) dot products across each byte of the input array and two constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 2*32*vlen byte constant array based on the two sets of input coefficients. - * - * @requires AVX - * @param len Length of each vector in bytes. Must be >= 16. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 2*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_2vect_dot_prod_avx(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product with two outputs. - * - * Vector dot product optimized to calculate two ouputs at a time. Does two - * GF(2^8) dot products across each byte of the input array and two constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 2*32*vlen byte constant array based on the two sets of input coefficients. - * - * @requires AVX2 - * @param len Length of each vector in bytes. Must be >= 32. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 2*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_2vect_dot_prod_avx2(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product with three outputs. - * - * Vector dot product optimized to calculate three ouputs at a time. Does three - * GF(2^8) dot products across each byte of the input array and three constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 3*32*vlen byte constant array based on the three sets of input coefficients. - * - * @requires SSE4.1 - * @param len Length of each vector in bytes. Must be >= 16. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 3*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_3vect_dot_prod_sse(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product with three outputs. - * - * Vector dot product optimized to calculate three ouputs at a time. Does three - * GF(2^8) dot products across each byte of the input array and three constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 3*32*vlen byte constant array based on the three sets of input coefficients. - * - * @requires AVX - * @param len Length of each vector in bytes. Must be >= 16. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 3*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_3vect_dot_prod_avx(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product with three outputs. - * - * Vector dot product optimized to calculate three ouputs at a time. Does three - * GF(2^8) dot products across each byte of the input array and three constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 3*32*vlen byte constant array based on the three sets of input coefficients. - * - * @requires AVX2 - * @param len Length of each vector in bytes. Must be >= 32. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 3*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_3vect_dot_prod_avx2(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product with four outputs. - * - * Vector dot product optimized to calculate four ouputs at a time. Does four - * GF(2^8) dot products across each byte of the input array and four constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 4*32*vlen byte constant array based on the four sets of input coefficients. - * - * @requires SSE4.1 - * @param len Length of each vector in bytes. Must be >= 16. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 4*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_4vect_dot_prod_sse(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product with four outputs. - * - * Vector dot product optimized to calculate four ouputs at a time. Does four - * GF(2^8) dot products across each byte of the input array and four constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 4*32*vlen byte constant array based on the four sets of input coefficients. - * - * @requires AVX - * @param len Length of each vector in bytes. Must be >= 16. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 4*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_4vect_dot_prod_avx(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product with four outputs. - * - * Vector dot product optimized to calculate four ouputs at a time. Does four - * GF(2^8) dot products across each byte of the input array and four constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 4*32*vlen byte constant array based on the four sets of input coefficients. - * - * @requires AVX2 - * @param len Length of each vector in bytes. Must be >= 32. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 4*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_4vect_dot_prod_avx2(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product with five outputs. - * - * Vector dot product optimized to calculate five ouputs at a time. Does five - * GF(2^8) dot products across each byte of the input array and five constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 5*32*vlen byte constant array based on the five sets of input coefficients. - * - * @requires SSE4.1 - * @param len Length of each vector in bytes. Must >= 16. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 5*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_5vect_dot_prod_sse(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product with five outputs. - * - * Vector dot product optimized to calculate five ouputs at a time. Does five - * GF(2^8) dot products across each byte of the input array and five constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 5*32*vlen byte constant array based on the five sets of input coefficients. - * - * @requires AVX - * @param len Length of each vector in bytes. Must >= 16. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 5*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_5vect_dot_prod_avx(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product with five outputs. - * - * Vector dot product optimized to calculate five ouputs at a time. Does five - * GF(2^8) dot products across each byte of the input array and five constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 5*32*vlen byte constant array based on the five sets of input coefficients. - * - * @requires AVX2 - * @param len Length of each vector in bytes. Must >= 32. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 5*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_5vect_dot_prod_avx2(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product with six outputs. - * - * Vector dot product optimized to calculate six ouputs at a time. Does six - * GF(2^8) dot products across each byte of the input array and six constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 6*32*vlen byte constant array based on the six sets of input coefficients. - * - * @requires SSE4.1 - * @param len Length of each vector in bytes. Must be >= 16. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 6*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_6vect_dot_prod_sse(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product with six outputs. - * - * Vector dot product optimized to calculate six ouputs at a time. Does six - * GF(2^8) dot products across each byte of the input array and six constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 6*32*vlen byte constant array based on the six sets of input coefficients. - * - * @requires AVX - * @param len Length of each vector in bytes. Must be >= 16. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 6*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_6vect_dot_prod_avx(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product with six outputs. - * - * Vector dot product optimized to calculate six ouputs at a time. Does six - * GF(2^8) dot products across each byte of the input array and six constant - * sets of coefficients to produce each byte of the outputs. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 6*32*vlen byte constant array based on the six sets of input coefficients. - * - * @requires AVX2 - * @param len Length of each vector in bytes. Must be >= 32. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 6*32*vlen byte array of pre-calculated constants - * based on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Array of pointers to destination data buffers. - * @returns none - */ - -void gf_6vect_dot_prod_avx2(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t **dest); - -/** - * @brief GF(2^8) vector dot product, runs baseline version. - * - * Does a GF(2^8) dot product across each byte of the input array and a constant - * set of coefficients to produce each byte of the output. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 32*vlen byte constant array based on the input coefficients. - * - * @param len Length of each vector in bytes. Must be >= 16. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 32*vlen byte array of pre-calculated constants based - * on the array of input coefficients. Only elements 32*CONST*j + 1 - * of this array are used, where j = (0, 1, 2...) and CONST is the - * number of elements in the array of input coefficients. The - * elements used correspond to the original input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Pointer to destination data array. - * @returns none - */ - -void gf_vect_dot_prod_base(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t *dest); - -/** - * @brief GF(2^8) vector dot product, runs appropriate version. - * - * Does a GF(2^8) dot product across each byte of the input array and a constant - * set of coefficients to produce each byte of the output. Can be used for - * erasure coding encode and decode. Function requires pre-calculation of a - * 32*vlen byte constant array based on the input coefficients. - * - * This function determines what instruction sets are enabled and - * selects the appropriate version at runtime. - * - * @param len Length of each vector in bytes. Must be >= 32. - * @param vlen Number of vector sources. - * @param gftbls Pointer to 32*vlen byte array of pre-calculated constants based - * on the array of input coefficients. - * @param src Array of pointers to source inputs. - * @param dest Pointer to destination data array. - * @returns none - */ - -void gf_vect_dot_prod(int len, int vlen, uint8_t *gftbls, - uint8_t **src, uint8_t *dest); - -/********************************************************************** - * The remaining are lib support functions used in GF(2^8) operations. - */ - -/** - * @brief Single element GF(2^8) multiply. - * - * @param a Multiplicand a - * @param b Multiplicand b - * @returns Product of a and b in GF(2^8) - */ - -uint8_t gf_mul(uint8_t a, uint8_t b); - -/** - * @brief Single element GF(2^8) inverse. - * - * @param a Input element - * @returns Field element b such that a x b = {1} - */ - -uint8_t gf_inv(uint8_t a); - -/** - * @brief Generate a matrix of coefficients to be used for encoding. - * - * Vandermonde matrix example of encoding coefficients where high portion of - * matrix is identity matrix I and lower portion is constructed as 2^{i*(j-k+1)} - * i:{0,k-1} j:{k,m-1}. Commonly used method for choosing coefficients in - * erasure encoding but does not guarantee invertable for every sub matrix. For - * large k it is possible to find cases where the decode matrix chosen from - * sources and parity not in erasure are not invertable. Users may want to - * adjust for k > 5. - * - * @param a [mxk] array to hold coefficients - * @param m number of rows in matrix corresponding to srcs + parity. - * @param k number of columns in matrix corresponding to srcs. - * @returns none - */ - -void gf_gen_rs_matrix(uint8_t *a, int m, int k); - -/** - * @brief Generate a Cauchy matrix of coefficients to be used for encoding. - * - * Cauchy matrix example of encoding coefficients where high portion of matrix - * is identity matrix I and lower portion is constructed as 1/(i + j) | i != j, - * i:{0,k-1} j:{k,m-1}. Any sub-matrix of a Cauchy matrix should be invertable. - * - * @param a [mxk] array to hold coefficients - * @param m number of rows in matrix corresponding to srcs + parity. - * @param k number of columns in matrix corresponding to srcs. - * @returns none - */ - -void gf_gen_cauchy1_matrix(uint8_t *a, int m, int k); - -/** - * @brief Invert a matrix in GF(2^8) - * - * @param in input matrix - * @param out output matrix such that [in] x [out] = [I] - identity matrix - * @param n size of matrix [nxn] - * @returns 0 successful, other fail on singular input matrix - */ - -int gf_invert_matrix(uint8_t *in, uint8_t *out, const int n); - -/*************************************************************/ - -#ifdef __cplusplus -} -#endif - -#endif //_ERASURE_CODE_H_ diff --git a/pkg/encoding/erasure/ec-common.h b/pkg/encoding/erasure/ec-common.h deleted file mode 100644 index 588274789..000000000 --- a/pkg/encoding/erasure/ec-common.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Minimalist Object Storage, (C) 2014 Minio, Inc. - * - * 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. - */ - -#ifndef __COMMON_H__ -#define __COMMON_H__ - -#include - -int32_t minio_init_encoder (int technique, int k, int m, - uint8_t **encode_matrix, - uint8_t **encode_tbls); - -int32_t minio_init_decoder (int32_t *error_index, - int k, int n, int errs, - uint8_t *encoding_matrix, - uint8_t **decode_matrix, - uint8_t **decode_tbls, - uint32_t **decode_index); - -int32_t minio_get_source_target (int errs, int k, int m, - int32_t *error_index, - uint32_t *decode_index, - uint8_t **buffs, - uint8_t ***source, - uint8_t ***target); -#endif /* __COMMON_H__ */ diff --git a/pkg/encoding/erasure/ec-ctypes.h b/pkg/encoding/erasure/ec-ctypes.h deleted file mode 100644 index ce1aec876..000000000 --- a/pkg/encoding/erasure/ec-ctypes.h +++ /dev/null @@ -1,80 +0,0 @@ -/********************************************************************** - Copyright(c) 2011-2014 Intel Corporation All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -**********************************************************************/ - - -/** - * @file types.h - * @brief Defines standard width types. - * - */ - -#ifndef __ERASURE_TYPES_H -#define __ERASURE_TYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#if !defined(__unix__) && !defined(__APPLE__) -#ifdef __MINGW32__ -# include <_mingw.h> -#endif -typedef unsigned __int64 UINT64; -typedef __int64 INT64; -typedef unsigned __int32 UINT32; -typedef unsigned __int16 UINT16; -typedef unsigned char UINT8; -#else -typedef unsigned long int UINT64; -typedef long int INT64; -typedef unsigned int UINT32; -typedef unsigned short int UINT16; -typedef unsigned char UINT8; -#endif - - -#if defined(__unix__) || defined(__APPLE__) -# define DECLARE_ALIGNED(decl, alignval) decl __attribute__((aligned(alignval))) -# define __forceinline static inline -#else -# define DECLARE_ALIGNED(decl, alignval) __declspec(align(alignval)) decl -# define posix_memalign(p, algn, len) (NULL == (*((char**)(p)) = (void*) _aligned_malloc(len, algn))) -#endif - -#ifdef DEBUG -# define DEBUG_PRINT(x) printf x -#else -# define DEBUG_PRINT(x) do {} while (0) -#endif - -#ifdef __cplusplus -} -#endif - -#endif //__ERASURE_TYPES_H diff --git a/pkg/encoding/erasure/ec-decode.c b/pkg/encoding/erasure/ec-decode.c deleted file mode 100644 index fdd178f7a..000000000 --- a/pkg/encoding/erasure/ec-decode.c +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Minimalist Object Storage, (C) 2014 Minio, Inc. - * - * 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. - */ - -#include -#include -#include - -#include "ec-code.h" -#include "ec-common.h" - -static -int32_t _minio_src_index_in_error (int r, int32_t *error_index) -{ - int i; - for (i = 0; error_index[i] != -1; i++) { - if (error_index[i] == r) { - // true - return 1; - } - } - // false - return 0; -} - -// Separate out source data and target buffers -int32_t minio_get_source_target (int errs, int k, int m, - int32_t *error_index, - uint32_t *decode_index, - uint8_t **buffs, - uint8_t ***source, - uint8_t ***target) -{ - int i; - uint8_t *tmp_source[k]; - uint8_t *tmp_target[m]; - - if (k < 0 || m < 0) { - return -1; - } - - memset (tmp_source, 0, k); - memset (tmp_target, 0, m); - - for (i = 0; i < k; i++) { - tmp_source[i] = (uint8_t *) buffs[decode_index[i]]; - } - - for (i = 0; i < m; i++) { - if (i < errs) - tmp_target[i] = (uint8_t *) buffs[error_index[i]]; - } - - *source = tmp_source; - *target = tmp_target; - - return 0; -} - -/* - Generate decode matrix during the decoding phase -*/ - -int minio_init_decoder (int32_t *error_index, - int k, int n, int errs, - uint8_t *encode_matrix, - uint8_t **decode_matrix, - uint8_t **decode_tbls, - uint32_t **decode_index) -{ - int i, j, r, s, l, z; - uint8_t input_matrix[k * n]; - uint8_t inverse_matrix[k * n]; - uint8_t tmp_decode_matrix[k * n]; - uint8_t tmp_decode_tbls[k * n * 32]; - uint32_t tmp_decode_index[k]; - - for (i = 0, r = 0; i < k; i++, r++) { - while (_minio_src_index_in_error(r, error_index)) - r++; - for (j = 0; j < k; j++) { - input_matrix[k * i + j] = encode_matrix[k * r + j]; - } - tmp_decode_index[i] = r; - } - - // Not all vandermonde matrix can be inverted - if (gf_invert_matrix(input_matrix, inverse_matrix, k) < 0) { - return -1; - } - - for (l = 0; l < errs; l++) { - if (error_index[l] < k) { - // decoding matrix elements for data chunks - for (j = 0; j < k; j++) { - tmp_decode_matrix[k * l + j] = - inverse_matrix[k * - error_index[l] + j]; - } - } else { - int s = 0; - // decoding matrix element for coding chunks - for (i = 0; i < k; i++) { - s = 0; - for (j = 0; j < k; j++) { - s ^= gf_mul(inverse_matrix[j * k + i], - encode_matrix[k * - error_index[l] + j]); - } - tmp_decode_matrix[k * l + i] = s; - } - } - } - - ec_init_tables (k, errs, tmp_decode_matrix, tmp_decode_tbls); - - *decode_matrix = tmp_decode_matrix; - *decode_tbls = tmp_decode_tbls; - *decode_index = tmp_decode_index; - - return 0; -} diff --git a/pkg/encoding/erasure/ec-encode.c b/pkg/encoding/erasure/ec-encode.c deleted file mode 100644 index 797f4a990..000000000 --- a/pkg/encoding/erasure/ec-encode.c +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Minimalist Object Storage, (C) 2014 Minio, Inc. - * - * 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. - */ - -#include -#include - -#include "ec-code.h" -#include "ec-common.h" - -/* - Generate encode matrix during the encoding phase -*/ - -int32_t minio_init_encoder (int technique, int k, int m, - uint8_t **encode_matrix, - uint8_t **encode_tbls) -{ - size_t encode_matrix_size; - size_t encode_tbls_size; - uint8_t *tmp_matrix; - uint8_t *tmp_tbls; - - tmp_matrix = (uint8_t *) malloc (k * (k + m)); - tmp_tbls = (uint8_t *) malloc (k * (k + m) * 32); - - if (technique == 0) { - /* - Commonly used method for choosing coefficients in erasure - encoding but does not guarantee invertable for every sub - matrix. For large k it is possible to find cases where the - decode matrix chosen from sources and parity not in erasure - are not invertable. Users may want to adjust for k > 5. - -- Intel - */ - gf_gen_rs_matrix (tmp_matrix, k + m, k); - } else if (technique == 1) { - gf_gen_cauchy1_matrix (tmp_matrix, k + m, k); - } - - ec_init_tables(k, m, &tmp_matrix[k * k], tmp_tbls); - - *encode_matrix = tmp_matrix; - *encode_tbls = tmp_tbls; - - return 0; -} diff --git a/pkg/encoding/erasure/ec-highlevel-func.c b/pkg/encoding/erasure/ec-highlevel-func.c deleted file mode 100644 index ea3c20dc6..000000000 --- a/pkg/encoding/erasure/ec-highlevel-func.c +++ /dev/null @@ -1,153 +0,0 @@ -/********************************************************************** - Copyright(c) 2011-2014 Intel Corporation All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -**********************************************************************/ -#include -#include -#include "ec-code.h" -#include "ec-ctypes.h" - -void ec_init_tables(int k, int rows, uint8_t *a, uint8_t *g_tbls) -{ - int i, j; - - for (i = 0; i < rows; i++) { - for (j = 0; j < k; j++) { - gf_vect_mul_init(*a++, g_tbls); - g_tbls += 32; - } - } -} - -#if __WORDSIZE == 64 || _WIN64 || __x86_64__ -void ec_encode_data_sse(int len, int k, int rows, uint8_t *g_tbls, uint8_t **data, - uint8_t **coding) -{ - - if (len < 16) { - ec_encode_data_base(len, k, rows, g_tbls, data, coding); - return; - } - - while (rows >= 4) { - gf_4vect_dot_prod_sse(len, k, g_tbls, data, coding); - g_tbls += 4 * k * 32; - coding += 4; - rows -= 4; - } - switch (rows) { - case 3: - gf_3vect_dot_prod_sse(len, k, g_tbls, data, coding); - break; - case 2: - gf_2vect_dot_prod_sse(len, k, g_tbls, data, coding); - break; - case 1: - gf_vect_dot_prod_sse(len, k, g_tbls, data, *coding); - break; - case 0: - break; - } - -} - -void ec_encode_data_avx(int len, int k, int rows, uint8_t *g_tbls, uint8_t **data, - uint8_t **coding) -{ - - if (len < 16) { - ec_encode_data_base(len, k, rows, g_tbls, data, coding); - return; - } - - while (rows >= 4) { - gf_4vect_dot_prod_avx(len, k, g_tbls, data, coding); - g_tbls += 4 * k * 32; - coding += 4; - rows -= 4; - } - switch (rows) { - case 3: - gf_3vect_dot_prod_avx(len, k, g_tbls, data, coding); - break; - case 2: - gf_2vect_dot_prod_avx(len, k, g_tbls, data, coding); - break; - case 1: - gf_vect_dot_prod_avx(len, k, g_tbls, data, *coding); - break; - case 0: - break; - } - -} - -void ec_encode_data_avx2(int len, int k, int rows, uint8_t *g_tbls, uint8_t **data, - uint8_t **coding) -{ - - if (len < 32) { - ec_encode_data_base(len, k, rows, g_tbls, data, coding); - return; - } - - while (rows >= 4) { - gf_4vect_dot_prod_avx2(len, k, g_tbls, data, coding); - g_tbls += 4 * k * 32; - coding += 4; - rows -= 4; - } - switch (rows) { - case 3: - gf_3vect_dot_prod_avx2(len, k, g_tbls, data, coding); - break; - case 2: - gf_2vect_dot_prod_avx2(len, k, g_tbls, data, coding); - break; - case 1: - gf_vect_dot_prod_avx2(len, k, g_tbls, data, *coding); - break; - case 0: - break; - } - -} - -#endif //__WORDSIZE == 64 || _WIN64 || __x86_64__ - -struct slver { - UINT16 snum; - UINT8 ver; - UINT8 core; -}; - -// Version info -struct slver ec_init_tables_slver_00010068; -struct slver ec_init_tables_slver = { 0x0068, 0x01, 0x00 }; - -struct slver ec_encode_data_sse_slver_00020069; -struct slver ec_encode_data_sse_slver = { 0x0069, 0x02, 0x00 }; diff --git a/pkg/encoding/erasure/ec-multibinary.asm b/pkg/encoding/erasure/ec-multibinary.asm deleted file mode 100644 index e37b8f50f..000000000 --- a/pkg/encoding/erasure/ec-multibinary.asm +++ /dev/null @@ -1,302 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -%ifidn __OUTPUT_FORMAT__, elf64 -%define WRT_OPT wrt ..plt -%else -%define WRT_OPT -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 -%define EC_ENCODE_DATA_SSE _ec_encode_data_sse -%define EC_ENCODE_DATA_AVX _ec_encode_data_avx -%define EC_ENCODE_DATA_AVX2 _ec_encode_data_avx2 -%define GF_VECT_MUL_SSE _gf_vect_mul_sse -%define GF_VECT_MUL_AVX _gf_vect_mul_avx -%define GF_VECT_DOT_PROD_SSE _gf_vect_dot_prod_sse -%define GF_VECT_DOT_PROD_AVX _gf_vect_dot_prod_avx -%define GF_VECT_DOT_PROD_AVX2 _gf_vect_dot_prod_avx2 -%define GF_VECT_MUL_BASE _gf_vect_mul_base -%define EC_ENCODE_DATA_BASE _ec_encode_data_base -%define GF_VECT_DOT_PROD_BASE _gf_vect_dot_prod_base - -%define EC_ENCODE_DATA _ec_encode_data -%define GF_VECT_MUL _gf_vect_mul -%define GF_VECT_DOT_PROD _gf_vect_dot_prod - -%else -%define EC_ENCODE_DATA_SSE ec_encode_data_sse -%define EC_ENCODE_DATA_AVX ec_encode_data_avx -%define EC_ENCODE_DATA_AVX2 ec_encode_data_avx2 -%define GF_VECT_MUL_SSE gf_vect_mul_sse -%define GF_VECT_MUL_AVX gf_vect_mul_avx -%define GF_VECT_DOT_PROD_SSE gf_vect_dot_prod_sse -%define GF_VECT_DOT_PROD_AVX gf_vect_dot_prod_avx -%define GF_VECT_DOT_PROD_AVX2 gf_vect_dot_prod_avx2 -%define GF_VECT_MUL_BASE gf_vect_mul_base -%define EC_ENCODE_DATA_BASE ec_encode_data_base -%define GF_VECT_DOT_PROD_BASE gf_vect_dot_prod_base - -%define EC_ENCODE_DATA ec_encode_data -%define GF_VECT_MUL gf_vect_mul -%define GF_VECT_DOT_PROD gf_vect_dot_prod - -%endif - -%ifidn __OUTPUT_FORMAT__, elf32 - -[bits 32] - -%define def_wrd dd -%define wrd_sz dword -%define arg1 esi - -%else - -%include "ec-reg-sizes.asm" -default rel -[bits 64] - -%define def_wrd dq -%define wrd_sz qword -%define arg1 rsi - -extern EC_ENCODE_DATA_SSE -extern EC_ENCODE_DATA_AVX -extern EC_ENCODE_DATA_AVX2 -extern GF_VECT_MUL_SSE -extern GF_VECT_MUL_AVX -extern GF_VECT_DOT_PROD_SSE -extern GF_VECT_DOT_PROD_AVX -extern GF_VECT_DOT_PROD_AVX2 -%endif - -extern GF_VECT_MUL_BASE -extern EC_ENCODE_DATA_BASE -extern GF_VECT_DOT_PROD_BASE - -section .data -;;; *_mbinit are initial values for *_dispatched; is updated on first call. -;;; Therefore, *_dispatch_init is only executed on first call. - -ec_encode_data_dispatched: - def_wrd ec_encode_data_mbinit - -gf_vect_mul_dispatched: - def_wrd gf_vect_mul_mbinit - -gf_vect_dot_prod_dispatched: - def_wrd gf_vect_dot_prod_mbinit - -section .text -;;;; -; ec_encode_data multibinary function -;;;; -global EC_ENCODE_DATA:function -ec_encode_data_mbinit: - call ec_encode_data_dispatch_init - -EC_ENCODE_DATA: - jmp wrd_sz [ec_encode_data_dispatched] - -ec_encode_data_dispatch_init: - push arg1 -%ifidn __OUTPUT_FORMAT__, elf32 ;; 32-bit check - lea arg1, [EC_ENCODE_DATA_BASE] -%else - push rax - push rbx - push rcx - push rdx - lea arg1, [EC_ENCODE_DATA_BASE WRT_OPT] ; Default - - mov eax, 1 - cpuid - lea rbx, [EC_ENCODE_DATA_BASE WRT_OPT] - test ecx, FLAG_CPUID1_ECX_SSE4_1 - cmovne arg1, rbx - - and ecx, (FLAG_CPUID1_ECX_AVX | FLAG_CPUID1_ECX_OSXSAVE) - cmp ecx, (FLAG_CPUID1_ECX_AVX | FLAG_CPUID1_ECX_OSXSAVE) - lea rbx, [EC_ENCODE_DATA_AVX WRT_OPT] - - jne _done_ec_encode_data_init - mov rsi, rbx - - ;; Try for AVX2 - xor ecx, ecx - mov eax, 7 - cpuid - test ebx, FLAG_CPUID1_EBX_AVX2 - lea rbx, [EC_ENCODE_DATA_AVX2 WRT_OPT] - cmovne rsi, rbx - - ;; Does it have xmm and ymm support - xor ecx, ecx - xgetbv - and eax, FLAG_XGETBV_EAX_XMM_YMM - cmp eax, FLAG_XGETBV_EAX_XMM_YMM - je _done_ec_encode_data_init - lea rsi, [EC_ENCODE_DATA_SSE WRT_OPT] - -_done_ec_encode_data_init: - pop rdx - pop rcx - pop rbx - pop rax -%endif ;; END 32-bit check - mov [ec_encode_data_dispatched], arg1 - pop arg1 - ret - -;;;; -; gf_vect_mul multibinary function -;;;; -global GF_VECT_MUL:function -gf_vect_mul_mbinit: - call gf_vect_mul_dispatch_init - -GF_VECT_MUL: - jmp wrd_sz [gf_vect_mul_dispatched] - -gf_vect_mul_dispatch_init: - push arg1 -%ifidn __OUTPUT_FORMAT__, elf32 ;; 32-bit check - lea arg1, [GF_VECT_MUL_BASE] -%else - push rax - push rbx - push rcx - push rdx - lea arg1, [GF_VECT_MUL_BASE WRT_OPT] ; Default - - mov eax, 1 - cpuid - test ecx, FLAG_CPUID1_ECX_SSE4_2 - lea rbx, [GF_VECT_MUL_SSE WRT_OPT] - je _done_gf_vect_mul_dispatch_init - mov arg1, rbx - - ;; Try for AVX - and ecx, (FLAG_CPUID1_ECX_OSXSAVE | FLAG_CPUID1_ECX_AVX) - cmp ecx, (FLAG_CPUID1_ECX_OSXSAVE | FLAG_CPUID1_ECX_AVX) - jne _done_gf_vect_mul_dispatch_init - - ;; Does it have xmm and ymm support - xor ecx, ecx - xgetbv - and eax, FLAG_XGETBV_EAX_XMM_YMM - cmp eax, FLAG_XGETBV_EAX_XMM_YMM - jne _done_gf_vect_mul_dispatch_init - lea arg1, [GF_VECT_MUL_AVX WRT_OPT] - -_done_gf_vect_mul_dispatch_init: - pop rdx - pop rcx - pop rbx - pop rax -%endif ;; END 32-bit check - mov [gf_vect_mul_dispatched], arg1 - pop arg1 - ret - - -;;;; -; gf_vect_dot_prod multibinary function -;;;; -global GF_VECT_DOT_PROD:function -gf_vect_dot_prod_mbinit: - call gf_vect_dot_prod_dispatch_init - -GF_VECT_DOT_PROD: - jmp wrd_sz [gf_vect_dot_prod_dispatched] - -gf_vect_dot_prod_dispatch_init: - push arg1 -%ifidn __OUTPUT_FORMAT__, elf32 ;; 32-bit check - lea arg1, [GF_VECT_DOT_PROD_BASE] -%else - push rax - push rbx - push rcx - push rdx - lea arg1, [GF_VECT_DOT_PROD_BASE WRT_OPT] ; Default - - mov eax, 1 - cpuid - lea rbx, [GF_VECT_DOT_PROD_SSE WRT_OPT] - test ecx, FLAG_CPUID1_ECX_SSE4_1 - cmovne arg1, rbx - - and ecx, (FLAG_CPUID1_ECX_AVX | FLAG_CPUID1_ECX_OSXSAVE) - cmp ecx, (FLAG_CPUID1_ECX_AVX | FLAG_CPUID1_ECX_OSXSAVE) - lea rbx, [GF_VECT_DOT_PROD_AVX WRT_OPT] - - jne _done_gf_vect_dot_prod_init - mov rsi, rbx - - ;; Try for AVX2 - xor ecx, ecx - mov eax, 7 - cpuid - test ebx, FLAG_CPUID1_EBX_AVX2 - lea rbx, [GF_VECT_DOT_PROD_AVX2 WRT_OPT] - cmovne rsi, rbx - - ;; Does it have xmm and ymm support - xor ecx, ecx - xgetbv - and eax, FLAG_XGETBV_EAX_XMM_YMM - cmp eax, FLAG_XGETBV_EAX_XMM_YMM - je _done_gf_vect_dot_prod_init - lea rsi, [GF_VECT_DOT_PROD_SSE WRT_OPT] - -_done_gf_vect_dot_prod_init: - pop rdx - pop rcx - pop rbx - pop rax -%endif ;; END 32-bit check - mov [gf_vect_dot_prod_dispatched], arg1 - pop arg1 - ret - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro - -;;; func core, ver, snum -slversion EC_ENCODE_DATA, 00, 02, 0133 -slversion GF_VECT_MUL, 00, 02, 0134 -slversion GF_VECT_DOT_PROD, 00, 01, 0138 diff --git a/pkg/encoding/erasure/ec-reg-sizes.asm b/pkg/encoding/erasure/ec-reg-sizes.asm deleted file mode 100644 index 0d72d42b3..000000000 --- a/pkg/encoding/erasure/ec-reg-sizes.asm +++ /dev/null @@ -1,96 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -%define EFLAGS_HAS_CPUID (1<<21) -%define FLAG_CPUID1_ECX_CLMUL (1<<1) -%define FLAG_CPUID1_EDX_SSE2 (1<<26) -%define FLAG_CPUID1_ECX_SSE3 (1) -%define FLAG_CPUID1_ECX_SSE4_1 (1<<19) -%define FLAG_CPUID1_ECX_SSE4_2 (1<<20) -%define FLAG_CPUID1_ECX_POPCNT (1<<23) -%define FLAG_CPUID1_ECX_AESNI (1<<25) -%define FLAG_CPUID1_ECX_OSXSAVE (1<<27) -%define FLAG_CPUID1_ECX_AVX (1<<28) -%define FLAG_CPUID1_EBX_AVX2 (1<<5) -%define FLAG_XGETBV_EAX_XMM_YMM 0x6 - -%define FLAG_CPUID1_EAX_AVOTON 0x000406d0 - -; define d and w variants for registers - -%define raxd eax -%define raxw ax -%define raxb al - -%define rbxd ebx -%define rbxw bx -%define rbxb bl - -%define rcxd ecx -%define rcxw cx -%define rcxb cl - -%define rdxd edx -%define rdxw dx -%define rdxb dl - -%define rsid esi -%define rsiw si -%define rsib sil - -%define rdid edi -%define rdiw di -%define rdib dil - -%define rbpd ebp -%define rbpw bp -%define rbpb bpl - -%define ymm0x xmm0 -%define ymm1x xmm1 -%define ymm2x xmm2 -%define ymm3x xmm3 -%define ymm4x xmm4 -%define ymm5x xmm5 -%define ymm6x xmm6 -%define ymm7x xmm7 -%define ymm8x xmm8 -%define ymm9x xmm9 -%define ymm10x xmm10 -%define ymm11x xmm11 -%define ymm12x xmm12 -%define ymm13x xmm13 -%define ymm14x xmm14 -%define ymm15x xmm15 - -%define DWORD(reg) reg %+ d -%define WORD(reg) reg %+ w -%define BYTE(reg) reg %+ b - -%define XWORD(reg) reg %+ x diff --git a/pkg/encoding/erasure/ec-vect-mul.h b/pkg/encoding/erasure/ec-vect-mul.h deleted file mode 100644 index 599f8db7f..000000000 --- a/pkg/encoding/erasure/ec-vect-mul.h +++ /dev/null @@ -1,148 +0,0 @@ -/********************************************************************** - Copyright(c) 2011-2014 Intel Corporation All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -**********************************************************************/ - - -#ifndef _GF_VECT_MUL_H -#define _GF_VECT_MUL_H - -/** - * @file gf-vect-mul.h - * @brief Interface to functions for vector (block) multiplication in GF(2^8). - * - * This file defines the interface to routines used in fast RAID rebuild and - * erasure codes. - */ - -#ifdef __cplusplus -extern "C" { -#endif - - /** - * @brief GF(2^8) vector multiply by constant. - * - * Does a GF(2^8) vector multiply b = Ca where a and b are arrays and C - * is a single field element in GF(2^8). Can be used for RAID6 rebuild - * and partial write functions. Function requires pre-calculation of a - * 32-element constant array based on constant C. gftbl(C) = {C{00}, - * C{01}, C{02}, ... , C{0f} }, {C{00}, C{10}, C{20}, ... , C{f0} }. Len - * and src must be aligned to 32B. - - * @requires SSE4.1 - * @param len Length of vector in bytes. Must be aligned to 32B. - * @param gftbl Pointer to 32-byte array of pre-calculated constants based on C. - * @param src Pointer to src data array. Must be aligned to 32B. - * @param dest Pointer to destination data array. Must be aligned to 32B. - * @returns 0 pass, other fail - */ - -int gf_vect_mul_sse(int len, unsigned char *gftbl, void *src, void *dest); - - - /** - * @brief GF(2^8) vector multiply by constant. - * - * Does a GF(2^8) vector multiply b = Ca where a and b are arrays and C - * is a single field element in GF(2^8). Can be used for RAID6 rebuild - * and partial write functions. Function requires pre-calculation of a - * 32-element constant array based on constant C. gftbl(C) = {C{00}, - * C{01}, C{02}, ... , C{0f} }, {C{00}, C{10}, C{20}, ... , C{f0} }. Len - * and src must be aligned to 32B. - - * @requires AVX - * @param len Length of vector in bytes. Must be aligned to 32B. - * @param gftbl Pointer to 32-byte array of pre-calculated constants based on C. - * @param src Pointer to src data array. Must be aligned to 32B. - * @param dest Pointer to destination data array. Must be aligned to 32B. - * @returns 0 pass, other fail - */ - -int gf_vect_mul_avx(int len, unsigned char *gftbl, void *src, void *dest); - - -/** - * @brief GF(2^8) vector multiply by constant, runs appropriate version. - * - * Does a GF(2^8) vector multiply b = Ca where a and b are arrays and C - * is a single field element in GF(2^8). Can be used for RAID6 rebuild - * and partial write functions. Function requires pre-calculation of a - * 32-element constant array based on constant C. gftbl(C) = {C{00}, - * C{01}, C{02}, ... , C{0f} }, {C{00}, C{10}, C{20}, ... , C{f0} }. - * Len and src must be aligned to 32B. - * - * This function determines what instruction sets are enabled - * and selects the appropriate version at runtime. - * - * @param len Length of vector in bytes. Must be aligned to 32B. - * @param gftbl Pointer to 32-byte array of pre-calculated constants based on C. - * @param src Pointer to src data array. Must be aligned to 32B. - * @param dest Pointer to destination data array. Must be aligned to 32B. - * @returns 0 pass, other fail - */ - -int gf_vect_mul(int len, unsigned char *gftbl, void *src, void *dest); - - -/** - * @brief Initialize 32-byte constant array for GF(2^8) vector multiply - * - * Calculates array {C{00}, C{01}, C{02}, ... , C{0f} }, {C{00}, C{10}, - * C{20}, ... , C{f0} } as required by other fast vector multiply - * functions. - * @param c Constant input. - * @param gftbl Table output. - */ - -void gf_vect_mul_init(unsigned char c, unsigned char* gftbl); - - -/** - * @brief GF(2^8) vector multiply by constant, runs baseline version. - * - * Does a GF(2^8) vector multiply b = Ca where a and b are arrays and C - * is a single field element in GF(2^8). Can be used for RAID6 rebuild - * and partial write functions. Function requires pre-calculation of a - * 32-element constant array based on constant C. gftbl(C) = {C{00}, - * C{01}, C{02}, ... , C{0f} }, {C{00}, C{10}, C{20}, ... , C{f0} }. Len - * and src must be aligned to 32B. - * - * @param len Length of vector in bytes. Must be aligned to 32B. - * @param a Pointer to 32-byte array of pre-calculated constants based on C. - * only use 2nd element is used. - * @param src Pointer to src data array. Must be aligned to 32B. - * @param dest Pointer to destination data array. Must be aligned to 32B. - */ - -void gf_vect_mul_base(int len, unsigned char *a, unsigned char *src, - unsigned char *dest); - -#ifdef __cplusplus -} -#endif - -#endif //_GF_VECT_MUL_H diff --git a/pkg/encoding/erasure/erasure_decode.go b/pkg/encoding/erasure/erasure_decode.go deleted file mode 100644 index fa130a1de..000000000 --- a/pkg/encoding/erasure/erasure_decode.go +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Minimalist Object Storage, (C) 2014 Minio, Inc. - * - * 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. - */ - -package erasure - -// #cgo CFLAGS: -O0 -// #include -// #include "ec-code.h" -// #include "ec-common.h" -import "C" -import ( - "errors" - "fmt" - "unsafe" -) - -// Decode decodes erasure coded blocks of data into its original -// form. Erasure coded data contains K data blocks and M parity -// blocks. Decode can withstand data loss up to any M number of blocks. -// -// "encodedDataBlocks" is an array of K data blocks and M parity -// blocks. Data blocks are position and order dependent. Missing blocks -// are set to "nil". There must be at least "K" number of data|parity -// blocks. -// "dataLen" is the length of original source data -func (e *Erasure) Decode(encodedDataBlocks [][]byte, dataLen int) (decodedData []byte, err error) { - var source, target **C.uint8_t - - k := int(e.params.K) - m := int(e.params.M) - n := k + m - // We need the data and parity blocks preserved in the same order. Missing blocks are set to nil. - if len(encodedDataBlocks) != n { - msg := fmt.Sprintf("Encoded data blocks slice must of length [%d]", n) - return nil, errors.New(msg) - } - - // Length of a single encoded block - encodedBlockLen := GetEncodedBlockLen(dataLen, uint8(k)) - - // Keep track of errors per block. - missingEncodedBlocks := make([]int, n+1) - var missingEncodedBlocksCount int - - // Check for the missing encoded blocks - for i := range encodedDataBlocks { - if encodedDataBlocks[i] == nil || len(encodedDataBlocks[i]) == 0 { - missingEncodedBlocks[missingEncodedBlocksCount] = i - missingEncodedBlocksCount++ - } - } - missingEncodedBlocks[missingEncodedBlocksCount] = -1 - missingEncodedBlocksCount++ - - // Cannot reconstruct original data. Need at least M number of data or parity blocks. - if missingEncodedBlocksCount-1 > m { - return nil, fmt.Errorf("Cannot reconstruct original data. Need at least [%d] data or parity blocks", m) - } - - // Convert from Go int slice to C int array - missingEncodedBlocksC := intSlice2CIntArray(missingEncodedBlocks[:missingEncodedBlocksCount]) - - // Allocate buffer for the missing blocks - for i := range encodedDataBlocks { - if encodedDataBlocks[i] == nil || len(encodedDataBlocks[i]) == 0 { - encodedDataBlocks[i] = make([]byte, encodedBlockLen) - } - } - - // If not already initialized, recompute and cache - if e.decodeMatrix == nil || e.decodeTbls == nil || e.decodeIndex == nil { - var decodeMatrix, decodeTbls *C.uint8_t - var decodeIndex *C.uint32_t - - C.minio_init_decoder(missingEncodedBlocksC, C.int(k), C.int(n), C.int(missingEncodedBlocksCount-1), - e.encodeMatrix, &decodeMatrix, &decodeTbls, &decodeIndex) - - // cache this for future needs - e.decodeMatrix = decodeMatrix - e.decodeTbls = decodeTbls - e.decodeIndex = decodeIndex - } - - // Make a slice of pointers to encoded blocks. Necessary to bridge to the C world. - pointers := make([]*byte, n) - for i := range encodedDataBlocks { - pointers[i] = &encodedDataBlocks[i][0] - } - - // Get pointers to source "data" and target "parity" blocks from the output byte array. - ret := C.minio_get_source_target(C.int(missingEncodedBlocksCount-1), C.int(k), C.int(m), missingEncodedBlocksC, - e.decodeIndex, (**C.uint8_t)(unsafe.Pointer(&pointers[0])), &source, &target) - if int(ret) == -1 { - return nil, errors.New("Unable to decode data") - } - - // Decode data - C.ec_encode_data(C.int(encodedBlockLen), C.int(k), C.int(missingEncodedBlocksCount-1), e.decodeTbls, - source, target) - - // Allocate buffer to output buffer - decodedData = make([]byte, 0, encodedBlockLen*int(k)) - for i := 0; i < int(k); i++ { - decodedData = append(decodedData, encodedDataBlocks[i]...) - } - - return decodedData[:dataLen], nil -} diff --git a/pkg/encoding/erasure/erasure_encode.go b/pkg/encoding/erasure/erasure_encode.go deleted file mode 100644 index e2f1d81a1..000000000 --- a/pkg/encoding/erasure/erasure_encode.go +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Minimalist Object Storage, (C) 2014 Minio, Inc. - * - * 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. - */ - -package erasure - -// #cgo CFLAGS: -O0 -// #include -// #include "ec-code.h" -// #include "ec-common.h" -import "C" -import ( - "errors" - "unsafe" -) - -// Technique - type of matrix type used in encoding -type Technique uint8 - -// Different types of supported matrix types -const ( - Vandermonde Technique = iota - Cauchy - None -) - -// Default Data and Parity blocks -const ( - K = 10 - M = 3 -) - -// Block alignment -const ( - SIMDAlign = 32 -) - -// ErasureParams is a configuration set for building an encoder. It is created using ValidateParams(). -type ErasureParams struct { - K uint8 - M uint8 - Technique Technique // cauchy or vandermonde matrix (RS) -} - -// Erasure is an object used to encode and decode data. -type Erasure struct { - params *ErasureParams - encodeMatrix, encodeTbls *C.uint8_t - decodeMatrix, decodeTbls *C.uint8_t - decodeIndex *C.uint32_t -} - -// ValidateParams creates an ErasureParams object. -// -// k and m represent the matrix size, which corresponds to the protection level -// technique is the matrix type. Valid inputs are Cauchy (recommended) or Vandermonde. -// -func ValidateParams(k, m uint8, technique Technique) (*ErasureParams, error) { - if k < 1 { - return nil, errors.New("k cannot be zero") - } - - if m < 1 { - return nil, errors.New("m cannot be zero") - } - - if k+m > 255 { - return nil, errors.New("(k + m) cannot be bigger than Galois field GF(2^8) - 1") - } - - switch technique { - case Vandermonde: - break - case Cauchy: - break - default: - return nil, errors.New("Technique can be either vandermonde or cauchy") - } - - return &ErasureParams{ - K: k, - M: m, - Technique: technique, - }, nil -} - -// NewErasure creates an encoder object with a given set of parameters. -func NewErasure(ep *ErasureParams) *Erasure { - var k = C.int(ep.K) - var m = C.int(ep.M) - - var encodeMatrix *C.uint8_t - var encodeTbls *C.uint8_t - - C.minio_init_encoder(C.int(ep.Technique), k, m, &encodeMatrix, - &encodeTbls) - - return &Erasure{ - params: ep, - encodeMatrix: encodeMatrix, - encodeTbls: encodeTbls, - decodeMatrix: nil, - decodeTbls: nil, - decodeIndex: nil, - } -} - -// GetEncodedBlocksLen - total length of all encoded blocks -func GetEncodedBlocksLen(inputLen int, k, m uint8) (outputLen int) { - outputLen = GetEncodedBlockLen(inputLen, k) * int(k+m) - return outputLen -} - -// GetEncodedBlockLen - length per block of encoded blocks -func GetEncodedBlockLen(inputLen int, k uint8) (encodedOutputLen int) { - alignment := int(k) * SIMDAlign - remainder := inputLen % alignment - - paddedInputLen := inputLen - if remainder != 0 { - paddedInputLen = inputLen + (alignment - remainder) - } - encodedOutputLen = paddedInputLen / int(k) - return encodedOutputLen -} - -// Encode erasure codes a block of data in "k" data blocks and "m" parity blocks. -// Output is [k+m][]blocks of data and parity slices. -func (e *Erasure) Encode(inputData []byte) (encodedBlocks [][]byte, err error) { - k := int(e.params.K) // "k" data blocks - m := int(e.params.M) // "m" parity blocks - n := k + m // "n" total encoded blocks - - // Length of a single encoded chunk. - // Total number of encoded chunks = "k" data + "m" parity blocks - encodedBlockLen := GetEncodedBlockLen(len(inputData), uint8(k)) - - // Length of total number of "k" data chunks - encodedDataBlocksLen := encodedBlockLen * k - - // Length of extra padding required for the data blocks. - encodedDataBlocksPadLen := encodedDataBlocksLen - len(inputData) - - // Extend inputData buffer to accommodate coded data blocks if necesssary - if encodedDataBlocksPadLen > 0 { - padding := make([]byte, encodedDataBlocksPadLen) - // Expand with new padded blocks to the byte array - inputData = append(inputData, padding...) - } - - // Extend inputData buffer to accommodate coded parity blocks - { // Local Scope - encodedParityBlocksLen := encodedBlockLen * m - parityBlocks := make([]byte, encodedParityBlocksLen) - inputData = append(inputData, parityBlocks...) - } - - // Allocate memory to the "encoded blocks" return buffer - encodedBlocks = make([][]byte, n) // Return buffer - - // Nessary to bridge Go to the C world. C requires 2D arry of pointers to - // byte array. "encodedBlocks" is a 2D slice. - pointersToEncodedBlock := make([]*byte, n) // Pointers to encoded blocks. - - // Copy data block slices to encoded block buffer - for i := 0; i < k; i++ { - encodedBlocks[i] = inputData[i*encodedBlockLen : (i+1)*encodedBlockLen] - pointersToEncodedBlock[i] = &encodedBlocks[i][0] - } - - // Copy erasure block slices to encoded block buffer - for i := k; i < n; i++ { - encodedBlocks[i] = make([]byte, encodedBlockLen) - pointersToEncodedBlock[i] = &encodedBlocks[i][0] - } - - // Erasure code the data into K data blocks and M parity - // blocks. Only the parity blocks are filled. Data blocks remain - // intact. - C.ec_encode_data(C.int(encodedBlockLen), C.int(k), C.int(m), e.encodeTbls, - (**C.uint8_t)(unsafe.Pointer(&pointersToEncodedBlock[:k][0])), // Pointers to data blocks - (**C.uint8_t)(unsafe.Pointer(&pointersToEncodedBlock[k:][0]))) // Pointers to parity blocks - - return encodedBlocks, nil -} diff --git a/pkg/encoding/erasure/erasure_yasm_darwin.go b/pkg/encoding/erasure/erasure_yasm_darwin.go deleted file mode 100644 index 8187531f5..000000000 --- a/pkg/encoding/erasure/erasure_yasm_darwin.go +++ /dev/null @@ -1,25 +0,0 @@ -// !build amd64 - -package erasure - -//go:generate yasm -f macho64 ec-multibinary.asm -o ec-multibinary.syso -//go:generate yasm -f macho64 gf-2vect-dot-prod-avx2.asm -o gf-2vect-dot-prod-avx2.syso -//go:generate yasm -f macho64 gf-2vect-dot-prod-avx.asm -o gf-2vect-dot-prod-avx.syso -//go:generate yasm -f macho64 gf-2vect-dot-prod-sse.asm -o gf-2vect-dot-prod-sse.syso -//go:generate yasm -f macho64 gf-3vect-dot-prod-avx2.asm -o gf-3vect-dot-prod-avx2.syso -//go:generate yasm -f macho64 gf-3vect-dot-prod-avx.asm -o gf-3vect-dot-prod-avx.syso -//go:generate yasm -f macho64 gf-3vect-dot-prod-sse.asm -o gf-3vect-dot-prod-sse.syso -//go:generate yasm -f macho64 gf-4vect-dot-prod-avx2.asm -o gf-4vect-dot-prod-avx2.syso -//go:generate yasm -f macho64 gf-4vect-dot-prod-avx.asm -o gf-4vect-dot-prod-avx.syso -//go:generate yasm -f macho64 gf-4vect-dot-prod-sse.asm -o gf-4vect-dot-prod-sse.syso -//go:generate yasm -f macho64 gf-5vect-dot-prod-avx2.asm -o gf-5vect-dot-prod-avx2.syso -//go:generate yasm -f macho64 gf-5vect-dot-prod-avx.asm -o gf-5vect-dot-prod-avx.syso -//go:generate yasm -f macho64 gf-5vect-dot-prod-sse.asm -o gf-5vect-dot-prod-sse.syso -//go:generate yasm -f macho64 gf-6vect-dot-prod-avx2.asm -o gf-6vect-dot-prod-avx2.syso -//go:generate yasm -f macho64 gf-6vect-dot-prod-avx.asm -o gf-6vect-dot-prod-avx.syso -//go:generate yasm -f macho64 gf-6vect-dot-prod-sse.asm -o gf-6vect-dot-prod-sse.syso -//go:generate yasm -f macho64 gf-vect-dot-prod-avx2.asm -o gf-vect-dot-prod-avx2.syso -//go:generate yasm -f macho64 gf-vect-dot-prod-avx.asm -o gf-vect-dot-prod-avx.syso -//go:generate yasm -f macho64 gf-vect-dot-prod-sse.asm -o gf-vect-dot-prod-sse.syso -//go:generate yasm -f macho64 gf-vect-mul-avx.asm -o gf-vect-mul-avx.syso -//go:generate yasm -f macho64 gf-vect-mul-sse.asm -o gf-vect-mul-sse.syso diff --git a/pkg/encoding/erasure/erasure_yasm_linux.go b/pkg/encoding/erasure/erasure_yasm_linux.go deleted file mode 100644 index b6955a0ab..000000000 --- a/pkg/encoding/erasure/erasure_yasm_linux.go +++ /dev/null @@ -1,25 +0,0 @@ -// !build amd64 - -package erasure - -//go:generate yasm -f elf64 ec-multibinary.asm -o ec-multibinary.syso -//go:generate yasm -f elf64 gf-2vect-dot-prod-avx2.asm -o gf-2vect-dot-prod-avx2.syso -//go:generate yasm -f elf64 gf-2vect-dot-prod-avx.asm -o gf-2vect-dot-prod-avx.syso -//go:generate yasm -f elf64 gf-2vect-dot-prod-sse.asm -o gf-2vect-dot-prod-sse.syso -//go:generate yasm -f elf64 gf-3vect-dot-prod-avx2.asm -o gf-3vect-dot-prod-avx2.syso -//go:generate yasm -f elf64 gf-3vect-dot-prod-avx.asm -o gf-3vect-dot-prod-avx.syso -//go:generate yasm -f elf64 gf-3vect-dot-prod-sse.asm -o gf-3vect-dot-prod-sse.syso -//go:generate yasm -f elf64 gf-4vect-dot-prod-avx2.asm -o gf-4vect-dot-prod-avx2.syso -//go:generate yasm -f elf64 gf-4vect-dot-prod-avx.asm -o gf-4vect-dot-prod-avx.syso -//go:generate yasm -f elf64 gf-4vect-dot-prod-sse.asm -o gf-4vect-dot-prod-sse.syso -//go:generate yasm -f elf64 gf-5vect-dot-prod-avx2.asm -o gf-5vect-dot-prod-avx2.syso -//go:generate yasm -f elf64 gf-5vect-dot-prod-avx.asm -o gf-5vect-dot-prod-avx.syso -//go:generate yasm -f elf64 gf-5vect-dot-prod-sse.asm -o gf-5vect-dot-prod-sse.syso -//go:generate yasm -f elf64 gf-6vect-dot-prod-avx2.asm -o gf-6vect-dot-prod-avx2.syso -//go:generate yasm -f elf64 gf-6vect-dot-prod-avx.asm -o gf-6vect-dot-prod-avx.syso -//go:generate yasm -f elf64 gf-6vect-dot-prod-sse.asm -o gf-6vect-dot-prod-sse.syso -//go:generate yasm -f elf64 gf-vect-dot-prod-avx2.asm -o gf-vect-dot-prod-avx2.syso -//go:generate yasm -f elf64 gf-vect-dot-prod-avx.asm -o gf-vect-dot-prod-avx.syso -//go:generate yasm -f elf64 gf-vect-dot-prod-sse.asm -o gf-vect-dot-prod-sse.syso -//go:generate yasm -f elf64 gf-vect-mul-avx.asm -o gf-vect-mul-avx.syso -//go:generate yasm -f elf64 gf-vect-mul-sse.asm -o gf-vect-mul-sse.syso diff --git a/pkg/encoding/erasure/erasure_yasm_windows.go b/pkg/encoding/erasure/erasure_yasm_windows.go deleted file mode 100644 index 97fecd5e6..000000000 --- a/pkg/encoding/erasure/erasure_yasm_windows.go +++ /dev/null @@ -1,25 +0,0 @@ -// !build amd64 - -package erasure - -//go:generate yasm -f win64 ec-multibinary.asm -o ec-multibinary.syso -//go:generate yasm -f win64 gf-2vect-dot-prod-avx2.asm -o gf-2vect-dot-prod-avx2.syso -//go:generate yasm -f win64 gf-2vect-dot-prod-avx.asm -o gf-2vect-dot-prod-avx.syso -//go:generate yasm -f win64 gf-2vect-dot-prod-sse.asm -o gf-2vect-dot-prod-sse.syso -//go:generate yasm -f win64 gf-3vect-dot-prod-avx2.asm -o gf-3vect-dot-prod-avx2.syso -//go:generate yasm -f win64 gf-3vect-dot-prod-avx.asm -o gf-3vect-dot-prod-avx.syso -//go:generate yasm -f win64 gf-3vect-dot-prod-sse.asm -o gf-3vect-dot-prod-sse.syso -//go:generate yasm -f win64 gf-4vect-dot-prod-avx2.asm -o gf-4vect-dot-prod-avx2.syso -//go:generate yasm -f win64 gf-4vect-dot-prod-avx.asm -o gf-4vect-dot-prod-avx.syso -//go:generate yasm -f win64 gf-4vect-dot-prod-sse.asm -o gf-4vect-dot-prod-sse.syso -//go:generate yasm -f win64 gf-5vect-dot-prod-avx2.asm -o gf-5vect-dot-prod-avx2.syso -//go:generate yasm -f win64 gf-5vect-dot-prod-avx.asm -o gf-5vect-dot-prod-avx.syso -//go:generate yasm -f win64 gf-5vect-dot-prod-sse.asm -o gf-5vect-dot-prod-sse.syso -//go:generate yasm -f win64 gf-6vect-dot-prod-avx2.asm -o gf-6vect-dot-prod-avx2.syso -//go:generate yasm -f win64 gf-6vect-dot-prod-avx.asm -o gf-6vect-dot-prod-avx.syso -//go:generate yasm -f win64 gf-6vect-dot-prod-sse.asm -o gf-6vect-dot-prod-sse.syso -//go:generate yasm -f win64 gf-vect-dot-prod-avx2.asm -o gf-vect-dot-prod-avx2.syso -//go:generate yasm -f win64 gf-vect-dot-prod-avx.asm -o gf-vect-dot-prod-avx.syso -//go:generate yasm -f win64 gf-vect-dot-prod-sse.asm -o gf-vect-dot-prod-sse.syso -//go:generate yasm -f win64 gf-vect-mul-avx.asm -o gf-vect-mul-avx.syso -//go:generate yasm -f win64 gf-vect-mul-sse.asm -o gf-vect-mul-sse.syso diff --git a/pkg/encoding/erasure/gf-2vect-dot-prod-avx.asm b/pkg/encoding/erasure/gf-2vect-dot-prod-avx.asm deleted file mode 100644 index b10dd6def..000000000 --- a/pkg/encoding/erasure/gf-2vect-dot-prod-avx.asm +++ /dev/null @@ -1,263 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_2vect_dot_prod_avx(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_2VECT_DOT_PROD_AVX _gf_2vect_dot_prod_avx -%else - %define GF_2VECT_DOT_PROD_AVX gf_2vect_dot_prod_avx -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r9 - %define tmp4 r12 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - %endmacro - %macro FUNC_RESTORE 0 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r9 - %define tmp4 r12 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - %endmacro - %macro FUNC_RESTORE 0 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 3*16 + 3*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_reg r12, 3*16 + 0*8 - save_reg r13, 3*16 + 1*8 - save_reg r14, 3*16 + 2*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - vmovdqa xmm6, [rsp + 0*16] - vmovdqa xmm7, [rsp + 1*16] - vmovdqa xmm8, [rsp + 2*16] - mov r12, [rsp + 3*16 + 0*8] - mov r13, [rsp + 3*16 + 1*8] - mov r14, [rsp + 3*16 + 2*8] - add rsp, stack_size - %endmacro -%endif - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest1 arg4 - -%define vec_i tmp2 -%define ptr tmp3 -%define dest2 tmp4 -%define pos return - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR vmovdqu - %define XSTR vmovdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR vmovdqa - %define XSTR vmovdqa - %else - %define XLDR vmovntdqa - %define XSTR vmovntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f xmm8 -%define xgft1_lo xmm7 -%define xgft1_hi xmm6 -%define xgft2_lo xmm5 -%define xgft2_hi xmm4 - -%define x0 xmm0 -%define xtmpa xmm1 -%define xp1 xmm2 -%define xp2 xmm3 - -align 16 -global GF_2VECT_DOT_PROD_AVX:function -func(GF_2VECT_DOT_PROD_AVX) - FUNC_SAVE - sub len, 16 - jl .return_fail - xor pos, pos - vmovdqa xmask0f, [mask0f] ;Load mask of lower nibble in each byte - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest2, [dest1+PS] - mov dest1, [dest1] - -.loop16 - vpxor xp1, xp1 - vpxor xp2, xp2 - mov tmp, mul_array - xor vec_i, vec_i - -.next_vect - mov ptr, [src+vec_i] - - vmovdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - vmovdqu xgft1_hi, [tmp+16] ; " Ax{00}, Ax{10}, ..., Ax{f0} - vmovdqu xgft2_lo, [tmp+vec*(32/PS)] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - vmovdqu xgft2_hi, [tmp+vec*(32/PS)+16] ; " Bx{00}, Bx{10}, ..., Bx{f0} - - XLDR x0, [ptr+pos] ;Get next source vector - add tmp, 32 - add vec_i, PS - - vpand xtmpa, x0, xmask0f ;Mask low src nibble in bits 4-0 - vpsraw x0, x0, 4 ;Shift to put high nibble into bits 4-0 - vpand x0, x0, xmask0f ;Mask high src nibble in bits 4-0 - - vpshufb xgft1_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft1_hi, xgft1_lo ;GF add high and low partials - vpxor xp1, xgft1_hi ;xp1 += partial - - vpshufb xgft2_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft2_hi, xgft2_lo ;GF add high and low partials - vpxor xp2, xgft2_hi ;xp2 += partial - - cmp vec_i, vec - jl .next_vect - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - - add pos, 16 ;Loop on 16 bytes at a time - cmp pos, len - jle .loop16 - - lea tmp, [len + 16] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop16 ;Do one more overlap pass - -.return_pass: - mov return, 0 - FUNC_RESTORE - ret - -.return_fail: - mov return, 1 - FUNC_RESTORE - ret - -endproc_frame - -section .data - -align 16 -mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_2VECT_DOT_PROD_AVX, 02, 03, 0191 diff --git a/pkg/encoding/erasure/gf-2vect-dot-prod-avx2.asm b/pkg/encoding/erasure/gf-2vect-dot-prod-avx2.asm deleted file mode 100644 index fb5848b1e..000000000 --- a/pkg/encoding/erasure/gf-2vect-dot-prod-avx2.asm +++ /dev/null @@ -1,277 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_2vect_dot_prod_avx2(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_2VECT_DOT_PROD_AVX2 _gf_2vect_dot_prod_avx2 -%else - %define GF_2VECT_DOT_PROD_AVX2 gf_2vect_dot_prod_avx2 -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r9 - %define tmp4 r12 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - %endmacro - %macro FUNC_RESTORE 0 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r9 - %define tmp4 r12 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - %endmacro - %macro FUNC_RESTORE 0 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 3*16 + 3*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - vmovdqa [rsp + 0*16], xmm6 - vmovdqa [rsp + 1*16], xmm7 - vmovdqa [rsp + 2*16], xmm8 - save_reg r12, 3*16 + 0*8 - save_reg r13, 3*16 + 1*8 - save_reg r14, 3*16 + 2*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - vmovdqa xmm6, [rsp + 0*16] - vmovdqa xmm7, [rsp + 1*16] - vmovdqa xmm8, [rsp + 2*16] - mov r12, [rsp + 3*16 + 0*8] - mov r13, [rsp + 3*16 + 1*8] - mov r14, [rsp + 3*16 + 2*8] - add rsp, stack_size - %endmacro -%endif - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest1 arg4 - -%define vec_i tmp2 -%define ptr tmp3 -%define dest2 tmp4 -%define pos return - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR vmovdqu - %define XSTR vmovdqu -%else - -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR vmovdqa - %define XSTR vmovdqa - %else - %define XLDR vmovntdqa - %define XSTR vmovntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f ymm8 -%define xmask0fx xmm8 -%define xgft1_lo ymm7 -%define xgft1_hi ymm6 -%define xgft2_lo ymm5 -%define xgft2_hi ymm4 - -%define x0 ymm0 -%define xtmpa ymm1 -%define xp1 ymm2 -%define xp2 ymm3 - -align 16 -global GF_2VECT_DOT_PROD_AVX2:function -func(GF_2VECT_DOT_PROD_AVX2) - FUNC_SAVE - sub len, 32 - jl .return_fail - xor pos, pos - mov tmp.b, 0x0f - vpinsrb xmask0fx, xmask0fx, tmp.w, 0 - vpbroadcastb xmask0f, xmask0fx ;Construct mask 0x0f0f0f... - - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest2, [dest1+PS] - mov dest1, [dest1] - -.loop32 - vpxor xp1, xp1 - vpxor xp2, xp2 - mov tmp, mul_array - xor vec_i, vec_i - -.next_vect - mov ptr, [src+vec_i] - - vmovdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - ; " Ax{00}, Ax{10}, ..., Ax{f0} - vperm2i128 xgft1_hi, xgft1_lo, xgft1_lo, 0x11 ; swapped to hi | hi - vperm2i128 xgft1_lo, xgft1_lo, xgft1_lo, 0x00 ; swapped to lo | lo - - vmovdqu xgft2_lo, [tmp+vec*(32/PS)] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - ; " Bx{00}, Bx{10}, ..., Bx{f0} - vperm2i128 xgft2_hi, xgft2_lo, xgft2_lo, 0x11 ; swapped to hi | hi - vperm2i128 xgft2_lo, xgft2_lo, xgft2_lo, 0x00 ; swapped to lo | lo - - - XLDR x0, [ptr+pos] ;Get next source vector - add tmp, 32 - add vec_i, PS - - vpand xtmpa, x0, xmask0f ;Mask low src nibble in bits 4-0 - vpsraw x0, x0, 4 ;Shift to put high nibble into bits 4-0 - vpand x0, x0, xmask0f ;Mask high src nibble in bits 4-0 - - vpshufb xgft1_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft1_hi, xgft1_lo ;GF add high and low partials - vpxor xp1, xgft1_hi ;xp1 += partial - - vpshufb xgft2_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft2_hi, xgft2_lo ;GF add high and low partials - vpxor xp2, xgft2_hi ;xp2 += partial - - cmp vec_i, vec - jl .next_vect - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - - add pos, 32 ;Loop on 32 bytes at a time - cmp pos, len - jle .loop32 - - lea tmp, [len + 32] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop32 ;Do one more overlap pass - -.return_pass: - mov return, 0 - FUNC_RESTORE - ret - -.return_fail: - mov return, 1 - FUNC_RESTORE - ret - -endproc_frame - -section .data - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_2VECT_DOT_PROD_AVX2, 04, 03, 0196 diff --git a/pkg/encoding/erasure/gf-2vect-dot-prod-sse.asm b/pkg/encoding/erasure/gf-2vect-dot-prod-sse.asm deleted file mode 100644 index 957089e37..000000000 --- a/pkg/encoding/erasure/gf-2vect-dot-prod-sse.asm +++ /dev/null @@ -1,265 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_2vect_dot_prod_sse(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_2VECT_DOT_PROD_SSE _gf_2vect_dot_prod_sse -%else - %define GF_2VECT_DOT_PROD_SSE gf_2vect_dot_prod_sse -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r9 - %define tmp4 r12 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - %endmacro - %macro FUNC_RESTORE 0 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r9 - %define tmp4 r12 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - %endmacro - %macro FUNC_RESTORE 0 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 3*16 + 3*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_reg r12, 3*16 + 0*8 - save_reg r13, 3*16 + 1*8 - save_reg r14, 3*16 + 2*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - movdqa xmm6, [rsp + 0*16] - movdqa xmm7, [rsp + 1*16] - movdqa xmm8, [rsp + 2*16] - mov r12, [rsp + 3*16 + 0*8] - mov r13, [rsp + 3*16 + 1*8] - mov r14, [rsp + 3*16 + 2*8] - add rsp, stack_size - %endmacro -%endif - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest1 arg4 - -%define vec_i tmp2 -%define ptr tmp3 -%define dest2 tmp4 -%define pos return - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR movdqu - %define XSTR movdqu -%else - -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR movdqa - %define XSTR movdqa - %else - %define XLDR movntdqa - %define XSTR movntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f xmm8 -%define xgft1_lo xmm7 -%define xgft1_hi xmm6 -%define xgft2_lo xmm5 -%define xgft2_hi xmm4 - -%define x0 xmm0 -%define xtmpa xmm1 -%define xp1 xmm2 -%define xp2 xmm3 - -align 16 -global GF_2VECT_DOT_PROD_SSE:function -func(GF_2VECT_DOT_PROD_SSE) - FUNC_SAVE - sub len, 16 - jl .return_fail - xor pos, pos - movdqa xmask0f, [mask0f] ;Load mask of lower nibble in each byte - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest2, [dest1+PS] - mov dest1, [dest1] - -.loop16 - pxor xp1, xp1 - pxor xp2, xp2 - mov tmp, mul_array - xor vec_i, vec_i - -.next_vect - mov ptr, [src+vec_i] - - movdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - movdqu xgft1_hi, [tmp+16] ; " Ax{00}, Ax{10}, ..., Ax{f0} - movdqu xgft2_lo, [tmp+vec*(32/PS)] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - movdqu xgft2_hi, [tmp+vec*(32/PS)+16] ; " Bx{00}, Bx{10}, ..., Bx{f0} - - XLDR x0, [ptr+pos] ;Get next source vector - add tmp, 32 - add vec_i, PS - - movdqa xtmpa, x0 ;Keep unshifted copy of src - psraw x0, 4 ;Shift to put high nibble into bits 4-0 - pand x0, xmask0f ;Mask high src nibble in bits 4-0 - pand xtmpa, xmask0f ;Mask low src nibble in bits 4-0 - - pshufb xgft1_hi, x0 ;Lookup mul table of high nibble - pshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft1_hi, xgft1_lo ;GF add high and low partials - pxor xp1, xgft1_hi ;xp1 += partial - - pshufb xgft2_hi, x0 ;Lookup mul table of high nibble - pshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft2_hi, xgft2_lo ;GF add high and low partials - pxor xp2, xgft2_hi ;xp2 += partial - - cmp vec_i, vec - jl .next_vect - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - - add pos, 16 ;Loop on 16 bytes at a time - cmp pos, len - jle .loop16 - - lea tmp, [len + 16] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop16 ;Do one more overlap pass - -.return_pass: - mov return, 0 - FUNC_RESTORE - ret - -.return_fail: - mov return, 1 - FUNC_RESTORE - ret - -endproc_frame - -section .data - -align 16 -mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_2VECT_DOT_PROD_SSE, 00, 02, 0062 diff --git a/pkg/encoding/erasure/gf-3vect-dot-prod-avx.asm b/pkg/encoding/erasure/gf-3vect-dot-prod-avx.asm deleted file mode 100644 index a8061b9fa..000000000 --- a/pkg/encoding/erasure/gf-3vect-dot-prod-avx.asm +++ /dev/null @@ -1,290 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_3vect_dot_prod_avx(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_3VECT_DOT_PROD_AVX _gf_3vect_dot_prod_avx -%else - %define GF_3VECT_DOT_PROD_AVX gf_3vect_dot_prod_avx -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - %endmacro - %macro FUNC_RESTORE 0 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - %endmacro - %macro FUNC_RESTORE 0 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define arg5 r15 ; must be saved and restored - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 6*16 + 5*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_xmm128 xmm9, 3*16 - save_xmm128 xmm10, 4*16 - save_xmm128 xmm11, 5*16 - save_reg r12, 6*16 + 0*8 - save_reg r13, 6*16 + 1*8 - save_reg r14, 6*16 + 2*8 - save_reg r15, 6*16 + 3*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - vmovdqa xmm6, [rsp + 0*16] - vmovdqa xmm7, [rsp + 1*16] - vmovdqa xmm8, [rsp + 2*16] - vmovdqa xmm9, [rsp + 3*16] - vmovdqa xmm10, [rsp + 4*16] - vmovdqa xmm11, [rsp + 5*16] - mov r12, [rsp + 6*16 + 0*8] - mov r13, [rsp + 6*16 + 1*8] - mov r14, [rsp + 6*16 + 2*8] - mov r15, [rsp + 6*16 + 3*8] - add rsp, stack_size - %endmacro -%endif - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest1 arg4 -%define ptr arg5 -%define vec_i tmp2 -%define dest2 tmp3 -%define dest3 tmp4 -%define pos return - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR vmovdqu - %define XSTR vmovdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR vmovdqa - %define XSTR vmovdqa - %else - %define XLDR vmovntdqa - %define XSTR vmovntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f xmm11 -%define xgft1_lo xmm10 -%define xgft1_hi xmm9 -%define xgft2_lo xmm8 -%define xgft2_hi xmm7 -%define xgft3_lo xmm6 -%define xgft3_hi xmm5 - -%define x0 xmm0 -%define xtmpa xmm1 -%define xp1 xmm2 -%define xp2 xmm3 -%define xp3 xmm4 - -align 16 -global GF_3VECT_DOT_PROD_AVX:function -func(GF_3VECT_DOT_PROD_AVX) - FUNC_SAVE - sub len, 16 - jl .return_fail - xor pos, pos - vmovdqa xmask0f, [mask0f] ;Load mask of lower nibble in each byte - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest2, [dest1+PS] - mov dest3, [dest1+2*PS] - mov dest1, [dest1] - - -.loop16: - vpxor xp1, xp1 - vpxor xp2, xp2 - vpxor xp3, xp3 - mov tmp, mul_array - xor vec_i, vec_i - -.next_vect: - mov ptr, [src+vec_i] - - vmovdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - vmovdqu xgft1_hi, [tmp+16] ; " Ax{00}, Ax{10}, ..., Ax{f0} - vmovdqu xgft2_lo, [tmp+vec*(32/PS)] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - vmovdqu xgft2_hi, [tmp+vec*(32/PS)+16] ; " Bx{00}, Bx{10}, ..., Bx{f0} - vmovdqu xgft3_lo, [tmp+vec*(64/PS)] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - vmovdqu xgft3_hi, [tmp+vec*(64/PS)+16] ; " Cx{00}, Cx{10}, ..., Cx{f0} - - add tmp, 32 - add vec_i, PS - XLDR x0, [ptr+pos] ;Get next source vector - - vpand xtmpa, x0, xmask0f ;Mask low src nibble in bits 4-0 - vpsraw x0, x0, 4 ;Shift to put high nibble into bits 4-0 - vpand x0, x0, xmask0f ;Mask high src nibble in bits 4-0 - - vpshufb xgft1_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft1_hi, xgft1_lo ;GF add high and low partials - vpxor xp1, xgft1_hi ;xp1 += partial - - vpshufb xgft2_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft2_hi, xgft2_lo ;GF add high and low partials - vpxor xp2, xgft2_hi ;xp2 += partial - - vpshufb xgft3_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft3_hi, xgft3_lo ;GF add high and low partials - vpxor xp3, xgft3_hi ;xp3 += partial - - cmp vec_i, vec - jl .next_vect - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - XSTR [dest3+pos], xp3 - - add pos, 16 ;Loop on 16 bytes at a time - cmp pos, len - jle .loop16 - - lea tmp, [len + 16] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop16 ;Do one more overlap pass - -.return_pass: - mov return, 0 - FUNC_RESTORE - ret - -.return_fail: - mov return, 1 - FUNC_RESTORE - ret - -endproc_frame - -section .data - -align 16 -mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_3VECT_DOT_PROD_AVX, 02, 03, 0192 diff --git a/pkg/encoding/erasure/gf-3vect-dot-prod-avx2.asm b/pkg/encoding/erasure/gf-3vect-dot-prod-avx2.asm deleted file mode 100644 index e0388a2ba..000000000 --- a/pkg/encoding/erasure/gf-3vect-dot-prod-avx2.asm +++ /dev/null @@ -1,305 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_3vect_dot_prod_avx2(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_3VECT_DOT_PROD_AVX2 _gf_3vect_dot_prod_avx2 -%else - %define GF_3VECT_DOT_PROD_AVX2 gf_3vect_dot_prod_avx2 -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - %endmacro - %macro FUNC_RESTORE 0 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - %endmacro - %macro FUNC_RESTORE 0 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define arg5 r15 ; must be saved and restored - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 6*16 + 5*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - vmovdqa [rsp + 0*16], xmm6 - vmovdqa [rsp + 1*16], xmm7 - vmovdqa [rsp + 2*16], xmm8 - vmovdqa [rsp + 3*16], xmm9 - vmovdqa [rsp + 4*16], xmm10 - vmovdqa [rsp + 5*16], xmm11 - save_reg r12, 6*16 + 0*8 - save_reg r13, 6*16 + 1*8 - save_reg r14, 6*16 + 2*8 - save_reg r15, 6*16 + 3*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - vmovdqa xmm6, [rsp + 0*16] - vmovdqa xmm7, [rsp + 1*16] - vmovdqa xmm8, [rsp + 2*16] - vmovdqa xmm9, [rsp + 3*16] - vmovdqa xmm10, [rsp + 4*16] - vmovdqa xmm11, [rsp + 5*16] - mov r12, [rsp + 6*16 + 0*8] - mov r13, [rsp + 6*16 + 1*8] - mov r14, [rsp + 6*16 + 2*8] - mov r15, [rsp + 6*16 + 3*8] - add rsp, stack_size - %endmacro -%endif - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest1 arg4 -%define ptr arg5 -%define vec_i tmp2 -%define dest2 tmp3 -%define dest3 tmp4 -%define pos return - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR vmovdqu - %define XSTR vmovdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR vmovdqa - %define XSTR vmovdqa - %else - %define XLDR vmovntdqa - %define XSTR vmovntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f ymm11 -%define xmask0fx xmm11 -%define xgft1_lo ymm10 -%define xgft1_hi ymm9 -%define xgft2_lo ymm8 -%define xgft2_hi ymm7 -%define xgft3_lo ymm6 -%define xgft3_hi ymm5 - -%define x0 ymm0 -%define xtmpa ymm1 -%define xp1 ymm2 -%define xp2 ymm3 -%define xp3 ymm4 - -align 16 -global GF_3VECT_DOT_PROD_AVX2:function -func(GF_3VECT_DOT_PROD_AVX2) - FUNC_SAVE - sub len, 32 - jl .return_fail - xor pos, pos - mov tmp.b, 0x0f - vpinsrb xmask0fx, xmask0fx, tmp.w, 0 - vpbroadcastb xmask0f, xmask0fx ;Construct mask 0x0f0f0f... - - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest2, [dest1+PS] - mov dest3, [dest1+2*PS] - mov dest1, [dest1] - - -.loop32: - vpxor xp1, xp1 - vpxor xp2, xp2 - vpxor xp3, xp3 - mov tmp, mul_array - xor vec_i, vec_i - -.next_vect: - mov ptr, [src+vec_i] - - vmovdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - ; " Ax{00}, Ax{10}, ..., Ax{f0} - vperm2i128 xgft1_hi, xgft1_lo, xgft1_lo, 0x11 ; swapped to hi | hi - vperm2i128 xgft1_lo, xgft1_lo, xgft1_lo, 0x00 ; swapped to lo | lo - - vmovdqu xgft2_lo, [tmp+vec*(32/PS)] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - ; " Bx{00}, Bx{10}, ..., Bx{f0} - vperm2i128 xgft2_hi, xgft2_lo, xgft2_lo, 0x11 ; swapped to hi | hi - vperm2i128 xgft2_lo, xgft2_lo, xgft2_lo, 0x00 ; swapped to lo | lo - - vmovdqu xgft3_lo, [tmp+vec*(64/PS)] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - ; " Cx{00}, Cx{10}, ..., Cx{f0} - vperm2i128 xgft3_hi, xgft3_lo, xgft3_lo, 0x11 ; swapped to hi | hi - vperm2i128 xgft3_lo, xgft3_lo, xgft3_lo, 0x00 ; swapped to lo | lo - - add tmp, 32 - add vec_i, PS - XLDR x0, [ptr+pos] ;Get next source vector - - vpand xtmpa, x0, xmask0f ;Mask low src nibble in bits 4-0 - vpsraw x0, x0, 4 ;Shift to put high nibble into bits 4-0 - vpand x0, x0, xmask0f ;Mask high src nibble in bits 4-0 - - vpshufb xgft1_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft1_hi, xgft1_lo ;GF add high and low partials - vpxor xp1, xgft1_hi ;xp1 += partial - - vpshufb xgft2_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft2_hi, xgft2_lo ;GF add high and low partials - vpxor xp2, xgft2_hi ;xp2 += partial - - vpshufb xgft3_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft3_hi, xgft3_lo ;GF add high and low partials - vpxor xp3, xgft3_hi ;xp3 += partial - - cmp vec_i, vec - jl .next_vect - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - XSTR [dest3+pos], xp3 - - add pos, 32 ;Loop on 32 bytes at a time - cmp pos, len - jle .loop32 - - lea tmp, [len + 32] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop32 ;Do one more overlap pass - -.return_pass: - mov return, 0 - FUNC_RESTORE - ret - -.return_fail: - mov return, 1 - FUNC_RESTORE - ret - -endproc_frame - -section .data - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_3VECT_DOT_PROD_AVX2, 04, 03, 0197 diff --git a/pkg/encoding/erasure/gf-3vect-dot-prod-sse.asm b/pkg/encoding/erasure/gf-3vect-dot-prod-sse.asm deleted file mode 100644 index 4e51775de..000000000 --- a/pkg/encoding/erasure/gf-3vect-dot-prod-sse.asm +++ /dev/null @@ -1,291 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_3vect_dot_prod_sse(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_3VECT_DOT_PROD_SSE _gf_3vect_dot_prod_sse -%else - %define GF_3VECT_DOT_PROD_SSE gf_3vect_dot_prod_sse -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - %endmacro - %macro FUNC_RESTORE 0 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - %endmacro - %macro FUNC_RESTORE 0 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define arg5 r15 ; must be saved and restored - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 6*16 + 5*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_xmm128 xmm9, 3*16 - save_xmm128 xmm10, 4*16 - save_xmm128 xmm11, 5*16 - save_reg r12, 6*16 + 0*8 - save_reg r13, 6*16 + 1*8 - save_reg r14, 6*16 + 2*8 - save_reg r15, 6*16 + 3*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - movdqa xmm6, [rsp + 0*16] - movdqa xmm7, [rsp + 1*16] - movdqa xmm8, [rsp + 2*16] - movdqa xmm9, [rsp + 3*16] - movdqa xmm10, [rsp + 4*16] - movdqa xmm11, [rsp + 5*16] - mov r12, [rsp + 6*16 + 0*8] - mov r13, [rsp + 6*16 + 1*8] - mov r14, [rsp + 6*16 + 2*8] - mov r15, [rsp + 6*16 + 3*8] - add rsp, stack_size - %endmacro -%endif - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest1 arg4 -%define ptr arg5 -%define vec_i tmp2 -%define dest2 tmp3 -%define dest3 tmp4 -%define pos return - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR movdqu - %define XSTR movdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR movdqa - %define XSTR movdqa - %else - %define XLDR movntdqa - %define XSTR movntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f xmm11 -%define xgft1_lo xmm10 -%define xgft1_hi xmm9 -%define xgft2_lo xmm8 -%define xgft2_hi xmm7 -%define xgft3_lo xmm6 -%define xgft3_hi xmm5 - -%define x0 xmm0 -%define xtmpa xmm1 -%define xp1 xmm2 -%define xp2 xmm3 -%define xp3 xmm4 - -align 16 -global GF_3VECT_DOT_PROD_SSE:function -func(GF_3VECT_DOT_PROD_SSE) - FUNC_SAVE - sub len, 16 - jl .return_fail - xor pos, pos - movdqa xmask0f, [mask0f] ;Load mask of lower nibble in each byte - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest2, [dest1+PS] - mov dest3, [dest1+2*PS] - mov dest1, [dest1] - - -.loop16: - pxor xp1, xp1 - pxor xp2, xp2 - pxor xp3, xp3 - mov tmp, mul_array - xor vec_i, vec_i - -.next_vect: - mov ptr, [src+vec_i] - - movdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - movdqu xgft1_hi, [tmp+16] ; " Ax{00}, Ax{10}, ..., Ax{f0} - movdqu xgft2_lo, [tmp+vec*(32/PS)] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - movdqu xgft2_hi, [tmp+vec*(32/PS)+16] ; " Bx{00}, Bx{10}, ..., Bx{f0} - movdqu xgft3_lo, [tmp+vec*(64/PS)] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - movdqu xgft3_hi, [tmp+vec*(64/PS)+16] ; " Cx{00}, Cx{10}, ..., Cx{f0} - - add tmp, 32 - add vec_i, PS - XLDR x0, [ptr+pos] ;Get next source vector - - movdqa xtmpa, x0 ;Keep unshifted copy of src - psraw x0, 4 ;Shift to put high nibble into bits 4-0 - pand x0, xmask0f ;Mask high src nibble in bits 4-0 - pand xtmpa, xmask0f ;Mask low src nibble in bits 4-0 - - pshufb xgft1_hi, x0 ;Lookup mul table of high nibble - pshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft1_hi, xgft1_lo ;GF add high and low partials - pxor xp1, xgft1_hi ;xp1 += partial - - pshufb xgft2_hi, x0 ;Lookup mul table of high nibble - pshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft2_hi, xgft2_lo ;GF add high and low partials - pxor xp2, xgft2_hi ;xp2 += partial - - pshufb xgft3_hi, x0 ;Lookup mul table of high nibble - pshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft3_hi, xgft3_lo ;GF add high and low partials - pxor xp3, xgft3_hi ;xp3 += partial - - cmp vec_i, vec - jl .next_vect - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - XSTR [dest3+pos], xp3 - - add pos, 16 ;Loop on 16 bytes at a time - cmp pos, len - jle .loop16 - - lea tmp, [len + 16] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop16 ;Do one more overlap pass - -.return_pass: - mov return, 0 - FUNC_RESTORE - ret - -.return_fail: - mov return, 1 - FUNC_RESTORE - ret - -endproc_frame - -section .data - -align 16 -mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_3VECT_DOT_PROD_SSE, 00, 03, 0063 diff --git a/pkg/encoding/erasure/gf-4vect-dot-prod-avx.asm b/pkg/encoding/erasure/gf-4vect-dot-prod-avx.asm deleted file mode 100644 index 56b33cb44..000000000 --- a/pkg/encoding/erasure/gf-4vect-dot-prod-avx.asm +++ /dev/null @@ -1,334 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_4vect_dot_prod_avx(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_4VECT_DOT_PROD_AVX _gf_4vect_dot_prod_avx -%else - %define GF_4VECT_DOT_PROD_AVX gf_4vect_dot_prod_avx -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define arg5 r15 ; must be saved and restored - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define tmp5 rdi ; must be saved and restored - %define tmp6 rsi ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 9*16 + 7*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_xmm128 xmm9, 3*16 - save_xmm128 xmm10, 4*16 - save_xmm128 xmm11, 5*16 - save_xmm128 xmm12, 6*16 - save_xmm128 xmm13, 7*16 - save_xmm128 xmm14, 8*16 - save_reg r12, 9*16 + 0*8 - save_reg r13, 9*16 + 1*8 - save_reg r14, 9*16 + 2*8 - save_reg r15, 9*16 + 3*8 - save_reg rdi, 9*16 + 4*8 - save_reg rsi, 9*16 + 5*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - vmovdqa xmm6, [rsp + 0*16] - vmovdqa xmm7, [rsp + 1*16] - vmovdqa xmm8, [rsp + 2*16] - vmovdqa xmm9, [rsp + 3*16] - vmovdqa xmm10, [rsp + 4*16] - vmovdqa xmm11, [rsp + 5*16] - vmovdqa xmm12, [rsp + 6*16] - vmovdqa xmm13, [rsp + 7*16] - vmovdqa xmm14, [rsp + 8*16] - mov r12, [rsp + 9*16 + 0*8] - mov r13, [rsp + 9*16 + 1*8] - mov r14, [rsp + 9*16 + 2*8] - mov r15, [rsp + 9*16 + 3*8] - mov rdi, [rsp + 9*16 + 4*8] - mov rsi, [rsp + 9*16 + 5*8] - add rsp, stack_size - %endmacro -%endif - - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest1 arg4 -%define ptr arg5 -%define vec_i tmp2 -%define dest2 tmp3 -%define dest3 tmp4 -%define dest4 tmp5 -%define vskip3 tmp6 -%define pos return - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR vmovdqu - %define XSTR vmovdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR vmovdqa - %define XSTR vmovdqa - %else - %define XLDR vmovntdqa - %define XSTR vmovntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f xmm14 -%define xgft1_lo xmm13 -%define xgft1_hi xmm12 -%define xgft2_lo xmm11 -%define xgft2_hi xmm10 -%define xgft3_lo xmm9 -%define xgft3_hi xmm8 -%define xgft4_lo xmm7 -%define xgft4_hi xmm6 - - -%define x0 xmm0 -%define xtmpa xmm1 -%define xp1 xmm2 -%define xp2 xmm3 -%define xp3 xmm4 -%define xp4 xmm5 - -align 16 -global GF_4VECT_DOT_PROD_AVX:function -func(GF_4VECT_DOT_PROD_AVX) - FUNC_SAVE - sub len, 16 - jl .return_fail - xor pos, pos - vmovdqa xmask0f, [mask0f] ;Load mask of lower nibble in each byte - mov vskip3, vec - imul vskip3, 96 - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest2, [dest1+PS] - mov dest3, [dest1+2*PS] - mov dest4, [dest1+3*PS] - mov dest1, [dest1] - - -.loop16: - vpxor xp1, xp1 - vpxor xp2, xp2 - vpxor xp3, xp3 - vpxor xp4, xp4 - mov tmp, mul_array - xor vec_i, vec_i - -.next_vect: - mov ptr, [src+vec_i] - - vmovdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - vmovdqu xgft1_hi, [tmp+16] ; " Ax{00}, Ax{10}, ..., Ax{f0} - vmovdqu xgft2_lo, [tmp+vec*(32/PS)] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - vmovdqu xgft2_hi, [tmp+vec*(32/PS)+16] ; " Bx{00}, Bx{10}, ..., Bx{f0} - vmovdqu xgft3_lo, [tmp+vec*(64/PS)] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - vmovdqu xgft3_hi, [tmp+vec*(64/PS)+16] ; " Cx{00}, Cx{10}, ..., Cx{f0} - vmovdqu xgft4_lo, [tmp+vskip3] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - vmovdqu xgft4_hi, [tmp+vskip3+16] ; " Cx{00}, Cx{10}, ..., Cx{f0} - - XLDR x0, [ptr+pos] ;Get next source vector - add tmp, 32 - add vec_i, PS - - vpand xtmpa, x0, xmask0f ;Mask low src nibble in bits 4-0 - vpsraw x0, x0, 4 ;Shift to put high nibble into bits 4-0 - vpand x0, x0, xmask0f ;Mask high src nibble in bits 4-0 - - - vpshufb xgft1_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft1_hi, xgft1_lo ;GF add high and low partials - vpxor xp1, xgft1_hi ;xp1 += partial - - vpshufb xgft2_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft2_hi, xgft2_lo ;GF add high and low partials - vpxor xp2, xgft2_hi ;xp2 += partial - - vpshufb xgft3_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft3_hi, xgft3_lo ;GF add high and low partials - vpxor xp3, xgft3_hi ;xp3 += partial - - vpshufb xgft4_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft4_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft4_hi, xgft4_lo ;GF add high and low partials - vpxor xp4, xgft4_hi ;xp4 += partial - - cmp vec_i, vec - jl .next_vect - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - XSTR [dest3+pos], xp3 - XSTR [dest4+pos], xp4 - - add pos, 16 ;Loop on 16 bytes at a time - cmp pos, len - jle .loop16 - - lea tmp, [len + 16] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop16 ;Do one more overlap pass - -.return_pass: - mov return, 0 - FUNC_RESTORE - ret - -.return_fail: - mov return, 1 - FUNC_RESTORE - ret - -endproc_frame - -section .data - -align 16 -mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_4VECT_DOT_PROD_AVX, 00, 02, 0064 diff --git a/pkg/encoding/erasure/gf-4vect-dot-prod-avx2.asm b/pkg/encoding/erasure/gf-4vect-dot-prod-avx2.asm deleted file mode 100644 index 33d223600..000000000 --- a/pkg/encoding/erasure/gf-4vect-dot-prod-avx2.asm +++ /dev/null @@ -1,345 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_4vect_dot_prod_avx2(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_4VECT_DOT_PROD_AVX2 _gf_4vect_dot_prod_avx2 -%else - %define GF_4VECT_DOT_PROD_AVX2 gf_4vect_dot_prod_avx2 -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define arg5 r15 ; must be saved and restored - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define tmp5 rdi ; must be saved and restored - %define tmp6 rsi ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 9*16 + 7*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - vmovdqa [rsp + 0*16], xmm6 - vmovdqa [rsp + 1*16], xmm7 - vmovdqa [rsp + 2*16], xmm8 - vmovdqa [rsp + 3*16], xmm9 - vmovdqa [rsp + 4*16], xmm10 - vmovdqa [rsp + 5*16], xmm11 - vmovdqa [rsp + 6*16], xmm12 - vmovdqa [rsp + 7*16], xmm13 - vmovdqa [rsp + 8*16], xmm14 - save_reg r12, 9*16 + 0*8 - save_reg r13, 9*16 + 1*8 - save_reg r14, 9*16 + 2*8 - save_reg r15, 9*16 + 3*8 - save_reg rdi, 9*16 + 4*8 - save_reg rsi, 9*16 + 5*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - vmovdqa xmm6, [rsp + 0*16] - vmovdqa xmm7, [rsp + 1*16] - vmovdqa xmm8, [rsp + 2*16] - vmovdqa xmm9, [rsp + 3*16] - vmovdqa xmm10, [rsp + 4*16] - vmovdqa xmm11, [rsp + 5*16] - vmovdqa xmm12, [rsp + 6*16] - vmovdqa xmm13, [rsp + 7*16] - vmovdqa xmm14, [rsp + 8*16] - mov r12, [rsp + 9*16 + 0*8] - mov r13, [rsp + 9*16 + 1*8] - mov r14, [rsp + 9*16 + 2*8] - mov r15, [rsp + 9*16 + 3*8] - mov rdi, [rsp + 9*16 + 4*8] - mov rsi, [rsp + 9*16 + 5*8] - add rsp, stack_size - %endmacro -%endif - - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest1 arg4 -%define ptr arg5 -%define vec_i tmp2 -%define dest2 tmp3 -%define dest3 tmp4 -%define dest4 tmp5 -%define vskip3 tmp6 -%define pos return - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR vmovdqu - %define XSTR vmovdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR vmovdqa - %define XSTR vmovdqa - %else - %define XLDR vmovntdqa - %define XSTR vmovntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f ymm14 -%define xmask0fx xmm14 -%define xgft1_lo ymm13 -%define xgft1_hi ymm12 -%define xgft2_lo ymm11 -%define xgft2_hi ymm10 -%define xgft3_lo ymm9 -%define xgft3_hi ymm8 -%define xgft4_lo ymm7 -%define xgft4_hi ymm6 - - -%define x0 ymm0 -%define xtmpa ymm1 -%define xp1 ymm2 -%define xp2 ymm3 -%define xp3 ymm4 -%define xp4 ymm5 - -align 16 -global GF_4VECT_DOT_PROD_AVX2:function -func(GF_4VECT_DOT_PROD_AVX2) - FUNC_SAVE - sub len, 32 - jl .return_fail - xor pos, pos - mov tmp.b, 0x0f - vpinsrb xmask0fx, xmask0fx, tmp.w, 0 - vpbroadcastb xmask0f, xmask0fx ;Construct mask 0x0f0f0f... - mov vskip3, vec - imul vskip3, 96 - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest2, [dest1+PS] - mov dest3, [dest1+2*PS] - mov dest4, [dest1+3*PS] - mov dest1, [dest1] - - -.loop32: - vpxor xp1, xp1 - vpxor xp2, xp2 - vpxor xp3, xp3 - vpxor xp4, xp4 - mov tmp, mul_array - xor vec_i, vec_i - -.next_vect: - mov ptr, [src+vec_i] - XLDR x0, [ptr+pos] ;Get next source vector - add vec_i, PS - - vpand xgft4_lo, x0, xmask0f ;Mask low src nibble in bits 4-0 - vpsraw x0, x0, 4 ;Shift to put high nibble into bits 4-0 - vpand x0, x0, xmask0f ;Mask high src nibble in bits 4-0 - vperm2i128 xtmpa, xgft4_lo, x0, 0x30 ;swap xtmpa from 1lo|2lo to 1lo|2hi - vperm2i128 x0, xgft4_lo, x0, 0x12 ;swap x0 from 1hi|2hi to 1hi|2lo - - vmovdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - ; " Ax{00}, Ax{10}, ..., Ax{f0} - vmovdqu xgft2_lo, [tmp+vec*(32/PS)] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - ; " Bx{00}, Bx{10}, ..., Bx{f0} - vmovdqu xgft3_lo, [tmp+vec*(64/PS)] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - ; " Cx{00}, Cx{10}, ..., Cx{f0} - vmovdqu xgft4_lo, [tmp+vskip3] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - ; " Cx{00}, Cx{10}, ..., Cx{f0} - - vperm2i128 xgft1_hi, xgft1_lo, xgft1_lo, 0x01 ; swapped to hi | lo - vperm2i128 xgft2_hi, xgft2_lo, xgft2_lo, 0x01 ; swapped to hi | lo - vperm2i128 xgft3_hi, xgft3_lo, xgft3_lo, 0x01 ; swapped to hi | lo - vperm2i128 xgft4_hi, xgft4_lo, xgft4_lo, 0x01 ; swapped to hi | lo - add tmp, 32 - - vpshufb xgft1_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft1_hi, xgft1_lo ;GF add high and low partials - vpxor xp1, xgft1_hi ;xp1 += partial - - vpshufb xgft2_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft2_hi, xgft2_lo ;GF add high and low partials - vpxor xp2, xgft2_hi ;xp2 += partial - - vpshufb xgft3_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft3_hi, xgft3_lo ;GF add high and low partials - vpxor xp3, xgft3_hi ;xp3 += partial - - vpshufb xgft4_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft4_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft4_hi, xgft4_lo ;GF add high and low partials - vpxor xp4, xgft4_hi ;xp4 += partial - - cmp vec_i, vec - jl .next_vect - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - XSTR [dest3+pos], xp3 - XSTR [dest4+pos], xp4 - - add pos, 32 ;Loop on 32 bytes at a time - cmp pos, len - jle .loop32 - - lea tmp, [len + 32] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-32 - jmp .loop32 ;Do one more overlap pass - -.return_pass: - mov return, 0 - FUNC_RESTORE - ret - -.return_fail: - mov return, 1 - FUNC_RESTORE - ret - -endproc_frame - -section .data - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_4VECT_DOT_PROD_AVX2, 04, 03, 0064 diff --git a/pkg/encoding/erasure/gf-4vect-dot-prod-sse.asm b/pkg/encoding/erasure/gf-4vect-dot-prod-sse.asm deleted file mode 100644 index 4e3d03747..000000000 --- a/pkg/encoding/erasure/gf-4vect-dot-prod-sse.asm +++ /dev/null @@ -1,334 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_4vect_dot_prod_sse(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_4VECT_DOT_PROD_SSE _gf_4vect_dot_prod_sse -%else - %define GF_4VECT_DOT_PROD_SSE gf_4vect_dot_prod_sse -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define arg5 r15 ; must be saved and restored - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define tmp5 rdi ; must be saved and restored - %define tmp6 rsi ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 9*16 + 7*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_xmm128 xmm9, 3*16 - save_xmm128 xmm10, 4*16 - save_xmm128 xmm11, 5*16 - save_xmm128 xmm12, 6*16 - save_xmm128 xmm13, 7*16 - save_xmm128 xmm14, 8*16 - save_reg r12, 9*16 + 0*8 - save_reg r13, 9*16 + 1*8 - save_reg r14, 9*16 + 2*8 - save_reg r15, 9*16 + 3*8 - save_reg rdi, 9*16 + 4*8 - save_reg rsi, 9*16 + 5*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - movdqa xmm6, [rsp + 0*16] - movdqa xmm7, [rsp + 1*16] - movdqa xmm8, [rsp + 2*16] - movdqa xmm9, [rsp + 3*16] - movdqa xmm10, [rsp + 4*16] - movdqa xmm11, [rsp + 5*16] - movdqa xmm12, [rsp + 6*16] - movdqa xmm13, [rsp + 7*16] - movdqa xmm14, [rsp + 8*16] - mov r12, [rsp + 9*16 + 0*8] - mov r13, [rsp + 9*16 + 1*8] - mov r14, [rsp + 9*16 + 2*8] - mov r15, [rsp + 9*16 + 3*8] - mov rdi, [rsp + 9*16 + 4*8] - mov rsi, [rsp + 9*16 + 5*8] - add rsp, stack_size - %endmacro -%endif - - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest1 arg4 -%define ptr arg5 -%define vec_i tmp2 -%define dest2 tmp3 -%define dest3 tmp4 -%define dest4 tmp5 -%define vskip3 tmp6 -%define pos return - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR movdqu - %define XSTR movdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR movdqa - %define XSTR movdqa - %else - %define XLDR movntdqa - %define XSTR movntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f xmm14 -%define xgft1_lo xmm13 -%define xgft1_hi xmm12 -%define xgft2_lo xmm11 -%define xgft2_hi xmm10 -%define xgft3_lo xmm9 -%define xgft3_hi xmm8 -%define xgft4_lo xmm7 -%define xgft4_hi xmm6 - - -%define x0 xmm0 -%define xtmpa xmm1 -%define xp1 xmm2 -%define xp2 xmm3 -%define xp3 xmm4 -%define xp4 xmm5 - -align 16 -global GF_4VECT_DOT_PROD_SSE:function -func(GF_4VECT_DOT_PROD_SSE) - FUNC_SAVE - sub len, 16 - jl .return_fail - xor pos, pos - movdqa xmask0f, [mask0f] ;Load mask of lower nibble in each byte - mov vskip3, vec - imul vskip3, 96 - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest2, [dest1+PS] - mov dest3, [dest1+2*PS] - mov dest4, [dest1+3*PS] - mov dest1, [dest1] - - -.loop16: - pxor xp1, xp1 - pxor xp2, xp2 - pxor xp3, xp3 - pxor xp4, xp4 - mov tmp, mul_array - xor vec_i, vec_i - -.next_vect: - mov ptr, [src+vec_i] - - movdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - movdqu xgft1_hi, [tmp+16] ; " Ax{00}, Ax{10}, ..., Ax{f0} - movdqu xgft2_lo, [tmp+vec*(32/PS)] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - movdqu xgft2_hi, [tmp+vec*(32/PS)+16] ; " Bx{00}, Bx{10}, ..., Bx{f0} - movdqu xgft3_lo, [tmp+vec*(64/PS)] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - movdqu xgft3_hi, [tmp+vec*(64/PS)+16] ; " Cx{00}, Cx{10}, ..., Cx{f0} - movdqu xgft4_lo, [tmp+vskip3] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - movdqu xgft4_hi, [tmp+vskip3+16] ; " Cx{00}, Cx{10}, ..., Cx{f0} - - XLDR x0, [ptr+pos] ;Get next source vector - add tmp, 32 - add vec_i, PS - - movdqa xtmpa, x0 ;Keep unshifted copy of src - psraw x0, 4 ;Shift to put high nibble into bits 4-0 - pand x0, xmask0f ;Mask high src nibble in bits 4-0 - pand xtmpa, xmask0f ;Mask low src nibble in bits 4-0 - - pshufb xgft1_hi, x0 ;Lookup mul table of high nibble - pshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft1_hi, xgft1_lo ;GF add high and low partials - pxor xp1, xgft1_hi ;xp1 += partial - - pshufb xgft2_hi, x0 ;Lookup mul table of high nibble - pshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft2_hi, xgft2_lo ;GF add high and low partials - pxor xp2, xgft2_hi ;xp2 += partial - - pshufb xgft3_hi, x0 ;Lookup mul table of high nibble - pshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft3_hi, xgft3_lo ;GF add high and low partials - pxor xp3, xgft3_hi ;xp3 += partial - - pshufb xgft4_hi, x0 ;Lookup mul table of high nibble - pshufb xgft4_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft4_hi, xgft4_lo ;GF add high and low partials - pxor xp4, xgft4_hi ;xp4 += partial - - cmp vec_i, vec - jl .next_vect - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - XSTR [dest3+pos], xp3 - XSTR [dest4+pos], xp4 - - add pos, 16 ;Loop on 16 bytes at a time - cmp pos, len - jle .loop16 - - lea tmp, [len + 16] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop16 ;Do one more overlap pass - -.return_pass: - mov return, 0 - FUNC_RESTORE - ret - -.return_fail: - mov return, 1 - FUNC_RESTORE - ret - -endproc_frame - -section .data - -align 16 -mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_4VECT_DOT_PROD_SSE, 00, 03, 0064 diff --git a/pkg/encoding/erasure/gf-5vect-dot-prod-avx.asm b/pkg/encoding/erasure/gf-5vect-dot-prod-avx.asm deleted file mode 100644 index 966257e66..000000000 --- a/pkg/encoding/erasure/gf-5vect-dot-prod-avx.asm +++ /dev/null @@ -1,349 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_5vect_dot_prod_avx(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_5VECT_DOT_PROD_AVX _gf_5vect_dot_prod_avx -%else - %define GF_5VECT_DOT_PROD_AVX gf_5vect_dot_prod_avx -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define arg5 r15 ; must be saved and restored - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define tmp5 rdi ; must be saved and restored - %define tmp6 rsi ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 10*16 + 7*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_xmm128 xmm9, 3*16 - save_xmm128 xmm10, 4*16 - save_xmm128 xmm11, 5*16 - save_xmm128 xmm12, 6*16 - save_xmm128 xmm13, 7*16 - save_xmm128 xmm14, 8*16 - save_xmm128 xmm15, 9*16 - save_reg r12, 10*16 + 0*8 - save_reg r13, 10*16 + 1*8 - save_reg r14, 10*16 + 2*8 - save_reg r15, 10*16 + 3*8 - save_reg rdi, 10*16 + 4*8 - save_reg rsi, 10*16 + 5*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - vmovdqa xmm6, [rsp + 0*16] - vmovdqa xmm7, [rsp + 1*16] - vmovdqa xmm8, [rsp + 2*16] - vmovdqa xmm9, [rsp + 3*16] - vmovdqa xmm10, [rsp + 4*16] - vmovdqa xmm11, [rsp + 5*16] - vmovdqa xmm12, [rsp + 6*16] - vmovdqa xmm13, [rsp + 7*16] - vmovdqa xmm14, [rsp + 8*16] - vmovdqa xmm15, [rsp + 9*16] - mov r12, [rsp + 10*16 + 0*8] - mov r13, [rsp + 10*16 + 1*8] - mov r14, [rsp + 10*16 + 2*8] - mov r15, [rsp + 10*16 + 3*8] - mov rdi, [rsp + 10*16 + 4*8] - mov rsi, [rsp + 10*16 + 5*8] - add rsp, stack_size - %endmacro -%endif - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest arg4 -%define ptr arg5 -%define vec_i tmp2 -%define dest1 tmp3 -%define dest2 tmp4 -%define vskip1 tmp5 -%define vskip3 tmp6 -%define pos return - - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR vmovdqu - %define XSTR vmovdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR vmovdqa - %define XSTR vmovdqa - %else - %define XLDR vmovntdqa - %define XSTR vmovntdq - %endif -%endif - -default rel - -[bits 64] -section .text - -%define xmask0f xmm15 -%define xgft1_lo xmm14 -%define xgft1_hi xmm13 -%define xgft2_lo xmm12 -%define xgft2_hi xmm11 -%define xgft3_lo xmm10 -%define xgft3_hi xmm9 -%define xgft4_lo xmm8 -%define xgft4_hi xmm7 - - -%define x0 xmm0 -%define xtmpa xmm1 -%define xp1 xmm2 -%define xp2 xmm3 -%define xp3 xmm4 -%define xp4 xmm5 -%define xp5 xmm6 - -align 16 -global gf_5vect_dot_prod_avx:function -func(gf_5vect_dot_prod_avx) - FUNC_SAVE - sub len, 16 - jl .return_fail - xor pos, pos - vmovdqa xmask0f, [mask0f] ;Load mask of lower nibble in each byte - mov vskip1, vec - imul vskip1, 32 - mov vskip3, vec - imul vskip3, 96 - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest1, [dest] - mov dest2, [dest+PS] - - -.loop16: - mov tmp, mul_array - xor vec_i, vec_i - vpxor xp1, xp1 - vpxor xp2, xp2 - vpxor xp3, xp3 - vpxor xp4, xp4 - vpxor xp5, xp5 - - -.next_vect: - mov ptr, [src+vec_i] - add vec_i, PS - XLDR x0, [ptr+pos] ;Get next source vector - - vmovdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - vmovdqu xgft1_hi, [tmp+16] ; " Ax{00}, Ax{10}, ..., Ax{f0} - vmovdqu xgft2_lo, [tmp+vskip1*1] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - vmovdqu xgft2_hi, [tmp+vskip1*1+16] ; " Bx{00}, Bx{10}, ..., Bx{f0} - vmovdqu xgft3_lo, [tmp+vskip1*2] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - vmovdqu xgft3_hi, [tmp+vskip1*2+16] ; " Cx{00}, Cx{10}, ..., Cx{f0} - vmovdqu xgft4_lo, [tmp+vskip3] ;Load array Dx{00}, Dx{01}, ..., Dx{0f} - vmovdqu xgft4_hi, [tmp+vskip3+16] ; " Dx{00}, Dx{10}, ..., Dx{f0} - - vpand xtmpa, x0, xmask0f ;Mask low src nibble in bits 4-0 - vpsraw x0, x0, 4 ;Shift to put high nibble into bits 4-0 - vpand x0, x0, xmask0f ;Mask high src nibble in bits 4-0 - - vpshufb xgft1_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft1_hi, xgft1_lo ;GF add high and low partials - vpxor xp1, xgft1_hi ;xp1 += partial - - vpshufb xgft2_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft2_hi, xgft2_lo ;GF add high and low partials - vpxor xp2, xgft2_hi ;xp2 += partial - - vmovdqu xgft1_lo, [tmp+vskip1*4] ;Load array Ex{00}, Ex{01}, ..., Ex{0f} - vmovdqu xgft1_hi, [tmp+vskip1*4+16] ; " Ex{00}, Ex{10}, ..., Ex{f0} - add tmp, 32 - - vpshufb xgft3_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft3_hi, xgft3_lo ;GF add high and low partials - vpxor xp3, xgft3_hi ;xp3 += partial - - vpshufb xgft4_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft4_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft4_hi, xgft4_lo ;GF add high and low partials - vpxor xp4, xgft4_hi ;xp4 += partial - - vpshufb xgft1_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft1_hi, xgft1_lo ;GF add high and low partials - vpxor xp5, xgft1_hi ;xp5 += partial - - cmp vec_i, vec - jl .next_vect - - mov tmp, [dest+2*PS] - mov ptr, [dest+3*PS] - mov vec_i, [dest+4*PS] - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - XSTR [tmp+pos], xp3 - XSTR [ptr+pos], xp4 - XSTR [vec_i+pos], xp5 - - add pos, 16 ;Loop on 16 bytes at a time - cmp pos, len - jle .loop16 - - lea tmp, [len + 16] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop16 ;Do one more overlap pass - -.return_pass: - FUNC_RESTORE - mov return, 0 - ret - -.return_fail: - FUNC_RESTORE - mov return, 1 - ret - -endproc_frame - -section .data - -align 16 -mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion gf_5vect_dot_prod_avx, 02, 03, 0194 diff --git a/pkg/encoding/erasure/gf-5vect-dot-prod-avx2.asm b/pkg/encoding/erasure/gf-5vect-dot-prod-avx2.asm deleted file mode 100644 index d0f2ef4ab..000000000 --- a/pkg/encoding/erasure/gf-5vect-dot-prod-avx2.asm +++ /dev/null @@ -1,363 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_5vect_dot_prod_avx2(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_5VECT_DOT_PROD_AVX2 _gf_5vect_dot_prod_avx2 -%else - %define GF_5VECT_DOT_PROD_AVX2 gf_5vect_dot_prod_avx2 -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define arg5 r15 ; must be saved and restored - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define tmp5 rdi ; must be saved and restored - %define tmp6 rsi ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 10*16 + 7*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - vmovdqa [rsp + 0*16], xmm6 - vmovdqa [rsp + 1*16], xmm7 - vmovdqa [rsp + 2*16], xmm8 - vmovdqa [rsp + 3*16], xmm9 - vmovdqa [rsp + 4*16], xmm10 - vmovdqa [rsp + 5*16], xmm11 - vmovdqa [rsp + 6*16], xmm12 - vmovdqa [rsp + 7*16], xmm13 - vmovdqa [rsp + 8*16], xmm14 - vmovdqa [rsp + 9*16], xmm15 - save_reg r12, 10*16 + 0*8 - save_reg r13, 10*16 + 1*8 - save_reg r14, 10*16 + 2*8 - save_reg r15, 10*16 + 3*8 - save_reg rdi, 10*16 + 4*8 - save_reg rsi, 10*16 + 5*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - vmovdqa xmm6, [rsp + 0*16] - vmovdqa xmm7, [rsp + 1*16] - vmovdqa xmm8, [rsp + 2*16] - vmovdqa xmm9, [rsp + 3*16] - vmovdqa xmm10, [rsp + 4*16] - vmovdqa xmm11, [rsp + 5*16] - vmovdqa xmm12, [rsp + 6*16] - vmovdqa xmm13, [rsp + 7*16] - vmovdqa xmm14, [rsp + 8*16] - vmovdqa xmm15, [rsp + 9*16] - mov r12, [rsp + 10*16 + 0*8] - mov r13, [rsp + 10*16 + 1*8] - mov r14, [rsp + 10*16 + 2*8] - mov r15, [rsp + 10*16 + 3*8] - mov rdi, [rsp + 10*16 + 4*8] - mov rsi, [rsp + 10*16 + 5*8] - add rsp, stack_size - %endmacro -%endif - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest arg4 -%define ptr arg5 -%define vec_i tmp2 -%define dest1 tmp3 -%define dest2 tmp4 -%define vskip1 tmp5 -%define vskip3 tmp6 -%define pos return - - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR vmovdqu - %define XSTR vmovdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR vmovdqa - %define XSTR vmovdqa - %else - %define XLDR vmovntdqa - %define XSTR vmovntdq - %endif -%endif - -default rel - -[bits 64] -section .text - -%define xmask0f ymm15 -%define xmask0fx xmm15 -%define xgft1_lo ymm14 -%define xgft1_hi ymm13 -%define xgft2_lo ymm12 -%define xgft2_hi ymm11 -%define xgft3_lo ymm10 -%define xgft3_hi ymm9 -%define xgft4_lo ymm8 -%define xgft4_hi ymm7 - - -%define x0 ymm0 -%define xtmpa ymm1 -%define xp1 ymm2 -%define xp2 ymm3 -%define xp3 ymm4 -%define xp4 ymm5 -%define xp5 ymm6 - -align 16 -global GF_5VECT_DOT_PROD_AVX2:function -func(GF_5VECT_DOT_PROD_AVX2) - FUNC_SAVE - sub len, 32 - jl .return_fail - xor pos, pos - mov tmp.b, 0x0f - vpinsrb xmask0fx, xmask0fx, tmp.w, 0 - vpbroadcastb xmask0f, xmask0fx ;Construct mask 0x0f0f0f... - mov vskip1, vec - imul vskip1, 32 - mov vskip3, vec - imul vskip3, 96 - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest1, [dest] - mov dest2, [dest+PS] - - -.loop32: - mov tmp, mul_array - xor vec_i, vec_i - vpxor xp1, xp1 - vpxor xp2, xp2 - vpxor xp3, xp3 - vpxor xp4, xp4 - vpxor xp5, xp5 - - -.next_vect: - mov ptr, [src+vec_i] - XLDR x0, [ptr+pos] ;Get next source vector - add vec_i, PS - - vpand xgft4_lo, x0, xmask0f ;Mask low src nibble in bits 4-0 - vpsraw x0, x0, 4 ;Shift to put high nibble into bits 4-0 - vpand x0, x0, xmask0f ;Mask high src nibble in bits 4-0 - vperm2i128 xtmpa, xgft4_lo, x0, 0x30 ;swap xtmpa from 1lo|2lo to 1lo|2hi - vperm2i128 x0, xgft4_lo, x0, 0x12 ;swap x0 from 1hi|2hi to 1hi|2lo - - vmovdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - ; " Ax{00}, Ax{10}, ..., Ax{f0} - vmovdqu xgft2_lo, [tmp+vskip1*1] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - ; " Bx{00}, Bx{10}, ..., Bx{f0} - vmovdqu xgft3_lo, [tmp+vskip1*2] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - ; " Cx{00}, Cx{10}, ..., Cx{f0} - vmovdqu xgft4_lo, [tmp+vskip3] ;Load array Dx{00}, Dx{01}, ..., Dx{0f} - ; " Dx{00}, Dx{10}, ..., Dx{f0} - - vperm2i128 xgft1_hi, xgft1_lo, xgft1_lo, 0x01 ; swapped to hi | lo - vperm2i128 xgft2_hi, xgft2_lo, xgft2_lo, 0x01 ; swapped to hi | lo - vperm2i128 xgft3_hi, xgft3_lo, xgft3_lo, 0x01 ; swapped to hi | lo - vperm2i128 xgft4_hi, xgft4_lo, xgft4_lo, 0x01 ; swapped to hi | lo - - vpshufb xgft1_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft1_hi, xgft1_lo ;GF add high and low partials - vpxor xp1, xgft1_hi ;xp1 += partial - - vpshufb xgft2_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft2_hi, xgft2_lo ;GF add high and low partials - vpxor xp2, xgft2_hi ;xp2 += partial - - vmovdqu xgft1_lo, [tmp+vskip1*4] ;Load array Ex{00}, Ex{01}, ..., Ex{0f} - ; " Ex{00}, Ex{10}, ..., Ex{f0} - vperm2i128 xgft1_hi, xgft1_lo, xgft1_lo, 0x01 ; swapped to hi | lo - add tmp, 32 - - vpshufb xgft3_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft3_hi, xgft3_lo ;GF add high and low partials - vpxor xp3, xgft3_hi ;xp3 += partial - - vpshufb xgft4_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft4_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft4_hi, xgft4_lo ;GF add high and low partials - vpxor xp4, xgft4_hi ;xp4 += partial - - vpshufb xgft1_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft1_hi, xgft1_lo ;GF add high and low partials - vpxor xp5, xgft1_hi ;xp5 += partial - - cmp vec_i, vec - jl .next_vect - - mov tmp, [dest+2*PS] - mov ptr, [dest+3*PS] - mov vec_i, [dest+4*PS] - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - XSTR [tmp+pos], xp3 - XSTR [ptr+pos], xp4 - XSTR [vec_i+pos], xp5 - - add pos, 32 ;Loop on 32 bytes at a time - cmp pos, len - jle .loop32 - - lea tmp, [len + 32] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop32 ;Do one more overlap pass - -.return_pass: - FUNC_RESTORE - mov return, 0 - ret - -.return_fail: - FUNC_RESTORE - mov return, 1 - ret - -endproc_frame - -section .data - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_5VECT_DOT_PROD_AVX2, 04, 03, 0199 diff --git a/pkg/encoding/erasure/gf-5vect-dot-prod-sse.asm b/pkg/encoding/erasure/gf-5vect-dot-prod-sse.asm deleted file mode 100644 index 15a698c11..000000000 --- a/pkg/encoding/erasure/gf-5vect-dot-prod-sse.asm +++ /dev/null @@ -1,350 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_5vect_dot_prod_sse(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_5VECT_DOT_PROD_SSE _gf_5vect_dot_prod_sse -%else - %define GF_5VECT_DOT_PROD_SSE gf_5vect_dot_prod_sse -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define arg5 r15 ; must be saved and restored - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define tmp5 rdi ; must be saved and restored - %define tmp6 rsi ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 10*16 + 7*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_xmm128 xmm9, 3*16 - save_xmm128 xmm10, 4*16 - save_xmm128 xmm11, 5*16 - save_xmm128 xmm12, 6*16 - save_xmm128 xmm13, 7*16 - save_xmm128 xmm14, 8*16 - save_xmm128 xmm15, 9*16 - save_reg r12, 10*16 + 0*8 - save_reg r13, 10*16 + 1*8 - save_reg r14, 10*16 + 2*8 - save_reg r15, 10*16 + 3*8 - save_reg rdi, 10*16 + 4*8 - save_reg rsi, 10*16 + 5*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - movdqa xmm6, [rsp + 0*16] - movdqa xmm7, [rsp + 1*16] - movdqa xmm8, [rsp + 2*16] - movdqa xmm9, [rsp + 3*16] - movdqa xmm10, [rsp + 4*16] - movdqa xmm11, [rsp + 5*16] - movdqa xmm12, [rsp + 6*16] - movdqa xmm13, [rsp + 7*16] - movdqa xmm14, [rsp + 8*16] - movdqa xmm15, [rsp + 9*16] - mov r12, [rsp + 10*16 + 0*8] - mov r13, [rsp + 10*16 + 1*8] - mov r14, [rsp + 10*16 + 2*8] - mov r15, [rsp + 10*16 + 3*8] - mov rdi, [rsp + 10*16 + 4*8] - mov rsi, [rsp + 10*16 + 5*8] - add rsp, stack_size - %endmacro -%endif - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest arg4 -%define ptr arg5 -%define vec_i tmp2 -%define dest1 tmp3 -%define dest2 tmp4 -%define vskip1 tmp5 -%define vskip3 tmp6 -%define pos return - - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR movdqu - %define XSTR movdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR movdqa - %define XSTR movdqa - %else - %define XLDR movntdqa - %define XSTR movntdq - %endif -%endif - -default rel - -[bits 64] -section .text - -%define xmask0f xmm15 -%define xgft1_lo xmm14 -%define xgft1_hi xmm13 -%define xgft2_lo xmm12 -%define xgft2_hi xmm11 -%define xgft3_lo xmm10 -%define xgft3_hi xmm9 -%define xgft4_lo xmm8 -%define xgft4_hi xmm7 - - -%define x0 xmm0 -%define xtmpa xmm1 -%define xp1 xmm2 -%define xp2 xmm3 -%define xp3 xmm4 -%define xp4 xmm5 -%define xp5 xmm6 - -align 16 -global GF_5VECT_DOT_PROD_SSE:function -func(GF_5VECT_DOT_PROD_SSE) - FUNC_SAVE - sub len, 16 - jl .return_fail - xor pos, pos - movdqa xmask0f, [mask0f] ;Load mask of lower nibble in each byte - mov vskip1, vec - imul vskip1, 32 - mov vskip3, vec - imul vskip3, 96 - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest1, [dest] - mov dest2, [dest+PS] - - -.loop16: - mov tmp, mul_array - xor vec_i, vec_i - pxor xp1, xp1 - pxor xp2, xp2 - pxor xp3, xp3 - pxor xp4, xp4 - pxor xp5, xp5 - - -.next_vect: - mov ptr, [src+vec_i] - add vec_i, PS - XLDR x0, [ptr+pos] ;Get next source vector - - movdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - movdqu xgft1_hi, [tmp+16] ; " Ax{00}, Ax{10}, ..., Ax{f0} - movdqu xgft2_lo, [tmp+vskip1*1] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - movdqu xgft2_hi, [tmp+vskip1*1+16] ; " Bx{00}, Bx{10}, ..., Bx{f0} - movdqu xgft3_lo, [tmp+vskip1*2] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - movdqu xgft3_hi, [tmp+vskip1*2+16] ; " Cx{00}, Cx{10}, ..., Cx{f0} - movdqu xgft4_lo, [tmp+vskip3] ;Load array Dx{00}, Dx{01}, ..., Dx{0f} - movdqu xgft4_hi, [tmp+vskip3+16] ; " Dx{00}, Dx{10}, ..., Dx{f0} - - movdqa xtmpa, x0 ;Keep unshifted copy of src - psraw x0, 4 ;Shift to put high nibble into bits 4-0 - pand x0, xmask0f ;Mask high src nibble in bits 4-0 - pand xtmpa, xmask0f ;Mask low src nibble in bits 4-0 - - pshufb xgft1_hi, x0 ;Lookup mul table of high nibble - pshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft1_hi, xgft1_lo ;GF add high and low partials - pxor xp1, xgft1_hi ;xp1 += partial - - pshufb xgft2_hi, x0 ;Lookup mul table of high nibble - pshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft2_hi, xgft2_lo ;GF add high and low partials - pxor xp2, xgft2_hi ;xp2 += partial - - movdqu xgft1_lo, [tmp+vskip1*4] ;Load array Ex{00}, Ex{01}, ..., Ex{0f} - movdqu xgft1_hi, [tmp+vskip1*4+16] ; " Ex{00}, Ex{10}, ..., Ex{f0} - add tmp, 32 - - pshufb xgft3_hi, x0 ;Lookup mul table of high nibble - pshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft3_hi, xgft3_lo ;GF add high and low partials - pxor xp3, xgft3_hi ;xp3 += partial - - pshufb xgft4_hi, x0 ;Lookup mul table of high nibble - pshufb xgft4_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft4_hi, xgft4_lo ;GF add high and low partials - pxor xp4, xgft4_hi ;xp4 += partial - - pshufb xgft1_hi, x0 ;Lookup mul table of high nibble - pshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft1_hi, xgft1_lo ;GF add high and low partials - pxor xp5, xgft1_hi ;xp5 += partial - - cmp vec_i, vec - jl .next_vect - - mov tmp, [dest+2*PS] - mov ptr, [dest+3*PS] - mov vec_i, [dest+4*PS] - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - XSTR [tmp+pos], xp3 - XSTR [ptr+pos], xp4 - XSTR [vec_i+pos], xp5 - - add pos, 16 ;Loop on 16 bytes at a time - cmp pos, len - jle .loop16 - - lea tmp, [len + 16] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop16 ;Do one more overlap pass - -.return_pass: - FUNC_RESTORE - mov return, 0 - ret - -.return_fail: - FUNC_RESTORE - mov return, 1 - ret - -endproc_frame - -section .data - -align 16 -mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_5VECT_DOT_PROD_SSE, 00, 03, 0065 diff --git a/pkg/encoding/erasure/gf-6vect-dot-prod-avx.asm b/pkg/encoding/erasure/gf-6vect-dot-prod-avx.asm deleted file mode 100644 index 899bd75c7..000000000 --- a/pkg/encoding/erasure/gf-6vect-dot-prod-avx.asm +++ /dev/null @@ -1,361 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_6vect_dot_prod_avx(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_6VECT_DOT_PROD_AVX _gf_6vect_dot_prod_avx -%else - %define GF_6VECT_DOT_PROD_AVX gf_6vect_dot_prod_avx -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define arg5 r15 ; must be saved and restored - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define tmp5 rdi ; must be saved and restored - %define tmp6 rsi ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 10*16 + 7*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_xmm128 xmm9, 3*16 - save_xmm128 xmm10, 4*16 - save_xmm128 xmm11, 5*16 - save_xmm128 xmm12, 6*16 - save_xmm128 xmm13, 7*16 - save_xmm128 xmm14, 8*16 - save_xmm128 xmm15, 9*16 - save_reg r12, 10*16 + 0*8 - save_reg r13, 10*16 + 1*8 - save_reg r14, 10*16 + 2*8 - save_reg r15, 10*16 + 3*8 - save_reg rdi, 10*16 + 4*8 - save_reg rsi, 10*16 + 5*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - vmovdqa xmm6, [rsp + 0*16] - vmovdqa xmm7, [rsp + 1*16] - vmovdqa xmm8, [rsp + 2*16] - vmovdqa xmm9, [rsp + 3*16] - vmovdqa xmm10, [rsp + 4*16] - vmovdqa xmm11, [rsp + 5*16] - vmovdqa xmm12, [rsp + 6*16] - vmovdqa xmm13, [rsp + 7*16] - vmovdqa xmm14, [rsp + 8*16] - vmovdqa xmm15, [rsp + 9*16] - mov r12, [rsp + 10*16 + 0*8] - mov r13, [rsp + 10*16 + 1*8] - mov r14, [rsp + 10*16 + 2*8] - mov r15, [rsp + 10*16 + 3*8] - mov rdi, [rsp + 10*16 + 4*8] - mov rsi, [rsp + 10*16 + 5*8] - add rsp, stack_size - %endmacro -%endif - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest arg4 -%define ptr arg5 -%define vec_i tmp2 -%define dest1 tmp3 -%define dest2 tmp4 -%define vskip1 tmp5 -%define vskip3 tmp6 -%define pos return - - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR vmovdqu - %define XSTR vmovdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR vmovdqa - %define XSTR vmovdqa - %else - %define XLDR vmovntdqa - %define XSTR vmovntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f xmm15 -%define xgft1_lo xmm14 -%define xgft1_hi xmm13 -%define xgft2_lo xmm12 -%define xgft2_hi xmm11 -%define xgft3_lo xmm10 -%define xgft3_hi xmm9 -%define x0 xmm0 -%define xtmpa xmm1 -%define xp1 xmm2 -%define xp2 xmm3 -%define xp3 xmm4 -%define xp4 xmm5 -%define xp5 xmm6 -%define xp6 xmm7 - -align 16 -global GF_6VECT_DOT_PROD_AVX:function -func(GF_6VECT_DOT_PROD_AVX) - FUNC_SAVE - sub len, 16 - jl .return_fail - xor pos, pos - vmovdqa xmask0f, [mask0f] ;Load mask of lower nibble in each byte - mov vskip1, vec - imul vskip1, 32 - mov vskip3, vec - imul vskip3, 96 - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest1, [dest] - mov dest2, [dest+PS] - - -.loop16: - mov tmp, mul_array - xor vec_i, vec_i - vpxor xp1, xp1 - vpxor xp2, xp2 - vpxor xp3, xp3 - vpxor xp4, xp4 - vpxor xp5, xp5 - vpxor xp6, xp6 - -.next_vect: - mov ptr, [src+vec_i] - add vec_i, PS - XLDR x0, [ptr+pos] ;Get next source vector - - vmovdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - vmovdqu xgft1_hi, [tmp+16] ; " Ax{00}, Ax{10}, ..., Ax{f0} - vmovdqu xgft2_lo, [tmp+vskip1*1] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - vmovdqu xgft2_hi, [tmp+vskip1*1+16] ; " Bx{00}, Bx{10}, ..., Bx{f0} - vmovdqu xgft3_lo, [tmp+vskip1*2] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - vmovdqu xgft3_hi, [tmp+vskip1*2+16] ; " Cx{00}, Cx{10}, ..., Cx{f0} - lea ptr, [vskip1 + vskip1*4] ;ptr = vskip5 - - vpand xtmpa, x0, xmask0f ;Mask low src nibble in bits 4-0 - vpsraw x0, x0, 4 ;Shift to put high nibble into bits 4-0 - vpand x0, x0, xmask0f ;Mask high src nibble in bits 4-0 - - - vpshufb xgft1_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft1_hi, xgft1_lo ;GF add high and low partials - vpxor xp1, xgft1_hi ;xp1 += partial - - vpshufb xgft2_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft2_hi, xgft2_lo ;GF add high and low partials - vpxor xp2, xgft2_hi ;xp2 += partial - - vpshufb xgft3_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft3_hi, xgft3_lo ;GF add high and low partials - vpxor xp3, xgft3_hi ;xp3 += partial - - - vmovdqu xgft1_lo, [tmp+vskip3] ;Load array Dx{00}, Dx{01}, ..., Dx{0f} - vmovdqu xgft1_hi, [tmp+vskip3+16] ; " Dx{00}, Dx{10}, ..., Dx{f0} - vmovdqu xgft2_lo, [tmp+vskip1*4] ;Load array Ex{00}, Ex{01}, ..., Ex{0f} - vmovdqu xgft2_hi, [tmp+vskip1*4+16] ; " Ex{00}, Ex{10}, ..., Ex{f0} - vmovdqu xgft3_lo, [tmp+ptr] ;Load array Fx{00}, Fx{01}, ..., Fx{0f} - vmovdqu xgft3_hi, [tmp+ptr+16] ; " Fx{00}, Fx{10}, ..., Fx{f0} - add tmp, 32 - - - vpshufb xgft1_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft1_hi, xgft1_lo ;GF add high and low partials - vpxor xp4, xgft1_hi ;xp4 += partial - - vpshufb xgft2_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft2_hi, xgft2_lo ;GF add high and low partials - vpxor xp5, xgft2_hi ;xp5 += partial - - vpshufb xgft3_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft3_hi, xgft3_lo ;GF add high and low partials - vpxor xp6, xgft3_hi ;xp6 += partial - - cmp vec_i, vec - jl .next_vect - - - mov tmp, [dest+2*PS] - mov ptr, [dest+3*PS] - mov vec_i, [dest+4*PS] - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - XSTR [tmp+pos], xp3 - mov tmp, [dest+5*PS] - XSTR [ptr+pos], xp4 - XSTR [vec_i+pos], xp5 - XSTR [tmp+pos], xp6 - - add pos, 16 ;Loop on 16 bytes at a time - cmp pos, len - jle .loop16 - - lea tmp, [len + 16] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop16 ;Do one more overlap pass - -.return_pass: - FUNC_RESTORE - mov return, 0 - ret - -.return_fail: - FUNC_RESTORE - mov return, 1 - ret - -endproc_frame - -section .data - -align 16 -mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_6VECT_DOT_PROD_AVX, 02, 03, 0195 diff --git a/pkg/encoding/erasure/gf-6vect-dot-prod-avx2.asm b/pkg/encoding/erasure/gf-6vect-dot-prod-avx2.asm deleted file mode 100644 index 789b802d4..000000000 --- a/pkg/encoding/erasure/gf-6vect-dot-prod-avx2.asm +++ /dev/null @@ -1,374 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_6vect_dot_prod_avx2(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_6VECT_DOT_PROD_AVX2 _gf_6vect_dot_prod_avx2 -%else - %define GF_6VECT_DOT_PROD_AVX2 gf_6vect_dot_prod_avx2 -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define arg5 r15 ; must be saved and restored - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define tmp5 rdi ; must be saved and restored - %define tmp6 rsi ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 10*16 + 7*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - vmovdqa [rsp + 0*16], xmm6 - vmovdqa [rsp + 1*16], xmm7 - vmovdqa [rsp + 2*16], xmm8 - vmovdqa [rsp + 3*16], xmm9 - vmovdqa [rsp + 4*16], xmm10 - vmovdqa [rsp + 5*16], xmm11 - vmovdqa [rsp + 6*16], xmm12 - vmovdqa [rsp + 7*16], xmm13 - vmovdqa [rsp + 8*16], xmm14 - vmovdqa [rsp + 9*16], xmm15 - save_reg r12, 10*16 + 0*8 - save_reg r13, 10*16 + 1*8 - save_reg r14, 10*16 + 2*8 - save_reg r15, 10*16 + 3*8 - save_reg rdi, 10*16 + 4*8 - save_reg rsi, 10*16 + 5*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - vmovdqa xmm6, [rsp + 0*16] - vmovdqa xmm7, [rsp + 1*16] - vmovdqa xmm8, [rsp + 2*16] - vmovdqa xmm9, [rsp + 3*16] - vmovdqa xmm10, [rsp + 4*16] - vmovdqa xmm11, [rsp + 5*16] - vmovdqa xmm12, [rsp + 6*16] - vmovdqa xmm13, [rsp + 7*16] - vmovdqa xmm14, [rsp + 8*16] - vmovdqa xmm15, [rsp + 9*16] - mov r12, [rsp + 10*16 + 0*8] - mov r13, [rsp + 10*16 + 1*8] - mov r14, [rsp + 10*16 + 2*8] - mov r15, [rsp + 10*16 + 3*8] - mov rdi, [rsp + 10*16 + 4*8] - mov rsi, [rsp + 10*16 + 5*8] - add rsp, stack_size - %endmacro -%endif - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest arg4 -%define ptr arg5 -%define vec_i tmp2 -%define dest1 tmp3 -%define dest2 tmp4 -%define vskip1 tmp5 -%define vskip3 tmp6 -%define pos return - - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR vmovdqu - %define XSTR vmovdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR vmovdqa - %define XSTR vmovdqa - %else - %define XLDR vmovntdqa - %define XSTR vmovntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f ymm15 -%define xmask0fx xmm15 -%define xgft1_lo ymm14 -%define xgft1_hi ymm13 -%define xgft2_lo ymm12 -%define xgft2_hi ymm11 -%define xgft3_lo ymm10 -%define xgft3_hi ymm9 -%define x0 ymm0 -%define xtmpa ymm1 -%define xp1 ymm2 -%define xp2 ymm3 -%define xp3 ymm4 -%define xp4 ymm5 -%define xp5 ymm6 -%define xp6 ymm7 - -align 16 -global gf_6vect_dot_prod_avx2:function -func(gf_6vect_dot_prod_avx2) - FUNC_SAVE - sub len, 32 - jl .return_fail - xor pos, pos - mov tmp.b, 0x0f - vpinsrb xmask0fx, xmask0fx, tmp.w, 0 - vpbroadcastb xmask0f, xmask0fx ;Construct mask 0x0f0f0f... - mov vskip1, vec - imul vskip1, 32 - mov vskip3, vec - imul vskip3, 96 - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest1, [dest] - mov dest2, [dest+PS] - - -.loop32: - mov tmp, mul_array - xor vec_i, vec_i - vpxor xp1, xp1 - vpxor xp2, xp2 - vpxor xp3, xp3 - vpxor xp4, xp4 - vpxor xp5, xp5 - vpxor xp6, xp6 - -.next_vect: - mov ptr, [src+vec_i] - XLDR x0, [ptr+pos] ;Get next source vector - add vec_i, PS - - vpand xgft3_lo, x0, xmask0f ;Mask low src nibble in bits 4-0 - vpsraw x0, x0, 4 ;Shift to put high nibble into bits 4-0 - vpand x0, x0, xmask0f ;Mask high src nibble in bits 4-0 - vperm2i128 xtmpa, xgft3_lo, x0, 0x30 ;swap xtmpa from 1lo|2lo to 1lo|2hi - vperm2i128 x0, xgft3_lo, x0, 0x12 ;swap x0 from 1hi|2hi to 1hi|2lo - - vmovdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - ; " Ax{00}, Ax{10}, ..., Ax{f0} - vmovdqu xgft2_lo, [tmp+vskip1*1] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - ; " Bx{00}, Bx{10}, ..., Bx{f0} - vmovdqu xgft3_lo, [tmp+vskip1*2] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - ; " Cx{00}, Cx{10}, ..., Cx{f0} - lea ptr, [vskip1 + vskip1*4] ;ptr = vskip5 - - vperm2i128 xgft1_hi, xgft1_lo, xgft1_lo, 0x01 ; swapped to hi | lo - vperm2i128 xgft2_hi, xgft2_lo, xgft2_lo, 0x01 ; swapped to hi | lo - vperm2i128 xgft3_hi, xgft3_lo, xgft3_lo, 0x01 ; swapped to hi | lo - - vpshufb xgft1_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft1_hi, xgft1_lo ;GF add high and low partials - vpxor xp1, xgft1_hi ;xp1 += partial - - vpshufb xgft2_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft2_hi, xgft2_lo ;GF add high and low partials - vpxor xp2, xgft2_hi ;xp2 += partial - - vpshufb xgft3_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft3_hi, xgft3_lo ;GF add high and low partials - vpxor xp3, xgft3_hi ;xp3 += partial - - - vmovdqu xgft1_lo, [tmp+vskip3] ;Load array Dx{00}, Dx{01}, ..., Dx{0f} - ; " Dx{00}, Dx{10}, ..., Dx{f0} - vmovdqu xgft2_lo, [tmp+vskip1*4] ;Load array Ex{00}, Ex{01}, ..., Ex{0f} - ; " Ex{00}, Ex{10}, ..., Ex{f0} - vmovdqu xgft3_lo, [tmp+ptr] ;Load array Fx{00}, Fx{01}, ..., Fx{0f} - ; " Fx{00}, Fx{10}, ..., Fx{f0} - add tmp, 32 - vperm2i128 xgft1_hi, xgft1_lo, xgft1_lo, 0x01 ; swapped to hi | lo - vperm2i128 xgft2_hi, xgft2_lo, xgft2_lo, 0x01 ; swapped to hi | lo - vperm2i128 xgft3_hi, xgft3_lo, xgft3_lo, 0x01 ; swapped to hi | lo - - vpshufb xgft1_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft1_hi, xgft1_lo ;GF add high and low partials - vpxor xp4, xgft1_hi ;xp4 += partial - - vpshufb xgft2_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft2_hi, xgft2_lo ;GF add high and low partials - vpxor xp5, xgft2_hi ;xp5 += partial - - vpshufb xgft3_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft3_hi, xgft3_lo ;GF add high and low partials - vpxor xp6, xgft3_hi ;xp6 += partial - - cmp vec_i, vec - jl .next_vect - - - mov tmp, [dest+2*PS] - mov ptr, [dest+3*PS] - mov vec_i, [dest+4*PS] - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - XSTR [tmp+pos], xp3 - mov tmp, [dest+5*PS] - XSTR [ptr+pos], xp4 - XSTR [vec_i+pos], xp5 - XSTR [tmp+pos], xp6 - - add pos, 32 ;Loop on 32 bytes at a time - cmp pos, len - jle .loop32 - - lea tmp, [len + 32] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop32 ;Do one more overlap pass - -.return_pass: - FUNC_RESTORE - mov return, 0 - ret - -.return_fail: - FUNC_RESTORE - mov return, 1 - ret - -endproc_frame - -section .data - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion gf_6vect_dot_prod_avx2, 04, 03, 019a diff --git a/pkg/encoding/erasure/gf-6vect-dot-prod-sse.asm b/pkg/encoding/erasure/gf-6vect-dot-prod-sse.asm deleted file mode 100644 index 96a46722a..000000000 --- a/pkg/encoding/erasure/gf-6vect-dot-prod-sse.asm +++ /dev/null @@ -1,361 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_6vect_dot_prod_sse(len, vec, *g_tbls, **buffs, **dests); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_6VECT_DOT_PROD_SSE _gf_6vect_dot_prod_sse -%else - %define GF_6VECT_DOT_PROD_SSE gf_6vect_dot_prod_sse -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r12 ; must be saved and restored - %define tmp5 r14 ; must be saved and restored - %define tmp6 r15 ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - - %define func(x) x: - %macro FUNC_SAVE 0 - push r12 - push r13 - push r14 - push r15 - %endmacro - %macro FUNC_RESTORE 0 - pop r15 - pop r14 - pop r13 - pop r12 - %endmacro -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved, loaded and restored - %define arg5 r15 ; must be saved and restored - %define tmp r11 - %define tmp2 r10 - %define tmp3 r13 ; must be saved and restored - %define tmp4 r14 ; must be saved and restored - %define tmp5 rdi ; must be saved and restored - %define tmp6 rsi ; must be saved and restored - %define return rax - %define PS 8 - %define LOG_PS 3 - %define stack_size 10*16 + 7*8 ; must be an odd multiple of 8 - %define arg(x) [rsp + stack_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm8, 2*16 - save_xmm128 xmm9, 3*16 - save_xmm128 xmm10, 4*16 - save_xmm128 xmm11, 5*16 - save_xmm128 xmm12, 6*16 - save_xmm128 xmm13, 7*16 - save_xmm128 xmm14, 8*16 - save_xmm128 xmm15, 9*16 - save_reg r12, 10*16 + 0*8 - save_reg r13, 10*16 + 1*8 - save_reg r14, 10*16 + 2*8 - save_reg r15, 10*16 + 3*8 - save_reg rdi, 10*16 + 4*8 - save_reg rsi, 10*16 + 5*8 - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - movdqa xmm6, [rsp + 0*16] - movdqa xmm7, [rsp + 1*16] - movdqa xmm8, [rsp + 2*16] - movdqa xmm9, [rsp + 3*16] - movdqa xmm10, [rsp + 4*16] - movdqa xmm11, [rsp + 5*16] - movdqa xmm12, [rsp + 6*16] - movdqa xmm13, [rsp + 7*16] - movdqa xmm14, [rsp + 8*16] - movdqa xmm15, [rsp + 9*16] - mov r12, [rsp + 10*16 + 0*8] - mov r13, [rsp + 10*16 + 1*8] - mov r14, [rsp + 10*16 + 2*8] - mov r15, [rsp + 10*16 + 3*8] - mov rdi, [rsp + 10*16 + 4*8] - mov rsi, [rsp + 10*16 + 5*8] - add rsp, stack_size - %endmacro -%endif - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest arg4 -%define ptr arg5 -%define vec_i tmp2 -%define dest1 tmp3 -%define dest2 tmp4 -%define vskip1 tmp5 -%define vskip3 tmp6 -%define pos return - - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR movdqu - %define XSTR movdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR movdqa - %define XSTR movdqa - %else - %define XLDR movntdqa - %define XSTR movntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f xmm15 -%define xgft1_lo xmm14 -%define xgft1_hi xmm13 -%define xgft2_lo xmm12 -%define xgft2_hi xmm11 -%define xgft3_lo xmm10 -%define xgft3_hi xmm9 -%define x0 xmm0 -%define xtmpa xmm1 -%define xp1 xmm2 -%define xp2 xmm3 -%define xp3 xmm4 -%define xp4 xmm5 -%define xp5 xmm6 -%define xp6 xmm7 - -align 16 -global GF_6VECT_DOT_PROD_SSE:function -func(GF_6VECT_DOT_PROD_SSE) - FUNC_SAVE - sub len, 16 - jl .return_fail - xor pos, pos - movdqa xmask0f, [mask0f] ;Load mask of lower nibble in each byte - mov vskip1, vec - imul vskip1, 32 - mov vskip3, vec - imul vskip3, 96 - sal vec, LOG_PS ;vec *= PS. Make vec_i count by PS - mov dest1, [dest] - mov dest2, [dest+PS] - - -.loop16: - mov tmp, mul_array - xor vec_i, vec_i - pxor xp1, xp1 - pxor xp2, xp2 - pxor xp3, xp3 - pxor xp4, xp4 - pxor xp5, xp5 - pxor xp6, xp6 - -.next_vect: - mov ptr, [src+vec_i] - add vec_i, PS - XLDR x0, [ptr+pos] ;Get next source vector - - movdqu xgft1_lo, [tmp] ;Load array Ax{00}, Ax{01}, ..., Ax{0f} - movdqu xgft1_hi, [tmp+16] ; " Ax{00}, Ax{10}, ..., Ax{f0} - movdqu xgft2_lo, [tmp+vskip1*1] ;Load array Bx{00}, Bx{01}, ..., Bx{0f} - movdqu xgft2_hi, [tmp+vskip1*1+16] ; " Bx{00}, Bx{10}, ..., Bx{f0} - movdqu xgft3_lo, [tmp+vskip1*2] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - movdqu xgft3_hi, [tmp+vskip1*2+16] ; " Cx{00}, Cx{10}, ..., Cx{f0} - lea ptr, [vskip1 + vskip1*4] ;ptr = vskip5 - - movdqa xtmpa, x0 ;Keep unshifted copy of src - psraw x0, 4 ;Shift to put high nibble into bits 4-0 - pand x0, xmask0f ;Mask high src nibble in bits 4-0 - pand xtmpa, xmask0f ;Mask low src nibble in bits 4-0 - - pshufb xgft1_hi, x0 ;Lookup mul table of high nibble - pshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft1_hi, xgft1_lo ;GF add high and low partials - pxor xp1, xgft1_hi ;xp1 += partial - - pshufb xgft2_hi, x0 ;Lookup mul table of high nibble - pshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft2_hi, xgft2_lo ;GF add high and low partials - pxor xp2, xgft2_hi ;xp2 += partial - - pshufb xgft3_hi, x0 ;Lookup mul table of high nibble - pshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft3_hi, xgft3_lo ;GF add high and low partials - pxor xp3, xgft3_hi ;xp3 += partial - - - movdqu xgft1_lo, [tmp+vskip3] ;Load array Dx{00}, Dx{01}, ..., Dx{0f} - movdqu xgft1_hi, [tmp+vskip3+16] ; " Dx{00}, Dx{10}, ..., Dx{f0} - movdqu xgft2_lo, [tmp+vskip1*4] ;Load array Ex{00}, Ex{01}, ..., Ex{0f} - movdqu xgft2_hi, [tmp+vskip1*4+16] ; " Ex{00}, Ex{10}, ..., Ex{f0} - movdqu xgft3_lo, [tmp+ptr] ;Load array Fx{00}, Fx{01}, ..., Fx{0f} - movdqu xgft3_hi, [tmp+ptr+16] ; " Fx{00}, Fx{10}, ..., Fx{f0} - add tmp, 32 - - - pshufb xgft1_hi, x0 ;Lookup mul table of high nibble - pshufb xgft1_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft1_hi, xgft1_lo ;GF add high and low partials - pxor xp4, xgft1_hi ;xp4 += partial - - pshufb xgft2_hi, x0 ;Lookup mul table of high nibble - pshufb xgft2_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft2_hi, xgft2_lo ;GF add high and low partials - pxor xp5, xgft2_hi ;xp5 += partial - - pshufb xgft3_hi, x0 ;Lookup mul table of high nibble - pshufb xgft3_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft3_hi, xgft3_lo ;GF add high and low partials - pxor xp6, xgft3_hi ;xp6 += partial - - cmp vec_i, vec - jl .next_vect - - - mov tmp, [dest+2*PS] - mov ptr, [dest+3*PS] - mov vec_i, [dest+4*PS] - - XSTR [dest1+pos], xp1 - XSTR [dest2+pos], xp2 - XSTR [tmp+pos], xp3 - mov tmp, [dest+5*PS] - XSTR [ptr+pos], xp4 - XSTR [vec_i+pos], xp5 - XSTR [tmp+pos], xp6 - - add pos, 16 ;Loop on 16 bytes at a time - cmp pos, len - jle .loop16 - - lea tmp, [len + 16] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop16 ;Do one more overlap pass - -.return_pass: - FUNC_RESTORE - mov return, 0 - ret - -.return_fail: - FUNC_RESTORE - mov return, 1 - ret - -endproc_frame - -section .data - -align 16 -mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_6VECT_DOT_PROD_SSE, 00, 03, 0066 diff --git a/pkg/encoding/erasure/gf-vect-dot-prod-avx.asm b/pkg/encoding/erasure/gf-vect-dot-prod-avx.asm deleted file mode 100644 index 80c6834f5..000000000 --- a/pkg/encoding/erasure/gf-vect-dot-prod-avx.asm +++ /dev/null @@ -1,221 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_vect_dot_prod_avx(len, vec, *g_tbls, **buffs, *dest); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_VECT_DOT_PROD_AVX _gf_vect_dot_prod_avx -%else - %define GF_VECT_DOT_PROD_AVX gf_vect_dot_prod_avx -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r9 - %define return rax - %define PS 8 - %define func(x) x: - %define FUNC_SAVE - %define FUNC_RESTORE -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r9 - %define return rax - %define PS 8 - %define func(x) x: - %define FUNC_SAVE - %define FUNC_RESTORE -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved and loaded - %define tmp r11 - %define tmp2 r10 - %define tmp3 rdi ; must be saved and loaded - %define return rax - %define PS 8 - %define frame_size 2*8 - %define arg(x) [rsp + frame_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - rex_push_reg r12 - push_reg rdi - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - pop rdi - pop r12 - %endmacro -%endif - - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest arg4 - -%define vec_i tmp2 -%define ptr tmp3 -%define pos return - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR vmovdqu - %define XSTR vmovdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR vmovdqa - %define XSTR vmovdqa - %else - %define XLDR vmovntdqa - %define XSTR vmovntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f xmm5 -%define xgft_lo xmm4 -%define xgft_hi xmm3 - -%define x0 xmm0 -%define xtmpa xmm1 -%define xp xmm2 - -align 16 -global GF_VECT_DOT_PROD_AVX:function -func(GF_VECT_DOT_PROD_AVX) - FUNC_SAVE - sub len, 16 - jl .return_fail - xor pos, pos - vmovdqa xmask0f, [mask0f] ;Load mask of lower nibble in each byte - -.loop16: - vpxor xp, xp - mov tmp, mul_array - xor vec_i, vec_i - -.next_vect: - mov ptr, [src+vec_i*PS] - vmovdqu xgft_lo, [tmp] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - vmovdqu xgft_hi, [tmp+16] ; " Cx{00}, Cx{10}, ..., Cx{f0} - XLDR x0, [ptr+pos] ;Get next source vector - add tmp, 32 - add vec_i, 1 - - vpand xtmpa, x0, xmask0f ;Mask low src nibble in bits 4-0 - vpsraw x0, x0, 4 ;Shift to put high nibble into bits 4-0 - vpand x0, x0, xmask0f ;Mask high src nibble in bits 4-0 - - vpshufb xgft_hi, xgft_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft_lo, xgft_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft_hi, xgft_hi, xgft_lo ;GF add high and low partials - vpxor xp, xp, xgft_hi ;xp += partial - cmp vec_i, vec - jl .next_vect - - XSTR [dest+pos], xp - add pos, 16 ;Loop on 16 bytes at a time - cmp pos, len - jle .loop16 - - lea tmp, [len + 16] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop16 ;Do one more overlap pass - -.return_pass: - mov return, 0 - FUNC_RESTORE - ret - -.return_fail: - mov return, 1 - FUNC_RESTORE - ret - -endproc_frame - -section .data - -align 16 - -poly: -mask0f: -ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_VECT_DOT_PROD_AVX, 02, 03, 0061 diff --git a/pkg/encoding/erasure/gf-vect-dot-prod-avx2.asm b/pkg/encoding/erasure/gf-vect-dot-prod-avx2.asm deleted file mode 100644 index d9645f2c7..000000000 --- a/pkg/encoding/erasure/gf-vect-dot-prod-avx2.asm +++ /dev/null @@ -1,228 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_vect_dot_prod_avx2(len, vec, *g_tbls, **buffs, *dest); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_VECT_DOT_PROD_AVX2 _gf_vect_dot_prod_avx2 -%else - %define GF_VECT_DOT_PROD_AVX2 gf_vect_dot_prod_avx2 -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r9 - %define return rax - %define PS 8 - %define func(x) x: - %define FUNC_SAVE - %define FUNC_RESTORE -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 r9 - %define return rax - %define PS 8 - %define func(x) x: - %define FUNC_SAVE - %define FUNC_RESTORE -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved and loaded - %define tmp r11 - %define tmp.w r11d - %define tmp.b r11b - %define tmp2 r10 - %define tmp3 rdi ; must be saved and loaded - %define return rax - %define PS 8 - %define frame_size 2*8 - %define arg(x) [rsp + frame_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - rex_push_reg r12 - push_reg rdi - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - pop rdi - pop r12 - %endmacro -%endif - - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest arg4 - -%define vec_i tmp2 -%define ptr tmp3 -%define pos return - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR vmovdqu - %define XSTR vmovdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR vmovdqa - %define XSTR vmovdqa - %else - %define XLDR vmovntdqa - %define XSTR vmovntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f ymm3 -%define xmask0fx xmm3 -%define xgft_lo ymm4 -%define xgft_hi ymm5 - -%define x0 ymm0 -%define xtmpa ymm1 -%define xp ymm2 - -align 16 -global GF_VECT_DOT_PROD_AVX2:function -func(GF_VECT_DOT_PROD_AVX2) - FUNC_SAVE - sub len, 32 - jl .return_fail - xor pos, pos - mov tmp.b, 0x0f - vpinsrb xmask0fx, xmask0fx, tmp.w, 0 - vpbroadcastb xmask0f, xmask0fx ;Construct mask 0x0f0f0f... - -.loop32: - vpxor xp, xp - mov tmp, mul_array - xor vec_i, vec_i - -.next_vect: - mov ptr, [src+vec_i*PS] - - vmovdqu xgft_lo, [tmp] ;Load array Cx{00}, Cx{01}, Cx{02}, ... - ; " Cx{00}, Cx{10}, Cx{20}, ... , Cx{f0} - vperm2i128 xgft_hi, xgft_lo, xgft_lo, 0x11 ; swapped to hi | hi - vperm2i128 xgft_lo, xgft_lo, xgft_lo, 0x00 ; swapped to lo | lo - - XLDR x0, [ptr+pos] ;Get next source vector - add tmp, 32 - add vec_i, 1 - - vpand xtmpa, x0, xmask0f ;Mask low src nibble in bits 4-0 - vpsraw x0, x0, 4 ;Shift to put high nibble into bits 4-0 - vpand x0, x0, xmask0f ;Mask high src nibble in bits 4-0 - - vpshufb xgft_hi, xgft_hi, x0 ;Lookup mul table of high nibble - vpshufb xgft_lo, xgft_lo, xtmpa ;Lookup mul table of low nibble - vpxor xgft_hi, xgft_hi, xgft_lo ;GF add high and low partials - vpxor xp, xp, xgft_hi ;xp += partial - cmp vec_i, vec - jl .next_vect - - XSTR [dest+pos], xp - add pos, 32 ;Loop on 32 bytes at a time - cmp pos, len - jle .loop32 - - lea tmp, [len + 32] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-32 - jmp .loop32 ;Do one more overlap pass - -.return_pass: - mov return, 0 - FUNC_RESTORE - ret - -.return_fail: - mov return, 1 - FUNC_RESTORE - ret - -endproc_frame - -section .data - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_VECT_DOT_PROD_AVX2, 04, 03, 0190 diff --git a/pkg/encoding/erasure/gf-vect-dot-prod-sse.asm b/pkg/encoding/erasure/gf-vect-dot-prod-sse.asm deleted file mode 100644 index 6b7961977..000000000 --- a/pkg/encoding/erasure/gf-vect-dot-prod-sse.asm +++ /dev/null @@ -1,217 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_vect_dot_prod_sse(len, vec, *g_tbls, **buffs, *dest); -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_VECT_DOT_PROD_SSE _gf_vect_dot_prod_sse -%else - %define GF_VECT_DOT_PROD_SSE gf_vect_dot_prod_sse -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r9 - %define return rax - %define PS 8 - %define func(x) x: - %define FUNC_SAVE - %define FUNC_RESTORE -%endif - -%ifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - - %define tmp r11 - %define tmp2 r10 - %define tmp3 r9 - %define return rax - %define PS 8 - %define func(x) x: - %define FUNC_SAVE - %define FUNC_RESTORE -%endif - -%ifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - - %define arg4 r12 ; must be saved and loaded - %define tmp r11 - %define tmp2 r10 - %define tmp3 rdi ; must be saved and loaded - %define return rax - %define PS 8 - %define frame_size 2*8 - %define arg(x) [rsp + frame_size + PS + PS*x] - - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - rex_push_reg r12 - push_reg rdi - end_prolog - mov arg4, arg(4) - %endmacro - - %macro FUNC_RESTORE 0 - pop rdi - pop r12 - %endmacro -%endif - - -%define len arg0 -%define vec arg1 -%define mul_array arg2 -%define src arg3 -%define dest arg4 - -%define vec_i tmp2 -%define ptr tmp3 -%define pos return - - -%ifndef EC_ALIGNED_ADDR -;;; Use Un-aligned load/store - %define XLDR movdqu - %define XSTR movdqu -%else -;;; Use Non-temporal load/stor - %ifdef NO_NT_LDST - %define XLDR movdqa - %define XSTR movdqa - %else - %define XLDR movntdqa - %define XSTR movntdq - %endif -%endif - - -default rel - -[bits 64] -section .text - -%define xmask0f xmm5 -%define xgft_lo xmm4 -%define xgft_hi xmm3 - -%define x0 xmm0 -%define xtmpa xmm1 -%define xp xmm2 - -align 16 -global GF_VECT_DOT_PROD_SSE:function -func(GF_VECT_DOT_PROD_SSE) - FUNC_SAVE - sub len, 16 - jl .return_fail - xor pos, pos - movdqa xmask0f, [mask0f] ;Load mask of lower nibble in each byte - -.loop16: - pxor xp, xp - mov tmp, mul_array - xor vec_i, vec_i - -.next_vect: - mov ptr, [src+vec_i*PS] - movdqu xgft_lo, [tmp] ;Load array Cx{00}, Cx{01}, ..., Cx{0f} - movdqu xgft_hi, [tmp+16] ; " Cx{00}, Cx{10}, ..., Cx{f0} - XLDR x0, [ptr+pos] ;Get next source vector - add tmp, 32 - add vec_i, 1 - movdqa xtmpa, x0 ;Keep unshifted copy of src - psraw x0, 4 ;Shift to put high nibble into bits 4-0 - pand x0, xmask0f ;Mask high src nibble in bits 4-0 - pand xtmpa, xmask0f ;Mask low src nibble in bits 4-0 - pshufb xgft_hi, x0 ;Lookup mul table of high nibble - pshufb xgft_lo, xtmpa ;Lookup mul table of low nibble - pxor xgft_hi, xgft_lo ;GF add high and low partials - pxor xp, xgft_hi ;xp += partial - cmp vec_i, vec - jl .next_vect - - XSTR [dest+pos], xp - - add pos, 16 ;Loop on 16 bytes at a time - cmp pos, len - jle .loop16 - - lea tmp, [len + 16] - cmp pos, tmp - je .return_pass - - ;; Tail len - mov pos, len ;Overlapped offset length-16 - jmp .loop16 ;Do one more overlap pass - -.return_pass: - mov return, 0 - FUNC_RESTORE - ret - -.return_fail: - mov return, 1 - FUNC_RESTORE - ret - -endproc_frame - -section .data - -align 16 -mask0f: ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_VECT_DOT_PROD_SSE, 00, 03, 0060 diff --git a/pkg/encoding/erasure/gf-vect-mul-avx.asm b/pkg/encoding/erasure/gf-vect-mul-avx.asm deleted file mode 100644 index 5df53e994..000000000 --- a/pkg/encoding/erasure/gf-vect-mul-avx.asm +++ /dev/null @@ -1,190 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_vect_mul_avx(len, mul_array, src, dest) -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_VECT_MUL_AVX _gf_vect_mul_avx -%else - %define GF_VECT_MUL_AVX gf_vect_mul_avx -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - %define tmp r11 - %define return rax - %define func(x) x: - %define FUNC_SAVE - %define FUNC_RESTORE - -%elifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - %define tmp r11 - %define return rax - %define func(x) x: - %define FUNC_SAVE - %define FUNC_RESTORE - -%elifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - %define return rax - %define stack_size 5*16 + 8 ; must be an odd multiple of 8 - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm13, 2*16 - save_xmm128 xmm14, 3*16 - save_xmm128 xmm15, 4*16 - end_prolog - %endmacro - - %macro FUNC_RESTORE 0 - vmovdqa xmm6, [rsp + 0*16] - vmovdqa xmm7, [rsp + 1*16] - vmovdqa xmm13, [rsp + 2*16] - vmovdqa xmm14, [rsp + 3*16] - vmovdqa xmm15, [rsp + 4*16] - add rsp, stack_size - %endmacro - -%endif - - -%define len arg0 -%define mul_array arg1 -%define src arg2 -%define dest arg3 -%define pos return - - -;;; Use Non-temporal load/stor -%ifdef NO_NT_LDST - %define XLDR vmovdqa - %define XSTR vmovdqa -%else - %define XLDR vmovntdqa - %define XSTR vmovntdq -%endif - -default rel - -[bits 64] -section .text - -%define xmask0f xmm15 -%define xgft_lo xmm14 -%define xgft_hi xmm13 - -%define x0 xmm0 -%define xtmp1a xmm1 -%define xtmp1b xmm2 -%define xtmp1c xmm3 -%define x1 xmm4 -%define xtmp2a xmm5 -%define xtmp2b xmm6 -%define xtmp2c xmm7 - -align 16 -global GF_VECT_MUL_AVX:function -func(GF_VECT_MUL_AVX) - FUNC_SAVE - mov pos, 0 - vmovdqa xmask0f, [mask0f] ;Load mask of lower nibble in each byte - vmovdqu xgft_lo, [mul_array] ;Load array Cx{00}, Cx{01}, Cx{02}, ... - vmovdqu xgft_hi, [mul_array+16] ; " Cx{00}, Cx{10}, Cx{20}, ... , Cx{f0} - -loop32: - XLDR x0, [src+pos] ;Get next source vector - XLDR x1, [src+pos+16] ;Get next source vector + 16B ahead - add pos, 32 ;Loop on 16 bytes at a time - cmp pos, len - vpand xtmp1a, x0, xmask0f ;Mask low src nibble in bits 4-0 - vpand xtmp2a, x1, xmask0f - vpsraw x0, x0, 4 ;Shift to put high nibble into bits 4-0 - vpsraw x1, x1, 4 - vpand x0, x0, xmask0f ;Mask high src nibble in bits 4-0 - vpand x1, x1, xmask0f - vpshufb xtmp1b, xgft_hi, x0 ;Lookup mul table of high nibble - vpshufb xtmp1c, xgft_lo, xtmp1a ;Lookup mul table of low nibble - vpshufb xtmp2b, xgft_hi, x1 ;Lookup mul table of high nibble - vpshufb xtmp2c, xgft_lo, xtmp2a ;Lookup mul table of low nibble - vpxor xtmp1b, xtmp1b, xtmp1c ;GF add high and low partials - vpxor xtmp2b, xtmp2b, xtmp2c - XSTR [dest+pos-32], xtmp1b ;Store result - XSTR [dest+pos-16], xtmp2b ;Store +16B result - jl loop32 - - -return_pass: - FUNC_RESTORE - sub pos, len - ret - -return_fail: - FUNC_RESTORE - mov return, 1 - ret - -endproc_frame - -section .data - -align 16 - -mask0f: -ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_VECT_MUL_AVX, 01, 02, 0036 diff --git a/pkg/encoding/erasure/gf-vect-mul-sse.asm b/pkg/encoding/erasure/gf-vect-mul-sse.asm deleted file mode 100644 index 229cb01a7..000000000 --- a/pkg/encoding/erasure/gf-vect-mul-sse.asm +++ /dev/null @@ -1,196 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Copyright(c) 2011-2014 Intel Corporation All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions -; are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in -; the documentation and/or other materials provided with the -; distribution. -; * Neither the name of Intel Corporation nor the names of its -; contributors may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; -;;; gf_vect_mul_sse(len, mul_array, src, dest) -;;; -;;; Author: Gregory Tucker - -%ifidn __OUTPUT_FORMAT__, macho64 - %define GF_VECT_MUL_SSE _gf_vect_mul_sse -%else - %define GF_VECT_MUL_SSE gf_vect_mul_sse -%endif - -%ifidn __OUTPUT_FORMAT__, elf64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - %define tmp r11 - %define return rax - %define func(x) x: - %define FUNC_SAVE - %define FUNC_RESTORE - -%elifidn __OUTPUT_FORMAT__, macho64 - %define arg0 rdi - %define arg1 rsi - %define arg2 rdx - %define arg3 rcx - %define arg4 r8 - %define arg5 r9 - %define tmp r11 - %define return rax - %define func(x) x: - %define FUNC_SAVE - %define FUNC_RESTORE - -%elifidn __OUTPUT_FORMAT__, win64 - %define arg0 rcx - %define arg1 rdx - %define arg2 r8 - %define arg3 r9 - %define return rax - %define stack_size 5*16 + 8 ; must be an odd multiple of 8 - %define func(x) proc_frame x - %macro FUNC_SAVE 0 - alloc_stack stack_size - save_xmm128 xmm6, 0*16 - save_xmm128 xmm7, 1*16 - save_xmm128 xmm13, 2*16 - save_xmm128 xmm14, 3*16 - save_xmm128 xmm15, 4*16 - end_prolog - %endmacro - - %macro FUNC_RESTORE 0 - movdqa xmm6, [rsp + 0*16] - movdqa xmm7, [rsp + 1*16] - movdqa xmm13, [rsp + 2*16] - movdqa xmm14, [rsp + 3*16] - movdqa xmm15, [rsp + 4*16] - add rsp, stack_size - %endmacro - -%endif - - -%define len arg0 -%define mul_array arg1 -%define src arg2 -%define dest arg3 -%define pos return - - -;;; Use Non-temporal load/stor -%ifdef NO_NT_LDST - %define XLDR movdqa - %define XSTR movdqa -%else - %define XLDR movntdqa - %define XSTR movntdq -%endif - -default rel - -[bits 64] -section .text - -%define xmask0f xmm15 -%define xgft_lo xmm14 -%define xgft_hi xmm13 - -%define x0 xmm0 -%define xtmp1a xmm1 -%define xtmp1b xmm2 -%define xtmp1c xmm3 -%define x1 xmm4 -%define xtmp2a xmm5 -%define xtmp2b xmm6 -%define xtmp2c xmm7 - - -align 16 -global GF_VECT_MUL_SSE:function -func(GF_VECT_MUL_SSE) - FUNC_SAVE - mov pos, 0 - movdqa xmask0f, [mask0f] ;Load mask of lower nibble in each byte - movdqu xgft_lo, [mul_array] ;Load array Cx{00}, Cx{01}, Cx{02}, ... - movdqu xgft_hi, [mul_array+16] ; " Cx{00}, Cx{10}, Cx{20}, ... , Cx{f0} - -loop32: - XLDR x0, [src+pos] ;Get next source vector - XLDR x1, [src+pos+16] ;Get next source vector + 16B ahead - movdqa xtmp1b, xgft_hi ;Reload const array registers - movdqa xtmp1c, xgft_lo - movdqa xtmp2b, xgft_hi - movdqa xtmp2c, xgft_lo - movdqa xtmp1a, x0 ;Keep unshifted copy of src - movdqa xtmp2a, x1 - psraw x0, 4 ;Shift to put high nibble into bits 4-0 - psraw x1, 4 - pand xtmp1a, xmask0f ;Mask low src nibble in bits 4-0 - pand xtmp2a, xmask0f - pand x0, xmask0f ;Mask high src nibble in bits 4-0 - pand x1, xmask0f - pshufb xtmp1b, x0 ;Lookup mul table of high nibble - pshufb xtmp1c, xtmp1a ;Lookup mul table of low nibble - pshufb xtmp2b, x1 - pshufb xtmp2c, xtmp2a - pxor xtmp1b, xtmp1c ;GF add high and low partials - pxor xtmp2b, xtmp2c - XSTR [dest+pos], xtmp1b ;Store result - XSTR [dest+pos+16], xtmp2b ;Store +16B result - add pos, 32 ;Loop on 32 bytes at at time - cmp pos, len - jl loop32 - - -return_pass: - sub pos, len - FUNC_RESTORE - ret - -return_fail: - mov return, 1 - FUNC_RESTORE - ret - -endproc_frame - -section .data - -align 16 -mask0f: -ddq 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f - -%macro slversion 4 -global %1_slver_%2%3%4 -global %1_slver -%1_slver: -%1_slver_%2%3%4: - dw 0x%4 - db 0x%3, 0x%2 -%endmacro -;;; func core, ver, snum -slversion GF_VECT_MUL_SSE, 00, 02, 0034 diff --git a/pkg/encoding/erasure/stdint.go b/pkg/encoding/erasure/stdint.go deleted file mode 100644 index 72f6e86ae..000000000 --- a/pkg/encoding/erasure/stdint.go +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Minimalist Object Storage, (C) 2014 Minio, Inc. - * - * 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. - */ - -package erasure - -// -// int sizeInt() -// { -// return sizeof(int); -// } -import "C" -import "unsafe" - -var ( - // See http://golang.org/ref/spec#Numeric_types - sizeInt = int(C.sizeInt()) - // SizeInt8 is the byte size of a int8. - sizeInt8 = int(unsafe.Sizeof(int8(0))) - // SizeInt16 is the byte size of a int16. - sizeInt16 = int(unsafe.Sizeof(int16(0))) - // SizeInt32 is the byte size of a int32. - sizeInt32 = int(unsafe.Sizeof(int32(0))) - // SizeInt64 is the byte size of a int64. - sizeInt64 = int(unsafe.Sizeof(int64(0))) -) diff --git a/pkg/encoding/erasure/vandermonde_test.go b/pkg/encoding/erasure/vandermonde_test.go deleted file mode 100644 index 914f9c4ed..000000000 --- a/pkg/encoding/erasure/vandermonde_test.go +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Minimalist Object Storage, (C) 2014 Minio, Inc. - * - * 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. - */ - -package erasure - -import ( - "bytes" - - . "github.com/minio-io/check" -) - -func corruptChunks(chunks [][]byte, errorIndex []int) [][]byte { - for _, err := range errorIndex { - chunks[err] = nil - } - return chunks -} - -func (s *MySuite) TestVanderMondeEncodeDecodeFailure(c *C) { - ep, _ := ValidateParams(k, m, Vandermonde) - - data := []byte("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.") - - e := NewErasure(ep) - chunks, err := e.Encode(data) - c.Assert(err, IsNil) - - errorIndex := []int{0, 3, 5, 9, 11, 13} - chunks = corruptChunks(chunks, errorIndex) - - _, err = e.Decode(chunks, len(data)) - c.Assert(err, Not(IsNil)) -} - -func (s *MySuite) TestVanderMondeEncodeDecodeSuccess(c *C) { - ep, _ := ValidateParams(k, m, Vandermonde) - - data := []byte("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.") - - e := NewErasure(ep) - chunks, err := e.Encode(data) - c.Assert(err, IsNil) - - errorIndex := []int{0, 3, 5, 9, 13} - chunks = corruptChunks(chunks, errorIndex) - - recoveredData, err := e.Decode(chunks, len(data)) - c.Assert(err, IsNil) - - if !bytes.Equal(recoveredData, data) { - c.Fatalf("Recovered data mismatches with original data") - } -}