diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..1c26b249 --- /dev/null +++ b/.gitignore @@ -0,0 +1,69 @@ +.DS_Store +node_modules +dist +build + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +__pycache__ +~~* +--* +==* +package-lock.json +yarn.lock +.git +/*.zip +/*.py +/*.exe +/*.jar +/*.md +/*.json +/*.js +/*.txt +/.gitattributes +/.*ignore +/DBR-* +/src +/Web.config + +!/dist +/dist/* +#!/dist/class +#!/dist/enum +#!/dist/interface +!/dist/dbr.js +!/dist/dbr.mjs +!/dist/dbr.browser.mjs +!/dist/dbr-*.worker.js +!/dist/dbr-*.wasm.js +!/dist/dbr-*.wasm +!/dist/dbr.d.ts +!/dist/dbr.reference.d.ts +!/dist/dbr.scanner.html +!/dist/lts.license.dialog.html +!/dist/README.md + +!/README.md +!/README.NODE.md +!/package.json +!/LICENSE + +!bower.json +!composer.json +!package.js diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..e0c360fa --- /dev/null +++ b/.travis.yml @@ -0,0 +1,11 @@ +language: node_js +node_js: + - "12.13" + +deploy: + provider: npm + email: $EMAIL + api_key: $API_KEY + on: + tags: true + branch: master \ No newline at end of file diff --git a/LEGAL.txt b/LEGAL.txt deleted file mode 100644 index 5bca3519..00000000 --- a/LEGAL.txt +++ /dev/null @@ -1,1416 +0,0 @@ -=================================================================================== ->>>>>>>>>>>>>>>>>>>>>>>> dynamsoft-barcode-reader-bundle <<<<<<<<<<<<<<<<<<<<<<<<<< -=================================================================================== - -Legal Notices: - -This SDK contains parts of following softwares which are used under license. - -=================================================================================== -Zlib. - - (C) 1995-2022 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu -=================================================================================== - - - -=================================================================================== -Google's open-source ZXing ("Zebra Crossing") - -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. -=================================================================================== - - - -=================================================================================== -OpenCV 4.5.2 - - -Copyright 2022, OpenCV Foundation - - - -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. -=================================================================================== - - - -=================================================================================== -JsonCpp library - -The JsonCpp library's source code, including accompanying documentation, -tests and demonstration applications, are licensed under the following -conditions... - -The author (Baptiste Lepilleur) explicitly disclaims copyright in all -jurisdictions which recognize such a disclaimer. In such jurisdictions, -this software is released into the Public Domain. - -In jurisdictions which do not recognize Public Domain property (e.g. Germany as of -2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is -released under the terms of the MIT License (see below). - -In jurisdictions which recognize Public Domain property, the user of this -software may choose to accept it either as 1) Public Domain, 2) under the -conditions of the MIT License (see below), or 3) under the terms of dual -Public Domain/MIT License conditions described here, as they choose. - -The MIT License is about as close to Public Domain as a license can get, and is -described in clear, concise terms at: - - http://en.wikipedia.org/wiki/MIT_License - -The full text of the MIT License follows: - -======================================================================== -Copyright (c) 2007-2010 Baptiste Lepilleur - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, copy, -modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -======================================================================== -(END LICENSE TEXT) - -The MIT license is compatible with both the GPL and commercial -software, affording one all of the rights of Public Domain with the -minor nuisance of being required to keep the above copyright notice -and license text in the source code. Note also that by accepting the -Public Domain "license" you can re-license your copy using whatever -license you like. -=================================================================================== - - - -=================================================================================== -OpenSSL - - The OpenSSL toolkit stays under a double license, i.e. both the conditions of - the OpenSSL License and the original SSLeay license apply to the toolkit. - See below for the actual license texts. - - OpenSSL License - --------------- - -/* ==================================================================== - * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. 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. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED 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 OpenSSL PROJECT OR - * ITS 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. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - - Original SSLeay License - ----------------------- - -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -=================================================================================== - - - -=================================================================================== -localForage - --- Offline Storage, Improved -Version 1.7.3 -https://localforage.github.io/localForage -(c) 2013-2017 Mozilla, Apache License 2.0 -=================================================================================== - - - -=================================================================================== -fabric.js - -Copyright (c) 2008-2015 Printio (Juriy Zaytsev, Maxim Chernyak) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -=================================================================================== - - - -=================================================================================== -Protocol Buffers - -This license applies to all parts of Protocol Buffers except the following: - - - Atomicops support for generic gcc, located in - src/google/protobuf/stubs/atomicops_internals_generic_gcc.h. - This file is copyrighted by Red Hat Inc. - - - Atomicops support for AIX/POWER, located in - src/google/protobuf/stubs/atomicops_internals_power.h. - This file is copyrighted by Bloomberg Finance LP. - -Copyright 2014, Google Inc. 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 Google Inc. 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. - -Code generated by the Protocol Buffer compiler is owned by the owner -of the input file used when generating it. This code is not -standalone and requires a support library to be linked with it. This -support library is itself covered by the above license. -=================================================================================== - -onnxruntime - -Copyright (c) Microsoft Corporation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -=================================================================================== - -pytorch_cpuinfo - -Copyright (c) 2019 Google LLC -Copyright (c) 2017-2018 Facebook Inc. -Copyright (C) 2012-2017 Georgia Institute of Technology -Copyright (C) 2010-2012 Marat Dukhan - -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. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -=================================================================================== - -flatbuffers - - 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. - -=================================================================================== - -abseil_cpp - -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. - -=================================================================================== - -onnx - -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. - -=================================================================================== - -google_nsync - -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. - -==================================================================================== - -libzueci - -A simple, standalone, BSD-3-Clause C library for converting UTF-8 to/from Extended Channel Interpretations, as defined by AIM ITS/04-023 International Technical Standard - Extended Channel Interpretations Part 3: Register (Version 2, February 2022). - \ No newline at end of file diff --git a/LICENSE b/LICENSE index 41df5664..b021ef5d 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,3 @@ -Copyright © 2003–2026 Dynamsoft. All Rights Reserved. - -The use of this software is governed by the Dynamsoft Terms and Conditions. -URL=https://www.dynamsoft.com/barcode-reader/license-agreement/#javascript \ No newline at end of file +License Notice +This folder contains code samples ("Sample Code") for use with Dynamsoft Barcode Reader, a commercial software development kit licensed by Dynamsoft. The Sample Code may be modified and included in your end user software under the terms of the Dynamsoft Software License Agreement https://www.dynamsoft.com/Products/barcode-reader-license-agreement.aspx (“Commercial Licenseâ€). Except as expressly stated in the Commercial License, no other rights are granted in the Sample Code. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +Copyright © 2003–2021 Dynamsoft. All rights reserved. diff --git a/README.NODE.md b/README.NODE.md new file mode 100644 index 00000000..438d6a2f --- /dev/null +++ b/README.NODE.md @@ -0,0 +1,175 @@ +# Dynamsoft JavaScript Barcode SDK for Node + +> This library is the Node.js edition of Dynamsoft Barcode Reader. If you are looking to implement barcode reading feature in a web page, please check out the other library [Dynamsoft JavaScript Barcode SDK for Web](https://github.com/dynamsoft-dbr/javascript-barcode/?utm_source=github&package=js). + +Both 1D and 2D barcode symbiology are supported including the popular `Code 39`, `EAN-13`, `QR`, `PDF417`, etc.+ Find the full list [here](https://www.dynamsoft.com/barcode-reader/overview/?utm_source=github&package=js). + +The library is based on `webassembly` which has been an official feature of Node.js since `LTS 8`. If you are using Node.js LTS 8 and have no plan to upgrade it, check out [how to use the library in Node.js LTS 8](#how-to-use-the-library-in-nodejs-lts-8). That said, Node.js version >= LTS 12 is recommended because the library will try to use `worker_threads` when decoding. + +> Also see [Dynamsoft JavaScript Barcode SDK for Web](https://github.com/Dynamsoft/javascript-barcode/blob/master/README.md). + +## Get Started + +* Check your Node.js version + +```shell +> node -v +v12.13.1 +``` + +* Installs the library from npm + +```shell +> npm install dynamsoft-javascript-barcode --save +``` +* Create a `js` file and include the library + +```js +let DBR = require("dynamsoft-javascript-barcode"); +``` + +The following also works +```js +let DBR = require("path/to/dist/dbr.js"); +``` + +> **Note** +> The library uses `Promise` a lot, so it's recommended to write the related code in a `async` function so that later you can use `await` +> +> ```js +> (async()=>{ +> // many work will done here +> })(); +> ``` + +* Create an instance of the reader + +```js +let reader = await DBR.BarcodeReader.createInstance(); +``` + +* Decode a file by its path + +```js +let results = await reader.decode('path/to/sample.png'); +``` + +Or just decode a file by its URL + +```js +let results = await reader.decode('https://demo.dynamsoft.com/barcode-reader/img/AllSupportedBarcodeTypes.png'); +``` +> **NOTE** +> The following image formats are supported by default: `png`, `jpg`, `bmp`, `gif`. +> +> If you want to decode other files like `pdf`'s, you need to convert them to images first. Contact [Dynamsoft Support](https://www.dynamsoft.com/company/contact/?utm_source=github&package=js) to find out more. +> +> If you want to decode raw image data (`RGBA`) from sources like a camera. You can use the API `deocdeBuffer`. Check out [C++ API decodeBuffer](https://www.dynamsoft.com/barcode-reader/programming/cplusplus/api-reference/cbarcodereader-methods/decode.html?ver=latest&utm_source=github&package=js#decodebuffer) for more details. + +* Print out the results + +```js +for(let result of results){ + console.log(result.barcodeText); +} +``` + +* Run your code. + +```shell +> node your-code.js +``` + +Last not but least, don't forget to set a `productKey`! If you don't have a key yet, click [here](https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js) to get one. + +```js +DBR.BarcodeReader.productKeys = 'PRODUCT-KEYS'; +``` + +**Full code** + +```js +let DBR = require('dynamsoft-node-barcode'); +// Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get a trial license +DBR.BarcodeReader.productKeys = 'PRODUCT-KEYS'; + +(async()=>{ + let reader = await DBR.BarcodeReader.createInstance(); + for(let result of await reader.decode('https://demo.dynamsoft.com/barcode-reader/img/AllSupportedBarcodeTypes.png')){ + console.log(result.barcodeText); + } + reader.destroy(); + + // Since the worker keep alive, you can call + await DBR.BarcodeReader._dbrWorker.terminate(); + // when you need to exit this process. + // Or call + process.exit(); + // directly. +})(); + +``` + +## Change Decoding Settings + +To set up the library for decoding, use the APIs `getRuntimeSettings` & `updateRuntimeSettings`. + +```js +await barcodeScanner.updateRuntimeSettings("speed"); +``` +```js +await barcodeScanner.updateRuntimeSettings("balance"); +``` +```js +await barcodeScanner.updateRuntimeSettings("coverage"); +``` +```js +let settings = await reader.getRuntimeSettings(); +settings.localizationModes = [ + Dynamsoft.DBR.EnumLocalizationMode.LM_CONNECTED_BLOCKS, + Dynamsoft.DBR.EnumLocalizationMode.LM_SCAN_DIRECTLY, + Dynamsoft.DBR.EnumLocalizationMode.LM_LINES, 0, 0, 0, 0, 0]; +settings.deblurLevel = 2; +await reader.updateRuntimeSettings(settings); +``` + +See [Barcode reading settings Guide](https://www.dynamsoft.com/barcode-reader/programming/cplusplus/user-guide.html?ver=latest#use-publicruntimesettings-struct-to-change-settings?utm_source=github&package=js) for basic usage. + +See [C++ API RuntimeSettings](https://www.dynamsoft.com/barcode-reader/programming/c-cplusplus/struct/PublicRuntimeSettings.html?utm_source=github&package=js) for more details. + +To find out which settings best suit your usage scenario, visit [DBR Main Online Demo](https://demo.dynamsoft.com/barcode-reader/?utm_source=github&package=js). + +Any questions, please contact [Dynamsoft support](https://www.dynamsoft.com/company/contact/?utm_source=github&package=js). + + + +## How to use the library in Node.js LTS 8 + +Node.js LTS 8 doesn't support `worker_threads`, so the decoding will happen in the same main thread which means it's a blocking operation. The following code snippets demonstrate the basic usage. + +**Decode** + +```js +var dbr = require('path/to/dist/dbr-.node.wasm.js'); +dbr.onRuntimeInitialized = ()=>{ + dbr.BarcodeReaderWasm.init('{"productKeys":"PRODUCT-KEYS"}'); + var reader = new dbr.BarcodeReaderWasm(false,-1); + var fs = require('fs'); + var img = fs.readFileSync('./sample.png'); + var resultsInfo = JSON.parse(reader.decodeFileInMemory(new Uint8Array(img))); + console.log(resultsInfo); +}; +``` + +**Change settings** + +```js +var settings = JSON.parse(reader.getRuntimeSettings()); +settings.expectedBarcodesCount = 999; +reader.updateRuntimeSettings(JSON.stringify(settings)); +``` + + + + + diff --git a/README.html b/README.html index 418ac4fc..93352c25 100644 --- a/README.html +++ b/README.html @@ -1,826 +1,877 @@ + - - Dynamsoft Barcode Reader for Your Website - User Guide - - - - - - -
-

Barcode Reader for Your Website - Foundational API Guide

-

Dynamsoft Barcode Reader JavaScript Edition (DBR-JS) is equipped with industry-leading algorithms for exceptional speed, accuracy and read rates in barcode reading. Using its well-designed API, you can turn your web page into a barcode scanner with just a few lines of code. Once the DBR-JS SDK gets integrated into your web page, your users can access a camera via the browser and read barcodes directly from its video input.

- -

In this guide, you will learn step by step on how to integrate the DBR-JS SDK into your website.

-

Table of Contents

+/*! +* @primer/css/core +* http://primer.style/css +* +* Released under MIT license. Copyright (c) 2019 GitHub Inc. +*/ +/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:initial}[hidden],template{display:none!important}a{background-color:initial}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:var(--color-text-primary)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:initial;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:600}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:root,[data-color-mode=dark][data-dark-theme=light],[data-color-mode=light][data-light-theme=light]{--color-scale-black:#1b1f23;--color-scale-white:#fff;--color-scale-gray-0:#fafbfc;--color-scale-gray-1:#f6f8fa;--color-scale-gray-2:#e1e4e8;--color-scale-gray-3:#d1d5da;--color-scale-gray-4:#959da5;--color-scale-gray-5:#6a737d;--color-scale-gray-6:#586069;--color-scale-gray-7:#444d56;--color-scale-gray-8:#2f363d;--color-scale-gray-9:#24292e;--color-scale-blue-0:#f1f8ff;--color-scale-blue-1:#dbedff;--color-scale-blue-2:#c8e1ff;--color-scale-blue-3:#79b8ff;--color-scale-blue-4:#2188ff;--color-scale-blue-5:#0366d6;--color-scale-blue-6:#005cc5;--color-scale-blue-7:#044289;--color-scale-blue-8:#032f62;--color-scale-blue-9:#05264c;--color-scale-green-0:#f0fff4;--color-scale-green-1:#dcffe4;--color-scale-green-2:#bef5cb;--color-scale-green-3:#85e89d;--color-scale-green-4:#34d058;--color-scale-green-5:#28a745;--color-scale-green-6:#22863a;--color-scale-green-7:#176f2c;--color-scale-green-8:#165c26;--color-scale-green-9:#144620;--color-scale-yellow-0:#fffdef;--color-scale-yellow-1:#fffbdd;--color-scale-yellow-2:#fff5b1;--color-scale-yellow-3:#ffea7f;--color-scale-yellow-4:#ffdf5d;--color-scale-yellow-5:#ffd33d;--color-scale-yellow-6:#f9c513;--color-scale-yellow-7:#dbab09;--color-scale-yellow-8:#b08800;--color-scale-yellow-9:#735c0f;--color-scale-orange-0:#fff8f2;--color-scale-orange-1:#ffebda;--color-scale-orange-2:#ffd1ac;--color-scale-orange-3:#ffab70;--color-scale-orange-4:#fb8532;--color-scale-orange-5:#f66a0a;--color-scale-orange-6:#e36209;--color-scale-orange-7:#d15704;--color-scale-orange-8:#c24e00;--color-scale-orange-9:#a04100;--color-scale-red-0:#ffeef0;--color-scale-red-1:#ffdce0;--color-scale-red-2:#fdaeb7;--color-scale-red-3:#f97583;--color-scale-red-4:#ea4a5a;--color-scale-red-5:#d73a49;--color-scale-red-6:#cb2431;--color-scale-red-7:#b31d28;--color-scale-red-8:#9e1c23;--color-scale-red-9:#86181d;--color-scale-purple-0:#f5f0ff;--color-scale-purple-1:#e6dcfd;--color-scale-purple-2:#d1bcf9;--color-scale-purple-3:#b392f0;--color-scale-purple-4:#8a63d2;--color-scale-purple-5:#6f42c1;--color-scale-purple-6:#5a32a3;--color-scale-purple-7:#4c2889;--color-scale-purple-8:#3a1d6e;--color-scale-purple-9:#29134e;--color-scale-pink-0:#ffeef8;--color-scale-pink-1:#fedbf0;--color-scale-pink-2:#f9b3dd;--color-scale-pink-3:#f692ce;--color-scale-pink-4:#ec6cb9;--color-scale-pink-5:#ea4aaa;--color-scale-pink-6:#d03592;--color-scale-pink-7:#b93a86;--color-scale-pink-8:#99306f;--color-scale-pink-9:#6d224f;--color-auto-black:#1b1f23;--color-auto-white:#fff;--color-auto-gray-0:#fafbfc;--color-auto-gray-1:#f6f8fa;--color-auto-gray-2:#e1e4e8;--color-auto-gray-3:#d1d5da;--color-auto-gray-4:#959da5;--color-auto-gray-5:#6a737d;--color-auto-gray-6:#586069;--color-auto-gray-7:#444d56;--color-auto-gray-8:#2f363d;--color-auto-gray-9:#24292e;--color-auto-blue-0:#f1f8ff;--color-auto-blue-1:#dbedff;--color-auto-blue-2:#c8e1ff;--color-auto-blue-3:#79b8ff;--color-auto-blue-4:#2188ff;--color-auto-blue-5:#0366d6;--color-auto-blue-6:#005cc5;--color-auto-blue-7:#044289;--color-auto-blue-8:#032f62;--color-auto-blue-9:#05264c;--color-auto-green-0:#f0fff4;--color-auto-green-1:#dcffe4;--color-auto-green-2:#bef5cb;--color-auto-green-3:#85e89d;--color-auto-green-4:#34d058;--color-auto-green-5:#28a745;--color-auto-green-6:#22863a;--color-auto-green-7:#176f2c;--color-auto-green-8:#165c26;--color-auto-green-9:#144620;--color-auto-yellow-0:#fffdef;--color-auto-yellow-1:#fffbdd;--color-auto-yellow-2:#fff5b1;--color-auto-yellow-3:#ffea7f;--color-auto-yellow-4:#ffdf5d;--color-auto-yellow-5:#ffd33d;--color-auto-yellow-6:#f9c513;--color-auto-yellow-7:#dbab09;--color-auto-yellow-8:#b08800;--color-auto-yellow-9:#735c0f;--color-auto-orange-0:#fff8f2;--color-auto-orange-1:#ffebda;--color-auto-orange-2:#ffd1ac;--color-auto-orange-3:#ffab70;--color-auto-orange-4:#fb8532;--color-auto-orange-5:#f66a0a;--color-auto-orange-6:#e36209;--color-auto-orange-7:#d15704;--color-auto-orange-8:#c24e00;--color-auto-orange-9:#a04100;--color-auto-red-0:#ffeef0;--color-auto-red-1:#ffdce0;--color-auto-red-2:#fdaeb7;--color-auto-red-3:#f97583;--color-auto-red-4:#ea4a5a;--color-auto-red-5:#d73a49;--color-auto-red-6:#cb2431;--color-auto-red-7:#b31d28;--color-auto-red-8:#9e1c23;--color-auto-red-9:#86181d;--color-auto-purple-0:#f5f0ff;--color-auto-purple-1:#e6dcfd;--color-auto-purple-2:#d1bcf9;--color-auto-purple-3:#b392f0;--color-auto-purple-4:#8a63d2;--color-auto-purple-5:#6f42c1;--color-auto-purple-6:#5a32a3;--color-auto-purple-7:#4c2889;--color-auto-purple-8:#3a1d6e;--color-auto-purple-9:#29134e;--color-auto-pink-0:#ffeef8;--color-auto-pink-1:#fedbf0;--color-auto-pink-2:#f9b3dd;--color-auto-pink-3:#f692ce;--color-auto-pink-4:#ec6cb9;--color-auto-pink-5:#ea4aaa;--color-auto-pink-6:#d03592;--color-auto-pink-7:#b93a86;--color-auto-pink-8:#99306f;--color-auto-pink-9:#6d224f;--color-text-primary:#24292e;--color-text-secondary:#586069;--color-text-tertiary:#6a737d;--color-text-placeholder:#6a737d;--color-text-disabled:#959da5;--color-text-inverse:#fff;--color-text-link:#0366d6;--color-text-danger:#cb2431;--color-text-success:#22863a;--color-text-warning:#b08800;--color-text-white:#fff;--color-icon-primary:#24292e;--color-icon-secondary:#586069;--color-icon-tertiary:#959da5;--color-icon-info:#0366d6;--color-icon-danger:#d73a49;--color-icon-success:#22863a;--color-icon-warning:#b08800;--color-border-primary:#e1e4e8;--color-border-secondary:#ebedef;--color-border-tertiary:#d1d5da;--color-border-overlay:#e1e4e8;--color-border-inverse:#fff;--color-border-info:#0366d6;--color-border-danger:#d73a49;--color-border-success:#34d058;--color-border-warning:#f9c513;--color-bg-canvas:#fff;--color-bg-canvas-mobile:#fff;--color-bg-canvas-inverse:#24292e;--color-bg-canvas-inset:#f6f8fa;--color-bg-primary:#fff;--color-bg-secondary:#fafbfc;--color-bg-tertiary:#f6f8fa;--color-bg-overlay:#fff;--color-bg-backdrop:rgba(27,31,35,0.5);--color-bg-info:#f1f8ff;--color-bg-info-inverse:#0366d6;--color-bg-danger:#ffeef0;--color-bg-danger-inverse:#d73a49;--color-bg-success:#dcffe4;--color-bg-success-inverse:#28a745;--color-bg-warning:#fff5b1;--color-bg-warning-inverse:#ffd33d;--color-shadow-small:0 1px 0 rgba(27,31,35,0.04);--color-shadow-medium:0 3px 6px rgba(149,157,165,0.15);--color-shadow-large:0 8px 24px rgba(149,157,165,0.2);--color-shadow-extra-large:0 12px 48px rgba(149,157,165,0.3);--color-shadow-highlight:inset 0 1px 0 hsla(0,0%,100%,0.25);--color-shadow-inset:inset 0 1px 0 rgba(225,228,232,0.2);--color-state-hover-primary-bg:#0366d6;--color-state-hover-primary-border:#0366d6;--color-state-hover-primary-text:#fff;--color-state-hover-primary-icon:#fff;--color-state-hover-secondary-bg:#f6f8fa;--color-state-hover-secondary-border:#f6f8fa;--color-state-selected-primary-bg:#0366d6;--color-state-selected-primary-border:#0366d6;--color-state-selected-primary-text:#fff;--color-state-selected-primary-icon:#fff;--color-state-focus-border:#0366d6;--color-state-focus-shadow:0 0 0 3px rgba(3,102,214,0.3);--color-fade-fg-10:rgba(27,31,35,0.1);--color-fade-fg-15:rgba(27,31,35,0.15);--color-fade-fg-30:rgba(27,31,35,0.3);--color-fade-fg-50:rgba(27,31,35,0.5);--color-fade-fg-70:rgba(27,31,35,0.7);--color-fade-fg-85:rgba(27,31,35,0.85);--color-fade-black-10:rgba(27,31,35,0.1);--color-fade-black-15:rgba(27,31,35,0.15);--color-fade-black-30:rgba(27,31,35,0.3);--color-fade-black-50:rgba(27,31,35,0.5);--color-fade-black-70:rgba(27,31,35,0.7);--color-fade-black-85:rgba(27,31,35,0.85);--color-fade-white-10:hsla(0,0%,100%,0.1);--color-fade-white-15:hsla(0,0%,100%,0.15);--color-fade-white-30:hsla(0,0%,100%,0.3);--color-fade-white-50:hsla(0,0%,100%,0.5);--color-fade-white-70:hsla(0,0%,100%,0.7);--color-fade-white-85:hsla(0,0%,100%,0.85);--color-alert-info-text:#24292e;--color-alert-info-icon:rgba(4,66,137,0.6);--color-alert-info-bg:#dbedff;--color-alert-info-border:rgba(4,66,137,0.2);--color-alert-warn-text:#24292e;--color-alert-warn-icon:#b08800;--color-alert-warn-bg:#fffbdd;--color-alert-warn-border:rgba(176,136,0,0.2);--color-alert-error-text:#24292e;--color-alert-error-icon:rgba(158,28,35,0.6);--color-alert-error-bg:#ffe3e6;--color-alert-error-border:rgba(158,28,35,0.2);--color-alert-success-text:#24292e;--color-alert-success-icon:rgba(23,111,44,0.8);--color-alert-success-bg:#dcffe4;--color-alert-success-border:rgba(23,111,44,0.2);--color-autocomplete-shadow:0 3px 6px rgba(149,157,165,0.15);--color-autocomplete-row-border:#ebedef;--color-blankslate-icon:#757f8a;--color-btn-text:#24292e;--color-btn-bg:#fafbfc;--color-btn-border:rgba(27,31,35,0.15);--color-btn-shadow:0 1px 0 rgba(27,31,35,0.04);--color-btn-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.25);--color-btn-hover-bg:#f3f4f6;--color-btn-hover-border:rgba(27,31,35,0.15);--color-btn-active-bg:#ebecf0;--color-btn-active-border:rgba(27,31,35,0.1);--color-btn-selected-bg:#eeeff2;--color-btn-focus-bg:#fafbfc;--color-btn-focus-border:rgba(27,31,35,0.15);--color-btn-focus-shadow:0 0 0 3px rgba(3,102,214,0.3);--color-btn-shadow-active:inset 0 0.15em 0.3em rgba(27,31,35,0.15);--color-btn-shadow-input-focus:0 0 0 0.2em rgba(3,102,214,0.3);--color-btn-counter-bg:rgba(27,31,35,0.08);--color-btn-primary-text:#fff;--color-btn-primary-bg:#2ea44f;--color-btn-primary-border:rgba(27,31,35,0.15);--color-btn-primary-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-primary-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-primary-hover-bg:#2c974b;--color-btn-primary-hover-border:rgba(27,31,35,0.15);--color-btn-primary-selected-bg:#298e46;--color-btn-primary-selected-shadow:inset 0 1px 0 rgba(20,70,32,0.2);--color-btn-primary-disabled-text:hsla(0,0%,100%,0.8);--color-btn-primary-disabled-bg:#94d3a2;--color-btn-primary-disabled-border:rgba(27,31,35,0.1);--color-btn-primary-focus-bg:#2ea44f;--color-btn-primary-focus-border:rgba(27,31,35,0.15);--color-btn-primary-focus-shadow:0 0 0 3px rgba(46,164,79,0.4);--color-btn-primary-icon:hsla(0,0%,100%,0.8);--color-btn-primary-counter-bg:hsla(0,0%,100%,0.2);--color-btn-outline-text:#0366d6;--color-btn-outline-hover-text:#fff;--color-btn-outline-hover-bg:#0366d6;--color-btn-outline-hover-border:rgba(27,31,35,0.15);--color-btn-outline-hover-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-outline-hover-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-outline-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-outline-selected-text:#fff;--color-btn-outline-selected-bg:#035fc9;--color-btn-outline-selected-border:rgba(27,31,35,0.15);--color-btn-outline-selected-shadow:inset 0 1px 0 rgba(5,38,76,0.2);--color-btn-outline-disabled-text:rgba(3,102,214,0.5);--color-btn-outline-disabled-bg:#fafbfc;--color-btn-outline-disabled-counter-bg:rgba(3,102,214,0.05);--color-btn-outline-focus-border:rgba(27,31,35,0.15);--color-btn-outline-focus-shadow:0 0 0 3px rgba(0,92,197,0.4);--color-btn-outline-counter-bg:rgba(3,102,214,0.1);--color-btn-danger-text:#d73a49;--color-btn-danger-hover-text:#fff;--color-btn-danger-hover-bg:#cb2431;--color-btn-danger-hover-border:rgba(27,31,35,0.15);--color-btn-danger-hover-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-danger-hover-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-danger-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-danger-selected-text:#fff;--color-btn-danger-selected-bg:#d53040;--color-btn-danger-selected-border:rgba(27,31,35,0.15);--color-btn-danger-selected-shadow:inset 0 1px 0 rgba(134,24,29,0.2);--color-btn-danger-disabled-text:rgba(215,58,73,0.5);--color-btn-danger-disabled-bg:#fafbfc;--color-btn-danger-disabled-counter-bg:rgba(215,58,73,0.05);--color-btn-danger-focus-border:rgba(27,31,35,0.15);--color-btn-danger-focus-shadow:0 0 0 3px rgba(203,36,49,0.4);--color-btn-danger-counter-bg:rgba(215,58,73,0.1);--color-btn-danger-icon:#d73a49;--color-btn-danger-hover-icon:#fff;--color-counter-text:#24292e;--color-counter-bg:rgba(209,213,218,0.5);--color-counter-primary-text:#fff;--color-counter-primary-bg:#6a737d;--color-counter-secondary-text:#6a737d;--color-counter-secondary-bg:rgba(209,213,218,0.5);--color-dropdown-shadow:0 8px 24px rgba(149,157,165,0.2);--color-label-border:#e1e4e8;--color-label-primary-text:#24292e;--color-label-primary-border:#6a737d;--color-label-secondary-text:#586069;--color-label-secondary-border:#e1e4e8;--color-label-info-text:#0366d6;--color-label-info-border:#0366d6;--color-label-success-text:#22863a;--color-label-success-border:#28a745;--color-label-warning-text:#735c0f;--color-label-warning-border:#b08800;--color-label-danger-text:#d73a49;--color-label-danger-border:#cb2431;--color-label-orange-text:#c24e00;--color-label-orange-border:#f66a0a;--color-input-bg:#fff;--color-input-contrast-bg:#fafbfc;--color-input-border:#e1e4e8;--color-input-shadow:inset 0 1px 2px rgba(27,31,35,0.075);--color-input-disabled-bg:#f6f8fa;--color-input-disabled-border:#e1e4e8;--color-input-warning-border:#f9c513;--color-input-error-border:#cb2431;--color-input-tooltip-success-text:#144620;--color-input-tooltip-success-bg:#dcffe4;--color-input-tooltip-success-border:#34d058;--color-input-tooltip-warning-text:#735c0f;--color-input-tooltip-warning-bg:#fff5b1;--color-input-tooltip-warning-border:#f9c513;--color-input-tooltip-error-text:#86181d;--color-input-tooltip-error-bg:#ffeef0;--color-input-tooltip-error-border:#f97583;--color-avatar-bg:#fff;--color-avatar-border:transparent;--color-avatar-stack-fade:#d1d5da;--color-avatar-stack-fade-more:#e1e4e8;--color-avatar-child-shadow:-2px -2px 0 hsla(0,0%,100%,0.8);--color-toast-text:#24292e;--color-toast-bg:#fff;--color-toast-border:#e1e4e8;--color-toast-shadow:0 8px 24px rgba(149,157,165,0.2);--color-toast-icon:#fff;--color-toast-icon-bg:#0366d6;--color-toast-icon-border:transparent;--color-toast-success-text:#24292e;--color-toast-success-border:#e1e4e8;--color-toast-success-icon:#fff;--color-toast-success-icon-bg:#28a745;--color-toast-success-icon-border:transparent;--color-toast-warning-text:#24292e;--color-toast-warning-border:#e1e4e8;--color-toast-warning-icon:#24292e;--color-toast-warning-icon-bg:#ffd33d;--color-toast-warning-icon-border:transparent;--color-toast-danger-text:#24292e;--color-toast-danger-border:#e1e4e8;--color-toast-danger-icon:#fff;--color-toast-danger-icon-bg:#d73a49;--color-toast-danger-icon-border:transparent;--color-toast-loading-text:#24292e;--color-toast-loading-border:#e1e4e8;--color-toast-loading-icon:#fff;--color-toast-loading-icon-bg:#586069;--color-toast-loading-icon-border:transparent;--color-timeline-text:#444d56;--color-timeline-badge-bg:#e1e4e8;--color-timeline-badge-success-border:transparent;--color-timeline-target-badge-border:#2188ff;--color-timeline-target-badge-shadow:#c8e1ff;--color-select-menu-border-secondary:#ebedef;--color-select-menu-shadow:0 0 18px rgba(27,31,35,0.4);--color-select-menu-backdrop-bg:rgba(27,31,35,0.5);--color-select-menu-backdrop-border:transparent;--color-select-menu-tap-highlight:rgba(209,213,218,0.5);--color-select-menu-tap-focus-bg:#dbedff;--color-box-blue-border:#c8e1ff;--color-box-row-yellow-bg:#fffbdd;--color-box-row-blue-bg:#f1f8ff;--color-box-header-blue-bg:#f1f8ff;--color-box-header-blue-border:#c8e1ff;--color-box-border-info:rgba(3,102,214,0.2);--color-box-bg-info:#f1f8ff;--color-box-border-warning:rgba(255,211,61,0.4);--color-box-bg-warning:#fffdef;--color-branch-name-text:#586069;--color-branch-name-icon:#a9bbd1;--color-branch-name-bg:#ebf5ff;--color-branch-name-link-text:#0366d6;--color-branch-name-link-icon:#a9bbd1;--color-branch-name-link-bg:#ebf5ff;--color-markdown-code-bg:rgba(27,31,35,0.05);--color-markdown-frame-border:#e0e3e6;--color-markdown-blockquote-border:#e0e3e6;--color-markdown-table-border:#e0e3e6;--color-markdown-table-tr-border:#c6cbd2;--color-menu-heading-text:#24292e;--color-menu-border-active:#f9826c;--color-menu-bg-active:transparent;--color-sidenav-selected-bg:#fff;--color-sidenav-border-active:#f9826c;--color-header-text:hsla(0,0%,100%,0.7);--color-header-bg:#24292e;--color-header-logo:#fff;--color-filter-item-bar-bg:#eff2f6;--color-hidden-text-expander-bg:#e0e3e6;--color-hidden-text-expander-bg-hover:#c6cbd2;--color-drag-and-drop-border:#c4c9cf;--color-upload-enabled-border:#e0e3e6;--color-upload-enabled-border-focused:#479dff;--color-previewable-comment-form-border:#c4c9cf;--color-underlinenav-border:rgba(209,213,218,0);--color-underlinenav-border-hover:#d1d5da;--color-underlinenav-border-active:#f9826c;--color-underlinenav-text:#24292e;--color-underlinenav-text-hover:#24292e;--color-underlinenav-text-active:#24292e;--color-underlinenav-icon:#959da5;--color-underlinenav-icon-hover:#959da5;--color-underlinenav-icon-active:#24292e;--color-underlinenav-counter-text:#24292e;--color-underlinenav-counter-bg:rgba(209,213,218,0.5);--color-verified-badge-text:#22863a;--color-verified-badge-bg:#fff;--color-verified-badge-border:#e1e4e8;--color-social-count-bg:#fff;--color-tooltip-text:#fff;--color-tooltip-bg:#24292e;--color-header-search-bg:#24292e;--color-header-search-border:#444d56;--color-search-keyword-hl:#fffbdd;--color-diffstat-neutral-bg:#d1d5da;--color-diffstat-neutral-border:#d1d5da;--color-diffstat-deletion-bg:#d73a49;--color-diffstat-deletion-border:#d73a49;--color-diffstat-addition-bg:#28a745;--color-diffstat-addition-border:#28a745;--color-mktg-success:#2ebc4f;--color-mktg-info:#1074e7;--color-mktg-bg-shade-gradient-top:rgba(27,31,35,0.065);--color-mktg-bg-shade-gradient-bottom:rgba(27,31,35,0);--color-mktg-btn-bg-top:#617eef;--color-mktg-btn-bg-bottom:#4969ed;--color-mktg-btn-bg-overlay-top:#4968e4;--color-mktg-btn-bg-overlay-bottom:#3355e0;--color-mktg-btn-text:#fff;--color-mktg-btn-primary-bg-top:#34b759;--color-mktg-btn-primary-bg-bottom:#2ea44f;--color-mktg-btn-primary-bg-overlay-top:#279b42;--color-mktg-btn-primary-bg-overlay-bottom:#22863a;--color-mktg-btn-primary-text:#fff;--color-mktg-btn-enterprise-bg-top:#8670ff;--color-mktg-btn-enterprise-bg-bottom:#6f57ff;--color-mktg-btn-enterprise-bg-overlay-top:#7463de;--color-mktg-btn-enterprise-bg-overlay-bottom:#614eda;--color-mktg-btn-enterprise-text:#fff;--color-mktg-btn-outline-text:#4969ed;--color-mktg-btn-outline-border:rgba(73,105,237,0.3);--color-mktg-btn-outline-hover-text:#3355e0;--color-mktg-btn-outline-hover-border:rgba(51,85,224,0.5);--color-mktg-btn-outline-focus-border:#4969ed;--color-mktg-btn-outline-focus-border-inset:rgba(73,105,237,0.5);--color-mktg-btn-dark-text:#fff;--color-mktg-btn-dark-border:hsla(0,0%,100%,0.3);--color-mktg-btn-dark-hover-text:#fff;--color-mktg-btn-dark-hover-border:hsla(0,0%,100%,0.5);--color-mktg-btn-dark-focus-border:#fff;--color-mktg-btn-dark-focus-border-inset:hsla(0,0%,100%,0.5);--color-files-explorer-icon:#79b8ff;--color-hl-author-bg:#f1f8ff;--color-hl-author-border:#c8e1ff;--color-logo-subdued:#d1d5da;--color-discussion-border:#a4ccae;--color-discussion-bg-success:#28a745;--color-actions-workflow-table-sticky-bg:hsla(0,0%,100%,0.95);--color-repo-language-color-border:rgba(27,31,35,0.1);--color-code-selection-bg:#c8e1ff;--color-highlight-text:#442c12;--color-highlight-bg:#fff0bb;--color-blob-line-highlight-bg:#fffbdd;--color-blob-line-highlight-border:transparent;--color-diff-addition-text:#22863a;--color-diff-addition-bg:#e5ffec;--color-diff-addition-border:#34d058;--color-diff-deletion-text:#cb2431;--color-diff-deletion-bg:#ffeef0;--color-diff-deletion-border:#d73a49;--color-diff-change-text:#b08800;--color-diff-change-bg:#fff5b1;--color-diff-change-border:#f9c513;--color-diff-blob-num-text:rgba(27,31,35,0.3);--color-diff-blob-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-addition-num-text:rgba(27,31,35,0.3);--color-diff-blob-addition-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-addition-num-bg:#ccffd8;--color-diff-blob-addition-line-bg:#e5ffec;--color-diff-blob-addition-word-bg:#abf2bc;--color-diff-blob-deletion-num-text:rgba(27,31,35,0.3);--color-diff-blob-deletion-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-deletion-num-bg:#ffdce0;--color-diff-blob-deletion-line-bg:#ffeef0;--color-diff-blob-deletion-word-bg:#fdb9c1;--color-diff-blob-hunk-text:rgba(27,31,35,0.7);--color-diff-blob-hunk-num-bg:#dbedff;--color-diff-blob-hunk-line-bg:#f1f8ff;--color-diff-blob-empty-block-bg:#fafbfc;--color-diff-blob-selected-line-highlight-bg:rgba(255,223,93,0.2);--color-diff-blob-selected-line-highlight-border:#ffd33d;--color-diff-blob-selected-line-highlight-mix-blend-mode:multiply;--color-diff-blob-expander-icon:#586069;--color-diff-blob-expander-hover-icon:#fff;--color-diff-blob-expander-hover-bg:#0366d6;--color-diff-blob-comment-button-icon:#fff;--color-diff-blob-comment-button-bg:#0366d6;--color-diff-blob-comment-button-gradient-bg:#0472f1;--color-global-nav-logo:#fff;--color-global-nav-bg:#24292e;--color-global-nav-text:#fff;--color-global-nav-icon:#fff;--color-global-nav-input-bg:#fafbfc;--color-global-nav-input-border:#fafbfc;--color-global-nav-input-icon:#d1d5da;--color-global-nav-input-placeholder:#959da5;--color-calendar-graph-day-bg:#ebedf0;--color-calendar-graph-day-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-1-bg:#9be9a8;--color-calendar-graph-day-l-2-bg:#40c463;--color-calendar-graph-day-l-3-bg:#30a14e;--color-calendar-graph-day-l-4-bg:#216e39;--color-calendar-graph-day-l-4-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-3-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-2-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-1-border:rgba(27,31,35,0.06);--color-footer-invertocat-octicon:#d1d5da;--color-footer-invertocat-octicon-hover:#6a737d;--color-pr-state-draft-text:#fff;--color-pr-state-draft-bg:#6a737d;--color-pr-state-draft-border:transparent;--color-pr-state-open-text:#fff;--color-pr-state-open-bg:#28a745;--color-pr-state-open-border:transparent;--color-pr-state-merged-text:#fff;--color-pr-state-merged-bg:#6f42c1;--color-pr-state-merged-border:transparent;--color-pr-state-closed-text:#fff;--color-pr-state-closed-bg:#d73a49;--color-pr-state-closed-border:transparent;--color-topic-tag-text:#0366d6;--color-topic-tag-bg:#f1f8ff;--color-topic-tag-hover-bg:#dbedff;--color-topic-tag-active-bg:#e5f2ff;--color-merge-box-success-icon-bg:#28a745;--color-merge-box-success-icon-text:#fff;--color-merge-box-success-icon-border:transparent;--color-merge-box-success-indicator-bg:#28a745;--color-merge-box-success-indicator-border:transparent;--color-merge-box-merged-icon-bg:#6f42c1;--color-merge-box-merged-icon-text:#fff;--color-merge-box-merged-icon-border:transparent;--color-merge-box-merged-box-border:#6f42c1;--color-merge-box-neutral-icon-bg:#6a737d;--color-merge-box-neutral-icon-text:#fff;--color-merge-box-neutral-icon-border:transparent;--color-merge-box-neutral-indicator-bg:#6a737d;--color-merge-box-neutral-indicator-border:transparent;--color-merge-box-warning-icon-bg:#dbab09;--color-merge-box-warning-icon-text:#fff;--color-merge-box-warning-icon-border:transparent;--color-merge-box-warning-box-border:#ffd33d;--color-merge-box-warning-merge-highlight:transparent;--color-merge-box-error-icon-bg:#d73a49;--color-merge-box-error-icon-text:#fff;--color-merge-box-error-icon-border:transparent;--color-merge-box-error-indicator-bg:#d73a49;--color-merge-box-error-indicator-border:transparent;--color-project-card-bg:#fff;--color-project-header-bg:#24292e;--color-project-sidebar-bg:#fff;--color-project-gradient-in:#fff;--color-project-gradient-out:hsla(0,0%,100%,0);--color-checks-bg:#24292e;--color-checks-run-border-width:0px;--color-checks-container-border-width:0px;--color-checks-text-primary:#fafbfc;--color-checks-text-secondary:#959da5;--color-checks-text-link:#79b8ff;--color-checks-btn-icon:#d1d5da;--color-checks-btn-hover-icon:#fafbfc;--color-checks-btn-hover-bg:hsla(0,0%,100%,0.125);--color-checks-input-text:#f6f8fa;--color-checks-input-placeholder-text:#959da5;--color-checks-input-focus-text:#959da5;--color-checks-input-bg:#2f363d;--color-checks-input-shadow:none;--color-checks-dropdown-text:#d1d5da;--color-checks-dropdown-bg:#2f363d;--color-checks-dropdown-border:#444d56;--color-checks-dropdown-hover-text:#fafbfc;--color-checks-dropdown-hover-bg:#444d56;--color-checks-dropdown-btn-hover-text:#fafbfc;--color-checks-dropdown-btn-hover-bg:#2f363d;--color-checks-scrollbar-thumb-bg:#586069;--color-checks-header-label-text:#e1e4e8;--color-checks-header-label-open-text:#fafbfc;--color-checks-header-border:#2f363d;--color-checks-header-icon:#959da5;--color-checks-line-text:#e1e4e8;--color-checks-line-num-text:rgba(149,157,165,0.75);--color-checks-line-timestamp-text:#959da5;--color-checks-line-hover-bg:#2f363d;--color-checks-line-selected-bg:rgba(33,136,255,0.15);--color-checks-line-selected-num-text:#79b8ff;--color-checks-line-dt-fm-text:#24292e;--color-checks-line-dt-fm-bg:#ffd33d;--color-checks-gate-bg:rgba(249,197,19,0.15);--color-checks-gate-text:#e1e4e8;--color-checks-gate-waiting-text:#d1d5da;--color-checks-step-header-open-bg:#2f363d;--color-checks-step-error-text:#f97583;--color-checks-step-warning-text:#ffea7f;--color-checks-logline-text:#959da5;--color-checks-logline-num-text:rgba(149,157,165,0.75);--color-checks-logline-debug-text:#b392f0;--color-checks-logline-error-text:#e1e4e8;--color-checks-logline-error-num-text:#f97583;--color-checks-logline-error-bg:rgba(203,36,49,0.15);--color-checks-logline-warning-text:#e1e4e8;--color-checks-logline-warning-num-text:#ffea7f;--color-checks-logline-warning-bg:rgba(249,197,19,0.15);--color-checks-logline-command-text:#79b8ff;--color-checks-logline-section-text:#85e89d;--color-checks-ansi-black:#24292e;--color-checks-ansi-black-bright:#2f363d;--color-checks-ansi-white:#e1e4e8;--color-checks-ansi-white-bright:#e1e4e8;--color-checks-ansi-gray:#959da5;--color-checks-ansi-red:#f97583;--color-checks-ansi-red-bright:#fdaeb7;--color-checks-ansi-green:#85e89d;--color-checks-ansi-green-bright:#bef5cb;--color-checks-ansi-yellow:#ffea7f;--color-checks-ansi-yellow-bright:#fff5b1;--color-checks-ansi-blue:#79b8ff;--color-checks-ansi-blue-bright:#c8e1ff;--color-checks-ansi-magenta:#b392f0;--color-checks-ansi-magenta-bright:#d1bcf9;--color-checks-ansi-cyan:#76e3ea;--color-checks-ansi-cyan-bright:#b3f0ff;--color-intro-shelf-gradient-left:#f1f8ff;--color-intro-shelf-gradient-right:#dcffe4;--color-intro-shelf-gradient-in:#fff;--color-intro-shelf-gradient-out:hsla(0,0%,100%,0);--color-marketing-icon-primary:#2188ff;--color-marketing-icon-secondary:#79b8ff;--color-prettylights-syntax-comment:#6a737d;--color-prettylights-syntax-constant:#005cc5;--color-prettylights-syntax-entity:#6f42c1;--color-prettylights-syntax-storage-modifier-import:#24292e;--color-prettylights-syntax-entity-tag:#22863a;--color-prettylights-syntax-keyword:#d73a49;--color-prettylights-syntax-string:#032f62;--color-prettylights-syntax-variable:#e36209;--color-prettylights-syntax-brackethighlighter-unmatched:#b31d28;--color-prettylights-syntax-invalid-illegal-text:#fafbfc;--color-prettylights-syntax-invalid-illegal-bg:#b31d28;--color-prettylights-syntax-carriage-return-text:#fafbfc;--color-prettylights-syntax-carriage-return-bg:#d73a49;--color-prettylights-syntax-string-regexp:#22863a;--color-prettylights-syntax-markup-list:#735c0f;--color-prettylights-syntax-markup-heading:#005cc5;--color-prettylights-syntax-markup-italic:#24292e;--color-prettylights-syntax-markup-bold:#24292e;--color-prettylights-syntax-markup-deleted-text:#b31d28;--color-prettylights-syntax-markup-deleted-bg:#ffeef0;--color-prettylights-syntax-markup-inserted-text:#22863a;--color-prettylights-syntax-markup-inserted-bg:#f0fff4;--color-prettylights-syntax-markup-changed-text:#e36209;--color-prettylights-syntax-markup-changed-bg:#ffebda;--color-prettylights-syntax-markup-ignored-text:#f6f8fa;--color-prettylights-syntax-markup-ignored-bg:#005cc5;--color-prettylights-syntax-meta-diff-range:#6f42c1;--color-prettylights-syntax-brackethighlighter-angle:#586069;--color-prettylights-syntax-sublimelinter-gutter-mark:#959da5;--color-prettylights-syntax-constant-other-reference-link:#032f62;--color-codemirror-text:#24292e;--color-codemirror-bg:#fff;--color-codemirror-gutters-bg:#fff;--color-codemirror-guttermarker-text:#fff;--color-codemirror-guttermarker-subtle-text:#d1d5da;--color-codemirror-linenumber-text:#959da5;--color-codemirror-cursor:#24292e;--color-codemirror-selection-bg:#c8e1ff;--color-codemirror-activeline-bg:#fafbfc;--color-codemirror-matchingbracket-text:#24292e;--color-codemirror-lines-bg:#fff;--color-codemirror-syntax-comment:#6a737d;--color-codemirror-syntax-constant:#005cc5;--color-codemirror-syntax-entity:#6f42c1;--color-codemirror-syntax-keyword:#d73a49;--color-codemirror-syntax-storage:#d73a49;--color-codemirror-syntax-string:#032f62;--color-codemirror-syntax-support:#005cc5;--color-codemirror-syntax-variable:#e36209;--color-ansi-black:#24292e;--color-ansi-black-bright:#586069;--color-ansi-white:#6a737d;--color-ansi-white-bright:#959da5;--color-ansi-gray:#6a737d;--color-ansi-red:#d73a49;--color-ansi-red-bright:#cb2431;--color-ansi-green:#22863a;--color-ansi-green-bright:#28a745;--color-ansi-yellow:#b08800;--color-ansi-yellow-bright:#dbab09;--color-ansi-blue:#0366d6;--color-ansi-blue-bright:#2188ff;--color-ansi-magenta:#6f42c1;--color-ansi-magenta-bright:#8a63d2;--color-ansi-cyan:#1b7c83;--color-ansi-cyan-bright:#3192aa}@media (prefers-color-scheme:light){[data-color-mode=auto][data-light-theme=light]{--color-scale-black:#1b1f23;--color-scale-white:#fff;--color-scale-gray-0:#fafbfc;--color-scale-gray-1:#f6f8fa;--color-scale-gray-2:#e1e4e8;--color-scale-gray-3:#d1d5da;--color-scale-gray-4:#959da5;--color-scale-gray-5:#6a737d;--color-scale-gray-6:#586069;--color-scale-gray-7:#444d56;--color-scale-gray-8:#2f363d;--color-scale-gray-9:#24292e;--color-scale-blue-0:#f1f8ff;--color-scale-blue-1:#dbedff;--color-scale-blue-2:#c8e1ff;--color-scale-blue-3:#79b8ff;--color-scale-blue-4:#2188ff;--color-scale-blue-5:#0366d6;--color-scale-blue-6:#005cc5;--color-scale-blue-7:#044289;--color-scale-blue-8:#032f62;--color-scale-blue-9:#05264c;--color-scale-green-0:#f0fff4;--color-scale-green-1:#dcffe4;--color-scale-green-2:#bef5cb;--color-scale-green-3:#85e89d;--color-scale-green-4:#34d058;--color-scale-green-5:#28a745;--color-scale-green-6:#22863a;--color-scale-green-7:#176f2c;--color-scale-green-8:#165c26;--color-scale-green-9:#144620;--color-scale-yellow-0:#fffdef;--color-scale-yellow-1:#fffbdd;--color-scale-yellow-2:#fff5b1;--color-scale-yellow-3:#ffea7f;--color-scale-yellow-4:#ffdf5d;--color-scale-yellow-5:#ffd33d;--color-scale-yellow-6:#f9c513;--color-scale-yellow-7:#dbab09;--color-scale-yellow-8:#b08800;--color-scale-yellow-9:#735c0f;--color-scale-orange-0:#fff8f2;--color-scale-orange-1:#ffebda;--color-scale-orange-2:#ffd1ac;--color-scale-orange-3:#ffab70;--color-scale-orange-4:#fb8532;--color-scale-orange-5:#f66a0a;--color-scale-orange-6:#e36209;--color-scale-orange-7:#d15704;--color-scale-orange-8:#c24e00;--color-scale-orange-9:#a04100;--color-scale-red-0:#ffeef0;--color-scale-red-1:#ffdce0;--color-scale-red-2:#fdaeb7;--color-scale-red-3:#f97583;--color-scale-red-4:#ea4a5a;--color-scale-red-5:#d73a49;--color-scale-red-6:#cb2431;--color-scale-red-7:#b31d28;--color-scale-red-8:#9e1c23;--color-scale-red-9:#86181d;--color-scale-purple-0:#f5f0ff;--color-scale-purple-1:#e6dcfd;--color-scale-purple-2:#d1bcf9;--color-scale-purple-3:#b392f0;--color-scale-purple-4:#8a63d2;--color-scale-purple-5:#6f42c1;--color-scale-purple-6:#5a32a3;--color-scale-purple-7:#4c2889;--color-scale-purple-8:#3a1d6e;--color-scale-purple-9:#29134e;--color-scale-pink-0:#ffeef8;--color-scale-pink-1:#fedbf0;--color-scale-pink-2:#f9b3dd;--color-scale-pink-3:#f692ce;--color-scale-pink-4:#ec6cb9;--color-scale-pink-5:#ea4aaa;--color-scale-pink-6:#d03592;--color-scale-pink-7:#b93a86;--color-scale-pink-8:#99306f;--color-scale-pink-9:#6d224f;--color-auto-black:#1b1f23;--color-auto-white:#fff;--color-auto-gray-0:#fafbfc;--color-auto-gray-1:#f6f8fa;--color-auto-gray-2:#e1e4e8;--color-auto-gray-3:#d1d5da;--color-auto-gray-4:#959da5;--color-auto-gray-5:#6a737d;--color-auto-gray-6:#586069;--color-auto-gray-7:#444d56;--color-auto-gray-8:#2f363d;--color-auto-gray-9:#24292e;--color-auto-blue-0:#f1f8ff;--color-auto-blue-1:#dbedff;--color-auto-blue-2:#c8e1ff;--color-auto-blue-3:#79b8ff;--color-auto-blue-4:#2188ff;--color-auto-blue-5:#0366d6;--color-auto-blue-6:#005cc5;--color-auto-blue-7:#044289;--color-auto-blue-8:#032f62;--color-auto-blue-9:#05264c;--color-auto-green-0:#f0fff4;--color-auto-green-1:#dcffe4;--color-auto-green-2:#bef5cb;--color-auto-green-3:#85e89d;--color-auto-green-4:#34d058;--color-auto-green-5:#28a745;--color-auto-green-6:#22863a;--color-auto-green-7:#176f2c;--color-auto-green-8:#165c26;--color-auto-green-9:#144620;--color-auto-yellow-0:#fffdef;--color-auto-yellow-1:#fffbdd;--color-auto-yellow-2:#fff5b1;--color-auto-yellow-3:#ffea7f;--color-auto-yellow-4:#ffdf5d;--color-auto-yellow-5:#ffd33d;--color-auto-yellow-6:#f9c513;--color-auto-yellow-7:#dbab09;--color-auto-yellow-8:#b08800;--color-auto-yellow-9:#735c0f;--color-auto-orange-0:#fff8f2;--color-auto-orange-1:#ffebda;--color-auto-orange-2:#ffd1ac;--color-auto-orange-3:#ffab70;--color-auto-orange-4:#fb8532;--color-auto-orange-5:#f66a0a;--color-auto-orange-6:#e36209;--color-auto-orange-7:#d15704;--color-auto-orange-8:#c24e00;--color-auto-orange-9:#a04100;--color-auto-red-0:#ffeef0;--color-auto-red-1:#ffdce0;--color-auto-red-2:#fdaeb7;--color-auto-red-3:#f97583;--color-auto-red-4:#ea4a5a;--color-auto-red-5:#d73a49;--color-auto-red-6:#cb2431;--color-auto-red-7:#b31d28;--color-auto-red-8:#9e1c23;--color-auto-red-9:#86181d;--color-auto-purple-0:#f5f0ff;--color-auto-purple-1:#e6dcfd;--color-auto-purple-2:#d1bcf9;--color-auto-purple-3:#b392f0;--color-auto-purple-4:#8a63d2;--color-auto-purple-5:#6f42c1;--color-auto-purple-6:#5a32a3;--color-auto-purple-7:#4c2889;--color-auto-purple-8:#3a1d6e;--color-auto-purple-9:#29134e;--color-auto-pink-0:#ffeef8;--color-auto-pink-1:#fedbf0;--color-auto-pink-2:#f9b3dd;--color-auto-pink-3:#f692ce;--color-auto-pink-4:#ec6cb9;--color-auto-pink-5:#ea4aaa;--color-auto-pink-6:#d03592;--color-auto-pink-7:#b93a86;--color-auto-pink-8:#99306f;--color-auto-pink-9:#6d224f;--color-text-primary:#24292e;--color-text-secondary:#586069;--color-text-tertiary:#6a737d;--color-text-placeholder:#6a737d;--color-text-disabled:#959da5;--color-text-inverse:#fff;--color-text-link:#0366d6;--color-text-danger:#cb2431;--color-text-success:#22863a;--color-text-warning:#b08800;--color-text-white:#fff;--color-icon-primary:#24292e;--color-icon-secondary:#586069;--color-icon-tertiary:#959da5;--color-icon-info:#0366d6;--color-icon-danger:#d73a49;--color-icon-success:#22863a;--color-icon-warning:#b08800;--color-border-primary:#e1e4e8;--color-border-secondary:#ebedef;--color-border-tertiary:#d1d5da;--color-border-overlay:#e1e4e8;--color-border-inverse:#fff;--color-border-info:#0366d6;--color-border-danger:#d73a49;--color-border-success:#34d058;--color-border-warning:#f9c513;--color-bg-canvas:#fff;--color-bg-canvas-mobile:#fff;--color-bg-canvas-inverse:#24292e;--color-bg-canvas-inset:#f6f8fa;--color-bg-primary:#fff;--color-bg-secondary:#fafbfc;--color-bg-tertiary:#f6f8fa;--color-bg-overlay:#fff;--color-bg-backdrop:rgba(27,31,35,0.5);--color-bg-info:#f1f8ff;--color-bg-info-inverse:#0366d6;--color-bg-danger:#ffeef0;--color-bg-danger-inverse:#d73a49;--color-bg-success:#dcffe4;--color-bg-success-inverse:#28a745;--color-bg-warning:#fff5b1;--color-bg-warning-inverse:#ffd33d;--color-shadow-small:0 1px 0 rgba(27,31,35,0.04);--color-shadow-medium:0 3px 6px rgba(149,157,165,0.15);--color-shadow-large:0 8px 24px rgba(149,157,165,0.2);--color-shadow-extra-large:0 12px 48px rgba(149,157,165,0.3);--color-shadow-highlight:inset 0 1px 0 hsla(0,0%,100%,0.25);--color-shadow-inset:inset 0 1px 0 rgba(225,228,232,0.2);--color-state-hover-primary-bg:#0366d6;--color-state-hover-primary-border:#0366d6;--color-state-hover-primary-text:#fff;--color-state-hover-primary-icon:#fff;--color-state-hover-secondary-bg:#f6f8fa;--color-state-hover-secondary-border:#f6f8fa;--color-state-selected-primary-bg:#0366d6;--color-state-selected-primary-border:#0366d6;--color-state-selected-primary-text:#fff;--color-state-selected-primary-icon:#fff;--color-state-focus-border:#0366d6;--color-state-focus-shadow:0 0 0 3px rgba(3,102,214,0.3);--color-fade-fg-10:rgba(27,31,35,0.1);--color-fade-fg-15:rgba(27,31,35,0.15);--color-fade-fg-30:rgba(27,31,35,0.3);--color-fade-fg-50:rgba(27,31,35,0.5);--color-fade-fg-70:rgba(27,31,35,0.7);--color-fade-fg-85:rgba(27,31,35,0.85);--color-fade-black-10:rgba(27,31,35,0.1);--color-fade-black-15:rgba(27,31,35,0.15);--color-fade-black-30:rgba(27,31,35,0.3);--color-fade-black-50:rgba(27,31,35,0.5);--color-fade-black-70:rgba(27,31,35,0.7);--color-fade-black-85:rgba(27,31,35,0.85);--color-fade-white-10:hsla(0,0%,100%,0.1);--color-fade-white-15:hsla(0,0%,100%,0.15);--color-fade-white-30:hsla(0,0%,100%,0.3);--color-fade-white-50:hsla(0,0%,100%,0.5);--color-fade-white-70:hsla(0,0%,100%,0.7);--color-fade-white-85:hsla(0,0%,100%,0.85);--color-alert-info-text:#24292e;--color-alert-info-icon:rgba(4,66,137,0.6);--color-alert-info-bg:#dbedff;--color-alert-info-border:rgba(4,66,137,0.2);--color-alert-warn-text:#24292e;--color-alert-warn-icon:#b08800;--color-alert-warn-bg:#fffbdd;--color-alert-warn-border:rgba(176,136,0,0.2);--color-alert-error-text:#24292e;--color-alert-error-icon:rgba(158,28,35,0.6);--color-alert-error-bg:#ffe3e6;--color-alert-error-border:rgba(158,28,35,0.2);--color-alert-success-text:#24292e;--color-alert-success-icon:rgba(23,111,44,0.8);--color-alert-success-bg:#dcffe4;--color-alert-success-border:rgba(23,111,44,0.2);--color-autocomplete-shadow:0 3px 6px rgba(149,157,165,0.15);--color-autocomplete-row-border:#ebedef;--color-blankslate-icon:#757f8a;--color-btn-text:#24292e;--color-btn-bg:#fafbfc;--color-btn-border:rgba(27,31,35,0.15);--color-btn-shadow:0 1px 0 rgba(27,31,35,0.04);--color-btn-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.25);--color-btn-hover-bg:#f3f4f6;--color-btn-hover-border:rgba(27,31,35,0.15);--color-btn-active-bg:#ebecf0;--color-btn-active-border:rgba(27,31,35,0.1);--color-btn-selected-bg:#eeeff2;--color-btn-focus-bg:#fafbfc;--color-btn-focus-border:rgba(27,31,35,0.15);--color-btn-focus-shadow:0 0 0 3px rgba(3,102,214,0.3);--color-btn-shadow-active:inset 0 0.15em 0.3em rgba(27,31,35,0.15);--color-btn-shadow-input-focus:0 0 0 0.2em rgba(3,102,214,0.3);--color-btn-counter-bg:rgba(27,31,35,0.08);--color-btn-primary-text:#fff;--color-btn-primary-bg:#2ea44f;--color-btn-primary-border:rgba(27,31,35,0.15);--color-btn-primary-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-primary-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-primary-hover-bg:#2c974b;--color-btn-primary-hover-border:rgba(27,31,35,0.15);--color-btn-primary-selected-bg:#298e46;--color-btn-primary-selected-shadow:inset 0 1px 0 rgba(20,70,32,0.2);--color-btn-primary-disabled-text:hsla(0,0%,100%,0.8);--color-btn-primary-disabled-bg:#94d3a2;--color-btn-primary-disabled-border:rgba(27,31,35,0.1);--color-btn-primary-focus-bg:#2ea44f;--color-btn-primary-focus-border:rgba(27,31,35,0.15);--color-btn-primary-focus-shadow:0 0 0 3px rgba(46,164,79,0.4);--color-btn-primary-icon:hsla(0,0%,100%,0.8);--color-btn-primary-counter-bg:hsla(0,0%,100%,0.2);--color-btn-outline-text:#0366d6;--color-btn-outline-hover-text:#fff;--color-btn-outline-hover-bg:#0366d6;--color-btn-outline-hover-border:rgba(27,31,35,0.15);--color-btn-outline-hover-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-outline-hover-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-outline-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-outline-selected-text:#fff;--color-btn-outline-selected-bg:#035fc9;--color-btn-outline-selected-border:rgba(27,31,35,0.15);--color-btn-outline-selected-shadow:inset 0 1px 0 rgba(5,38,76,0.2);--color-btn-outline-disabled-text:rgba(3,102,214,0.5);--color-btn-outline-disabled-bg:#fafbfc;--color-btn-outline-disabled-counter-bg:rgba(3,102,214,0.05);--color-btn-outline-focus-border:rgba(27,31,35,0.15);--color-btn-outline-focus-shadow:0 0 0 3px rgba(0,92,197,0.4);--color-btn-outline-counter-bg:rgba(3,102,214,0.1);--color-btn-danger-text:#d73a49;--color-btn-danger-hover-text:#fff;--color-btn-danger-hover-bg:#cb2431;--color-btn-danger-hover-border:rgba(27,31,35,0.15);--color-btn-danger-hover-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-danger-hover-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-danger-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-danger-selected-text:#fff;--color-btn-danger-selected-bg:#d53040;--color-btn-danger-selected-border:rgba(27,31,35,0.15);--color-btn-danger-selected-shadow:inset 0 1px 0 rgba(134,24,29,0.2);--color-btn-danger-disabled-text:rgba(215,58,73,0.5);--color-btn-danger-disabled-bg:#fafbfc;--color-btn-danger-disabled-counter-bg:rgba(215,58,73,0.05);--color-btn-danger-focus-border:rgba(27,31,35,0.15);--color-btn-danger-focus-shadow:0 0 0 3px rgba(203,36,49,0.4);--color-btn-danger-counter-bg:rgba(215,58,73,0.1);--color-btn-danger-icon:#d73a49;--color-btn-danger-hover-icon:#fff;--color-counter-text:#24292e;--color-counter-bg:rgba(209,213,218,0.5);--color-counter-primary-text:#fff;--color-counter-primary-bg:#6a737d;--color-counter-secondary-text:#6a737d;--color-counter-secondary-bg:rgba(209,213,218,0.5);--color-dropdown-shadow:0 8px 24px rgba(149,157,165,0.2);--color-label-border:#e1e4e8;--color-label-primary-text:#24292e;--color-label-primary-border:#6a737d;--color-label-secondary-text:#586069;--color-label-secondary-border:#e1e4e8;--color-label-info-text:#0366d6;--color-label-info-border:#0366d6;--color-label-success-text:#22863a;--color-label-success-border:#28a745;--color-label-warning-text:#735c0f;--color-label-warning-border:#b08800;--color-label-danger-text:#d73a49;--color-label-danger-border:#cb2431;--color-label-orange-text:#c24e00;--color-label-orange-border:#f66a0a;--color-input-bg:#fff;--color-input-contrast-bg:#fafbfc;--color-input-border:#e1e4e8;--color-input-shadow:inset 0 1px 2px rgba(27,31,35,0.075);--color-input-disabled-bg:#f6f8fa;--color-input-disabled-border:#e1e4e8;--color-input-warning-border:#f9c513;--color-input-error-border:#cb2431;--color-input-tooltip-success-text:#144620;--color-input-tooltip-success-bg:#dcffe4;--color-input-tooltip-success-border:#34d058;--color-input-tooltip-warning-text:#735c0f;--color-input-tooltip-warning-bg:#fff5b1;--color-input-tooltip-warning-border:#f9c513;--color-input-tooltip-error-text:#86181d;--color-input-tooltip-error-bg:#ffeef0;--color-input-tooltip-error-border:#f97583;--color-avatar-bg:#fff;--color-avatar-border:transparent;--color-avatar-stack-fade:#d1d5da;--color-avatar-stack-fade-more:#e1e4e8;--color-avatar-child-shadow:-2px -2px 0 hsla(0,0%,100%,0.8);--color-toast-text:#24292e;--color-toast-bg:#fff;--color-toast-border:#e1e4e8;--color-toast-shadow:0 8px 24px rgba(149,157,165,0.2);--color-toast-icon:#fff;--color-toast-icon-bg:#0366d6;--color-toast-icon-border:transparent;--color-toast-success-text:#24292e;--color-toast-success-border:#e1e4e8;--color-toast-success-icon:#fff;--color-toast-success-icon-bg:#28a745;--color-toast-success-icon-border:transparent;--color-toast-warning-text:#24292e;--color-toast-warning-border:#e1e4e8;--color-toast-warning-icon:#24292e;--color-toast-warning-icon-bg:#ffd33d;--color-toast-warning-icon-border:transparent;--color-toast-danger-text:#24292e;--color-toast-danger-border:#e1e4e8;--color-toast-danger-icon:#fff;--color-toast-danger-icon-bg:#d73a49;--color-toast-danger-icon-border:transparent;--color-toast-loading-text:#24292e;--color-toast-loading-border:#e1e4e8;--color-toast-loading-icon:#fff;--color-toast-loading-icon-bg:#586069;--color-toast-loading-icon-border:transparent;--color-timeline-text:#444d56;--color-timeline-badge-bg:#e1e4e8;--color-timeline-badge-success-border:transparent;--color-timeline-target-badge-border:#2188ff;--color-timeline-target-badge-shadow:#c8e1ff;--color-select-menu-border-secondary:#ebedef;--color-select-menu-shadow:0 0 18px rgba(27,31,35,0.4);--color-select-menu-backdrop-bg:rgba(27,31,35,0.5);--color-select-menu-backdrop-border:transparent;--color-select-menu-tap-highlight:rgba(209,213,218,0.5);--color-select-menu-tap-focus-bg:#dbedff;--color-box-blue-border:#c8e1ff;--color-box-row-yellow-bg:#fffbdd;--color-box-row-blue-bg:#f1f8ff;--color-box-header-blue-bg:#f1f8ff;--color-box-header-blue-border:#c8e1ff;--color-box-border-info:rgba(3,102,214,0.2);--color-box-bg-info:#f1f8ff;--color-box-border-warning:rgba(255,211,61,0.4);--color-box-bg-warning:#fffdef;--color-branch-name-text:#586069;--color-branch-name-icon:#a9bbd1;--color-branch-name-bg:#ebf5ff;--color-branch-name-link-text:#0366d6;--color-branch-name-link-icon:#a9bbd1;--color-branch-name-link-bg:#ebf5ff;--color-markdown-code-bg:rgba(27,31,35,0.05);--color-markdown-frame-border:#e0e3e6;--color-markdown-blockquote-border:#e0e3e6;--color-markdown-table-border:#e0e3e6;--color-markdown-table-tr-border:#c6cbd2;--color-menu-heading-text:#24292e;--color-menu-border-active:#f9826c;--color-menu-bg-active:transparent;--color-sidenav-selected-bg:#fff;--color-sidenav-border-active:#f9826c;--color-header-text:hsla(0,0%,100%,0.7);--color-header-bg:#24292e;--color-header-logo:#fff;--color-filter-item-bar-bg:#eff2f6;--color-hidden-text-expander-bg:#e0e3e6;--color-hidden-text-expander-bg-hover:#c6cbd2;--color-drag-and-drop-border:#c4c9cf;--color-upload-enabled-border:#e0e3e6;--color-upload-enabled-border-focused:#479dff;--color-previewable-comment-form-border:#c4c9cf;--color-underlinenav-border:rgba(209,213,218,0);--color-underlinenav-border-hover:#d1d5da;--color-underlinenav-border-active:#f9826c;--color-underlinenav-text:#24292e;--color-underlinenav-text-hover:#24292e;--color-underlinenav-text-active:#24292e;--color-underlinenav-icon:#959da5;--color-underlinenav-icon-hover:#959da5;--color-underlinenav-icon-active:#24292e;--color-underlinenav-counter-text:#24292e;--color-underlinenav-counter-bg:rgba(209,213,218,0.5);--color-verified-badge-text:#22863a;--color-verified-badge-bg:#fff;--color-verified-badge-border:#e1e4e8;--color-social-count-bg:#fff;--color-tooltip-text:#fff;--color-tooltip-bg:#24292e;--color-header-search-bg:#24292e;--color-header-search-border:#444d56;--color-search-keyword-hl:#fffbdd;--color-diffstat-neutral-bg:#d1d5da;--color-diffstat-neutral-border:#d1d5da;--color-diffstat-deletion-bg:#d73a49;--color-diffstat-deletion-border:#d73a49;--color-diffstat-addition-bg:#28a745;--color-diffstat-addition-border:#28a745;--color-mktg-success:#2ebc4f;--color-mktg-info:#1074e7;--color-mktg-bg-shade-gradient-top:rgba(27,31,35,0.065);--color-mktg-bg-shade-gradient-bottom:rgba(27,31,35,0);--color-mktg-btn-bg-top:#617eef;--color-mktg-btn-bg-bottom:#4969ed;--color-mktg-btn-bg-overlay-top:#4968e4;--color-mktg-btn-bg-overlay-bottom:#3355e0;--color-mktg-btn-text:#fff;--color-mktg-btn-primary-bg-top:#34b759;--color-mktg-btn-primary-bg-bottom:#2ea44f;--color-mktg-btn-primary-bg-overlay-top:#279b42;--color-mktg-btn-primary-bg-overlay-bottom:#22863a;--color-mktg-btn-primary-text:#fff;--color-mktg-btn-enterprise-bg-top:#8670ff;--color-mktg-btn-enterprise-bg-bottom:#6f57ff;--color-mktg-btn-enterprise-bg-overlay-top:#7463de;--color-mktg-btn-enterprise-bg-overlay-bottom:#614eda;--color-mktg-btn-enterprise-text:#fff;--color-mktg-btn-outline-text:#4969ed;--color-mktg-btn-outline-border:rgba(73,105,237,0.3);--color-mktg-btn-outline-hover-text:#3355e0;--color-mktg-btn-outline-hover-border:rgba(51,85,224,0.5);--color-mktg-btn-outline-focus-border:#4969ed;--color-mktg-btn-outline-focus-border-inset:rgba(73,105,237,0.5);--color-mktg-btn-dark-text:#fff;--color-mktg-btn-dark-border:hsla(0,0%,100%,0.3);--color-mktg-btn-dark-hover-text:#fff;--color-mktg-btn-dark-hover-border:hsla(0,0%,100%,0.5);--color-mktg-btn-dark-focus-border:#fff;--color-mktg-btn-dark-focus-border-inset:hsla(0,0%,100%,0.5);--color-files-explorer-icon:#79b8ff;--color-hl-author-bg:#f1f8ff;--color-hl-author-border:#c8e1ff;--color-logo-subdued:#d1d5da;--color-discussion-border:#a4ccae;--color-discussion-bg-success:#28a745;--color-actions-workflow-table-sticky-bg:hsla(0,0%,100%,0.95);--color-repo-language-color-border:rgba(27,31,35,0.1);--color-code-selection-bg:#c8e1ff;--color-highlight-text:#442c12;--color-highlight-bg:#fff0bb;--color-blob-line-highlight-bg:#fffbdd;--color-blob-line-highlight-border:transparent;--color-diff-addition-text:#22863a;--color-diff-addition-bg:#e5ffec;--color-diff-addition-border:#34d058;--color-diff-deletion-text:#cb2431;--color-diff-deletion-bg:#ffeef0;--color-diff-deletion-border:#d73a49;--color-diff-change-text:#b08800;--color-diff-change-bg:#fff5b1;--color-diff-change-border:#f9c513;--color-diff-blob-num-text:rgba(27,31,35,0.3);--color-diff-blob-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-addition-num-text:rgba(27,31,35,0.3);--color-diff-blob-addition-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-addition-num-bg:#ccffd8;--color-diff-blob-addition-line-bg:#e5ffec;--color-diff-blob-addition-word-bg:#abf2bc;--color-diff-blob-deletion-num-text:rgba(27,31,35,0.3);--color-diff-blob-deletion-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-deletion-num-bg:#ffdce0;--color-diff-blob-deletion-line-bg:#ffeef0;--color-diff-blob-deletion-word-bg:#fdb9c1;--color-diff-blob-hunk-text:rgba(27,31,35,0.7);--color-diff-blob-hunk-num-bg:#dbedff;--color-diff-blob-hunk-line-bg:#f1f8ff;--color-diff-blob-empty-block-bg:#fafbfc;--color-diff-blob-selected-line-highlight-bg:rgba(255,223,93,0.2);--color-diff-blob-selected-line-highlight-border:#ffd33d;--color-diff-blob-selected-line-highlight-mix-blend-mode:multiply;--color-diff-blob-expander-icon:#586069;--color-diff-blob-expander-hover-icon:#fff;--color-diff-blob-expander-hover-bg:#0366d6;--color-diff-blob-comment-button-icon:#fff;--color-diff-blob-comment-button-bg:#0366d6;--color-diff-blob-comment-button-gradient-bg:#0472f1;--color-global-nav-logo:#fff;--color-global-nav-bg:#24292e;--color-global-nav-text:#fff;--color-global-nav-icon:#fff;--color-global-nav-input-bg:#fafbfc;--color-global-nav-input-border:#fafbfc;--color-global-nav-input-icon:#d1d5da;--color-global-nav-input-placeholder:#959da5;--color-calendar-graph-day-bg:#ebedf0;--color-calendar-graph-day-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-1-bg:#9be9a8;--color-calendar-graph-day-l-2-bg:#40c463;--color-calendar-graph-day-l-3-bg:#30a14e;--color-calendar-graph-day-l-4-bg:#216e39;--color-calendar-graph-day-l-4-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-3-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-2-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-1-border:rgba(27,31,35,0.06);--color-footer-invertocat-octicon:#d1d5da;--color-footer-invertocat-octicon-hover:#6a737d;--color-pr-state-draft-text:#fff;--color-pr-state-draft-bg:#6a737d;--color-pr-state-draft-border:transparent;--color-pr-state-open-text:#fff;--color-pr-state-open-bg:#28a745;--color-pr-state-open-border:transparent;--color-pr-state-merged-text:#fff;--color-pr-state-merged-bg:#6f42c1;--color-pr-state-merged-border:transparent;--color-pr-state-closed-text:#fff;--color-pr-state-closed-bg:#d73a49;--color-pr-state-closed-border:transparent;--color-topic-tag-text:#0366d6;--color-topic-tag-bg:#f1f8ff;--color-topic-tag-hover-bg:#dbedff;--color-topic-tag-active-bg:#e5f2ff;--color-merge-box-success-icon-bg:#28a745;--color-merge-box-success-icon-text:#fff;--color-merge-box-success-icon-border:transparent;--color-merge-box-success-indicator-bg:#28a745;--color-merge-box-success-indicator-border:transparent;--color-merge-box-merged-icon-bg:#6f42c1;--color-merge-box-merged-icon-text:#fff;--color-merge-box-merged-icon-border:transparent;--color-merge-box-merged-box-border:#6f42c1;--color-merge-box-neutral-icon-bg:#6a737d;--color-merge-box-neutral-icon-text:#fff;--color-merge-box-neutral-icon-border:transparent;--color-merge-box-neutral-indicator-bg:#6a737d;--color-merge-box-neutral-indicator-border:transparent;--color-merge-box-warning-icon-bg:#dbab09;--color-merge-box-warning-icon-text:#fff;--color-merge-box-warning-icon-border:transparent;--color-merge-box-warning-box-border:#ffd33d;--color-merge-box-warning-merge-highlight:transparent;--color-merge-box-error-icon-bg:#d73a49;--color-merge-box-error-icon-text:#fff;--color-merge-box-error-icon-border:transparent;--color-merge-box-error-indicator-bg:#d73a49;--color-merge-box-error-indicator-border:transparent;--color-project-card-bg:#fff;--color-project-header-bg:#24292e;--color-project-sidebar-bg:#fff;--color-project-gradient-in:#fff;--color-project-gradient-out:hsla(0,0%,100%,0);--color-checks-bg:#24292e;--color-checks-run-border-width:0px;--color-checks-container-border-width:0px;--color-checks-text-primary:#fafbfc;--color-checks-text-secondary:#959da5;--color-checks-text-link:#79b8ff;--color-checks-btn-icon:#d1d5da;--color-checks-btn-hover-icon:#fafbfc;--color-checks-btn-hover-bg:hsla(0,0%,100%,0.125);--color-checks-input-text:#f6f8fa;--color-checks-input-placeholder-text:#959da5;--color-checks-input-focus-text:#959da5;--color-checks-input-bg:#2f363d;--color-checks-input-shadow:none;--color-checks-dropdown-text:#d1d5da;--color-checks-dropdown-bg:#2f363d;--color-checks-dropdown-border:#444d56;--color-checks-dropdown-hover-text:#fafbfc;--color-checks-dropdown-hover-bg:#444d56;--color-checks-dropdown-btn-hover-text:#fafbfc;--color-checks-dropdown-btn-hover-bg:#2f363d;--color-checks-scrollbar-thumb-bg:#586069;--color-checks-header-label-text:#e1e4e8;--color-checks-header-label-open-text:#fafbfc;--color-checks-header-border:#2f363d;--color-checks-header-icon:#959da5;--color-checks-line-text:#e1e4e8;--color-checks-line-num-text:rgba(149,157,165,0.75);--color-checks-line-timestamp-text:#959da5;--color-checks-line-hover-bg:#2f363d;--color-checks-line-selected-bg:rgba(33,136,255,0.15);--color-checks-line-selected-num-text:#79b8ff;--color-checks-line-dt-fm-text:#24292e;--color-checks-line-dt-fm-bg:#ffd33d;--color-checks-gate-bg:rgba(249,197,19,0.15);--color-checks-gate-text:#e1e4e8;--color-checks-gate-waiting-text:#d1d5da;--color-checks-step-header-open-bg:#2f363d;--color-checks-step-error-text:#f97583;--color-checks-step-warning-text:#ffea7f;--color-checks-logline-text:#959da5;--color-checks-logline-num-text:rgba(149,157,165,0.75);--color-checks-logline-debug-text:#b392f0;--color-checks-logline-error-text:#e1e4e8;--color-checks-logline-error-num-text:#f97583;--color-checks-logline-error-bg:rgba(203,36,49,0.15);--color-checks-logline-warning-text:#e1e4e8;--color-checks-logline-warning-num-text:#ffea7f;--color-checks-logline-warning-bg:rgba(249,197,19,0.15);--color-checks-logline-command-text:#79b8ff;--color-checks-logline-section-text:#85e89d;--color-checks-ansi-black:#24292e;--color-checks-ansi-black-bright:#2f363d;--color-checks-ansi-white:#e1e4e8;--color-checks-ansi-white-bright:#e1e4e8;--color-checks-ansi-gray:#959da5;--color-checks-ansi-red:#f97583;--color-checks-ansi-red-bright:#fdaeb7;--color-checks-ansi-green:#85e89d;--color-checks-ansi-green-bright:#bef5cb;--color-checks-ansi-yellow:#ffea7f;--color-checks-ansi-yellow-bright:#fff5b1;--color-checks-ansi-blue:#79b8ff;--color-checks-ansi-blue-bright:#c8e1ff;--color-checks-ansi-magenta:#b392f0;--color-checks-ansi-magenta-bright:#d1bcf9;--color-checks-ansi-cyan:#76e3ea;--color-checks-ansi-cyan-bright:#b3f0ff;--color-intro-shelf-gradient-left:#f1f8ff;--color-intro-shelf-gradient-right:#dcffe4;--color-intro-shelf-gradient-in:#fff;--color-intro-shelf-gradient-out:hsla(0,0%,100%,0);--color-marketing-icon-primary:#2188ff;--color-marketing-icon-secondary:#79b8ff;--color-prettylights-syntax-comment:#6a737d;--color-prettylights-syntax-constant:#005cc5;--color-prettylights-syntax-entity:#6f42c1;--color-prettylights-syntax-storage-modifier-import:#24292e;--color-prettylights-syntax-entity-tag:#22863a;--color-prettylights-syntax-keyword:#d73a49;--color-prettylights-syntax-string:#032f62;--color-prettylights-syntax-variable:#e36209;--color-prettylights-syntax-brackethighlighter-unmatched:#b31d28;--color-prettylights-syntax-invalid-illegal-text:#fafbfc;--color-prettylights-syntax-invalid-illegal-bg:#b31d28;--color-prettylights-syntax-carriage-return-text:#fafbfc;--color-prettylights-syntax-carriage-return-bg:#d73a49;--color-prettylights-syntax-string-regexp:#22863a;--color-prettylights-syntax-markup-list:#735c0f;--color-prettylights-syntax-markup-heading:#005cc5;--color-prettylights-syntax-markup-italic:#24292e;--color-prettylights-syntax-markup-bold:#24292e;--color-prettylights-syntax-markup-deleted-text:#b31d28;--color-prettylights-syntax-markup-deleted-bg:#ffeef0;--color-prettylights-syntax-markup-inserted-text:#22863a;--color-prettylights-syntax-markup-inserted-bg:#f0fff4;--color-prettylights-syntax-markup-changed-text:#e36209;--color-prettylights-syntax-markup-changed-bg:#ffebda;--color-prettylights-syntax-markup-ignored-text:#f6f8fa;--color-prettylights-syntax-markup-ignored-bg:#005cc5;--color-prettylights-syntax-meta-diff-range:#6f42c1;--color-prettylights-syntax-brackethighlighter-angle:#586069;--color-prettylights-syntax-sublimelinter-gutter-mark:#959da5;--color-prettylights-syntax-constant-other-reference-link:#032f62;--color-codemirror-text:#24292e;--color-codemirror-bg:#fff;--color-codemirror-gutters-bg:#fff;--color-codemirror-guttermarker-text:#fff;--color-codemirror-guttermarker-subtle-text:#d1d5da;--color-codemirror-linenumber-text:#959da5;--color-codemirror-cursor:#24292e;--color-codemirror-selection-bg:#c8e1ff;--color-codemirror-activeline-bg:#fafbfc;--color-codemirror-matchingbracket-text:#24292e;--color-codemirror-lines-bg:#fff;--color-codemirror-syntax-comment:#6a737d;--color-codemirror-syntax-constant:#005cc5;--color-codemirror-syntax-entity:#6f42c1;--color-codemirror-syntax-keyword:#d73a49;--color-codemirror-syntax-storage:#d73a49;--color-codemirror-syntax-string:#032f62;--color-codemirror-syntax-support:#005cc5;--color-codemirror-syntax-variable:#e36209;--color-ansi-black:#24292e;--color-ansi-black-bright:#586069;--color-ansi-white:#6a737d;--color-ansi-white-bright:#959da5;--color-ansi-gray:#6a737d;--color-ansi-red:#d73a49;--color-ansi-red-bright:#cb2431;--color-ansi-green:#22863a;--color-ansi-green-bright:#28a745;--color-ansi-yellow:#b08800;--color-ansi-yellow-bright:#dbab09;--color-ansi-blue:#0366d6;--color-ansi-blue-bright:#2188ff;--color-ansi-magenta:#6f42c1;--color-ansi-magenta-bright:#8a63d2;--color-ansi-cyan:#1b7c83;--color-ansi-cyan-bright:#3192aa}}@media (prefers-color-scheme:dark){[data-color-mode=auto][data-dark-theme=light]{--color-scale-black:#1b1f23;--color-scale-white:#fff;--color-scale-gray-0:#fafbfc;--color-scale-gray-1:#f6f8fa;--color-scale-gray-2:#e1e4e8;--color-scale-gray-3:#d1d5da;--color-scale-gray-4:#959da5;--color-scale-gray-5:#6a737d;--color-scale-gray-6:#586069;--color-scale-gray-7:#444d56;--color-scale-gray-8:#2f363d;--color-scale-gray-9:#24292e;--color-scale-blue-0:#f1f8ff;--color-scale-blue-1:#dbedff;--color-scale-blue-2:#c8e1ff;--color-scale-blue-3:#79b8ff;--color-scale-blue-4:#2188ff;--color-scale-blue-5:#0366d6;--color-scale-blue-6:#005cc5;--color-scale-blue-7:#044289;--color-scale-blue-8:#032f62;--color-scale-blue-9:#05264c;--color-scale-green-0:#f0fff4;--color-scale-green-1:#dcffe4;--color-scale-green-2:#bef5cb;--color-scale-green-3:#85e89d;--color-scale-green-4:#34d058;--color-scale-green-5:#28a745;--color-scale-green-6:#22863a;--color-scale-green-7:#176f2c;--color-scale-green-8:#165c26;--color-scale-green-9:#144620;--color-scale-yellow-0:#fffdef;--color-scale-yellow-1:#fffbdd;--color-scale-yellow-2:#fff5b1;--color-scale-yellow-3:#ffea7f;--color-scale-yellow-4:#ffdf5d;--color-scale-yellow-5:#ffd33d;--color-scale-yellow-6:#f9c513;--color-scale-yellow-7:#dbab09;--color-scale-yellow-8:#b08800;--color-scale-yellow-9:#735c0f;--color-scale-orange-0:#fff8f2;--color-scale-orange-1:#ffebda;--color-scale-orange-2:#ffd1ac;--color-scale-orange-3:#ffab70;--color-scale-orange-4:#fb8532;--color-scale-orange-5:#f66a0a;--color-scale-orange-6:#e36209;--color-scale-orange-7:#d15704;--color-scale-orange-8:#c24e00;--color-scale-orange-9:#a04100;--color-scale-red-0:#ffeef0;--color-scale-red-1:#ffdce0;--color-scale-red-2:#fdaeb7;--color-scale-red-3:#f97583;--color-scale-red-4:#ea4a5a;--color-scale-red-5:#d73a49;--color-scale-red-6:#cb2431;--color-scale-red-7:#b31d28;--color-scale-red-8:#9e1c23;--color-scale-red-9:#86181d;--color-scale-purple-0:#f5f0ff;--color-scale-purple-1:#e6dcfd;--color-scale-purple-2:#d1bcf9;--color-scale-purple-3:#b392f0;--color-scale-purple-4:#8a63d2;--color-scale-purple-5:#6f42c1;--color-scale-purple-6:#5a32a3;--color-scale-purple-7:#4c2889;--color-scale-purple-8:#3a1d6e;--color-scale-purple-9:#29134e;--color-scale-pink-0:#ffeef8;--color-scale-pink-1:#fedbf0;--color-scale-pink-2:#f9b3dd;--color-scale-pink-3:#f692ce;--color-scale-pink-4:#ec6cb9;--color-scale-pink-5:#ea4aaa;--color-scale-pink-6:#d03592;--color-scale-pink-7:#b93a86;--color-scale-pink-8:#99306f;--color-scale-pink-9:#6d224f;--color-auto-black:#1b1f23;--color-auto-white:#fff;--color-auto-gray-0:#fafbfc;--color-auto-gray-1:#f6f8fa;--color-auto-gray-2:#e1e4e8;--color-auto-gray-3:#d1d5da;--color-auto-gray-4:#959da5;--color-auto-gray-5:#6a737d;--color-auto-gray-6:#586069;--color-auto-gray-7:#444d56;--color-auto-gray-8:#2f363d;--color-auto-gray-9:#24292e;--color-auto-blue-0:#f1f8ff;--color-auto-blue-1:#dbedff;--color-auto-blue-2:#c8e1ff;--color-auto-blue-3:#79b8ff;--color-auto-blue-4:#2188ff;--color-auto-blue-5:#0366d6;--color-auto-blue-6:#005cc5;--color-auto-blue-7:#044289;--color-auto-blue-8:#032f62;--color-auto-blue-9:#05264c;--color-auto-green-0:#f0fff4;--color-auto-green-1:#dcffe4;--color-auto-green-2:#bef5cb;--color-auto-green-3:#85e89d;--color-auto-green-4:#34d058;--color-auto-green-5:#28a745;--color-auto-green-6:#22863a;--color-auto-green-7:#176f2c;--color-auto-green-8:#165c26;--color-auto-green-9:#144620;--color-auto-yellow-0:#fffdef;--color-auto-yellow-1:#fffbdd;--color-auto-yellow-2:#fff5b1;--color-auto-yellow-3:#ffea7f;--color-auto-yellow-4:#ffdf5d;--color-auto-yellow-5:#ffd33d;--color-auto-yellow-6:#f9c513;--color-auto-yellow-7:#dbab09;--color-auto-yellow-8:#b08800;--color-auto-yellow-9:#735c0f;--color-auto-orange-0:#fff8f2;--color-auto-orange-1:#ffebda;--color-auto-orange-2:#ffd1ac;--color-auto-orange-3:#ffab70;--color-auto-orange-4:#fb8532;--color-auto-orange-5:#f66a0a;--color-auto-orange-6:#e36209;--color-auto-orange-7:#d15704;--color-auto-orange-8:#c24e00;--color-auto-orange-9:#a04100;--color-auto-red-0:#ffeef0;--color-auto-red-1:#ffdce0;--color-auto-red-2:#fdaeb7;--color-auto-red-3:#f97583;--color-auto-red-4:#ea4a5a;--color-auto-red-5:#d73a49;--color-auto-red-6:#cb2431;--color-auto-red-7:#b31d28;--color-auto-red-8:#9e1c23;--color-auto-red-9:#86181d;--color-auto-purple-0:#f5f0ff;--color-auto-purple-1:#e6dcfd;--color-auto-purple-2:#d1bcf9;--color-auto-purple-3:#b392f0;--color-auto-purple-4:#8a63d2;--color-auto-purple-5:#6f42c1;--color-auto-purple-6:#5a32a3;--color-auto-purple-7:#4c2889;--color-auto-purple-8:#3a1d6e;--color-auto-purple-9:#29134e;--color-auto-pink-0:#ffeef8;--color-auto-pink-1:#fedbf0;--color-auto-pink-2:#f9b3dd;--color-auto-pink-3:#f692ce;--color-auto-pink-4:#ec6cb9;--color-auto-pink-5:#ea4aaa;--color-auto-pink-6:#d03592;--color-auto-pink-7:#b93a86;--color-auto-pink-8:#99306f;--color-auto-pink-9:#6d224f;--color-text-primary:#24292e;--color-text-secondary:#586069;--color-text-tertiary:#6a737d;--color-text-placeholder:#6a737d;--color-text-disabled:#959da5;--color-text-inverse:#fff;--color-text-link:#0366d6;--color-text-danger:#cb2431;--color-text-success:#22863a;--color-text-warning:#b08800;--color-text-white:#fff;--color-icon-primary:#24292e;--color-icon-secondary:#586069;--color-icon-tertiary:#959da5;--color-icon-info:#0366d6;--color-icon-danger:#d73a49;--color-icon-success:#22863a;--color-icon-warning:#b08800;--color-border-primary:#e1e4e8;--color-border-secondary:#ebedef;--color-border-tertiary:#d1d5da;--color-border-overlay:#e1e4e8;--color-border-inverse:#fff;--color-border-info:#0366d6;--color-border-danger:#d73a49;--color-border-success:#34d058;--color-border-warning:#f9c513;--color-bg-canvas:#fff;--color-bg-canvas-mobile:#fff;--color-bg-canvas-inverse:#24292e;--color-bg-canvas-inset:#f6f8fa;--color-bg-primary:#fff;--color-bg-secondary:#fafbfc;--color-bg-tertiary:#f6f8fa;--color-bg-overlay:#fff;--color-bg-backdrop:rgba(27,31,35,0.5);--color-bg-info:#f1f8ff;--color-bg-info-inverse:#0366d6;--color-bg-danger:#ffeef0;--color-bg-danger-inverse:#d73a49;--color-bg-success:#dcffe4;--color-bg-success-inverse:#28a745;--color-bg-warning:#fff5b1;--color-bg-warning-inverse:#ffd33d;--color-shadow-small:0 1px 0 rgba(27,31,35,0.04);--color-shadow-medium:0 3px 6px rgba(149,157,165,0.15);--color-shadow-large:0 8px 24px rgba(149,157,165,0.2);--color-shadow-extra-large:0 12px 48px rgba(149,157,165,0.3);--color-shadow-highlight:inset 0 1px 0 hsla(0,0%,100%,0.25);--color-shadow-inset:inset 0 1px 0 rgba(225,228,232,0.2);--color-state-hover-primary-bg:#0366d6;--color-state-hover-primary-border:#0366d6;--color-state-hover-primary-text:#fff;--color-state-hover-primary-icon:#fff;--color-state-hover-secondary-bg:#f6f8fa;--color-state-hover-secondary-border:#f6f8fa;--color-state-selected-primary-bg:#0366d6;--color-state-selected-primary-border:#0366d6;--color-state-selected-primary-text:#fff;--color-state-selected-primary-icon:#fff;--color-state-focus-border:#0366d6;--color-state-focus-shadow:0 0 0 3px rgba(3,102,214,0.3);--color-fade-fg-10:rgba(27,31,35,0.1);--color-fade-fg-15:rgba(27,31,35,0.15);--color-fade-fg-30:rgba(27,31,35,0.3);--color-fade-fg-50:rgba(27,31,35,0.5);--color-fade-fg-70:rgba(27,31,35,0.7);--color-fade-fg-85:rgba(27,31,35,0.85);--color-fade-black-10:rgba(27,31,35,0.1);--color-fade-black-15:rgba(27,31,35,0.15);--color-fade-black-30:rgba(27,31,35,0.3);--color-fade-black-50:rgba(27,31,35,0.5);--color-fade-black-70:rgba(27,31,35,0.7);--color-fade-black-85:rgba(27,31,35,0.85);--color-fade-white-10:hsla(0,0%,100%,0.1);--color-fade-white-15:hsla(0,0%,100%,0.15);--color-fade-white-30:hsla(0,0%,100%,0.3);--color-fade-white-50:hsla(0,0%,100%,0.5);--color-fade-white-70:hsla(0,0%,100%,0.7);--color-fade-white-85:hsla(0,0%,100%,0.85);--color-alert-info-text:#24292e;--color-alert-info-icon:rgba(4,66,137,0.6);--color-alert-info-bg:#dbedff;--color-alert-info-border:rgba(4,66,137,0.2);--color-alert-warn-text:#24292e;--color-alert-warn-icon:#b08800;--color-alert-warn-bg:#fffbdd;--color-alert-warn-border:rgba(176,136,0,0.2);--color-alert-error-text:#24292e;--color-alert-error-icon:rgba(158,28,35,0.6);--color-alert-error-bg:#ffe3e6;--color-alert-error-border:rgba(158,28,35,0.2);--color-alert-success-text:#24292e;--color-alert-success-icon:rgba(23,111,44,0.8);--color-alert-success-bg:#dcffe4;--color-alert-success-border:rgba(23,111,44,0.2);--color-autocomplete-shadow:0 3px 6px rgba(149,157,165,0.15);--color-autocomplete-row-border:#ebedef;--color-blankslate-icon:#757f8a;--color-btn-text:#24292e;--color-btn-bg:#fafbfc;--color-btn-border:rgba(27,31,35,0.15);--color-btn-shadow:0 1px 0 rgba(27,31,35,0.04);--color-btn-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.25);--color-btn-hover-bg:#f3f4f6;--color-btn-hover-border:rgba(27,31,35,0.15);--color-btn-active-bg:#ebecf0;--color-btn-active-border:rgba(27,31,35,0.1);--color-btn-selected-bg:#eeeff2;--color-btn-focus-bg:#fafbfc;--color-btn-focus-border:rgba(27,31,35,0.15);--color-btn-focus-shadow:0 0 0 3px rgba(3,102,214,0.3);--color-btn-shadow-active:inset 0 0.15em 0.3em rgba(27,31,35,0.15);--color-btn-shadow-input-focus:0 0 0 0.2em rgba(3,102,214,0.3);--color-btn-counter-bg:rgba(27,31,35,0.08);--color-btn-primary-text:#fff;--color-btn-primary-bg:#2ea44f;--color-btn-primary-border:rgba(27,31,35,0.15);--color-btn-primary-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-primary-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-primary-hover-bg:#2c974b;--color-btn-primary-hover-border:rgba(27,31,35,0.15);--color-btn-primary-selected-bg:#298e46;--color-btn-primary-selected-shadow:inset 0 1px 0 rgba(20,70,32,0.2);--color-btn-primary-disabled-text:hsla(0,0%,100%,0.8);--color-btn-primary-disabled-bg:#94d3a2;--color-btn-primary-disabled-border:rgba(27,31,35,0.1);--color-btn-primary-focus-bg:#2ea44f;--color-btn-primary-focus-border:rgba(27,31,35,0.15);--color-btn-primary-focus-shadow:0 0 0 3px rgba(46,164,79,0.4);--color-btn-primary-icon:hsla(0,0%,100%,0.8);--color-btn-primary-counter-bg:hsla(0,0%,100%,0.2);--color-btn-outline-text:#0366d6;--color-btn-outline-hover-text:#fff;--color-btn-outline-hover-bg:#0366d6;--color-btn-outline-hover-border:rgba(27,31,35,0.15);--color-btn-outline-hover-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-outline-hover-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-outline-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-outline-selected-text:#fff;--color-btn-outline-selected-bg:#035fc9;--color-btn-outline-selected-border:rgba(27,31,35,0.15);--color-btn-outline-selected-shadow:inset 0 1px 0 rgba(5,38,76,0.2);--color-btn-outline-disabled-text:rgba(3,102,214,0.5);--color-btn-outline-disabled-bg:#fafbfc;--color-btn-outline-disabled-counter-bg:rgba(3,102,214,0.05);--color-btn-outline-focus-border:rgba(27,31,35,0.15);--color-btn-outline-focus-shadow:0 0 0 3px rgba(0,92,197,0.4);--color-btn-outline-counter-bg:rgba(3,102,214,0.1);--color-btn-danger-text:#d73a49;--color-btn-danger-hover-text:#fff;--color-btn-danger-hover-bg:#cb2431;--color-btn-danger-hover-border:rgba(27,31,35,0.15);--color-btn-danger-hover-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-danger-hover-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-danger-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-danger-selected-text:#fff;--color-btn-danger-selected-bg:#d53040;--color-btn-danger-selected-border:rgba(27,31,35,0.15);--color-btn-danger-selected-shadow:inset 0 1px 0 rgba(134,24,29,0.2);--color-btn-danger-disabled-text:rgba(215,58,73,0.5);--color-btn-danger-disabled-bg:#fafbfc;--color-btn-danger-disabled-counter-bg:rgba(215,58,73,0.05);--color-btn-danger-focus-border:rgba(27,31,35,0.15);--color-btn-danger-focus-shadow:0 0 0 3px rgba(203,36,49,0.4);--color-btn-danger-counter-bg:rgba(215,58,73,0.1);--color-btn-danger-icon:#d73a49;--color-btn-danger-hover-icon:#fff;--color-counter-text:#24292e;--color-counter-bg:rgba(209,213,218,0.5);--color-counter-primary-text:#fff;--color-counter-primary-bg:#6a737d;--color-counter-secondary-text:#6a737d;--color-counter-secondary-bg:rgba(209,213,218,0.5);--color-dropdown-shadow:0 8px 24px rgba(149,157,165,0.2);--color-label-border:#e1e4e8;--color-label-primary-text:#24292e;--color-label-primary-border:#6a737d;--color-label-secondary-text:#586069;--color-label-secondary-border:#e1e4e8;--color-label-info-text:#0366d6;--color-label-info-border:#0366d6;--color-label-success-text:#22863a;--color-label-success-border:#28a745;--color-label-warning-text:#735c0f;--color-label-warning-border:#b08800;--color-label-danger-text:#d73a49;--color-label-danger-border:#cb2431;--color-label-orange-text:#c24e00;--color-label-orange-border:#f66a0a;--color-input-bg:#fff;--color-input-contrast-bg:#fafbfc;--color-input-border:#e1e4e8;--color-input-shadow:inset 0 1px 2px rgba(27,31,35,0.075);--color-input-disabled-bg:#f6f8fa;--color-input-disabled-border:#e1e4e8;--color-input-warning-border:#f9c513;--color-input-error-border:#cb2431;--color-input-tooltip-success-text:#144620;--color-input-tooltip-success-bg:#dcffe4;--color-input-tooltip-success-border:#34d058;--color-input-tooltip-warning-text:#735c0f;--color-input-tooltip-warning-bg:#fff5b1;--color-input-tooltip-warning-border:#f9c513;--color-input-tooltip-error-text:#86181d;--color-input-tooltip-error-bg:#ffeef0;--color-input-tooltip-error-border:#f97583;--color-avatar-bg:#fff;--color-avatar-border:transparent;--color-avatar-stack-fade:#d1d5da;--color-avatar-stack-fade-more:#e1e4e8;--color-avatar-child-shadow:-2px -2px 0 hsla(0,0%,100%,0.8);--color-toast-text:#24292e;--color-toast-bg:#fff;--color-toast-border:#e1e4e8;--color-toast-shadow:0 8px 24px rgba(149,157,165,0.2);--color-toast-icon:#fff;--color-toast-icon-bg:#0366d6;--color-toast-icon-border:transparent;--color-toast-success-text:#24292e;--color-toast-success-border:#e1e4e8;--color-toast-success-icon:#fff;--color-toast-success-icon-bg:#28a745;--color-toast-success-icon-border:transparent;--color-toast-warning-text:#24292e;--color-toast-warning-border:#e1e4e8;--color-toast-warning-icon:#24292e;--color-toast-warning-icon-bg:#ffd33d;--color-toast-warning-icon-border:transparent;--color-toast-danger-text:#24292e;--color-toast-danger-border:#e1e4e8;--color-toast-danger-icon:#fff;--color-toast-danger-icon-bg:#d73a49;--color-toast-danger-icon-border:transparent;--color-toast-loading-text:#24292e;--color-toast-loading-border:#e1e4e8;--color-toast-loading-icon:#fff;--color-toast-loading-icon-bg:#586069;--color-toast-loading-icon-border:transparent;--color-timeline-text:#444d56;--color-timeline-badge-bg:#e1e4e8;--color-timeline-badge-success-border:transparent;--color-timeline-target-badge-border:#2188ff;--color-timeline-target-badge-shadow:#c8e1ff;--color-select-menu-border-secondary:#ebedef;--color-select-menu-shadow:0 0 18px rgba(27,31,35,0.4);--color-select-menu-backdrop-bg:rgba(27,31,35,0.5);--color-select-menu-backdrop-border:transparent;--color-select-menu-tap-highlight:rgba(209,213,218,0.5);--color-select-menu-tap-focus-bg:#dbedff;--color-box-blue-border:#c8e1ff;--color-box-row-yellow-bg:#fffbdd;--color-box-row-blue-bg:#f1f8ff;--color-box-header-blue-bg:#f1f8ff;--color-box-header-blue-border:#c8e1ff;--color-box-border-info:rgba(3,102,214,0.2);--color-box-bg-info:#f1f8ff;--color-box-border-warning:rgba(255,211,61,0.4);--color-box-bg-warning:#fffdef;--color-branch-name-text:#586069;--color-branch-name-icon:#a9bbd1;--color-branch-name-bg:#ebf5ff;--color-branch-name-link-text:#0366d6;--color-branch-name-link-icon:#a9bbd1;--color-branch-name-link-bg:#ebf5ff;--color-markdown-code-bg:rgba(27,31,35,0.05);--color-markdown-frame-border:#e0e3e6;--color-markdown-blockquote-border:#e0e3e6;--color-markdown-table-border:#e0e3e6;--color-markdown-table-tr-border:#c6cbd2;--color-menu-heading-text:#24292e;--color-menu-border-active:#f9826c;--color-menu-bg-active:transparent;--color-sidenav-selected-bg:#fff;--color-sidenav-border-active:#f9826c;--color-header-text:hsla(0,0%,100%,0.7);--color-header-bg:#24292e;--color-header-logo:#fff;--color-filter-item-bar-bg:#eff2f6;--color-hidden-text-expander-bg:#e0e3e6;--color-hidden-text-expander-bg-hover:#c6cbd2;--color-drag-and-drop-border:#c4c9cf;--color-upload-enabled-border:#e0e3e6;--color-upload-enabled-border-focused:#479dff;--color-previewable-comment-form-border:#c4c9cf;--color-underlinenav-border:rgba(209,213,218,0);--color-underlinenav-border-hover:#d1d5da;--color-underlinenav-border-active:#f9826c;--color-underlinenav-text:#24292e;--color-underlinenav-text-hover:#24292e;--color-underlinenav-text-active:#24292e;--color-underlinenav-icon:#959da5;--color-underlinenav-icon-hover:#959da5;--color-underlinenav-icon-active:#24292e;--color-underlinenav-counter-text:#24292e;--color-underlinenav-counter-bg:rgba(209,213,218,0.5);--color-verified-badge-text:#22863a;--color-verified-badge-bg:#fff;--color-verified-badge-border:#e1e4e8;--color-social-count-bg:#fff;--color-tooltip-text:#fff;--color-tooltip-bg:#24292e;--color-header-search-bg:#24292e;--color-header-search-border:#444d56;--color-search-keyword-hl:#fffbdd;--color-diffstat-neutral-bg:#d1d5da;--color-diffstat-neutral-border:#d1d5da;--color-diffstat-deletion-bg:#d73a49;--color-diffstat-deletion-border:#d73a49;--color-diffstat-addition-bg:#28a745;--color-diffstat-addition-border:#28a745;--color-mktg-success:#2ebc4f;--color-mktg-info:#1074e7;--color-mktg-bg-shade-gradient-top:rgba(27,31,35,0.065);--color-mktg-bg-shade-gradient-bottom:rgba(27,31,35,0);--color-mktg-btn-bg-top:#617eef;--color-mktg-btn-bg-bottom:#4969ed;--color-mktg-btn-bg-overlay-top:#4968e4;--color-mktg-btn-bg-overlay-bottom:#3355e0;--color-mktg-btn-text:#fff;--color-mktg-btn-primary-bg-top:#34b759;--color-mktg-btn-primary-bg-bottom:#2ea44f;--color-mktg-btn-primary-bg-overlay-top:#279b42;--color-mktg-btn-primary-bg-overlay-bottom:#22863a;--color-mktg-btn-primary-text:#fff;--color-mktg-btn-enterprise-bg-top:#8670ff;--color-mktg-btn-enterprise-bg-bottom:#6f57ff;--color-mktg-btn-enterprise-bg-overlay-top:#7463de;--color-mktg-btn-enterprise-bg-overlay-bottom:#614eda;--color-mktg-btn-enterprise-text:#fff;--color-mktg-btn-outline-text:#4969ed;--color-mktg-btn-outline-border:rgba(73,105,237,0.3);--color-mktg-btn-outline-hover-text:#3355e0;--color-mktg-btn-outline-hover-border:rgba(51,85,224,0.5);--color-mktg-btn-outline-focus-border:#4969ed;--color-mktg-btn-outline-focus-border-inset:rgba(73,105,237,0.5);--color-mktg-btn-dark-text:#fff;--color-mktg-btn-dark-border:hsla(0,0%,100%,0.3);--color-mktg-btn-dark-hover-text:#fff;--color-mktg-btn-dark-hover-border:hsla(0,0%,100%,0.5);--color-mktg-btn-dark-focus-border:#fff;--color-mktg-btn-dark-focus-border-inset:hsla(0,0%,100%,0.5);--color-files-explorer-icon:#79b8ff;--color-hl-author-bg:#f1f8ff;--color-hl-author-border:#c8e1ff;--color-logo-subdued:#d1d5da;--color-discussion-border:#a4ccae;--color-discussion-bg-success:#28a745;--color-actions-workflow-table-sticky-bg:hsla(0,0%,100%,0.95);--color-repo-language-color-border:rgba(27,31,35,0.1);--color-code-selection-bg:#c8e1ff;--color-highlight-text:#442c12;--color-highlight-bg:#fff0bb;--color-blob-line-highlight-bg:#fffbdd;--color-blob-line-highlight-border:transparent;--color-diff-addition-text:#22863a;--color-diff-addition-bg:#e5ffec;--color-diff-addition-border:#34d058;--color-diff-deletion-text:#cb2431;--color-diff-deletion-bg:#ffeef0;--color-diff-deletion-border:#d73a49;--color-diff-change-text:#b08800;--color-diff-change-bg:#fff5b1;--color-diff-change-border:#f9c513;--color-diff-blob-num-text:rgba(27,31,35,0.3);--color-diff-blob-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-addition-num-text:rgba(27,31,35,0.3);--color-diff-blob-addition-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-addition-num-bg:#ccffd8;--color-diff-blob-addition-line-bg:#e5ffec;--color-diff-blob-addition-word-bg:#abf2bc;--color-diff-blob-deletion-num-text:rgba(27,31,35,0.3);--color-diff-blob-deletion-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-deletion-num-bg:#ffdce0;--color-diff-blob-deletion-line-bg:#ffeef0;--color-diff-blob-deletion-word-bg:#fdb9c1;--color-diff-blob-hunk-text:rgba(27,31,35,0.7);--color-diff-blob-hunk-num-bg:#dbedff;--color-diff-blob-hunk-line-bg:#f1f8ff;--color-diff-blob-empty-block-bg:#fafbfc;--color-diff-blob-selected-line-highlight-bg:rgba(255,223,93,0.2);--color-diff-blob-selected-line-highlight-border:#ffd33d;--color-diff-blob-selected-line-highlight-mix-blend-mode:multiply;--color-diff-blob-expander-icon:#586069;--color-diff-blob-expander-hover-icon:#fff;--color-diff-blob-expander-hover-bg:#0366d6;--color-diff-blob-comment-button-icon:#fff;--color-diff-blob-comment-button-bg:#0366d6;--color-diff-blob-comment-button-gradient-bg:#0472f1;--color-global-nav-logo:#fff;--color-global-nav-bg:#24292e;--color-global-nav-text:#fff;--color-global-nav-icon:#fff;--color-global-nav-input-bg:#fafbfc;--color-global-nav-input-border:#fafbfc;--color-global-nav-input-icon:#d1d5da;--color-global-nav-input-placeholder:#959da5;--color-calendar-graph-day-bg:#ebedf0;--color-calendar-graph-day-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-1-bg:#9be9a8;--color-calendar-graph-day-l-2-bg:#40c463;--color-calendar-graph-day-l-3-bg:#30a14e;--color-calendar-graph-day-l-4-bg:#216e39;--color-calendar-graph-day-l-4-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-3-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-2-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-1-border:rgba(27,31,35,0.06);--color-footer-invertocat-octicon:#d1d5da;--color-footer-invertocat-octicon-hover:#6a737d;--color-pr-state-draft-text:#fff;--color-pr-state-draft-bg:#6a737d;--color-pr-state-draft-border:transparent;--color-pr-state-open-text:#fff;--color-pr-state-open-bg:#28a745;--color-pr-state-open-border:transparent;--color-pr-state-merged-text:#fff;--color-pr-state-merged-bg:#6f42c1;--color-pr-state-merged-border:transparent;--color-pr-state-closed-text:#fff;--color-pr-state-closed-bg:#d73a49;--color-pr-state-closed-border:transparent;--color-topic-tag-text:#0366d6;--color-topic-tag-bg:#f1f8ff;--color-topic-tag-hover-bg:#dbedff;--color-topic-tag-active-bg:#e5f2ff;--color-merge-box-success-icon-bg:#28a745;--color-merge-box-success-icon-text:#fff;--color-merge-box-success-icon-border:transparent;--color-merge-box-success-indicator-bg:#28a745;--color-merge-box-success-indicator-border:transparent;--color-merge-box-merged-icon-bg:#6f42c1;--color-merge-box-merged-icon-text:#fff;--color-merge-box-merged-icon-border:transparent;--color-merge-box-merged-box-border:#6f42c1;--color-merge-box-neutral-icon-bg:#6a737d;--color-merge-box-neutral-icon-text:#fff;--color-merge-box-neutral-icon-border:transparent;--color-merge-box-neutral-indicator-bg:#6a737d;--color-merge-box-neutral-indicator-border:transparent;--color-merge-box-warning-icon-bg:#dbab09;--color-merge-box-warning-icon-text:#fff;--color-merge-box-warning-icon-border:transparent;--color-merge-box-warning-box-border:#ffd33d;--color-merge-box-warning-merge-highlight:transparent;--color-merge-box-error-icon-bg:#d73a49;--color-merge-box-error-icon-text:#fff;--color-merge-box-error-icon-border:transparent;--color-merge-box-error-indicator-bg:#d73a49;--color-merge-box-error-indicator-border:transparent;--color-project-card-bg:#fff;--color-project-header-bg:#24292e;--color-project-sidebar-bg:#fff;--color-project-gradient-in:#fff;--color-project-gradient-out:hsla(0,0%,100%,0);--color-checks-bg:#24292e;--color-checks-run-border-width:0px;--color-checks-container-border-width:0px;--color-checks-text-primary:#fafbfc;--color-checks-text-secondary:#959da5;--color-checks-text-link:#79b8ff;--color-checks-btn-icon:#d1d5da;--color-checks-btn-hover-icon:#fafbfc;--color-checks-btn-hover-bg:hsla(0,0%,100%,0.125);--color-checks-input-text:#f6f8fa;--color-checks-input-placeholder-text:#959da5;--color-checks-input-focus-text:#959da5;--color-checks-input-bg:#2f363d;--color-checks-input-shadow:none;--color-checks-dropdown-text:#d1d5da;--color-checks-dropdown-bg:#2f363d;--color-checks-dropdown-border:#444d56;--color-checks-dropdown-hover-text:#fafbfc;--color-checks-dropdown-hover-bg:#444d56;--color-checks-dropdown-btn-hover-text:#fafbfc;--color-checks-dropdown-btn-hover-bg:#2f363d;--color-checks-scrollbar-thumb-bg:#586069;--color-checks-header-label-text:#e1e4e8;--color-checks-header-label-open-text:#fafbfc;--color-checks-header-border:#2f363d;--color-checks-header-icon:#959da5;--color-checks-line-text:#e1e4e8;--color-checks-line-num-text:rgba(149,157,165,0.75);--color-checks-line-timestamp-text:#959da5;--color-checks-line-hover-bg:#2f363d;--color-checks-line-selected-bg:rgba(33,136,255,0.15);--color-checks-line-selected-num-text:#79b8ff;--color-checks-line-dt-fm-text:#24292e;--color-checks-line-dt-fm-bg:#ffd33d;--color-checks-gate-bg:rgba(249,197,19,0.15);--color-checks-gate-text:#e1e4e8;--color-checks-gate-waiting-text:#d1d5da;--color-checks-step-header-open-bg:#2f363d;--color-checks-step-error-text:#f97583;--color-checks-step-warning-text:#ffea7f;--color-checks-logline-text:#959da5;--color-checks-logline-num-text:rgba(149,157,165,0.75);--color-checks-logline-debug-text:#b392f0;--color-checks-logline-error-text:#e1e4e8;--color-checks-logline-error-num-text:#f97583;--color-checks-logline-error-bg:rgba(203,36,49,0.15);--color-checks-logline-warning-text:#e1e4e8;--color-checks-logline-warning-num-text:#ffea7f;--color-checks-logline-warning-bg:rgba(249,197,19,0.15);--color-checks-logline-command-text:#79b8ff;--color-checks-logline-section-text:#85e89d;--color-checks-ansi-black:#24292e;--color-checks-ansi-black-bright:#2f363d;--color-checks-ansi-white:#e1e4e8;--color-checks-ansi-white-bright:#e1e4e8;--color-checks-ansi-gray:#959da5;--color-checks-ansi-red:#f97583;--color-checks-ansi-red-bright:#fdaeb7;--color-checks-ansi-green:#85e89d;--color-checks-ansi-green-bright:#bef5cb;--color-checks-ansi-yellow:#ffea7f;--color-checks-ansi-yellow-bright:#fff5b1;--color-checks-ansi-blue:#79b8ff;--color-checks-ansi-blue-bright:#c8e1ff;--color-checks-ansi-magenta:#b392f0;--color-checks-ansi-magenta-bright:#d1bcf9;--color-checks-ansi-cyan:#76e3ea;--color-checks-ansi-cyan-bright:#b3f0ff;--color-intro-shelf-gradient-left:#f1f8ff;--color-intro-shelf-gradient-right:#dcffe4;--color-intro-shelf-gradient-in:#fff;--color-intro-shelf-gradient-out:hsla(0,0%,100%,0);--color-marketing-icon-primary:#2188ff;--color-marketing-icon-secondary:#79b8ff;--color-prettylights-syntax-comment:#6a737d;--color-prettylights-syntax-constant:#005cc5;--color-prettylights-syntax-entity:#6f42c1;--color-prettylights-syntax-storage-modifier-import:#24292e;--color-prettylights-syntax-entity-tag:#22863a;--color-prettylights-syntax-keyword:#d73a49;--color-prettylights-syntax-string:#032f62;--color-prettylights-syntax-variable:#e36209;--color-prettylights-syntax-brackethighlighter-unmatched:#b31d28;--color-prettylights-syntax-invalid-illegal-text:#fafbfc;--color-prettylights-syntax-invalid-illegal-bg:#b31d28;--color-prettylights-syntax-carriage-return-text:#fafbfc;--color-prettylights-syntax-carriage-return-bg:#d73a49;--color-prettylights-syntax-string-regexp:#22863a;--color-prettylights-syntax-markup-list:#735c0f;--color-prettylights-syntax-markup-heading:#005cc5;--color-prettylights-syntax-markup-italic:#24292e;--color-prettylights-syntax-markup-bold:#24292e;--color-prettylights-syntax-markup-deleted-text:#b31d28;--color-prettylights-syntax-markup-deleted-bg:#ffeef0;--color-prettylights-syntax-markup-inserted-text:#22863a;--color-prettylights-syntax-markup-inserted-bg:#f0fff4;--color-prettylights-syntax-markup-changed-text:#e36209;--color-prettylights-syntax-markup-changed-bg:#ffebda;--color-prettylights-syntax-markup-ignored-text:#f6f8fa;--color-prettylights-syntax-markup-ignored-bg:#005cc5;--color-prettylights-syntax-meta-diff-range:#6f42c1;--color-prettylights-syntax-brackethighlighter-angle:#586069;--color-prettylights-syntax-sublimelinter-gutter-mark:#959da5;--color-prettylights-syntax-constant-other-reference-link:#032f62;--color-codemirror-text:#24292e;--color-codemirror-bg:#fff;--color-codemirror-gutters-bg:#fff;--color-codemirror-guttermarker-text:#fff;--color-codemirror-guttermarker-subtle-text:#d1d5da;--color-codemirror-linenumber-text:#959da5;--color-codemirror-cursor:#24292e;--color-codemirror-selection-bg:#c8e1ff;--color-codemirror-activeline-bg:#fafbfc;--color-codemirror-matchingbracket-text:#24292e;--color-codemirror-lines-bg:#fff;--color-codemirror-syntax-comment:#6a737d;--color-codemirror-syntax-constant:#005cc5;--color-codemirror-syntax-entity:#6f42c1;--color-codemirror-syntax-keyword:#d73a49;--color-codemirror-syntax-storage:#d73a49;--color-codemirror-syntax-string:#032f62;--color-codemirror-syntax-support:#005cc5;--color-codemirror-syntax-variable:#e36209;--color-ansi-black:#24292e;--color-ansi-black-bright:#586069;--color-ansi-white:#6a737d;--color-ansi-white-bright:#959da5;--color-ansi-gray:#6a737d;--color-ansi-red:#d73a49;--color-ansi-red-bright:#cb2431;--color-ansi-green:#22863a;--color-ansi-green-bright:#28a745;--color-ansi-yellow:#b08800;--color-ansi-yellow-bright:#dbab09;--color-ansi-blue:#0366d6;--color-ansi-blue-bright:#2188ff;--color-ansi-magenta:#6f42c1;--color-ansi-magenta-bright:#8a63d2;--color-ansi-cyan:#1b7c83;--color-ansi-cyan-bright:#3192aa}}[data-color-mode=dark][data-dark-theme=dark],[data-color-mode=light][data-light-theme=dark]{--color-scale-black:#010409;--color-scale-white:#f0f6fc;--color-scale-gray-0:#f0f6fc;--color-scale-gray-1:#c9d1d9;--color-scale-gray-2:#b1bac4;--color-scale-gray-3:#8b949e;--color-scale-gray-4:#6e7681;--color-scale-gray-5:#484f58;--color-scale-gray-6:#30363d;--color-scale-gray-7:#21262d;--color-scale-gray-8:#161b22;--color-scale-gray-9:#0d1117;--color-scale-blue-0:#cae8ff;--color-scale-blue-1:#a5d6ff;--color-scale-blue-2:#79c0ff;--color-scale-blue-3:#58a6ff;--color-scale-blue-4:#388bfd;--color-scale-blue-5:#1f6feb;--color-scale-blue-6:#1158c7;--color-scale-blue-7:#0d419d;--color-scale-blue-8:#0c2d6b;--color-scale-blue-9:#051d4d;--color-scale-green-0:#aff5b4;--color-scale-green-1:#7ee787;--color-scale-green-2:#56d364;--color-scale-green-3:#3fb950;--color-scale-green-4:#2ea043;--color-scale-green-5:#238636;--color-scale-green-6:#196c2e;--color-scale-green-7:#0f5323;--color-scale-green-8:#033a16;--color-scale-green-9:#04260f;--color-scale-yellow-0:#f8e3a1;--color-scale-yellow-1:#f2cc60;--color-scale-yellow-2:#e3b341;--color-scale-yellow-3:#d29922;--color-scale-yellow-4:#bb8009;--color-scale-yellow-5:#9e6a03;--color-scale-yellow-6:#845306;--color-scale-yellow-7:#693e00;--color-scale-yellow-8:#4b2900;--color-scale-yellow-9:#341a00;--color-scale-orange-0:#ffdfb6;--color-scale-orange-1:#ffc680;--color-scale-orange-2:#ffa657;--color-scale-orange-3:#f0883e;--color-scale-orange-4:#db6d28;--color-scale-orange-5:#bd561d;--color-scale-orange-6:#9b4215;--color-scale-orange-7:#762d0a;--color-scale-orange-8:#5a1e02;--color-scale-orange-9:#3d1300;--color-scale-red-0:#ffdcd7;--color-scale-red-1:#ffc1ba;--color-scale-red-2:#ffa198;--color-scale-red-3:#ff7b72;--color-scale-red-4:#f85149;--color-scale-red-5:#da3633;--color-scale-red-6:#b62324;--color-scale-red-7:#8e1519;--color-scale-red-8:#67060c;--color-scale-red-9:#490202;--color-scale-purple-0:#eddeff;--color-scale-purple-1:#e2c5ff;--color-scale-purple-2:#d2a8ff;--color-scale-purple-3:#bc8cff;--color-scale-purple-4:#a371f7;--color-scale-purple-5:#8957e5;--color-scale-purple-6:#6e40c9;--color-scale-purple-7:#553098;--color-scale-purple-8:#3c1e70;--color-scale-purple-9:#271052;--color-scale-pink-0:#ffdaec;--color-scale-pink-1:#ffbedd;--color-scale-pink-2:#ff9bce;--color-scale-pink-3:#f778ba;--color-scale-pink-4:#db61a2;--color-scale-pink-5:#bf4b8a;--color-scale-pink-6:#9e3670;--color-scale-pink-7:#7d2457;--color-scale-pink-8:#5e103e;--color-scale-pink-9:#42062a;--color-auto-black:#f0f6fc;--color-auto-white:#010409;--color-auto-gray-0:#0d1117;--color-auto-gray-1:#161b22;--color-auto-gray-2:#21262d;--color-auto-gray-3:#30363d;--color-auto-gray-4:#484f58;--color-auto-gray-5:#6e7681;--color-auto-gray-6:#8b949e;--color-auto-gray-7:#b1bac4;--color-auto-gray-8:#c9d1d9;--color-auto-gray-9:#f0f6fc;--color-auto-blue-0:#051d4d;--color-auto-blue-1:#0c2d6b;--color-auto-blue-2:#0d419d;--color-auto-blue-3:#1158c7;--color-auto-blue-4:#1f6feb;--color-auto-blue-5:#388bfd;--color-auto-blue-6:#58a6ff;--color-auto-blue-7:#79c0ff;--color-auto-blue-8:#a5d6ff;--color-auto-blue-9:#cae8ff;--color-auto-green-0:#04260f;--color-auto-green-1:#033a16;--color-auto-green-2:#0f5323;--color-auto-green-3:#196c2e;--color-auto-green-4:#238636;--color-auto-green-5:#2ea043;--color-auto-green-6:#3fb950;--color-auto-green-7:#56d364;--color-auto-green-8:#7ee787;--color-auto-green-9:#aff5b4;--color-auto-yellow-0:#341a00;--color-auto-yellow-1:#4b2900;--color-auto-yellow-2:#693e00;--color-auto-yellow-3:#845306;--color-auto-yellow-4:#9e6a03;--color-auto-yellow-5:#bb8009;--color-auto-yellow-6:#d29922;--color-auto-yellow-7:#e3b341;--color-auto-yellow-8:#f2cc60;--color-auto-yellow-9:#f8e3a1;--color-auto-orange-0:#3d1300;--color-auto-orange-1:#5a1e02;--color-auto-orange-2:#762d0a;--color-auto-orange-3:#9b4215;--color-auto-orange-4:#bd561d;--color-auto-orange-5:#db6d28;--color-auto-orange-6:#f0883e;--color-auto-orange-7:#ffa657;--color-auto-orange-8:#ffc680;--color-auto-orange-9:#ffdfb6;--color-auto-red-0:#490202;--color-auto-red-1:#67060c;--color-auto-red-2:#8e1519;--color-auto-red-3:#b62324;--color-auto-red-4:#da3633;--color-auto-red-5:#f85149;--color-auto-red-6:#ff7b72;--color-auto-red-7:#ffa198;--color-auto-red-8:#ffc1ba;--color-auto-red-9:#ffdcd7;--color-auto-purple-0:#271052;--color-auto-purple-1:#3c1e70;--color-auto-purple-2:#553098;--color-auto-purple-3:#6e40c9;--color-auto-purple-4:#8957e5;--color-auto-purple-5:#a371f7;--color-auto-purple-6:#bc8cff;--color-auto-purple-7:#d2a8ff;--color-auto-purple-8:#e2c5ff;--color-auto-purple-9:#eddeff;--color-auto-pink-0:#42062a;--color-auto-pink-1:#5e103e;--color-auto-pink-2:#7d2457;--color-auto-pink-3:#9e3670;--color-auto-pink-4:#bf4b8a;--color-auto-pink-5:#db61a2;--color-auto-pink-6:#f778ba;--color-auto-pink-7:#ff9bce;--color-auto-pink-8:#ffbedd;--color-auto-pink-9:#ffdaec;--color-text-primary:#c9d1d9;--color-text-secondary:#8b949e;--color-text-tertiary:#8b949e;--color-text-placeholder:#484f58;--color-text-disabled:#484f58;--color-text-inverse:#0d1117;--color-text-link:#58a6ff;--color-text-danger:#f85149;--color-text-success:#56d364;--color-text-warning:#e3b341;--color-text-white:#f0f6fc;--color-icon-primary:#c9d1d9;--color-icon-secondary:#6e7681;--color-icon-tertiary:#484f58;--color-icon-info:#58a6ff;--color-icon-danger:#f85149;--color-icon-success:#56d364;--color-icon-warning:#e3b341;--color-border-primary:#30363d;--color-border-secondary:#21262d;--color-border-tertiary:#6e7681;--color-border-overlay:#30363d;--color-border-inverse:#f0f6fc;--color-border-info:rgba(56,139,253,0.4);--color-border-danger:rgba(248,81,73,0.4);--color-border-success:rgba(63,185,80,0.4);--color-border-warning:rgba(187,128,9,0.4);--color-bg-canvas:#0d1117;--color-bg-canvas-mobile:#010409;--color-bg-canvas-inverse:#f0f6fc;--color-bg-canvas-inset:#090c10;--color-bg-primary:#0d1117;--color-bg-secondary:#0d1117;--color-bg-tertiary:#161b22;--color-bg-overlay:#1c2128;--color-bg-backdrop:rgba(1,4,9,0.8);--color-bg-info:rgba(56,139,253,0.1);--color-bg-info-inverse:#388bfd;--color-bg-danger:rgba(248,81,73,0.1);--color-bg-danger-inverse:#da3633;--color-bg-success:rgba(46,160,67,0.1);--color-bg-success-inverse:#2ea043;--color-bg-warning:rgba(187,128,9,0.1);--color-bg-warning-inverse:#bb8009;--color-shadow-small:0 0 transparent;--color-shadow-medium:0 3px 6px #010409;--color-shadow-large:0 8px 24px #010409;--color-shadow-extra-large:0 12px 48px #010409;--color-shadow-highlight:0 0 transparent;--color-shadow-inset:0 0 transparent;--color-state-hover-primary-bg:#1f6feb;--color-state-hover-primary-border:#388bfd;--color-state-hover-primary-text:#f0f6fc;--color-state-hover-primary-icon:#f0f6fc;--color-state-hover-secondary-bg:#161b22;--color-state-hover-secondary-border:#161b22;--color-state-selected-primary-bg:#1f6feb;--color-state-selected-primary-border:#388bfd;--color-state-selected-primary-text:#f0f6fc;--color-state-selected-primary-icon:#f0f6fc;--color-state-focus-border:#388bfd;--color-state-focus-shadow:0 0 0 3px #0c2d6b;--color-fade-fg-10:rgba(240,246,252,0.1);--color-fade-fg-15:rgba(240,246,252,0.15);--color-fade-fg-30:rgba(240,246,252,0.3);--color-fade-fg-50:rgba(240,246,252,0.5);--color-fade-fg-70:rgba(240,246,252,0.7);--color-fade-fg-85:rgba(240,246,252,0.85);--color-fade-black-10:rgba(1,4,9,0.1);--color-fade-black-15:rgba(1,4,9,0.15);--color-fade-black-30:rgba(1,4,9,0.3);--color-fade-black-50:rgba(1,4,9,0.5);--color-fade-black-70:rgba(1,4,9,0.7);--color-fade-black-85:rgba(1,4,9,0.85);--color-fade-white-10:rgba(240,246,252,0.1);--color-fade-white-15:rgba(240,246,252,0.15);--color-fade-white-30:rgba(240,246,252,0.3);--color-fade-white-50:rgba(240,246,252,0.5);--color-fade-white-70:rgba(240,246,252,0.7);--color-fade-white-85:rgba(240,246,252,0.85);--color-alert-info-text:#79c0ff;--color-alert-info-icon:#79c0ff;--color-alert-info-bg:rgba(56,139,253,0.1);--color-alert-info-border:rgba(56,139,253,0.4);--color-alert-warn-text:#e3b341;--color-alert-warn-icon:#e3b341;--color-alert-warn-bg:rgba(187,128,9,0.1);--color-alert-warn-border:rgba(187,128,9,0.4);--color-alert-error-text:#ff7b72;--color-alert-error-icon:#ff7b72;--color-alert-error-bg:rgba(248,81,73,0.1);--color-alert-error-border:rgba(248,81,73,0.4);--color-alert-success-text:#56d364;--color-alert-success-icon:#56d364;--color-alert-success-bg:rgba(46,160,67,0.1);--color-alert-success-border:rgba(46,160,67,0.4);--color-autocomplete-shadow:0 16px 32px rgba(1,4,9,0.85);--color-autocomplete-row-border:#30363d;--color-blankslate-icon:#535b65;--color-btn-text:#c9d1d9;--color-btn-bg:#21262d;--color-btn-border:#30363d;--color-btn-shadow:0 0 transparent;--color-btn-inset-shadow:0 0 transparent;--color-btn-hover-bg:#30363d;--color-btn-hover-border:#8b949e;--color-btn-active-bg:#282e33;--color-btn-active-border:#6e7681;--color-btn-selected-bg:#161b22;--color-btn-focus-bg:#21262d;--color-btn-focus-border:#8b949e;--color-btn-focus-shadow:0 0 0 3px rgba(139,148,158,0.3);--color-btn-shadow-active:inset 0 0.15em 0.3em rgba(1,4,9,0.15);--color-btn-shadow-input-focus:0 0 0 0.2em rgba(31,111,235,0.3);--color-btn-primary-text:#fff;--color-btn-primary-bg:#238636;--color-btn-primary-border:#2ea043;--color-btn-primary-shadow:0 0 transparent;--color-btn-primary-inset-shadow:0 0 transparent;--color-btn-primary-hover-bg:#2ea043;--color-btn-primary-hover-border:#3fb950;--color-btn-primary-selected-bg:#238636;--color-btn-primary-selected-shadow:0 0 transparent;--color-btn-primary-disabled-text:rgba(240,246,252,0.5);--color-btn-primary-disabled-bg:rgba(35,134,54,0.6);--color-btn-primary-disabled-border:transparent;--color-btn-primary-focus-bg:#238636;--color-btn-primary-focus-border:#3fb950;--color-btn-primary-focus-shadow:0 0 0 3px rgba(46,164,79,0.4);--color-btn-primary-icon:#f0f6fc;--color-btn-primary-counter-bg:rgba(240,246,252,0.2);--color-btn-outline-text:#58a6ff;--color-btn-outline-hover-text:#58a6ff;--color-btn-outline-hover-bg:#30363d;--color-btn-outline-hover-border:#58a6ff;--color-btn-outline-hover-shadow:0 1px 0 rgba(1,4,9,0.1);--color-btn-outline-hover-inset-shadow:inset 0 1px 0 rgba(240,246,252,0.03);--color-btn-outline-hover-counter-bg:rgba(240,246,252,0.2);--color-btn-outline-selected-text:#f0f6fc;--color-btn-outline-selected-bg:#0d419d;--color-btn-outline-selected-border:rgba(240,246,252,0.1);--color-btn-outline-selected-shadow:0 0 transparent;--color-btn-outline-disabled-text:rgba(88,166,255,0.5);--color-btn-outline-disabled-bg:#0d1117;--color-btn-outline-disabled-counter-bg:rgba(31,111,235,0.05);--color-btn-outline-focus-border:#58a6ff;--color-btn-outline-focus-shadow:0 0 0 3px rgba(17,88,199,0.4);--color-btn-outline-counter-bg:rgba(31,111,235,0.1);--color-btn-danger-text:#f85149;--color-btn-danger-hover-text:#fff;--color-btn-danger-hover-bg:#da3633;--color-btn-danger-hover-border:#f85149;--color-btn-danger-hover-shadow:0 0 transparent;--color-btn-danger-hover-inset-shadow:0 0 transparent;--color-btn-danger-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-danger-selected-text:#fff;--color-btn-danger-selected-bg:#b62324;--color-btn-danger-selected-border:rgba(240,246,252,0.1);--color-btn-danger-selected-shadow:0 0 transparent;--color-btn-danger-disabled-text:rgba(248,81,73,0.5);--color-btn-danger-disabled-bg:#0d1117;--color-btn-danger-disabled-counter-bg:rgba(218,54,51,0.05);--color-btn-danger-focus-border:#f85149;--color-btn-danger-focus-shadow:0 0 0 3px rgba(182,35,36,0.4);--color-btn-danger-counter-bg:rgba(218,54,51,0.1);--color-btn-danger-icon:#f85149;--color-btn-danger-hover-icon:#f0f6fc;--color-btn-counter-bg:#30363d;--color-counter-text:#c9d1d9;--color-counter-bg:#30363d;--color-counter-primary-text:#c9d1d9;--color-counter-primary-bg:#6e7681;--color-counter-secondary-text:#8b949e;--color-counter-secondary-bg:rgba(139,148,158,0.2);--color-dropdown-shadow:0 16px 32px rgba(1,4,9,0.85);--color-label-border:#30363d;--color-label-primary-text:#b1bac4;--color-label-primary-border:#6e7681;--color-label-secondary-text:#8b949e;--color-label-secondary-border:#30363d;--color-label-info-text:#388bfd;--color-label-info-border:rgba(56,139,253,0.4);--color-label-success-text:#3fb950;--color-label-success-border:rgba(46,160,67,0.4);--color-label-warning-text:#e3b341;--color-label-warning-border:rgba(242,211,91,0.4);--color-label-danger-text:#f85149;--color-label-danger-border:rgba(248,81,73,0.4);--color-label-orange-text:#db6d28;--color-label-orange-border:rgba(219,109,40,0.4);--color-input-bg:#0d1117;--color-input-contrast-bg:rgba(1,4,9,0.5);--color-input-border:#21262d;--color-input-shadow:0 0 transparent;--color-input-disabled-bg:#161b22;--color-input-disabled-border:#30363d;--color-input-warning-border:#d29922;--color-input-error-border:#f85149;--color-input-tooltip-success-text:#56d364;--color-input-tooltip-success-bg:#101f1b;--color-input-tooltip-success-border:#1c532b;--color-input-tooltip-warning-text:#e3b341;--color-input-tooltip-warning-bg:#1e1c16;--color-input-tooltip-warning-border:#5d4411;--color-input-tooltip-error-text:#ff7b72;--color-input-tooltip-error-bg:#25171c;--color-input-tooltip-error-border:#792e2e;--color-avatar-bg:rgba(240,246,252,0.1);--color-avatar-border:rgba(240,246,252,0.1);--color-avatar-stack-fade:#30363d;--color-avatar-stack-fade-more:#21262d;--color-avatar-child-shadow:-2px -2px 0 #0d1117;--color-toast-text:#c9d1d9;--color-toast-bg:#30363d;--color-toast-border:#6e7681;--color-toast-shadow:0 8px 24px #010409;--color-toast-icon:#f0f6fc;--color-toast-icon-bg:#1f6feb;--color-toast-icon-border:#388bfd;--color-toast-success-text:#c9d1d9;--color-toast-success-border:#6e7681;--color-toast-success-icon:#f0f6fc;--color-toast-success-icon-bg:#2ea043;--color-toast-success-icon-border:#3fb950;--color-toast-warning-text:#c9d1d9;--color-toast-warning-border:#6e7681;--color-toast-warning-icon:#f0f6fc;--color-toast-warning-icon-bg:#bb8009;--color-toast-warning-icon-border:#d29922;--color-toast-danger-text:#c9d1d9;--color-toast-danger-border:#6e7681;--color-toast-danger-icon:#f0f6fc;--color-toast-danger-icon-bg:#da3633;--color-toast-danger-icon-border:#f85149;--color-toast-loading-text:#c9d1d9;--color-toast-loading-border:#6e7681;--color-toast-loading-icon:#f0f6fc;--color-toast-loading-icon-bg:#6e7681;--color-toast-loading-icon-border:#8b949e;--color-timeline-text:#b1bac4;--color-timeline-badge-bg:#0d1117;--color-timeline-badge-success-border:#2ea043;--color-timeline-target-badge-border:#1f6feb;--color-timeline-target-badge-shadow:#0d419d;--color-select-menu-border-secondary:#30363d;--color-select-menu-shadow:0 0 18px rgba(1,4,9,0.4);--color-select-menu-backdrop-bg:rgba(1,4,9,0.5);--color-select-menu-backdrop-border:#484f58;--color-select-menu-tap-highlight:rgba(48,54,61,0.5);--color-select-menu-tap-focus-bg:#0c2d6b;--color-box-blue-border:#0d419d;--color-box-row-yellow-bg:rgba(235,196,64,0.1);--color-box-row-blue-bg:rgba(121,192,255,0.1);--color-box-header-blue-bg:#0d1117;--color-box-header-blue-border:#30363d;--color-box-border-info:rgba(56,139,253,0.4);--color-box-bg-info:rgba(56,139,253,0.1);--color-box-border-warning:rgba(187,128,9,0.4);--color-box-bg-warning:rgba(187,128,9,0.1);--color-branch-name-text:#c9d1d9;--color-branch-name-icon:#b1bac4;--color-branch-name-bg:rgba(88,166,255,0.1);--color-branch-name-link-text:#58a6ff;--color-branch-name-link-icon:#58a6ff;--color-branch-name-link-bg:rgba(88,166,255,0.1);--color-markdown-code-bg:rgba(240,246,252,0.15);--color-markdown-frame-border:#3a424a;--color-markdown-blockquote-border:#3a424a;--color-markdown-table-border:#3a424a;--color-markdown-table-tr-border:#262b31;--color-menu-heading-text:#8b949e;--color-menu-border-active:#f78166;--color-menu-bg-active:#161b22;--color-sidenav-selected-bg:#21262d;--color-sidenav-border-active:#f78166;--color-header-text:rgba(240,246,252,0.7);--color-header-bg:#161b22;--color-header-logo:#f0f6fc;--color-filter-item-bar-bg:#12161c;--color-hidden-text-expander-bg:#21262d;--color-hidden-text-expander-bg-hover:#30363d;--color-drag-and-drop-border:#24282e;--color-upload-enabled-border:#3a424a;--color-upload-enabled-border-focused:#fff;--color-previewable-comment-form-border:#24282e;--color-underlinenav-border:rgba(48,54,61,0);--color-underlinenav-border-hover:#30363d;--color-underlinenav-border-active:#f78166;--color-underlinenav-text:#8b949e;--color-underlinenav-text-hover:#c9d1d9;--color-underlinenav-text-active:#c9d1d9;--color-underlinenav-icon:#6e7681;--color-underlinenav-icon-hover:#c9d1d9;--color-underlinenav-icon-active:#c9d1d9;--color-underlinenav-counter-text:#8b949e;--color-underlinenav-counter-bg:rgba(139,148,158,0.2);--color-verified-badge-text:#3fb950;--color-verified-badge-bg:rgba(63,185,80,0.1);--color-verified-badge-border:rgba(63,185,80,0.4);--color-social-count-bg:#21262d;--color-tooltip-text:#f0f6fc;--color-tooltip-bg:#6e7681;--color-header-search-bg:#0d1117;--color-header-search-border:#21262d;--color-search-keyword-hl:rgba(187,128,9,0.4);--color-diffstat-neutral-bg:#30363d;--color-diffstat-neutral-border:rgba(240,246,252,0.1);--color-diffstat-deletion-bg:#da3633;--color-diffstat-deletion-border:#f85149;--color-diffstat-addition-bg:#238636;--color-diffstat-addition-border:#2ea043;--color-mktg-success:#29933d;--color-mktg-info:#2a7bf3;--color-mktg-bg-shade-gradient-top:rgba(1,4,9,0.065);--color-mktg-bg-shade-gradient-bottom:rgba(1,4,9,0);--color-mktg-btn-bg-top:#617eef;--color-mktg-btn-bg-bottom:#4969ed;--color-mktg-btn-bg-overlay-top:#4968e4;--color-mktg-btn-bg-overlay-bottom:#3355e0;--color-mktg-btn-text:#f0f6fc;--color-mktg-btn-primary-bg-top:#34b759;--color-mktg-btn-primary-bg-bottom:#2ea44f;--color-mktg-btn-primary-bg-overlay-top:#279b42;--color-mktg-btn-primary-bg-overlay-bottom:#22863a;--color-mktg-btn-primary-text:#f0f6fc;--color-mktg-btn-enterprise-bg-top:#8670ff;--color-mktg-btn-enterprise-bg-bottom:#6f57ff;--color-mktg-btn-enterprise-bg-overlay-top:#7463de;--color-mktg-btn-enterprise-bg-overlay-bottom:#614eda;--color-mktg-btn-enterprise-text:#f0f6fc;--color-mktg-btn-outline-text:#f0f6fc;--color-mktg-btn-outline-border:rgba(240,246,252,0.3);--color-mktg-btn-outline-hover-text:#f0f6fc;--color-mktg-btn-outline-hover-border:rgba(240,246,252,0.5);--color-mktg-btn-outline-focus-border:#f0f6fc;--color-mktg-btn-outline-focus-border-inset:rgba(240,246,252,0.5);--color-mktg-btn-dark-text:#f0f6fc;--color-mktg-btn-dark-border:rgba(240,246,252,0.3);--color-mktg-btn-dark-hover-text:#f0f6fc;--color-mktg-btn-dark-hover-border:rgba(240,246,252,0.5);--color-mktg-btn-dark-focus-border:#f0f6fc;--color-mktg-btn-dark-focus-border-inset:rgba(240,246,252,0.5);--color-files-explorer-icon:#6e7681;--color-hl-author-bg:#051d4d;--color-hl-author-border:#0d419d;--color-logo-subdued:#30363d;--color-discussion-border:#34513b;--color-discussion-bg-success:rgba(46,160,67,0.1);--color-actions-workflow-table-sticky-bg:rgba(13,17,23,0.95);--color-repo-language-color-border:rgba(240,246,252,0.2);--color-code-selection-bg:rgba(121,192,255,0.3);--color-highlight-text:#ffd467;--color-highlight-bg:rgba(204,143,44,0.38);--color-blob-line-highlight-bg:rgba(210,153,34,0.15);--color-blob-line-highlight-border:#e3b341;--color-diff-addition-text:#56d364;--color-diff-addition-bg:rgba(46,160,67,0.2);--color-diff-addition-border:#196c2e;--color-diff-deletion-text:#f85149;--color-diff-deletion-bg:rgba(218,54,51,0.2);--color-diff-deletion-border:#b62324;--color-diff-change-text:#e3b341;--color-diff-change-bg:#341a00;--color-diff-change-border:#9e6a03;--color-diff-blob-num-text:rgba(240,246,252,0.3);--color-diff-blob-num-hover-text:rgba(240,246,252,0.6);--color-diff-blob-addition-num-text:#3fb950;--color-diff-blob-addition-num-hover-text:#7ee787;--color-diff-blob-addition-num-bg:rgba(46,160,67,0.1);--color-diff-blob-addition-line-bg:rgba(46,160,67,0.2);--color-diff-blob-addition-word-bg:rgba(46,160,67,0.55);--color-diff-blob-deletion-num-text:#f85149;--color-diff-blob-deletion-num-hover-text:#ffa198;--color-diff-blob-deletion-num-bg:rgba(218,54,51,0.1);--color-diff-blob-deletion-line-bg:rgba(218,54,51,0.2);--color-diff-blob-deletion-word-bg:rgba(218,54,51,0.5);--color-diff-blob-hunk-text:#8b949e;--color-diff-blob-hunk-num-bg:rgba(88,166,255,0.15);--color-diff-blob-hunk-line-bg:rgba(88,166,255,0.1);--color-diff-blob-empty-block-bg:#161b22;--color-diff-blob-selected-line-highlight-bg:rgba(187,128,9,0.1);--color-diff-blob-selected-line-highlight-border:#bb8009;--color-diff-blob-selected-line-highlight-mix-blend-mode:normal;--color-diff-blob-expander-icon:#8b949e;--color-diff-blob-expander-hover-icon:#f0f6fc;--color-diff-blob-expander-hover-bg:#1f6feb;--color-diff-blob-comment-button-icon:#f0f6fc;--color-diff-blob-comment-button-bg:#1f6feb;--color-diff-blob-comment-button-gradient-bg:#357fed;--color-global-nav-logo:#f0f6fc;--color-global-nav-bg:#161b22;--color-global-nav-text:#c9d1d9;--color-global-nav-icon:#c9d1d9;--color-global-nav-input-bg:#0d1117;--color-global-nav-input-border:#21262d;--color-global-nav-input-icon:#21262d;--color-global-nav-input-placeholder:#484f58;--color-calendar-graph-day-bg:#161b22;--color-calendar-graph-day-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-1-bg:#0e4429;--color-calendar-graph-day-l-2-bg:#006d32;--color-calendar-graph-day-l-3-bg:#26a641;--color-calendar-graph-day-l-4-bg:#39d353;--color-calendar-graph-day-l-4-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-3-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-2-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-1-border:hsla(0,0%,100%,0.05);--color-footer-invertocat-octicon:#30363d;--color-footer-invertocat-octicon-hover:#6e7681;--color-pr-state-draft-text:#8b949e;--color-pr-state-draft-bg:rgba(139,148,158,0.1);--color-pr-state-draft-border:rgba(139,148,158,0.4);--color-pr-state-open-text:#3fb950;--color-pr-state-open-bg:rgba(63,185,80,0.1);--color-pr-state-open-border:rgba(63,185,80,0.4);--color-pr-state-merged-text:#a371f7;--color-pr-state-merged-bg:rgba(188,140,255,0.1);--color-pr-state-merged-border:rgba(188,140,255,0.4);--color-pr-state-closed-text:#f85149;--color-pr-state-closed-bg:rgba(218,54,51,0.1);--color-pr-state-closed-border:rgba(218,54,51,0.4);--color-topic-tag-text:#58a6ff;--color-topic-tag-bg:rgba(56,139,253,0.1);--color-topic-tag-hover-bg:rgba(56,139,253,0.2);--color-topic-tag-active-bg:rgba(56,139,253,0.15);--color-merge-box-success-icon-bg:rgba(46,160,67,0.1);--color-merge-box-success-icon-text:#3fb950;--color-merge-box-success-icon-border:rgba(46,160,67,0.4);--color-merge-box-success-indicator-bg:#238636;--color-merge-box-success-indicator-border:#2ea043;--color-merge-box-merged-icon-bg:rgba(188,140,255,0.1);--color-merge-box-merged-icon-text:#a371f7;--color-merge-box-merged-icon-border:rgba(188,140,255,0.4);--color-merge-box-merged-box-border:rgba(188,140,255,0.4);--color-merge-box-neutral-icon-bg:rgba(201,209,217,0.1);--color-merge-box-neutral-icon-text:#8b949e;--color-merge-box-neutral-icon-border:rgba(201,209,217,0.4);--color-merge-box-neutral-indicator-bg:#484f58;--color-merge-box-neutral-indicator-border:#6e7681;--color-merge-box-warning-icon-bg:rgba(187,128,9,0.1);--color-merge-box-warning-icon-text:#e3b341;--color-merge-box-warning-icon-border:rgba(187,128,9,0.4);--color-merge-box-warning-box-border:rgba(187,128,9,0.4);--color-merge-box-warning-merge-highlight:rgba(187,128,9,0.1);--color-merge-box-error-icon-bg:rgba(248,81,73,0.1);--color-merge-box-error-icon-text:#f85149;--color-merge-box-error-icon-border:rgba(248,81,73,0.4);--color-merge-box-error-indicator-bg:#da3633;--color-merge-box-error-indicator-border:#f85149;--color-project-card-bg:#161b22;--color-project-header-bg:#0d1117;--color-project-sidebar-bg:#161b22;--color-project-gradient-in:#161b22;--color-project-gradient-out:rgba(22,27,34,0);--color-checks-bg:#090c10;--color-checks-run-border-width:1px;--color-checks-container-border-width:1px;--color-checks-text-primary:#c9d1d9;--color-checks-text-secondary:#8b949e;--color-checks-text-link:#58a6ff;--color-checks-btn-icon:#6e7681;--color-checks-btn-hover-icon:#c9d1d9;--color-checks-btn-hover-bg:#30363d;--color-checks-input-text:#8b949e;--color-checks-input-placeholder-text:#484f58;--color-checks-input-focus-text:#c9d1d9;--color-checks-input-bg:#0d1117;--color-checks-input-shadow:0 0 0 1px #21262d;--color-checks-dropdown-text:#c9d1d9;--color-checks-dropdown-bg:#1c2128;--color-checks-dropdown-border:#30363d;--color-checks-dropdown-hover-text:#f0f6fc;--color-checks-dropdown-hover-bg:#1f6feb;--color-checks-dropdown-btn-hover-text:#f0f6fc;--color-checks-dropdown-btn-hover-bg:#161b22;--color-checks-scrollbar-thumb-bg:#30363d;--color-checks-header-label-text:#8b949e;--color-checks-header-label-open-text:#c9d1d9;--color-checks-header-border:#21262d;--color-checks-header-icon:#6e7681;--color-checks-line-text:#8b949e;--color-checks-line-num-text:#8b949e;--color-checks-line-timestamp-text:#8b949e;--color-checks-line-hover-bg:#161b22;--color-checks-line-selected-bg:rgba(56,139,253,0.1);--color-checks-line-selected-num-text:#58a6ff;--color-checks-line-dt-fm-text:#0d1117;--color-checks-line-dt-fm-bg:#d29922;--color-checks-gate-bg:rgba(132,83,6,0.15);--color-checks-gate-text:#8b949e;--color-checks-gate-waiting-text:#e3b341;--color-checks-step-header-open-bg:#161b22;--color-checks-step-error-text:#f85149;--color-checks-step-warning-text:#e3b341;--color-checks-logline-text:#6e7681;--color-checks-logline-num-text:#8b949e;--color-checks-logline-debug-text:#bc8cff;--color-checks-logline-error-text:#8b949e;--color-checks-logline-error-num-text:#8b949e;--color-checks-logline-error-bg:rgba(248,81,73,0.1);--color-checks-logline-warning-text:#8b949e;--color-checks-logline-warning-num-text:#e3b341;--color-checks-logline-warning-bg:rgba(187,128,9,0.1);--color-checks-logline-command-text:#58a6ff;--color-checks-logline-section-text:#56d364;--color-checks-ansi-black:#0d1117;--color-checks-ansi-black-bright:#161b22;--color-checks-ansi-white:#b1bac4;--color-checks-ansi-white-bright:#b1bac4;--color-checks-ansi-gray:#6e7681;--color-checks-ansi-red:#ff7b72;--color-checks-ansi-red-bright:#ffa198;--color-checks-ansi-green:#3fb950;--color-checks-ansi-green-bright:#56d364;--color-checks-ansi-yellow:#d29922;--color-checks-ansi-yellow-bright:#e3b341;--color-checks-ansi-blue:#58a6ff;--color-checks-ansi-blue-bright:#79c0ff;--color-checks-ansi-magenta:#bc8cff;--color-checks-ansi-magenta-bright:#d2a8ff;--color-checks-ansi-cyan:#76e3ea;--color-checks-ansi-cyan-bright:#b3f0ff;--color-intro-shelf-gradient-left:rgba(56,139,253,0.1);--color-intro-shelf-gradient-right:rgba(46,160,67,0.1);--color-intro-shelf-gradient-in:#0d1117;--color-intro-shelf-gradient-out:rgba(13,17,23,0);--color-marketing-icon-primary:#79c0ff;--color-marketing-icon-secondary:#1f6feb;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#c9d1d9;--color-prettylights-syntax-markup-bold:#c9d1d9;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#c9d1d9;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-brackethighlighter-angle:#8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-codemirror-text:#c9d1d9;--color-codemirror-bg:#0d1117;--color-codemirror-gutters-bg:#0d1117;--color-codemirror-guttermarker-text:#0d1117;--color-codemirror-guttermarker-subtle-text:#6e7681;--color-codemirror-linenumber-text:#8b949e;--color-codemirror-cursor:#f0f6fc;--color-codemirror-selection-bg:rgba(121,192,255,0.3);--color-codemirror-activeline-bg:#161b22;--color-codemirror-matchingbracket-text:#c9d1d9;--color-codemirror-lines-bg:#0d1117;--color-codemirror-syntax-comment:#8b949e;--color-codemirror-syntax-constant:#79c0ff;--color-codemirror-syntax-entity:#d2a8ff;--color-codemirror-syntax-keyword:#ff7b72;--color-codemirror-syntax-storage:#ff7b72;--color-codemirror-syntax-string:#a5d6ff;--color-codemirror-syntax-support:#79c0ff;--color-codemirror-syntax-variable:#ffa657;--color-ansi-black:#484f58;--color-ansi-black-bright:#6e7681;--color-ansi-white:#b1bac4;--color-ansi-white-bright:#f0f6fc;--color-ansi-gray:#6e7681;--color-ansi-red:#ff7b72;--color-ansi-red-bright:#ffa198;--color-ansi-green:#3fb950;--color-ansi-green-bright:#56d364;--color-ansi-yellow:#d29922;--color-ansi-yellow-bright:#e3b341;--color-ansi-blue:#58a6ff;--color-ansi-blue-bright:#79c0ff;--color-ansi-magenta:#bc8cff;--color-ansi-magenta-bright:#d2a8ff;--color-ansi-cyan:#39c5cf;--color-ansi-cyan-bright:#56d4dd}@media (prefers-color-scheme:light){[data-color-mode=auto][data-light-theme=dark]{--color-scale-black:#010409;--color-scale-white:#f0f6fc;--color-scale-gray-0:#f0f6fc;--color-scale-gray-1:#c9d1d9;--color-scale-gray-2:#b1bac4;--color-scale-gray-3:#8b949e;--color-scale-gray-4:#6e7681;--color-scale-gray-5:#484f58;--color-scale-gray-6:#30363d;--color-scale-gray-7:#21262d;--color-scale-gray-8:#161b22;--color-scale-gray-9:#0d1117;--color-scale-blue-0:#cae8ff;--color-scale-blue-1:#a5d6ff;--color-scale-blue-2:#79c0ff;--color-scale-blue-3:#58a6ff;--color-scale-blue-4:#388bfd;--color-scale-blue-5:#1f6feb;--color-scale-blue-6:#1158c7;--color-scale-blue-7:#0d419d;--color-scale-blue-8:#0c2d6b;--color-scale-blue-9:#051d4d;--color-scale-green-0:#aff5b4;--color-scale-green-1:#7ee787;--color-scale-green-2:#56d364;--color-scale-green-3:#3fb950;--color-scale-green-4:#2ea043;--color-scale-green-5:#238636;--color-scale-green-6:#196c2e;--color-scale-green-7:#0f5323;--color-scale-green-8:#033a16;--color-scale-green-9:#04260f;--color-scale-yellow-0:#f8e3a1;--color-scale-yellow-1:#f2cc60;--color-scale-yellow-2:#e3b341;--color-scale-yellow-3:#d29922;--color-scale-yellow-4:#bb8009;--color-scale-yellow-5:#9e6a03;--color-scale-yellow-6:#845306;--color-scale-yellow-7:#693e00;--color-scale-yellow-8:#4b2900;--color-scale-yellow-9:#341a00;--color-scale-orange-0:#ffdfb6;--color-scale-orange-1:#ffc680;--color-scale-orange-2:#ffa657;--color-scale-orange-3:#f0883e;--color-scale-orange-4:#db6d28;--color-scale-orange-5:#bd561d;--color-scale-orange-6:#9b4215;--color-scale-orange-7:#762d0a;--color-scale-orange-8:#5a1e02;--color-scale-orange-9:#3d1300;--color-scale-red-0:#ffdcd7;--color-scale-red-1:#ffc1ba;--color-scale-red-2:#ffa198;--color-scale-red-3:#ff7b72;--color-scale-red-4:#f85149;--color-scale-red-5:#da3633;--color-scale-red-6:#b62324;--color-scale-red-7:#8e1519;--color-scale-red-8:#67060c;--color-scale-red-9:#490202;--color-scale-purple-0:#eddeff;--color-scale-purple-1:#e2c5ff;--color-scale-purple-2:#d2a8ff;--color-scale-purple-3:#bc8cff;--color-scale-purple-4:#a371f7;--color-scale-purple-5:#8957e5;--color-scale-purple-6:#6e40c9;--color-scale-purple-7:#553098;--color-scale-purple-8:#3c1e70;--color-scale-purple-9:#271052;--color-scale-pink-0:#ffdaec;--color-scale-pink-1:#ffbedd;--color-scale-pink-2:#ff9bce;--color-scale-pink-3:#f778ba;--color-scale-pink-4:#db61a2;--color-scale-pink-5:#bf4b8a;--color-scale-pink-6:#9e3670;--color-scale-pink-7:#7d2457;--color-scale-pink-8:#5e103e;--color-scale-pink-9:#42062a;--color-auto-black:#f0f6fc;--color-auto-white:#010409;--color-auto-gray-0:#0d1117;--color-auto-gray-1:#161b22;--color-auto-gray-2:#21262d;--color-auto-gray-3:#30363d;--color-auto-gray-4:#484f58;--color-auto-gray-5:#6e7681;--color-auto-gray-6:#8b949e;--color-auto-gray-7:#b1bac4;--color-auto-gray-8:#c9d1d9;--color-auto-gray-9:#f0f6fc;--color-auto-blue-0:#051d4d;--color-auto-blue-1:#0c2d6b;--color-auto-blue-2:#0d419d;--color-auto-blue-3:#1158c7;--color-auto-blue-4:#1f6feb;--color-auto-blue-5:#388bfd;--color-auto-blue-6:#58a6ff;--color-auto-blue-7:#79c0ff;--color-auto-blue-8:#a5d6ff;--color-auto-blue-9:#cae8ff;--color-auto-green-0:#04260f;--color-auto-green-1:#033a16;--color-auto-green-2:#0f5323;--color-auto-green-3:#196c2e;--color-auto-green-4:#238636;--color-auto-green-5:#2ea043;--color-auto-green-6:#3fb950;--color-auto-green-7:#56d364;--color-auto-green-8:#7ee787;--color-auto-green-9:#aff5b4;--color-auto-yellow-0:#341a00;--color-auto-yellow-1:#4b2900;--color-auto-yellow-2:#693e00;--color-auto-yellow-3:#845306;--color-auto-yellow-4:#9e6a03;--color-auto-yellow-5:#bb8009;--color-auto-yellow-6:#d29922;--color-auto-yellow-7:#e3b341;--color-auto-yellow-8:#f2cc60;--color-auto-yellow-9:#f8e3a1;--color-auto-orange-0:#3d1300;--color-auto-orange-1:#5a1e02;--color-auto-orange-2:#762d0a;--color-auto-orange-3:#9b4215;--color-auto-orange-4:#bd561d;--color-auto-orange-5:#db6d28;--color-auto-orange-6:#f0883e;--color-auto-orange-7:#ffa657;--color-auto-orange-8:#ffc680;--color-auto-orange-9:#ffdfb6;--color-auto-red-0:#490202;--color-auto-red-1:#67060c;--color-auto-red-2:#8e1519;--color-auto-red-3:#b62324;--color-auto-red-4:#da3633;--color-auto-red-5:#f85149;--color-auto-red-6:#ff7b72;--color-auto-red-7:#ffa198;--color-auto-red-8:#ffc1ba;--color-auto-red-9:#ffdcd7;--color-auto-purple-0:#271052;--color-auto-purple-1:#3c1e70;--color-auto-purple-2:#553098;--color-auto-purple-3:#6e40c9;--color-auto-purple-4:#8957e5;--color-auto-purple-5:#a371f7;--color-auto-purple-6:#bc8cff;--color-auto-purple-7:#d2a8ff;--color-auto-purple-8:#e2c5ff;--color-auto-purple-9:#eddeff;--color-auto-pink-0:#42062a;--color-auto-pink-1:#5e103e;--color-auto-pink-2:#7d2457;--color-auto-pink-3:#9e3670;--color-auto-pink-4:#bf4b8a;--color-auto-pink-5:#db61a2;--color-auto-pink-6:#f778ba;--color-auto-pink-7:#ff9bce;--color-auto-pink-8:#ffbedd;--color-auto-pink-9:#ffdaec;--color-text-primary:#c9d1d9;--color-text-secondary:#8b949e;--color-text-tertiary:#8b949e;--color-text-placeholder:#484f58;--color-text-disabled:#484f58;--color-text-inverse:#0d1117;--color-text-link:#58a6ff;--color-text-danger:#f85149;--color-text-success:#56d364;--color-text-warning:#e3b341;--color-text-white:#f0f6fc;--color-icon-primary:#c9d1d9;--color-icon-secondary:#6e7681;--color-icon-tertiary:#484f58;--color-icon-info:#58a6ff;--color-icon-danger:#f85149;--color-icon-success:#56d364;--color-icon-warning:#e3b341;--color-border-primary:#30363d;--color-border-secondary:#21262d;--color-border-tertiary:#6e7681;--color-border-overlay:#30363d;--color-border-inverse:#f0f6fc;--color-border-info:rgba(56,139,253,0.4);--color-border-danger:rgba(248,81,73,0.4);--color-border-success:rgba(63,185,80,0.4);--color-border-warning:rgba(187,128,9,0.4);--color-bg-canvas:#0d1117;--color-bg-canvas-mobile:#010409;--color-bg-canvas-inverse:#f0f6fc;--color-bg-canvas-inset:#090c10;--color-bg-primary:#0d1117;--color-bg-secondary:#0d1117;--color-bg-tertiary:#161b22;--color-bg-overlay:#1c2128;--color-bg-backdrop:rgba(1,4,9,0.8);--color-bg-info:rgba(56,139,253,0.1);--color-bg-info-inverse:#388bfd;--color-bg-danger:rgba(248,81,73,0.1);--color-bg-danger-inverse:#da3633;--color-bg-success:rgba(46,160,67,0.1);--color-bg-success-inverse:#2ea043;--color-bg-warning:rgba(187,128,9,0.1);--color-bg-warning-inverse:#bb8009;--color-shadow-small:0 0 transparent;--color-shadow-medium:0 3px 6px #010409;--color-shadow-large:0 8px 24px #010409;--color-shadow-extra-large:0 12px 48px #010409;--color-shadow-highlight:0 0 transparent;--color-shadow-inset:0 0 transparent;--color-state-hover-primary-bg:#1f6feb;--color-state-hover-primary-border:#388bfd;--color-state-hover-primary-text:#f0f6fc;--color-state-hover-primary-icon:#f0f6fc;--color-state-hover-secondary-bg:#161b22;--color-state-hover-secondary-border:#161b22;--color-state-selected-primary-bg:#1f6feb;--color-state-selected-primary-border:#388bfd;--color-state-selected-primary-text:#f0f6fc;--color-state-selected-primary-icon:#f0f6fc;--color-state-focus-border:#388bfd;--color-state-focus-shadow:0 0 0 3px #0c2d6b;--color-fade-fg-10:rgba(240,246,252,0.1);--color-fade-fg-15:rgba(240,246,252,0.15);--color-fade-fg-30:rgba(240,246,252,0.3);--color-fade-fg-50:rgba(240,246,252,0.5);--color-fade-fg-70:rgba(240,246,252,0.7);--color-fade-fg-85:rgba(240,246,252,0.85);--color-fade-black-10:rgba(1,4,9,0.1);--color-fade-black-15:rgba(1,4,9,0.15);--color-fade-black-30:rgba(1,4,9,0.3);--color-fade-black-50:rgba(1,4,9,0.5);--color-fade-black-70:rgba(1,4,9,0.7);--color-fade-black-85:rgba(1,4,9,0.85);--color-fade-white-10:rgba(240,246,252,0.1);--color-fade-white-15:rgba(240,246,252,0.15);--color-fade-white-30:rgba(240,246,252,0.3);--color-fade-white-50:rgba(240,246,252,0.5);--color-fade-white-70:rgba(240,246,252,0.7);--color-fade-white-85:rgba(240,246,252,0.85);--color-alert-info-text:#79c0ff;--color-alert-info-icon:#79c0ff;--color-alert-info-bg:rgba(56,139,253,0.1);--color-alert-info-border:rgba(56,139,253,0.4);--color-alert-warn-text:#e3b341;--color-alert-warn-icon:#e3b341;--color-alert-warn-bg:rgba(187,128,9,0.1);--color-alert-warn-border:rgba(187,128,9,0.4);--color-alert-error-text:#ff7b72;--color-alert-error-icon:#ff7b72;--color-alert-error-bg:rgba(248,81,73,0.1);--color-alert-error-border:rgba(248,81,73,0.4);--color-alert-success-text:#56d364;--color-alert-success-icon:#56d364;--color-alert-success-bg:rgba(46,160,67,0.1);--color-alert-success-border:rgba(46,160,67,0.4);--color-autocomplete-shadow:0 16px 32px rgba(1,4,9,0.85);--color-autocomplete-row-border:#30363d;--color-blankslate-icon:#535b65;--color-btn-text:#c9d1d9;--color-btn-bg:#21262d;--color-btn-border:#30363d;--color-btn-shadow:0 0 transparent;--color-btn-inset-shadow:0 0 transparent;--color-btn-hover-bg:#30363d;--color-btn-hover-border:#8b949e;--color-btn-active-bg:#282e33;--color-btn-active-border:#6e7681;--color-btn-selected-bg:#161b22;--color-btn-focus-bg:#21262d;--color-btn-focus-border:#8b949e;--color-btn-focus-shadow:0 0 0 3px rgba(139,148,158,0.3);--color-btn-shadow-active:inset 0 0.15em 0.3em rgba(1,4,9,0.15);--color-btn-shadow-input-focus:0 0 0 0.2em rgba(31,111,235,0.3);--color-btn-primary-text:#fff;--color-btn-primary-bg:#238636;--color-btn-primary-border:#2ea043;--color-btn-primary-shadow:0 0 transparent;--color-btn-primary-inset-shadow:0 0 transparent;--color-btn-primary-hover-bg:#2ea043;--color-btn-primary-hover-border:#3fb950;--color-btn-primary-selected-bg:#238636;--color-btn-primary-selected-shadow:0 0 transparent;--color-btn-primary-disabled-text:rgba(240,246,252,0.5);--color-btn-primary-disabled-bg:rgba(35,134,54,0.6);--color-btn-primary-disabled-border:transparent;--color-btn-primary-focus-bg:#238636;--color-btn-primary-focus-border:#3fb950;--color-btn-primary-focus-shadow:0 0 0 3px rgba(46,164,79,0.4);--color-btn-primary-icon:#f0f6fc;--color-btn-primary-counter-bg:rgba(240,246,252,0.2);--color-btn-outline-text:#58a6ff;--color-btn-outline-hover-text:#58a6ff;--color-btn-outline-hover-bg:#30363d;--color-btn-outline-hover-border:#58a6ff;--color-btn-outline-hover-shadow:0 1px 0 rgba(1,4,9,0.1);--color-btn-outline-hover-inset-shadow:inset 0 1px 0 rgba(240,246,252,0.03);--color-btn-outline-hover-counter-bg:rgba(240,246,252,0.2);--color-btn-outline-selected-text:#f0f6fc;--color-btn-outline-selected-bg:#0d419d;--color-btn-outline-selected-border:rgba(240,246,252,0.1);--color-btn-outline-selected-shadow:0 0 transparent;--color-btn-outline-disabled-text:rgba(88,166,255,0.5);--color-btn-outline-disabled-bg:#0d1117;--color-btn-outline-disabled-counter-bg:rgba(31,111,235,0.05);--color-btn-outline-focus-border:#58a6ff;--color-btn-outline-focus-shadow:0 0 0 3px rgba(17,88,199,0.4);--color-btn-outline-counter-bg:rgba(31,111,235,0.1);--color-btn-danger-text:#f85149;--color-btn-danger-hover-text:#fff;--color-btn-danger-hover-bg:#da3633;--color-btn-danger-hover-border:#f85149;--color-btn-danger-hover-shadow:0 0 transparent;--color-btn-danger-hover-inset-shadow:0 0 transparent;--color-btn-danger-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-danger-selected-text:#fff;--color-btn-danger-selected-bg:#b62324;--color-btn-danger-selected-border:rgba(240,246,252,0.1);--color-btn-danger-selected-shadow:0 0 transparent;--color-btn-danger-disabled-text:rgba(248,81,73,0.5);--color-btn-danger-disabled-bg:#0d1117;--color-btn-danger-disabled-counter-bg:rgba(218,54,51,0.05);--color-btn-danger-focus-border:#f85149;--color-btn-danger-focus-shadow:0 0 0 3px rgba(182,35,36,0.4);--color-btn-danger-counter-bg:rgba(218,54,51,0.1);--color-btn-danger-icon:#f85149;--color-btn-danger-hover-icon:#f0f6fc;--color-btn-counter-bg:#30363d;--color-counter-text:#c9d1d9;--color-counter-bg:#30363d;--color-counter-primary-text:#c9d1d9;--color-counter-primary-bg:#6e7681;--color-counter-secondary-text:#8b949e;--color-counter-secondary-bg:rgba(139,148,158,0.2);--color-dropdown-shadow:0 16px 32px rgba(1,4,9,0.85);--color-label-border:#30363d;--color-label-primary-text:#b1bac4;--color-label-primary-border:#6e7681;--color-label-secondary-text:#8b949e;--color-label-secondary-border:#30363d;--color-label-info-text:#388bfd;--color-label-info-border:rgba(56,139,253,0.4);--color-label-success-text:#3fb950;--color-label-success-border:rgba(46,160,67,0.4);--color-label-warning-text:#e3b341;--color-label-warning-border:rgba(242,211,91,0.4);--color-label-danger-text:#f85149;--color-label-danger-border:rgba(248,81,73,0.4);--color-label-orange-text:#db6d28;--color-label-orange-border:rgba(219,109,40,0.4);--color-input-bg:#0d1117;--color-input-contrast-bg:rgba(1,4,9,0.5);--color-input-border:#21262d;--color-input-shadow:0 0 transparent;--color-input-disabled-bg:#161b22;--color-input-disabled-border:#30363d;--color-input-warning-border:#d29922;--color-input-error-border:#f85149;--color-input-tooltip-success-text:#56d364;--color-input-tooltip-success-bg:#101f1b;--color-input-tooltip-success-border:#1c532b;--color-input-tooltip-warning-text:#e3b341;--color-input-tooltip-warning-bg:#1e1c16;--color-input-tooltip-warning-border:#5d4411;--color-input-tooltip-error-text:#ff7b72;--color-input-tooltip-error-bg:#25171c;--color-input-tooltip-error-border:#792e2e;--color-avatar-bg:rgba(240,246,252,0.1);--color-avatar-border:rgba(240,246,252,0.1);--color-avatar-stack-fade:#30363d;--color-avatar-stack-fade-more:#21262d;--color-avatar-child-shadow:-2px -2px 0 #0d1117;--color-toast-text:#c9d1d9;--color-toast-bg:#30363d;--color-toast-border:#6e7681;--color-toast-shadow:0 8px 24px #010409;--color-toast-icon:#f0f6fc;--color-toast-icon-bg:#1f6feb;--color-toast-icon-border:#388bfd;--color-toast-success-text:#c9d1d9;--color-toast-success-border:#6e7681;--color-toast-success-icon:#f0f6fc;--color-toast-success-icon-bg:#2ea043;--color-toast-success-icon-border:#3fb950;--color-toast-warning-text:#c9d1d9;--color-toast-warning-border:#6e7681;--color-toast-warning-icon:#f0f6fc;--color-toast-warning-icon-bg:#bb8009;--color-toast-warning-icon-border:#d29922;--color-toast-danger-text:#c9d1d9;--color-toast-danger-border:#6e7681;--color-toast-danger-icon:#f0f6fc;--color-toast-danger-icon-bg:#da3633;--color-toast-danger-icon-border:#f85149;--color-toast-loading-text:#c9d1d9;--color-toast-loading-border:#6e7681;--color-toast-loading-icon:#f0f6fc;--color-toast-loading-icon-bg:#6e7681;--color-toast-loading-icon-border:#8b949e;--color-timeline-text:#b1bac4;--color-timeline-badge-bg:#0d1117;--color-timeline-badge-success-border:#2ea043;--color-timeline-target-badge-border:#1f6feb;--color-timeline-target-badge-shadow:#0d419d;--color-select-menu-border-secondary:#30363d;--color-select-menu-shadow:0 0 18px rgba(1,4,9,0.4);--color-select-menu-backdrop-bg:rgba(1,4,9,0.5);--color-select-menu-backdrop-border:#484f58;--color-select-menu-tap-highlight:rgba(48,54,61,0.5);--color-select-menu-tap-focus-bg:#0c2d6b;--color-box-blue-border:#0d419d;--color-box-row-yellow-bg:rgba(235,196,64,0.1);--color-box-row-blue-bg:rgba(121,192,255,0.1);--color-box-header-blue-bg:#0d1117;--color-box-header-blue-border:#30363d;--color-box-border-info:rgba(56,139,253,0.4);--color-box-bg-info:rgba(56,139,253,0.1);--color-box-border-warning:rgba(187,128,9,0.4);--color-box-bg-warning:rgba(187,128,9,0.1);--color-branch-name-text:#c9d1d9;--color-branch-name-icon:#b1bac4;--color-branch-name-bg:rgba(88,166,255,0.1);--color-branch-name-link-text:#58a6ff;--color-branch-name-link-icon:#58a6ff;--color-branch-name-link-bg:rgba(88,166,255,0.1);--color-markdown-code-bg:rgba(240,246,252,0.15);--color-markdown-frame-border:#3a424a;--color-markdown-blockquote-border:#3a424a;--color-markdown-table-border:#3a424a;--color-markdown-table-tr-border:#262b31;--color-menu-heading-text:#8b949e;--color-menu-border-active:#f78166;--color-menu-bg-active:#161b22;--color-sidenav-selected-bg:#21262d;--color-sidenav-border-active:#f78166;--color-header-text:rgba(240,246,252,0.7);--color-header-bg:#161b22;--color-header-logo:#f0f6fc;--color-filter-item-bar-bg:#12161c;--color-hidden-text-expander-bg:#21262d;--color-hidden-text-expander-bg-hover:#30363d;--color-drag-and-drop-border:#24282e;--color-upload-enabled-border:#3a424a;--color-upload-enabled-border-focused:#fff;--color-previewable-comment-form-border:#24282e;--color-underlinenav-border:rgba(48,54,61,0);--color-underlinenav-border-hover:#30363d;--color-underlinenav-border-active:#f78166;--color-underlinenav-text:#8b949e;--color-underlinenav-text-hover:#c9d1d9;--color-underlinenav-text-active:#c9d1d9;--color-underlinenav-icon:#6e7681;--color-underlinenav-icon-hover:#c9d1d9;--color-underlinenav-icon-active:#c9d1d9;--color-underlinenav-counter-text:#8b949e;--color-underlinenav-counter-bg:rgba(139,148,158,0.2);--color-verified-badge-text:#3fb950;--color-verified-badge-bg:rgba(63,185,80,0.1);--color-verified-badge-border:rgba(63,185,80,0.4);--color-social-count-bg:#21262d;--color-tooltip-text:#f0f6fc;--color-tooltip-bg:#6e7681;--color-header-search-bg:#0d1117;--color-header-search-border:#21262d;--color-search-keyword-hl:rgba(187,128,9,0.4);--color-diffstat-neutral-bg:#30363d;--color-diffstat-neutral-border:rgba(240,246,252,0.1);--color-diffstat-deletion-bg:#da3633;--color-diffstat-deletion-border:#f85149;--color-diffstat-addition-bg:#238636;--color-diffstat-addition-border:#2ea043;--color-mktg-success:#29933d;--color-mktg-info:#2a7bf3;--color-mktg-bg-shade-gradient-top:rgba(1,4,9,0.065);--color-mktg-bg-shade-gradient-bottom:rgba(1,4,9,0);--color-mktg-btn-bg-top:#617eef;--color-mktg-btn-bg-bottom:#4969ed;--color-mktg-btn-bg-overlay-top:#4968e4;--color-mktg-btn-bg-overlay-bottom:#3355e0;--color-mktg-btn-text:#f0f6fc;--color-mktg-btn-primary-bg-top:#34b759;--color-mktg-btn-primary-bg-bottom:#2ea44f;--color-mktg-btn-primary-bg-overlay-top:#279b42;--color-mktg-btn-primary-bg-overlay-bottom:#22863a;--color-mktg-btn-primary-text:#f0f6fc;--color-mktg-btn-enterprise-bg-top:#8670ff;--color-mktg-btn-enterprise-bg-bottom:#6f57ff;--color-mktg-btn-enterprise-bg-overlay-top:#7463de;--color-mktg-btn-enterprise-bg-overlay-bottom:#614eda;--color-mktg-btn-enterprise-text:#f0f6fc;--color-mktg-btn-outline-text:#f0f6fc;--color-mktg-btn-outline-border:rgba(240,246,252,0.3);--color-mktg-btn-outline-hover-text:#f0f6fc;--color-mktg-btn-outline-hover-border:rgba(240,246,252,0.5);--color-mktg-btn-outline-focus-border:#f0f6fc;--color-mktg-btn-outline-focus-border-inset:rgba(240,246,252,0.5);--color-mktg-btn-dark-text:#f0f6fc;--color-mktg-btn-dark-border:rgba(240,246,252,0.3);--color-mktg-btn-dark-hover-text:#f0f6fc;--color-mktg-btn-dark-hover-border:rgba(240,246,252,0.5);--color-mktg-btn-dark-focus-border:#f0f6fc;--color-mktg-btn-dark-focus-border-inset:rgba(240,246,252,0.5);--color-files-explorer-icon:#6e7681;--color-hl-author-bg:#051d4d;--color-hl-author-border:#0d419d;--color-logo-subdued:#30363d;--color-discussion-border:#34513b;--color-discussion-bg-success:rgba(46,160,67,0.1);--color-actions-workflow-table-sticky-bg:rgba(13,17,23,0.95);--color-repo-language-color-border:rgba(240,246,252,0.2);--color-code-selection-bg:rgba(121,192,255,0.3);--color-highlight-text:#ffd467;--color-highlight-bg:rgba(204,143,44,0.38);--color-blob-line-highlight-bg:rgba(210,153,34,0.15);--color-blob-line-highlight-border:#e3b341;--color-diff-addition-text:#56d364;--color-diff-addition-bg:rgba(46,160,67,0.2);--color-diff-addition-border:#196c2e;--color-diff-deletion-text:#f85149;--color-diff-deletion-bg:rgba(218,54,51,0.2);--color-diff-deletion-border:#b62324;--color-diff-change-text:#e3b341;--color-diff-change-bg:#341a00;--color-diff-change-border:#9e6a03;--color-diff-blob-num-text:rgba(240,246,252,0.3);--color-diff-blob-num-hover-text:rgba(240,246,252,0.6);--color-diff-blob-addition-num-text:#3fb950;--color-diff-blob-addition-num-hover-text:#7ee787;--color-diff-blob-addition-num-bg:rgba(46,160,67,0.1);--color-diff-blob-addition-line-bg:rgba(46,160,67,0.2);--color-diff-blob-addition-word-bg:rgba(46,160,67,0.55);--color-diff-blob-deletion-num-text:#f85149;--color-diff-blob-deletion-num-hover-text:#ffa198;--color-diff-blob-deletion-num-bg:rgba(218,54,51,0.1);--color-diff-blob-deletion-line-bg:rgba(218,54,51,0.2);--color-diff-blob-deletion-word-bg:rgba(218,54,51,0.5);--color-diff-blob-hunk-text:#8b949e;--color-diff-blob-hunk-num-bg:rgba(88,166,255,0.15);--color-diff-blob-hunk-line-bg:rgba(88,166,255,0.1);--color-diff-blob-empty-block-bg:#161b22;--color-diff-blob-selected-line-highlight-bg:rgba(187,128,9,0.1);--color-diff-blob-selected-line-highlight-border:#bb8009;--color-diff-blob-selected-line-highlight-mix-blend-mode:normal;--color-diff-blob-expander-icon:#8b949e;--color-diff-blob-expander-hover-icon:#f0f6fc;--color-diff-blob-expander-hover-bg:#1f6feb;--color-diff-blob-comment-button-icon:#f0f6fc;--color-diff-blob-comment-button-bg:#1f6feb;--color-diff-blob-comment-button-gradient-bg:#357fed;--color-global-nav-logo:#f0f6fc;--color-global-nav-bg:#161b22;--color-global-nav-text:#c9d1d9;--color-global-nav-icon:#c9d1d9;--color-global-nav-input-bg:#0d1117;--color-global-nav-input-border:#21262d;--color-global-nav-input-icon:#21262d;--color-global-nav-input-placeholder:#484f58;--color-calendar-graph-day-bg:#161b22;--color-calendar-graph-day-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-1-bg:#0e4429;--color-calendar-graph-day-l-2-bg:#006d32;--color-calendar-graph-day-l-3-bg:#26a641;--color-calendar-graph-day-l-4-bg:#39d353;--color-calendar-graph-day-l-4-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-3-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-2-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-1-border:hsla(0,0%,100%,0.05);--color-footer-invertocat-octicon:#30363d;--color-footer-invertocat-octicon-hover:#6e7681;--color-pr-state-draft-text:#8b949e;--color-pr-state-draft-bg:rgba(139,148,158,0.1);--color-pr-state-draft-border:rgba(139,148,158,0.4);--color-pr-state-open-text:#3fb950;--color-pr-state-open-bg:rgba(63,185,80,0.1);--color-pr-state-open-border:rgba(63,185,80,0.4);--color-pr-state-merged-text:#a371f7;--color-pr-state-merged-bg:rgba(188,140,255,0.1);--color-pr-state-merged-border:rgba(188,140,255,0.4);--color-pr-state-closed-text:#f85149;--color-pr-state-closed-bg:rgba(218,54,51,0.1);--color-pr-state-closed-border:rgba(218,54,51,0.4);--color-topic-tag-text:#58a6ff;--color-topic-tag-bg:rgba(56,139,253,0.1);--color-topic-tag-hover-bg:rgba(56,139,253,0.2);--color-topic-tag-active-bg:rgba(56,139,253,0.15);--color-merge-box-success-icon-bg:rgba(46,160,67,0.1);--color-merge-box-success-icon-text:#3fb950;--color-merge-box-success-icon-border:rgba(46,160,67,0.4);--color-merge-box-success-indicator-bg:#238636;--color-merge-box-success-indicator-border:#2ea043;--color-merge-box-merged-icon-bg:rgba(188,140,255,0.1);--color-merge-box-merged-icon-text:#a371f7;--color-merge-box-merged-icon-border:rgba(188,140,255,0.4);--color-merge-box-merged-box-border:rgba(188,140,255,0.4);--color-merge-box-neutral-icon-bg:rgba(201,209,217,0.1);--color-merge-box-neutral-icon-text:#8b949e;--color-merge-box-neutral-icon-border:rgba(201,209,217,0.4);--color-merge-box-neutral-indicator-bg:#484f58;--color-merge-box-neutral-indicator-border:#6e7681;--color-merge-box-warning-icon-bg:rgba(187,128,9,0.1);--color-merge-box-warning-icon-text:#e3b341;--color-merge-box-warning-icon-border:rgba(187,128,9,0.4);--color-merge-box-warning-box-border:rgba(187,128,9,0.4);--color-merge-box-warning-merge-highlight:rgba(187,128,9,0.1);--color-merge-box-error-icon-bg:rgba(248,81,73,0.1);--color-merge-box-error-icon-text:#f85149;--color-merge-box-error-icon-border:rgba(248,81,73,0.4);--color-merge-box-error-indicator-bg:#da3633;--color-merge-box-error-indicator-border:#f85149;--color-project-card-bg:#161b22;--color-project-header-bg:#0d1117;--color-project-sidebar-bg:#161b22;--color-project-gradient-in:#161b22;--color-project-gradient-out:rgba(22,27,34,0);--color-checks-bg:#090c10;--color-checks-run-border-width:1px;--color-checks-container-border-width:1px;--color-checks-text-primary:#c9d1d9;--color-checks-text-secondary:#8b949e;--color-checks-text-link:#58a6ff;--color-checks-btn-icon:#6e7681;--color-checks-btn-hover-icon:#c9d1d9;--color-checks-btn-hover-bg:#30363d;--color-checks-input-text:#8b949e;--color-checks-input-placeholder-text:#484f58;--color-checks-input-focus-text:#c9d1d9;--color-checks-input-bg:#0d1117;--color-checks-input-shadow:0 0 0 1px #21262d;--color-checks-dropdown-text:#c9d1d9;--color-checks-dropdown-bg:#1c2128;--color-checks-dropdown-border:#30363d;--color-checks-dropdown-hover-text:#f0f6fc;--color-checks-dropdown-hover-bg:#1f6feb;--color-checks-dropdown-btn-hover-text:#f0f6fc;--color-checks-dropdown-btn-hover-bg:#161b22;--color-checks-scrollbar-thumb-bg:#30363d;--color-checks-header-label-text:#8b949e;--color-checks-header-label-open-text:#c9d1d9;--color-checks-header-border:#21262d;--color-checks-header-icon:#6e7681;--color-checks-line-text:#8b949e;--color-checks-line-num-text:#8b949e;--color-checks-line-timestamp-text:#8b949e;--color-checks-line-hover-bg:#161b22;--color-checks-line-selected-bg:rgba(56,139,253,0.1);--color-checks-line-selected-num-text:#58a6ff;--color-checks-line-dt-fm-text:#0d1117;--color-checks-line-dt-fm-bg:#d29922;--color-checks-gate-bg:rgba(132,83,6,0.15);--color-checks-gate-text:#8b949e;--color-checks-gate-waiting-text:#e3b341;--color-checks-step-header-open-bg:#161b22;--color-checks-step-error-text:#f85149;--color-checks-step-warning-text:#e3b341;--color-checks-logline-text:#6e7681;--color-checks-logline-num-text:#8b949e;--color-checks-logline-debug-text:#bc8cff;--color-checks-logline-error-text:#8b949e;--color-checks-logline-error-num-text:#8b949e;--color-checks-logline-error-bg:rgba(248,81,73,0.1);--color-checks-logline-warning-text:#8b949e;--color-checks-logline-warning-num-text:#e3b341;--color-checks-logline-warning-bg:rgba(187,128,9,0.1);--color-checks-logline-command-text:#58a6ff;--color-checks-logline-section-text:#56d364;--color-checks-ansi-black:#0d1117;--color-checks-ansi-black-bright:#161b22;--color-checks-ansi-white:#b1bac4;--color-checks-ansi-white-bright:#b1bac4;--color-checks-ansi-gray:#6e7681;--color-checks-ansi-red:#ff7b72;--color-checks-ansi-red-bright:#ffa198;--color-checks-ansi-green:#3fb950;--color-checks-ansi-green-bright:#56d364;--color-checks-ansi-yellow:#d29922;--color-checks-ansi-yellow-bright:#e3b341;--color-checks-ansi-blue:#58a6ff;--color-checks-ansi-blue-bright:#79c0ff;--color-checks-ansi-magenta:#bc8cff;--color-checks-ansi-magenta-bright:#d2a8ff;--color-checks-ansi-cyan:#76e3ea;--color-checks-ansi-cyan-bright:#b3f0ff;--color-intro-shelf-gradient-left:rgba(56,139,253,0.1);--color-intro-shelf-gradient-right:rgba(46,160,67,0.1);--color-intro-shelf-gradient-in:#0d1117;--color-intro-shelf-gradient-out:rgba(13,17,23,0);--color-marketing-icon-primary:#79c0ff;--color-marketing-icon-secondary:#1f6feb;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#c9d1d9;--color-prettylights-syntax-markup-bold:#c9d1d9;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#c9d1d9;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-brackethighlighter-angle:#8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-codemirror-text:#c9d1d9;--color-codemirror-bg:#0d1117;--color-codemirror-gutters-bg:#0d1117;--color-codemirror-guttermarker-text:#0d1117;--color-codemirror-guttermarker-subtle-text:#6e7681;--color-codemirror-linenumber-text:#8b949e;--color-codemirror-cursor:#f0f6fc;--color-codemirror-selection-bg:rgba(121,192,255,0.3);--color-codemirror-activeline-bg:#161b22;--color-codemirror-matchingbracket-text:#c9d1d9;--color-codemirror-lines-bg:#0d1117;--color-codemirror-syntax-comment:#8b949e;--color-codemirror-syntax-constant:#79c0ff;--color-codemirror-syntax-entity:#d2a8ff;--color-codemirror-syntax-keyword:#ff7b72;--color-codemirror-syntax-storage:#ff7b72;--color-codemirror-syntax-string:#a5d6ff;--color-codemirror-syntax-support:#79c0ff;--color-codemirror-syntax-variable:#ffa657;--color-ansi-black:#484f58;--color-ansi-black-bright:#6e7681;--color-ansi-white:#b1bac4;--color-ansi-white-bright:#f0f6fc;--color-ansi-gray:#6e7681;--color-ansi-red:#ff7b72;--color-ansi-red-bright:#ffa198;--color-ansi-green:#3fb950;--color-ansi-green-bright:#56d364;--color-ansi-yellow:#d29922;--color-ansi-yellow-bright:#e3b341;--color-ansi-blue:#58a6ff;--color-ansi-blue-bright:#79c0ff;--color-ansi-magenta:#bc8cff;--color-ansi-magenta-bright:#d2a8ff;--color-ansi-cyan:#39c5cf;--color-ansi-cyan-bright:#56d4dd}}@media (prefers-color-scheme:dark){[data-color-mode=auto][data-dark-theme=dark]{--color-scale-black:#010409;--color-scale-white:#f0f6fc;--color-scale-gray-0:#f0f6fc;--color-scale-gray-1:#c9d1d9;--color-scale-gray-2:#b1bac4;--color-scale-gray-3:#8b949e;--color-scale-gray-4:#6e7681;--color-scale-gray-5:#484f58;--color-scale-gray-6:#30363d;--color-scale-gray-7:#21262d;--color-scale-gray-8:#161b22;--color-scale-gray-9:#0d1117;--color-scale-blue-0:#cae8ff;--color-scale-blue-1:#a5d6ff;--color-scale-blue-2:#79c0ff;--color-scale-blue-3:#58a6ff;--color-scale-blue-4:#388bfd;--color-scale-blue-5:#1f6feb;--color-scale-blue-6:#1158c7;--color-scale-blue-7:#0d419d;--color-scale-blue-8:#0c2d6b;--color-scale-blue-9:#051d4d;--color-scale-green-0:#aff5b4;--color-scale-green-1:#7ee787;--color-scale-green-2:#56d364;--color-scale-green-3:#3fb950;--color-scale-green-4:#2ea043;--color-scale-green-5:#238636;--color-scale-green-6:#196c2e;--color-scale-green-7:#0f5323;--color-scale-green-8:#033a16;--color-scale-green-9:#04260f;--color-scale-yellow-0:#f8e3a1;--color-scale-yellow-1:#f2cc60;--color-scale-yellow-2:#e3b341;--color-scale-yellow-3:#d29922;--color-scale-yellow-4:#bb8009;--color-scale-yellow-5:#9e6a03;--color-scale-yellow-6:#845306;--color-scale-yellow-7:#693e00;--color-scale-yellow-8:#4b2900;--color-scale-yellow-9:#341a00;--color-scale-orange-0:#ffdfb6;--color-scale-orange-1:#ffc680;--color-scale-orange-2:#ffa657;--color-scale-orange-3:#f0883e;--color-scale-orange-4:#db6d28;--color-scale-orange-5:#bd561d;--color-scale-orange-6:#9b4215;--color-scale-orange-7:#762d0a;--color-scale-orange-8:#5a1e02;--color-scale-orange-9:#3d1300;--color-scale-red-0:#ffdcd7;--color-scale-red-1:#ffc1ba;--color-scale-red-2:#ffa198;--color-scale-red-3:#ff7b72;--color-scale-red-4:#f85149;--color-scale-red-5:#da3633;--color-scale-red-6:#b62324;--color-scale-red-7:#8e1519;--color-scale-red-8:#67060c;--color-scale-red-9:#490202;--color-scale-purple-0:#eddeff;--color-scale-purple-1:#e2c5ff;--color-scale-purple-2:#d2a8ff;--color-scale-purple-3:#bc8cff;--color-scale-purple-4:#a371f7;--color-scale-purple-5:#8957e5;--color-scale-purple-6:#6e40c9;--color-scale-purple-7:#553098;--color-scale-purple-8:#3c1e70;--color-scale-purple-9:#271052;--color-scale-pink-0:#ffdaec;--color-scale-pink-1:#ffbedd;--color-scale-pink-2:#ff9bce;--color-scale-pink-3:#f778ba;--color-scale-pink-4:#db61a2;--color-scale-pink-5:#bf4b8a;--color-scale-pink-6:#9e3670;--color-scale-pink-7:#7d2457;--color-scale-pink-8:#5e103e;--color-scale-pink-9:#42062a;--color-auto-black:#f0f6fc;--color-auto-white:#010409;--color-auto-gray-0:#0d1117;--color-auto-gray-1:#161b22;--color-auto-gray-2:#21262d;--color-auto-gray-3:#30363d;--color-auto-gray-4:#484f58;--color-auto-gray-5:#6e7681;--color-auto-gray-6:#8b949e;--color-auto-gray-7:#b1bac4;--color-auto-gray-8:#c9d1d9;--color-auto-gray-9:#f0f6fc;--color-auto-blue-0:#051d4d;--color-auto-blue-1:#0c2d6b;--color-auto-blue-2:#0d419d;--color-auto-blue-3:#1158c7;--color-auto-blue-4:#1f6feb;--color-auto-blue-5:#388bfd;--color-auto-blue-6:#58a6ff;--color-auto-blue-7:#79c0ff;--color-auto-blue-8:#a5d6ff;--color-auto-blue-9:#cae8ff;--color-auto-green-0:#04260f;--color-auto-green-1:#033a16;--color-auto-green-2:#0f5323;--color-auto-green-3:#196c2e;--color-auto-green-4:#238636;--color-auto-green-5:#2ea043;--color-auto-green-6:#3fb950;--color-auto-green-7:#56d364;--color-auto-green-8:#7ee787;--color-auto-green-9:#aff5b4;--color-auto-yellow-0:#341a00;--color-auto-yellow-1:#4b2900;--color-auto-yellow-2:#693e00;--color-auto-yellow-3:#845306;--color-auto-yellow-4:#9e6a03;--color-auto-yellow-5:#bb8009;--color-auto-yellow-6:#d29922;--color-auto-yellow-7:#e3b341;--color-auto-yellow-8:#f2cc60;--color-auto-yellow-9:#f8e3a1;--color-auto-orange-0:#3d1300;--color-auto-orange-1:#5a1e02;--color-auto-orange-2:#762d0a;--color-auto-orange-3:#9b4215;--color-auto-orange-4:#bd561d;--color-auto-orange-5:#db6d28;--color-auto-orange-6:#f0883e;--color-auto-orange-7:#ffa657;--color-auto-orange-8:#ffc680;--color-auto-orange-9:#ffdfb6;--color-auto-red-0:#490202;--color-auto-red-1:#67060c;--color-auto-red-2:#8e1519;--color-auto-red-3:#b62324;--color-auto-red-4:#da3633;--color-auto-red-5:#f85149;--color-auto-red-6:#ff7b72;--color-auto-red-7:#ffa198;--color-auto-red-8:#ffc1ba;--color-auto-red-9:#ffdcd7;--color-auto-purple-0:#271052;--color-auto-purple-1:#3c1e70;--color-auto-purple-2:#553098;--color-auto-purple-3:#6e40c9;--color-auto-purple-4:#8957e5;--color-auto-purple-5:#a371f7;--color-auto-purple-6:#bc8cff;--color-auto-purple-7:#d2a8ff;--color-auto-purple-8:#e2c5ff;--color-auto-purple-9:#eddeff;--color-auto-pink-0:#42062a;--color-auto-pink-1:#5e103e;--color-auto-pink-2:#7d2457;--color-auto-pink-3:#9e3670;--color-auto-pink-4:#bf4b8a;--color-auto-pink-5:#db61a2;--color-auto-pink-6:#f778ba;--color-auto-pink-7:#ff9bce;--color-auto-pink-8:#ffbedd;--color-auto-pink-9:#ffdaec;--color-text-primary:#c9d1d9;--color-text-secondary:#8b949e;--color-text-tertiary:#8b949e;--color-text-placeholder:#484f58;--color-text-disabled:#484f58;--color-text-inverse:#0d1117;--color-text-link:#58a6ff;--color-text-danger:#f85149;--color-text-success:#56d364;--color-text-warning:#e3b341;--color-text-white:#f0f6fc;--color-icon-primary:#c9d1d9;--color-icon-secondary:#6e7681;--color-icon-tertiary:#484f58;--color-icon-info:#58a6ff;--color-icon-danger:#f85149;--color-icon-success:#56d364;--color-icon-warning:#e3b341;--color-border-primary:#30363d;--color-border-secondary:#21262d;--color-border-tertiary:#6e7681;--color-border-overlay:#30363d;--color-border-inverse:#f0f6fc;--color-border-info:rgba(56,139,253,0.4);--color-border-danger:rgba(248,81,73,0.4);--color-border-success:rgba(63,185,80,0.4);--color-border-warning:rgba(187,128,9,0.4);--color-bg-canvas:#0d1117;--color-bg-canvas-mobile:#010409;--color-bg-canvas-inverse:#f0f6fc;--color-bg-canvas-inset:#090c10;--color-bg-primary:#0d1117;--color-bg-secondary:#0d1117;--color-bg-tertiary:#161b22;--color-bg-overlay:#1c2128;--color-bg-backdrop:rgba(1,4,9,0.8);--color-bg-info:rgba(56,139,253,0.1);--color-bg-info-inverse:#388bfd;--color-bg-danger:rgba(248,81,73,0.1);--color-bg-danger-inverse:#da3633;--color-bg-success:rgba(46,160,67,0.1);--color-bg-success-inverse:#2ea043;--color-bg-warning:rgba(187,128,9,0.1);--color-bg-warning-inverse:#bb8009;--color-shadow-small:0 0 transparent;--color-shadow-medium:0 3px 6px #010409;--color-shadow-large:0 8px 24px #010409;--color-shadow-extra-large:0 12px 48px #010409;--color-shadow-highlight:0 0 transparent;--color-shadow-inset:0 0 transparent;--color-state-hover-primary-bg:#1f6feb;--color-state-hover-primary-border:#388bfd;--color-state-hover-primary-text:#f0f6fc;--color-state-hover-primary-icon:#f0f6fc;--color-state-hover-secondary-bg:#161b22;--color-state-hover-secondary-border:#161b22;--color-state-selected-primary-bg:#1f6feb;--color-state-selected-primary-border:#388bfd;--color-state-selected-primary-text:#f0f6fc;--color-state-selected-primary-icon:#f0f6fc;--color-state-focus-border:#388bfd;--color-state-focus-shadow:0 0 0 3px #0c2d6b;--color-fade-fg-10:rgba(240,246,252,0.1);--color-fade-fg-15:rgba(240,246,252,0.15);--color-fade-fg-30:rgba(240,246,252,0.3);--color-fade-fg-50:rgba(240,246,252,0.5);--color-fade-fg-70:rgba(240,246,252,0.7);--color-fade-fg-85:rgba(240,246,252,0.85);--color-fade-black-10:rgba(1,4,9,0.1);--color-fade-black-15:rgba(1,4,9,0.15);--color-fade-black-30:rgba(1,4,9,0.3);--color-fade-black-50:rgba(1,4,9,0.5);--color-fade-black-70:rgba(1,4,9,0.7);--color-fade-black-85:rgba(1,4,9,0.85);--color-fade-white-10:rgba(240,246,252,0.1);--color-fade-white-15:rgba(240,246,252,0.15);--color-fade-white-30:rgba(240,246,252,0.3);--color-fade-white-50:rgba(240,246,252,0.5);--color-fade-white-70:rgba(240,246,252,0.7);--color-fade-white-85:rgba(240,246,252,0.85);--color-alert-info-text:#79c0ff;--color-alert-info-icon:#79c0ff;--color-alert-info-bg:rgba(56,139,253,0.1);--color-alert-info-border:rgba(56,139,253,0.4);--color-alert-warn-text:#e3b341;--color-alert-warn-icon:#e3b341;--color-alert-warn-bg:rgba(187,128,9,0.1);--color-alert-warn-border:rgba(187,128,9,0.4);--color-alert-error-text:#ff7b72;--color-alert-error-icon:#ff7b72;--color-alert-error-bg:rgba(248,81,73,0.1);--color-alert-error-border:rgba(248,81,73,0.4);--color-alert-success-text:#56d364;--color-alert-success-icon:#56d364;--color-alert-success-bg:rgba(46,160,67,0.1);--color-alert-success-border:rgba(46,160,67,0.4);--color-autocomplete-shadow:0 16px 32px rgba(1,4,9,0.85);--color-autocomplete-row-border:#30363d;--color-blankslate-icon:#535b65;--color-btn-text:#c9d1d9;--color-btn-bg:#21262d;--color-btn-border:#30363d;--color-btn-shadow:0 0 transparent;--color-btn-inset-shadow:0 0 transparent;--color-btn-hover-bg:#30363d;--color-btn-hover-border:#8b949e;--color-btn-active-bg:#282e33;--color-btn-active-border:#6e7681;--color-btn-selected-bg:#161b22;--color-btn-focus-bg:#21262d;--color-btn-focus-border:#8b949e;--color-btn-focus-shadow:0 0 0 3px rgba(139,148,158,0.3);--color-btn-shadow-active:inset 0 0.15em 0.3em rgba(1,4,9,0.15);--color-btn-shadow-input-focus:0 0 0 0.2em rgba(31,111,235,0.3);--color-btn-primary-text:#fff;--color-btn-primary-bg:#238636;--color-btn-primary-border:#2ea043;--color-btn-primary-shadow:0 0 transparent;--color-btn-primary-inset-shadow:0 0 transparent;--color-btn-primary-hover-bg:#2ea043;--color-btn-primary-hover-border:#3fb950;--color-btn-primary-selected-bg:#238636;--color-btn-primary-selected-shadow:0 0 transparent;--color-btn-primary-disabled-text:rgba(240,246,252,0.5);--color-btn-primary-disabled-bg:rgba(35,134,54,0.6);--color-btn-primary-disabled-border:transparent;--color-btn-primary-focus-bg:#238636;--color-btn-primary-focus-border:#3fb950;--color-btn-primary-focus-shadow:0 0 0 3px rgba(46,164,79,0.4);--color-btn-primary-icon:#f0f6fc;--color-btn-primary-counter-bg:rgba(240,246,252,0.2);--color-btn-outline-text:#58a6ff;--color-btn-outline-hover-text:#58a6ff;--color-btn-outline-hover-bg:#30363d;--color-btn-outline-hover-border:#58a6ff;--color-btn-outline-hover-shadow:0 1px 0 rgba(1,4,9,0.1);--color-btn-outline-hover-inset-shadow:inset 0 1px 0 rgba(240,246,252,0.03);--color-btn-outline-hover-counter-bg:rgba(240,246,252,0.2);--color-btn-outline-selected-text:#f0f6fc;--color-btn-outline-selected-bg:#0d419d;--color-btn-outline-selected-border:rgba(240,246,252,0.1);--color-btn-outline-selected-shadow:0 0 transparent;--color-btn-outline-disabled-text:rgba(88,166,255,0.5);--color-btn-outline-disabled-bg:#0d1117;--color-btn-outline-disabled-counter-bg:rgba(31,111,235,0.05);--color-btn-outline-focus-border:#58a6ff;--color-btn-outline-focus-shadow:0 0 0 3px rgba(17,88,199,0.4);--color-btn-outline-counter-bg:rgba(31,111,235,0.1);--color-btn-danger-text:#f85149;--color-btn-danger-hover-text:#fff;--color-btn-danger-hover-bg:#da3633;--color-btn-danger-hover-border:#f85149;--color-btn-danger-hover-shadow:0 0 transparent;--color-btn-danger-hover-inset-shadow:0 0 transparent;--color-btn-danger-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-danger-selected-text:#fff;--color-btn-danger-selected-bg:#b62324;--color-btn-danger-selected-border:rgba(240,246,252,0.1);--color-btn-danger-selected-shadow:0 0 transparent;--color-btn-danger-disabled-text:rgba(248,81,73,0.5);--color-btn-danger-disabled-bg:#0d1117;--color-btn-danger-disabled-counter-bg:rgba(218,54,51,0.05);--color-btn-danger-focus-border:#f85149;--color-btn-danger-focus-shadow:0 0 0 3px rgba(182,35,36,0.4);--color-btn-danger-counter-bg:rgba(218,54,51,0.1);--color-btn-danger-icon:#f85149;--color-btn-danger-hover-icon:#f0f6fc;--color-btn-counter-bg:#30363d;--color-counter-text:#c9d1d9;--color-counter-bg:#30363d;--color-counter-primary-text:#c9d1d9;--color-counter-primary-bg:#6e7681;--color-counter-secondary-text:#8b949e;--color-counter-secondary-bg:rgba(139,148,158,0.2);--color-dropdown-shadow:0 16px 32px rgba(1,4,9,0.85);--color-label-border:#30363d;--color-label-primary-text:#b1bac4;--color-label-primary-border:#6e7681;--color-label-secondary-text:#8b949e;--color-label-secondary-border:#30363d;--color-label-info-text:#388bfd;--color-label-info-border:rgba(56,139,253,0.4);--color-label-success-text:#3fb950;--color-label-success-border:rgba(46,160,67,0.4);--color-label-warning-text:#e3b341;--color-label-warning-border:rgba(242,211,91,0.4);--color-label-danger-text:#f85149;--color-label-danger-border:rgba(248,81,73,0.4);--color-label-orange-text:#db6d28;--color-label-orange-border:rgba(219,109,40,0.4);--color-input-bg:#0d1117;--color-input-contrast-bg:rgba(1,4,9,0.5);--color-input-border:#21262d;--color-input-shadow:0 0 transparent;--color-input-disabled-bg:#161b22;--color-input-disabled-border:#30363d;--color-input-warning-border:#d29922;--color-input-error-border:#f85149;--color-input-tooltip-success-text:#56d364;--color-input-tooltip-success-bg:#101f1b;--color-input-tooltip-success-border:#1c532b;--color-input-tooltip-warning-text:#e3b341;--color-input-tooltip-warning-bg:#1e1c16;--color-input-tooltip-warning-border:#5d4411;--color-input-tooltip-error-text:#ff7b72;--color-input-tooltip-error-bg:#25171c;--color-input-tooltip-error-border:#792e2e;--color-avatar-bg:rgba(240,246,252,0.1);--color-avatar-border:rgba(240,246,252,0.1);--color-avatar-stack-fade:#30363d;--color-avatar-stack-fade-more:#21262d;--color-avatar-child-shadow:-2px -2px 0 #0d1117;--color-toast-text:#c9d1d9;--color-toast-bg:#30363d;--color-toast-border:#6e7681;--color-toast-shadow:0 8px 24px #010409;--color-toast-icon:#f0f6fc;--color-toast-icon-bg:#1f6feb;--color-toast-icon-border:#388bfd;--color-toast-success-text:#c9d1d9;--color-toast-success-border:#6e7681;--color-toast-success-icon:#f0f6fc;--color-toast-success-icon-bg:#2ea043;--color-toast-success-icon-border:#3fb950;--color-toast-warning-text:#c9d1d9;--color-toast-warning-border:#6e7681;--color-toast-warning-icon:#f0f6fc;--color-toast-warning-icon-bg:#bb8009;--color-toast-warning-icon-border:#d29922;--color-toast-danger-text:#c9d1d9;--color-toast-danger-border:#6e7681;--color-toast-danger-icon:#f0f6fc;--color-toast-danger-icon-bg:#da3633;--color-toast-danger-icon-border:#f85149;--color-toast-loading-text:#c9d1d9;--color-toast-loading-border:#6e7681;--color-toast-loading-icon:#f0f6fc;--color-toast-loading-icon-bg:#6e7681;--color-toast-loading-icon-border:#8b949e;--color-timeline-text:#b1bac4;--color-timeline-badge-bg:#0d1117;--color-timeline-badge-success-border:#2ea043;--color-timeline-target-badge-border:#1f6feb;--color-timeline-target-badge-shadow:#0d419d;--color-select-menu-border-secondary:#30363d;--color-select-menu-shadow:0 0 18px rgba(1,4,9,0.4);--color-select-menu-backdrop-bg:rgba(1,4,9,0.5);--color-select-menu-backdrop-border:#484f58;--color-select-menu-tap-highlight:rgba(48,54,61,0.5);--color-select-menu-tap-focus-bg:#0c2d6b;--color-box-blue-border:#0d419d;--color-box-row-yellow-bg:rgba(235,196,64,0.1);--color-box-row-blue-bg:rgba(121,192,255,0.1);--color-box-header-blue-bg:#0d1117;--color-box-header-blue-border:#30363d;--color-box-border-info:rgba(56,139,253,0.4);--color-box-bg-info:rgba(56,139,253,0.1);--color-box-border-warning:rgba(187,128,9,0.4);--color-box-bg-warning:rgba(187,128,9,0.1);--color-branch-name-text:#c9d1d9;--color-branch-name-icon:#b1bac4;--color-branch-name-bg:rgba(88,166,255,0.1);--color-branch-name-link-text:#58a6ff;--color-branch-name-link-icon:#58a6ff;--color-branch-name-link-bg:rgba(88,166,255,0.1);--color-markdown-code-bg:rgba(240,246,252,0.15);--color-markdown-frame-border:#3a424a;--color-markdown-blockquote-border:#3a424a;--color-markdown-table-border:#3a424a;--color-markdown-table-tr-border:#262b31;--color-menu-heading-text:#8b949e;--color-menu-border-active:#f78166;--color-menu-bg-active:#161b22;--color-sidenav-selected-bg:#21262d;--color-sidenav-border-active:#f78166;--color-header-text:rgba(240,246,252,0.7);--color-header-bg:#161b22;--color-header-logo:#f0f6fc;--color-filter-item-bar-bg:#12161c;--color-hidden-text-expander-bg:#21262d;--color-hidden-text-expander-bg-hover:#30363d;--color-drag-and-drop-border:#24282e;--color-upload-enabled-border:#3a424a;--color-upload-enabled-border-focused:#fff;--color-previewable-comment-form-border:#24282e;--color-underlinenav-border:rgba(48,54,61,0);--color-underlinenav-border-hover:#30363d;--color-underlinenav-border-active:#f78166;--color-underlinenav-text:#8b949e;--color-underlinenav-text-hover:#c9d1d9;--color-underlinenav-text-active:#c9d1d9;--color-underlinenav-icon:#6e7681;--color-underlinenav-icon-hover:#c9d1d9;--color-underlinenav-icon-active:#c9d1d9;--color-underlinenav-counter-text:#8b949e;--color-underlinenav-counter-bg:rgba(139,148,158,0.2);--color-verified-badge-text:#3fb950;--color-verified-badge-bg:rgba(63,185,80,0.1);--color-verified-badge-border:rgba(63,185,80,0.4);--color-social-count-bg:#21262d;--color-tooltip-text:#f0f6fc;--color-tooltip-bg:#6e7681;--color-header-search-bg:#0d1117;--color-header-search-border:#21262d;--color-search-keyword-hl:rgba(187,128,9,0.4);--color-diffstat-neutral-bg:#30363d;--color-diffstat-neutral-border:rgba(240,246,252,0.1);--color-diffstat-deletion-bg:#da3633;--color-diffstat-deletion-border:#f85149;--color-diffstat-addition-bg:#238636;--color-diffstat-addition-border:#2ea043;--color-mktg-success:#29933d;--color-mktg-info:#2a7bf3;--color-mktg-bg-shade-gradient-top:rgba(1,4,9,0.065);--color-mktg-bg-shade-gradient-bottom:rgba(1,4,9,0);--color-mktg-btn-bg-top:#617eef;--color-mktg-btn-bg-bottom:#4969ed;--color-mktg-btn-bg-overlay-top:#4968e4;--color-mktg-btn-bg-overlay-bottom:#3355e0;--color-mktg-btn-text:#f0f6fc;--color-mktg-btn-primary-bg-top:#34b759;--color-mktg-btn-primary-bg-bottom:#2ea44f;--color-mktg-btn-primary-bg-overlay-top:#279b42;--color-mktg-btn-primary-bg-overlay-bottom:#22863a;--color-mktg-btn-primary-text:#f0f6fc;--color-mktg-btn-enterprise-bg-top:#8670ff;--color-mktg-btn-enterprise-bg-bottom:#6f57ff;--color-mktg-btn-enterprise-bg-overlay-top:#7463de;--color-mktg-btn-enterprise-bg-overlay-bottom:#614eda;--color-mktg-btn-enterprise-text:#f0f6fc;--color-mktg-btn-outline-text:#f0f6fc;--color-mktg-btn-outline-border:rgba(240,246,252,0.3);--color-mktg-btn-outline-hover-text:#f0f6fc;--color-mktg-btn-outline-hover-border:rgba(240,246,252,0.5);--color-mktg-btn-outline-focus-border:#f0f6fc;--color-mktg-btn-outline-focus-border-inset:rgba(240,246,252,0.5);--color-mktg-btn-dark-text:#f0f6fc;--color-mktg-btn-dark-border:rgba(240,246,252,0.3);--color-mktg-btn-dark-hover-text:#f0f6fc;--color-mktg-btn-dark-hover-border:rgba(240,246,252,0.5);--color-mktg-btn-dark-focus-border:#f0f6fc;--color-mktg-btn-dark-focus-border-inset:rgba(240,246,252,0.5);--color-files-explorer-icon:#6e7681;--color-hl-author-bg:#051d4d;--color-hl-author-border:#0d419d;--color-logo-subdued:#30363d;--color-discussion-border:#34513b;--color-discussion-bg-success:rgba(46,160,67,0.1);--color-actions-workflow-table-sticky-bg:rgba(13,17,23,0.95);--color-repo-language-color-border:rgba(240,246,252,0.2);--color-code-selection-bg:rgba(121,192,255,0.3);--color-highlight-text:#ffd467;--color-highlight-bg:rgba(204,143,44,0.38);--color-blob-line-highlight-bg:rgba(210,153,34,0.15);--color-blob-line-highlight-border:#e3b341;--color-diff-addition-text:#56d364;--color-diff-addition-bg:rgba(46,160,67,0.2);--color-diff-addition-border:#196c2e;--color-diff-deletion-text:#f85149;--color-diff-deletion-bg:rgba(218,54,51,0.2);--color-diff-deletion-border:#b62324;--color-diff-change-text:#e3b341;--color-diff-change-bg:#341a00;--color-diff-change-border:#9e6a03;--color-diff-blob-num-text:rgba(240,246,252,0.3);--color-diff-blob-num-hover-text:rgba(240,246,252,0.6);--color-diff-blob-addition-num-text:#3fb950;--color-diff-blob-addition-num-hover-text:#7ee787;--color-diff-blob-addition-num-bg:rgba(46,160,67,0.1);--color-diff-blob-addition-line-bg:rgba(46,160,67,0.2);--color-diff-blob-addition-word-bg:rgba(46,160,67,0.55);--color-diff-blob-deletion-num-text:#f85149;--color-diff-blob-deletion-num-hover-text:#ffa198;--color-diff-blob-deletion-num-bg:rgba(218,54,51,0.1);--color-diff-blob-deletion-line-bg:rgba(218,54,51,0.2);--color-diff-blob-deletion-word-bg:rgba(218,54,51,0.5);--color-diff-blob-hunk-text:#8b949e;--color-diff-blob-hunk-num-bg:rgba(88,166,255,0.15);--color-diff-blob-hunk-line-bg:rgba(88,166,255,0.1);--color-diff-blob-empty-block-bg:#161b22;--color-diff-blob-selected-line-highlight-bg:rgba(187,128,9,0.1);--color-diff-blob-selected-line-highlight-border:#bb8009;--color-diff-blob-selected-line-highlight-mix-blend-mode:normal;--color-diff-blob-expander-icon:#8b949e;--color-diff-blob-expander-hover-icon:#f0f6fc;--color-diff-blob-expander-hover-bg:#1f6feb;--color-diff-blob-comment-button-icon:#f0f6fc;--color-diff-blob-comment-button-bg:#1f6feb;--color-diff-blob-comment-button-gradient-bg:#357fed;--color-global-nav-logo:#f0f6fc;--color-global-nav-bg:#161b22;--color-global-nav-text:#c9d1d9;--color-global-nav-icon:#c9d1d9;--color-global-nav-input-bg:#0d1117;--color-global-nav-input-border:#21262d;--color-global-nav-input-icon:#21262d;--color-global-nav-input-placeholder:#484f58;--color-calendar-graph-day-bg:#161b22;--color-calendar-graph-day-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-1-bg:#0e4429;--color-calendar-graph-day-l-2-bg:#006d32;--color-calendar-graph-day-l-3-bg:#26a641;--color-calendar-graph-day-l-4-bg:#39d353;--color-calendar-graph-day-l-4-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-3-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-2-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-1-border:hsla(0,0%,100%,0.05);--color-footer-invertocat-octicon:#30363d;--color-footer-invertocat-octicon-hover:#6e7681;--color-pr-state-draft-text:#8b949e;--color-pr-state-draft-bg:rgba(139,148,158,0.1);--color-pr-state-draft-border:rgba(139,148,158,0.4);--color-pr-state-open-text:#3fb950;--color-pr-state-open-bg:rgba(63,185,80,0.1);--color-pr-state-open-border:rgba(63,185,80,0.4);--color-pr-state-merged-text:#a371f7;--color-pr-state-merged-bg:rgba(188,140,255,0.1);--color-pr-state-merged-border:rgba(188,140,255,0.4);--color-pr-state-closed-text:#f85149;--color-pr-state-closed-bg:rgba(218,54,51,0.1);--color-pr-state-closed-border:rgba(218,54,51,0.4);--color-topic-tag-text:#58a6ff;--color-topic-tag-bg:rgba(56,139,253,0.1);--color-topic-tag-hover-bg:rgba(56,139,253,0.2);--color-topic-tag-active-bg:rgba(56,139,253,0.15);--color-merge-box-success-icon-bg:rgba(46,160,67,0.1);--color-merge-box-success-icon-text:#3fb950;--color-merge-box-success-icon-border:rgba(46,160,67,0.4);--color-merge-box-success-indicator-bg:#238636;--color-merge-box-success-indicator-border:#2ea043;--color-merge-box-merged-icon-bg:rgba(188,140,255,0.1);--color-merge-box-merged-icon-text:#a371f7;--color-merge-box-merged-icon-border:rgba(188,140,255,0.4);--color-merge-box-merged-box-border:rgba(188,140,255,0.4);--color-merge-box-neutral-icon-bg:rgba(201,209,217,0.1);--color-merge-box-neutral-icon-text:#8b949e;--color-merge-box-neutral-icon-border:rgba(201,209,217,0.4);--color-merge-box-neutral-indicator-bg:#484f58;--color-merge-box-neutral-indicator-border:#6e7681;--color-merge-box-warning-icon-bg:rgba(187,128,9,0.1);--color-merge-box-warning-icon-text:#e3b341;--color-merge-box-warning-icon-border:rgba(187,128,9,0.4);--color-merge-box-warning-box-border:rgba(187,128,9,0.4);--color-merge-box-warning-merge-highlight:rgba(187,128,9,0.1);--color-merge-box-error-icon-bg:rgba(248,81,73,0.1);--color-merge-box-error-icon-text:#f85149;--color-merge-box-error-icon-border:rgba(248,81,73,0.4);--color-merge-box-error-indicator-bg:#da3633;--color-merge-box-error-indicator-border:#f85149;--color-project-card-bg:#161b22;--color-project-header-bg:#0d1117;--color-project-sidebar-bg:#161b22;--color-project-gradient-in:#161b22;--color-project-gradient-out:rgba(22,27,34,0);--color-checks-bg:#090c10;--color-checks-run-border-width:1px;--color-checks-container-border-width:1px;--color-checks-text-primary:#c9d1d9;--color-checks-text-secondary:#8b949e;--color-checks-text-link:#58a6ff;--color-checks-btn-icon:#6e7681;--color-checks-btn-hover-icon:#c9d1d9;--color-checks-btn-hover-bg:#30363d;--color-checks-input-text:#8b949e;--color-checks-input-placeholder-text:#484f58;--color-checks-input-focus-text:#c9d1d9;--color-checks-input-bg:#0d1117;--color-checks-input-shadow:0 0 0 1px #21262d;--color-checks-dropdown-text:#c9d1d9;--color-checks-dropdown-bg:#1c2128;--color-checks-dropdown-border:#30363d;--color-checks-dropdown-hover-text:#f0f6fc;--color-checks-dropdown-hover-bg:#1f6feb;--color-checks-dropdown-btn-hover-text:#f0f6fc;--color-checks-dropdown-btn-hover-bg:#161b22;--color-checks-scrollbar-thumb-bg:#30363d;--color-checks-header-label-text:#8b949e;--color-checks-header-label-open-text:#c9d1d9;--color-checks-header-border:#21262d;--color-checks-header-icon:#6e7681;--color-checks-line-text:#8b949e;--color-checks-line-num-text:#8b949e;--color-checks-line-timestamp-text:#8b949e;--color-checks-line-hover-bg:#161b22;--color-checks-line-selected-bg:rgba(56,139,253,0.1);--color-checks-line-selected-num-text:#58a6ff;--color-checks-line-dt-fm-text:#0d1117;--color-checks-line-dt-fm-bg:#d29922;--color-checks-gate-bg:rgba(132,83,6,0.15);--color-checks-gate-text:#8b949e;--color-checks-gate-waiting-text:#e3b341;--color-checks-step-header-open-bg:#161b22;--color-checks-step-error-text:#f85149;--color-checks-step-warning-text:#e3b341;--color-checks-logline-text:#6e7681;--color-checks-logline-num-text:#8b949e;--color-checks-logline-debug-text:#bc8cff;--color-checks-logline-error-text:#8b949e;--color-checks-logline-error-num-text:#8b949e;--color-checks-logline-error-bg:rgba(248,81,73,0.1);--color-checks-logline-warning-text:#8b949e;--color-checks-logline-warning-num-text:#e3b341;--color-checks-logline-warning-bg:rgba(187,128,9,0.1);--color-checks-logline-command-text:#58a6ff;--color-checks-logline-section-text:#56d364;--color-checks-ansi-black:#0d1117;--color-checks-ansi-black-bright:#161b22;--color-checks-ansi-white:#b1bac4;--color-checks-ansi-white-bright:#b1bac4;--color-checks-ansi-gray:#6e7681;--color-checks-ansi-red:#ff7b72;--color-checks-ansi-red-bright:#ffa198;--color-checks-ansi-green:#3fb950;--color-checks-ansi-green-bright:#56d364;--color-checks-ansi-yellow:#d29922;--color-checks-ansi-yellow-bright:#e3b341;--color-checks-ansi-blue:#58a6ff;--color-checks-ansi-blue-bright:#79c0ff;--color-checks-ansi-magenta:#bc8cff;--color-checks-ansi-magenta-bright:#d2a8ff;--color-checks-ansi-cyan:#76e3ea;--color-checks-ansi-cyan-bright:#b3f0ff;--color-intro-shelf-gradient-left:rgba(56,139,253,0.1);--color-intro-shelf-gradient-right:rgba(46,160,67,0.1);--color-intro-shelf-gradient-in:#0d1117;--color-intro-shelf-gradient-out:rgba(13,17,23,0);--color-marketing-icon-primary:#79c0ff;--color-marketing-icon-secondary:#1f6feb;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#c9d1d9;--color-prettylights-syntax-markup-bold:#c9d1d9;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#c9d1d9;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-brackethighlighter-angle:#8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-codemirror-text:#c9d1d9;--color-codemirror-bg:#0d1117;--color-codemirror-gutters-bg:#0d1117;--color-codemirror-guttermarker-text:#0d1117;--color-codemirror-guttermarker-subtle-text:#6e7681;--color-codemirror-linenumber-text:#8b949e;--color-codemirror-cursor:#f0f6fc;--color-codemirror-selection-bg:rgba(121,192,255,0.3);--color-codemirror-activeline-bg:#161b22;--color-codemirror-matchingbracket-text:#c9d1d9;--color-codemirror-lines-bg:#0d1117;--color-codemirror-syntax-comment:#8b949e;--color-codemirror-syntax-constant:#79c0ff;--color-codemirror-syntax-entity:#d2a8ff;--color-codemirror-syntax-keyword:#ff7b72;--color-codemirror-syntax-storage:#ff7b72;--color-codemirror-syntax-string:#a5d6ff;--color-codemirror-syntax-support:#79c0ff;--color-codemirror-syntax-variable:#ffa657;--color-ansi-black:#484f58;--color-ansi-black-bright:#6e7681;--color-ansi-white:#b1bac4;--color-ansi-white-bright:#f0f6fc;--color-ansi-gray:#6e7681;--color-ansi-red:#ff7b72;--color-ansi-red-bright:#ffa198;--color-ansi-green:#3fb950;--color-ansi-green-bright:#56d364;--color-ansi-yellow:#d29922;--color-ansi-yellow-bright:#e3b341;--color-ansi-blue:#58a6ff;--color-ansi-blue-bright:#79c0ff;--color-ansi-magenta:#bc8cff;--color-ansi-magenta-bright:#d2a8ff;--color-ansi-cyan:#39c5cf;--color-ansi-cyan-bright:#56d4dd}}[data-color-mode=dark][data-dark-theme=dark_dimmed],[data-color-mode=light][data-light-theme=dark_dimmed]{--color-scale-black:#1c2128;--color-scale-white:#cdd9e5;--color-scale-gray-0:#cdd9e5;--color-scale-gray-1:#adbac7;--color-scale-gray-2:#909dab;--color-scale-gray-3:#768390;--color-scale-gray-4:#636e7b;--color-scale-gray-5:#545d68;--color-scale-gray-6:#444c56;--color-scale-gray-7:#373e47;--color-scale-gray-8:#2d333b;--color-scale-gray-9:#22272e;--color-scale-blue-0:#c6e6ff;--color-scale-blue-1:#96d0ff;--color-scale-blue-2:#6cb6ff;--color-scale-blue-3:#539bf5;--color-scale-blue-4:#4184e4;--color-scale-blue-5:#316dca;--color-scale-blue-6:#255ab2;--color-scale-blue-7:#1b4b91;--color-scale-blue-8:#143d79;--color-scale-blue-9:#0f2d5c;--color-scale-green-0:#b4f1b4;--color-scale-green-1:#8ddb8c;--color-scale-green-2:#6bc46d;--color-scale-green-3:#57ab5a;--color-scale-green-4:#46954a;--color-scale-green-5:#347d39;--color-scale-green-6:#2b6a30;--color-scale-green-7:#245829;--color-scale-green-8:#1b4721;--color-scale-green-9:#113417;--color-scale-yellow-0:#fbe090;--color-scale-yellow-1:#eac55f;--color-scale-yellow-2:#daaa3f;--color-scale-yellow-3:#c69026;--color-scale-yellow-4:#ae7c14;--color-scale-yellow-5:#966600;--color-scale-yellow-6:#805400;--color-scale-yellow-7:#6c4400;--color-scale-yellow-8:#593600;--color-scale-yellow-9:#452700;--color-scale-orange-0:#ffddb0;--color-scale-orange-1:#ffbc6f;--color-scale-orange-2:#f69d50;--color-scale-orange-3:#e0823d;--color-scale-orange-4:#cc6b2c;--color-scale-orange-5:#ae5622;--color-scale-orange-6:#94471b;--color-scale-orange-7:#7f3913;--color-scale-orange-8:#682d0f;--color-scale-orange-9:#4d210c;--color-scale-red-0:#ffd8d3;--color-scale-red-1:#ffb8b0;--color-scale-red-2:#ff938a;--color-scale-red-3:#f47067;--color-scale-red-4:#e5534b;--color-scale-red-5:#c93c37;--color-scale-red-6:#ad2e2c;--color-scale-red-7:#922323;--color-scale-red-8:#78191b;--color-scale-red-9:#78191b;--color-scale-purple-0:#eedcff;--color-scale-purple-1:#dcbdfb;--color-scale-purple-2:#dcbdfb;--color-scale-purple-3:#b083f0;--color-scale-purple-4:#986ee2;--color-scale-purple-5:#8256d0;--color-scale-purple-6:#6b44bc;--color-scale-purple-7:#5936a2;--color-scale-purple-8:#472c82;--color-scale-purple-9:#352160;--color-scale-pink-0:#ffd7eb;--color-scale-pink-1:#ffb3d8;--color-scale-pink-2:#fc8dc7;--color-scale-pink-3:#e275ad;--color-scale-pink-4:#c96198;--color-scale-pink-5:#ae4c82;--color-scale-pink-6:#983b6e;--color-scale-pink-7:#7e325a;--color-scale-pink-8:#69264a;--color-scale-pink-9:#551639;--color-auto-black:#cdd9e5;--color-auto-white:#1c2128;--color-auto-gray-0:#22272e;--color-auto-gray-1:#2d333b;--color-auto-gray-2:#373e47;--color-auto-gray-3:#444c56;--color-auto-gray-4:#545d68;--color-auto-gray-5:#636e7b;--color-auto-gray-6:#768390;--color-auto-gray-7:#909dab;--color-auto-gray-8:#adbac7;--color-auto-gray-9:#cdd9e5;--color-auto-blue-0:#0f2d5c;--color-auto-blue-1:#143d79;--color-auto-blue-2:#1b4b91;--color-auto-blue-3:#255ab2;--color-auto-blue-4:#316dca;--color-auto-blue-5:#4184e4;--color-auto-blue-6:#539bf5;--color-auto-blue-7:#6cb6ff;--color-auto-blue-8:#96d0ff;--color-auto-blue-9:#c6e6ff;--color-auto-green-0:#113417;--color-auto-green-1:#1b4721;--color-auto-green-2:#245829;--color-auto-green-3:#2b6a30;--color-auto-green-4:#347d39;--color-auto-green-5:#46954a;--color-auto-green-6:#57ab5a;--color-auto-green-7:#6bc46d;--color-auto-green-8:#8ddb8c;--color-auto-green-9:#b4f1b4;--color-auto-yellow-0:#452700;--color-auto-yellow-1:#593600;--color-auto-yellow-2:#6c4400;--color-auto-yellow-3:#805400;--color-auto-yellow-4:#966600;--color-auto-yellow-5:#ae7c14;--color-auto-yellow-6:#c69026;--color-auto-yellow-7:#daaa3f;--color-auto-yellow-8:#eac55f;--color-auto-yellow-9:#fbe090;--color-auto-orange-0:#4d210c;--color-auto-orange-1:#682d0f;--color-auto-orange-2:#7f3913;--color-auto-orange-3:#94471b;--color-auto-orange-4:#ae5622;--color-auto-orange-5:#cc6b2c;--color-auto-orange-6:#e0823d;--color-auto-orange-7:#f69d50;--color-auto-orange-8:#ffbc6f;--color-auto-orange-9:#ffddb0;--color-auto-red-0:#78191b;--color-auto-red-1:#78191b;--color-auto-red-2:#922323;--color-auto-red-3:#ad2e2c;--color-auto-red-4:#c93c37;--color-auto-red-5:#e5534b;--color-auto-red-6:#f47067;--color-auto-red-7:#ff938a;--color-auto-red-8:#ffb8b0;--color-auto-red-9:#ffd8d3;--color-auto-purple-0:#352160;--color-auto-purple-1:#472c82;--color-auto-purple-2:#5936a2;--color-auto-purple-3:#6b44bc;--color-auto-purple-4:#8256d0;--color-auto-purple-5:#986ee2;--color-auto-purple-6:#b083f0;--color-auto-purple-7:#dcbdfb;--color-auto-purple-8:#dcbdfb;--color-auto-purple-9:#eedcff;--color-auto-pink-0:#551639;--color-auto-pink-1:#69264a;--color-auto-pink-2:#7e325a;--color-auto-pink-3:#983b6e;--color-auto-pink-4:#ae4c82;--color-auto-pink-5:#c96198;--color-auto-pink-6:#e275ad;--color-auto-pink-7:#fc8dc7;--color-auto-pink-8:#ffb3d8;--color-auto-pink-9:#ffd7eb;--color-text-primary:#adbac7;--color-text-secondary:#768390;--color-text-tertiary:#768390;--color-text-placeholder:#545d68;--color-text-disabled:#545d68;--color-text-inverse:#22272e;--color-text-link:#539bf5;--color-text-danger:#e5534b;--color-text-success:#6bc46d;--color-text-warning:#daaa3f;--color-text-white:#cdd9e5;--color-icon-primary:#adbac7;--color-icon-secondary:#636e7b;--color-icon-tertiary:#545d68;--color-icon-info:#539bf5;--color-icon-danger:#e5534b;--color-icon-success:#6bc46d;--color-icon-warning:#daaa3f;--color-border-primary:#444c56;--color-border-secondary:#373e47;--color-border-tertiary:#636e7b;--color-border-overlay:#444c56;--color-border-inverse:#cdd9e5;--color-border-info:rgba(65,132,228,0.4);--color-border-danger:rgba(229,83,75,0.4);--color-border-success:rgba(87,171,90,0.4);--color-border-warning:rgba(174,124,20,0.4);--color-bg-canvas:#22272e;--color-bg-canvas-mobile:#1c2128;--color-bg-canvas-inverse:#cdd9e5;--color-bg-canvas-inset:#1e2329;--color-bg-primary:#22272e;--color-bg-secondary:#22272e;--color-bg-tertiary:#2d333b;--color-bg-overlay:#323941;--color-bg-backdrop:rgba(28,33,40,0.8);--color-bg-info:rgba(65,132,228,0.1);--color-bg-info-inverse:#4184e4;--color-bg-danger:rgba(229,83,75,0.1);--color-bg-danger-inverse:#c93c37;--color-bg-success:rgba(70,149,74,0.1);--color-bg-success-inverse:#46954a;--color-bg-warning:rgba(174,124,20,0.1);--color-bg-warning-inverse:#ae7c14;--color-shadow-small:0 0 transparent;--color-shadow-medium:0 3px 6px #1c2128;--color-shadow-large:0 8px 24px #1c2128;--color-shadow-extra-large:0 12px 48px #1c2128;--color-shadow-highlight:0 0 transparent;--color-shadow-inset:0 0 transparent;--color-state-hover-primary-bg:#316dca;--color-state-hover-primary-border:#4184e4;--color-state-hover-primary-text:#cdd9e5;--color-state-hover-primary-icon:#cdd9e5;--color-state-hover-secondary-bg:#2d333b;--color-state-hover-secondary-border:#2d333b;--color-state-selected-primary-bg:#316dca;--color-state-selected-primary-border:#4184e4;--color-state-selected-primary-text:#cdd9e5;--color-state-selected-primary-icon:#cdd9e5;--color-state-focus-border:#4184e4;--color-state-focus-shadow:0 0 0 3px #143d79;--color-fade-fg-10:rgba(205,217,229,0.1);--color-fade-fg-15:rgba(205,217,229,0.15);--color-fade-fg-30:rgba(205,217,229,0.3);--color-fade-fg-50:rgba(205,217,229,0.5);--color-fade-fg-70:rgba(205,217,229,0.7);--color-fade-fg-85:rgba(205,217,229,0.85);--color-fade-black-10:rgba(28,33,40,0.1);--color-fade-black-15:rgba(28,33,40,0.15);--color-fade-black-30:rgba(28,33,40,0.3);--color-fade-black-50:rgba(28,33,40,0.5);--color-fade-black-70:rgba(28,33,40,0.7);--color-fade-black-85:rgba(28,33,40,0.85);--color-fade-white-10:rgba(205,217,229,0.1);--color-fade-white-15:rgba(205,217,229,0.15);--color-fade-white-30:rgba(205,217,229,0.3);--color-fade-white-50:rgba(205,217,229,0.5);--color-fade-white-70:rgba(205,217,229,0.7);--color-fade-white-85:rgba(205,217,229,0.85);--color-alert-info-text:#6cb6ff;--color-alert-info-icon:#6cb6ff;--color-alert-info-bg:rgba(65,132,228,0.1);--color-alert-info-border:rgba(65,132,228,0.4);--color-alert-warn-text:#daaa3f;--color-alert-warn-icon:#daaa3f;--color-alert-warn-bg:rgba(174,124,20,0.1);--color-alert-warn-border:rgba(174,124,20,0.4);--color-alert-error-text:#f47067;--color-alert-error-icon:#f47067;--color-alert-error-bg:rgba(229,83,75,0.1);--color-alert-error-border:rgba(229,83,75,0.4);--color-alert-success-text:#6bc46d;--color-alert-success-icon:#6bc46d;--color-alert-success-bg:rgba(70,149,74,0.1);--color-alert-success-border:rgba(70,149,74,0.4);--color-autocomplete-shadow:0 16px 32px rgba(28,33,40,0.85);--color-autocomplete-row-border:#444c56;--color-blankslate-icon:#5f6a77;--color-btn-text:#adbac7;--color-btn-bg:#373e47;--color-btn-border:#444c56;--color-btn-shadow:0 0 transparent;--color-btn-inset-shadow:0 0 transparent;--color-btn-hover-bg:#444c56;--color-btn-hover-border:#768390;--color-btn-active-bg:#3d444d;--color-btn-active-border:#636e7b;--color-btn-selected-bg:#2d333b;--color-btn-focus-bg:#373e47;--color-btn-focus-border:#768390;--color-btn-focus-shadow:0 0 0 3px rgba(118,131,144,0.3);--color-btn-shadow-active:inset 0 0.15em 0.3em rgba(28,33,40,0.15);--color-btn-shadow-input-focus:0 0 0 0.2em rgba(49,109,202,0.3);--color-btn-primary-text:#fff;--color-btn-primary-bg:#347d39;--color-btn-primary-border:#46954a;--color-btn-primary-shadow:0 0 transparent;--color-btn-primary-inset-shadow:0 0 transparent;--color-btn-primary-hover-bg:#46954a;--color-btn-primary-hover-border:#57ab5a;--color-btn-primary-selected-bg:#347d39;--color-btn-primary-selected-shadow:0 0 transparent;--color-btn-primary-disabled-text:rgba(205,217,229,0.5);--color-btn-primary-disabled-bg:rgba(52,125,57,0.6);--color-btn-primary-disabled-border:transparent;--color-btn-primary-focus-bg:#347d39;--color-btn-primary-focus-border:#57ab5a;--color-btn-primary-focus-shadow:0 0 0 3px rgba(46,164,79,0.4);--color-btn-primary-icon:#cdd9e5;--color-btn-primary-counter-bg:rgba(205,217,229,0.2);--color-btn-outline-text:#539bf5;--color-btn-outline-hover-text:#539bf5;--color-btn-outline-hover-bg:#444c56;--color-btn-outline-hover-border:#539bf5;--color-btn-outline-hover-shadow:0 1px 0 rgba(28,33,40,0.1);--color-btn-outline-hover-inset-shadow:inset 0 1px 0 rgba(205,217,229,0.03);--color-btn-outline-hover-counter-bg:rgba(205,217,229,0.2);--color-btn-outline-selected-text:#cdd9e5;--color-btn-outline-selected-bg:#1b4b91;--color-btn-outline-selected-border:rgba(205,217,229,0.1);--color-btn-outline-selected-shadow:0 0 transparent;--color-btn-outline-disabled-text:rgba(83,155,245,0.5);--color-btn-outline-disabled-bg:#22272e;--color-btn-outline-disabled-counter-bg:rgba(49,109,202,0.05);--color-btn-outline-focus-border:#539bf5;--color-btn-outline-focus-shadow:0 0 0 3px rgba(37,90,178,0.4);--color-btn-outline-counter-bg:rgba(49,109,202,0.1);--color-btn-danger-text:#e5534b;--color-btn-danger-hover-text:#fff;--color-btn-danger-hover-bg:#c93c37;--color-btn-danger-hover-border:#e5534b;--color-btn-danger-hover-shadow:0 0 transparent;--color-btn-danger-hover-inset-shadow:0 0 transparent;--color-btn-danger-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-danger-selected-text:#fff;--color-btn-danger-selected-bg:#ad2e2c;--color-btn-danger-selected-border:rgba(205,217,229,0.1);--color-btn-danger-selected-shadow:0 0 transparent;--color-btn-danger-disabled-text:rgba(229,83,75,0.5);--color-btn-danger-disabled-bg:#22272e;--color-btn-danger-disabled-counter-bg:rgba(201,60,55,0.05);--color-btn-danger-focus-border:#e5534b;--color-btn-danger-focus-shadow:0 0 0 3px rgba(173,46,44,0.4);--color-btn-danger-counter-bg:rgba(201,60,55,0.1);--color-btn-danger-icon:#e5534b;--color-btn-danger-hover-icon:#cdd9e5;--color-btn-counter-bg:#444c56;--color-counter-text:#adbac7;--color-counter-bg:#444c56;--color-counter-primary-text:#adbac7;--color-counter-primary-bg:#636e7b;--color-counter-secondary-text:#768390;--color-counter-secondary-bg:rgba(118,131,144,0.2);--color-dropdown-shadow:0 16px 32px rgba(28,33,40,0.85);--color-label-border:#444c56;--color-label-primary-text:#909dab;--color-label-primary-border:#636e7b;--color-label-secondary-text:#768390;--color-label-secondary-border:#444c56;--color-label-info-text:#4184e4;--color-label-info-border:rgba(65,132,228,0.4);--color-label-success-text:#57ab5a;--color-label-success-border:rgba(70,149,74,0.4);--color-label-warning-text:#daaa3f;--color-label-warning-border:rgba(242,211,91,0.4);--color-label-danger-text:#e5534b;--color-label-danger-border:rgba(229,83,75,0.4);--color-label-orange-text:#cc6b2c;--color-label-orange-border:rgba(204,107,44,0.4);--color-input-bg:#22272e;--color-input-contrast-bg:rgba(28,33,40,0.5);--color-input-border:#373e47;--color-input-shadow:0 0 transparent;--color-input-disabled-bg:#2d333b;--color-input-disabled-border:#444c56;--color-input-warning-border:#c69026;--color-input-error-border:#e5534b;--color-input-tooltip-success-text:#6bc46d;--color-input-tooltip-success-bg:#263231;--color-input-tooltip-success-border:#335a3b;--color-input-tooltip-warning-text:#daaa3f;--color-input-tooltip-warning-bg:#30302b;--color-input-tooltip-warning-border:#624e22;--color-input-tooltip-error-text:#f47067;--color-input-tooltip-error-bg:#352b31;--color-input-tooltip-error-border:#7c3b3b;--color-avatar-bg:rgba(205,217,229,0.1);--color-avatar-border:rgba(205,217,229,0.1);--color-avatar-stack-fade:#444c56;--color-avatar-stack-fade-more:#373e47;--color-avatar-child-shadow:-2px -2px 0 #22272e;--color-toast-text:#adbac7;--color-toast-bg:#444c56;--color-toast-border:#636e7b;--color-toast-shadow:0 8px 24px #1c2128;--color-toast-icon:#cdd9e5;--color-toast-icon-bg:#316dca;--color-toast-icon-border:#4184e4;--color-toast-success-text:#adbac7;--color-toast-success-border:#636e7b;--color-toast-success-icon:#cdd9e5;--color-toast-success-icon-bg:#46954a;--color-toast-success-icon-border:#57ab5a;--color-toast-warning-text:#adbac7;--color-toast-warning-border:#636e7b;--color-toast-warning-icon:#cdd9e5;--color-toast-warning-icon-bg:#ae7c14;--color-toast-warning-icon-border:#c69026;--color-toast-danger-text:#adbac7;--color-toast-danger-border:#636e7b;--color-toast-danger-icon:#cdd9e5;--color-toast-danger-icon-bg:#c93c37;--color-toast-danger-icon-border:#e5534b;--color-toast-loading-text:#adbac7;--color-toast-loading-border:#636e7b;--color-toast-loading-icon:#cdd9e5;--color-toast-loading-icon-bg:#636e7b;--color-toast-loading-icon-border:#768390;--color-timeline-text:#909dab;--color-timeline-badge-bg:#22272e;--color-timeline-badge-success-border:#46954a;--color-timeline-target-badge-border:#316dca;--color-timeline-target-badge-shadow:#1b4b91;--color-select-menu-border-secondary:#444c56;--color-select-menu-shadow:0 0 18px rgba(28,33,40,0.4);--color-select-menu-backdrop-bg:rgba(28,33,40,0.5);--color-select-menu-backdrop-border:#545d68;--color-select-menu-tap-highlight:rgba(68,76,86,0.5);--color-select-menu-tap-focus-bg:#143d79;--color-box-blue-border:#1b4b91;--color-box-row-yellow-bg:rgba(235,196,64,0.1);--color-box-row-blue-bg:rgba(108,182,255,0.1);--color-box-header-blue-bg:#22272e;--color-box-header-blue-border:#444c56;--color-box-border-info:rgba(65,132,228,0.4);--color-box-bg-info:rgba(65,132,228,0.1);--color-box-border-warning:rgba(174,124,20,0.4);--color-box-bg-warning:rgba(174,124,20,0.1);--color-branch-name-text:#adbac7;--color-branch-name-icon:#909dab;--color-branch-name-bg:rgba(83,155,245,0.1);--color-branch-name-link-text:#539bf5;--color-branch-name-link-icon:#539bf5;--color-branch-name-link-bg:rgba(83,155,245,0.1);--color-markdown-code-bg:rgba(205,217,229,0.15);--color-markdown-frame-border:#4f5864;--color-markdown-blockquote-border:#4f5864;--color-markdown-table-border:#4f5864;--color-markdown-table-tr-border:#3a424a;--color-menu-heading-text:#768390;--color-menu-border-active:#f78166;--color-menu-bg-active:#2d333b;--color-sidenav-selected-bg:#373e47;--color-sidenav-border-active:#f78166;--color-header-text:rgba(205,217,229,0.7);--color-header-bg:#2d333b;--color-header-logo:#cdd9e5;--color-filter-item-bar-bg:#282d34;--color-hidden-text-expander-bg:#373e47;--color-hidden-text-expander-bg-hover:#444c56;--color-drag-and-drop-border:#383f47;--color-upload-enabled-border:#4f5864;--color-upload-enabled-border-focused:#fff;--color-previewable-comment-form-border:#383f47;--color-underlinenav-border:rgba(68,76,86,0);--color-underlinenav-border-hover:#444c56;--color-underlinenav-border-active:#f78166;--color-underlinenav-text:#768390;--color-underlinenav-text-hover:#adbac7;--color-underlinenav-text-active:#adbac7;--color-underlinenav-icon:#636e7b;--color-underlinenav-icon-hover:#adbac7;--color-underlinenav-icon-active:#adbac7;--color-underlinenav-counter-text:#768390;--color-underlinenav-counter-bg:rgba(118,131,144,0.2);--color-verified-badge-text:#57ab5a;--color-verified-badge-bg:rgba(87,171,90,0.1);--color-verified-badge-border:rgba(87,171,90,0.4);--color-social-count-bg:#373e47;--color-tooltip-text:#cdd9e5;--color-tooltip-bg:#636e7b;--color-header-search-bg:#22272e;--color-header-search-border:#373e47;--color-search-keyword-hl:rgba(174,124,20,0.4);--color-diffstat-neutral-bg:#444c56;--color-diffstat-neutral-border:rgba(205,217,229,0.1);--color-diffstat-deletion-bg:#c93c37;--color-diffstat-deletion-border:#e5534b;--color-diffstat-addition-bg:#347d39;--color-diffstat-addition-border:#46954a;--color-mktg-success:#3d8942;--color-mktg-info:#3877d5;--color-mktg-bg-shade-gradient-top:rgba(28,33,40,0.065);--color-mktg-bg-shade-gradient-bottom:rgba(28,33,40,0);--color-mktg-btn-bg-top:#617eef;--color-mktg-btn-bg-bottom:#4969ed;--color-mktg-btn-bg-overlay-top:#4968e4;--color-mktg-btn-bg-overlay-bottom:#3355e0;--color-mktg-btn-text:#cdd9e5;--color-mktg-btn-primary-bg-top:#34b759;--color-mktg-btn-primary-bg-bottom:#2ea44f;--color-mktg-btn-primary-bg-overlay-top:#279b42;--color-mktg-btn-primary-bg-overlay-bottom:#22863a;--color-mktg-btn-primary-text:#cdd9e5;--color-mktg-btn-enterprise-bg-top:#8670ff;--color-mktg-btn-enterprise-bg-bottom:#6f57ff;--color-mktg-btn-enterprise-bg-overlay-top:#7463de;--color-mktg-btn-enterprise-bg-overlay-bottom:#614eda;--color-mktg-btn-enterprise-text:#cdd9e5;--color-mktg-btn-outline-text:#cdd9e5;--color-mktg-btn-outline-border:rgba(205,217,229,0.3);--color-mktg-btn-outline-hover-text:#cdd9e5;--color-mktg-btn-outline-hover-border:rgba(205,217,229,0.5);--color-mktg-btn-outline-focus-border:#cdd9e5;--color-mktg-btn-outline-focus-border-inset:rgba(205,217,229,0.5);--color-mktg-btn-dark-text:#cdd9e5;--color-mktg-btn-dark-border:rgba(205,217,229,0.3);--color-mktg-btn-dark-hover-text:#cdd9e5;--color-mktg-btn-dark-hover-border:rgba(205,217,229,0.5);--color-mktg-btn-dark-focus-border:#cdd9e5;--color-mktg-btn-dark-focus-border-inset:rgba(205,217,229,0.5);--color-files-explorer-icon:#636e7b;--color-hl-author-bg:#0f2d5c;--color-hl-author-border:#1b4b91;--color-logo-subdued:#444c56;--color-discussion-border:#484b49;--color-discussion-bg-success:rgba(70,149,74,0.1);--color-actions-workflow-table-sticky-bg:rgba(34,39,46,0.95);--color-repo-language-color-border:rgba(205,217,229,0.2);--color-code-selection-bg:rgba(108,182,255,0.3);--color-highlight-text:#ffd467;--color-highlight-bg:rgba(204,143,44,0.38);--color-blob-line-highlight-bg:rgba(198,144,38,0.15);--color-blob-line-highlight-border:#daaa3f;--color-diff-addition-text:#6bc46d;--color-diff-addition-bg:rgba(70,149,74,0.2);--color-diff-addition-border:#2b6a30;--color-diff-deletion-text:#e5534b;--color-diff-deletion-bg:rgba(201,60,55,0.2);--color-diff-deletion-border:#ad2e2c;--color-diff-change-text:#daaa3f;--color-diff-change-bg:#452700;--color-diff-change-border:#966600;--color-diff-blob-num-text:rgba(205,217,229,0.3);--color-diff-blob-num-hover-text:rgba(205,217,229,0.6);--color-diff-blob-addition-num-text:#57ab5a;--color-diff-blob-addition-num-hover-text:#8ddb8c;--color-diff-blob-addition-num-bg:rgba(70,149,74,0.1);--color-diff-blob-addition-line-bg:rgba(70,149,74,0.2);--color-diff-blob-addition-word-bg:rgba(70,149,74,0.55);--color-diff-blob-deletion-num-text:#e5534b;--color-diff-blob-deletion-num-hover-text:#ff938a;--color-diff-blob-deletion-num-bg:rgba(201,60,55,0.1);--color-diff-blob-deletion-line-bg:rgba(201,60,55,0.2);--color-diff-blob-deletion-word-bg:rgba(201,60,55,0.5);--color-diff-blob-hunk-text:#768390;--color-diff-blob-hunk-num-bg:rgba(83,155,245,0.15);--color-diff-blob-hunk-line-bg:rgba(83,155,245,0.1);--color-diff-blob-empty-block-bg:#2d333b;--color-diff-blob-selected-line-highlight-bg:rgba(174,124,20,0.1);--color-diff-blob-selected-line-highlight-border:#ae7c14;--color-diff-blob-selected-line-highlight-mix-blend-mode:normal;--color-diff-blob-expander-icon:#768390;--color-diff-blob-expander-hover-icon:#cdd9e5;--color-diff-blob-expander-hover-bg:#316dca;--color-diff-blob-comment-button-icon:#cdd9e5;--color-diff-blob-comment-button-bg:#316dca;--color-diff-blob-comment-button-gradient-bg:#427bd1;--color-global-nav-logo:#cdd9e5;--color-global-nav-bg:#2d333b;--color-global-nav-text:#adbac7;--color-global-nav-icon:#adbac7;--color-global-nav-input-bg:#22272e;--color-global-nav-input-border:#373e47;--color-global-nav-input-icon:#373e47;--color-global-nav-input-placeholder:#545d68;--color-calendar-graph-day-bg:#2d333b;--color-calendar-graph-day-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-1-bg:#0e4429;--color-calendar-graph-day-l-2-bg:#006d32;--color-calendar-graph-day-l-3-bg:#26a641;--color-calendar-graph-day-l-4-bg:#39d353;--color-calendar-graph-day-l-4-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-3-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-2-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-1-border:hsla(0,0%,100%,0.05);--color-footer-invertocat-octicon:#444c56;--color-footer-invertocat-octicon-hover:#636e7b;--color-pr-state-draft-text:#768390;--color-pr-state-draft-bg:rgba(118,131,144,0.1);--color-pr-state-draft-border:rgba(118,131,144,0.4);--color-pr-state-open-text:#57ab5a;--color-pr-state-open-bg:rgba(87,171,90,0.1);--color-pr-state-open-border:rgba(87,171,90,0.4);--color-pr-state-merged-text:#986ee2;--color-pr-state-merged-bg:rgba(176,131,240,0.1);--color-pr-state-merged-border:rgba(176,131,240,0.4);--color-pr-state-closed-text:#e5534b;--color-pr-state-closed-bg:rgba(201,60,55,0.1);--color-pr-state-closed-border:rgba(201,60,55,0.4);--color-topic-tag-text:#539bf5;--color-topic-tag-bg:rgba(65,132,228,0.1);--color-topic-tag-hover-bg:rgba(65,132,228,0.2);--color-topic-tag-active-bg:rgba(65,132,228,0.15);--color-merge-box-success-icon-bg:rgba(70,149,74,0.1);--color-merge-box-success-icon-text:#57ab5a;--color-merge-box-success-icon-border:rgba(70,149,74,0.4);--color-merge-box-success-indicator-bg:#347d39;--color-merge-box-success-indicator-border:#46954a;--color-merge-box-merged-icon-bg:rgba(176,131,240,0.1);--color-merge-box-merged-icon-text:#986ee2;--color-merge-box-merged-icon-border:rgba(176,131,240,0.4);--color-merge-box-merged-box-border:rgba(176,131,240,0.4);--color-merge-box-neutral-icon-bg:rgba(173,186,199,0.1);--color-merge-box-neutral-icon-text:#768390;--color-merge-box-neutral-icon-border:rgba(173,186,199,0.4);--color-merge-box-neutral-indicator-bg:#545d68;--color-merge-box-neutral-indicator-border:#636e7b;--color-merge-box-warning-icon-bg:rgba(174,124,20,0.1);--color-merge-box-warning-icon-text:#daaa3f;--color-merge-box-warning-icon-border:rgba(174,124,20,0.4);--color-merge-box-warning-box-border:rgba(174,124,20,0.4);--color-merge-box-warning-merge-highlight:rgba(174,124,20,0.1);--color-merge-box-error-icon-bg:rgba(229,83,75,0.1);--color-merge-box-error-icon-text:#e5534b;--color-merge-box-error-icon-border:rgba(229,83,75,0.4);--color-merge-box-error-indicator-bg:#c93c37;--color-merge-box-error-indicator-border:#e5534b;--color-project-card-bg:#2d333b;--color-project-header-bg:#22272e;--color-project-sidebar-bg:#2d333b;--color-project-gradient-in:#2d333b;--color-project-gradient-out:rgba(45,51,59,0);--color-checks-bg:#1e2329;--color-checks-run-border-width:1px;--color-checks-container-border-width:1px;--color-checks-text-primary:#adbac7;--color-checks-text-secondary:#768390;--color-checks-text-link:#539bf5;--color-checks-btn-icon:#636e7b;--color-checks-btn-hover-icon:#adbac7;--color-checks-btn-hover-bg:#444c56;--color-checks-input-text:#768390;--color-checks-input-placeholder-text:#545d68;--color-checks-input-focus-text:#adbac7;--color-checks-input-bg:#22272e;--color-checks-input-shadow:0 0 0 1px #373e47;--color-checks-dropdown-text:#adbac7;--color-checks-dropdown-bg:#323941;--color-checks-dropdown-border:#444c56;--color-checks-dropdown-hover-text:#cdd9e5;--color-checks-dropdown-hover-bg:#316dca;--color-checks-dropdown-btn-hover-text:#cdd9e5;--color-checks-dropdown-btn-hover-bg:#2d333b;--color-checks-scrollbar-thumb-bg:#444c56;--color-checks-header-label-text:#768390;--color-checks-header-label-open-text:#adbac7;--color-checks-header-border:#373e47;--color-checks-header-icon:#636e7b;--color-checks-line-text:#768390;--color-checks-line-num-text:#768390;--color-checks-line-timestamp-text:#768390;--color-checks-line-hover-bg:#2d333b;--color-checks-line-selected-bg:rgba(65,132,228,0.1);--color-checks-line-selected-num-text:#539bf5;--color-checks-line-dt-fm-text:#22272e;--color-checks-line-dt-fm-bg:#c69026;--color-checks-gate-bg:rgba(128,84,0,0.15);--color-checks-gate-text:#768390;--color-checks-gate-waiting-text:#daaa3f;--color-checks-step-header-open-bg:#2d333b;--color-checks-step-error-text:#e5534b;--color-checks-step-warning-text:#daaa3f;--color-checks-logline-text:#636e7b;--color-checks-logline-num-text:#768390;--color-checks-logline-debug-text:#b083f0;--color-checks-logline-error-text:#768390;--color-checks-logline-error-num-text:#768390;--color-checks-logline-error-bg:rgba(229,83,75,0.1);--color-checks-logline-warning-text:#768390;--color-checks-logline-warning-num-text:#daaa3f;--color-checks-logline-warning-bg:rgba(174,124,20,0.1);--color-checks-logline-command-text:#539bf5;--color-checks-logline-section-text:#6bc46d;--color-checks-ansi-black:#22272e;--color-checks-ansi-black-bright:#2d333b;--color-checks-ansi-white:#909dab;--color-checks-ansi-white-bright:#909dab;--color-checks-ansi-gray:#636e7b;--color-checks-ansi-red:#f47067;--color-checks-ansi-red-bright:#ff938a;--color-checks-ansi-green:#57ab5a;--color-checks-ansi-green-bright:#6bc46d;--color-checks-ansi-yellow:#c69026;--color-checks-ansi-yellow-bright:#daaa3f;--color-checks-ansi-blue:#539bf5;--color-checks-ansi-blue-bright:#6cb6ff;--color-checks-ansi-magenta:#b083f0;--color-checks-ansi-magenta-bright:#dcbdfb;--color-checks-ansi-cyan:#76e3ea;--color-checks-ansi-cyan-bright:#b3f0ff;--color-intro-shelf-gradient-left:rgba(65,132,228,0.1);--color-intro-shelf-gradient-right:rgba(70,149,74,0.1);--color-intro-shelf-gradient-in:#22272e;--color-intro-shelf-gradient-out:rgba(34,39,46,0);--color-marketing-icon-primary:#6cb6ff;--color-marketing-icon-secondary:#316dca;--color-prettylights-syntax-comment:#768390;--color-prettylights-syntax-constant:#6cb6ff;--color-prettylights-syntax-entity:#dcbdfb;--color-prettylights-syntax-storage-modifier-import:#adbac7;--color-prettylights-syntax-entity-tag:#8ddb8c;--color-prettylights-syntax-keyword:#f47067;--color-prettylights-syntax-string:#96d0ff;--color-prettylights-syntax-variable:#f69d50;--color-prettylights-syntax-brackethighlighter-unmatched:#e5534b;--color-prettylights-syntax-invalid-illegal-text:#cdd9e5;--color-prettylights-syntax-invalid-illegal-bg:#922323;--color-prettylights-syntax-carriage-return-text:#cdd9e5;--color-prettylights-syntax-carriage-return-bg:#ad2e2c;--color-prettylights-syntax-string-regexp:#8ddb8c;--color-prettylights-syntax-markup-list:#eac55f;--color-prettylights-syntax-markup-heading:#316dca;--color-prettylights-syntax-markup-italic:#adbac7;--color-prettylights-syntax-markup-bold:#adbac7;--color-prettylights-syntax-markup-deleted-text:#ffd8d3;--color-prettylights-syntax-markup-deleted-bg:#78191b;--color-prettylights-syntax-markup-inserted-text:#b4f1b4;--color-prettylights-syntax-markup-inserted-bg:#1b4721;--color-prettylights-syntax-markup-changed-text:#ffddb0;--color-prettylights-syntax-markup-changed-bg:#682d0f;--color-prettylights-syntax-markup-ignored-text:#adbac7;--color-prettylights-syntax-markup-ignored-bg:#255ab2;--color-prettylights-syntax-meta-diff-range:#dcbdfb;--color-prettylights-syntax-brackethighlighter-angle:#768390;--color-prettylights-syntax-sublimelinter-gutter-mark:#545d68;--color-prettylights-syntax-constant-other-reference-link:#96d0ff;--color-codemirror-text:#adbac7;--color-codemirror-bg:#22272e;--color-codemirror-gutters-bg:#22272e;--color-codemirror-guttermarker-text:#22272e;--color-codemirror-guttermarker-subtle-text:#636e7b;--color-codemirror-linenumber-text:#768390;--color-codemirror-cursor:#cdd9e5;--color-codemirror-selection-bg:rgba(108,182,255,0.3);--color-codemirror-activeline-bg:#2d333b;--color-codemirror-matchingbracket-text:#adbac7;--color-codemirror-lines-bg:#22272e;--color-codemirror-syntax-comment:#768390;--color-codemirror-syntax-constant:#6cb6ff;--color-codemirror-syntax-entity:#dcbdfb;--color-codemirror-syntax-keyword:#f47067;--color-codemirror-syntax-storage:#f47067;--color-codemirror-syntax-string:#96d0ff;--color-codemirror-syntax-support:#6cb6ff;--color-codemirror-syntax-variable:#f69d50;--color-ansi-black:#545d68;--color-ansi-black-bright:#636e7b;--color-ansi-white:#909dab;--color-ansi-white-bright:#cdd9e5;--color-ansi-gray:#636e7b;--color-ansi-red:#f47067;--color-ansi-red-bright:#ff938a;--color-ansi-green:#57ab5a;--color-ansi-green-bright:#6bc46d;--color-ansi-yellow:#c69026;--color-ansi-yellow-bright:#daaa3f;--color-ansi-blue:#539bf5;--color-ansi-blue-bright:#6cb6ff;--color-ansi-magenta:#b083f0;--color-ansi-magenta-bright:#dcbdfb;--color-ansi-cyan:#39c5cf;--color-ansi-cyan-bright:#56d4dd}@media (prefers-color-scheme:light){[data-color-mode=auto][data-light-theme=dark_dimmed]{--color-scale-black:#1c2128;--color-scale-white:#cdd9e5;--color-scale-gray-0:#cdd9e5;--color-scale-gray-1:#adbac7;--color-scale-gray-2:#909dab;--color-scale-gray-3:#768390;--color-scale-gray-4:#636e7b;--color-scale-gray-5:#545d68;--color-scale-gray-6:#444c56;--color-scale-gray-7:#373e47;--color-scale-gray-8:#2d333b;--color-scale-gray-9:#22272e;--color-scale-blue-0:#c6e6ff;--color-scale-blue-1:#96d0ff;--color-scale-blue-2:#6cb6ff;--color-scale-blue-3:#539bf5;--color-scale-blue-4:#4184e4;--color-scale-blue-5:#316dca;--color-scale-blue-6:#255ab2;--color-scale-blue-7:#1b4b91;--color-scale-blue-8:#143d79;--color-scale-blue-9:#0f2d5c;--color-scale-green-0:#b4f1b4;--color-scale-green-1:#8ddb8c;--color-scale-green-2:#6bc46d;--color-scale-green-3:#57ab5a;--color-scale-green-4:#46954a;--color-scale-green-5:#347d39;--color-scale-green-6:#2b6a30;--color-scale-green-7:#245829;--color-scale-green-8:#1b4721;--color-scale-green-9:#113417;--color-scale-yellow-0:#fbe090;--color-scale-yellow-1:#eac55f;--color-scale-yellow-2:#daaa3f;--color-scale-yellow-3:#c69026;--color-scale-yellow-4:#ae7c14;--color-scale-yellow-5:#966600;--color-scale-yellow-6:#805400;--color-scale-yellow-7:#6c4400;--color-scale-yellow-8:#593600;--color-scale-yellow-9:#452700;--color-scale-orange-0:#ffddb0;--color-scale-orange-1:#ffbc6f;--color-scale-orange-2:#f69d50;--color-scale-orange-3:#e0823d;--color-scale-orange-4:#cc6b2c;--color-scale-orange-5:#ae5622;--color-scale-orange-6:#94471b;--color-scale-orange-7:#7f3913;--color-scale-orange-8:#682d0f;--color-scale-orange-9:#4d210c;--color-scale-red-0:#ffd8d3;--color-scale-red-1:#ffb8b0;--color-scale-red-2:#ff938a;--color-scale-red-3:#f47067;--color-scale-red-4:#e5534b;--color-scale-red-5:#c93c37;--color-scale-red-6:#ad2e2c;--color-scale-red-7:#922323;--color-scale-red-8:#78191b;--color-scale-red-9:#78191b;--color-scale-purple-0:#eedcff;--color-scale-purple-1:#dcbdfb;--color-scale-purple-2:#dcbdfb;--color-scale-purple-3:#b083f0;--color-scale-purple-4:#986ee2;--color-scale-purple-5:#8256d0;--color-scale-purple-6:#6b44bc;--color-scale-purple-7:#5936a2;--color-scale-purple-8:#472c82;--color-scale-purple-9:#352160;--color-scale-pink-0:#ffd7eb;--color-scale-pink-1:#ffb3d8;--color-scale-pink-2:#fc8dc7;--color-scale-pink-3:#e275ad;--color-scale-pink-4:#c96198;--color-scale-pink-5:#ae4c82;--color-scale-pink-6:#983b6e;--color-scale-pink-7:#7e325a;--color-scale-pink-8:#69264a;--color-scale-pink-9:#551639;--color-auto-black:#cdd9e5;--color-auto-white:#1c2128;--color-auto-gray-0:#22272e;--color-auto-gray-1:#2d333b;--color-auto-gray-2:#373e47;--color-auto-gray-3:#444c56;--color-auto-gray-4:#545d68;--color-auto-gray-5:#636e7b;--color-auto-gray-6:#768390;--color-auto-gray-7:#909dab;--color-auto-gray-8:#adbac7;--color-auto-gray-9:#cdd9e5;--color-auto-blue-0:#0f2d5c;--color-auto-blue-1:#143d79;--color-auto-blue-2:#1b4b91;--color-auto-blue-3:#255ab2;--color-auto-blue-4:#316dca;--color-auto-blue-5:#4184e4;--color-auto-blue-6:#539bf5;--color-auto-blue-7:#6cb6ff;--color-auto-blue-8:#96d0ff;--color-auto-blue-9:#c6e6ff;--color-auto-green-0:#113417;--color-auto-green-1:#1b4721;--color-auto-green-2:#245829;--color-auto-green-3:#2b6a30;--color-auto-green-4:#347d39;--color-auto-green-5:#46954a;--color-auto-green-6:#57ab5a;--color-auto-green-7:#6bc46d;--color-auto-green-8:#8ddb8c;--color-auto-green-9:#b4f1b4;--color-auto-yellow-0:#452700;--color-auto-yellow-1:#593600;--color-auto-yellow-2:#6c4400;--color-auto-yellow-3:#805400;--color-auto-yellow-4:#966600;--color-auto-yellow-5:#ae7c14;--color-auto-yellow-6:#c69026;--color-auto-yellow-7:#daaa3f;--color-auto-yellow-8:#eac55f;--color-auto-yellow-9:#fbe090;--color-auto-orange-0:#4d210c;--color-auto-orange-1:#682d0f;--color-auto-orange-2:#7f3913;--color-auto-orange-3:#94471b;--color-auto-orange-4:#ae5622;--color-auto-orange-5:#cc6b2c;--color-auto-orange-6:#e0823d;--color-auto-orange-7:#f69d50;--color-auto-orange-8:#ffbc6f;--color-auto-orange-9:#ffddb0;--color-auto-red-0:#78191b;--color-auto-red-1:#78191b;--color-auto-red-2:#922323;--color-auto-red-3:#ad2e2c;--color-auto-red-4:#c93c37;--color-auto-red-5:#e5534b;--color-auto-red-6:#f47067;--color-auto-red-7:#ff938a;--color-auto-red-8:#ffb8b0;--color-auto-red-9:#ffd8d3;--color-auto-purple-0:#352160;--color-auto-purple-1:#472c82;--color-auto-purple-2:#5936a2;--color-auto-purple-3:#6b44bc;--color-auto-purple-4:#8256d0;--color-auto-purple-5:#986ee2;--color-auto-purple-6:#b083f0;--color-auto-purple-7:#dcbdfb;--color-auto-purple-8:#dcbdfb;--color-auto-purple-9:#eedcff;--color-auto-pink-0:#551639;--color-auto-pink-1:#69264a;--color-auto-pink-2:#7e325a;--color-auto-pink-3:#983b6e;--color-auto-pink-4:#ae4c82;--color-auto-pink-5:#c96198;--color-auto-pink-6:#e275ad;--color-auto-pink-7:#fc8dc7;--color-auto-pink-8:#ffb3d8;--color-auto-pink-9:#ffd7eb;--color-text-primary:#adbac7;--color-text-secondary:#768390;--color-text-tertiary:#768390;--color-text-placeholder:#545d68;--color-text-disabled:#545d68;--color-text-inverse:#22272e;--color-text-link:#539bf5;--color-text-danger:#e5534b;--color-text-success:#6bc46d;--color-text-warning:#daaa3f;--color-text-white:#cdd9e5;--color-icon-primary:#adbac7;--color-icon-secondary:#636e7b;--color-icon-tertiary:#545d68;--color-icon-info:#539bf5;--color-icon-danger:#e5534b;--color-icon-success:#6bc46d;--color-icon-warning:#daaa3f;--color-border-primary:#444c56;--color-border-secondary:#373e47;--color-border-tertiary:#636e7b;--color-border-overlay:#444c56;--color-border-inverse:#cdd9e5;--color-border-info:rgba(65,132,228,0.4);--color-border-danger:rgba(229,83,75,0.4);--color-border-success:rgba(87,171,90,0.4);--color-border-warning:rgba(174,124,20,0.4);--color-bg-canvas:#22272e;--color-bg-canvas-mobile:#1c2128;--color-bg-canvas-inverse:#cdd9e5;--color-bg-canvas-inset:#1e2329;--color-bg-primary:#22272e;--color-bg-secondary:#22272e;--color-bg-tertiary:#2d333b;--color-bg-overlay:#323941;--color-bg-backdrop:rgba(28,33,40,0.8);--color-bg-info:rgba(65,132,228,0.1);--color-bg-info-inverse:#4184e4;--color-bg-danger:rgba(229,83,75,0.1);--color-bg-danger-inverse:#c93c37;--color-bg-success:rgba(70,149,74,0.1);--color-bg-success-inverse:#46954a;--color-bg-warning:rgba(174,124,20,0.1);--color-bg-warning-inverse:#ae7c14;--color-shadow-small:0 0 transparent;--color-shadow-medium:0 3px 6px #1c2128;--color-shadow-large:0 8px 24px #1c2128;--color-shadow-extra-large:0 12px 48px #1c2128;--color-shadow-highlight:0 0 transparent;--color-shadow-inset:0 0 transparent;--color-state-hover-primary-bg:#316dca;--color-state-hover-primary-border:#4184e4;--color-state-hover-primary-text:#cdd9e5;--color-state-hover-primary-icon:#cdd9e5;--color-state-hover-secondary-bg:#2d333b;--color-state-hover-secondary-border:#2d333b;--color-state-selected-primary-bg:#316dca;--color-state-selected-primary-border:#4184e4;--color-state-selected-primary-text:#cdd9e5;--color-state-selected-primary-icon:#cdd9e5;--color-state-focus-border:#4184e4;--color-state-focus-shadow:0 0 0 3px #143d79;--color-fade-fg-10:rgba(205,217,229,0.1);--color-fade-fg-15:rgba(205,217,229,0.15);--color-fade-fg-30:rgba(205,217,229,0.3);--color-fade-fg-50:rgba(205,217,229,0.5);--color-fade-fg-70:rgba(205,217,229,0.7);--color-fade-fg-85:rgba(205,217,229,0.85);--color-fade-black-10:rgba(28,33,40,0.1);--color-fade-black-15:rgba(28,33,40,0.15);--color-fade-black-30:rgba(28,33,40,0.3);--color-fade-black-50:rgba(28,33,40,0.5);--color-fade-black-70:rgba(28,33,40,0.7);--color-fade-black-85:rgba(28,33,40,0.85);--color-fade-white-10:rgba(205,217,229,0.1);--color-fade-white-15:rgba(205,217,229,0.15);--color-fade-white-30:rgba(205,217,229,0.3);--color-fade-white-50:rgba(205,217,229,0.5);--color-fade-white-70:rgba(205,217,229,0.7);--color-fade-white-85:rgba(205,217,229,0.85);--color-alert-info-text:#6cb6ff;--color-alert-info-icon:#6cb6ff;--color-alert-info-bg:rgba(65,132,228,0.1);--color-alert-info-border:rgba(65,132,228,0.4);--color-alert-warn-text:#daaa3f;--color-alert-warn-icon:#daaa3f;--color-alert-warn-bg:rgba(174,124,20,0.1);--color-alert-warn-border:rgba(174,124,20,0.4);--color-alert-error-text:#f47067;--color-alert-error-icon:#f47067;--color-alert-error-bg:rgba(229,83,75,0.1);--color-alert-error-border:rgba(229,83,75,0.4);--color-alert-success-text:#6bc46d;--color-alert-success-icon:#6bc46d;--color-alert-success-bg:rgba(70,149,74,0.1);--color-alert-success-border:rgba(70,149,74,0.4);--color-autocomplete-shadow:0 16px 32px rgba(28,33,40,0.85);--color-autocomplete-row-border:#444c56;--color-blankslate-icon:#5f6a77;--color-btn-text:#adbac7;--color-btn-bg:#373e47;--color-btn-border:#444c56;--color-btn-shadow:0 0 transparent;--color-btn-inset-shadow:0 0 transparent;--color-btn-hover-bg:#444c56;--color-btn-hover-border:#768390;--color-btn-active-bg:#3d444d;--color-btn-active-border:#636e7b;--color-btn-selected-bg:#2d333b;--color-btn-focus-bg:#373e47;--color-btn-focus-border:#768390;--color-btn-focus-shadow:0 0 0 3px rgba(118,131,144,0.3);--color-btn-shadow-active:inset 0 0.15em 0.3em rgba(28,33,40,0.15);--color-btn-shadow-input-focus:0 0 0 0.2em rgba(49,109,202,0.3);--color-btn-primary-text:#fff;--color-btn-primary-bg:#347d39;--color-btn-primary-border:#46954a;--color-btn-primary-shadow:0 0 transparent;--color-btn-primary-inset-shadow:0 0 transparent;--color-btn-primary-hover-bg:#46954a;--color-btn-primary-hover-border:#57ab5a;--color-btn-primary-selected-bg:#347d39;--color-btn-primary-selected-shadow:0 0 transparent;--color-btn-primary-disabled-text:rgba(205,217,229,0.5);--color-btn-primary-disabled-bg:rgba(52,125,57,0.6);--color-btn-primary-disabled-border:transparent;--color-btn-primary-focus-bg:#347d39;--color-btn-primary-focus-border:#57ab5a;--color-btn-primary-focus-shadow:0 0 0 3px rgba(46,164,79,0.4);--color-btn-primary-icon:#cdd9e5;--color-btn-primary-counter-bg:rgba(205,217,229,0.2);--color-btn-outline-text:#539bf5;--color-btn-outline-hover-text:#539bf5;--color-btn-outline-hover-bg:#444c56;--color-btn-outline-hover-border:#539bf5;--color-btn-outline-hover-shadow:0 1px 0 rgba(28,33,40,0.1);--color-btn-outline-hover-inset-shadow:inset 0 1px 0 rgba(205,217,229,0.03);--color-btn-outline-hover-counter-bg:rgba(205,217,229,0.2);--color-btn-outline-selected-text:#cdd9e5;--color-btn-outline-selected-bg:#1b4b91;--color-btn-outline-selected-border:rgba(205,217,229,0.1);--color-btn-outline-selected-shadow:0 0 transparent;--color-btn-outline-disabled-text:rgba(83,155,245,0.5);--color-btn-outline-disabled-bg:#22272e;--color-btn-outline-disabled-counter-bg:rgba(49,109,202,0.05);--color-btn-outline-focus-border:#539bf5;--color-btn-outline-focus-shadow:0 0 0 3px rgba(37,90,178,0.4);--color-btn-outline-counter-bg:rgba(49,109,202,0.1);--color-btn-danger-text:#e5534b;--color-btn-danger-hover-text:#fff;--color-btn-danger-hover-bg:#c93c37;--color-btn-danger-hover-border:#e5534b;--color-btn-danger-hover-shadow:0 0 transparent;--color-btn-danger-hover-inset-shadow:0 0 transparent;--color-btn-danger-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-danger-selected-text:#fff;--color-btn-danger-selected-bg:#ad2e2c;--color-btn-danger-selected-border:rgba(205,217,229,0.1);--color-btn-danger-selected-shadow:0 0 transparent;--color-btn-danger-disabled-text:rgba(229,83,75,0.5);--color-btn-danger-disabled-bg:#22272e;--color-btn-danger-disabled-counter-bg:rgba(201,60,55,0.05);--color-btn-danger-focus-border:#e5534b;--color-btn-danger-focus-shadow:0 0 0 3px rgba(173,46,44,0.4);--color-btn-danger-counter-bg:rgba(201,60,55,0.1);--color-btn-danger-icon:#e5534b;--color-btn-danger-hover-icon:#cdd9e5;--color-btn-counter-bg:#444c56;--color-counter-text:#adbac7;--color-counter-bg:#444c56;--color-counter-primary-text:#adbac7;--color-counter-primary-bg:#636e7b;--color-counter-secondary-text:#768390;--color-counter-secondary-bg:rgba(118,131,144,0.2);--color-dropdown-shadow:0 16px 32px rgba(28,33,40,0.85);--color-label-border:#444c56;--color-label-primary-text:#909dab;--color-label-primary-border:#636e7b;--color-label-secondary-text:#768390;--color-label-secondary-border:#444c56;--color-label-info-text:#4184e4;--color-label-info-border:rgba(65,132,228,0.4);--color-label-success-text:#57ab5a;--color-label-success-border:rgba(70,149,74,0.4);--color-label-warning-text:#daaa3f;--color-label-warning-border:rgba(242,211,91,0.4);--color-label-danger-text:#e5534b;--color-label-danger-border:rgba(229,83,75,0.4);--color-label-orange-text:#cc6b2c;--color-label-orange-border:rgba(204,107,44,0.4);--color-input-bg:#22272e;--color-input-contrast-bg:rgba(28,33,40,0.5);--color-input-border:#373e47;--color-input-shadow:0 0 transparent;--color-input-disabled-bg:#2d333b;--color-input-disabled-border:#444c56;--color-input-warning-border:#c69026;--color-input-error-border:#e5534b;--color-input-tooltip-success-text:#6bc46d;--color-input-tooltip-success-bg:#263231;--color-input-tooltip-success-border:#335a3b;--color-input-tooltip-warning-text:#daaa3f;--color-input-tooltip-warning-bg:#30302b;--color-input-tooltip-warning-border:#624e22;--color-input-tooltip-error-text:#f47067;--color-input-tooltip-error-bg:#352b31;--color-input-tooltip-error-border:#7c3b3b;--color-avatar-bg:rgba(205,217,229,0.1);--color-avatar-border:rgba(205,217,229,0.1);--color-avatar-stack-fade:#444c56;--color-avatar-stack-fade-more:#373e47;--color-avatar-child-shadow:-2px -2px 0 #22272e;--color-toast-text:#adbac7;--color-toast-bg:#444c56;--color-toast-border:#636e7b;--color-toast-shadow:0 8px 24px #1c2128;--color-toast-icon:#cdd9e5;--color-toast-icon-bg:#316dca;--color-toast-icon-border:#4184e4;--color-toast-success-text:#adbac7;--color-toast-success-border:#636e7b;--color-toast-success-icon:#cdd9e5;--color-toast-success-icon-bg:#46954a;--color-toast-success-icon-border:#57ab5a;--color-toast-warning-text:#adbac7;--color-toast-warning-border:#636e7b;--color-toast-warning-icon:#cdd9e5;--color-toast-warning-icon-bg:#ae7c14;--color-toast-warning-icon-border:#c69026;--color-toast-danger-text:#adbac7;--color-toast-danger-border:#636e7b;--color-toast-danger-icon:#cdd9e5;--color-toast-danger-icon-bg:#c93c37;--color-toast-danger-icon-border:#e5534b;--color-toast-loading-text:#adbac7;--color-toast-loading-border:#636e7b;--color-toast-loading-icon:#cdd9e5;--color-toast-loading-icon-bg:#636e7b;--color-toast-loading-icon-border:#768390;--color-timeline-text:#909dab;--color-timeline-badge-bg:#22272e;--color-timeline-badge-success-border:#46954a;--color-timeline-target-badge-border:#316dca;--color-timeline-target-badge-shadow:#1b4b91;--color-select-menu-border-secondary:#444c56;--color-select-menu-shadow:0 0 18px rgba(28,33,40,0.4);--color-select-menu-backdrop-bg:rgba(28,33,40,0.5);--color-select-menu-backdrop-border:#545d68;--color-select-menu-tap-highlight:rgba(68,76,86,0.5);--color-select-menu-tap-focus-bg:#143d79;--color-box-blue-border:#1b4b91;--color-box-row-yellow-bg:rgba(235,196,64,0.1);--color-box-row-blue-bg:rgba(108,182,255,0.1);--color-box-header-blue-bg:#22272e;--color-box-header-blue-border:#444c56;--color-box-border-info:rgba(65,132,228,0.4);--color-box-bg-info:rgba(65,132,228,0.1);--color-box-border-warning:rgba(174,124,20,0.4);--color-box-bg-warning:rgba(174,124,20,0.1);--color-branch-name-text:#adbac7;--color-branch-name-icon:#909dab;--color-branch-name-bg:rgba(83,155,245,0.1);--color-branch-name-link-text:#539bf5;--color-branch-name-link-icon:#539bf5;--color-branch-name-link-bg:rgba(83,155,245,0.1);--color-markdown-code-bg:rgba(205,217,229,0.15);--color-markdown-frame-border:#4f5864;--color-markdown-blockquote-border:#4f5864;--color-markdown-table-border:#4f5864;--color-markdown-table-tr-border:#3a424a;--color-menu-heading-text:#768390;--color-menu-border-active:#f78166;--color-menu-bg-active:#2d333b;--color-sidenav-selected-bg:#373e47;--color-sidenav-border-active:#f78166;--color-header-text:rgba(205,217,229,0.7);--color-header-bg:#2d333b;--color-header-logo:#cdd9e5;--color-filter-item-bar-bg:#282d34;--color-hidden-text-expander-bg:#373e47;--color-hidden-text-expander-bg-hover:#444c56;--color-drag-and-drop-border:#383f47;--color-upload-enabled-border:#4f5864;--color-upload-enabled-border-focused:#fff;--color-previewable-comment-form-border:#383f47;--color-underlinenav-border:rgba(68,76,86,0);--color-underlinenav-border-hover:#444c56;--color-underlinenav-border-active:#f78166;--color-underlinenav-text:#768390;--color-underlinenav-text-hover:#adbac7;--color-underlinenav-text-active:#adbac7;--color-underlinenav-icon:#636e7b;--color-underlinenav-icon-hover:#adbac7;--color-underlinenav-icon-active:#adbac7;--color-underlinenav-counter-text:#768390;--color-underlinenav-counter-bg:rgba(118,131,144,0.2);--color-verified-badge-text:#57ab5a;--color-verified-badge-bg:rgba(87,171,90,0.1);--color-verified-badge-border:rgba(87,171,90,0.4);--color-social-count-bg:#373e47;--color-tooltip-text:#cdd9e5;--color-tooltip-bg:#636e7b;--color-header-search-bg:#22272e;--color-header-search-border:#373e47;--color-search-keyword-hl:rgba(174,124,20,0.4);--color-diffstat-neutral-bg:#444c56;--color-diffstat-neutral-border:rgba(205,217,229,0.1);--color-diffstat-deletion-bg:#c93c37;--color-diffstat-deletion-border:#e5534b;--color-diffstat-addition-bg:#347d39;--color-diffstat-addition-border:#46954a;--color-mktg-success:#3d8942;--color-mktg-info:#3877d5;--color-mktg-bg-shade-gradient-top:rgba(28,33,40,0.065);--color-mktg-bg-shade-gradient-bottom:rgba(28,33,40,0);--color-mktg-btn-bg-top:#617eef;--color-mktg-btn-bg-bottom:#4969ed;--color-mktg-btn-bg-overlay-top:#4968e4;--color-mktg-btn-bg-overlay-bottom:#3355e0;--color-mktg-btn-text:#cdd9e5;--color-mktg-btn-primary-bg-top:#34b759;--color-mktg-btn-primary-bg-bottom:#2ea44f;--color-mktg-btn-primary-bg-overlay-top:#279b42;--color-mktg-btn-primary-bg-overlay-bottom:#22863a;--color-mktg-btn-primary-text:#cdd9e5;--color-mktg-btn-enterprise-bg-top:#8670ff;--color-mktg-btn-enterprise-bg-bottom:#6f57ff;--color-mktg-btn-enterprise-bg-overlay-top:#7463de;--color-mktg-btn-enterprise-bg-overlay-bottom:#614eda;--color-mktg-btn-enterprise-text:#cdd9e5;--color-mktg-btn-outline-text:#cdd9e5;--color-mktg-btn-outline-border:rgba(205,217,229,0.3);--color-mktg-btn-outline-hover-text:#cdd9e5;--color-mktg-btn-outline-hover-border:rgba(205,217,229,0.5);--color-mktg-btn-outline-focus-border:#cdd9e5;--color-mktg-btn-outline-focus-border-inset:rgba(205,217,229,0.5);--color-mktg-btn-dark-text:#cdd9e5;--color-mktg-btn-dark-border:rgba(205,217,229,0.3);--color-mktg-btn-dark-hover-text:#cdd9e5;--color-mktg-btn-dark-hover-border:rgba(205,217,229,0.5);--color-mktg-btn-dark-focus-border:#cdd9e5;--color-mktg-btn-dark-focus-border-inset:rgba(205,217,229,0.5);--color-files-explorer-icon:#636e7b;--color-hl-author-bg:#0f2d5c;--color-hl-author-border:#1b4b91;--color-logo-subdued:#444c56;--color-discussion-border:#484b49;--color-discussion-bg-success:rgba(70,149,74,0.1);--color-actions-workflow-table-sticky-bg:rgba(34,39,46,0.95);--color-repo-language-color-border:rgba(205,217,229,0.2);--color-code-selection-bg:rgba(108,182,255,0.3);--color-highlight-text:#ffd467;--color-highlight-bg:rgba(204,143,44,0.38);--color-blob-line-highlight-bg:rgba(198,144,38,0.15);--color-blob-line-highlight-border:#daaa3f;--color-diff-addition-text:#6bc46d;--color-diff-addition-bg:rgba(70,149,74,0.2);--color-diff-addition-border:#2b6a30;--color-diff-deletion-text:#e5534b;--color-diff-deletion-bg:rgba(201,60,55,0.2);--color-diff-deletion-border:#ad2e2c;--color-diff-change-text:#daaa3f;--color-diff-change-bg:#452700;--color-diff-change-border:#966600;--color-diff-blob-num-text:rgba(205,217,229,0.3);--color-diff-blob-num-hover-text:rgba(205,217,229,0.6);--color-diff-blob-addition-num-text:#57ab5a;--color-diff-blob-addition-num-hover-text:#8ddb8c;--color-diff-blob-addition-num-bg:rgba(70,149,74,0.1);--color-diff-blob-addition-line-bg:rgba(70,149,74,0.2);--color-diff-blob-addition-word-bg:rgba(70,149,74,0.55);--color-diff-blob-deletion-num-text:#e5534b;--color-diff-blob-deletion-num-hover-text:#ff938a;--color-diff-blob-deletion-num-bg:rgba(201,60,55,0.1);--color-diff-blob-deletion-line-bg:rgba(201,60,55,0.2);--color-diff-blob-deletion-word-bg:rgba(201,60,55,0.5);--color-diff-blob-hunk-text:#768390;--color-diff-blob-hunk-num-bg:rgba(83,155,245,0.15);--color-diff-blob-hunk-line-bg:rgba(83,155,245,0.1);--color-diff-blob-empty-block-bg:#2d333b;--color-diff-blob-selected-line-highlight-bg:rgba(174,124,20,0.1);--color-diff-blob-selected-line-highlight-border:#ae7c14;--color-diff-blob-selected-line-highlight-mix-blend-mode:normal;--color-diff-blob-expander-icon:#768390;--color-diff-blob-expander-hover-icon:#cdd9e5;--color-diff-blob-expander-hover-bg:#316dca;--color-diff-blob-comment-button-icon:#cdd9e5;--color-diff-blob-comment-button-bg:#316dca;--color-diff-blob-comment-button-gradient-bg:#427bd1;--color-global-nav-logo:#cdd9e5;--color-global-nav-bg:#2d333b;--color-global-nav-text:#adbac7;--color-global-nav-icon:#adbac7;--color-global-nav-input-bg:#22272e;--color-global-nav-input-border:#373e47;--color-global-nav-input-icon:#373e47;--color-global-nav-input-placeholder:#545d68;--color-calendar-graph-day-bg:#2d333b;--color-calendar-graph-day-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-1-bg:#0e4429;--color-calendar-graph-day-l-2-bg:#006d32;--color-calendar-graph-day-l-3-bg:#26a641;--color-calendar-graph-day-l-4-bg:#39d353;--color-calendar-graph-day-l-4-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-3-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-2-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-1-border:hsla(0,0%,100%,0.05);--color-footer-invertocat-octicon:#444c56;--color-footer-invertocat-octicon-hover:#636e7b;--color-pr-state-draft-text:#768390;--color-pr-state-draft-bg:rgba(118,131,144,0.1);--color-pr-state-draft-border:rgba(118,131,144,0.4);--color-pr-state-open-text:#57ab5a;--color-pr-state-open-bg:rgba(87,171,90,0.1);--color-pr-state-open-border:rgba(87,171,90,0.4);--color-pr-state-merged-text:#986ee2;--color-pr-state-merged-bg:rgba(176,131,240,0.1);--color-pr-state-merged-border:rgba(176,131,240,0.4);--color-pr-state-closed-text:#e5534b;--color-pr-state-closed-bg:rgba(201,60,55,0.1);--color-pr-state-closed-border:rgba(201,60,55,0.4);--color-topic-tag-text:#539bf5;--color-topic-tag-bg:rgba(65,132,228,0.1);--color-topic-tag-hover-bg:rgba(65,132,228,0.2);--color-topic-tag-active-bg:rgba(65,132,228,0.15);--color-merge-box-success-icon-bg:rgba(70,149,74,0.1);--color-merge-box-success-icon-text:#57ab5a;--color-merge-box-success-icon-border:rgba(70,149,74,0.4);--color-merge-box-success-indicator-bg:#347d39;--color-merge-box-success-indicator-border:#46954a;--color-merge-box-merged-icon-bg:rgba(176,131,240,0.1);--color-merge-box-merged-icon-text:#986ee2;--color-merge-box-merged-icon-border:rgba(176,131,240,0.4);--color-merge-box-merged-box-border:rgba(176,131,240,0.4);--color-merge-box-neutral-icon-bg:rgba(173,186,199,0.1);--color-merge-box-neutral-icon-text:#768390;--color-merge-box-neutral-icon-border:rgba(173,186,199,0.4);--color-merge-box-neutral-indicator-bg:#545d68;--color-merge-box-neutral-indicator-border:#636e7b;--color-merge-box-warning-icon-bg:rgba(174,124,20,0.1);--color-merge-box-warning-icon-text:#daaa3f;--color-merge-box-warning-icon-border:rgba(174,124,20,0.4);--color-merge-box-warning-box-border:rgba(174,124,20,0.4);--color-merge-box-warning-merge-highlight:rgba(174,124,20,0.1);--color-merge-box-error-icon-bg:rgba(229,83,75,0.1);--color-merge-box-error-icon-text:#e5534b;--color-merge-box-error-icon-border:rgba(229,83,75,0.4);--color-merge-box-error-indicator-bg:#c93c37;--color-merge-box-error-indicator-border:#e5534b;--color-project-card-bg:#2d333b;--color-project-header-bg:#22272e;--color-project-sidebar-bg:#2d333b;--color-project-gradient-in:#2d333b;--color-project-gradient-out:rgba(45,51,59,0);--color-checks-bg:#1e2329;--color-checks-run-border-width:1px;--color-checks-container-border-width:1px;--color-checks-text-primary:#adbac7;--color-checks-text-secondary:#768390;--color-checks-text-link:#539bf5;--color-checks-btn-icon:#636e7b;--color-checks-btn-hover-icon:#adbac7;--color-checks-btn-hover-bg:#444c56;--color-checks-input-text:#768390;--color-checks-input-placeholder-text:#545d68;--color-checks-input-focus-text:#adbac7;--color-checks-input-bg:#22272e;--color-checks-input-shadow:0 0 0 1px #373e47;--color-checks-dropdown-text:#adbac7;--color-checks-dropdown-bg:#323941;--color-checks-dropdown-border:#444c56;--color-checks-dropdown-hover-text:#cdd9e5;--color-checks-dropdown-hover-bg:#316dca;--color-checks-dropdown-btn-hover-text:#cdd9e5;--color-checks-dropdown-btn-hover-bg:#2d333b;--color-checks-scrollbar-thumb-bg:#444c56;--color-checks-header-label-text:#768390;--color-checks-header-label-open-text:#adbac7;--color-checks-header-border:#373e47;--color-checks-header-icon:#636e7b;--color-checks-line-text:#768390;--color-checks-line-num-text:#768390;--color-checks-line-timestamp-text:#768390;--color-checks-line-hover-bg:#2d333b;--color-checks-line-selected-bg:rgba(65,132,228,0.1);--color-checks-line-selected-num-text:#539bf5;--color-checks-line-dt-fm-text:#22272e;--color-checks-line-dt-fm-bg:#c69026;--color-checks-gate-bg:rgba(128,84,0,0.15);--color-checks-gate-text:#768390;--color-checks-gate-waiting-text:#daaa3f;--color-checks-step-header-open-bg:#2d333b;--color-checks-step-error-text:#e5534b;--color-checks-step-warning-text:#daaa3f;--color-checks-logline-text:#636e7b;--color-checks-logline-num-text:#768390;--color-checks-logline-debug-text:#b083f0;--color-checks-logline-error-text:#768390;--color-checks-logline-error-num-text:#768390;--color-checks-logline-error-bg:rgba(229,83,75,0.1);--color-checks-logline-warning-text:#768390;--color-checks-logline-warning-num-text:#daaa3f;--color-checks-logline-warning-bg:rgba(174,124,20,0.1);--color-checks-logline-command-text:#539bf5;--color-checks-logline-section-text:#6bc46d;--color-checks-ansi-black:#22272e;--color-checks-ansi-black-bright:#2d333b;--color-checks-ansi-white:#909dab;--color-checks-ansi-white-bright:#909dab;--color-checks-ansi-gray:#636e7b;--color-checks-ansi-red:#f47067;--color-checks-ansi-red-bright:#ff938a;--color-checks-ansi-green:#57ab5a;--color-checks-ansi-green-bright:#6bc46d;--color-checks-ansi-yellow:#c69026;--color-checks-ansi-yellow-bright:#daaa3f;--color-checks-ansi-blue:#539bf5;--color-checks-ansi-blue-bright:#6cb6ff;--color-checks-ansi-magenta:#b083f0;--color-checks-ansi-magenta-bright:#dcbdfb;--color-checks-ansi-cyan:#76e3ea;--color-checks-ansi-cyan-bright:#b3f0ff;--color-intro-shelf-gradient-left:rgba(65,132,228,0.1);--color-intro-shelf-gradient-right:rgba(70,149,74,0.1);--color-intro-shelf-gradient-in:#22272e;--color-intro-shelf-gradient-out:rgba(34,39,46,0);--color-marketing-icon-primary:#6cb6ff;--color-marketing-icon-secondary:#316dca;--color-prettylights-syntax-comment:#768390;--color-prettylights-syntax-constant:#6cb6ff;--color-prettylights-syntax-entity:#dcbdfb;--color-prettylights-syntax-storage-modifier-import:#adbac7;--color-prettylights-syntax-entity-tag:#8ddb8c;--color-prettylights-syntax-keyword:#f47067;--color-prettylights-syntax-string:#96d0ff;--color-prettylights-syntax-variable:#f69d50;--color-prettylights-syntax-brackethighlighter-unmatched:#e5534b;--color-prettylights-syntax-invalid-illegal-text:#cdd9e5;--color-prettylights-syntax-invalid-illegal-bg:#922323;--color-prettylights-syntax-carriage-return-text:#cdd9e5;--color-prettylights-syntax-carriage-return-bg:#ad2e2c;--color-prettylights-syntax-string-regexp:#8ddb8c;--color-prettylights-syntax-markup-list:#eac55f;--color-prettylights-syntax-markup-heading:#316dca;--color-prettylights-syntax-markup-italic:#adbac7;--color-prettylights-syntax-markup-bold:#adbac7;--color-prettylights-syntax-markup-deleted-text:#ffd8d3;--color-prettylights-syntax-markup-deleted-bg:#78191b;--color-prettylights-syntax-markup-inserted-text:#b4f1b4;--color-prettylights-syntax-markup-inserted-bg:#1b4721;--color-prettylights-syntax-markup-changed-text:#ffddb0;--color-prettylights-syntax-markup-changed-bg:#682d0f;--color-prettylights-syntax-markup-ignored-text:#adbac7;--color-prettylights-syntax-markup-ignored-bg:#255ab2;--color-prettylights-syntax-meta-diff-range:#dcbdfb;--color-prettylights-syntax-brackethighlighter-angle:#768390;--color-prettylights-syntax-sublimelinter-gutter-mark:#545d68;--color-prettylights-syntax-constant-other-reference-link:#96d0ff;--color-codemirror-text:#adbac7;--color-codemirror-bg:#22272e;--color-codemirror-gutters-bg:#22272e;--color-codemirror-guttermarker-text:#22272e;--color-codemirror-guttermarker-subtle-text:#636e7b;--color-codemirror-linenumber-text:#768390;--color-codemirror-cursor:#cdd9e5;--color-codemirror-selection-bg:rgba(108,182,255,0.3);--color-codemirror-activeline-bg:#2d333b;--color-codemirror-matchingbracket-text:#adbac7;--color-codemirror-lines-bg:#22272e;--color-codemirror-syntax-comment:#768390;--color-codemirror-syntax-constant:#6cb6ff;--color-codemirror-syntax-entity:#dcbdfb;--color-codemirror-syntax-keyword:#f47067;--color-codemirror-syntax-storage:#f47067;--color-codemirror-syntax-string:#96d0ff;--color-codemirror-syntax-support:#6cb6ff;--color-codemirror-syntax-variable:#f69d50;--color-ansi-black:#545d68;--color-ansi-black-bright:#636e7b;--color-ansi-white:#909dab;--color-ansi-white-bright:#cdd9e5;--color-ansi-gray:#636e7b;--color-ansi-red:#f47067;--color-ansi-red-bright:#ff938a;--color-ansi-green:#57ab5a;--color-ansi-green-bright:#6bc46d;--color-ansi-yellow:#c69026;--color-ansi-yellow-bright:#daaa3f;--color-ansi-blue:#539bf5;--color-ansi-blue-bright:#6cb6ff;--color-ansi-magenta:#b083f0;--color-ansi-magenta-bright:#dcbdfb;--color-ansi-cyan:#39c5cf;--color-ansi-cyan-bright:#56d4dd}}@media (prefers-color-scheme:dark){[data-color-mode=auto][data-dark-theme=dark_dimmed]{--color-scale-black:#1c2128;--color-scale-white:#cdd9e5;--color-scale-gray-0:#cdd9e5;--color-scale-gray-1:#adbac7;--color-scale-gray-2:#909dab;--color-scale-gray-3:#768390;--color-scale-gray-4:#636e7b;--color-scale-gray-5:#545d68;--color-scale-gray-6:#444c56;--color-scale-gray-7:#373e47;--color-scale-gray-8:#2d333b;--color-scale-gray-9:#22272e;--color-scale-blue-0:#c6e6ff;--color-scale-blue-1:#96d0ff;--color-scale-blue-2:#6cb6ff;--color-scale-blue-3:#539bf5;--color-scale-blue-4:#4184e4;--color-scale-blue-5:#316dca;--color-scale-blue-6:#255ab2;--color-scale-blue-7:#1b4b91;--color-scale-blue-8:#143d79;--color-scale-blue-9:#0f2d5c;--color-scale-green-0:#b4f1b4;--color-scale-green-1:#8ddb8c;--color-scale-green-2:#6bc46d;--color-scale-green-3:#57ab5a;--color-scale-green-4:#46954a;--color-scale-green-5:#347d39;--color-scale-green-6:#2b6a30;--color-scale-green-7:#245829;--color-scale-green-8:#1b4721;--color-scale-green-9:#113417;--color-scale-yellow-0:#fbe090;--color-scale-yellow-1:#eac55f;--color-scale-yellow-2:#daaa3f;--color-scale-yellow-3:#c69026;--color-scale-yellow-4:#ae7c14;--color-scale-yellow-5:#966600;--color-scale-yellow-6:#805400;--color-scale-yellow-7:#6c4400;--color-scale-yellow-8:#593600;--color-scale-yellow-9:#452700;--color-scale-orange-0:#ffddb0;--color-scale-orange-1:#ffbc6f;--color-scale-orange-2:#f69d50;--color-scale-orange-3:#e0823d;--color-scale-orange-4:#cc6b2c;--color-scale-orange-5:#ae5622;--color-scale-orange-6:#94471b;--color-scale-orange-7:#7f3913;--color-scale-orange-8:#682d0f;--color-scale-orange-9:#4d210c;--color-scale-red-0:#ffd8d3;--color-scale-red-1:#ffb8b0;--color-scale-red-2:#ff938a;--color-scale-red-3:#f47067;--color-scale-red-4:#e5534b;--color-scale-red-5:#c93c37;--color-scale-red-6:#ad2e2c;--color-scale-red-7:#922323;--color-scale-red-8:#78191b;--color-scale-red-9:#78191b;--color-scale-purple-0:#eedcff;--color-scale-purple-1:#dcbdfb;--color-scale-purple-2:#dcbdfb;--color-scale-purple-3:#b083f0;--color-scale-purple-4:#986ee2;--color-scale-purple-5:#8256d0;--color-scale-purple-6:#6b44bc;--color-scale-purple-7:#5936a2;--color-scale-purple-8:#472c82;--color-scale-purple-9:#352160;--color-scale-pink-0:#ffd7eb;--color-scale-pink-1:#ffb3d8;--color-scale-pink-2:#fc8dc7;--color-scale-pink-3:#e275ad;--color-scale-pink-4:#c96198;--color-scale-pink-5:#ae4c82;--color-scale-pink-6:#983b6e;--color-scale-pink-7:#7e325a;--color-scale-pink-8:#69264a;--color-scale-pink-9:#551639;--color-auto-black:#cdd9e5;--color-auto-white:#1c2128;--color-auto-gray-0:#22272e;--color-auto-gray-1:#2d333b;--color-auto-gray-2:#373e47;--color-auto-gray-3:#444c56;--color-auto-gray-4:#545d68;--color-auto-gray-5:#636e7b;--color-auto-gray-6:#768390;--color-auto-gray-7:#909dab;--color-auto-gray-8:#adbac7;--color-auto-gray-9:#cdd9e5;--color-auto-blue-0:#0f2d5c;--color-auto-blue-1:#143d79;--color-auto-blue-2:#1b4b91;--color-auto-blue-3:#255ab2;--color-auto-blue-4:#316dca;--color-auto-blue-5:#4184e4;--color-auto-blue-6:#539bf5;--color-auto-blue-7:#6cb6ff;--color-auto-blue-8:#96d0ff;--color-auto-blue-9:#c6e6ff;--color-auto-green-0:#113417;--color-auto-green-1:#1b4721;--color-auto-green-2:#245829;--color-auto-green-3:#2b6a30;--color-auto-green-4:#347d39;--color-auto-green-5:#46954a;--color-auto-green-6:#57ab5a;--color-auto-green-7:#6bc46d;--color-auto-green-8:#8ddb8c;--color-auto-green-9:#b4f1b4;--color-auto-yellow-0:#452700;--color-auto-yellow-1:#593600;--color-auto-yellow-2:#6c4400;--color-auto-yellow-3:#805400;--color-auto-yellow-4:#966600;--color-auto-yellow-5:#ae7c14;--color-auto-yellow-6:#c69026;--color-auto-yellow-7:#daaa3f;--color-auto-yellow-8:#eac55f;--color-auto-yellow-9:#fbe090;--color-auto-orange-0:#4d210c;--color-auto-orange-1:#682d0f;--color-auto-orange-2:#7f3913;--color-auto-orange-3:#94471b;--color-auto-orange-4:#ae5622;--color-auto-orange-5:#cc6b2c;--color-auto-orange-6:#e0823d;--color-auto-orange-7:#f69d50;--color-auto-orange-8:#ffbc6f;--color-auto-orange-9:#ffddb0;--color-auto-red-0:#78191b;--color-auto-red-1:#78191b;--color-auto-red-2:#922323;--color-auto-red-3:#ad2e2c;--color-auto-red-4:#c93c37;--color-auto-red-5:#e5534b;--color-auto-red-6:#f47067;--color-auto-red-7:#ff938a;--color-auto-red-8:#ffb8b0;--color-auto-red-9:#ffd8d3;--color-auto-purple-0:#352160;--color-auto-purple-1:#472c82;--color-auto-purple-2:#5936a2;--color-auto-purple-3:#6b44bc;--color-auto-purple-4:#8256d0;--color-auto-purple-5:#986ee2;--color-auto-purple-6:#b083f0;--color-auto-purple-7:#dcbdfb;--color-auto-purple-8:#dcbdfb;--color-auto-purple-9:#eedcff;--color-auto-pink-0:#551639;--color-auto-pink-1:#69264a;--color-auto-pink-2:#7e325a;--color-auto-pink-3:#983b6e;--color-auto-pink-4:#ae4c82;--color-auto-pink-5:#c96198;--color-auto-pink-6:#e275ad;--color-auto-pink-7:#fc8dc7;--color-auto-pink-8:#ffb3d8;--color-auto-pink-9:#ffd7eb;--color-text-primary:#adbac7;--color-text-secondary:#768390;--color-text-tertiary:#768390;--color-text-placeholder:#545d68;--color-text-disabled:#545d68;--color-text-inverse:#22272e;--color-text-link:#539bf5;--color-text-danger:#e5534b;--color-text-success:#6bc46d;--color-text-warning:#daaa3f;--color-text-white:#cdd9e5;--color-icon-primary:#adbac7;--color-icon-secondary:#636e7b;--color-icon-tertiary:#545d68;--color-icon-info:#539bf5;--color-icon-danger:#e5534b;--color-icon-success:#6bc46d;--color-icon-warning:#daaa3f;--color-border-primary:#444c56;--color-border-secondary:#373e47;--color-border-tertiary:#636e7b;--color-border-overlay:#444c56;--color-border-inverse:#cdd9e5;--color-border-info:rgba(65,132,228,0.4);--color-border-danger:rgba(229,83,75,0.4);--color-border-success:rgba(87,171,90,0.4);--color-border-warning:rgba(174,124,20,0.4);--color-bg-canvas:#22272e;--color-bg-canvas-mobile:#1c2128;--color-bg-canvas-inverse:#cdd9e5;--color-bg-canvas-inset:#1e2329;--color-bg-primary:#22272e;--color-bg-secondary:#22272e;--color-bg-tertiary:#2d333b;--color-bg-overlay:#323941;--color-bg-backdrop:rgba(28,33,40,0.8);--color-bg-info:rgba(65,132,228,0.1);--color-bg-info-inverse:#4184e4;--color-bg-danger:rgba(229,83,75,0.1);--color-bg-danger-inverse:#c93c37;--color-bg-success:rgba(70,149,74,0.1);--color-bg-success-inverse:#46954a;--color-bg-warning:rgba(174,124,20,0.1);--color-bg-warning-inverse:#ae7c14;--color-shadow-small:0 0 transparent;--color-shadow-medium:0 3px 6px #1c2128;--color-shadow-large:0 8px 24px #1c2128;--color-shadow-extra-large:0 12px 48px #1c2128;--color-shadow-highlight:0 0 transparent;--color-shadow-inset:0 0 transparent;--color-state-hover-primary-bg:#316dca;--color-state-hover-primary-border:#4184e4;--color-state-hover-primary-text:#cdd9e5;--color-state-hover-primary-icon:#cdd9e5;--color-state-hover-secondary-bg:#2d333b;--color-state-hover-secondary-border:#2d333b;--color-state-selected-primary-bg:#316dca;--color-state-selected-primary-border:#4184e4;--color-state-selected-primary-text:#cdd9e5;--color-state-selected-primary-icon:#cdd9e5;--color-state-focus-border:#4184e4;--color-state-focus-shadow:0 0 0 3px #143d79;--color-fade-fg-10:rgba(205,217,229,0.1);--color-fade-fg-15:rgba(205,217,229,0.15);--color-fade-fg-30:rgba(205,217,229,0.3);--color-fade-fg-50:rgba(205,217,229,0.5);--color-fade-fg-70:rgba(205,217,229,0.7);--color-fade-fg-85:rgba(205,217,229,0.85);--color-fade-black-10:rgba(28,33,40,0.1);--color-fade-black-15:rgba(28,33,40,0.15);--color-fade-black-30:rgba(28,33,40,0.3);--color-fade-black-50:rgba(28,33,40,0.5);--color-fade-black-70:rgba(28,33,40,0.7);--color-fade-black-85:rgba(28,33,40,0.85);--color-fade-white-10:rgba(205,217,229,0.1);--color-fade-white-15:rgba(205,217,229,0.15);--color-fade-white-30:rgba(205,217,229,0.3);--color-fade-white-50:rgba(205,217,229,0.5);--color-fade-white-70:rgba(205,217,229,0.7);--color-fade-white-85:rgba(205,217,229,0.85);--color-alert-info-text:#6cb6ff;--color-alert-info-icon:#6cb6ff;--color-alert-info-bg:rgba(65,132,228,0.1);--color-alert-info-border:rgba(65,132,228,0.4);--color-alert-warn-text:#daaa3f;--color-alert-warn-icon:#daaa3f;--color-alert-warn-bg:rgba(174,124,20,0.1);--color-alert-warn-border:rgba(174,124,20,0.4);--color-alert-error-text:#f47067;--color-alert-error-icon:#f47067;--color-alert-error-bg:rgba(229,83,75,0.1);--color-alert-error-border:rgba(229,83,75,0.4);--color-alert-success-text:#6bc46d;--color-alert-success-icon:#6bc46d;--color-alert-success-bg:rgba(70,149,74,0.1);--color-alert-success-border:rgba(70,149,74,0.4);--color-autocomplete-shadow:0 16px 32px rgba(28,33,40,0.85);--color-autocomplete-row-border:#444c56;--color-blankslate-icon:#5f6a77;--color-btn-text:#adbac7;--color-btn-bg:#373e47;--color-btn-border:#444c56;--color-btn-shadow:0 0 transparent;--color-btn-inset-shadow:0 0 transparent;--color-btn-hover-bg:#444c56;--color-btn-hover-border:#768390;--color-btn-active-bg:#3d444d;--color-btn-active-border:#636e7b;--color-btn-selected-bg:#2d333b;--color-btn-focus-bg:#373e47;--color-btn-focus-border:#768390;--color-btn-focus-shadow:0 0 0 3px rgba(118,131,144,0.3);--color-btn-shadow-active:inset 0 0.15em 0.3em rgba(28,33,40,0.15);--color-btn-shadow-input-focus:0 0 0 0.2em rgba(49,109,202,0.3);--color-btn-primary-text:#fff;--color-btn-primary-bg:#347d39;--color-btn-primary-border:#46954a;--color-btn-primary-shadow:0 0 transparent;--color-btn-primary-inset-shadow:0 0 transparent;--color-btn-primary-hover-bg:#46954a;--color-btn-primary-hover-border:#57ab5a;--color-btn-primary-selected-bg:#347d39;--color-btn-primary-selected-shadow:0 0 transparent;--color-btn-primary-disabled-text:rgba(205,217,229,0.5);--color-btn-primary-disabled-bg:rgba(52,125,57,0.6);--color-btn-primary-disabled-border:transparent;--color-btn-primary-focus-bg:#347d39;--color-btn-primary-focus-border:#57ab5a;--color-btn-primary-focus-shadow:0 0 0 3px rgba(46,164,79,0.4);--color-btn-primary-icon:#cdd9e5;--color-btn-primary-counter-bg:rgba(205,217,229,0.2);--color-btn-outline-text:#539bf5;--color-btn-outline-hover-text:#539bf5;--color-btn-outline-hover-bg:#444c56;--color-btn-outline-hover-border:#539bf5;--color-btn-outline-hover-shadow:0 1px 0 rgba(28,33,40,0.1);--color-btn-outline-hover-inset-shadow:inset 0 1px 0 rgba(205,217,229,0.03);--color-btn-outline-hover-counter-bg:rgba(205,217,229,0.2);--color-btn-outline-selected-text:#cdd9e5;--color-btn-outline-selected-bg:#1b4b91;--color-btn-outline-selected-border:rgba(205,217,229,0.1);--color-btn-outline-selected-shadow:0 0 transparent;--color-btn-outline-disabled-text:rgba(83,155,245,0.5);--color-btn-outline-disabled-bg:#22272e;--color-btn-outline-disabled-counter-bg:rgba(49,109,202,0.05);--color-btn-outline-focus-border:#539bf5;--color-btn-outline-focus-shadow:0 0 0 3px rgba(37,90,178,0.4);--color-btn-outline-counter-bg:rgba(49,109,202,0.1);--color-btn-danger-text:#e5534b;--color-btn-danger-hover-text:#fff;--color-btn-danger-hover-bg:#c93c37;--color-btn-danger-hover-border:#e5534b;--color-btn-danger-hover-shadow:0 0 transparent;--color-btn-danger-hover-inset-shadow:0 0 transparent;--color-btn-danger-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-danger-selected-text:#fff;--color-btn-danger-selected-bg:#ad2e2c;--color-btn-danger-selected-border:rgba(205,217,229,0.1);--color-btn-danger-selected-shadow:0 0 transparent;--color-btn-danger-disabled-text:rgba(229,83,75,0.5);--color-btn-danger-disabled-bg:#22272e;--color-btn-danger-disabled-counter-bg:rgba(201,60,55,0.05);--color-btn-danger-focus-border:#e5534b;--color-btn-danger-focus-shadow:0 0 0 3px rgba(173,46,44,0.4);--color-btn-danger-counter-bg:rgba(201,60,55,0.1);--color-btn-danger-icon:#e5534b;--color-btn-danger-hover-icon:#cdd9e5;--color-btn-counter-bg:#444c56;--color-counter-text:#adbac7;--color-counter-bg:#444c56;--color-counter-primary-text:#adbac7;--color-counter-primary-bg:#636e7b;--color-counter-secondary-text:#768390;--color-counter-secondary-bg:rgba(118,131,144,0.2);--color-dropdown-shadow:0 16px 32px rgba(28,33,40,0.85);--color-label-border:#444c56;--color-label-primary-text:#909dab;--color-label-primary-border:#636e7b;--color-label-secondary-text:#768390;--color-label-secondary-border:#444c56;--color-label-info-text:#4184e4;--color-label-info-border:rgba(65,132,228,0.4);--color-label-success-text:#57ab5a;--color-label-success-border:rgba(70,149,74,0.4);--color-label-warning-text:#daaa3f;--color-label-warning-border:rgba(242,211,91,0.4);--color-label-danger-text:#e5534b;--color-label-danger-border:rgba(229,83,75,0.4);--color-label-orange-text:#cc6b2c;--color-label-orange-border:rgba(204,107,44,0.4);--color-input-bg:#22272e;--color-input-contrast-bg:rgba(28,33,40,0.5);--color-input-border:#373e47;--color-input-shadow:0 0 transparent;--color-input-disabled-bg:#2d333b;--color-input-disabled-border:#444c56;--color-input-warning-border:#c69026;--color-input-error-border:#e5534b;--color-input-tooltip-success-text:#6bc46d;--color-input-tooltip-success-bg:#263231;--color-input-tooltip-success-border:#335a3b;--color-input-tooltip-warning-text:#daaa3f;--color-input-tooltip-warning-bg:#30302b;--color-input-tooltip-warning-border:#624e22;--color-input-tooltip-error-text:#f47067;--color-input-tooltip-error-bg:#352b31;--color-input-tooltip-error-border:#7c3b3b;--color-avatar-bg:rgba(205,217,229,0.1);--color-avatar-border:rgba(205,217,229,0.1);--color-avatar-stack-fade:#444c56;--color-avatar-stack-fade-more:#373e47;--color-avatar-child-shadow:-2px -2px 0 #22272e;--color-toast-text:#adbac7;--color-toast-bg:#444c56;--color-toast-border:#636e7b;--color-toast-shadow:0 8px 24px #1c2128;--color-toast-icon:#cdd9e5;--color-toast-icon-bg:#316dca;--color-toast-icon-border:#4184e4;--color-toast-success-text:#adbac7;--color-toast-success-border:#636e7b;--color-toast-success-icon:#cdd9e5;--color-toast-success-icon-bg:#46954a;--color-toast-success-icon-border:#57ab5a;--color-toast-warning-text:#adbac7;--color-toast-warning-border:#636e7b;--color-toast-warning-icon:#cdd9e5;--color-toast-warning-icon-bg:#ae7c14;--color-toast-warning-icon-border:#c69026;--color-toast-danger-text:#adbac7;--color-toast-danger-border:#636e7b;--color-toast-danger-icon:#cdd9e5;--color-toast-danger-icon-bg:#c93c37;--color-toast-danger-icon-border:#e5534b;--color-toast-loading-text:#adbac7;--color-toast-loading-border:#636e7b;--color-toast-loading-icon:#cdd9e5;--color-toast-loading-icon-bg:#636e7b;--color-toast-loading-icon-border:#768390;--color-timeline-text:#909dab;--color-timeline-badge-bg:#22272e;--color-timeline-badge-success-border:#46954a;--color-timeline-target-badge-border:#316dca;--color-timeline-target-badge-shadow:#1b4b91;--color-select-menu-border-secondary:#444c56;--color-select-menu-shadow:0 0 18px rgba(28,33,40,0.4);--color-select-menu-backdrop-bg:rgba(28,33,40,0.5);--color-select-menu-backdrop-border:#545d68;--color-select-menu-tap-highlight:rgba(68,76,86,0.5);--color-select-menu-tap-focus-bg:#143d79;--color-box-blue-border:#1b4b91;--color-box-row-yellow-bg:rgba(235,196,64,0.1);--color-box-row-blue-bg:rgba(108,182,255,0.1);--color-box-header-blue-bg:#22272e;--color-box-header-blue-border:#444c56;--color-box-border-info:rgba(65,132,228,0.4);--color-box-bg-info:rgba(65,132,228,0.1);--color-box-border-warning:rgba(174,124,20,0.4);--color-box-bg-warning:rgba(174,124,20,0.1);--color-branch-name-text:#adbac7;--color-branch-name-icon:#909dab;--color-branch-name-bg:rgba(83,155,245,0.1);--color-branch-name-link-text:#539bf5;--color-branch-name-link-icon:#539bf5;--color-branch-name-link-bg:rgba(83,155,245,0.1);--color-markdown-code-bg:rgba(205,217,229,0.15);--color-markdown-frame-border:#4f5864;--color-markdown-blockquote-border:#4f5864;--color-markdown-table-border:#4f5864;--color-markdown-table-tr-border:#3a424a;--color-menu-heading-text:#768390;--color-menu-border-active:#f78166;--color-menu-bg-active:#2d333b;--color-sidenav-selected-bg:#373e47;--color-sidenav-border-active:#f78166;--color-header-text:rgba(205,217,229,0.7);--color-header-bg:#2d333b;--color-header-logo:#cdd9e5;--color-filter-item-bar-bg:#282d34;--color-hidden-text-expander-bg:#373e47;--color-hidden-text-expander-bg-hover:#444c56;--color-drag-and-drop-border:#383f47;--color-upload-enabled-border:#4f5864;--color-upload-enabled-border-focused:#fff;--color-previewable-comment-form-border:#383f47;--color-underlinenav-border:rgba(68,76,86,0);--color-underlinenav-border-hover:#444c56;--color-underlinenav-border-active:#f78166;--color-underlinenav-text:#768390;--color-underlinenav-text-hover:#adbac7;--color-underlinenav-text-active:#adbac7;--color-underlinenav-icon:#636e7b;--color-underlinenav-icon-hover:#adbac7;--color-underlinenav-icon-active:#adbac7;--color-underlinenav-counter-text:#768390;--color-underlinenav-counter-bg:rgba(118,131,144,0.2);--color-verified-badge-text:#57ab5a;--color-verified-badge-bg:rgba(87,171,90,0.1);--color-verified-badge-border:rgba(87,171,90,0.4);--color-social-count-bg:#373e47;--color-tooltip-text:#cdd9e5;--color-tooltip-bg:#636e7b;--color-header-search-bg:#22272e;--color-header-search-border:#373e47;--color-search-keyword-hl:rgba(174,124,20,0.4);--color-diffstat-neutral-bg:#444c56;--color-diffstat-neutral-border:rgba(205,217,229,0.1);--color-diffstat-deletion-bg:#c93c37;--color-diffstat-deletion-border:#e5534b;--color-diffstat-addition-bg:#347d39;--color-diffstat-addition-border:#46954a;--color-mktg-success:#3d8942;--color-mktg-info:#3877d5;--color-mktg-bg-shade-gradient-top:rgba(28,33,40,0.065);--color-mktg-bg-shade-gradient-bottom:rgba(28,33,40,0);--color-mktg-btn-bg-top:#617eef;--color-mktg-btn-bg-bottom:#4969ed;--color-mktg-btn-bg-overlay-top:#4968e4;--color-mktg-btn-bg-overlay-bottom:#3355e0;--color-mktg-btn-text:#cdd9e5;--color-mktg-btn-primary-bg-top:#34b759;--color-mktg-btn-primary-bg-bottom:#2ea44f;--color-mktg-btn-primary-bg-overlay-top:#279b42;--color-mktg-btn-primary-bg-overlay-bottom:#22863a;--color-mktg-btn-primary-text:#cdd9e5;--color-mktg-btn-enterprise-bg-top:#8670ff;--color-mktg-btn-enterprise-bg-bottom:#6f57ff;--color-mktg-btn-enterprise-bg-overlay-top:#7463de;--color-mktg-btn-enterprise-bg-overlay-bottom:#614eda;--color-mktg-btn-enterprise-text:#cdd9e5;--color-mktg-btn-outline-text:#cdd9e5;--color-mktg-btn-outline-border:rgba(205,217,229,0.3);--color-mktg-btn-outline-hover-text:#cdd9e5;--color-mktg-btn-outline-hover-border:rgba(205,217,229,0.5);--color-mktg-btn-outline-focus-border:#cdd9e5;--color-mktg-btn-outline-focus-border-inset:rgba(205,217,229,0.5);--color-mktg-btn-dark-text:#cdd9e5;--color-mktg-btn-dark-border:rgba(205,217,229,0.3);--color-mktg-btn-dark-hover-text:#cdd9e5;--color-mktg-btn-dark-hover-border:rgba(205,217,229,0.5);--color-mktg-btn-dark-focus-border:#cdd9e5;--color-mktg-btn-dark-focus-border-inset:rgba(205,217,229,0.5);--color-files-explorer-icon:#636e7b;--color-hl-author-bg:#0f2d5c;--color-hl-author-border:#1b4b91;--color-logo-subdued:#444c56;--color-discussion-border:#484b49;--color-discussion-bg-success:rgba(70,149,74,0.1);--color-actions-workflow-table-sticky-bg:rgba(34,39,46,0.95);--color-repo-language-color-border:rgba(205,217,229,0.2);--color-code-selection-bg:rgba(108,182,255,0.3);--color-highlight-text:#ffd467;--color-highlight-bg:rgba(204,143,44,0.38);--color-blob-line-highlight-bg:rgba(198,144,38,0.15);--color-blob-line-highlight-border:#daaa3f;--color-diff-addition-text:#6bc46d;--color-diff-addition-bg:rgba(70,149,74,0.2);--color-diff-addition-border:#2b6a30;--color-diff-deletion-text:#e5534b;--color-diff-deletion-bg:rgba(201,60,55,0.2);--color-diff-deletion-border:#ad2e2c;--color-diff-change-text:#daaa3f;--color-diff-change-bg:#452700;--color-diff-change-border:#966600;--color-diff-blob-num-text:rgba(205,217,229,0.3);--color-diff-blob-num-hover-text:rgba(205,217,229,0.6);--color-diff-blob-addition-num-text:#57ab5a;--color-diff-blob-addition-num-hover-text:#8ddb8c;--color-diff-blob-addition-num-bg:rgba(70,149,74,0.1);--color-diff-blob-addition-line-bg:rgba(70,149,74,0.2);--color-diff-blob-addition-word-bg:rgba(70,149,74,0.55);--color-diff-blob-deletion-num-text:#e5534b;--color-diff-blob-deletion-num-hover-text:#ff938a;--color-diff-blob-deletion-num-bg:rgba(201,60,55,0.1);--color-diff-blob-deletion-line-bg:rgba(201,60,55,0.2);--color-diff-blob-deletion-word-bg:rgba(201,60,55,0.5);--color-diff-blob-hunk-text:#768390;--color-diff-blob-hunk-num-bg:rgba(83,155,245,0.15);--color-diff-blob-hunk-line-bg:rgba(83,155,245,0.1);--color-diff-blob-empty-block-bg:#2d333b;--color-diff-blob-selected-line-highlight-bg:rgba(174,124,20,0.1);--color-diff-blob-selected-line-highlight-border:#ae7c14;--color-diff-blob-selected-line-highlight-mix-blend-mode:normal;--color-diff-blob-expander-icon:#768390;--color-diff-blob-expander-hover-icon:#cdd9e5;--color-diff-blob-expander-hover-bg:#316dca;--color-diff-blob-comment-button-icon:#cdd9e5;--color-diff-blob-comment-button-bg:#316dca;--color-diff-blob-comment-button-gradient-bg:#427bd1;--color-global-nav-logo:#cdd9e5;--color-global-nav-bg:#2d333b;--color-global-nav-text:#adbac7;--color-global-nav-icon:#adbac7;--color-global-nav-input-bg:#22272e;--color-global-nav-input-border:#373e47;--color-global-nav-input-icon:#373e47;--color-global-nav-input-placeholder:#545d68;--color-calendar-graph-day-bg:#2d333b;--color-calendar-graph-day-border:rgba(27,31,35,0.06);--color-calendar-graph-day-l-1-bg:#0e4429;--color-calendar-graph-day-l-2-bg:#006d32;--color-calendar-graph-day-l-3-bg:#26a641;--color-calendar-graph-day-l-4-bg:#39d353;--color-calendar-graph-day-l-4-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-3-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-2-border:hsla(0,0%,100%,0.05);--color-calendar-graph-day-l-1-border:hsla(0,0%,100%,0.05);--color-footer-invertocat-octicon:#444c56;--color-footer-invertocat-octicon-hover:#636e7b;--color-pr-state-draft-text:#768390;--color-pr-state-draft-bg:rgba(118,131,144,0.1);--color-pr-state-draft-border:rgba(118,131,144,0.4);--color-pr-state-open-text:#57ab5a;--color-pr-state-open-bg:rgba(87,171,90,0.1);--color-pr-state-open-border:rgba(87,171,90,0.4);--color-pr-state-merged-text:#986ee2;--color-pr-state-merged-bg:rgba(176,131,240,0.1);--color-pr-state-merged-border:rgba(176,131,240,0.4);--color-pr-state-closed-text:#e5534b;--color-pr-state-closed-bg:rgba(201,60,55,0.1);--color-pr-state-closed-border:rgba(201,60,55,0.4);--color-topic-tag-text:#539bf5;--color-topic-tag-bg:rgba(65,132,228,0.1);--color-topic-tag-hover-bg:rgba(65,132,228,0.2);--color-topic-tag-active-bg:rgba(65,132,228,0.15);--color-merge-box-success-icon-bg:rgba(70,149,74,0.1);--color-merge-box-success-icon-text:#57ab5a;--color-merge-box-success-icon-border:rgba(70,149,74,0.4);--color-merge-box-success-indicator-bg:#347d39;--color-merge-box-success-indicator-border:#46954a;--color-merge-box-merged-icon-bg:rgba(176,131,240,0.1);--color-merge-box-merged-icon-text:#986ee2;--color-merge-box-merged-icon-border:rgba(176,131,240,0.4);--color-merge-box-merged-box-border:rgba(176,131,240,0.4);--color-merge-box-neutral-icon-bg:rgba(173,186,199,0.1);--color-merge-box-neutral-icon-text:#768390;--color-merge-box-neutral-icon-border:rgba(173,186,199,0.4);--color-merge-box-neutral-indicator-bg:#545d68;--color-merge-box-neutral-indicator-border:#636e7b;--color-merge-box-warning-icon-bg:rgba(174,124,20,0.1);--color-merge-box-warning-icon-text:#daaa3f;--color-merge-box-warning-icon-border:rgba(174,124,20,0.4);--color-merge-box-warning-box-border:rgba(174,124,20,0.4);--color-merge-box-warning-merge-highlight:rgba(174,124,20,0.1);--color-merge-box-error-icon-bg:rgba(229,83,75,0.1);--color-merge-box-error-icon-text:#e5534b;--color-merge-box-error-icon-border:rgba(229,83,75,0.4);--color-merge-box-error-indicator-bg:#c93c37;--color-merge-box-error-indicator-border:#e5534b;--color-project-card-bg:#2d333b;--color-project-header-bg:#22272e;--color-project-sidebar-bg:#2d333b;--color-project-gradient-in:#2d333b;--color-project-gradient-out:rgba(45,51,59,0);--color-checks-bg:#1e2329;--color-checks-run-border-width:1px;--color-checks-container-border-width:1px;--color-checks-text-primary:#adbac7;--color-checks-text-secondary:#768390;--color-checks-text-link:#539bf5;--color-checks-btn-icon:#636e7b;--color-checks-btn-hover-icon:#adbac7;--color-checks-btn-hover-bg:#444c56;--color-checks-input-text:#768390;--color-checks-input-placeholder-text:#545d68;--color-checks-input-focus-text:#adbac7;--color-checks-input-bg:#22272e;--color-checks-input-shadow:0 0 0 1px #373e47;--color-checks-dropdown-text:#adbac7;--color-checks-dropdown-bg:#323941;--color-checks-dropdown-border:#444c56;--color-checks-dropdown-hover-text:#cdd9e5;--color-checks-dropdown-hover-bg:#316dca;--color-checks-dropdown-btn-hover-text:#cdd9e5;--color-checks-dropdown-btn-hover-bg:#2d333b;--color-checks-scrollbar-thumb-bg:#444c56;--color-checks-header-label-text:#768390;--color-checks-header-label-open-text:#adbac7;--color-checks-header-border:#373e47;--color-checks-header-icon:#636e7b;--color-checks-line-text:#768390;--color-checks-line-num-text:#768390;--color-checks-line-timestamp-text:#768390;--color-checks-line-hover-bg:#2d333b;--color-checks-line-selected-bg:rgba(65,132,228,0.1);--color-checks-line-selected-num-text:#539bf5;--color-checks-line-dt-fm-text:#22272e;--color-checks-line-dt-fm-bg:#c69026;--color-checks-gate-bg:rgba(128,84,0,0.15);--color-checks-gate-text:#768390;--color-checks-gate-waiting-text:#daaa3f;--color-checks-step-header-open-bg:#2d333b;--color-checks-step-error-text:#e5534b;--color-checks-step-warning-text:#daaa3f;--color-checks-logline-text:#636e7b;--color-checks-logline-num-text:#768390;--color-checks-logline-debug-text:#b083f0;--color-checks-logline-error-text:#768390;--color-checks-logline-error-num-text:#768390;--color-checks-logline-error-bg:rgba(229,83,75,0.1);--color-checks-logline-warning-text:#768390;--color-checks-logline-warning-num-text:#daaa3f;--color-checks-logline-warning-bg:rgba(174,124,20,0.1);--color-checks-logline-command-text:#539bf5;--color-checks-logline-section-text:#6bc46d;--color-checks-ansi-black:#22272e;--color-checks-ansi-black-bright:#2d333b;--color-checks-ansi-white:#909dab;--color-checks-ansi-white-bright:#909dab;--color-checks-ansi-gray:#636e7b;--color-checks-ansi-red:#f47067;--color-checks-ansi-red-bright:#ff938a;--color-checks-ansi-green:#57ab5a;--color-checks-ansi-green-bright:#6bc46d;--color-checks-ansi-yellow:#c69026;--color-checks-ansi-yellow-bright:#daaa3f;--color-checks-ansi-blue:#539bf5;--color-checks-ansi-blue-bright:#6cb6ff;--color-checks-ansi-magenta:#b083f0;--color-checks-ansi-magenta-bright:#dcbdfb;--color-checks-ansi-cyan:#76e3ea;--color-checks-ansi-cyan-bright:#b3f0ff;--color-intro-shelf-gradient-left:rgba(65,132,228,0.1);--color-intro-shelf-gradient-right:rgba(70,149,74,0.1);--color-intro-shelf-gradient-in:#22272e;--color-intro-shelf-gradient-out:rgba(34,39,46,0);--color-marketing-icon-primary:#6cb6ff;--color-marketing-icon-secondary:#316dca;--color-prettylights-syntax-comment:#768390;--color-prettylights-syntax-constant:#6cb6ff;--color-prettylights-syntax-entity:#dcbdfb;--color-prettylights-syntax-storage-modifier-import:#adbac7;--color-prettylights-syntax-entity-tag:#8ddb8c;--color-prettylights-syntax-keyword:#f47067;--color-prettylights-syntax-string:#96d0ff;--color-prettylights-syntax-variable:#f69d50;--color-prettylights-syntax-brackethighlighter-unmatched:#e5534b;--color-prettylights-syntax-invalid-illegal-text:#cdd9e5;--color-prettylights-syntax-invalid-illegal-bg:#922323;--color-prettylights-syntax-carriage-return-text:#cdd9e5;--color-prettylights-syntax-carriage-return-bg:#ad2e2c;--color-prettylights-syntax-string-regexp:#8ddb8c;--color-prettylights-syntax-markup-list:#eac55f;--color-prettylights-syntax-markup-heading:#316dca;--color-prettylights-syntax-markup-italic:#adbac7;--color-prettylights-syntax-markup-bold:#adbac7;--color-prettylights-syntax-markup-deleted-text:#ffd8d3;--color-prettylights-syntax-markup-deleted-bg:#78191b;--color-prettylights-syntax-markup-inserted-text:#b4f1b4;--color-prettylights-syntax-markup-inserted-bg:#1b4721;--color-prettylights-syntax-markup-changed-text:#ffddb0;--color-prettylights-syntax-markup-changed-bg:#682d0f;--color-prettylights-syntax-markup-ignored-text:#adbac7;--color-prettylights-syntax-markup-ignored-bg:#255ab2;--color-prettylights-syntax-meta-diff-range:#dcbdfb;--color-prettylights-syntax-brackethighlighter-angle:#768390;--color-prettylights-syntax-sublimelinter-gutter-mark:#545d68;--color-prettylights-syntax-constant-other-reference-link:#96d0ff;--color-codemirror-text:#adbac7;--color-codemirror-bg:#22272e;--color-codemirror-gutters-bg:#22272e;--color-codemirror-guttermarker-text:#22272e;--color-codemirror-guttermarker-subtle-text:#636e7b;--color-codemirror-linenumber-text:#768390;--color-codemirror-cursor:#cdd9e5;--color-codemirror-selection-bg:rgba(108,182,255,0.3);--color-codemirror-activeline-bg:#2d333b;--color-codemirror-matchingbracket-text:#adbac7;--color-codemirror-lines-bg:#22272e;--color-codemirror-syntax-comment:#768390;--color-codemirror-syntax-constant:#6cb6ff;--color-codemirror-syntax-entity:#dcbdfb;--color-codemirror-syntax-keyword:#f47067;--color-codemirror-syntax-storage:#f47067;--color-codemirror-syntax-string:#96d0ff;--color-codemirror-syntax-support:#6cb6ff;--color-codemirror-syntax-variable:#f69d50;--color-ansi-black:#545d68;--color-ansi-black-bright:#636e7b;--color-ansi-white:#909dab;--color-ansi-white-bright:#cdd9e5;--color-ansi-gray:#636e7b;--color-ansi-red:#f47067;--color-ansi-red-bright:#ff938a;--color-ansi-green:#57ab5a;--color-ansi-green-bright:#6bc46d;--color-ansi-yellow:#c69026;--color-ansi-yellow-bright:#daaa3f;--color-ansi-blue:#539bf5;--color-ansi-blue-bright:#6cb6ff;--color-ansi-magenta:#b083f0;--color-ansi-magenta-bright:#dcbdfb;--color-ansi-cyan:#39c5cf;--color-ansi-cyan-bright:#56d4dd}}[data-color-mode]{color:var(--color-text-primary);background-color:var(--color-bg-canvas)}:root,[data-color-mode=dark][data-dark-theme*=light],[data-color-mode=light][data-light-theme*=light]{color-scheme:light}@media (prefers-color-scheme:light){[data-color-mode=auto][data-light-theme*=light]{color-scheme:light}}@media (prefers-color-scheme:dark){[data-color-mode=auto][data-dark-theme*=light]{color-scheme:light}}[data-color-mode=dark][data-dark-theme*=dark],[data-color-mode=light][data-light-theme*=dark]{color-scheme:dark}@media (prefers-color-scheme:light){[data-color-mode=auto][data-light-theme*=dark]{color-scheme:dark}}@media (prefers-color-scheme:dark){[data-color-mode=auto][data-dark-theme*=dark]{color-scheme:dark}}*{box-sizing:border-box}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:14px;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-canvas)}a{color:var(--color-text-link);text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:600}.rule,hr{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid var(--color-border-secondary)}.rule:after,.rule:before,hr:after,hr:before{display:table;content:""}.rule:after,hr:after{clear:both}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}button{cursor:pointer;border-radius:0}[hidden][hidden]{display:none!important}details summary{cursor:pointer}details:not([open])>:not(summary){display:none!important}kbd{display:inline-block;padding:3px 5px;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;line-height:10px;color:var(--color-auto-gray-7);vertical-align:middle;background-color:var(--color-bg-secondary);border-bottom-color:var(--color-border-tertiary);border:1px solid var(--color-border-tertiary);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-border-tertiary)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0}h1{font-size:32px}h1,h2{font-weight:600}h2{font-size:24px}h3{font-size:20px}h3,h4{font-weight:600}h4{font-size:16px}h5{font-size:14px}h5,h6{font-weight:600}h6{font-size:12px}p{margin-top:0;margin-bottom:10px}small{font-size:90%}blockquote{margin:0}ol,ul{padding-left:0;margin-top:0;margin-bottom:0}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}dd{margin-left:0}code,pre,tt{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px}pre{margin-top:0;margin-bottom:0}.octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.Box{background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px}.Box--condensed{line-height:1.25}.Box--condensed .Box-body,.Box--condensed .Box-footer,.Box--condensed .Box-header{padding:8px 16px}.Box--condensed .Box-btn-octicon.btn-octicon{padding:8px 16px;margin:-8px -16px;line-height:1.25}.Box--condensed .Box-row{padding:8px 16px}.Box--spacious .Box-header{padding:24px;line-height:1.25}.Box--spacious .Box-title{font-size:20px}.Box--spacious .Box-body,.Box--spacious .Box-footer{padding:24px}.Box--spacious .Box-btn-octicon.btn-octicon{padding:24px;margin:-24px}.Box--spacious .Box-row{padding:24px}.Box-header{padding:16px;margin:-1px -1px 0;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-top-left-radius:6px;border-top-right-radius:6px}.Box-title{font-size:14px;font-weight:600}.Box-body{padding:16px;border-bottom:1px solid var(--color-border-primary)}.Box-body:last-of-type{margin-bottom:-1px;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.Box-row{padding:16px;margin-top:-1px;list-style-type:none;border-top:1px solid var(--color-border-secondary)}.Box-row:first-of-type{border-top-left-radius:6px;border-top-right-radius:6px}.Box-row:last-of-type{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.Box-row.Box-row--unread,.Box-row.unread{box-shadow:inset 2px 0 0 var(--color-border-info)}.Box-row.navigation-focus .Box-row--drag-button{color:var(--color-text-link);cursor:grab;opacity:1}.Box-row.navigation-focus.is-dragging .Box-row--drag-button{cursor:grabbing}.Box-row.navigation-focus.sortable-chosen{background-color:var(--color-bg-secondary)}.Box-row.navigation-focus.sortable-ghost{background-color:var(--color-bg-tertiary)}.Box-row.navigation-focus.sortable-ghost .Box-row--drag-hide{opacity:0}.Box-row--focus-gray.navigation-focus{background-color:var(--color-bg-tertiary)}.Box-row--focus-blue.navigation-focus{background-color:var(--color-box-row-blue-bg)}.Box-row--hover-gray:hover{background-color:var(--color-bg-tertiary)}.Box-row--hover-blue:hover{background-color:var(--color-box-row-blue-bg)}@media (min-width:768px){.Box-row-link{color:var(--color-text-primary);text-decoration:none}.Box-row-link:hover{color:var(--color-text-link);text-decoration:none}}.Box-row--drag-button{opacity:0}.Box-footer{padding:16px;margin-top:-1px;border-top:1px solid var(--color-border-primary);border-radius:0 0 6px 6px}.Box--scrollable{max-height:324px;overflow:scroll}.Box--blue,.Box--blue .Box-header{border-color:var(--color-box-blue-border)}.Box--blue .Box-header{background-color:var(--color-bg-info)}.Box--blue .Box-body,.Box--blue .Box-footer,.Box--blue .Box-row{border-color:var(--color-box-blue-border)}.Box--danger,.Box--danger .Box-body:last-of-type,.Box--danger .Box-row:first-of-type{border-color:var(--color-border-danger)}.Box-header--blue{background-color:var(--color-box-header-blue-bg);border-color:var(--color-box-header-blue-border)}.Box-row--yellow{background-color:var(--color-box-row-yellow-bg)}.Box-row--blue{background-color:var(--color-box-row-blue-bg)}.Box-row--gray{background-color:var(--color-bg-tertiary)}.Box-btn-octicon.btn-octicon{padding:16px;margin:-16px;line-height:1.5}.breadcrumb-item{display:inline-block;margin-left:-.35em;white-space:nowrap;list-style:none}.breadcrumb-item:after{display:inline-block;height:.8em;margin:0 .5em;content:"";border-right:.1em solid var(--color-text-disabled);transform:rotate(15deg)}.breadcrumb-item:first-child{margin-left:0}.breadcrumb-item-selected,.breadcrumb-item[aria-current]:not([aria-current=false]){color:var(--color-text-primary)}.breadcrumb-item-selected:after,.breadcrumb-item[aria-current]:not([aria-current=false]):after{content:none}.btn{position:relative;display:inline-block;padding:5px 16px;font-size:14px;font-weight:500;line-height:20px;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid;border-radius:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:hover{text-decoration:none}.btn.disabled,.btn:disabled,.btn[aria-disabled=true]{cursor:default}.btn.disabled .octicon,.btn:disabled .octicon,.btn[aria-disabled=true] .octicon{color:var(--color-icon-tertiary)}.btn i{font-style:normal;font-weight:500;opacity:.75}.btn .octicon{margin-right:4px;color:var(--color-text-tertiary);vertical-align:text-bottom}.btn .octicon:only-child{margin-right:0}.btn .Counter{margin-left:2px;color:inherit;text-shadow:none;vertical-align:top;background-color:var(--color-btn-counter-bg)}.btn .dropdown-caret{margin-left:4px;opacity:.8}.btn{color:var(--color-btn-text);background-color:var(--color-btn-bg);border-color:var(--color-btn-border);box-shadow:var(--color-btn-shadow),var(--color-btn-inset-shadow);transition:.2s cubic-bezier(.3,0,.5,1);transition-property:color,background-color,border-color}.btn.hover,.btn:hover,[open]>.btn{background-color:var(--color-btn-hover-bg);border-color:var(--color-btn-hover-border);transition-duration:.1s}.btn:active{background-color:var(--color-btn-active-bg);border-color:var(--color-btn-active-border);transition:none}.btn.selected,.btn[aria-selected=true]{background-color:var(--color-btn-selected-bg);box-shadow:var(--color-shadow-inset)}.btn.disabled,.btn:disabled,.btn[aria-disabled=true]{color:var(--color-text-disabled);background-color:var(--color-btn-bg);border-color:var(--color-btn-border)}.btn.focus,.btn:focus{border-color:var(--color-btn-focus-border);outline:none;box-shadow:var(--color-btn-focus-shadow)}.btn-primary{color:var(--color-btn-primary-text);background-color:var(--color-btn-primary-bg);border-color:var(--color-btn-primary-border);box-shadow:var(--color-btn-primary-shadow),var(--color-btn-primary-inset-shadow)}.btn-primary.hover,.btn-primary:hover,[open]>.btn-primary{background-color:var(--color-btn-primary-hover-bg);border-color:var(--color-btn-primary-hover-border)}.btn-primary.selected,.btn-primary:active,.btn-primary[aria-selected=true]{background-color:var(--color-btn-primary-selected-bg);box-shadow:var(--color-btn-primary-selected-shadow)}.btn-primary.disabled,.btn-primary:disabled,.btn-primary[aria-disabled=true]{color:var(--color-btn-primary-disabled-text);background-color:var(--color-btn-primary-disabled-bg);border-color:var(--color-btn-primary-disabled-border)}.btn-primary.focus,.btn-primary:focus{background-color:var(--color-btn-primary-focus-bg);border-color:var(--color-btn-primary-focus-border);box-shadow:var(--color-btn-primary-focus-shadow)}.btn-primary .Counter{color:inherit;background-color:var(--color-btn-primary-counter-bg)}.btn-primary .octicon{color:var(--color-btn-primary-icon)}.btn-outline{color:var(--color-btn-outline-text)}.btn-outline:hover,[open]>.btn-outline{color:var(--color-btn-outline-hover-text);background-color:var(--color-btn-outline-hover-bg);border-color:var(--color-btn-outline-hover-border);box-shadow:var(--color-btn-outline-hover-shadow),var(--color-btn-outline-hover-inset-shadow)}.btn-outline:hover .Counter,[open]>.btn-outline .Counter{background-color:var(--color-btn-outline-hover-counter-bg)}.btn-outline:hover .octicon,[open]>.btn-outline .octicon{color:inherit}.btn-outline.selected,.btn-outline:active,.btn-outline[aria-selected=true]{color:var(--color-btn-outline-selected-text);background-color:var(--color-btn-outline-selected-bg);border-color:var(--color-btn-outline-selected-border);box-shadow:var(--color-btn-outline-selected-shadow)}.btn-outline.disabled,.btn-outline:disabled,.btn-outline[aria-disabled=true]{color:var(--color-btn-outline-disabled-text);background-color:var(--color-btn-outline-disabled-bg);border-color:var(--color-btn-border);box-shadow:none}.btn-outline.disabled .Counter,.btn-outline:disabled .Counter,.btn-outline[aria-disabled=true] .Counter{background-color:var(--color-btn-outline-disabled-counter-bg)}.btn-outline:focus{border-color:var(--color-btn-outline-focus-border);box-shadow:var(--color-btn-outline-focus-shadow)}.btn-outline .Counter{color:inherit;background-color:var(--color-btn-outline-counter-bg)}.btn-danger{color:var(--color-btn-danger-text)}.btn-danger .octicon{color:var(--color-btn-danger-icon)}.btn-danger:hover,[open]>.btn-danger{color:var(--color-btn-danger-hover-text);background-color:var(--color-btn-danger-hover-bg);border-color:var(--color-btn-danger-hover-border);box-shadow:var(--color-btn-danger-hover-shadow),var(--color-btn-danger-hover-inset-shadow)}.btn-danger:hover .Counter,[open]>.btn-danger .Counter{background-color:var(--color-btn-danger-hover-counter-bg)}.btn-danger:hover .octicon,[open]>.btn-danger .octicon{color:var(--color-btn-danger-hover-icon)}.btn-danger.selected,.btn-danger:active,.btn-danger[aria-selected=true]{color:var(--color-btn-danger-selected-text);background-color:var(--color-btn-danger-selected-bg);border-color:var(--color-btn-danger-selected-border);box-shadow:var(--color-btn-danger-selected-shadow)}.btn-danger.disabled,.btn-danger:disabled,.btn-danger[aria-disabled=true]{color:var(--color-btn-danger-disabled-text);background-color:var(--color-btn-danger-disabled-bg);border-color:var(--color-btn-border);box-shadow:none}.btn-danger.disabled .Counter,.btn-danger:disabled .Counter,.btn-danger[aria-disabled=true] .Counter{background-color:var(--color-btn-danger-disabled-counter-bg)}.btn-danger:focus{border-color:var(--color-btn-danger-focus-border);box-shadow:var(--color-btn-danger-focus-shadow)}.btn-danger .Counter{color:inherit;background-color:var(--color-btn-danger-counter-bg)}.btn-sm{padding:3px 12px;font-size:12px;line-height:20px}.btn-sm .octicon{vertical-align:text-top}.btn-large{padding:.75em 1.5em;font-size:inherit;line-height:1.5;border-radius:.5em}.btn-block{display:block;width:100%;text-align:center}.BtnGroup{display:inline-block;vertical-align:middle}.BtnGroup:after,.BtnGroup:before{display:table;content:""}.BtnGroup:after{clear:both}.BtnGroup+.btn,.BtnGroup+.BtnGroup{margin-left:4px}.BtnGroup-item{position:relative;float:left;border-right-width:0;border-radius:0}.BtnGroup-item:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.BtnGroup-item:last-child{border-right-width:1px;border-top-right-radius:6px;border-bottom-right-radius:6px}.BtnGroup-item.selected,.BtnGroup-item:active,.BtnGroup-item:focus,.BtnGroup-item:hover,.BtnGroup-item[aria-selected=true]{border-right-width:1px}.BtnGroup-item.selected+.BtnGroup-item,.BtnGroup-item.selected+.BtnGroup-parent .BtnGroup-item,.BtnGroup-item:active+.BtnGroup-item,.BtnGroup-item:active+.BtnGroup-parent .BtnGroup-item,.BtnGroup-item:focus+.BtnGroup-item,.BtnGroup-item:focus+.BtnGroup-parent .BtnGroup-item,.BtnGroup-item:hover+.BtnGroup-item,.BtnGroup-item:hover+.BtnGroup-parent .BtnGroup-item,.BtnGroup-item[aria-selected=true]+.BtnGroup-item,.BtnGroup-item[aria-selected=true]+.BtnGroup-parent .BtnGroup-item{border-left-width:0}.BtnGroup-parent{float:left}.BtnGroup-parent:first-child .BtnGroup-item{border-top-left-radius:6px;border-bottom-left-radius:6px}.BtnGroup-parent:last-child .BtnGroup-item{border-right-width:1px;border-top-right-radius:6px;border-bottom-right-radius:6px}.BtnGroup-parent .BtnGroup-item{border-right-width:0;border-radius:0}.BtnGroup-parent.selected .BtnGroup-item,.BtnGroup-parent:active .BtnGroup-item,.BtnGroup-parent:focus .BtnGroup-item,.BtnGroup-parent:hover .BtnGroup-item,.BtnGroup-parent[aria-selected=true] .BtnGroup-item{border-right-width:1px}.BtnGroup-parent.selected+.BtnGroup-item,.BtnGroup-parent.selected+.BtnGroup-parent .BtnGroup-item,.BtnGroup-parent:active+.BtnGroup-item,.BtnGroup-parent:active+.BtnGroup-parent .BtnGroup-item,.BtnGroup-parent:focus+.BtnGroup-item,.BtnGroup-parent:focus+.BtnGroup-parent .BtnGroup-item,.BtnGroup-parent:hover+.BtnGroup-item,.BtnGroup-parent:hover+.BtnGroup-parent .BtnGroup-item,.BtnGroup-parent[aria-selected=true]+.BtnGroup-item,.BtnGroup-parent[aria-selected=true]+.BtnGroup-parent .BtnGroup-item{border-left-width:0}.BtnGroup-item:active,.BtnGroup-item:focus,.BtnGroup-parent:active,.BtnGroup-parent:focus{z-index:1}.btn-link{display:inline-block;padding:0;font-size:inherit;color:var(--color-text-link);text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:initial;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn-link:hover{text-decoration:underline}.btn-link:disabled,.btn-link:disabled:hover,.btn-link[aria-disabled=true],.btn-link[aria-disabled=true]:hover{color:var(--color-text-disabled);cursor:default}.btn-invisible{color:var(--color-text-link);background-color:initial;border:0;border-radius:0;box-shadow:none}.btn-invisible.selected,.btn-invisible.zeroclipboard-is-active,.btn-invisible.zeroclipboard-is-hover,.btn-invisible:active,.btn-invisible:focus,.btn-invisible:hover,.btn-invisible[aria-selected=true]{color:var(--color-text-link);background:none;outline:none;box-shadow:none}.btn-invisible.disabled,.btn-invisible:disabled,.btn-invisible[aria-disabled=true]{background-color:initial}.btn-octicon{display:inline-block;padding:5px;margin-left:5px;line-height:1;color:var(--color-text-secondary);vertical-align:middle;background:transparent;border:0;box-shadow:none}.btn-octicon:hover{color:var(--color-text-link)}.btn-octicon.disabled,.btn-octicon[aria-disabled=true]{color:var(--color-text-disabled);cursor:default}.btn-octicon.disabled:hover,.btn-octicon[aria-disabled=true]:hover{color:var(--color-text-disabled)}.btn-octicon-danger:hover{color:var(--color-text-danger)}.close-button{padding:0;color:var(--color-text-secondary);background:transparent;border:0;outline:none}.close-button:hover{color:var(--color-text-primary)}.close-button:active{color:var(--color-text-tertiary)}.hidden-text-expander{display:block}.hidden-text-expander.inline{position:relative;top:-1px;display:inline-block;margin-left:5px;line-height:0}.ellipsis-expander,.hidden-text-expander a{display:inline-block;height:12px;padding:0 5px 5px;font-size:12px;font-weight:600;line-height:6px;color:var(--color-auto-gray-7);text-decoration:none;vertical-align:middle;background:var(--color-hidden-text-expander-bg);border:0;border-radius:1px}.ellipsis-expander:hover,.hidden-text-expander a:hover{text-decoration:none;background-color:var(--color-hidden-text-expander-bg-hover)}.ellipsis-expander:active,.hidden-text-expander a:active{color:var(--color-text-inverse);background-color:var(--color-bg-info-inverse)}.btn-with-count{float:left;border-top-right-radius:0;border-bottom-right-radius:0}.btn-with-count:focus{z-index:1}.social-count{position:relative;float:left;padding:3px 12px;font-size:12px;font-weight:600;line-height:20px;color:var(--color-text-primary);vertical-align:middle;background-color:var(--color-social-count-bg);border:1px solid var(--color-btn-border);border-left:0;border-top-right-radius:6px;border-bottom-right-radius:6px;box-shadow:var(--color-shadow-small),var(--color-shadow-highlight)}.social-count:active,.social-count:hover{text-decoration:none}.social-count:hover{color:var(--color-text-link);cursor:pointer}.social-count:focus{z-index:1;outline:0;box-shadow:var(--color-state-focus-shadow)}.TableObject{display:table}.TableObject-item{display:table-cell;width:1%;white-space:nowrap;vertical-align:middle}.TableObject-item--primary{width:99%}fieldset{padding:0;margin:0;border:0}label{font-weight:600}.form-control,.form-select{padding:5px 12px;font-size:14px;line-height:20px;color:var(--color-text-primary);vertical-align:middle;background-color:var(--color-input-bg);background-repeat:no-repeat;background-position:right 8px center;border:1px solid var(--color-input-border);border-radius:6px;outline:none;box-shadow:var(--color-shadow-inset)}.form-control.focus,.form-control:focus,.form-select.focus,.form-select:focus{border-color:var(--color-state-focus-border);outline:none;box-shadow:var(--color-state-focus-shadow)}.form-control[disabled],.form-select[disabled]{color:var(--color-text-disabled);background-color:var(--color-input-disabled-bg);border-color:var(--color-input-disabled-border)}@supports (-webkit-touch-callout:none){.form-control,.form-select{font-size:16px}@media (min-width:768px){.form-control,.form-select{font-size:14px}}}textarea.form-control{padding-top:8px;padding-bottom:8px;line-height:1.5}.input-contrast{background-color:var(--color-input-contrast-bg)}.input-contrast:focus{background-color:var(--color-input-bg)}:-ms-input-placeholder{color:var(--color-text-placeholder);opacity:1}::-ms-input-placeholder{color:var(--color-text-placeholder);opacity:1}::placeholder{color:var(--color-text-placeholder);opacity:1}.input-sm{min-height:28px;padding-top:3px;padding-bottom:3px;font-size:12px;line-height:20px}.input-lg{font-size:16px}.input-block{display:block;width:100%}.input-monospace{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.input-hide-webkit-autofill::-webkit-contacts-auto-fill-button{position:absolute;right:0;display:none!important;pointer-events:none;visibility:hidden}.form-checkbox{padding-left:20px;margin:15px 0;vertical-align:middle}.form-checkbox label em.highlight{position:relative;left:-4px;padding:2px 4px;font-style:normal;background:var(--color-auto-yellow-1);border-radius:6px}.form-checkbox input[type=checkbox],.form-checkbox input[type=radio]{float:left;margin:5px 0 0 -20px;vertical-align:middle}.form-checkbox .note{display:block;margin:0;font-size:12px;font-weight:400;color:var(--color-text-secondary)}.form-checkbox-details{display:none}.form-checkbox-details-trigger:checked~* .form-checkbox-details,.form-checkbox-details-trigger:checked~.form-checkbox-details{display:block}.hfields{margin:15px 0}.hfields:after,.hfields:before{display:table;content:""}.hfields:after{clear:both}.hfields .form-group{float:left;margin:0 30px 0 0}.hfields .form-group .form-group-header label,.hfields .form-group dt label{display:inline-block;margin:5px 0 0;color:var(--color-text-secondary)}.hfields .form-group .form-group-header img,.hfields .form-group dt img{position:relative;top:-2px}.hfields .btn{float:left;margin:28px 25px 0 -20px}.hfields .form-select{margin-top:5px}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;appearance:none}.form-actions:after,.form-actions:before{display:table;content:""}.form-actions:after{clear:both}.form-actions .btn{float:right}.form-actions .btn+.btn{margin-right:5px}.form-warning{padding:8px 10px;margin:10px 0;font-size:14px;color:var(--color-text-warning);background:var(--color-bg-warning);border:1px solid var(--color-border-warning);border-radius:6px}.form-warning p{margin:0;line-height:1.5}.form-warning a{font-weight:600}.form-select{display:inline-block;max-width:100%;height:32px;padding-right:24px;background-color:var(--color-bg-primary);background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9IiM1ODYwNjkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuNDI3IDkuNDI3bDMuMzk2IDMuMzk2YS4yNTEuMjUxIDAgMDAuMzU0IDBsMy4zOTYtMy4zOTZBLjI1LjI1IDAgMDAxMS4zOTYgOUg0LjYwNGEuMjUuMjUgMCAwMC0uMTc3LjQyN3pNNC40MjMgNi40N0w3LjgyIDMuMDcyYS4yNS4yNSAwIDAxLjM1NCAwTDExLjU3IDYuNDdhLjI1LjI1IDAgMDEtLjE3Ny40MjdINC42YS4yNS4yNSAwIDAxLS4xNzctLjQyN3oiLz48L3N2Zz4=");background-repeat:no-repeat;background-position:right 4px center;background-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select::-ms-expand{opacity:0}.form-select[multiple]{height:auto}[data-color-mode=dark][data-dark-theme*=dark] .form-select,[data-color-mode=light][data-light-theme*=dark] .form-select{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9IiM2ZTc2ODEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuNDI3IDkuNDI3bDMuMzk2IDMuMzk2YS4yNTEuMjUxIDAgMDAuMzU0IDBsMy4zOTYtMy4zOTZBLjI1LjI1IDAgMDAxMS4zOTYgOUg0LjYwNGEuMjUuMjUgMCAwMC0uMTc3LjQyN3pNNC40MjMgNi40N0w3LjgyIDMuMDcyYS4yNS4yNSAwIDAxLjM1NCAwTDExLjU3IDYuNDdhLjI1LjI1IDAgMDEtLjE3Ny40MjdINC42YS4yNS4yNSAwIDAxLS4xNzctLjQyN3oiLz48L3N2Zz4=")}@media (prefers-color-scheme:light){[data-color-mode=auto][data-light-theme*=dark] .form-select{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9IiM2ZTc2ODEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuNDI3IDkuNDI3bDMuMzk2IDMuMzk2YS4yNTEuMjUxIDAgMDAuMzU0IDBsMy4zOTYtMy4zOTZBLjI1LjI1IDAgMDAxMS4zOTYgOUg0LjYwNGEuMjUuMjUgMCAwMC0uMTc3LjQyN3pNNC40MjMgNi40N0w3LjgyIDMuMDcyYS4yNS4yNSAwIDAxLjM1NCAwTDExLjU3IDYuNDdhLjI1LjI1IDAgMDEtLjE3Ny40MjdINC42YS4yNS4yNSAwIDAxLS4xNzctLjQyN3oiLz48L3N2Zz4=")}}@media (prefers-color-scheme:dark){[data-color-mode=auto][data-dark-theme*=dark] .form-select{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9IiM2ZTc2ODEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuNDI3IDkuNDI3bDMuMzk2IDMuMzk2YS4yNTEuMjUxIDAgMDAuMzU0IDBsMy4zOTYtMy4zOTZBLjI1LjI1IDAgMDAxMS4zOTYgOUg0LjYwNGEuMjUuMjUgMCAwMC0uMTc3LjQyN3pNNC40MjMgNi40N0w3LjgyIDMuMDcyYS4yNS4yNSAwIDAxLjM1NCAwTDExLjU3IDYuNDdhLjI1LjI1IDAgMDEtLjE3Ny40MjdINC42YS4yNS4yNSAwIDAxLS4xNzctLjQyN3oiLz48L3N2Zz4=")}}.select-sm{height:28px;padding-top:3px;padding-bottom:3px;font-size:12px}.select-sm[multiple]{height:auto;min-height:0}.form-group{margin:15px 0}.form-group .form-control{width:440px;max-width:100%;margin-right:5px;background-color:var(--color-input-contrast-bg)}.form-group .form-control:focus{background-color:var(--color-input-bg)}.form-group .form-control.shorter{width:130px}.form-group .form-control.short{width:250px}.form-group .form-control.long{width:100%}.form-group textarea.form-control{width:100%;height:200px;min-height:200px}.form-group textarea.form-control.short{height:50px;min-height:50px}.form-group .form-group-header,.form-group dt{margin:0 0 6px}.form-group label{position:relative}.form-group.flattened .form-group-header,.form-group.flattened dt{float:left;margin:0;line-height:32px}.form-group.flattened .form-group-body,.form-group.flattened dd{line-height:32px}.form-group .form-group-body h4,.form-group dd h4{margin:4px 0 0}.form-group .form-group-body h4.is-error,.form-group dd h4.is-error{color:var(--color-text-danger)}.form-group .form-group-body h4.is-success,.form-group dd h4.is-success{color:var(--color-text-success)}.form-group .form-group-body h4+.note,.form-group dd h4+.note{margin-top:0}.form-group.required .form-group-header label:after,.form-group.required dt label:after{padding-left:5px;color:var(--color-text-danger);content:"*"}.form-group .error,.form-group .indicator,.form-group .success{display:none;font-size:12px;font-weight:600}.form-group.loading{opacity:.5}.form-group.loading .indicator{display:inline}.form-group.loading .spinner{display:inline-block;vertical-align:middle}.form-group.successful .success{display:inline;color:var(--color-text-success)}.form-group.errored .error,.form-group.errored .success,.form-group.errored .warning,.form-group.successed .error,.form-group.successed .success,.form-group.successed .warning,.form-group.warn .error,.form-group.warn .success,.form-group.warn .warning{position:absolute;z-index:10;display:block;max-width:450px;padding:4px 8px;margin:8px 0 0;font-size:12px;font-weight:400;border-style:solid;border-width:1px;border-radius:6px}.form-group.errored .error:after,.form-group.errored .error:before,.form-group.errored .success:after,.form-group.errored .success:before,.form-group.errored .warning:after,.form-group.errored .warning:before,.form-group.successed .error:after,.form-group.successed .error:before,.form-group.successed .success:after,.form-group.successed .success:before,.form-group.successed .warning:after,.form-group.successed .warning:before,.form-group.warn .error:after,.form-group.warn .error:before,.form-group.warn .success:after,.form-group.warn .success:before,.form-group.warn .warning:after,.form-group.warn .warning:before{position:absolute;bottom:100%;left:10px;z-index:15;width:0;height:0;pointer-events:none;content:" ";border:solid transparent}.form-group.errored .error:after,.form-group.errored .success:after,.form-group.errored .warning:after,.form-group.successed .error:after,.form-group.successed .success:after,.form-group.successed .warning:after,.form-group.warn .error:after,.form-group.warn .success:after,.form-group.warn .warning:after{border-width:5px}.form-group.errored .error:before,.form-group.errored .success:before,.form-group.errored .warning:before,.form-group.successed .error:before,.form-group.successed .success:before,.form-group.successed .warning:before,.form-group.warn .error:before,.form-group.warn .success:before,.form-group.warn .warning:before{margin-left:-1px;border-width:6px}.form-group.successed .success{color:var(--color-input-tooltip-success-text);background-color:var(--color-input-tooltip-success-bg);border-color:var(--color-input-tooltip-success-border)}.form-group.successed .success:after{border-bottom-color:var(--color-input-tooltip-success-bg)}.form-group.successed .success:before{border-bottom-color:var(--color-input-tooltip-success-border)}.form-group.warn .form-control{border-color:var(--color-input-warning-border)}.form-group.warn .warning{color:var(--color-input-tooltip-warning-text);background-color:var(--color-input-tooltip-warning-bg);border-color:var(--color-input-tooltip-warning-border)}.form-group.warn .warning:after{border-bottom-color:var(--color-input-tooltip-warning-bg)}.form-group.warn .warning:before{border-bottom-color:var(--color-input-tooltip-warning-border)}.form-group.errored .form-control{border-color:var(--color-input-error-border)}.form-group.errored label{color:var(--color-text-danger)}.form-group.errored .error{color:var(--color-input-tooltip-error-text);background-color:var(--color-input-tooltip-error-bg);border-color:var(--color-input-tooltip-error-border)}.form-group.errored .error:after{border-bottom-color:var(--color-input-tooltip-error-bg)}.form-group.errored .error:before{border-bottom-color:var(--color-input-tooltip-error-border)}.note{min-height:17px;margin:4px 0 2px;font-size:12px;color:var(--color-text-secondary)}.note .spinner{margin-right:3px;vertical-align:middle}.form-group>.form-group-body .form-control.is-autocheck-errored,.form-group>.form-group-body .form-control.is-autocheck-loading,.form-group>.form-group-body .form-control.is-autocheck-successful,dl.form-group>dd .form-control.is-autocheck-errored,dl.form-group>dd .form-control.is-autocheck-loading,dl.form-group>dd .form-control.is-autocheck-successful{padding-right:30px}.form-group>.form-group-body .form-control.is-autocheck-loading,dl.form-group>dd .form-control.is-autocheck-loading{background-image:url(/images/spinners/octocat-spinner-16px.gif)}.form-group>.form-group-body .form-control.is-autocheck-successful,dl.form-group>dd .form-control.is-autocheck-successful{background-image:url(/images/modules/ajax/success.png)}.form-group>.form-group-body .form-control.is-autocheck-errored,dl.form-group>dd .form-control.is-autocheck-errored{background-image:url(/images/modules/ajax/error.png)}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.form-group>.form-group-body .form-control.is-autocheck-errored,.form-group>.form-group-body .form-control.is-autocheck-loading,.form-group>.form-group-body .form-control.is-autocheck-successful,dl.form-group>dd .form-control.is-autocheck-errored,dl.form-group>dd .form-control.is-autocheck-loading,dl.form-group>dd .form-control.is-autocheck-successful{background-size:16px 16px}.form-group>.form-group-body .form-control.is-autocheck-loading,dl.form-group>dd .form-control.is-autocheck-loading{background-image:url(/images/spinners/octocat-spinner-32.gif)}.form-group>.form-group-body .form-control.is-autocheck-successful,dl.form-group>dd .form-control.is-autocheck-successful{background-image:url(/images/modules/ajax/success@2x.png)}.form-group>.form-group-body .form-control.is-autocheck-errored,dl.form-group>dd .form-control.is-autocheck-errored{background-image:url(/images/modules/ajax/error@2x.png)}}.status-indicator{display:inline-block;width:16px;height:16px;margin-left:5px}.status-indicator .octicon{display:none}.status-indicator-success:before{content:""}.status-indicator-success .octicon-check{display:inline-block;color:var(--color-text-success);fill:var(--color-icon-success)}.status-indicator-success .octicon-x{display:none}.status-indicator-failed:before{content:""}.status-indicator-failed .octicon-check{display:none}.status-indicator-failed .octicon-x{display:inline-block;color:var(--color-text-danger);fill:var(--color-icon-danger)}.status-indicator-loading{width:16px;background-image:url(/images/spinners/octocat-spinner-32-EAF2F5.gif);background-repeat:no-repeat;background-position:0 0;background-size:16px}.inline-form{display:inline-block}.inline-form .btn-plain{background-color:initial;border:0}.drag-and-drop{padding:7px 10px;margin:0;font-size:13px;line-height:16px;color:var(--color-text-secondary);background-color:var(--color-bg-secondary);border:1px solid var(--color-drag-and-drop-border);border-top:0;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.drag-and-drop .default,.drag-and-drop .error,.drag-and-drop .loading{display:none}.drag-and-drop .error{color:var(--color-text-danger)}.drag-and-drop img{vertical-align:top}.is-bad-file .drag-and-drop .bad-file,.is-bad-permissions .drag-and-drop .bad-permissions,.is-default .drag-and-drop .default,.is-duplicate-filename .drag-and-drop .duplicate-filename,.is-empty .drag-and-drop .empty,.is-hidden-file .drag-and-drop .hidden-file,.is-repository-required .drag-and-drop .repository-required,.is-too-big .drag-and-drop .too-big,.is-uploading .drag-and-drop .loading{display:inline-block}.drag-and-drop-error-info{font-weight:400;color:var(--color-text-secondary)}.drag-and-drop-error-info a{color:var(--color-text-link)}.is-failed .drag-and-drop .failed-request{display:inline-block}.manual-file-chooser{position:absolute;width:240px;padding:5px;margin-left:-80px;cursor:pointer;opacity:.0001}.manual-file-chooser:hover+.manual-file-chooser-text{text-decoration:underline}.btn .manual-file-chooser{top:0;padding:0;line-height:34px}.upload-enabled textarea{display:block;border-bottom:1px dashed var(--color-upload-enabled-border);border-bottom-right-radius:0;border-bottom-left-radius:0}.upload-enabled.focused{border-radius:6px;box-shadow:var(--color-input-shadow),var(--color-state-focus-shadow)}.upload-enabled.focused .form-control{box-shadow:none}.upload-enabled.focused .drag-and-drop{border-color:var(--color-upload-enabled-border-focused)}.dragover .drag-and-drop,.dragover textarea{box-shadow:0 0 3px #c9ff00}.previewable-comment-form,.write-content{position:relative}.previewable-comment-form .tabnav{position:relative;padding:8px 8px 0}.previewable-comment-form .comment{border:1px solid var(--color-previewable-comment-form-border)}.previewable-comment-form .comment-form-error{margin-bottom:8px}.previewable-comment-form .preview-content,.previewable-comment-form .write-content{display:none;margin:0 8px 8px}.previewable-comment-form.preview-selected .preview-content,.previewable-comment-form.write-selected .write-content{display:block}.previewable-comment-form textarea{display:block;width:100%;min-height:100px;max-height:500px;padding:8px;resize:vertical}.form-action-spacious{margin-top:10px}div.composer{margin-top:0;border:0}.composer .comment-form-textarea{height:200px;min-height:200px}.composer .tabnav{margin:0 0 10px}h2.account{margin:15px 0 0;font-size:18px;font-weight:400}h2.account,p.explain{color:var(--color-text-secondary)}p.explain{position:relative;font-size:12px}p.explain strong{color:var(--color-text-primary)}p.explain .octicon{margin-right:5px;color:var(--color-icon-tertiary)}p.explain .minibutton{top:-4px;float:right}.form-group label{position:static}.input-group{display:table}.input-group .form-control{position:relative;width:100%}.input-group .form-control:focus{z-index:2}.input-group .form-control+.btn{margin-left:0}.input-group.inline{display:inline-table}.input-group-button,.input-group .form-control{display:table-cell}.input-group-button{width:1%;vertical-align:middle}.input-group-button:first-child .btn,.input-group .form-control:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-button:first-child .btn{margin-right:-1px}.input-group-button:last-child .btn,.input-group .form-control:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-button:last-child .btn{margin-left:-1px}.radio-group:after,.radio-group:before{display:table;content:""}.radio-group:after{clear:both}.radio-label{float:left;padding:6px 16px 6px 36px;margin-left:-1px;font-size:14px;line-height:20px;color:var(--color-text-primary);cursor:pointer;border:1px solid var(--color-border-primary)}:checked+.radio-label{position:relative;z-index:1;border-color:var(--color-border-info)}.radio-label:first-of-type{margin-left:0;border-top-left-radius:6px;border-bottom-left-radius:6px}.radio-label:last-of-type{border-top-right-radius:6px;border-bottom-right-radius:6px}.radio-input{z-index:3;float:left;margin:10px -32px 0 16px}.container-sm{max-width:544px}.container-md,.container-sm{margin-right:auto;margin-left:auto}.container-md{max-width:768px}.container-lg{max-width:1012px}.container-lg,.container-xl{margin-right:auto;margin-left:auto}.container-xl{max-width:1280px}.col-1{width:8.33333%}.col-2{width:16.66667%}.col-3{width:25%}.col-4{width:33.33333%}.col-5{width:41.66667%}.col-6{width:50%}.col-7{width:58.33333%}.col-8{width:66.66667%}.col-9{width:75%}.col-10{width:83.33333%}.col-11{width:91.66667%}.col-12{width:100%}@media (min-width:544px){.col-sm-1{width:8.33333%}.col-sm-2{width:16.66667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333%}.col-sm-5{width:41.66667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333%}.col-sm-8{width:66.66667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333%}.col-sm-11{width:91.66667%}.col-sm-12{width:100%}}@media (min-width:768px){.col-md-1{width:8.33333%}.col-md-2{width:16.66667%}.col-md-3{width:25%}.col-md-4{width:33.33333%}.col-md-5{width:41.66667%}.col-md-6{width:50%}.col-md-7{width:58.33333%}.col-md-8{width:66.66667%}.col-md-9{width:75%}.col-md-10{width:83.33333%}.col-md-11{width:91.66667%}.col-md-12{width:100%}}@media (min-width:1012px){.col-lg-1{width:8.33333%}.col-lg-2{width:16.66667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333%}.col-lg-5{width:41.66667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333%}.col-lg-8{width:66.66667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333%}.col-lg-11{width:91.66667%}.col-lg-12{width:100%}}@media (min-width:1280px){.col-xl-1{width:8.33333%}.col-xl-2{width:16.66667%}.col-xl-3{width:25%}.col-xl-4{width:33.33333%}.col-xl-5{width:41.66667%}.col-xl-6{width:50%}.col-xl-7{width:58.33333%}.col-xl-8{width:66.66667%}.col-xl-9{width:75%}.col-xl-10{width:83.33333%}.col-xl-11{width:91.66667%}.col-xl-12{width:100%}}.gutter{margin-right:-16px;margin-left:-16px}.gutter>[class*=col-]{padding-right:16px!important;padding-left:16px!important}.gutter-condensed{margin-right:-8px;margin-left:-8px}.gutter-condensed>[class*=col-]{padding-right:8px!important;padding-left:8px!important}.gutter-spacious{margin-right:-24px;margin-left:-24px}.gutter-spacious>[class*=col-]{padding-right:24px!important;padding-left:24px!important}@media (min-width:544px){.gutter-sm{margin-right:-16px;margin-left:-16px}.gutter-sm>[class*=col-]{padding-right:16px!important;padding-left:16px!important}.gutter-sm-condensed{margin-right:-8px;margin-left:-8px}.gutter-sm-condensed>[class*=col-]{padding-right:8px!important;padding-left:8px!important}.gutter-sm-spacious{margin-right:-24px;margin-left:-24px}.gutter-sm-spacious>[class*=col-]{padding-right:24px!important;padding-left:24px!important}}@media (min-width:768px){.gutter-md{margin-right:-16px;margin-left:-16px}.gutter-md>[class*=col-]{padding-right:16px!important;padding-left:16px!important}.gutter-md-condensed{margin-right:-8px;margin-left:-8px}.gutter-md-condensed>[class*=col-]{padding-right:8px!important;padding-left:8px!important}.gutter-md-spacious{margin-right:-24px;margin-left:-24px}.gutter-md-spacious>[class*=col-]{padding-right:24px!important;padding-left:24px!important}}@media (min-width:1012px){.gutter-lg{margin-right:-16px;margin-left:-16px}.gutter-lg>[class*=col-]{padding-right:16px!important;padding-left:16px!important}.gutter-lg-condensed{margin-right:-8px;margin-left:-8px}.gutter-lg-condensed>[class*=col-]{padding-right:8px!important;padding-left:8px!important}.gutter-lg-spacious{margin-right:-24px;margin-left:-24px}.gutter-lg-spacious>[class*=col-]{padding-right:24px!important;padding-left:24px!important}}@media (min-width:1280px){.gutter-xl{margin-right:-16px;margin-left:-16px}.gutter-xl>[class*=col-]{padding-right:16px!important;padding-left:16px!important}.gutter-xl-condensed{margin-right:-8px;margin-left:-8px}.gutter-xl-condensed>[class*=col-]{padding-right:8px!important;padding-left:8px!important}.gutter-xl-spacious{margin-right:-24px;margin-left:-24px}.gutter-xl-spacious>[class*=col-]{padding-right:24px!important;padding-left:24px!important}}.offset-1{margin-left:8.33333%!important}.offset-2{margin-left:16.66667%!important}.offset-3{margin-left:25%!important}.offset-4{margin-left:33.33333%!important}.offset-5{margin-left:41.66667%!important}.offset-6{margin-left:50%!important}.offset-7{margin-left:58.33333%!important}.offset-8{margin-left:66.66667%!important}.offset-9{margin-left:75%!important}.offset-10{margin-left:83.33333%!important}.offset-11{margin-left:91.66667%!important}@media (min-width:544px){.offset-sm-1{margin-left:8.33333%!important}.offset-sm-2{margin-left:16.66667%!important}.offset-sm-3{margin-left:25%!important}.offset-sm-4{margin-left:33.33333%!important}.offset-sm-5{margin-left:41.66667%!important}.offset-sm-6{margin-left:50%!important}.offset-sm-7{margin-left:58.33333%!important}.offset-sm-8{margin-left:66.66667%!important}.offset-sm-9{margin-left:75%!important}.offset-sm-10{margin-left:83.33333%!important}.offset-sm-11{margin-left:91.66667%!important}}@media (min-width:768px){.offset-md-1{margin-left:8.33333%!important}.offset-md-2{margin-left:16.66667%!important}.offset-md-3{margin-left:25%!important}.offset-md-4{margin-left:33.33333%!important}.offset-md-5{margin-left:41.66667%!important}.offset-md-6{margin-left:50%!important}.offset-md-7{margin-left:58.33333%!important}.offset-md-8{margin-left:66.66667%!important}.offset-md-9{margin-left:75%!important}.offset-md-10{margin-left:83.33333%!important}.offset-md-11{margin-left:91.66667%!important}}@media (min-width:1012px){.offset-lg-1{margin-left:8.33333%!important}.offset-lg-2{margin-left:16.66667%!important}.offset-lg-3{margin-left:25%!important}.offset-lg-4{margin-left:33.33333%!important}.offset-lg-5{margin-left:41.66667%!important}.offset-lg-6{margin-left:50%!important}.offset-lg-7{margin-left:58.33333%!important}.offset-lg-8{margin-left:66.66667%!important}.offset-lg-9{margin-left:75%!important}.offset-lg-10{margin-left:83.33333%!important}.offset-lg-11{margin-left:91.66667%!important}}@media (min-width:1280px){.offset-xl-1{margin-left:8.33333%!important}.offset-xl-2{margin-left:16.66667%!important}.offset-xl-3{margin-left:25%!important}.offset-xl-4{margin-left:33.33333%!important}.offset-xl-5{margin-left:41.66667%!important}.offset-xl-6{margin-left:50%!important}.offset-xl-7{margin-left:58.33333%!important}.offset-xl-8{margin-left:66.66667%!important}.offset-xl-9{margin-left:75%!important}.offset-xl-10{margin-left:83.33333%!important}.offset-xl-11{margin-left:91.66667%!important}}.Layout{display:grid;--Layout-sidebar-width:220px;--Layout-gutter:16px;grid-auto-flow:column;grid-template-columns:auto 0 1fr;grid-gap:var(--Layout-gutter)}@media (max-width:calc(544px - 1px)){.Layout{grid-auto-flow:row;grid-template-columns:1fr!important}.Layout .Layout-divider,.Layout .Layout-main,.Layout .Layout-sidebar{width:100%!important;grid-column:1!important}.Layout.Layout--divided{--Layout-gutter:0}.Layout.Layout--divided .Layout-divider{height:1px}.Layout.Layout--divided .Layout-divider.Layout-divider--flowRow-hidden{display:none}.Layout.Layout--divided .Layout-divider.Layout-divider--flowRow-shallow{height:8px;margin-right:0;background:var(--color-bg-canvas-inset);border-color:var(--color-border-primary);border-style:solid;border-width:1px 0}.Layout.Layout--sidebarPosition-flowRow-start .Layout-sidebar{grid-row:1}.Layout.Layout--sidebarPosition-flowRow-end .Layout-sidebar,.Layout.Layout--sidebarPosition-flowRow-start .Layout-main{grid-row:2/span 2}.Layout.Layout--sidebarPosition-flowRow-end .Layout-main{grid-row:1}.Layout.Layout--sidebarPosition-flowRow-none .Layout-sidebar{display:none}}@media (max-width:calc(768px - 1px)){.Layout.Layout--flowRow-until-md{grid-auto-flow:row;grid-template-columns:1fr!important}.Layout.Layout--flowRow-until-md .Layout-divider,.Layout.Layout--flowRow-until-md .Layout-main,.Layout.Layout--flowRow-until-md .Layout-sidebar{width:100%!important;grid-column:1!important}.Layout.Layout--flowRow-until-md.Layout--divided{--Layout-gutter:0}.Layout.Layout--flowRow-until-md.Layout--divided .Layout-divider{height:1px}.Layout.Layout--flowRow-until-md.Layout--divided .Layout-divider.Layout-divider--flowRow-hidden{display:none}.Layout.Layout--flowRow-until-md.Layout--divided .Layout-divider.Layout-divider--flowRow-shallow{height:8px;margin-right:0;background:var(--color-bg-canvas-inset);border-color:var(--color-border-primary);border-style:solid;border-width:1px 0}.Layout.Layout--flowRow-until-md.Layout--sidebarPosition-flowRow-start .Layout-sidebar{grid-row:1}.Layout.Layout--flowRow-until-md.Layout--sidebarPosition-flowRow-end .Layout-sidebar,.Layout.Layout--flowRow-until-md.Layout--sidebarPosition-flowRow-start .Layout-main{grid-row:2/span 2}.Layout.Layout--flowRow-until-md.Layout--sidebarPosition-flowRow-end .Layout-main{grid-row:1}.Layout.Layout--flowRow-until-md.Layout--sidebarPosition-flowRow-none .Layout-sidebar{display:none}}@media (max-width:calc(1012px - 1px)){.Layout.Layout--flowRow-until-lg{grid-auto-flow:row;grid-template-columns:1fr!important}.Layout.Layout--flowRow-until-lg .Layout-divider,.Layout.Layout--flowRow-until-lg .Layout-main,.Layout.Layout--flowRow-until-lg .Layout-sidebar{width:100%!important;grid-column:1!important}.Layout.Layout--flowRow-until-lg.Layout--divided{--Layout-gutter:0}.Layout.Layout--flowRow-until-lg.Layout--divided .Layout-divider{height:1px}.Layout.Layout--flowRow-until-lg.Layout--divided .Layout-divider.Layout-divider--flowRow-hidden{display:none}.Layout.Layout--flowRow-until-lg.Layout--divided .Layout-divider.Layout-divider--flowRow-shallow{height:8px;margin-right:0;background:var(--color-bg-canvas-inset);border-color:var(--color-border-primary);border-style:solid;border-width:1px 0}.Layout.Layout--flowRow-until-lg.Layout--sidebarPosition-flowRow-start .Layout-sidebar{grid-row:1}.Layout.Layout--flowRow-until-lg.Layout--sidebarPosition-flowRow-end .Layout-sidebar,.Layout.Layout--flowRow-until-lg.Layout--sidebarPosition-flowRow-start .Layout-main{grid-row:2/span 2}.Layout.Layout--flowRow-until-lg.Layout--sidebarPosition-flowRow-end .Layout-main{grid-row:1}.Layout.Layout--flowRow-until-lg.Layout--sidebarPosition-flowRow-none .Layout-sidebar{display:none}}.Layout .Layout-sidebar{grid-column:1}.Layout .Layout-divider{display:none}.Layout .Layout-main{grid-column:2/span 2}@media (min-width:1012px){.Layout{--Layout-gutter:24px}}.Layout.Layout--gutter-none{--Layout-gutter:0}.Layout.Layout--gutter-condensed{--Layout-gutter:16px}@media (min-width:1012px){.Layout.Layout--gutter-spacious{--Layout-gutter:32px}}@media (min-width:1280px){.Layout.Layout--gutter-spacious{--Layout-gutter:40px}}@media (min-width:544px){.Layout{--Layout-sidebar-width:220px}}@media (min-width:768px){.Layout{--Layout-sidebar-width:256px}}@media (min-width:1012px){.Layout{--Layout-sidebar-width:296px}}@media (min-width:1280px){.Layout{--Layout-sidebar-width:320px}}@media (min-width:768px){.Layout.Layout--sidebar-narrow{--Layout-sidebar-width:240px}}@media (min-width:1012px){.Layout.Layout--sidebar-narrow{--Layout-sidebar-width:256px}}@media (min-width:1280px){.Layout.Layout--sidebar-narrow{--Layout-sidebar-width:296px}}@media (min-width:768px){.Layout.Layout--sidebar-wide{--Layout-sidebar-width:296px}}@media (min-width:1012px){.Layout.Layout--sidebar-wide{--Layout-sidebar-width:320px}}@media (min-width:1280px){.Layout.Layout--sidebar-wide{--Layout-sidebar-width:344px}}.Layout.Layout--sidebarPosition-start .Layout-sidebar{grid-column:1}.Layout.Layout--sidebarPosition-start .Layout-main{grid-column:2/span 2}.Layout.Layout--sidebarPosition-end{grid-template-columns:1fr 0 auto}.Layout.Layout--sidebarPosition-end .Layout-main{grid-column:1}.Layout.Layout--sidebarPosition-end .Layout-sidebar{grid-column:2/span 2}.Layout.Layout--divided .Layout-divider{display:block;grid-column:2;width:1px;margin-right:-1px;background:var(--color-border-primary)}.Layout.Layout--divided .Layout-main{grid-column:3/span 1}.Layout-divider{display:none;width:1px}.Layout-sidebar{width:var(--Layout-sidebar-width)}.Layout-main .Layout-main-centered-lg,.Layout-main .Layout-main-centered-md,.Layout-main .Layout-main-centered-xl{margin-right:auto;margin-left:auto}.Layout-main .Layout-main-centered-lg>.container-lg,.Layout-main .Layout-main-centered-lg>.container-md,.Layout-main .Layout-main-centered-lg>.container-xl,.Layout-main .Layout-main-centered-md>.container-lg,.Layout-main .Layout-main-centered-md>.container-md,.Layout-main .Layout-main-centered-md>.container-xl,.Layout-main .Layout-main-centered-xl>.container-lg,.Layout-main .Layout-main-centered-xl>.container-md,.Layout-main .Layout-main-centered-xl>.container-xl{margin-left:0}.Layout-main .Layout-main-centered-md{max-width:calc(768px + var(--Layout-sidebar-width) + var(--Layout-gutter))}.Layout-main .Layout-main-centered-lg{max-width:calc(1012px + var(--Layout-sidebar-width) + var(--Layout-gutter))}.Layout-main .Layout-main-centered-xl{max-width:calc(1280px + var(--Layout-sidebar-width) + var(--Layout-gutter))}.Link{color:var(--color-text-link)}.Link:hover{text-decoration:underline;cursor:pointer}.Link--primary{color:var(--color-text-primary)!important}.Link--primary:hover{color:var(--color-text-link)!important}.Link--secondary{color:var(--color-text-secondary)!important}.Link--secondary:hover{color:var(--color-text-link)!important}.Link--muted{color:var(--color-text-secondary)!important}.Link--muted:hover{color:var(--color-text-link)!important;text-decoration:none}.Link--onHover:hover{color:var(--color-text-link)!important;text-decoration:underline;cursor:pointer}.Link--muted:hover [class*=color-text],.Link--primary:hover [class*=color-text],.Link--secondary:hover [class*=color-text]{color:inherit!important}.menu{margin-bottom:16px;list-style:none;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px}.menu-item{position:relative;display:block;padding:8px 16px;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-secondary)}.menu-item:first-child{border-top:0;border-top-right-radius:6px}.menu-item:first-child,.menu-item:first-child:before{border-top-left-radius:6px}.menu-item:last-child{border-bottom:0;border-bottom-right-radius:6px}.menu-item:last-child,.menu-item:last-child:before{border-bottom-left-radius:6px}.menu-item:focus{z-index:1;outline:none;box-shadow:var(--color-state-focus-shadow)}.menu-item:hover{text-decoration:none;background-color:var(--color-state-hover-secondary-bg)}.menu-item:active{background-color:var(--color-bg-secondary)}.menu-item.selected,.menu-item[aria-current]:not([aria-current=false]),.menu-item[aria-selected=true]{cursor:default;background-color:var(--color-menu-bg-active)}.menu-item.selected:before,.menu-item[aria-current]:not([aria-current=false]):before,.menu-item[aria-selected=true]:before{position:absolute;top:0;bottom:0;left:0;width:2px;content:"";background-color:var(--color-menu-border-active)}.menu-item .octicon{width:16px;margin-right:8px;color:var(--color-icon-tertiary);text-align:center}.menu-item .Counter{float:right;margin-left:4px}.menu-item .menu-warning{float:right;color:var(--color-auto-red-9)}.menu-item .avatar{float:left;margin-right:4px}.menu-item.alert .Counter{color:var(--color-text-danger)}.menu-heading{display:block;padding:8px 16px;margin-top:0;margin-bottom:0;font-size:inherit;font-weight:600;color:var(--color-menu-heading-text);border-bottom:1px solid var(--color-border-secondary)}.menu-heading:hover{text-decoration:none}.menu-heading:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.menu-heading:last-child{border-bottom:0;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.tabnav{margin-top:0;margin-bottom:16px;border-bottom:1px solid var(--color-border-primary)}.tabnav-tabs{display:flex;margin-bottom:-1px;overflow:auto}.tabnav-tab{display:inline-block;flex-shrink:0;padding:8px 16px;font-size:14px;line-height:23px;color:var(--color-text-secondary);text-decoration:none;background-color:initial;border:1px solid transparent;border-bottom:0;transition:color .2s cubic-bezier(.3,0,.5,1)}.tabnav-tab.selected,.tabnav-tab[aria-current]:not([aria-current=false]),.tabnav-tab[aria-selected=true]{color:var(--color-text-primary);background-color:var(--color-bg-canvas);border-color:var(--color-border-primary);border-radius:6px 6px 0 0}.tabnav-tab.selected .octicon,.tabnav-tab[aria-current]:not([aria-current=false]) .octicon,.tabnav-tab[aria-selected=true] .octicon{color:inherit}.tabnav-tab:focus,.tabnav-tab:hover{color:var(--color-text-primary);text-decoration:none;transition-duration:.1s}.tabnav-tab:active{color:var(--color-text-tertiary)}.tabnav-tab .octicon{margin-right:4px;color:var(--color-icon-tertiary)}.tabnav-tab .Counter{margin-left:4px;color:inherit}.tabnav-extra{display:inline-block;padding-top:10px;margin-left:10px;font-size:12px;color:var(--color-text-secondary)}.tabnav-extra>.octicon{margin-right:2px}a.tabnav-extra:hover{color:var(--color-text-link);text-decoration:none}.tabnav-btn{margin-left:8px}.filter-list{list-style-type:none}.filter-list.small .filter-item{padding:6px 12px;font-size:12px}.filter-list.pjax-active .filter-item{color:var(--color-text-secondary);background-color:initial}.filter-list.pjax-active .filter-item.pjax-active{color:var(--color-text-inverse);background-color:var(--color-bg-info-inverse)}.filter-item{position:relative;display:block;padding:8px 16px;margin-bottom:4px;overflow:hidden;font-size:14px;color:var(--color-text-secondary);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:6px}.filter-item:hover{text-decoration:none;background-color:var(--color-bg-tertiary)}.filter-item.selected,.filter-item[aria-current]:not([aria-current=false]),.filter-item[aria-selected=true]{color:var(--color-state-selected-primary-text);background-color:var(--color-state-selected-primary-bg)}.filter-item .count{float:right;font-weight:600}.filter-item .bar{position:absolute;top:2px;right:0;bottom:2px;z-index:-1;display:inline-block;background-color:var(--color-filter-item-bar-bg)}.SideNav{background-color:var(--color-bg-secondary)}.SideNav-item{position:relative;display:block;width:100%;padding:12px 16px;color:var(--color-text-primary);text-align:left;background-color:initial;border:0;border-top:1px solid var(--color-border-secondary)}.SideNav-item:first-child{border-top:0}.SideNav-item:last-child{box-shadow:0 1px 0 var(--color-border-primary)}.SideNav-item:before{position:absolute;top:0;bottom:0;left:0;z-index:1;width:2px;pointer-events:none;content:""}.SideNav-item:focus{z-index:1;outline:none;box-shadow:var(--color-state-focus-shadow)}.SideNav-item:hover{text-decoration:none;background-color:var(--color-state-hover-secondary-bg);outline:none}.SideNav-item:active{background-color:var(--color-bg-secondary)}.SideNav-item[aria-current]:not([aria-current=false]),.SideNav-item[aria-selected=true]{background-color:var(--color-sidenav-selected-bg)}.SideNav-item[aria-current]:not([aria-current=false]):before,.SideNav-item[aria-selected=true]:before{background-color:var(--color-sidenav-border-active)}.SideNav-icon{width:16px;margin-right:8px;color:var(--color-text-tertiary)}.SideNav-subItem{position:relative;display:block;width:100%;padding:4px 0;color:var(--color-text-link);text-align:left;background-color:initial;border:0}.SideNav-subItem:focus,.SideNav-subItem:hover{color:var(--color-text-primary);text-decoration:none;outline:none}.SideNav-subItem[aria-current]:not([aria-current=false]),.SideNav-subItem[aria-selected=true]{font-weight:500;color:var(--color-text-primary)}.subnav{margin-bottom:20px}.subnav:after,.subnav:before{display:table;content:""}.subnav:after{clear:both}.subnav-bordered{padding-bottom:20px;border-bottom:1px solid var(--color-border-secondary)}.subnav-flush{margin-bottom:0}.subnav-item{position:relative;float:left;padding:5px 16px;font-weight:500;line-height:20px;color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.subnav-item+.subnav-item{margin-left:-1px}.subnav-item:focus,.subnav-item:hover{text-decoration:none;background-color:var(--color-bg-tertiary)}.subnav-item.selected,.subnav-item[aria-current]:not([aria-current=false]),.subnav-item[aria-selected=true]{z-index:2;color:var(--color-state-selected-primary-text);background-color:var(--color-state-selected-primary-bg);border-color:var(--color-state-selected-primary-border)}.subnav-item:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.subnav-item:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.subnav-search{position:relative;margin-left:12px}.subnav-search-input{width:320px;padding-left:32px;color:var(--color-text-secondary)}.subnav-search-input-wide{width:500px}.subnav-search-icon{position:absolute;top:9px;left:8px;display:block;color:var(--color-icon-tertiary);text-align:center;pointer-events:none}.subnav-search-context .btn{border-top-right-radius:0;border-bottom-right-radius:0}.subnav-search-context .btn.selected,.subnav-search-context .btn:active,.subnav-search-context .btn:focus,.subnav-search-context .btn:hover{z-index:2}.subnav-search-context+.subnav-search{margin-left:-1px}.subnav-search-context+.subnav-search .subnav-search-input{border-top-left-radius:0;border-bottom-left-radius:0}.subnav-search-context .select-menu-modal-holder{z-index:30}.subnav-search-context .select-menu-modal{width:220px}.subnav-search-context .select-menu-item-icon{color:inherit}.subnav-spacer-right{padding-right:12px}.UnderlineNav{display:flex;overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px 0 var(--color-border-secondary);justify-content:space-between}.UnderlineNav-body{display:flex}.UnderlineNav-item{padding:8px 16px;font-size:14px;line-height:30px;color:var(--color-underlinenav-text);text-align:center;white-space:nowrap;background-color:initial;border:0;border-bottom:2px solid transparent}.UnderlineNav-item:focus,.UnderlineNav-item:hover{color:var(--color-underlinenav-text-hover);text-decoration:none;border-bottom-color:var(--color-border-tertiary);outline:1px dotted transparent;outline-offset:-1px;transition:border-bottom-color .12s ease-out}.UnderlineNav-item.selected,.UnderlineNav-item[aria-current]:not([aria-current=false]),.UnderlineNav-item[role=tab][aria-selected=true]{font-weight:600;color:var(--color-underlinenav-text-active);border-bottom-color:#f9826c;outline:1px dotted transparent;outline-offset:-1px}.UnderlineNav-item.selected .UnderlineNav-octicon,.UnderlineNav-item[aria-current]:not([aria-current=false]) .UnderlineNav-octicon,.UnderlineNav-item[role=tab][aria-selected=true] .UnderlineNav-octicon{color:var(--color-text-tertiary)}.UnderlineNav--right{justify-content:flex-end}.UnderlineNav--right .UnderlineNav-actions{flex:1 1 auto}.UnderlineNav-actions{align-self:center}.UnderlineNav--full{display:block}.UnderlineNav-octicon{margin-right:4px;color:var(--color-underlinenav-icon)}.UnderlineNav .Counter{margin-left:4px;color:var(--color-underlinenav-counter-text);background-color:var(--color-underlinenav-counter-bg)}.UnderlineNav .Counter--primary{color:var(--color-counter-primary-text);background-color:var(--color-counter-primary-bg)}.UnderlineNav-container{display:flex;justify-content:space-between}.pagination a,.pagination em,.pagination span{display:inline-block;min-width:32px;padding:5px 10px;font-style:normal;line-height:20px;color:var(--color-text-primary);text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:6px;transition:border-color .2s cubic-bezier(.3,0,.5,1)}.pagination a:focus,.pagination a:hover,.pagination em:focus,.pagination em:hover,.pagination span:focus,.pagination span:hover{text-decoration:none;border-color:var(--color-border-primary);outline:0;transition-duration:.1s}.pagination a:active,.pagination em:active,.pagination span:active{border-color:var(--color-border-secondary);transition:none}.pagination .next_page,.pagination .previous_page{color:var(--color-text-link)}.pagination .current,.pagination .current:hover,.pagination [aria-current]:not([aria-current=false]){color:var(--color-state-selected-primary-text);background-color:var(--color-state-selected-primary-bg);border-color:transparent}.pagination .disabled,.pagination .disabled:hover,.pagination .gap,.pagination .gap:hover,.pagination [aria-disabled=true],.pagination [aria-disabled=true]:hover{color:var(--color-text-disabled);cursor:default;border-color:transparent}@supports ((-webkit-clip-path:polygon(50% 0,100% 50%,50% 100%)) or (clip-path:polygon(50% 0,100% 50%,50% 100%))){.pagination .next_page:after,.pagination .previous_page:before{display:inline-block;width:16px;height:16px;vertical-align:text-bottom;content:"";background-color:currentColor}.pagination .previous_page:before{margin-right:4px;-webkit-clip-path:polygon(9.8px 12.8px,8.7px 12.8px,4.5px 8.5px,4.5px 7.5px,8.7px 3.2px,9.8px 4.3px,6.1px 8px,9.8px 11.7px,9.8px 12.8px);clip-path:polygon(9.8px 12.8px,8.7px 12.8px,4.5px 8.5px,4.5px 7.5px,8.7px 3.2px,9.8px 4.3px,6.1px 8px,9.8px 11.7px,9.8px 12.8px)}.pagination .next_page:after{margin-left:4px;-webkit-clip-path:polygon(6.2px 3.2px,7.3px 3.2px,11.5px 7.5px,11.5px 8.5px,7.3px 12.8px,6.2px 11.7px,9.9px 8px,6.2px 4.3px,6.2px 3.2px);clip-path:polygon(6.2px 3.2px,7.3px 3.2px,11.5px 7.5px,11.5px 8.5px,7.3px 12.8px,6.2px 11.7px,9.9px 8px,6.2px 4.3px,6.2px 3.2px)}}.paginate-container{margin-top:16px;margin-bottom:16px;text-align:center}.paginate-container .pagination{display:inline-block}.tooltipped{position:relative}.tooltipped:after{z-index:1000000;padding:.5em .75em;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;-webkit-font-smoothing:subpixel-antialiased;color:var(--color-tooltip-text);text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;content:attr(aria-label);background:var(--color-tooltip-bg);border-radius:6px}.tooltipped:after,.tooltipped:before{position:absolute;display:none;pointer-events:none;opacity:0}.tooltipped:before{z-index:1000001;width:0;height:0;color:var(--color-tooltip-bg);content:"";border:6px solid transparent}@keyframes tooltip-appear{0%{opacity:0}to{opacity:1}}.tooltipped:active:after,.tooltipped:active:before,.tooltipped:focus:after,.tooltipped:focus:before,.tooltipped:hover:after,.tooltipped:hover:before{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:.4s}.tooltipped-no-delay:active:after,.tooltipped-no-delay:active:before,.tooltipped-no-delay:focus:after,.tooltipped-no-delay:focus:before,.tooltipped-no-delay:hover:after,.tooltipped-no-delay:hover:before{animation-delay:0s}.tooltipped-multiline:active:after,.tooltipped-multiline:focus:after,.tooltipped-multiline:hover:after{display:table-cell}.tooltipped-s:after,.tooltipped-se:after,.tooltipped-sw:after{top:100%;right:50%;margin-top:6px}.tooltipped-s:before,.tooltipped-se:before,.tooltipped-sw:before{top:auto;right:50%;bottom:-7px;margin-right:-6px;border-bottom-color:var(--color-tooltip-bg)}.tooltipped-se:after{right:auto;left:50%;margin-left:-16px}.tooltipped-sw:after{margin-right:-16px}.tooltipped-n:after,.tooltipped-ne:after,.tooltipped-nw:after{right:50%;bottom:100%;margin-bottom:6px}.tooltipped-n:before,.tooltipped-ne:before,.tooltipped-nw:before{top:-7px;right:50%;bottom:auto;margin-right:-6px;border-top-color:var(--color-tooltip-bg)}.tooltipped-ne:after{right:auto;left:50%;margin-left:-16px}.tooltipped-nw:after{margin-right:-16px}.tooltipped-n:after,.tooltipped-s:after{transform:translateX(50%)}.tooltipped-w:after{right:100%;bottom:50%;margin-right:6px;transform:translateY(50%)}.tooltipped-w:before{top:50%;bottom:50%;left:-7px;margin-top:-6px;border-left-color:var(--color-tooltip-bg)}.tooltipped-e:after{bottom:50%;left:100%;margin-left:6px;transform:translateY(50%)}.tooltipped-e:before{top:50%;right:-7px;bottom:50%;margin-top:-6px;border-right-color:var(--color-tooltip-bg)}.tooltipped-align-right-1:after,.tooltipped-align-right-2:after{right:0;margin-right:0}.tooltipped-align-right-1:before{right:10px}.tooltipped-align-right-2:before{right:15px}.tooltipped-align-left-1:after,.tooltipped-align-left-2:after{left:0;margin-left:0}.tooltipped-align-left-1:before{left:5px}.tooltipped-align-left-2:before{left:10px}.tooltipped-multiline:after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-wrap:break-word;white-space:pre-line;border-collapse:initial}.tooltipped-multiline.tooltipped-n:after,.tooltipped-multiline.tooltipped-s:after{right:auto;left:50%;transform:translateX(-50%)}.tooltipped-multiline.tooltipped-e:after,.tooltipped-multiline.tooltipped-w:after{right:100%}@media screen and (min-width:0\0){.tooltipped-multiline:after{width:250px}}.tooltipped-sticky:after,.tooltipped-sticky:before{display:inline-block}.tooltipped-sticky.tooltipped-multiline:after{display:table-cell}.css-truncate.css-truncate-overflow,.css-truncate .css-truncate-overflow,.css-truncate.css-truncate-target,.css-truncate .css-truncate-target{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.css-truncate.css-truncate-target,.css-truncate .css-truncate-target{display:inline-block;max-width:125px;vertical-align:top}.css-truncate.expandable.zeroclipboard-is-hover.css-truncate-target,.css-truncate.expandable.zeroclipboard-is-hover .css-truncate-target,.css-truncate.expandable:hover.css-truncate-target,.css-truncate.expandable:hover .css-truncate-target{max-width:10000px!important}.Truncate{display:inline-flex;min-width:0;max-width:100%}.Truncate .Truncate-text{min-width:1ch;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Truncate .Truncate-text+.Truncate-text{margin-left:4px}.Truncate .Truncate-text.Truncate-text--primary{flex-basis:200%}.Truncate .Truncate-text.Truncate-text--expandable:active,.Truncate .Truncate-text.Truncate-text--expandable:focus,.Truncate .Truncate-text.Truncate-text--expandable:hover{max-width:100%!important;flex-shrink:0;cursor:pointer}.anim-fade-in{animation-name:fade-in;animation-duration:1s;animation-timing-function:ease-in-out}.anim-fade-in.fast{animation-duration:.3s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.anim-fade-out{animation-name:fade-out;animation-duration:1s;animation-timing-function:ease-out}.anim-fade-out.fast{animation-duration:.3s}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.anim-fade-up{opacity:0;animation-name:fade-up;animation-duration:.3s;animation-fill-mode:forwards;animation-timing-function:ease-out;animation-delay:1s}@keyframes fade-up{0%{opacity:.8;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.anim-fade-down{animation-name:fade-down;animation-duration:.3s;animation-fill-mode:forwards;animation-timing-function:ease-in}@keyframes fade-down{0%{opacity:1;transform:translateY(0)}to{opacity:.5;transform:translateY(100%)}}.anim-grow-x{width:0;animation-name:grow-x;animation-duration:.3s;animation-fill-mode:forwards;animation-timing-function:ease;animation-delay:.5s}@keyframes grow-x{to{width:100%}}.anim-shrink-x{animation-name:shrink-x;animation-duration:.3s;animation-fill-mode:forwards;animation-timing-function:ease-in-out;animation-delay:.5s}@keyframes shrink-x{to{width:0}}.anim-scale-in{animation-name:scale-in;animation-duration:.15s;animation-timing-function:cubic-bezier(.2,0,.13,1.5)}@keyframes scale-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.anim-pulse{animation-name:pulse;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes pulse{0%{opacity:.3}10%{opacity:1}to{opacity:.3}}.anim-pulse-in{animation-name:pulse-in;animation-duration:.5s}@keyframes pulse-in{0%{transform:scaleX(1)}50%{transform:scale3d(1.1,1.1,1.1)}to{transform:scaleX(1)}}.hover-grow{transition:transform .3s;-webkit-backface-visibility:hidden;backface-visibility:hidden}.hover-grow:hover{transform:scale(1.025)}.anim-rotate{animation:rotate-keyframes 1s linear infinite}@keyframes rotate-keyframes{to{transform:rotate(1turn)}}.border-x{border-right:1px solid var(--color-border-primary)!important;border-left:1px solid var(--color-border-primary)!important}.border-y{border-top:1px solid var(--color-border-primary)!important;border-bottom:1px solid var(--color-border-primary)!important}.border{border:1px solid var(--color-border-primary)!important}.border-0{border:0!important}.border-top{border-top:1px solid var(--color-border-primary)!important}.border-right{border-right:1px solid var(--color-border-primary)!important}.border-bottom{border-bottom:1px solid var(--color-border-primary)!important}.border-left{border-left:1px solid var(--color-border-primary)!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.rounded{border-radius:6px!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:4px!important}.rounded-2{border-radius:6px!important}.rounded-3{border-radius:8px!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-top-2{border-top-left-radius:6px!important;border-top-right-radius:6px!important}.rounded-top-3{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-right-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-right-1{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-right-2{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-right-3{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:4px!important;border-bottom-left-radius:4px!important}.rounded-bottom-2{border-bottom-right-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-bottom-3{border-bottom-right-radius:8px!important;border-bottom-left-radius:8px!important}.rounded-left-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-left-1{border-bottom-left-radius:4px!important;border-top-left-radius:4px!important}.rounded-left-2{border-bottom-left-radius:6px!important;border-top-left-radius:6px!important}.rounded-left-3{border-bottom-left-radius:8px!important;border-top-left-radius:8px!important}@media (min-width:544px){.border-sm{border:1px solid var(--color-border-primary)!important}.border-sm-0{border:0!important}.border-sm-top{border-top:1px solid var(--color-border-primary)!important}.border-sm-right{border-right:1px solid var(--color-border-primary)!important}.border-sm-bottom{border-bottom:1px solid var(--color-border-primary)!important}.border-sm-left{border-left:1px solid var(--color-border-primary)!important}.border-sm-top-0{border-top:0!important}.border-sm-right-0{border-right:0!important}.border-sm-bottom-0{border-bottom:0!important}.border-sm-left-0{border-left:0!important}.rounded-sm{border-radius:6px!important}.rounded-sm-0{border-radius:0!important}.rounded-sm-1{border-radius:4px!important}.rounded-sm-2{border-radius:6px!important}.rounded-sm-3{border-radius:8px!important}.rounded-sm-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-sm-top-1{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-sm-top-2{border-top-left-radius:6px!important;border-top-right-radius:6px!important}.rounded-sm-top-3{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-sm-right-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-sm-right-1{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-sm-right-2{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-sm-right-3{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-sm-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-sm-bottom-1{border-bottom-right-radius:4px!important;border-bottom-left-radius:4px!important}.rounded-sm-bottom-2{border-bottom-right-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-sm-bottom-3{border-bottom-right-radius:8px!important;border-bottom-left-radius:8px!important}.rounded-sm-left-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-sm-left-1{border-bottom-left-radius:4px!important;border-top-left-radius:4px!important}.rounded-sm-left-2{border-bottom-left-radius:6px!important;border-top-left-radius:6px!important}.rounded-sm-left-3{border-bottom-left-radius:8px!important;border-top-left-radius:8px!important}}@media (min-width:768px){.border-md{border:1px solid var(--color-border-primary)!important}.border-md-0{border:0!important}.border-md-top{border-top:1px solid var(--color-border-primary)!important}.border-md-right{border-right:1px solid var(--color-border-primary)!important}.border-md-bottom{border-bottom:1px solid var(--color-border-primary)!important}.border-md-left{border-left:1px solid var(--color-border-primary)!important}.border-md-top-0{border-top:0!important}.border-md-right-0{border-right:0!important}.border-md-bottom-0{border-bottom:0!important}.border-md-left-0{border-left:0!important}.rounded-md{border-radius:6px!important}.rounded-md-0{border-radius:0!important}.rounded-md-1{border-radius:4px!important}.rounded-md-2{border-radius:6px!important}.rounded-md-3{border-radius:8px!important}.rounded-md-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-md-top-1{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-md-top-2{border-top-left-radius:6px!important;border-top-right-radius:6px!important}.rounded-md-top-3{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-md-right-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-md-right-1{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-md-right-2{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-md-right-3{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-md-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-md-bottom-1{border-bottom-right-radius:4px!important;border-bottom-left-radius:4px!important}.rounded-md-bottom-2{border-bottom-right-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-md-bottom-3{border-bottom-right-radius:8px!important;border-bottom-left-radius:8px!important}.rounded-md-left-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-md-left-1{border-bottom-left-radius:4px!important;border-top-left-radius:4px!important}.rounded-md-left-2{border-bottom-left-radius:6px!important;border-top-left-radius:6px!important}.rounded-md-left-3{border-bottom-left-radius:8px!important;border-top-left-radius:8px!important}}@media (min-width:1012px){.border-lg{border:1px solid var(--color-border-primary)!important}.border-lg-0{border:0!important}.border-lg-top{border-top:1px solid var(--color-border-primary)!important}.border-lg-right{border-right:1px solid var(--color-border-primary)!important}.border-lg-bottom{border-bottom:1px solid var(--color-border-primary)!important}.border-lg-left{border-left:1px solid var(--color-border-primary)!important}.border-lg-top-0{border-top:0!important}.border-lg-right-0{border-right:0!important}.border-lg-bottom-0{border-bottom:0!important}.border-lg-left-0{border-left:0!important}.rounded-lg{border-radius:6px!important}.rounded-lg-0{border-radius:0!important}.rounded-lg-1{border-radius:4px!important}.rounded-lg-2{border-radius:6px!important}.rounded-lg-3{border-radius:8px!important}.rounded-lg-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-lg-top-1{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-lg-top-2{border-top-left-radius:6px!important;border-top-right-radius:6px!important}.rounded-lg-top-3{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-lg-right-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-lg-right-1{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-lg-right-2{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-lg-right-3{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-lg-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-lg-bottom-1{border-bottom-right-radius:4px!important;border-bottom-left-radius:4px!important}.rounded-lg-bottom-2{border-bottom-right-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-lg-bottom-3{border-bottom-right-radius:8px!important;border-bottom-left-radius:8px!important}.rounded-lg-left-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-lg-left-1{border-bottom-left-radius:4px!important;border-top-left-radius:4px!important}.rounded-lg-left-2{border-bottom-left-radius:6px!important;border-top-left-radius:6px!important}.rounded-lg-left-3{border-bottom-left-radius:8px!important;border-top-left-radius:8px!important}}@media (min-width:1280px){.border-xl{border:1px solid var(--color-border-primary)!important}.border-xl-0{border:0!important}.border-xl-top{border-top:1px solid var(--color-border-primary)!important}.border-xl-right{border-right:1px solid var(--color-border-primary)!important}.border-xl-bottom{border-bottom:1px solid var(--color-border-primary)!important}.border-xl-left{border-left:1px solid var(--color-border-primary)!important}.border-xl-top-0{border-top:0!important}.border-xl-right-0{border-right:0!important}.border-xl-bottom-0{border-bottom:0!important}.border-xl-left-0{border-left:0!important}.rounded-xl{border-radius:6px!important}.rounded-xl-0{border-radius:0!important}.rounded-xl-1{border-radius:4px!important}.rounded-xl-2{border-radius:6px!important}.rounded-xl-3{border-radius:8px!important}.rounded-xl-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-xl-top-1{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-xl-top-2{border-top-left-radius:6px!important;border-top-right-radius:6px!important}.rounded-xl-top-3{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-xl-right-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-xl-right-1{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-xl-right-2{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-xl-right-3{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-xl-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-xl-bottom-1{border-bottom-right-radius:4px!important;border-bottom-left-radius:4px!important}.rounded-xl-bottom-2{border-bottom-right-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-xl-bottom-3{border-bottom-right-radius:8px!important;border-bottom-left-radius:8px!important}.rounded-xl-left-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-xl-left-1{border-bottom-left-radius:4px!important;border-top-left-radius:4px!important}.rounded-xl-left-2{border-bottom-left-radius:6px!important;border-top-left-radius:6px!important}.rounded-xl-left-3{border-bottom-left-radius:8px!important;border-top-left-radius:8px!important}}.circle{border-radius:50%!important}.border-dashed{border-style:dashed!important}.color-shadow-small{box-shadow:var(--color-shadow-small)!important}.color-shadow-medium{box-shadow:var(--color-shadow-medium)!important}.color-shadow-large{box-shadow:var(--color-shadow-large)!important}.color-shadow-extra-large{box-shadow:var(--color-shadow-extra-large)!important}.box-shadow-none{box-shadow:none!important}.color-text-primary{color:var(--color-text-primary)!important}.color-text-secondary{color:var(--color-text-secondary)!important}.color-text-tertiary{color:var(--color-text-tertiary)!important}.color-text-link{color:var(--color-text-link)!important}.color-text-success{color:var(--color-text-success)!important}.color-text-warning{color:var(--color-text-warning)!important}.color-text-danger{color:var(--color-text-danger)!important}.color-text-inverse{color:var(--color-text-inverse)!important}.color-text-white{color:var(--color-text-white)!important}.color-icon-primary{color:var(--color-icon-primary)!important}.color-icon-secondary{color:var(--color-icon-secondary)!important}.color-icon-tertiary{color:var(--color-icon-tertiary)!important}.color-icon-info{color:var(--color-icon-info)!important}.color-icon-danger{color:var(--color-icon-danger)!important}.color-icon-success{color:var(--color-icon-success)!important}.color-icon-warning{color:var(--color-icon-warning)!important}.color-border-primary{border-color:var(--color-border-primary)!important}.color-border-secondary{border-color:var(--color-border-secondary)!important}.color-border-tertiary{border-color:var(--color-border-tertiary)!important}.color-border-inverse{border-color:var(--color-border-inverse)!important}.color-border-info{border-color:var(--color-border-info)!important}.color-border-success{border-color:var(--color-border-success)!important}.color-border-danger{border-color:var(--color-border-danger)!important}.color-border-warning{border-color:var(--color-border-warning)!important}.color-bg-canvas{background-color:var(--color-bg-canvas)!important}.color-bg-canvas-inverse{background-color:var(--color-bg-canvas-inverse)!important}.color-bg-canvas-inset{background-color:var(--color-bg-canvas-inset)!important}.color-bg-primary{background-color:var(--color-bg-primary)!important}.color-bg-secondary{background-color:var(--color-bg-secondary)!important}.color-bg-tertiary{background-color:var(--color-bg-tertiary)!important}.color-bg-overlay{background-color:var(--color-bg-overlay)!important}.color-bg-info{background-color:var(--color-bg-info)!important}.color-bg-info-inverse{background-color:var(--color-bg-info-inverse)!important}.color-bg-danger{background-color:var(--color-bg-danger)!important}.color-bg-danger-inverse{background-color:var(--color-bg-danger-inverse)!important}.color-bg-success{background-color:var(--color-bg-success)!important}.color-bg-success-inverse{background-color:var(--color-bg-success-inverse)!important}.color-bg-warning{background-color:var(--color-bg-warning)!important}.color-bg-warning-inverse{background-color:var(--color-bg-warning-inverse)!important}.text-inherit{color:inherit!important}.details-overlay[open]>summary:before{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:block;cursor:default;content:" ";background:transparent}.details-overlay-dark[open]>summary:before{z-index:99;background:var(--color-fade-black-50)}.details-reset>summary{list-style:none}.details-reset>summary:before{display:none}.details-reset>summary::-webkit-details-marker{display:none}.flex-row{flex-direction:row!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column{flex-direction:column!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-justify-start{justify-content:flex-start!important}.flex-justify-end{justify-content:flex-end!important}.flex-justify-center{justify-content:center!important}.flex-justify-between{justify-content:space-between!important}.flex-justify-around{justify-content:space-around!important}.flex-items-start{align-items:flex-start!important}.flex-items-end{align-items:flex-end!important}.flex-items-center{align-items:center!important}.flex-items-baseline{align-items:baseline!important}.flex-items-stretch{align-items:stretch!important}.flex-content-start{align-content:flex-start!important}.flex-content-end{align-content:flex-end!important}.flex-content-center{align-content:center!important}.flex-content-between{align-content:space-between!important}.flex-content-around{align-content:space-around!important}.flex-content-stretch{align-content:stretch!important}.flex-1{flex:1!important}.flex-auto{flex:auto!important}.flex-grow-0{flex-grow:0!important}.flex-shrink-0{flex-shrink:0!important}.flex-self-auto{align-self:auto!important}.flex-self-start{align-self:flex-start!important}.flex-self-end{align-self:flex-end!important}.flex-self-center{align-self:center!important}.flex-self-baseline{align-self:baseline!important}.flex-self-stretch{align-self:stretch!important}.flex-order-1{order:1!important}.flex-order-2{order:2!important}.flex-order-none{order:inherit!important}@media (min-width:544px){.flex-sm-row{flex-direction:row!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column{flex-direction:column!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-justify-start{justify-content:flex-start!important}.flex-sm-justify-end{justify-content:flex-end!important}.flex-sm-justify-center{justify-content:center!important}.flex-sm-justify-between{justify-content:space-between!important}.flex-sm-justify-around{justify-content:space-around!important}.flex-sm-items-start{align-items:flex-start!important}.flex-sm-items-end{align-items:flex-end!important}.flex-sm-items-center{align-items:center!important}.flex-sm-items-baseline{align-items:baseline!important}.flex-sm-items-stretch{align-items:stretch!important}.flex-sm-content-start{align-content:flex-start!important}.flex-sm-content-end{align-content:flex-end!important}.flex-sm-content-center{align-content:center!important}.flex-sm-content-between{align-content:space-between!important}.flex-sm-content-around{align-content:space-around!important}.flex-sm-content-stretch{align-content:stretch!important}.flex-sm-1{flex:1!important}.flex-sm-auto{flex:auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-self-auto{align-self:auto!important}.flex-sm-self-start{align-self:flex-start!important}.flex-sm-self-end{align-self:flex-end!important}.flex-sm-self-center{align-self:center!important}.flex-sm-self-baseline{align-self:baseline!important}.flex-sm-self-stretch{align-self:stretch!important}.flex-sm-order-1{order:1!important}.flex-sm-order-2{order:2!important}.flex-sm-order-none{order:inherit!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column{flex-direction:column!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-justify-start{justify-content:flex-start!important}.flex-md-justify-end{justify-content:flex-end!important}.flex-md-justify-center{justify-content:center!important}.flex-md-justify-between{justify-content:space-between!important}.flex-md-justify-around{justify-content:space-around!important}.flex-md-items-start{align-items:flex-start!important}.flex-md-items-end{align-items:flex-end!important}.flex-md-items-center{align-items:center!important}.flex-md-items-baseline{align-items:baseline!important}.flex-md-items-stretch{align-items:stretch!important}.flex-md-content-start{align-content:flex-start!important}.flex-md-content-end{align-content:flex-end!important}.flex-md-content-center{align-content:center!important}.flex-md-content-between{align-content:space-between!important}.flex-md-content-around{align-content:space-around!important}.flex-md-content-stretch{align-content:stretch!important}.flex-md-1{flex:1!important}.flex-md-auto{flex:auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-self-auto{align-self:auto!important}.flex-md-self-start{align-self:flex-start!important}.flex-md-self-end{align-self:flex-end!important}.flex-md-self-center{align-self:center!important}.flex-md-self-baseline{align-self:baseline!important}.flex-md-self-stretch{align-self:stretch!important}.flex-md-order-1{order:1!important}.flex-md-order-2{order:2!important}.flex-md-order-none{order:inherit!important}}@media (min-width:1012px){.flex-lg-row{flex-direction:row!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column{flex-direction:column!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-justify-start{justify-content:flex-start!important}.flex-lg-justify-end{justify-content:flex-end!important}.flex-lg-justify-center{justify-content:center!important}.flex-lg-justify-between{justify-content:space-between!important}.flex-lg-justify-around{justify-content:space-around!important}.flex-lg-items-start{align-items:flex-start!important}.flex-lg-items-end{align-items:flex-end!important}.flex-lg-items-center{align-items:center!important}.flex-lg-items-baseline{align-items:baseline!important}.flex-lg-items-stretch{align-items:stretch!important}.flex-lg-content-start{align-content:flex-start!important}.flex-lg-content-end{align-content:flex-end!important}.flex-lg-content-center{align-content:center!important}.flex-lg-content-between{align-content:space-between!important}.flex-lg-content-around{align-content:space-around!important}.flex-lg-content-stretch{align-content:stretch!important}.flex-lg-1{flex:1!important}.flex-lg-auto{flex:auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-self-auto{align-self:auto!important}.flex-lg-self-start{align-self:flex-start!important}.flex-lg-self-end{align-self:flex-end!important}.flex-lg-self-center{align-self:center!important}.flex-lg-self-baseline{align-self:baseline!important}.flex-lg-self-stretch{align-self:stretch!important}.flex-lg-order-1{order:1!important}.flex-lg-order-2{order:2!important}.flex-lg-order-none{order:inherit!important}}@media (min-width:1280px){.flex-xl-row{flex-direction:row!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column{flex-direction:column!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-justify-start{justify-content:flex-start!important}.flex-xl-justify-end{justify-content:flex-end!important}.flex-xl-justify-center{justify-content:center!important}.flex-xl-justify-between{justify-content:space-between!important}.flex-xl-justify-around{justify-content:space-around!important}.flex-xl-items-start{align-items:flex-start!important}.flex-xl-items-end{align-items:flex-end!important}.flex-xl-items-center{align-items:center!important}.flex-xl-items-baseline{align-items:baseline!important}.flex-xl-items-stretch{align-items:stretch!important}.flex-xl-content-start{align-content:flex-start!important}.flex-xl-content-end{align-content:flex-end!important}.flex-xl-content-center{align-content:center!important}.flex-xl-content-between{align-content:space-between!important}.flex-xl-content-around{align-content:space-around!important}.flex-xl-content-stretch{align-content:stretch!important}.flex-xl-1{flex:1!important}.flex-xl-auto{flex:auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-self-auto{align-self:auto!important}.flex-xl-self-start{align-self:flex-start!important}.flex-xl-self-end{align-self:flex-end!important}.flex-xl-self-center{align-self:center!important}.flex-xl-self-baseline{align-self:baseline!important}.flex-xl-self-stretch{align-self:stretch!important}.flex-xl-order-1{order:1!important}.flex-xl-order-2{order:2!important}.flex-xl-order-none{order:inherit!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}@media (min-width:544px){.position-sm-static{position:static!important}.position-sm-relative{position:relative!important}.position-sm-absolute{position:absolute!important}.position-sm-fixed{position:fixed!important}.position-sm-sticky{position:-webkit-sticky!important;position:sticky!important}}@media (min-width:768px){.position-md-static{position:static!important}.position-md-relative{position:relative!important}.position-md-absolute{position:absolute!important}.position-md-fixed{position:fixed!important}.position-md-sticky{position:-webkit-sticky!important;position:sticky!important}}@media (min-width:1012px){.position-lg-static{position:static!important}.position-lg-relative{position:relative!important}.position-lg-absolute{position:absolute!important}.position-lg-fixed{position:fixed!important}.position-lg-sticky{position:-webkit-sticky!important;position:sticky!important}}@media (min-width:1280px){.position-xl-static{position:static!important}.position-xl-relative{position:relative!important}.position-xl-absolute{position:absolute!important}.position-xl-fixed{position:fixed!important}.position-xl-sticky{position:-webkit-sticky!important;position:sticky!important}}.top-0{top:0!important}.right-0{right:0!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.top-auto{top:auto!important}.right-auto{right:auto!important}.bottom-auto{bottom:auto!important}.left-auto{left:auto!important}@media (min-width:544px){.top-sm-0{top:0!important}.right-sm-0{right:0!important}.bottom-sm-0{bottom:0!important}.left-sm-0{left:0!important}.top-sm-auto{top:auto!important}.right-sm-auto{right:auto!important}.bottom-sm-auto{bottom:auto!important}.left-sm-auto{left:auto!important}}@media (min-width:768px){.top-md-0{top:0!important}.right-md-0{right:0!important}.bottom-md-0{bottom:0!important}.left-md-0{left:0!important}.top-md-auto{top:auto!important}.right-md-auto{right:auto!important}.bottom-md-auto{bottom:auto!important}.left-md-auto{left:auto!important}}@media (min-width:1012px){.top-lg-0{top:0!important}.right-lg-0{right:0!important}.bottom-lg-0{bottom:0!important}.left-lg-0{left:0!important}.top-lg-auto{top:auto!important}.right-lg-auto{right:auto!important}.bottom-lg-auto{bottom:auto!important}.left-lg-auto{left:auto!important}}@media (min-width:1280px){.top-xl-0{top:0!important}.right-xl-0{right:0!important}.bottom-xl-0{bottom:0!important}.left-xl-0{left:0!important}.top-xl-auto{top:auto!important}.right-xl-auto{right:auto!important}.bottom-xl-auto{bottom:auto!important}.left-xl-auto{left:auto!important}}.v-align-middle{vertical-align:middle!important}.v-align-top{vertical-align:top!important}.v-align-bottom{vertical-align:bottom!important}.v-align-text-top{vertical-align:text-top!important}.v-align-text-bottom{vertical-align:text-bottom!important}.v-align-baseline{vertical-align:initial!important}.overflow-visible{overflow:visible!important}.overflow-x-visible{overflow-x:visible!important}.overflow-y-visible{overflow-y:visible!important}.overflow-hidden{overflow:hidden!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-auto{overflow:auto!important}.overflow-x-auto{overflow-x:auto!important}.overflow-y-auto{overflow-y:auto!important}.overflow-scroll{overflow:scroll!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-scroll{overflow-y:scroll!important}@media (min-width:544px){.overflow-sm-visible{overflow:visible!important}.overflow-sm-x-visible{overflow-x:visible!important}.overflow-sm-y-visible{overflow-y:visible!important}.overflow-sm-hidden{overflow:hidden!important}.overflow-sm-x-hidden{overflow-x:hidden!important}.overflow-sm-y-hidden{overflow-y:hidden!important}.overflow-sm-auto{overflow:auto!important}.overflow-sm-x-auto{overflow-x:auto!important}.overflow-sm-y-auto{overflow-y:auto!important}.overflow-sm-scroll{overflow:scroll!important}.overflow-sm-x-scroll{overflow-x:scroll!important}.overflow-sm-y-scroll{overflow-y:scroll!important}}@media (min-width:768px){.overflow-md-visible{overflow:visible!important}.overflow-md-x-visible{overflow-x:visible!important}.overflow-md-y-visible{overflow-y:visible!important}.overflow-md-hidden{overflow:hidden!important}.overflow-md-x-hidden{overflow-x:hidden!important}.overflow-md-y-hidden{overflow-y:hidden!important}.overflow-md-auto{overflow:auto!important}.overflow-md-x-auto{overflow-x:auto!important}.overflow-md-y-auto{overflow-y:auto!important}.overflow-md-scroll{overflow:scroll!important}.overflow-md-x-scroll{overflow-x:scroll!important}.overflow-md-y-scroll{overflow-y:scroll!important}}@media (min-width:1012px){.overflow-lg-visible{overflow:visible!important}.overflow-lg-x-visible{overflow-x:visible!important}.overflow-lg-y-visible{overflow-y:visible!important}.overflow-lg-hidden{overflow:hidden!important}.overflow-lg-x-hidden{overflow-x:hidden!important}.overflow-lg-y-hidden{overflow-y:hidden!important}.overflow-lg-auto{overflow:auto!important}.overflow-lg-x-auto{overflow-x:auto!important}.overflow-lg-y-auto{overflow-y:auto!important}.overflow-lg-scroll{overflow:scroll!important}.overflow-lg-x-scroll{overflow-x:scroll!important}.overflow-lg-y-scroll{overflow-y:scroll!important}}@media (min-width:1280px){.overflow-xl-visible{overflow:visible!important}.overflow-xl-x-visible{overflow-x:visible!important}.overflow-xl-y-visible{overflow-y:visible!important}.overflow-xl-hidden{overflow:hidden!important}.overflow-xl-x-hidden{overflow-x:hidden!important}.overflow-xl-y-hidden{overflow-y:hidden!important}.overflow-xl-auto{overflow:auto!important}.overflow-xl-x-auto{overflow-x:auto!important}.overflow-xl-y-auto{overflow-y:auto!important}.overflow-xl-scroll{overflow:scroll!important}.overflow-xl-x-scroll{overflow-x:scroll!important}.overflow-xl-y-scroll{overflow-y:scroll!important}}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:544px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:1012px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1280px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.width-fit{max-width:100%!important}.width-full{width:100%!important}.height-fit{max-height:100%!important}.height-full{height:100%!important}.min-width-0{min-width:0!important}.width-auto{width:auto!important}.direction-rtl{direction:rtl!important}.direction-ltr{direction:ltr!important}@media (min-width:544px){.width-sm-auto{width:auto!important}.direction-sm-rtl{direction:rtl!important}.direction-sm-ltr{direction:ltr!important}}@media (min-width:768px){.width-md-auto{width:auto!important}.direction-md-rtl{direction:rtl!important}.direction-md-ltr{direction:ltr!important}}@media (min-width:1012px){.width-lg-auto{width:auto!important}.direction-lg-rtl{direction:rtl!important}.direction-lg-ltr{direction:ltr!important}}@media (min-width:1280px){.width-xl-auto{width:auto!important}.direction-xl-rtl{direction:rtl!important}.direction-xl-ltr{direction:ltr!important}}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mb-0{margin-bottom:0!important}.mr-0{margin-right:0!important}.ml-0,.mx-0{margin-left:0!important}.mx-0{margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:4px!important}.mt-1{margin-top:4px!important}.mb-1{margin-bottom:4px!important}.mr-1{margin-right:4px!important}.ml-1{margin-left:4px!important}.mt-n1{margin-top:-4px!important}.mb-n1{margin-bottom:-4px!important}.mr-n1{margin-right:-4px!important}.ml-n1{margin-left:-4px!important}.mx-1{margin-right:4px!important;margin-left:4px!important}.my-1{margin-top:4px!important;margin-bottom:4px!important}.m-2{margin:8px!important}.mt-2{margin-top:8px!important}.mb-2{margin-bottom:8px!important}.mr-2{margin-right:8px!important}.ml-2{margin-left:8px!important}.mt-n2{margin-top:-8px!important}.mb-n2{margin-bottom:-8px!important}.mr-n2{margin-right:-8px!important}.ml-n2{margin-left:-8px!important}.mx-2{margin-right:8px!important;margin-left:8px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.m-3{margin:16px!important}.mt-3{margin-top:16px!important}.mb-3{margin-bottom:16px!important}.mr-3{margin-right:16px!important}.ml-3{margin-left:16px!important}.mt-n3{margin-top:-16px!important}.mb-n3{margin-bottom:-16px!important}.mr-n3{margin-right:-16px!important}.ml-n3{margin-left:-16px!important}.mx-3{margin-right:16px!important;margin-left:16px!important}.my-3{margin-top:16px!important;margin-bottom:16px!important}.m-4{margin:24px!important}.mt-4{margin-top:24px!important}.mb-4{margin-bottom:24px!important}.mr-4{margin-right:24px!important}.ml-4{margin-left:24px!important}.mt-n4{margin-top:-24px!important}.mb-n4{margin-bottom:-24px!important}.mr-n4{margin-right:-24px!important}.ml-n4{margin-left:-24px!important}.mx-4{margin-right:24px!important;margin-left:24px!important}.my-4{margin-top:24px!important;margin-bottom:24px!important}.m-5{margin:32px!important}.mt-5{margin-top:32px!important}.mb-5{margin-bottom:32px!important}.mr-5{margin-right:32px!important}.ml-5{margin-left:32px!important}.mt-n5{margin-top:-32px!important}.mb-n5{margin-bottom:-32px!important}.mr-n5{margin-right:-32px!important}.ml-n5{margin-left:-32px!important}.mx-5{margin-right:32px!important;margin-left:32px!important}.my-5{margin-top:32px!important;margin-bottom:32px!important}.m-6{margin:40px!important}.mt-6{margin-top:40px!important}.mb-6{margin-bottom:40px!important}.mr-6{margin-right:40px!important}.ml-6{margin-left:40px!important}.mt-n6{margin-top:-40px!important}.mb-n6{margin-bottom:-40px!important}.mr-n6{margin-right:-40px!important}.ml-n6{margin-left:-40px!important}.mx-6{margin-right:40px!important;margin-left:40px!important}.my-6{margin-top:40px!important;margin-bottom:40px!important}.mt-7{margin-top:48px!important}.mb-7{margin-bottom:48px!important}.mt-n7{margin-top:-48px!important}.mb-n7{margin-bottom:-48px!important}.my-7{margin-top:48px!important;margin-bottom:48px!important}.mt-8{margin-top:64px!important}.mb-8{margin-bottom:64px!important}.mt-n8{margin-top:-64px!important}.mb-n8{margin-bottom:-64px!important}.my-8{margin-top:64px!important;margin-bottom:64px!important}.mt-9{margin-top:80px!important}.mb-9{margin-bottom:80px!important}.mt-n9{margin-top:-80px!important}.mb-n9{margin-bottom:-80px!important}.my-9{margin-top:80px!important;margin-bottom:80px!important}.mt-10{margin-top:96px!important}.mb-10{margin-bottom:96px!important}.mt-n10{margin-top:-96px!important}.mb-n10{margin-bottom:-96px!important}.my-10{margin-top:96px!important;margin-bottom:96px!important}.mt-11{margin-top:112px!important}.mb-11{margin-bottom:112px!important}.mt-n11{margin-top:-112px!important}.mb-n11{margin-bottom:-112px!important}.my-11{margin-top:112px!important;margin-bottom:112px!important}.mt-12{margin-top:128px!important}.mb-12{margin-bottom:128px!important}.mt-n12{margin-top:-128px!important}.mb-n12{margin-bottom:-128px!important}.my-12{margin-top:128px!important;margin-bottom:128px!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}@media (min-width:544px){.m-sm-0{margin:0!important}.mt-sm-0{margin-top:0!important}.mb-sm-0{margin-bottom:0!important}.mr-sm-0{margin-right:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:4px!important}.mt-sm-1{margin-top:4px!important}.mb-sm-1{margin-bottom:4px!important}.mr-sm-1{margin-right:4px!important}.ml-sm-1{margin-left:4px!important}.mt-sm-n1{margin-top:-4px!important}.mb-sm-n1{margin-bottom:-4px!important}.mr-sm-n1{margin-right:-4px!important}.ml-sm-n1{margin-left:-4px!important}.mx-sm-1{margin-right:4px!important;margin-left:4px!important}.my-sm-1{margin-top:4px!important;margin-bottom:4px!important}.m-sm-2{margin:8px!important}.mt-sm-2{margin-top:8px!important}.mb-sm-2{margin-bottom:8px!important}.mr-sm-2{margin-right:8px!important}.ml-sm-2{margin-left:8px!important}.mt-sm-n2{margin-top:-8px!important}.mb-sm-n2{margin-bottom:-8px!important}.mr-sm-n2{margin-right:-8px!important}.ml-sm-n2{margin-left:-8px!important}.mx-sm-2{margin-right:8px!important;margin-left:8px!important}.my-sm-2{margin-top:8px!important;margin-bottom:8px!important}.m-sm-3{margin:16px!important}.mt-sm-3{margin-top:16px!important}.mb-sm-3{margin-bottom:16px!important}.mr-sm-3{margin-right:16px!important}.ml-sm-3{margin-left:16px!important}.mt-sm-n3{margin-top:-16px!important}.mb-sm-n3{margin-bottom:-16px!important}.mr-sm-n3{margin-right:-16px!important}.ml-sm-n3{margin-left:-16px!important}.mx-sm-3{margin-right:16px!important;margin-left:16px!important}.my-sm-3{margin-top:16px!important;margin-bottom:16px!important}.m-sm-4{margin:24px!important}.mt-sm-4{margin-top:24px!important}.mb-sm-4{margin-bottom:24px!important}.mr-sm-4{margin-right:24px!important}.ml-sm-4{margin-left:24px!important}.mt-sm-n4{margin-top:-24px!important}.mb-sm-n4{margin-bottom:-24px!important}.mr-sm-n4{margin-right:-24px!important}.ml-sm-n4{margin-left:-24px!important}.mx-sm-4{margin-right:24px!important;margin-left:24px!important}.my-sm-4{margin-top:24px!important;margin-bottom:24px!important}.m-sm-5{margin:32px!important}.mt-sm-5{margin-top:32px!important}.mb-sm-5{margin-bottom:32px!important}.mr-sm-5{margin-right:32px!important}.ml-sm-5{margin-left:32px!important}.mt-sm-n5{margin-top:-32px!important}.mb-sm-n5{margin-bottom:-32px!important}.mr-sm-n5{margin-right:-32px!important}.ml-sm-n5{margin-left:-32px!important}.mx-sm-5{margin-right:32px!important;margin-left:32px!important}.my-sm-5{margin-top:32px!important;margin-bottom:32px!important}.m-sm-6{margin:40px!important}.mt-sm-6{margin-top:40px!important}.mb-sm-6{margin-bottom:40px!important}.mr-sm-6{margin-right:40px!important}.ml-sm-6{margin-left:40px!important}.mt-sm-n6{margin-top:-40px!important}.mb-sm-n6{margin-bottom:-40px!important}.mr-sm-n6{margin-right:-40px!important}.ml-sm-n6{margin-left:-40px!important}.mx-sm-6{margin-right:40px!important;margin-left:40px!important}.my-sm-6{margin-top:40px!important;margin-bottom:40px!important}.mt-sm-7{margin-top:48px!important}.mb-sm-7{margin-bottom:48px!important}.mt-sm-n7{margin-top:-48px!important}.mb-sm-n7{margin-bottom:-48px!important}.my-sm-7{margin-top:48px!important;margin-bottom:48px!important}.mt-sm-8{margin-top:64px!important}.mb-sm-8{margin-bottom:64px!important}.mt-sm-n8{margin-top:-64px!important}.mb-sm-n8{margin-bottom:-64px!important}.my-sm-8{margin-top:64px!important;margin-bottom:64px!important}.mt-sm-9{margin-top:80px!important}.mb-sm-9{margin-bottom:80px!important}.mt-sm-n9{margin-top:-80px!important}.mb-sm-n9{margin-bottom:-80px!important}.my-sm-9{margin-top:80px!important;margin-bottom:80px!important}.mt-sm-10{margin-top:96px!important}.mb-sm-10{margin-bottom:96px!important}.mt-sm-n10{margin-top:-96px!important}.mb-sm-n10{margin-bottom:-96px!important}.my-sm-10{margin-top:96px!important;margin-bottom:96px!important}.mt-sm-11{margin-top:112px!important}.mb-sm-11{margin-bottom:112px!important}.mt-sm-n11{margin-top:-112px!important}.mb-sm-n11{margin-bottom:-112px!important}.my-sm-11{margin-top:112px!important;margin-bottom:112px!important}.mt-sm-12{margin-top:128px!important}.mb-sm-12{margin-bottom:128px!important}.mt-sm-n12{margin-top:-128px!important}.mb-sm-n12{margin-bottom:-128px!important}.my-sm-12{margin-top:128px!important;margin-bottom:128px!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0{margin-top:0!important}.mb-md-0{margin-bottom:0!important}.mr-md-0{margin-right:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:4px!important}.mt-md-1{margin-top:4px!important}.mb-md-1{margin-bottom:4px!important}.mr-md-1{margin-right:4px!important}.ml-md-1{margin-left:4px!important}.mt-md-n1{margin-top:-4px!important}.mb-md-n1{margin-bottom:-4px!important}.mr-md-n1{margin-right:-4px!important}.ml-md-n1{margin-left:-4px!important}.mx-md-1{margin-right:4px!important;margin-left:4px!important}.my-md-1{margin-top:4px!important;margin-bottom:4px!important}.m-md-2{margin:8px!important}.mt-md-2{margin-top:8px!important}.mb-md-2{margin-bottom:8px!important}.mr-md-2{margin-right:8px!important}.ml-md-2{margin-left:8px!important}.mt-md-n2{margin-top:-8px!important}.mb-md-n2{margin-bottom:-8px!important}.mr-md-n2{margin-right:-8px!important}.ml-md-n2{margin-left:-8px!important}.mx-md-2{margin-right:8px!important;margin-left:8px!important}.my-md-2{margin-top:8px!important;margin-bottom:8px!important}.m-md-3{margin:16px!important}.mt-md-3{margin-top:16px!important}.mb-md-3{margin-bottom:16px!important}.mr-md-3{margin-right:16px!important}.ml-md-3{margin-left:16px!important}.mt-md-n3{margin-top:-16px!important}.mb-md-n3{margin-bottom:-16px!important}.mr-md-n3{margin-right:-16px!important}.ml-md-n3{margin-left:-16px!important}.mx-md-3{margin-right:16px!important;margin-left:16px!important}.my-md-3{margin-top:16px!important;margin-bottom:16px!important}.m-md-4{margin:24px!important}.mt-md-4{margin-top:24px!important}.mb-md-4{margin-bottom:24px!important}.mr-md-4{margin-right:24px!important}.ml-md-4{margin-left:24px!important}.mt-md-n4{margin-top:-24px!important}.mb-md-n4{margin-bottom:-24px!important}.mr-md-n4{margin-right:-24px!important}.ml-md-n4{margin-left:-24px!important}.mx-md-4{margin-right:24px!important;margin-left:24px!important}.my-md-4{margin-top:24px!important;margin-bottom:24px!important}.m-md-5{margin:32px!important}.mt-md-5{margin-top:32px!important}.mb-md-5{margin-bottom:32px!important}.mr-md-5{margin-right:32px!important}.ml-md-5{margin-left:32px!important}.mt-md-n5{margin-top:-32px!important}.mb-md-n5{margin-bottom:-32px!important}.mr-md-n5{margin-right:-32px!important}.ml-md-n5{margin-left:-32px!important}.mx-md-5{margin-right:32px!important;margin-left:32px!important}.my-md-5{margin-top:32px!important;margin-bottom:32px!important}.m-md-6{margin:40px!important}.mt-md-6{margin-top:40px!important}.mb-md-6{margin-bottom:40px!important}.mr-md-6{margin-right:40px!important}.ml-md-6{margin-left:40px!important}.mt-md-n6{margin-top:-40px!important}.mb-md-n6{margin-bottom:-40px!important}.mr-md-n6{margin-right:-40px!important}.ml-md-n6{margin-left:-40px!important}.mx-md-6{margin-right:40px!important;margin-left:40px!important}.my-md-6{margin-top:40px!important;margin-bottom:40px!important}.mt-md-7{margin-top:48px!important}.mb-md-7{margin-bottom:48px!important}.mt-md-n7{margin-top:-48px!important}.mb-md-n7{margin-bottom:-48px!important}.my-md-7{margin-top:48px!important;margin-bottom:48px!important}.mt-md-8{margin-top:64px!important}.mb-md-8{margin-bottom:64px!important}.mt-md-n8{margin-top:-64px!important}.mb-md-n8{margin-bottom:-64px!important}.my-md-8{margin-top:64px!important;margin-bottom:64px!important}.mt-md-9{margin-top:80px!important}.mb-md-9{margin-bottom:80px!important}.mt-md-n9{margin-top:-80px!important}.mb-md-n9{margin-bottom:-80px!important}.my-md-9{margin-top:80px!important;margin-bottom:80px!important}.mt-md-10{margin-top:96px!important}.mb-md-10{margin-bottom:96px!important}.mt-md-n10{margin-top:-96px!important}.mb-md-n10{margin-bottom:-96px!important}.my-md-10{margin-top:96px!important;margin-bottom:96px!important}.mt-md-11{margin-top:112px!important}.mb-md-11{margin-bottom:112px!important}.mt-md-n11{margin-top:-112px!important}.mb-md-n11{margin-bottom:-112px!important}.my-md-11{margin-top:112px!important;margin-bottom:112px!important}.mt-md-12{margin-top:128px!important}.mb-md-12{margin-bottom:128px!important}.mt-md-n12{margin-top:-128px!important}.mb-md-n12{margin-bottom:-128px!important}.my-md-12{margin-top:128px!important;margin-bottom:128px!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}}@media (min-width:1012px){.m-lg-0{margin:0!important}.mt-lg-0{margin-top:0!important}.mb-lg-0{margin-bottom:0!important}.mr-lg-0{margin-right:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:4px!important}.mt-lg-1{margin-top:4px!important}.mb-lg-1{margin-bottom:4px!important}.mr-lg-1{margin-right:4px!important}.ml-lg-1{margin-left:4px!important}.mt-lg-n1{margin-top:-4px!important}.mb-lg-n1{margin-bottom:-4px!important}.mr-lg-n1{margin-right:-4px!important}.ml-lg-n1{margin-left:-4px!important}.mx-lg-1{margin-right:4px!important;margin-left:4px!important}.my-lg-1{margin-top:4px!important;margin-bottom:4px!important}.m-lg-2{margin:8px!important}.mt-lg-2{margin-top:8px!important}.mb-lg-2{margin-bottom:8px!important}.mr-lg-2{margin-right:8px!important}.ml-lg-2{margin-left:8px!important}.mt-lg-n2{margin-top:-8px!important}.mb-lg-n2{margin-bottom:-8px!important}.mr-lg-n2{margin-right:-8px!important}.ml-lg-n2{margin-left:-8px!important}.mx-lg-2{margin-right:8px!important;margin-left:8px!important}.my-lg-2{margin-top:8px!important;margin-bottom:8px!important}.m-lg-3{margin:16px!important}.mt-lg-3{margin-top:16px!important}.mb-lg-3{margin-bottom:16px!important}.mr-lg-3{margin-right:16px!important}.ml-lg-3{margin-left:16px!important}.mt-lg-n3{margin-top:-16px!important}.mb-lg-n3{margin-bottom:-16px!important}.mr-lg-n3{margin-right:-16px!important}.ml-lg-n3{margin-left:-16px!important}.mx-lg-3{margin-right:16px!important;margin-left:16px!important}.my-lg-3{margin-top:16px!important;margin-bottom:16px!important}.m-lg-4{margin:24px!important}.mt-lg-4{margin-top:24px!important}.mb-lg-4{margin-bottom:24px!important}.mr-lg-4{margin-right:24px!important}.ml-lg-4{margin-left:24px!important}.mt-lg-n4{margin-top:-24px!important}.mb-lg-n4{margin-bottom:-24px!important}.mr-lg-n4{margin-right:-24px!important}.ml-lg-n4{margin-left:-24px!important}.mx-lg-4{margin-right:24px!important;margin-left:24px!important}.my-lg-4{margin-top:24px!important;margin-bottom:24px!important}.m-lg-5{margin:32px!important}.mt-lg-5{margin-top:32px!important}.mb-lg-5{margin-bottom:32px!important}.mr-lg-5{margin-right:32px!important}.ml-lg-5{margin-left:32px!important}.mt-lg-n5{margin-top:-32px!important}.mb-lg-n5{margin-bottom:-32px!important}.mr-lg-n5{margin-right:-32px!important}.ml-lg-n5{margin-left:-32px!important}.mx-lg-5{margin-right:32px!important;margin-left:32px!important}.my-lg-5{margin-top:32px!important;margin-bottom:32px!important}.m-lg-6{margin:40px!important}.mt-lg-6{margin-top:40px!important}.mb-lg-6{margin-bottom:40px!important}.mr-lg-6{margin-right:40px!important}.ml-lg-6{margin-left:40px!important}.mt-lg-n6{margin-top:-40px!important}.mb-lg-n6{margin-bottom:-40px!important}.mr-lg-n6{margin-right:-40px!important}.ml-lg-n6{margin-left:-40px!important}.mx-lg-6{margin-right:40px!important;margin-left:40px!important}.my-lg-6{margin-top:40px!important;margin-bottom:40px!important}.mt-lg-7{margin-top:48px!important}.mb-lg-7{margin-bottom:48px!important}.mt-lg-n7{margin-top:-48px!important}.mb-lg-n7{margin-bottom:-48px!important}.my-lg-7{margin-top:48px!important;margin-bottom:48px!important}.mt-lg-8{margin-top:64px!important}.mb-lg-8{margin-bottom:64px!important}.mt-lg-n8{margin-top:-64px!important}.mb-lg-n8{margin-bottom:-64px!important}.my-lg-8{margin-top:64px!important;margin-bottom:64px!important}.mt-lg-9{margin-top:80px!important}.mb-lg-9{margin-bottom:80px!important}.mt-lg-n9{margin-top:-80px!important}.mb-lg-n9{margin-bottom:-80px!important}.my-lg-9{margin-top:80px!important;margin-bottom:80px!important}.mt-lg-10{margin-top:96px!important}.mb-lg-10{margin-bottom:96px!important}.mt-lg-n10{margin-top:-96px!important}.mb-lg-n10{margin-bottom:-96px!important}.my-lg-10{margin-top:96px!important;margin-bottom:96px!important}.mt-lg-11{margin-top:112px!important}.mb-lg-11{margin-bottom:112px!important}.mt-lg-n11{margin-top:-112px!important}.mb-lg-n11{margin-bottom:-112px!important}.my-lg-11{margin-top:112px!important;margin-bottom:112px!important}.mt-lg-12{margin-top:128px!important}.mb-lg-12{margin-bottom:128px!important}.mt-lg-n12{margin-top:-128px!important}.mb-lg-n12{margin-bottom:-128px!important}.my-lg-12{margin-top:128px!important;margin-bottom:128px!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}}@media (min-width:1280px){.m-xl-0{margin:0!important}.mt-xl-0{margin-top:0!important}.mb-xl-0{margin-bottom:0!important}.mr-xl-0{margin-right:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:4px!important}.mt-xl-1{margin-top:4px!important}.mb-xl-1{margin-bottom:4px!important}.mr-xl-1{margin-right:4px!important}.ml-xl-1{margin-left:4px!important}.mt-xl-n1{margin-top:-4px!important}.mb-xl-n1{margin-bottom:-4px!important}.mr-xl-n1{margin-right:-4px!important}.ml-xl-n1{margin-left:-4px!important}.mx-xl-1{margin-right:4px!important;margin-left:4px!important}.my-xl-1{margin-top:4px!important;margin-bottom:4px!important}.m-xl-2{margin:8px!important}.mt-xl-2{margin-top:8px!important}.mb-xl-2{margin-bottom:8px!important}.mr-xl-2{margin-right:8px!important}.ml-xl-2{margin-left:8px!important}.mt-xl-n2{margin-top:-8px!important}.mb-xl-n2{margin-bottom:-8px!important}.mr-xl-n2{margin-right:-8px!important}.ml-xl-n2{margin-left:-8px!important}.mx-xl-2{margin-right:8px!important;margin-left:8px!important}.my-xl-2{margin-top:8px!important;margin-bottom:8px!important}.m-xl-3{margin:16px!important}.mt-xl-3{margin-top:16px!important}.mb-xl-3{margin-bottom:16px!important}.mr-xl-3{margin-right:16px!important}.ml-xl-3{margin-left:16px!important}.mt-xl-n3{margin-top:-16px!important}.mb-xl-n3{margin-bottom:-16px!important}.mr-xl-n3{margin-right:-16px!important}.ml-xl-n3{margin-left:-16px!important}.mx-xl-3{margin-right:16px!important;margin-left:16px!important}.my-xl-3{margin-top:16px!important;margin-bottom:16px!important}.m-xl-4{margin:24px!important}.mt-xl-4{margin-top:24px!important}.mb-xl-4{margin-bottom:24px!important}.mr-xl-4{margin-right:24px!important}.ml-xl-4{margin-left:24px!important}.mt-xl-n4{margin-top:-24px!important}.mb-xl-n4{margin-bottom:-24px!important}.mr-xl-n4{margin-right:-24px!important}.ml-xl-n4{margin-left:-24px!important}.mx-xl-4{margin-right:24px!important;margin-left:24px!important}.my-xl-4{margin-top:24px!important;margin-bottom:24px!important}.m-xl-5{margin:32px!important}.mt-xl-5{margin-top:32px!important}.mb-xl-5{margin-bottom:32px!important}.mr-xl-5{margin-right:32px!important}.ml-xl-5{margin-left:32px!important}.mt-xl-n5{margin-top:-32px!important}.mb-xl-n5{margin-bottom:-32px!important}.mr-xl-n5{margin-right:-32px!important}.ml-xl-n5{margin-left:-32px!important}.mx-xl-5{margin-right:32px!important;margin-left:32px!important}.my-xl-5{margin-top:32px!important;margin-bottom:32px!important}.m-xl-6{margin:40px!important}.mt-xl-6{margin-top:40px!important}.mb-xl-6{margin-bottom:40px!important}.mr-xl-6{margin-right:40px!important}.ml-xl-6{margin-left:40px!important}.mt-xl-n6{margin-top:-40px!important}.mb-xl-n6{margin-bottom:-40px!important}.mr-xl-n6{margin-right:-40px!important}.ml-xl-n6{margin-left:-40px!important}.mx-xl-6{margin-right:40px!important;margin-left:40px!important}.my-xl-6{margin-top:40px!important;margin-bottom:40px!important}.mt-xl-7{margin-top:48px!important}.mb-xl-7{margin-bottom:48px!important}.mt-xl-n7{margin-top:-48px!important}.mb-xl-n7{margin-bottom:-48px!important}.my-xl-7{margin-top:48px!important;margin-bottom:48px!important}.mt-xl-8{margin-top:64px!important}.mb-xl-8{margin-bottom:64px!important}.mt-xl-n8{margin-top:-64px!important}.mb-xl-n8{margin-bottom:-64px!important}.my-xl-8{margin-top:64px!important;margin-bottom:64px!important}.mt-xl-9{margin-top:80px!important}.mb-xl-9{margin-bottom:80px!important}.mt-xl-n9{margin-top:-80px!important}.mb-xl-n9{margin-bottom:-80px!important}.my-xl-9{margin-top:80px!important;margin-bottom:80px!important}.mt-xl-10{margin-top:96px!important}.mb-xl-10{margin-bottom:96px!important}.mt-xl-n10{margin-top:-96px!important}.mb-xl-n10{margin-bottom:-96px!important}.my-xl-10{margin-top:96px!important;margin-bottom:96px!important}.mt-xl-11{margin-top:112px!important}.mb-xl-11{margin-bottom:112px!important}.mt-xl-n11{margin-top:-112px!important}.mb-xl-n11{margin-bottom:-112px!important}.my-xl-11{margin-top:112px!important;margin-bottom:112px!important}.mt-xl-12{margin-top:128px!important}.mb-xl-12{margin-bottom:128px!important}.mt-xl-n12{margin-top:-128px!important}.mb-xl-n12{margin-bottom:-128px!important}.my-xl-12{margin-top:128px!important;margin-bottom:128px!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.px-0{padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:4px!important}.pt-1{padding-top:4px!important}.pr-1{padding-right:4px!important}.pb-1{padding-bottom:4px!important}.pl-1,.px-1{padding-left:4px!important}.px-1{padding-right:4px!important}.py-1{padding-top:4px!important;padding-bottom:4px!important}.p-2{padding:8px!important}.pt-2{padding-top:8px!important}.pr-2{padding-right:8px!important}.pb-2{padding-bottom:8px!important}.pl-2,.px-2{padding-left:8px!important}.px-2{padding-right:8px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.p-3{padding:16px!important}.pt-3{padding-top:16px!important}.pr-3{padding-right:16px!important}.pb-3{padding-bottom:16px!important}.pl-3,.px-3{padding-left:16px!important}.px-3{padding-right:16px!important}.py-3{padding-top:16px!important;padding-bottom:16px!important}.p-4{padding:24px!important}.pt-4{padding-top:24px!important}.pr-4{padding-right:24px!important}.pb-4{padding-bottom:24px!important}.pl-4,.px-4{padding-left:24px!important}.px-4{padding-right:24px!important}.py-4{padding-top:24px!important;padding-bottom:24px!important}.p-5{padding:32px!important}.pt-5{padding-top:32px!important}.pr-5{padding-right:32px!important}.pb-5{padding-bottom:32px!important}.pl-5,.px-5{padding-left:32px!important}.px-5{padding-right:32px!important}.py-5{padding-top:32px!important;padding-bottom:32px!important}.p-6{padding:40px!important}.pt-6{padding-top:40px!important}.pr-6{padding-right:40px!important}.pb-6{padding-bottom:40px!important}.pl-6,.px-6{padding-left:40px!important}.px-6{padding-right:40px!important}.py-6{padding-top:40px!important;padding-bottom:40px!important}.pt-7{padding-top:48px!important}.pr-7{padding-right:48px!important}.pb-7{padding-bottom:48px!important}.pl-7{padding-left:48px!important}.py-7{padding-top:48px!important;padding-bottom:48px!important}.pt-8{padding-top:64px!important}.pr-8{padding-right:64px!important}.pb-8{padding-bottom:64px!important}.pl-8{padding-left:64px!important}.py-8{padding-top:64px!important;padding-bottom:64px!important}.pt-9{padding-top:80px!important}.pr-9{padding-right:80px!important}.pb-9{padding-bottom:80px!important}.pl-9{padding-left:80px!important}.py-9{padding-top:80px!important;padding-bottom:80px!important}.pt-10{padding-top:96px!important}.pr-10{padding-right:96px!important}.pb-10{padding-bottom:96px!important}.pl-10{padding-left:96px!important}.py-10{padding-top:96px!important;padding-bottom:96px!important}.pt-11{padding-top:112px!important}.pr-11{padding-right:112px!important}.pb-11{padding-bottom:112px!important}.pl-11{padding-left:112px!important}.py-11{padding-top:112px!important;padding-bottom:112px!important}.pt-12{padding-top:128px!important}.pr-12{padding-right:128px!important}.pb-12{padding-bottom:128px!important}.pl-12{padding-left:128px!important}.py-12{padding-top:128px!important;padding-bottom:128px!important}@media (min-width:544px){.p-sm-0{padding:0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:4px!important}.pt-sm-1{padding-top:4px!important}.pr-sm-1{padding-right:4px!important}.pb-sm-1{padding-bottom:4px!important}.pl-sm-1,.px-sm-1{padding-left:4px!important}.px-sm-1{padding-right:4px!important}.py-sm-1{padding-top:4px!important;padding-bottom:4px!important}.p-sm-2{padding:8px!important}.pt-sm-2{padding-top:8px!important}.pr-sm-2{padding-right:8px!important}.pb-sm-2{padding-bottom:8px!important}.pl-sm-2,.px-sm-2{padding-left:8px!important}.px-sm-2{padding-right:8px!important}.py-sm-2{padding-top:8px!important;padding-bottom:8px!important}.p-sm-3{padding:16px!important}.pt-sm-3{padding-top:16px!important}.pr-sm-3{padding-right:16px!important}.pb-sm-3{padding-bottom:16px!important}.pl-sm-3,.px-sm-3{padding-left:16px!important}.px-sm-3{padding-right:16px!important}.py-sm-3{padding-top:16px!important;padding-bottom:16px!important}.p-sm-4{padding:24px!important}.pt-sm-4{padding-top:24px!important}.pr-sm-4{padding-right:24px!important}.pb-sm-4{padding-bottom:24px!important}.pl-sm-4,.px-sm-4{padding-left:24px!important}.px-sm-4{padding-right:24px!important}.py-sm-4{padding-top:24px!important;padding-bottom:24px!important}.p-sm-5{padding:32px!important}.pt-sm-5{padding-top:32px!important}.pr-sm-5{padding-right:32px!important}.pb-sm-5{padding-bottom:32px!important}.pl-sm-5,.px-sm-5{padding-left:32px!important}.px-sm-5{padding-right:32px!important}.py-sm-5{padding-top:32px!important;padding-bottom:32px!important}.p-sm-6{padding:40px!important}.pt-sm-6{padding-top:40px!important}.pr-sm-6{padding-right:40px!important}.pb-sm-6{padding-bottom:40px!important}.pl-sm-6,.px-sm-6{padding-left:40px!important}.px-sm-6{padding-right:40px!important}.py-sm-6{padding-top:40px!important;padding-bottom:40px!important}.pt-sm-7{padding-top:48px!important}.pr-sm-7{padding-right:48px!important}.pb-sm-7{padding-bottom:48px!important}.pl-sm-7{padding-left:48px!important}.py-sm-7{padding-top:48px!important;padding-bottom:48px!important}.pt-sm-8{padding-top:64px!important}.pr-sm-8{padding-right:64px!important}.pb-sm-8{padding-bottom:64px!important}.pl-sm-8{padding-left:64px!important}.py-sm-8{padding-top:64px!important;padding-bottom:64px!important}.pt-sm-9{padding-top:80px!important}.pr-sm-9{padding-right:80px!important}.pb-sm-9{padding-bottom:80px!important}.pl-sm-9{padding-left:80px!important}.py-sm-9{padding-top:80px!important;padding-bottom:80px!important}.pt-sm-10{padding-top:96px!important}.pr-sm-10{padding-right:96px!important}.pb-sm-10{padding-bottom:96px!important}.pl-sm-10{padding-left:96px!important}.py-sm-10{padding-top:96px!important;padding-bottom:96px!important}.pt-sm-11{padding-top:112px!important}.pr-sm-11{padding-right:112px!important}.pb-sm-11{padding-bottom:112px!important}.pl-sm-11{padding-left:112px!important}.py-sm-11{padding-top:112px!important;padding-bottom:112px!important}.pt-sm-12{padding-top:128px!important}.pr-sm-12{padding-right:128px!important}.pb-sm-12{padding-bottom:128px!important}.pl-sm-12{padding-left:128px!important}.py-sm-12{padding-top:128px!important;padding-bottom:128px!important}}@media (min-width:768px){.p-md-0{padding:0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.px-md-0{padding-right:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:4px!important}.pt-md-1{padding-top:4px!important}.pr-md-1{padding-right:4px!important}.pb-md-1{padding-bottom:4px!important}.pl-md-1,.px-md-1{padding-left:4px!important}.px-md-1{padding-right:4px!important}.py-md-1{padding-top:4px!important;padding-bottom:4px!important}.p-md-2{padding:8px!important}.pt-md-2{padding-top:8px!important}.pr-md-2{padding-right:8px!important}.pb-md-2{padding-bottom:8px!important}.pl-md-2,.px-md-2{padding-left:8px!important}.px-md-2{padding-right:8px!important}.py-md-2{padding-top:8px!important;padding-bottom:8px!important}.p-md-3{padding:16px!important}.pt-md-3{padding-top:16px!important}.pr-md-3{padding-right:16px!important}.pb-md-3{padding-bottom:16px!important}.pl-md-3,.px-md-3{padding-left:16px!important}.px-md-3{padding-right:16px!important}.py-md-3{padding-top:16px!important;padding-bottom:16px!important}.p-md-4{padding:24px!important}.pt-md-4{padding-top:24px!important}.pr-md-4{padding-right:24px!important}.pb-md-4{padding-bottom:24px!important}.pl-md-4,.px-md-4{padding-left:24px!important}.px-md-4{padding-right:24px!important}.py-md-4{padding-top:24px!important;padding-bottom:24px!important}.p-md-5{padding:32px!important}.pt-md-5{padding-top:32px!important}.pr-md-5{padding-right:32px!important}.pb-md-5{padding-bottom:32px!important}.pl-md-5,.px-md-5{padding-left:32px!important}.px-md-5{padding-right:32px!important}.py-md-5{padding-top:32px!important;padding-bottom:32px!important}.p-md-6{padding:40px!important}.pt-md-6{padding-top:40px!important}.pr-md-6{padding-right:40px!important}.pb-md-6{padding-bottom:40px!important}.pl-md-6,.px-md-6{padding-left:40px!important}.px-md-6{padding-right:40px!important}.py-md-6{padding-top:40px!important;padding-bottom:40px!important}.pt-md-7{padding-top:48px!important}.pr-md-7{padding-right:48px!important}.pb-md-7{padding-bottom:48px!important}.pl-md-7{padding-left:48px!important}.py-md-7{padding-top:48px!important;padding-bottom:48px!important}.pt-md-8{padding-top:64px!important}.pr-md-8{padding-right:64px!important}.pb-md-8{padding-bottom:64px!important}.pl-md-8{padding-left:64px!important}.py-md-8{padding-top:64px!important;padding-bottom:64px!important}.pt-md-9{padding-top:80px!important}.pr-md-9{padding-right:80px!important}.pb-md-9{padding-bottom:80px!important}.pl-md-9{padding-left:80px!important}.py-md-9{padding-top:80px!important;padding-bottom:80px!important}.pt-md-10{padding-top:96px!important}.pr-md-10{padding-right:96px!important}.pb-md-10{padding-bottom:96px!important}.pl-md-10{padding-left:96px!important}.py-md-10{padding-top:96px!important;padding-bottom:96px!important}.pt-md-11{padding-top:112px!important}.pr-md-11{padding-right:112px!important}.pb-md-11{padding-bottom:112px!important}.pl-md-11{padding-left:112px!important}.py-md-11{padding-top:112px!important;padding-bottom:112px!important}.pt-md-12{padding-top:128px!important}.pr-md-12{padding-right:128px!important}.pb-md-12{padding-bottom:128px!important}.pl-md-12{padding-left:128px!important}.py-md-12{padding-top:128px!important;padding-bottom:128px!important}}@media (min-width:1012px){.p-lg-0{padding:0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:4px!important}.pt-lg-1{padding-top:4px!important}.pr-lg-1{padding-right:4px!important}.pb-lg-1{padding-bottom:4px!important}.pl-lg-1,.px-lg-1{padding-left:4px!important}.px-lg-1{padding-right:4px!important}.py-lg-1{padding-top:4px!important;padding-bottom:4px!important}.p-lg-2{padding:8px!important}.pt-lg-2{padding-top:8px!important}.pr-lg-2{padding-right:8px!important}.pb-lg-2{padding-bottom:8px!important}.pl-lg-2,.px-lg-2{padding-left:8px!important}.px-lg-2{padding-right:8px!important}.py-lg-2{padding-top:8px!important;padding-bottom:8px!important}.p-lg-3{padding:16px!important}.pt-lg-3{padding-top:16px!important}.pr-lg-3{padding-right:16px!important}.pb-lg-3{padding-bottom:16px!important}.pl-lg-3,.px-lg-3{padding-left:16px!important}.px-lg-3{padding-right:16px!important}.py-lg-3{padding-top:16px!important;padding-bottom:16px!important}.p-lg-4{padding:24px!important}.pt-lg-4{padding-top:24px!important}.pr-lg-4{padding-right:24px!important}.pb-lg-4{padding-bottom:24px!important}.pl-lg-4,.px-lg-4{padding-left:24px!important}.px-lg-4{padding-right:24px!important}.py-lg-4{padding-top:24px!important;padding-bottom:24px!important}.p-lg-5{padding:32px!important}.pt-lg-5{padding-top:32px!important}.pr-lg-5{padding-right:32px!important}.pb-lg-5{padding-bottom:32px!important}.pl-lg-5,.px-lg-5{padding-left:32px!important}.px-lg-5{padding-right:32px!important}.py-lg-5{padding-top:32px!important;padding-bottom:32px!important}.p-lg-6{padding:40px!important}.pt-lg-6{padding-top:40px!important}.pr-lg-6{padding-right:40px!important}.pb-lg-6{padding-bottom:40px!important}.pl-lg-6,.px-lg-6{padding-left:40px!important}.px-lg-6{padding-right:40px!important}.py-lg-6{padding-top:40px!important;padding-bottom:40px!important}.pt-lg-7{padding-top:48px!important}.pr-lg-7{padding-right:48px!important}.pb-lg-7{padding-bottom:48px!important}.pl-lg-7{padding-left:48px!important}.py-lg-7{padding-top:48px!important;padding-bottom:48px!important}.pt-lg-8{padding-top:64px!important}.pr-lg-8{padding-right:64px!important}.pb-lg-8{padding-bottom:64px!important}.pl-lg-8{padding-left:64px!important}.py-lg-8{padding-top:64px!important;padding-bottom:64px!important}.pt-lg-9{padding-top:80px!important}.pr-lg-9{padding-right:80px!important}.pb-lg-9{padding-bottom:80px!important}.pl-lg-9{padding-left:80px!important}.py-lg-9{padding-top:80px!important;padding-bottom:80px!important}.pt-lg-10{padding-top:96px!important}.pr-lg-10{padding-right:96px!important}.pb-lg-10{padding-bottom:96px!important}.pl-lg-10{padding-left:96px!important}.py-lg-10{padding-top:96px!important;padding-bottom:96px!important}.pt-lg-11{padding-top:112px!important}.pr-lg-11{padding-right:112px!important}.pb-lg-11{padding-bottom:112px!important}.pl-lg-11{padding-left:112px!important}.py-lg-11{padding-top:112px!important;padding-bottom:112px!important}.pt-lg-12{padding-top:128px!important}.pr-lg-12{padding-right:128px!important}.pb-lg-12{padding-bottom:128px!important}.pl-lg-12{padding-left:128px!important}.py-lg-12{padding-top:128px!important;padding-bottom:128px!important}}@media (min-width:1280px){.p-xl-0{padding:0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:4px!important}.pt-xl-1{padding-top:4px!important}.pr-xl-1{padding-right:4px!important}.pb-xl-1{padding-bottom:4px!important}.pl-xl-1,.px-xl-1{padding-left:4px!important}.px-xl-1{padding-right:4px!important}.py-xl-1{padding-top:4px!important;padding-bottom:4px!important}.p-xl-2{padding:8px!important}.pt-xl-2{padding-top:8px!important}.pr-xl-2{padding-right:8px!important}.pb-xl-2{padding-bottom:8px!important}.pl-xl-2,.px-xl-2{padding-left:8px!important}.px-xl-2{padding-right:8px!important}.py-xl-2{padding-top:8px!important;padding-bottom:8px!important}.p-xl-3{padding:16px!important}.pt-xl-3{padding-top:16px!important}.pr-xl-3{padding-right:16px!important}.pb-xl-3{padding-bottom:16px!important}.pl-xl-3,.px-xl-3{padding-left:16px!important}.px-xl-3{padding-right:16px!important}.py-xl-3{padding-top:16px!important;padding-bottom:16px!important}.p-xl-4{padding:24px!important}.pt-xl-4{padding-top:24px!important}.pr-xl-4{padding-right:24px!important}.pb-xl-4{padding-bottom:24px!important}.pl-xl-4,.px-xl-4{padding-left:24px!important}.px-xl-4{padding-right:24px!important}.py-xl-4{padding-top:24px!important;padding-bottom:24px!important}.p-xl-5{padding:32px!important}.pt-xl-5{padding-top:32px!important}.pr-xl-5{padding-right:32px!important}.pb-xl-5{padding-bottom:32px!important}.pl-xl-5,.px-xl-5{padding-left:32px!important}.px-xl-5{padding-right:32px!important}.py-xl-5{padding-top:32px!important;padding-bottom:32px!important}.p-xl-6{padding:40px!important}.pt-xl-6{padding-top:40px!important}.pr-xl-6{padding-right:40px!important}.pb-xl-6{padding-bottom:40px!important}.pl-xl-6,.px-xl-6{padding-left:40px!important}.px-xl-6{padding-right:40px!important}.py-xl-6{padding-top:40px!important;padding-bottom:40px!important}.pt-xl-7{padding-top:48px!important}.pr-xl-7{padding-right:48px!important}.pb-xl-7{padding-bottom:48px!important}.pl-xl-7{padding-left:48px!important}.py-xl-7{padding-top:48px!important;padding-bottom:48px!important}.pt-xl-8{padding-top:64px!important}.pr-xl-8{padding-right:64px!important}.pb-xl-8{padding-bottom:64px!important}.pl-xl-8{padding-left:64px!important}.py-xl-8{padding-top:64px!important;padding-bottom:64px!important}.pt-xl-9{padding-top:80px!important}.pr-xl-9{padding-right:80px!important}.pb-xl-9{padding-bottom:80px!important}.pl-xl-9{padding-left:80px!important}.py-xl-9{padding-top:80px!important;padding-bottom:80px!important}.pt-xl-10{padding-top:96px!important}.pr-xl-10{padding-right:96px!important}.pb-xl-10{padding-bottom:96px!important}.pl-xl-10{padding-left:96px!important}.py-xl-10{padding-top:96px!important;padding-bottom:96px!important}.pt-xl-11{padding-top:112px!important}.pr-xl-11{padding-right:112px!important}.pb-xl-11{padding-bottom:112px!important}.pl-xl-11{padding-left:112px!important}.py-xl-11{padding-top:112px!important;padding-bottom:112px!important}.pt-xl-12{padding-top:128px!important}.pr-xl-12{padding-right:128px!important}.pb-xl-12{padding-bottom:128px!important}.pl-xl-12{padding-left:128px!important}.py-xl-12{padding-top:128px!important;padding-bottom:128px!important}}.p-responsive{padding-right:16px!important;padding-left:16px!important}@media (min-width:544px){.p-responsive{padding-right:40px!important;padding-left:40px!important}}@media (min-width:1012px){.p-responsive{padding-right:16px!important;padding-left:16px!important}}.h1{font-size:26px!important}@media (min-width:768px){.h1{font-size:32px!important}}.h2{font-size:22px!important}@media (min-width:768px){.h2{font-size:24px!important}}.h3{font-size:18px!important}@media (min-width:768px){.h3{font-size:20px!important}}.h4{font-size:16px!important}.h5{font-size:14px!important}.h6{font-size:12px!important}.h1,.h2,.h3,.h4,.h5,.h6{font-weight:600!important}.f1{font-size:26px!important}@media (min-width:768px){.f1{font-size:32px!important}}.f2{font-size:22px!important}@media (min-width:768px){.f2{font-size:24px!important}}.f3{font-size:18px!important}@media (min-width:768px){.f3{font-size:20px!important}}.f4{font-size:16px!important}@media (min-width:768px){.f4{font-size:16px!important}}.f5{font-size:14px!important}.f6{font-size:12px!important}.f00-light{font-size:40px!important;font-weight:300!important}@media (min-width:768px){.f00-light{font-size:48px!important}}.f0-light{font-size:32px!important;font-weight:300!important}@media (min-width:768px){.f0-light{font-size:40px!important}}.f1-light{font-size:26px!important;font-weight:300!important}@media (min-width:768px){.f1-light{font-size:32px!important}}.f2-light{font-size:22px!important;font-weight:300!important}@media (min-width:768px){.f2-light{font-size:24px!important}}.f3-light{font-size:18px!important;font-weight:300!important}@media (min-width:768px){.f3-light{font-size:20px!important}}.text-small{font-size:12px!important}.lead{margin-bottom:30px;font-size:20px;font-weight:300}.lh-condensed-ultra{line-height:1!important}.lh-condensed{line-height:1.25!important}.lh-default{line-height:1.5!important}.lh-0{line-height:0!important}@media (min-width:544px){.lh-sm-condensed-ultra{line-height:1!important}.lh-sm-condensed{line-height:1.25!important}.lh-sm-default{line-height:1.5!important}.lh-sm-0{line-height:0!important}}@media (min-width:768px){.lh-md-condensed-ultra{line-height:1!important}.lh-md-condensed{line-height:1.25!important}.lh-md-default{line-height:1.5!important}.lh-md-0{line-height:0!important}}@media (min-width:1012px){.lh-lg-condensed-ultra{line-height:1!important}.lh-lg-condensed{line-height:1.25!important}.lh-lg-default{line-height:1.5!important}.lh-lg-0{line-height:0!important}}@media (min-width:1280px){.lh-xl-condensed-ultra{line-height:1!important}.lh-xl-condensed{line-height:1.25!important}.lh-xl-default{line-height:1.5!important}.lh-xl-0{line-height:0!important}}.text-right{text-align:right!important}.text-left{text-align:left!important}.text-center{text-align:center!important}@media (min-width:544px){.text-sm-right{text-align:right!important}.text-sm-left{text-align:left!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-right{text-align:right!important}.text-md-left{text-align:left!important}.text-md-center{text-align:center!important}}@media (min-width:1012px){.text-lg-right{text-align:right!important}.text-lg-left{text-align:left!important}.text-lg-center{text-align:center!important}}@media (min-width:1280px){.text-xl-right{text-align:right!important}.text-xl-left{text-align:left!important}.text-xl-center{text-align:center!important}}.text-normal{font-weight:400!important}.text-bold{font-weight:600!important}.text-semibold{font-weight:500!important}.text-light{font-weight:300!important}.text-italic{font-style:italic!important}.text-uppercase{text-transform:uppercase!important}.text-underline{text-decoration:underline!important}.no-underline{text-decoration:none!important}.no-wrap{white-space:nowrap!important}.ws-normal{white-space:normal!important}.break-word{word-break:break-word!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.wb-break-all{word-break:break-all!important}.text-emphasized{font-weight:600}.list-style-none{list-style:none!important}.text-mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.d-table{display:table!important}.d-table-cell{display:table-cell!important}@media (min-width:544px){.d-sm-block{display:block!important}.d-sm-flex{display:flex!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.d-sm-table{display:table!important}.d-sm-table-cell{display:table-cell!important}}@media (min-width:768px){.d-md-block{display:block!important}.d-md-flex{display:flex!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.d-md-table{display:table!important}.d-md-table-cell{display:table-cell!important}}@media (min-width:1012px){.d-lg-block{display:block!important}.d-lg-flex{display:flex!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.d-lg-table{display:table!important}.d-lg-table-cell{display:table-cell!important}}@media (min-width:1280px){.d-xl-block{display:block!important}.d-xl-flex{display:flex!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.d-xl-table{display:table!important}.d-xl-table-cell{display:table-cell!important}}.v-hidden{visibility:hidden!important}.v-visible{visibility:visible!important}@media (max-width:543px){.hide-sm{display:none!important}}@media (min-width:544px) and (max-width:767px){.hide-md{display:none!important}}@media (min-width:768px) and (max-width:1011px){.hide-lg{display:none!important}}@media (min-width:1012px){.hide-xl{display:none!important}}.table-fixed{table-layout:fixed!important}.sr-only{padding:0;clip:rect(0,0,0,0);word-wrap:normal;border:0}.show-on-focus,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden}.show-on-focus{margin:0;clip:rect(1px,1px,1px,1px)}.show-on-focus:focus{z-index:20;width:auto;height:auto;clip:auto}.bg-yellow-dark{background-color:var(--color-auto-yellow-7)!important}.bg-purple{background-color:var(--color-auto-purple-5)!important}.bg-pink{background-color:var(--color-auto-pink-5)!important}.bg-purple-light{background-color:var(--color-auto-purple-0)!important}.bg-orange{background-color:var(--color-auto-orange-7)!important}.color-gray-0{color:var(--color-auto-gray-0)!important}.bg-gray-0{background-color:var(--color-auto-gray-0)!important}.color-gray-1{color:var(--color-auto-gray-1)!important}.bg-gray-1{background-color:var(--color-auto-gray-1)!important}.color-gray-2{color:var(--color-auto-gray-2)!important}.bg-gray-2{background-color:var(--color-auto-gray-2)!important}.color-gray-3{color:var(--color-auto-gray-3)!important}.bg-gray-3{background-color:var(--color-auto-gray-3)!important}.color-gray-4{color:var(--color-auto-gray-4)!important}.bg-gray-4{background-color:var(--color-auto-gray-4)!important}.color-gray-6{color:var(--color-auto-gray-6)!important}.bg-gray-6{background-color:var(--color-auto-gray-6)!important}.color-gray-7{color:var(--color-auto-gray-7)!important}.bg-gray-7{background-color:var(--color-auto-gray-7)!important}.color-gray-9{color:var(--color-auto-gray-9)!important}.bg-gray-9{background-color:var(--color-auto-gray-9)!important}.color-blue-0{color:var(--color-auto-blue-0)!important}.bg-blue-0{background-color:var(--color-auto-blue-0)!important}.color-blue-2{color:var(--color-auto-blue-2)!important}.bg-blue-2{background-color:var(--color-auto-blue-2)!important}.color-blue-4{color:var(--color-auto-blue-4)!important}.bg-blue-4{background-color:var(--color-auto-blue-4)!important}.color-blue-7{color:var(--color-auto-blue-7)!important}.bg-blue-7{background-color:var(--color-auto-blue-7)!important}.color-green-2{color:var(--color-auto-green-2)!important}.bg-green-2{background-color:var(--color-auto-green-2)!important}.color-green-5{color:var(--color-auto-green-5)!important}.bg-green-5{background-color:var(--color-auto-green-5)!important}.color-green-6{color:var(--color-auto-green-6)!important}.bg-green-6{background-color:var(--color-auto-green-6)!important}.color-yellow-1{color:var(--color-auto-yellow-1)!important}.bg-yellow-1{background-color:var(--color-auto-yellow-1)!important}.color-yellow-2{color:var(--color-auto-yellow-2)!important}.bg-yellow-2{background-color:var(--color-auto-yellow-2)!important}.color-yellow-6{color:var(--color-auto-yellow-6)!important}.bg-yellow-6{background-color:var(--color-auto-yellow-6)!important}.color-yellow-7{color:var(--color-auto-yellow-7)!important}.bg-yellow-7{background-color:var(--color-auto-yellow-7)!important}.color-red-5{color:var(--color-auto-red-5)!important}.bg-red-5{background-color:var(--color-auto-red-5)!important}.color-red-7{color:var(--color-auto-red-7)!important}.bg-red-7{background-color:var(--color-auto-red-7)!important}.color-purple-1{color:var(--color-auto-purple-1)!important}.bg-purple-1{background-color:var(--color-auto-purple-1)!important}.color-pink-1{color:var(--color-auto-pink-1)!important}.bg-pink-1{background-color:var(--color-auto-pink-1)!important}.color-pink-5{color:var(--color-auto-pink-5)!important}.bg-pink-5{background-color:var(--color-auto-pink-5)!important}.color-orange-4{color:var(--color-auto-orange-4)!important}.bg-orange-4{background-color:var(--color-auto-orange-4)!important}.text-orange{color:var(--color-auto-orange-9)!important}.text-orange-light{color:var(--color-auto-orange-6)!important}.text-purple{color:var(--color-auto-purple-5)!important}.text-pink{color:var(--color-auto-pink-5)!important}.border-blue-light{border-color:var(--color-auto-blue-2)!important}.border-red-light{border-color:var(--color-auto-red-3)!important}.border-purple{border-color:var(--color-auto-purple-5)!important}.border-black-fade{border-color:var(--color-fade-black-15)!important}.border-white-fade,.border-white-fade-15{border-color:var(--color-fade-white-15)!important}.border-white-fade-30{border-color:var(--color-fade-white-30)!important}.border-white-fade-50{border-color:var(--color-fade-white-50)!important}.border-white-fade-70{border-color:var(--color-fade-white-70)!important}.border-white-fade-85{border-color:var(--color-fade-white-85)!important}.lead{color:var(--color-text-secondary)}.text-emphasized{color:var(--color-text-primary)}.Label.Label--orange{color:var(--color-label-orange-text);border-color:var(--color-label-orange-border)}.Label.Label--purple{color:var(--color-auto-purple-5);border-color:var(--color-auto-purple-4)}.Label.Label--pink{color:var(--color-auto-pink-6);border-color:var(--color-auto-pink-4)} +/*! +* GitHub Light v0.5.0 +* Copyright (c) 2012 - 2017 GitHub, Inc. +* Licensed under MIT (https://github.com/primer/github-syntax-theme-generator/blob/master/LICENSE) +*/.pl-c{color:var(--color-prettylights-syntax-comment)}.pl-c1,.pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.pl-e,.pl-en{color:var(--color-prettylights-syntax-entity)}.pl-s .pl-s1,.pl-smi{color:var(--color-prettylights-syntax-storage-modifier-import)}.pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.pl-k{color:var(--color-prettylights-syntax-keyword)}.pl-pds,.pl-s,.pl-s .pl-pse .pl-s1,.pl-sr,.pl-sr .pl-cce,.pl-sr .pl-sra,.pl-sr .pl-sre{color:var(--color-prettylights-syntax-string)}.pl-smw,.pl-v{color:var(--color-prettylights-syntax-variable)}.pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.pl-c2:before{content:"^M"}.pl-sr .pl-cce{font-weight:700;color:var(--color-prettylights-syntax-string-regexp)}.pl-ml{color:var(--color-prettylights-syntax-markup-list)}.pl-mh,.pl-mh .pl-en,.pl-ms{font-weight:700;color:var(--color-prettylights-syntax-markup-heading)}.pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.pl-mb{font-weight:700;color:var(--color-prettylights-syntax-markup-bold)}.pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.pl-mdr{font-weight:700;color:var(--color-prettylights-syntax-meta-diff-range)}.pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,.5);animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@keyframes blink{50%{background-color:initial}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:initial}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:initial}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:initial}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.CodeMirror-dialog{position:absolute;left:0;right:0;background:inherit;z-index:15;padding:.1em .8em;overflow:hidden;color:inherit}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{border:none;outline:none;background:transparent;width:20em;color:inherit;font-family:monospace}.CodeMirror-dialog button{font-size:70%}.CodeMirror-merge{position:relative;border:1px solid #ddd;white-space:pre}.CodeMirror-merge,.CodeMirror-merge .CodeMirror{height:350px}.CodeMirror-merge-2pane .CodeMirror-merge-pane{width:47%}.CodeMirror-merge-2pane .CodeMirror-merge-gap{width:6%}.CodeMirror-merge-3pane .CodeMirror-merge-pane{width:31%}.CodeMirror-merge-3pane .CodeMirror-merge-gap{width:3.5%}.CodeMirror-merge-pane{display:inline-block;white-space:normal;vertical-align:top}.CodeMirror-merge-pane-rightmost{position:absolute;right:0;z-index:1}.CodeMirror-merge-gap{z-index:2;display:inline-block;height:100%;box-sizing:border-box;overflow:hidden;border-left:1px solid #ddd;border-right:1px solid #ddd;position:relative;background:#f8f8f8}.CodeMirror-merge-scrolllock-wrap{position:absolute;bottom:0;left:50%}.CodeMirror-merge-scrolllock{position:relative;left:-50%;cursor:pointer;color:#555;line-height:1}.CodeMirror-merge-scrolllock:after{content:"\21db\00a0\00a0\21da"}.CodeMirror-merge-scrolllock.CodeMirror-merge-scrolllock-enabled:after{content:"\21db\21da"}.CodeMirror-merge-copybuttons-left,.CodeMirror-merge-copybuttons-right{position:absolute;left:0;top:0;right:0;bottom:0;line-height:1}.CodeMirror-merge-copy{z-index:3}.CodeMirror-merge-copy,.CodeMirror-merge-copy-reverse{position:absolute;cursor:pointer;color:#44c}.CodeMirror-merge-copybuttons-left .CodeMirror-merge-copy{left:2px}.CodeMirror-merge-copybuttons-right .CodeMirror-merge-copy{right:2px}.CodeMirror-merge-l-inserted,.CodeMirror-merge-r-inserted{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12MwuCXy3+CWyH8GBgYGJgYkAABZbAQ9ELXurwAAAABJRU5ErkJggg==);background-position:0 100%;background-repeat:repeat-x}.CodeMirror-merge-l-deleted,.CodeMirror-merge-r-deleted{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12M4Kyb2/6yY2H8GBgYGJgYkAABURgPz6Ks7wQAAAABJRU5ErkJggg==);background-position:0 100%;background-repeat:repeat-x}.CodeMirror-merge-r-chunk{background:#ffffe0}.CodeMirror-merge-r-chunk-start{border-top:1px solid #ee8}.CodeMirror-merge-r-chunk-end{border-bottom:1px solid #ee8}.CodeMirror-merge-r-connect{fill:#ffffe0;stroke:#ee8;stroke-width:1px}.CodeMirror-merge-l-chunk{background:#eef}.CodeMirror-merge-l-chunk-start{border-top:1px solid #88e}.CodeMirror-merge-l-chunk-end{border-bottom:1px solid #88e}.CodeMirror-merge-l-connect{fill:#eef;stroke:#88e;stroke-width:1px}.CodeMirror-merge-l-chunk.CodeMirror-merge-r-chunk{background:#dfd}.CodeMirror-merge-l-chunk-start.CodeMirror-merge-r-chunk-start{border-top:1px solid #4e4}.CodeMirror-merge-l-chunk-end.CodeMirror-merge-r-chunk-end{border-bottom:1px solid #4e4}.CodeMirror-merge-collapsed-widget:before{content:"(...)"}.CodeMirror-merge-collapsed-widget{cursor:pointer;color:#88b;background:#eef;border:1px solid #ddf;font-size:90%;padding:0 3px;border-radius:4px}.CodeMirror-merge-collapsed-line .CodeMirror-gutter-elt{display:none} +/*! +* GitHub Light v0.4.2 +* Copyright (c) 2012 - 2017 GitHub, Inc. +* Licensed under MIT (https://github.com/primer/github-syntax-theme-generator/blob/master/LICENSE) +*/.cm-s-github-light.CodeMirror{background:var(--color-codemirror-bg);color:var(--color-codemirror-text)}.cm-s-github-light .CodeMirror-gutters{background:var(--color-codemirror-gutters-bg);border-right-width:0}.cm-s-github-light .CodeMirror-guttermarker{color:var(--color-codemirror-guttermarker-text)}.cm-s-github-light .CodeMirror-guttermarker-subtle{color:var(--color-codemirror-guttermarker-subtle-text)}.cm-s-github-light .CodeMirror-linenumber{color:var(--color-codemirror-linenumber-text);padding:0 16px}.cm-s-github-light .CodeMirror-cursor{border-left:1px solid var(--color-codemirror-cursor)}.cm-s-github-light.CodeMirror-focused .CodeMirror-selected,.cm-s-github-light .CodeMirror-line::selection,.cm-s-github-light .CodeMirror-line>span::selection,.cm-s-github-light .CodeMirror-line>span>span::selection{background:var(--color-codemirror-selection-bg,#d7d4f0)}.cm-s-github-light .CodeMirror-line::-moz-selection,.cm-s-github-light .CodeMirror-line>span::-moz-selection,.cm-s-github-light .CodeMirror-line>span>span::-moz-selection{background:var(--color-codemirror-selection-bg,#d7d4f0)}.cm-s-github-light .CodeMirror-activeline-background{background:var(--color-codemirror-activeline-bg)}.cm-s-github-light .CodeMirror-matchingbracket{text-decoration:underline;color:var(--color-codemirror-matchingbracket-text)!important}.cm-s-github-light .CodeMirror-lines{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;background:var(--color-codemirror-lines-bg);line-height:1.5}.cm-s-github-light .cm-comment{color:var(--color-codemirror-syntax-comment)}.cm-s-github-light .cm-constant{color:var(--color-codemirror-syntax-constant)}.cm-s-github-light .cm-entity{font-weight:400;font-style:normal;text-decoration:none;color:var(--color-codemirror-syntax-entity)}.cm-s-github-light .cm-keyword{font-weight:400;font-style:normal;text-decoration:none;color:var(--color-codemirror-syntax-keyword)}.cm-s-github-light .cm-storage{color:var(--color-codemirror-syntax-storage)}.cm-s-github-light .cm-string{font-weight:400;font-style:normal;text-decoration:none;color:var(--color-codemirror-syntax-string)}.cm-s-github-light .cm-support{font-weight:400;font-style:normal;text-decoration:none;color:var(--color-codemirror-syntax-support)}.cm-s-github-light .cm-variable{font-weight:400;font-style:normal;text-decoration:none;color:var(--color-codemirror-syntax-variable)}details-dialog{position:fixed;margin:10vh auto;top:0;left:50%;transform:translateX(-50%);z-index:999;max-height:80vh;max-width:90vw;width:448px}.user-select-contain{-ms-user-select:element;-ms-user-select:contain;-webkit-user-select:contain;-moz-user-select:contain;user-select:contain}.ajax-pagination-form .ajax-pagination-btn{width:100%;padding:6px;margin-top:20px;font-weight:600;color:var(--color-text-link);background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px}.ajax-pagination-form .ajax-pagination-btn:focus,.ajax-pagination-form .ajax-pagination-btn:hover{color:var(--color-text-link);background-color:var(--color-bg-tertiary)}.ajax-pagination-form.loading .ajax-pagination-btn{text-indent:-3000px;background-color:var(--color-bg-tertiary);background-image:url(/images/spinners/octocat-spinner-16px-EAF2F5.gif);background-repeat:no-repeat;background-position:50%;border-color:var(--color-border-tertiary)}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.ajax-pagination-form.loading .ajax-pagination-btn{background-image:url(/images/spinners/octocat-spinner-32-EAF2F5.gif);background-size:16px auto}}body.intent-mouse [role=button]:focus,body.intent-mouse [role=tabpanel][tabindex="0"]:focus,body.intent-mouse a:focus,body.intent-mouse button:focus,body.intent-mouse summary:focus{outline:none;box-shadow:none}body.intent-mouse [tabindex="0"]:focus,body.intent-mouse details-dialog:focus{outline:none}.CodeMirror{height:calc(100vh - 1px)}.file-editor-textarea{width:100%;padding:5px 4px;font:12px SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;resize:vertical;border:0;border-radius:0;outline:none}.container-preview .tabnav-tabs{margin:-6px 0 -6px -11px}.container-preview .tabnav-tabs .tabnav-tab{padding:12px 15px;border-radius:0}.container-preview .tabnav-tabs>.selected:first-child{border-top-left-radius:6px}.container-preview .tabnav-tabs .selected{font-weight:600}.container-preview.template-editor .commit-create,.container-preview.template-editor .file-actions{display:block}.container-preview.template-editor .commit-preview,.container-preview.template-editor .error-preview-msg,.container-preview.template-editor .loading-preview-msg,.container-preview.template-editor .no-changes-preview-msg,.container-preview.template-editor .show-code{display:none!important}.container-preview.render-editor .commit-create,.container-preview.render-editor .file-actions{display:block}.container-preview.render-editor .commit-preview,.container-preview.render-editor .error-preview-msg,.container-preview.render-editor .loading-preview-msg,.container-preview.render-editor .no-changes-preview-msg,.container-preview.render-editor .show-code,.container-preview.render-editor .template-editor{display:none!important}.container-preview.show-code .commit-create,.container-preview.show-code .file-actions{display:block}.container-preview.show-code .commit-preview,.container-preview.show-code .error-preview-msg,.container-preview.show-code .loading-preview-msg,.container-preview.show-code .no-changes-preview-msg,.container-preview.show-code .render-editor,.container-preview.show-code .template-editor,.container-preview:not(.show-code) .commit-create,.container-preview:not(.show-code) .file-actions{display:none!important}.container-preview.loading-preview .loading-preview-msg{display:block}.container-preview.loading-preview .commit-preview,.container-preview.loading-preview .error-preview-msg,.container-preview.loading-preview .no-changes-preview-msg,.container-preview.loading-preview .render-editor,.container-preview.loading-preview .template-editor{display:none!important}.container-preview.show-preview .commit-preview{display:block}.container-preview.show-preview .error-preview-msg,.container-preview.show-preview .loading-preview-msg,.container-preview.show-preview .no-changes-preview-msg,.container-preview.show-preview .render-editor,.container-preview.show-preview .template-editor{display:none!important}.container-preview.no-changes-preview .no-changes-preview-msg{display:block}.container-preview.no-changes-preview .commit-preview,.container-preview.no-changes-preview .error-preview-msg,.container-preview.no-changes-preview .loading-preview-msg,.container-preview.no-changes-preview .render-editor,.container-preview.no-changes-preview .template-editor{display:none!important}.container-preview.error-preview .error-preview-msg{display:block}.container-preview.error-preview .commit-preview,.container-preview.error-preview .loading-preview-msg,.container-preview.error-preview .no-changes-preview-msg,.container-preview.error-preview .render-editor,.container-preview.error-preview .template-editor{display:none!important}.container-preview p.preview-msg{padding:30px;font-size:16px}.CodeMirror-merge-header{height:30px}.CodeMirror-merge-header .CodeMirror-merge-pane{height:30px;line-height:30px}.cm-s-github-light .merge-gutter{width:14px}.conflict-background+.CodeMirror-gutter-wrapper .CodeMirror-linenumber,.conflict-gutter-marker{background-color:var(--color-auto-yellow-1)}.conflict-gutter-marker:after,.conflict-gutter-marker:before{position:absolute;left:-1px;content:"";background-color:var(--color-auto-red-5)}.conflict-gutter-marker-end:after,.conflict-gutter-marker-start:after{width:1px;height:10px}.conflict-gutter-marker-end:before,.conflict-gutter-marker-middle:before,.conflict-gutter-marker-start:before{width:10px;height:1px}.conflict-gutter-marker-start:after{bottom:0}.conflict-gutter-marker-end:after{top:0}.conflict-gutter-marker-start:before{top:7px}.conflict-gutter-marker-end:before{bottom:7px}.conflict-gutter-marker-line:after,.conflict-gutter-marker-middle:after{width:1px;height:18px}.conflict-gutter-marker-middle:before{top:9px}.form-group .edit-action{opacity:.6}.form-group .form-field-hover{background-color:none;border:1px solid var(--color-border-tertiary)}.form-group:hover .edit-action{cursor:pointer;opacity:.7}.form-group:hover .form-field-hover{cursor:pointer}.form-group:hover .form-field-hover,.placeholder-box{border:1px solid var(--color-border-tertiary)}.template-previews{max-width:768px}.template-previews .Box .expand-group{display:none;height:0}.template-previews .Box .dismiss-preview-button{display:none}.template-previews .Box.expand-preview .expand-group{display:block;height:100%;transition:height 3s}.template-previews .Box.expand-preview .preview-button{display:none}.template-previews .Box.expand-preview .dismiss-preview-button{display:inline}.template-previews .discussion-sidebar-heading{font-size:14px;color:var(--color-bg-canvas-inverse)}.template-previews .discussion-sidebar-heading:hover{color:var(--color-bg-info-inverse)}.edit-labels{display:none}.preview-section{display:block}.Box .section-focus .preview-section,.edit-section{display:none}.Box .section-focus .edit-section{display:block}.commit-create .CodeMirror{padding-top:8px}[data-catalyst],auto-complete,details-dialog,details-menu,file-attachment,filter-input,include-fragment,poll-include-fragment,remote-input,tab-container,text-expander{display:block}.Details--on .Details-content--shown,.Details:not(.Details--on) .Details-content--hidden{display:none!important}.Details:not(.Details--on) .Details-content--hidden-not-important{display:none}.Details-element:not([open])>summary .Details-content--open,.Details-element[open]>summary .Details-content--closed{display:none!important}g-emoji{font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}g-emoji img{width:1em;height:1em}.emoji-icon{width:20px;background-repeat:no-repeat;background-size:20px 20px}.emoji-icon,.emoji-result{display:inline-block;height:20px;vertical-align:middle}.emoji-result{font-size:18px;font-weight:400}.gollum-editor .comment-form-head.tabnav{border:1px solid var(--color-border-secondary)}.gollum-editor .gollum-editor-body{height:390px;resize:vertical}.active .gollum-editor-function-buttons{display:block!important}.zeroclipboard-link{padding:0;margin:0;color:var(--color-text-link);cursor:pointer;background:none;border:0}.zeroclipboard-link .octicon{display:block}.auth-form{width:340px;margin:0 auto}.auth-form .form-group.errored .error,.auth-form .form-group.errored .warning,.auth-form .form-group.warn .error,.auth-form .form-group.warn .warning{max-width:274px}.auth-form-header{padding:10px 20px;margin:0;color:var(--color-text-white);text-shadow:0 -1px 0 rgba(0,0,0,.3);background-color:#829aa8;border:1px solid #768995;border-radius:6px 6px 0 0}.auth-form-header h1{font-size:16px}.auth-form-header h1 a{color:var(--color-text-white)}.auth-form-header .octicon{position:absolute;top:10px;right:20px;color:rgba(0,0,0,.4);text-shadow:0 1px 0 hsla(0,0%,100%,.1)}.auth-form-message{max-height:140px;padding:20px 20px 10px;overflow-y:scroll;border:1px solid var(--color-border-tertiary);border-radius:6px}.auth-form-message ol,.auth-form-message ul{padding-left:inherit;margin-bottom:inherit}.auth-form-body{padding:20px;font-size:14px;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);border-top:0;border-radius:0 0 6px 6px}.auth-form-body .input-block{margin-top:5px;margin-bottom:15px}.auth-form-body p{margin-bottom:0}.auth-form-body ol,.auth-form-body ul{padding-left:inherit;margin-bottom:inherit}.two-factor-help{position:relative;padding:10px 10px 10px 36px;margin:60px 0 auto auto;border:1px solid var(--color-border-secondary);border-radius:6px}.two-factor-help h4{margin-top:0;margin-bottom:5px}.two-factor-help .octicon-circle-slash,.two-factor-help .octicon-device-mobile,.two-factor-help .octicon-key,.two-factor-help .octicon-shield-lock{position:absolute;top:10px;left:10px}.sms-send-code-spinner{position:relative;bottom:2px;display:none;vertical-align:bottom}.loading .sms-send-code-spinner{display:inline}.webauthn-header:not(:last-child){padding-bottom:10px;margin-bottom:20px;border-bottom:1px solid var(--color-border-secondary)}.auth-form-body .webauthn-form-body{padding:0}.webauthn-form-body{padding:30px 30px 20px;text-align:center}.webauthn-form-body button{margin-top:20px}.webauthn-icon{color:var(--color-icon-tertiary)}.flash.sms-error,.flash.sms-success{display:none;margin:0 0 10px}.is-sent .sms-success{display:block}.is-not-sent .sms-success,.is-sent .sms-error{display:none}.is-not-sent .sms-error{display:block}.session-authentication{background-color:var(--color-bg-canvas)}.session-authentication .header-logged-out{background-color:initial;border-bottom:0}.session-authentication .header-logo{color:var(--color-text-primary)}.session-authentication .flash{padding:15px 20px;margin:0 auto 10px;font-size:13px;border-style:solid;border-width:1px;border-radius:6px}.session-authentication .flash .container{width:auto}.session-authentication .flash .flash-close{height:40px}.session-authentication .flash.flash-banner{width:100%;border-top:0;border-right:0;border-left:0;border-radius:0}.session-authentication .auth-form label{display:block;margin-bottom:7px;font-weight:400;text-align:left}.session-authentication .auth-form .btn{margin-top:20px}.session-authentication .auth-form .webauthn-message{margin-bottom:0}.session-authentication .label-link{float:right;font-size:12px}.session-authentication .auth-form-header{margin-bottom:15px;color:var(--color-text-primary);text-align:center;text-shadow:none;background-color:initial;border:0}.session-authentication .auth-form-header h1{font-size:24px;font-weight:300;letter-spacing:-.5px}.session-authentication .auth-form-body{border-top:1px solid var(--color-border-secondary);border-radius:6px}.session-authentication .auth-form-body.webauthn-form-body{padding:20px}.session-authentication .login-callout{padding:15px 20px;text-align:center;border:1px solid var(--color-border-tertiary);border-radius:6px}.session-authentication .two-factor-help{padding:0 0 0 20px;margin-top:20px;border:0}.session-authentication .two-factor-help .octicon-circle-slash,.session-authentication .two-factor-help .octicon-device-mobile,.session-authentication .two-factor-help .octicon-key,.session-authentication .two-factor-help .octicon-shield-lock{top:4px;left:0}.session-authentication.enterprise .header-logged-out{padding:48px 0 28px;background-color:initial}.session-authentication.hosted .header-logged-out{padding:40px 0 20px;background-color:initial}.Header-old{z-index:32;padding-top:12px;padding-bottom:12px;color:var(--color-header-text);background-color:var(--color-header-bg)}.server-stats+.Header-old{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.075)}.Header-old .dropdown-menu{width:300px}.Header-old .notification-indicator:hover:after{content:none}@media (min-width:1012px){.Header-old .notification-indicator:hover:after{content:attr(aria-label)}}.page-responsive .HeaderMenu{display:none;clear:both}@media (min-width:1012px){.page-responsive .HeaderMenu{display:block;clear:none}}.open .HeaderMenu{display:block}.HeaderMenu--logged-out .dropdown-menu{border:0;box-shadow:0 3px 12px var(--color-fade-black-15),0 0 1px rgba(27,31,35,.2)}.HeaderMenu--logged-out .dropdown-menu:after,.HeaderMenu--logged-out .dropdown-menu:before{display:none}.HeaderMenu--logged-out .header-search{width:240px}.HeaderMenu--logged-out .jump-to-suggestions{top:100%}.HeaderMenu--logged-out .HeaderMenu-details[open]>summary:before{position:absolute;bottom:-8px;display:block}.HeaderMenu--logged-out .header-search-input{padding-top:8px;padding-bottom:8px;font-size:14px;-webkit-appearance:none}.HeaderMenu--logged-out .header-search-input:-ms-input-placeholder{color:hsla(0,0%,100%,.75)!important}.HeaderMenu--logged-out .header-search-input::-ms-input-placeholder{color:hsla(0,0%,100%,.75)!important}.HeaderMenu--logged-out .header-search-input::placeholder{color:hsla(0,0%,100%,.75)!important}.edge-item-fix{list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.page-responsive .HeaderMenu--logged-out{z-index:100;width:300px;overflow:auto;background-color:var(--color-bg-primary);box-shadow:0 10px 50px var(--color-fade-black-15)}@media (min-width:1012px){.page-responsive .HeaderMenu--logged-out{width:auto;overflow:visible;background-color:initial;box-shadow:none}}.page-responsive .HeaderMenu--logged-out .dropdown-menu{position:static;width:auto;border:0 solid transparent;box-shadow:none}@media (min-width:1012px){.page-responsive .HeaderMenu--logged-out .dropdown-menu{position:absolute;width:300px;border:0;box-shadow:0 3px 12px var(--color-fade-black-15),0 0 1px rgba(27,31,35,.2)}.page-responsive .HeaderMenu--logged-out .dropdown-menu:after,.page-responsive .HeaderMenu--logged-out .dropdown-menu:before{content:""}}.page-responsive .HeaderMenu--logged-out .dropdown-menu-s{transform:none}@media (min-width:1012px){.page-responsive .HeaderMenu--logged-out .dropdown-menu-s{transform:translateX(50%)}}.page-responsive .HeaderMenu--logged-out .header-search{width:auto;border-top:0}@media (min-width:1012px){.page-responsive .HeaderMenu--logged-out .header-search{width:240px}}.page-responsive .HeaderMenu--logged-out .header-search-wrapper{border-color:var(--color-border-secondary)}@media (min-width:1012px){.page-responsive .HeaderMenu--logged-out .header-search-wrapper{border-color:var(--color-header-search-border)}}.page-responsive .HeaderMenu--logged-out .header-search-input{padding-top:8px;padding-bottom:8px;color:var(--color-text-primary);-webkit-appearance:none}@media (min-width:1012px){.page-responsive .HeaderMenu--logged-out .header-search-input{color:inherit}}.page-responsive .HeaderMenu--logged-out .header-search-input:-ms-input-placeholder{color:var(--color-text-secondary)!important}.page-responsive .HeaderMenu--logged-out .header-search-input::-ms-input-placeholder{color:var(--color-text-secondary)!important}.page-responsive .HeaderMenu--logged-out .header-search-input::placeholder{color:var(--color-text-secondary)!important}@media (min-width:1012px){.page-responsive .HeaderMenu--logged-out .header-search-input:-ms-input-placeholder{color:hsla(0,0%,100%,.75)!important}.page-responsive .HeaderMenu--logged-out .header-search-input::-ms-input-placeholder{color:hsla(0,0%,100%,.75)!important}.page-responsive .HeaderMenu--logged-out .header-search-input::placeholder{color:hsla(0,0%,100%,.75)!important}}.page-responsive .HeaderMenu-link{color:var(--color-text-primary);white-space:nowrap;background:transparent}.page-responsive .HeaderMenu-link:hover{color:var(--color-text-primary)}@media (min-width:1012px){.page-responsive .HeaderMenu-link{color:var(--color-text-white);transition:opacity .4s}.page-responsive .HeaderMenu-link:hover{color:var(--color-text-white);opacity:.75}}.page-responsive .HeaderMenu-link .icon-chevon-down-mktg{top:24px;right:0;width:14px;stroke:var(--color-icon-primary);transition:stroke .4s}@media (min-width:1012px){.page-responsive .HeaderMenu-link .icon-chevon-down-mktg{top:-2px;width:12px;stroke:hsla(0,0%,100%,.5);background:transparent}}.page-responsive .HeaderMenu-details[open]>summary:before{display:none}@media (min-width:1012px){.page-responsive .HeaderMenu-details[open]>summary:before{position:absolute;bottom:-8px;display:block}}.page-responsive .HeaderMenu-details[open] .HeaderMenu-link{color:var(--color-text-primary)}@media (min-width:1012px){.page-responsive .HeaderMenu-details[open] .HeaderMenu-link{color:hsla(0,0%,100%,.75)}}.page-responsive .HeaderMenu-details[open] .dropdown-menu{animation:none}@media (min-width:1012px){.page-responsive .HeaderMenu-details[open] .dropdown-menu{animation:dropdown-display .4s cubic-bezier(.73,.005,.22,1)}}.page-responsive .HeaderMenu-details[open] .icon-chevon-down-mktg{stroke:var(--color-icon-primary)}@media (min-width:1012px){.page-responsive .HeaderMenu-details[open] .icon-chevon-down-mktg{stroke:var(--color-auto-white)}}.HeaderMenu-link{color:var(--color-text-white);background:transparent;transition:opacity .4s}.HeaderMenu-link:hover{color:var(--color-text-white);opacity:.75}.HeaderMenu-link .icon-chevon-down-mktg{top:-2px;right:0;width:12px;stroke:hsla(0,0%,100%,.5);transition:stroke .4s}.HeaderMenu-details[open] .HeaderMenu-link{color:hsla(0,0%,100%,.75)}.HeaderMenu-details[open] .dropdown-menu{animation:dropdown-display .4s cubic-bezier(.73,.005,.22,1)}.HeaderMenu-details[open] .icon-chevon-down-mktg{stroke:var(--color-auto-white)}.HeaderMenu-summary::-webkit-details-marker,.HeaderMenu-summary::marker{display:none}@keyframes dropdown-display{0%{opacity:0;transform:scale(.98) translateY(-.6em)}to{opacity:1;transform:scale(1) translateY(0)}}.header-logo-invertocat{margin:-1px 15px -1px -2px;color:var(--color-text-white);white-space:nowrap}.header-logo-invertocat .octicon-mark-github{float:left}.header-logo-invertocat:hover{color:var(--color-text-white);text-decoration:none}.notification-indicator{color:var(--color-fade-white-70)}.notification-indicator .mail-status{position:absolute;top:-6px;left:6px;z-index:2;display:none;width:14px;height:14px;color:var(--color-text-white);background-image:linear-gradient(#54a3ff,#006eed);background-clip:padding-box;border:2px solid var(--color-header-bg);border-radius:50%}.notification-indicator .mail-status.unread{display:inline-block}.notification-indicator:hover .mail-status{text-decoration:none;background-color:var(--color-bg-info-inverse)}.header-nav-current-user{padding-bottom:0;font-size:inherit}.header-nav-current-user .css-truncate-target{max-width:100%}.header-nav-current-user .user-profile-link{color:var(--color-text-primary)}.feature-preview-indicator{position:absolute;top:0;left:13px;z-index:2;width:14px;height:14px;color:var(--color-text-white);background-image:linear-gradient(#54a3ff,#006eed);background-clip:padding-box;border:2px solid var(--color-header-bg);border-radius:50%}.feature-preview-details .feature-preview-indicator{top:9px;right:10px;left:inherit;width:10px;height:10px;border:0}.unsupported-browser{color:var(--color-text-primary);background-color:var(--color-bg-warning);border-bottom:1px solid var(--color-border-warning)}.header-search-wrapper{display:table;width:100%;max-width:100%;padding:0;font-size:inherit;font-weight:400;color:var(--color-text-white);vertical-align:middle;background-color:var(--color-header-search-bg);border:1px solid var(--color-header-search-border);box-shadow:none}.header-search-wrapper.header-search-wrapper-jump-to .header-search-scope{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.header-search-wrapper .truncate-repo-scope{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-search-wrapper.focus{background-color:hsla(0,0%,100%,.175);box-shadow:none}.header-search-wrapper.focus .header-search-scope{color:var(--color-text-white);background-color:hsla(0,0%,100%,.075);border-right-color:#282e34}.header-search-input{display:table-cell;width:100%;padding-top:0;padding-bottom:0;font-size:inherit;color:inherit;background:none;border:0;box-shadow:none}.header-search-input:-ms-input-placeholder{color:hsla(0,0%,100%,.75)}.header-search-input::-ms-input-placeholder{color:hsla(0,0%,100%,.75)}.header-search-input::placeholder{color:hsla(0,0%,100%,.75)}.header-search-input:focus{border:0;box-shadow:none}.header-search-input:focus~.header-search-key-slash{display:none!important}.header-search-input::-ms-clear{display:none}.header-search-scope{display:none;padding-right:8px;padding-left:8px;font-size:inherit;line-height:28px;color:var(--color-fade-white-70);white-space:nowrap;vertical-align:middle;border-right:1px solid #282e34;border-top-left-radius:6px;border-bottom-left-radius:6px}.header-search-scope:empty+.header-search-input{width:100%}.header-search-scope:hover{color:var(--color-text-white);background-color:hsla(0,0%,100%,.12)}.scoped-search .header-search-wrapper{display:flex}.jump-to-field-active{color:var(--color-text-primary)!important;background-color:var(--color-bg-secondary)}.jump-to-field-active:-ms-input-placeholder{color:var(--color-text-secondary)!important}.jump-to-field-active::-ms-input-placeholder{color:var(--color-text-secondary)!important}.jump-to-field-active::placeholder{color:var(--color-text-secondary)!important}.jump-to-field-active~.header-search-key-slash{display:none}.jump-to-field-active.jump-to-dropdown-visible{border-bottom-right-radius:0;border-bottom-left-radius:0}.jump-to-suggestions{top:100%;left:0;z-index:35;width:100%;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:6px;border-bottom-left-radius:6px;box-shadow:0 4px 10px rgba(0,0,0,.1)}.jump-to-suggestions-path{min-width:0;min-height:44px;color:var(--color-auto-black)}.jump-to-suggestions-path .jump-to-octicon{width:28px;color:var(--color-text-tertiary)}.jump-to-suggestions-path .jump-to-suggestion-name{max-width:none}.jump-to-suggestions-path mark{font-weight:600;background-color:initial}.jump-to-suggestions-results-container .navigation-item{border-bottom:1px solid var(--color-border-primary)}.jump-to-suggestions-results-container .navigation-item:last-child{border-bottom:0}.jump-to-suggestions-results-container .d-on-nav-focus{display:none}.jump-to-suggestions-results-container .navigation-focus .jump-to-octicon,.jump-to-suggestions-results-container [aria-selected=true] .jump-to-octicon{color:var(--color-text-white)}.jump-to-suggestions-results-container .navigation-focus .jump-to-suggestions-path,.jump-to-suggestions-results-container [aria-selected=true] .jump-to-suggestions-path{color:var(--color-text-white);background:var(--color-bg-info-inverse)}.jump-to-suggestions-results-container .navigation-focus mark,.jump-to-suggestions-results-container [aria-selected=true] mark{color:var(--color-text-white)}.jump-to-suggestions-results-container .navigation-focus .d-on-nav-focus,.jump-to-suggestions-results-container [aria-selected=true] .d-on-nav-focus{display:block}.header-search{max-width:100%;transition:.2s ease-in-out;transition-property:max-width,padding-bottom,padding-top}@media (min-width:768px){.header-search{max-width:272px}}@media (min-width:768px){.header-search:focus-within{max-width:544px}}@media (min-width:768px){.header-search.fixed-width:focus-within{max-width:272px}}.HeaderMenu--logged-out .header-search{min-width:auto} +/*# sourceMappingURL=frameworks-ce9c68053e5c33a577e531242ff38184.css.map */ + + +
+

Dynamsoft Barcode Reader for Your Website

+

version +downloads +jsdelivr +

+

Turn your web page into a barcode scanner with just a few lines of code.

+

Once integrated, your users can open your website in a browser, access their cameras and read barcodes directly from the video input.

+

In this guide, you will learn step by step on how to integrate this library into your website.

+
+

Also see Dynamsoft Barcode Reader for Node.

+
+

Table of Contents:

+

Example Code:

+ -

Hello World - Simplest Implementation

-

Let's start with the "Hello World" example of the DBR-JS SDK which demonstrates how to use the minimum code to enable a web page to read barcodes from a live video stream.

-

Basic Requirements

+

You can also:

+ +

Hello World - Simplest Implementation

+

Let's start by testing the "Hello World" example of the library which demonstrates how to use the minimum code to enable a web page to read barcodes from a live video stream.

+ +

Step One: Check the code of the example

The complete code of the "Hello World" example is shown below

-
<!DOCTYPE html>
-<html>
-<body>
-<div id="camera-view-container" style="width: 100%; height: 60vh"></div>
-<textarea id="results" style="width: 100%; min-height: 10vh; font-size: 3vmin; overflow: auto" disabled></textarea>
-<script src="https://cdn.jsdelivr.net/npm/dynamsoft-barcode-reader-bundle@11.4.2000/dist/dbr.bundle.js"></script>
-<script>
-  Dynamsoft.License.LicenseManager.initLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9");
-  Dynamsoft.Core.CoreModule.loadWasm();
-  (async () => {
-    let cvRouter = await Dynamsoft.CVR.CaptureVisionRouter.createInstance();
-
-    let cameraView = await Dynamsoft.DCE.CameraView.createInstance();
-    let cameraEnhancer = await Dynamsoft.DCE.CameraEnhancer.createInstance(cameraView);
-    document.querySelector("#camera-view-container").append(cameraView.getUIElement());
-    cvRouter.setInput(cameraEnhancer);
+
<!DOCTYPE html>
+<html>
 
-    const resultsContainer = document.querySelector("#results");
-    await cvRouter.addResultReceiver({ onDecodedBarcodesReceived: (result) => {
-      if (result.barcodeResultItems?.length) {
-        resultsContainer.textContent = '';
-        for (let item of result.barcodeResultItems) {
-          resultsContainer.textContent += `${item.formatString}: ${item.text}\n\n`;
-        }
-      }
-    }});
+<body>
+<script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/dbr.js"></script>
+<script>
+  // initializes and uses the library
+  let scanner = null;
+  (async () => {
+      scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance();
+      scanner.onFrameRead = results => {
+          if (results.length > 0) console.log(results);
+      };
+      scanner.onUnduplicatedRead = (txt, result) => {
+          alert(txt);
+      };
+      await scanner.show();
+  })();
+</script>
+</body>
 
-    let filter = new Dynamsoft.Utility.MultiFrameResultCrossFilter();
-    filter.enableResultCrossVerification("barcode", true);
-    filter.enableResultDeduplication("barcode", true);
-    await cvRouter.addResultFilter(filter);
+</html>
+await cameraEnhancer.open(); - await cvRouter.startCapturing("ReadSingleBarcode"); + + + + + + +" tabindex="0" role="button"> + + + +
-

Secure Contexts:

-

If you open the web page as http:// , our SDK may not work correctly because the MediaDevices: getUserMedia() and other methods only work in secure contexts (HTTPS, localhost, 127.0.0.1, file://), in some or all supporting browsers.

-

Regarding configuring https on your server, these guides for nginx / IIS / tomcat / nodejs might help.

-

If the test doesn't go as expected, you can contact us.

+

You can also find the code (with more comments) on GitHub.

-

Preparing the SDK

-

Step 1: Include the SDK

-
- -
-
Use a public CDN
-

The simplest way to include the SDK is to use either the jsDelivr or UNPKG CDN. The "hello world" example above uses jsDelivr.

-
    -
  • jsDelivr
  • -
-
  <script src="https://cdn.jsdelivr.net/npm/dynamsoft-barcode-reader-bundle@11.4.2000/dist/dbr.bundle.js"></script>
-
+

About the code

    -
  • UNPKG
  • +
  • +

    createInstance(): This method creates a BarcodeScanner object. This object can read barcodes directly from a video input with the help of its interactive UI (hidden by default) and the MediaDevices interface.

    +
  • +
  • +

    onFrameRead: This event is triggered every time the library finishes scanning a video frame. The results object contains all the barcode results that the library have found on this frame. In this example, we print the results to the browser console.

    +
  • +
  • +

    onUnduplicatedRead: This event is triggered when the library finds a new barcode, which is not a duplicate among multiple frames. txt holds the barcode text value while result is an object that holds details of the barcode. In this example, an alert will be displayed for this new barcode.

    +
  • +
  • +

    show(): This method brings up the built-in UI of the BarcodeScanner object.

    +
-
  <script src="https://unpkg.com/dynamsoft-barcode-reader-bundle@11.4.2000/dist/dbr.bundle.js"></script>
-
- -
    -
  • In frameworks like React, Vue and Angular, you may want to add the package as a dependency.
  • -
-
  npm i dynamsoft-barcode-reader-bundle@11.4.2000 -E
-  # or
-  yarn add dynamsoft-barcode-reader-bundle@11.4.2000 -E
-
-

NOTE that in frameworks, you need to specify the location of the engine files.

-
-
-
Host the SDK yourself
-

Besides using the public CDN, you can also download the SDK and host its files on your own server or a commercial CDN before including it in your application.

+

Step Two: Test the example

+

You can choose one of three ways to test the example:

-
  npm i dynamsoft-barcode-reader-bundle@11.4.2000 -E
-
-

The resources are located at the path node_modules/<pkg>, without @<version>. You must copy "dynamsoft-xxx" packages elsewhere and add @<version>. The <version> can be obtained from package.json of each package. Another thing to do is to specify the engineResourcePaths so that the SDK can correctly locate the resources.

+

Either way, you open the example page in a browser, allow the page to access your camera and the video will show up on the page. After that, you can point the camera at something with a barcode to read it.

+

If the barcode is decoded, an alert will pop up with the result text. At the same time, the barcode location will be highlighted in the video feed.

-

Since "nodemodules" is reserved for Node.js dependencies, and in our case the package is used only as static resources, we recommend either renaming the "nodemodules" folder or moving the "dynamsoft-" packages to a dedicated folder for static resources in your project to facilitate self-hosting.

+

For first use, you may need to wait a few seconds for the library to initialize.

-

You can typically include SDK like this:

-
<script src="path/to/dynamsoft-barcode-reader-bundle@11.4.2000/dist/dbr.bundle.js"></script>
-
-
-

Note:

    -
  • Certain legacy web application servers may lack support for the application/wasm mimetype for .wasm files. To address this, you have two options:
  • +
  • +

    The library only scans a new frame when it has finished scanning the previous frame. The interval between two consecutive frames might not be enough time for the library to process the 1st frame (for 30 FPS, the interval is about 33 ms), therefore, not all frames are scanned.

    +
  • +
  • +

    The library requires a license to work. However, when no license is specified in the code, Dynamsoft allows a 7-day free trial period during which you can make initial evaluation of the library to decide whether or not you want to evaluate it further. If you do, you can request a trial.

    +
    +

    Network connection is required for the 7-day trial to work.

    +
    +
-
    -
  1. Upgrade your web application server to one that supports the application/wasm mimetype.
  2. -
  3. Manually define the mimetype on your server. You can refer to the guides for apache / IIS / nginx.
  4. -
+

If the test doesn't go as expected, you can check out the FAQ or contact us.

+

Building your own page

+

Include the library

+

2.1.1 Use a CDN

+

The simplest way to include the library is to use either the jsDelivr or UNPKG CDN. The "hello world" example above uses jsDelivr.

    -
  • To work properly, the SDK requires a few engine files, which are relatively large and may take quite a few seconds to download. We recommend that you set a longer cache time for these engine files, to maximize the performance of your web application.
  • +
  • +

    jsDelivr

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/dbr.js"></script>
    + + + + +
    +
  • +
  • +

    UNPKG

    +
    <script src="https://unpkg.com/dynamsoft-javascript-barcode@8.4.0/dist/dbr.js"></script>
    + + + + +
    +
-
hljs   Cache-Control: max-age=31536000
-
-

Reference: Cache-Control.

-

Step 2: Prepare the SDK

-

Before using the SDK, you need to configure a few things.

-

1. Specify the license

-

To enable the SDK's functionality, you must provide a valid license. Utilize the API function initLicense to set your license key.

-
Dynamsoft.License.LicenseManager.initLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9");
-
-

As previously stated, the key "DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9" serves as a test license valid for 24 hours, applicable to any newly authorized browser. To test the SDK further, you can request a 30-day free trial license via the Request a Trial License link.

-
-

Upon registering a Dynamsoft account and obtaining the SDK package from the official website, Dynamsoft will automatically create a 30-day free trial license and embed the corresponding license key into all the provided SDK samples.

-
-

2. [Optional] Specify the location of the "engine" files

-

This step is generally necessary when utilizing frameworks such as Angular, React, Vue, or when managing the hosting of resource files yourself.

-

The purpose is to tell the SDK where to find the engine files (*.worker.js, *.wasm.js and *.wasm, etc.).

-
// in framework
-import { CoreModule } from "dynamsoft-barcode-reader-bundle";
-CoreModule.engineResourcePaths.rootDirectory = "https://cdn.jsdelivr.net/npm/";
-
-
// in pure js
-Dynamsoft.Core.CoreModule.engineResourcePaths.rootDirectory = "https://cdn.jsdelivr.net/npm/";
-
-

These code uses the jsDelivr CDN as an example, feel free to change it to your own location.

-

Using the SDK

-

Step 1: Preload the module

-

The image processing logic is encapsulated within .wasm library files, and these files may require some time for downloading. To enhance the speed, we advise utilizing the following method to preload the libraries.

-
// Preload the .wasm files
-Dynamsoft.Core.CoreModule.loadWasm();
-
-

Step 2: Create a CaptureVisionRouter object

-

To use the SDK, we first create a CaptureVisionRouter object.

-
Dynamsoft.License.LicenseManager.initLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9");
-
-let cvRouter = null;
-try {
-    cvRouter = await Dynamsoft.CVR.CaptureVisionRouter.createInstance();
-} catch (ex) {
-    console.error(ex);
-}
-
-

Tip:

-

When creating a CaptureVisionRouter object within a function which may be called more than once, it's best to use a "helper" variable to avoid double creation such as pCvRouter in the following code:

-
Dynamsoft.License.LicenseManager.initLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9");
-
-let pCvRouter = null; // The helper variable which is a promise of cvRouter
-let cvRouter = null;
-
-document.getElementById('btn-scan').addEventListener('click', async () => {
-    try {
-        cvRouter = await (pCvRouter = pCvRouter || Dynamsoft.CVR.CaptureVisionRouter.createInstance());
-    } catch (ex) {
-        console.error(ex);
-    }
-});
-
-

Step 3: Connect an image source

-

The CaptureVisionRouter object, denoted as cvRouter, is responsible for handling images provided by an image source. In our scenario, we aim to detect barcodes directly from a live video stream. To facilitate this, we initialize a CameraEnhancer object, identified as cameraEnhancer, which is specifically designed to capture image frames from the video feed and subsequently forward them to cvRouter.

-

To enable video streaming on the webpage, we create a CameraView object referred to as cameraView, which is then passed to cameraEnhancer, and its content is displayed on the webpage.

-
<div id="camera-view-container" style="width: 100%; height: 100vh"></div>
-
-
let cameraView = await Dynamsoft.DCE.CameraView.createInstance();
-let cameraEnhancer = await Dynamsoft.DCE.CameraEnhancer.createInstance(cameraView);
-document.querySelector("#camera-view-container").append(cameraView.getUIElement());
-cvRouter.setInput(cameraEnhancer);
-
-

Step 4: Register a result receiver

-

Once the image processing is complete, the results are sent to all the registered CapturedResultReceiver objects. Each CapturedResultReceiver object may encompass one or multiple callback functions associated with various result types. This time we use onDecodedBarcodesReceived:

- -
const resultsContainer = document.querySelector("#results");
-const resultReceiver = new Dynamsoft.CVR.CapturedResultReceiver();
-resultReceiver.onDecodedBarcodesReceived  = (result) => {
-  if (result.barcodeResultItems?.length) {
-    resultsContainer.textContent = '';
-    for (let item of result.barcodeResultItems) {
-      // In this example, the barcode results are displayed on the page below the video.
-      resultsContainer.textContent += `${item.formatString}: ${item.text}\n\n`;
-    }
-  }
-};
-await cvRouter.addResultReceiver(resultReceiver);
-
-

You can also write code like this. It is the same.

-
const resultsContainer = document.querySelector("#results");
-await cvRouter.addResultReceiver({ onDecodedBarcodesReceived: (result) => {
-  if (result.barcodeResultItems?.length) {
-    resultsContainer.textContent = '';
-    for (let item of result.barcodeResultItems) {
-      // In this example, the barcode results are displayed on the page below the video.
-      resultsContainer.textContent += `${item.formatString}: ${item.text}\n\n`;
-    }
-  }
-}});
-
-

Check out CapturedResultReceiver for more information.

-

Step 5: Start process video frames

-

With the setup now complete, we can proceed to process the images in two straightforward steps:

-
    -
  1. Initiate the image source to commence image acquisition. In our scenario, we invoke the open() method on cameraEnhancer to initiate video streaming and simultaneously initiate the collection of images. These collected images will be dispatched to cvRouter as per its request.
  2. -
  3. Define a preset template to commence image processing. In our case, we utilize the "ReadSingleBarcode" template, specifically tailored for processing images containing a single barcode.
  4. -
-
await cameraEnhancer.open();
-await cvRouter.startCapturing("ReadSingleBarcode");
-
+

2.1.2 Host the library yourself (recommended)

+

Besides using the CDN, you can also download the library and host its files on your own website / server before including it in your application.

+

The following shows a few ways to download the library.

+
    +
  • +

    From the website

    +

    Download the JavaScript Package

    +
  • +
  • +

    yarn

    +
    $ yarn add dynamsoft-javascript-barcode
    + + + + +
    +
  • +
  • +

    npm

    +
    $ npm install dynamsoft-javascript-barcode --save
    +
    + + + + +
    +
  • +
+

Depending on how you downloaded the library and where you put it. You can typically include it like this:

+
<script src="/DBR-JS-8.4.0/dist/dbr.js"></script>
+ + + + +
+

or

+
<script src="/node_modules/dynamsoft-javascript-barcode/dist/dbr.js"></script>
+ + + + +
+

Read more on how to host the library.

+

Configure the library

+

Before using the library, you need to configure a few things.

+

2.2.1 Specify the license

+

The library requires a license to work, use the APIs organizationID and handshakeCode to specify how to acquire the license.

+
Dynamsoft.DBR.BarcodeScanner.organizationID = "YOUR-ORGANIZATION-ID"; // Required.
+Dynamsoft.DBR.BarcodeScanner.handshakeCode = "A-SPECIFIC-HANDSHAKECODE"; // Optional, if not specified, the default handshake code is used.
+Dynamsoft.DBR.BarcodeScanner.sessionPassword = "PASSWORD-TO-PROTECT-YOUR-LICENSE"; // Optional but recomended, use it to protect your license.
+Dynamsoft.DBR.BarcodeScanner.licenseServer = ["YOUR-OWN-MAIN-LTS", "YOUR-OWN-STANDBY-LTS"]; //Optional, ignore this line if you are using Dynamsoft-hosting LTS.
+ + + + +

Note:

    -
  • cvRouter is engineered to consistently request images from the image source.
  • -
  • Various preset templates are at your disposal for barcode reading:
  • +
  • Network connection is required for the license to work.
  • +
  • If nothing is specified, a 7-day (public) trial will be used by default which is the case in the above "hello world" example.
  • +
  • The license is actually fetched during the creation of an BarcodeScanner or BarcodeReader object.
  • +
  • If a public network connection is not available, you can choose to host a license server in your private network or even get an offline license that does not require any network connection. Contact us for more information.
+

2.2.2 Specify the location of the "engine" files

+

The "engine" files refer to *.worker.js, *.wasm.js and *.wasm, etc. which are loaded by the main library at runtime. This configuration option uses the API engineResourcePath and is often not required as these files usually are in the same location with the main library file (dbr.js). However, in cases where the engine files are not in the same location as the main library file (for example, with frameworks like Angular or React, dbr.js is compiled into another file), this configuration will be required.

+

The following code uses the jsDelivr CDN, feel free to change it to your own location of these files.

+
import DBR from "dynamsoft-javascript-barcode";
+DBR.BarcodeScanner.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.3/dist/";
+export default DBR;
+ + + + +
+

2.2.3 Specify which engine to use

+

The library comes with two engines: "compact" and "full". They may be merged into one in the future, but right now you can choose one to use.

+

By default, the compact engine is used. The following line changes it to the full engine.

+
Dynamsoft.DBR.BarcodeScanner._bUseFullFeature = true;
+ + + + +
+

The following table compares the features between the two engines:

- - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + + + + + + + + + + +
Template NameFunction DescriptionFeaturesCompact editionFull edition
ReadBarcodes_DefaultScans multiple barcodes by default setting..wasm size*(gzip)897 KB1.2 MB
1D✓✓
QR✓✓
Micro QR-✓
PDF417✓✓
Micro PDF417-✓
DataMatrix✓✓
Aztec-✓
MaxiCode-✓
Patch Code-✓
GS1 Composite Code-✓
GS1 DataBar-✓
ReadSingleBarcodeQuickly scans a single barcode.DotCode-✓
ReadBarcodes_SpeedFirstPrioritizes speed in scanning multiple barcodes.Postal Code-✓
ReadBarcodes_ReadRateFirstMaximizes the number of barcodes read.DPM-✓
ReadBarcodes_BalanceBalances speed and quantity in reading multiple barcodes.getRuntimeSettings✓✓
ReadDenseBarcodesSpecialized in reading barcodes with high information density.updateRuntimeSettings✓✓
ReadDistantBarcodesCapable of reading barcodes from extended distances.getIntermediateResults-✓
initRuntimeSettingsWithString-✓
outputSettingsToString-✓
-

Read more on the preset CaptureVisionTemplates.

-

Customizing the process

-

1. Adjust the preset template settings

-

When making adjustments to some basic tasks, we often only need to modify SimplifiedCaptureVisionSettings.

-

1.1. Change barcode settings

-

The preset templates can be updated to meet different requirements. For example, the following code limits the barcode format to QR code.

-
let settings = await cvRouter.getSimplifiedSettings("ReadSingleBarcode");
-settings.barcodeSettings.barcodeFormatIds = Dynamsoft.DBR.EnumBarcodeFormat.BF_QR_CODE;
-await cvRouter.updateSettings("ReadSingleBarcode", settings);
-await cvRouter.startCapturing("ReadSingleBarcode");
-
-

For a list of adjustable barcode settings, check out SimplifiedBarcodeReaderSettings and EnumBarcodeFormat.

-

1.2. Retrieve the original image

-

Additionally, we have the option to modify the template to retrieve the original image containing the barcode.

-
let settings = await cvRouter.getSimplifiedSettings("ReadSingleBarcode");
-settings.outputOriginalImage = true;
-await cvRouter.updateSettings("ReadSingleBarcode", settings);
-await cvRouter.startCapturing("ReadSingleBarcode");
-
-

Limit the barcode format to QR code, and retrieve the original image containing the barcode, at the same time.

-
let settings = await cvRouter.getSimplifiedSettings("ReadSingleBarcode");
-settings.outputOriginalImage = true;
-settings.barcodeSettings.barcodeFormatIds = Dynamsoft.DBR.EnumBarcodeFormat.BF_QR_CODE;
-await cvRouter.updateSettings("ReadSingleBarcode", settings);
-await cvRouter.startCapturing("ReadSingleBarcode");
-
-

Please be aware that it is necessary to update the CapturedResultReceiver object to obtain the original image. For instance:

-
const EnumCRIT = Dynamsoft.Core.EnumCapturedResultItemType; // Enum for captured result item types.
-// Create a result receiver to handle the results.
-await cvRouter.addResultReceiver({
-  // This function is called when any capture result is received.
-  onCapturedResultReceived: (result) => {
-    //Check for barcode results
-    let barcodeResultItems = result.items.filter((item) => item.type === EnumCRIT.CRIT_BARCODE);
-    if (barcodeResultItems.length > 0) {
-      let image = result.items.filter((item) => item.type === EnumCRIT.CRIT_ORIGINAL_IMAGE)[0]?.imageData; // Retrieve the original image.
-      if (image) document.body.appendChild(image.toCanvas()); // Append the image to DOM.
-      for (let item of barcodeResultItems) {
-        // Print each barcode result to the console.
-        console.log(`Barcode: ${item.text}, Format: ${item.formatString}`);
-      }
-    }
-  },
-});
-
-

1.3. Change reading frequency to save power

-

The SDK is initially configured to process images sequentially without any breaks. Although this setup maximizes performance, it can lead to elevated power consumption, potentially causing the device to overheat. In many cases, it's possible to reduce the reading speed while still satisfying business requirements. The following code snippet illustrates how to adjust the SDK to process an image every 500 milliseconds:

-
-

Please bear in mind that in the following code, if an image's processing time is shorter than 500 milliseconds, the SDK will wait for the full 500 milliseconds before proceeding to process the next image. Conversely, if an image's processing time exceeds 500 milliseconds, the subsequent image will be processed immediately upon completion.

-
-
let settings = await cvRouter.getSimplifiedSettings("ReadSingleBarcode");
-settings.minImageCaptureInterval = 500;
-await cvRouter.updateSettings("ReadSingleBarcode", settings);
-await cvRouter.startCapturing("ReadSingleBarcode");
-
-

1.4. Specify a scan region

-

We can specify a scan region to allow the SDK to process only part of the image, improving processing speed. The code snippet below demonstrates how to do this using the cameraEnhancer image source.

-
cameraEnhancer = await Dynamsoft.DCE.CameraEnhancer.createInstance(cameraView);
-// In this example, we set the scan region to cover the central 25% of the image.
-cameraEnhancer.setScanRegion({
-  x: 25,
-  y: 25,
-  width: 50,
-  height: 50,
-  isMeasuredInPercentage: true,
-});
-
+

* The file size is version 8.4.0. In other versions, the size may be different.

+

Interact with the library

+

2.3.1 Create a BarcodeScanner object

+

You can use one of two classes ( BarcodeScanner and BarcodeReader ) to interact with the library. BarcodeReader is a low-level class that processes images directly. BarcodeScanner , on the other hand, inherits from BarcodeReader and provides high-level APIs and a built-in UI to allow barcode scanning via cameras. We'll focus on BarcodeScanner in this guide.

+

To use the library, we first create a BarcodeScanner object.

+
try {
+await Dynamsoft.DBR.BarcodeScanner.createInstance();
+} catch (ex) {
+console.error(ex);
+}
+ + + + +

Note:

-
    -
  1. By configuring the region at the image source, images are cropped before processing, removing the need to adjust any further processing settings.
  2. -
  3. cameraEnhancer enhances interactivity by overlaying a mask on the video, clearly marking the scanning region.
  4. -
-

See Also:

-

CameraEnhancer::setScanRegion

- - -

2. Edit the preset templates directly

-

The preset templates have many more settings that can be customized to suit your use case best. If you download the SDK from Dynamsoft website, you can find the templates under

+await barcodeScanner.updateRuntimeSettings(settings); +" tabindex="0" role="button"> + + + +
+

Try in JSFiddle.

+

See also settings samples on GitHub.

+ + +

2.3.3 Customize the UI

+

The built-in UI of the BarcodeScanner object is defined in the file dist/dbr.scanner.html . There are a few ways to customize it:

+ +

See also UI customization samples on GitHub.

+

Interested to test it further? Read on to learn how to request a 30-day free trial.

+

Requesting A Trial

+

From version 8.4.0 of the library, if no license is specified, a 7-day trial will be used by default.

+
+

Network connection is required for the 7-day trial to work.

+
+

After that, if you want to evaluate the library further, you can register for a Dynamsoft account (if you haven't already done so) and request a 30-day trial in the customer portal.

-

Method 2: Eliminate redundant results detected within a short time frame

-
let filter = new Dynamsoft.Utility.MultiFrameResultCrossFilter();
-filter.enableResultDeduplication("barcode", true);
-await cvRouter.addResultFilter(filter);
-
-

Note:

+

System Requirements

+

This library requires the following features which are supported by all modern mainstream browsers:

+ +

The following table is a list of supported browsers based on the above requirements:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Browser NameVersion
Chromev57+ (v59+ on Android/iOS1)
Firefoxv52+ (v55+ on Android/iOS1)
Edge2v16+
Safari3v11+
+

1 iOS 14.3+ is required for camera video streaming in Chrome and Firefox or Apps using webviews.

+

2 On Edge, due to strict Same-origin policy, you must host the library files on the same domain as your web page.

+

3 Safari 11.2.2 ~ 11.2.6 are not supported.

+

Apart from the browsers, the operating systems may impose some limitations of their own that could restrict the use of the library. Browser compatibility ultimately depends on whether the browser on that particular operating system supports the features listed above.

+

Hosting the library

+

Step One: Deploy the dist folder

+

Once you have downloaded the library, you can locate the "dist" directory and copy it to your server (usually as part of your website / web application). The following shows some of the files in this directory:

-

Initially, the filter is set to forget a result 3 seconds after it is first received. During this time frame, if an identical result appears, it is ignored.

+

Step Two: Configure the Server

+ +

Advanced Usage

+

In addition to the content mentioned above, the library has many other settings and options that you can adjust to best suit your usage. To read more, please see advanced usage.

+

How to Upgrade

+

If you are using an older version of the library and want to upgrade it to the latest version, please read more on how to upgrade.

+

FAQ

+

Can I open the web page directly from the hard drive?

+

Yes, for simple testing purposes, it's perfectly fine to open the file directly from the hard drive. However, you might encounter some issues in doing so (like unable to access the camera, etc.). The recommendation is to deploy this page to your web server and run it over HTTPS. If you don't have a ready-to-use web server but have a package manager like npm or yarn, you can set up a simple HTTP server in minutes. Check out http-server on npm or yarn.

+

Why can't I use my camera?

+

If you open the web page as file:/// or http://, the camera may not work and you see the following error in the browser console:

+
+

[Deprecation] getUserMedia() no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.

+
+ +
+

Trying to call getUserMedia from an insecure document.

+
+

You get this error because the API getUserMedia requires HTTPS to access the camera.

+ +

To make sure your web application can access the camera, please configure your web server to support HTTPS. The following links may help.

+ + + + \ No newline at end of file diff --git a/README.md b/README.md index 34de0fef..161273f5 100644 --- a/README.md +++ b/README.md @@ -1,725 +1,518 @@ -# Barcode Reader for Your Website - Foundational API Guide - -[Dynamsoft Barcode Reader JavaScript Edition](https://www.dynamsoft.com/barcode-reader/sdk-javascript/) (DBR-JS) is equipped with industry-leading algorithms for exceptional speed, accuracy and read rates in barcode reading. Using its well-designed API, you can turn your web page into a barcode scanner with just a few lines of code. Once the DBR-JS SDK gets integrated into your web page, your users can access a camera via the browser and read barcodes directly from its video input. - - - -In this guide, you will learn step by step on how to integrate the DBR-JS SDK into your website. - -Table of Contents - -- [Barcode Reader for Your Website - Foundational API Guide](#barcode-reader-for-your-website---foundational-api-guide) - - [Hello World - Simplest Implementation](#hello-world---simplest-implementation) - - [Understand the code](#understand-the-code) - - [About the code](#about-the-code) - - [Run the example](#run-the-example) - - [Preparing the SDK](#preparing-the-sdk) - - [Step 1: Include the SDK](#step-1-include-the-sdk) - - [Step 2: Prepare the SDK](#step-2-prepare-the-sdk) - - [1. Specify the license](#1-specify-the-license) - - [2. \[Optional\] Specify the location of the "engine" files](#2-optional-specify-the-location-of-the-engine-files) - - [Using the SDK](#using-the-sdk) - - [Step 1: Preload the module](#step-1-preload-the-module) - - [Step 2: Create a CaptureVisionRouter object](#step-2-create-a-capturevisionrouter-object) - - [Step 3: Connect an image source](#step-3-connect-an-image-source) - - [Step 4: Register a result receiver](#step-4-register-a-result-receiver) - - [Step 5: Start process video frames](#step-5-start-process-video-frames) - - [Customizing the process](#customizing-the-process) - - [1. Adjust the preset template settings](#1-adjust-the-preset-template-settings) - - [1.1. Change barcode settings](#11-change-barcode-settings) - - [1.2. Retrieve the original image](#12-retrieve-the-original-image) - - [1.3. Change reading frequency to save power](#13-change-reading-frequency-to-save-power) - - [1.4. Specify a scan region](#14-specify-a-scan-region) - - [2. Edit the preset templates directly](#2-edit-the-preset-templates-directly) - - [3. \[Important\] Filter the results](#3-important-filter-the-results) - - [Method 1: Verify results across multiple frames](#method-1-verify-results-across-multiple-frames) - - [Method 2: Eliminate redundant results detected within a short time frame](#method-2-eliminate-redundant-results-detected-within-a-short-time-frame) - - [4. Add feedback](#4-add-feedback) - - [Customizing the UI](#customizing-the-ui) - - [Documentation](#documentation) - - [API Reference](#api-reference) - - [How to Upgrade](#how-to-upgrade) - - [Release Notes](#release-notes) - - [Next Steps](#next-steps) +![downloads](https://img.shields.io/npm/dm/dynamsoft-javascript-barcode.svg) +![jsdelivr](https://img.shields.io/jsdelivr/npm/hm/dynamsoft-javascript-barcode.svg) +![](https://img.shields.io/snyk/vulnerabilities/npm/dynamsoft-javascript-barcode.svg) -## Hello World - Simplest Implementation +Turn your web page into a barcode scanner with just a few lines of code. -Let's start with the "Hello World" example of the DBR-JS SDK which demonstrates how to use the minimum code to enable a web page to read barcodes from a live video stream. +Once integrated, your users can open your website in a browser, access their cameras and read barcodes directly from the video input. -**Basic Requirements** +In this guide, you will learn step by step on how to integrate this library into your website. - - Internet connection - - A supported browser - - Camera access +> Also see [Dynamsoft Barcode Reader for Node](https://github.com/Dynamsoft/javascript-barcode/blob/master/README.NODE.md). -> Please refer to [system requirements](https://www.dynamsoft.com/faq/barcode-reader/web/capabilities/system-requirement.html) for more details. +Table of Contents: -### Understand the code +* [Hello World - Simplest Implementation](#hello-world---simplest-implementation) +* [Building your own page](#building-your-own-page) + - [Include the library](#include-the-library) + - [Configure the library](#configure-the-library) + - [Interact with the library](#interact-with-the-library) +* [Requesting A Trial](#requesting-a-trial) +* [System Requirements](#system-requirements) +* [Hosting the Library](#hosting-the-library) +* [Advanced Usage](#advanced-usage) +* [How to Upgrade](#how-to-upgrade) +* [FAQ](#faq) -The complete code of the "Hello World" example is shown below +Example Code: -```html - - - -
- - - - - -``` +* [Use the library in Angular](https://github.com/Dynamsoft/dbr-browser-samples/tree/master/1.hello-world/3.read-video-angular) +* [Use the library in React](https://github.com/Dynamsoft/dbr-browser-samples/tree/master/1.hello-world/4.read-video-react) +* [Use the library in Vue](https://github.com/Dynamsoft/dbr-browser-samples/tree/master/1.hello-world/5.read-video-vue) -

- - Code in Github - -   - - Run via JSFiddle - -   - - Run in Dynamsoft - -

- - - ------ - -#### About the code - -- `Dynamsoft.License.LicenseManager.initLicense()`: This method initializes the license for using the SDK in the application. Note that the string "**DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9**" used in this example points to an online license that requires a network connection to work. Read more on [Specify the license](#1-specify-the-license). - -- `Dynamsoft.Core.CoreModule.loadWasm()`: This is an optional code. Used to load wasm resources in advance, reducing latency between video playing and barcode decoding. - -- `Dynamsoft.CVR.CaptureVisionRouter.createInstance()`: This method creates a `CaptureVisionRouter` object `cvRouter` which controls the entire process in three steps: - - **Retrieve Images from the Image Source** - - `cvRouter` connects to the image source through the [ImageSourceAdapter](https://www.dynamsoft.com/capture-vision/docs/core/architecture/input.html#image-source-adapter?lang=js) interface with the method `setInput()`. - ```js - cvRouter.setInput(cameraEnhancer); - ``` - > The image source in our case is a [CameraEnhancer](https://www.dynamsoft.com/camera-enhancer/docs/web/programming/javascript/user-guide/index.html) object created with `Dynamsoft.DCE.CameraEnhancer.createInstance(cameraView)` - - **Coordinate Image-Processing Tasks** - - The coordination happens behind the scenes. `cvRouter` starts the process by specifying a preset template "ReadSingleBarcode" in the method `startCapturing()`. - ```js - cvRouter.startCapturing("ReadSingleBarcode"); - ``` - - **Dispatch Results to Listening Objects** - - The processing results are returned through the [CapturedResultReceiver](https://www.dynamsoft.com/capture-vision/docs/core/architecture/output.html#captured-result-receiver?lang=js) interface. The `CapturedResultReceiver` object is registered to `cvRouter` via the method `addResultReceiver()`. For more information, please check out [Register a result receiver](#step-4-register-a-result-receiver). - ```js - cvRouter.addResultReceiver({/*The-CapturedResultReceiver-Object"*/}); - ``` - - Also note that reading from video is extremely fast and there could be many duplicate results. We can use a [filter](#3-important-filter-the-results) with result deduplication enabled to filter out the duplicate results. The object is registered to `cvRouter` via the method `addResultFilter()`. - ```js - cvRouter.addResultFilter(filter); - ``` - -> Read more on [Capture Vision Router](https://www.dynamsoft.com/capture-vision/docs/core/architecture/#capture-vision-router). - -### Run the example - -You can run the example deployed to [the Dynamsoft Demo Server](https://demo.dynamsoft.com/Samples/DBR/JS/hello-world.html?ver=11.4.20&utm_source=github) or test it with [JSFiddle code editor](https://jsfiddle.net/DynamsoftTeam/csm2f9wb/). - -You will be asked to allow access to your camera, after which the video will be displayed on the page. After that, you can point the camera at a barcode to read it. - -When a barcode is decoded, you will see the result text show up under the video and the barcode location will be highlighted in the video feed. - -Alternatively, you can test locally by copying and pasting the code shown above into a local file (e.g. "hello-world.html") and opening it in your browser. - -> *Secure Contexts*: -> -> If you open the web page as `http://` , our SDK may not work correctly because the [MediaDevices: getUserMedia()](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia) and other methods only work in [secure contexts](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts) (HTTPS, `localhost`, `127.0.0.1`, `file://`), in some or all supporting browsers. -> -> Regarding configuring https on your server, these guides for [nginx](https://nginx.org/en/docs/http/configuring_https_servers.html) / [IIS](https://aboutssl.org/how-to-create-a-self-signed-certificate-in-iis/) / [tomcat](https://dzone.com/articles/setting-ssl-tomcat-5-minutes) / [nodejs](https://nodejs.org/docs/v0.4.1/api/tls.html) might help. -> -> If the test doesn't go as expected, you can [contact us](https://www.dynamsoft.com/company/contact/?ver=11.4.20&utm_source=github&product=dbr&package=js). - -## Preparing the SDK - -### Step 1: Include the SDK - -
- - -
-
Use a public CDN
- -The simplest way to include the SDK is to use either the [jsDelivr](https://jsdelivr.com/) or [UNPKG](https://unpkg.com/) CDN. The "hello world" example above uses **jsDelivr**. - -- jsDelivr - - ```html - - ``` +You can also: -- UNPKG +* [Try All Online Examples](https://dynamsoft.github.io/dbr-browser-samples/index.html) +* [Try the Official Demo](https://demo.dynamsoft.com/barcode-reader-js/) - ```html - - ``` +* [Learn more through API Reference](https://www.dynamsoft.com/barcode-reader/programming/javascript/api-reference/?ver=latest) - +## Hello World - Simplest Implementation -- In frameworks like React, Vue and Angular, you may want to add the package as a dependency. +Let's start by testing the "Hello World" example of the library which demonstrates how to use the minimum code to enable a web page to read barcodes from a live video stream. - ```sh - npm i dynamsoft-barcode-reader-bundle@11.4.2000 -E - # or - yarn add dynamsoft-barcode-reader-bundle@11.4.2000 -E - ``` +* Basic Requirements + + Internet connection + + [A supported browser](#system-requirements) + + Camera access - NOTE that in frameworks, you need to [specify the location of the engine files](#2-optional-specify-the-location-of-the-engine-files). -
+### Step One: Check the code of the example -
-
Host the SDK yourself
+The complete code of the "Hello World" example is shown below -Besides using the public CDN, you can also download the SDK and host its files on your own server or a commercial CDN before including it in your application. +``` html + + -- From the website + + + + - [Download Dynamsoft Barcode Reader JavaScript Package](https://www.dynamsoft.com/barcode-reader/downloads/?ver=11.4.20&utm_source=github&product=dbr&package=js) + +``` - The resources are located at path `dynamsoft/distributables/@`. +> You can also find the code (with more comments) [on GitHub](https://github.com/Dynamsoft/dbr-browser-samples/blob/master/1.hello-world/1.minimum-code.html). -- From npm +*About the code* - ```sh - npm i dynamsoft-barcode-reader-bundle@11.4.2000 -E - ``` + + `createInstance()`: This method creates a `BarcodeScanner` object. This object can read barcodes directly from a video input with the help of its interactive UI (hidden by default) and the [MediaDevices interface](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices). - The resources are located at the path `node_modules/`, without `@`. You must copy "dynamsoft-xxx" packages elsewhere and add `@`. The `` can be obtained from `package.json` of each package. Another thing to do is to [specify the engineResourcePaths](#2-optional-specify-the-location-of-the-engine-files) so that the SDK can correctly locate the resources. - > Since "node_modules" is reserved for Node.js dependencies, and in our case the package is used only as static resources, we recommend either renaming the "node_modules" folder or moving the "dynamsoft-" packages to a dedicated folder for static resources in your project to facilitate self-hosting. + + `onFrameRead`: This event is triggered every time the library finishes scanning a video frame. The `results` object contains all the barcode results that the library have found on this frame. In this example, we print the results to the browser console. -You can typically include SDK like this: + + `onUnduplicatedRead`: This event is triggered when the library finds a new barcode, which is not a duplicate among multiple frames. `txt` holds the barcode text value while `result` is an object that holds details of the barcode. In this example, an alert will be displayed for this new barcode. -```html - -``` -
+ + `show()`: This method brings up the built-in UI of the `BarcodeScanner` object. -
+### Step Two: Test the example -*Note*: +You can choose one of three ways to test the example: -* Certain legacy web application servers may lack support for the `application/wasm` mimetype for .wasm files. To address this, you have two options: - 1. Upgrade your web application server to one that supports the `application/wasm` mimetype. - 2. Manually define the mimetype on your server. You can refer to the guides for [apache](https://developer.mozilla.org/en-US/docs/Learn/Server-side/Apache_Configuration_htaccess#media_types_and_character_encodings) / [IIS](https://docs.microsoft.com/en-us/iis/configuration/system.webserver/staticcontent/mimemap) / [nginx](https://www.nginx.com/resources/wiki/start/topics/examples/full/#mime-types). +* [Hello World example via GitHub Pages](https://dynamsoft.github.io/dbr-browser-samples/1.hello-world/1.minimum-code.html) +* [Hello World example via JSFiddle](https://jsfiddle.net/DynamsoftTeam/pL4e7yrd/) +* [Download a copy](https://tst.dynamsoft.com/public/download/dbr/browser/code/helloworld.zip) of the example code and set it up locally -* To work properly, the SDK requires a few engine files, which are relatively large and may take quite a few seconds to download. We recommend that you set a longer cache time for these engine files, to maximize the performance of your web application. +Either way, you open the example page in a browser, allow the page to access your camera and the video will show up on the page. After that, you can point the camera at something with a barcode to read it. - ``` - Cache-Control: max-age=31536000 - ``` +If the barcode is decoded, an alert will pop up with the result text. At the same time, the barcode location will be highlighted in the video feed. - Reference: [Cache-Control](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control). + > For first use, you may need to wait a few seconds for the library to initialize. -### Step 2: Prepare the SDK +*Note*: -Before using the SDK, you need to configure a few things. + + The library only scans a new frame when it has finished scanning the previous frame. The interval between two consecutive frames might not be enough time for the library to process the 1st frame (for 30 FPS, the interval is about 33 ms), therefore, not all frames are scanned. -#### 1. Specify the license + + The library requires a license to work. However, when no license is specified in the code, Dynamsoft allows a 7-day free trial period during which you can make initial evaluation of the library to decide whether or not you want to evaluate it further. If you do, you can [request a trial](#requesting-a-trial). -To enable the SDK's functionality, you must provide a valid license. Utilize the API function initLicense to set your license key. + > Network connection is required for the 7-day trial to work. -```javascript -Dynamsoft.License.LicenseManager.initLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9"); -``` +If the test doesn't go as expected, you can check out the [FAQ](#faq) or [contact us](https://www.dynamsoft.com/company/contact/). -As previously stated, the key "DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9" serves as a test license valid for 24 hours, applicable to any newly authorized browser. To test the SDK further, you can request a 30-day free trial license via the Request a Trial License link. +## Building your own page -> Upon registering a Dynamsoft account and obtaining the SDK package from the official website, Dynamsoft will automatically create a 30-day free trial license and embed the corresponding license key into all the provided SDK samples. +### Include the library -#### 2. [Optional] Specify the location of the "engine" files +#### 2.1.1 Use a CDN -This step is generally necessary when utilizing frameworks such as Angular, React, Vue, or when managing the hosting of resource files yourself. +The simplest way to include the library is to use either the [jsDelivr](https://jsdelivr.com/) or [UNPKG](https://unpkg.com/) CDN. The "hello world" example above uses **jsDelivr**. -The purpose is to tell the SDK where to find the engine files (\*.worker.js, \*.wasm.js and \*.wasm, etc.). +* jsDelivr -```ts -// in framework -import { CoreModule } from "dynamsoft-barcode-reader-bundle"; -CoreModule.engineResourcePaths.rootDirectory = "https://cdn.jsdelivr.net/npm/"; -``` -```js -// in pure js -Dynamsoft.Core.CoreModule.engineResourcePaths.rootDirectory = "https://cdn.jsdelivr.net/npm/"; -``` -These code uses the jsDelivr CDN as an example, feel free to change it to your own location. + ``` html + + ``` -## Using the SDK +* UNPKG -### Step 1: Preload the module + ``` html + + ``` -The image processing logic is encapsulated within .wasm library files, and these files may require some time for downloading. To enhance the speed, we advise utilizing the following method to preload the libraries. +#### 2.1.2 Host the library yourself (recommended) -```js -// Preload the .wasm files -Dynamsoft.Core.CoreModule.loadWasm(); -``` +Besides using the CDN, you can also download the library and host its files on your own website / server before including it in your application. -### Step 2: Create a CaptureVisionRouter object +The following shows a few ways to download the library. -To use the SDK, we first create a `CaptureVisionRouter` object. +* From the website -```javascript -Dynamsoft.License.LicenseManager.initLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9"); + [Download the JavaScript Package](https://www.dynamsoft.com/barcode-reader/downloads/) -let cvRouter = null; -try { - cvRouter = await Dynamsoft.CVR.CaptureVisionRouter.createInstance(); -} catch (ex) { - console.error(ex); -} -``` +* yarn -*Tip*: + ```cmd + $ yarn add dynamsoft-javascript-barcode + ``` -When creating a `CaptureVisionRouter` object within a function which may be called more than once, it's best to use a "helper" variable to avoid double creation such as `pCvRouter` in the following code: +* npm -```javascript -Dynamsoft.License.LicenseManager.initLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9"); + ``` + $ npm install dynamsoft-javascript-barcode --save + ``` -let pCvRouter = null; // The helper variable which is a promise of cvRouter -let cvRouter = null; +Depending on how you downloaded the library and where you put it. You can typically include it like this: -document.getElementById('btn-scan').addEventListener('click', async () => { - try { - cvRouter = await (pCvRouter = pCvRouter || Dynamsoft.CVR.CaptureVisionRouter.createInstance()); - } catch (ex) { - console.error(ex); - } -}); +``` html + ``` -### Step 3: Connect an image source - -The `CaptureVisionRouter` object, denoted as `cvRouter`, is responsible for handling images provided by an image source. In our scenario, we aim to detect barcodes directly from a live video stream. To facilitate this, we initialize a `CameraEnhancer` object, identified as `cameraEnhancer`, which is specifically designed to capture image frames from the video feed and subsequently forward them to `cvRouter`. - -To enable video streaming on the webpage, we create a `CameraView` object referred to as `cameraView`, which is then passed to `cameraEnhancer`, and its content is displayed on the webpage. +or -```html -
+``` html + ``` -```javascript -let cameraView = await Dynamsoft.DCE.CameraView.createInstance(); -let cameraEnhancer = await Dynamsoft.DCE.CameraEnhancer.createInstance(cameraView); -document.querySelector("#camera-view-container").append(cameraView.getUIElement()); -cvRouter.setInput(cameraEnhancer); -``` +Read more on [how to host the library](#hosting-the-library). -### Step 4: Register a result receiver +### Configure the library -Once the image processing is complete, the results are sent to all the registered `CapturedResultReceiver` objects. Each `CapturedResultReceiver` object may encompass one or multiple callback functions associated with various result types. This time we use `onDecodedBarcodesReceived`: - +Before using the library, you need to configure a few things. -```javascript -const resultsContainer = document.querySelector("#results"); -const resultReceiver = new Dynamsoft.CVR.CapturedResultReceiver(); -resultReceiver.onDecodedBarcodesReceived = (result) => { - if (result.barcodeResultItems?.length) { - resultsContainer.textContent = ''; - for (let item of result.barcodeResultItems) { - // In this example, the barcode results are displayed on the page below the video. - resultsContainer.textContent += `${item.formatString}: ${item.text}\n\n`; - } - } -}; -await cvRouter.addResultReceiver(resultReceiver); -``` +#### 2.2.1 Specify the license -You can also write code like this. It is the same. + The library requires a license to work, use the APIs `organizationID` and `handshakeCode` to specify how to acquire the license. -```javascript -const resultsContainer = document.querySelector("#results"); -await cvRouter.addResultReceiver({ onDecodedBarcodesReceived: (result) => { - if (result.barcodeResultItems?.length) { - resultsContainer.textContent = ''; - for (let item of result.barcodeResultItems) { - // In this example, the barcode results are displayed on the page below the video. - resultsContainer.textContent += `${item.formatString}: ${item.text}\n\n`; - } - } -}}); -``` + ``` javascript + Dynamsoft.DBR.BarcodeScanner.organizationID = "YOUR-ORGANIZATION-ID"; // Required. + Dynamsoft.DBR.BarcodeScanner.handshakeCode = "A-SPECIFIC-HANDSHAKECODE"; // Optional, if not specified, the default handshake code is used. + Dynamsoft.DBR.BarcodeScanner.sessionPassword = "PASSWORD-TO-PROTECT-YOUR-LICENSE"; // Optional but recomended, use it to protect your license. + Dynamsoft.DBR.BarcodeScanner.licenseServer = ["YOUR-OWN-MAIN-LTS", "YOUR-OWN-STANDBY-LTS"]; //Optional, ignore this line if you are using Dynamsoft-hosting LTS. + ``` -Check out [CapturedResultReceiver](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/capture-vision-router/captured-result-receiver.html) for more information. + *Note*: -### Step 5: Start process video frames + + Network connection is required for the license to work. + + If nothing is specified, a 7-day (public) trial will be used by default which is the case in the above "hello world" example. + + The license is actually fetched during the creation of an `BarcodeScanner` or `BarcodeReader` object. + + If a public network connection is not available, you can choose to host a license server in your private network or even get an offline license that does not require any network connection. [Contact us](https://www.dynamsoft.com/company/contact/) for more information. -With the setup now complete, we can proceed to process the images in two straightforward steps: +#### 2.2.2 Specify the location of the "engine" files -1. Initiate the image source to commence image acquisition. In our scenario, we invoke the `open()` method on `cameraEnhancer` to initiate video streaming and simultaneously initiate the collection of images. These collected images will be dispatched to `cvRouter` as per its request. -2. Define a preset template to commence image processing. In our case, we utilize the "ReadSingleBarcode" template, specifically tailored for processing images containing a single barcode. + The "engine" files refer to *.worker.js, *.wasm.js and *.wasm, etc. which are loaded by the main library at runtime. This configuration option uses the API `engineResourcePath` and is often not required as these files usually are in the same location with the main library file (dbr.js). However, in cases where the engine files are not in the same location as the main library file (for example, with frameworks like Angular or React, dbr.js is compiled into another file), this configuration will be required. -```javascript -await cameraEnhancer.open(); -await cvRouter.startCapturing("ReadSingleBarcode"); -``` + The following code uses the jsDelivr CDN, feel free to change it to your own location of these files. + + ``` javascript + import DBR from "dynamsoft-javascript-barcode"; + DBR.BarcodeScanner.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.3/dist/"; + export default DBR; + ``` -*Note*: +#### 2.2.3 Specify which engine to use -* `cvRouter` is engineered to consistently request images from the image source. -* Various preset templates are at your disposal for barcode reading: + The library comes with two engines: "compact" and "full". They may be merged into one in the future, but right now you can choose one to use. -| Template Name | Function Description | -| ------------------------------ | -------------------------------------------------------------- | -| **ReadBarcodes_Default** | Scans multiple barcodes by default setting. | -| **ReadSingleBarcode** | Quickly scans a single barcode. | -| **ReadBarcodes_SpeedFirst** | Prioritizes speed in scanning multiple barcodes. | -| **ReadBarcodes_ReadRateFirst** | Maximizes the number of barcodes read. | -| **ReadBarcodes_Balance** | Balances speed and quantity in reading multiple barcodes. | -| **ReadDenseBarcodes** | Specialized in reading barcodes with high information density. | -| **ReadDistantBarcodes** | Capable of reading barcodes from extended distances. | + By default, the compact engine is used. The following line changes it to the full engine. -Read more on the [preset CaptureVisionTemplates](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/capture-vision-router/preset-templates.html). + ``` javascript + Dynamsoft.DBR.BarcodeScanner._bUseFullFeature = true; + ``` -## Customizing the process + The following table compares the features between the two engines: + + | Features | Compact edition | Full edition | + |:-:|:-:|:-:| + | *.wasm* size*\(gzip\) | 897 KB | 1.2 MB | + | 1D | ✓ | ✓ | + | QR | ✓ | ✓ | + | Micro QR | - | ✓ | + | PDF417 | ✓ | ✓ | + | Micro PDF417 | - | ✓ | + | DataMatrix | ✓ | ✓ | + | Aztec | - | ✓ | + | MaxiCode | - | ✓ | + | Patch Code | - | ✓ | + | GS1 Composite Code | - | ✓ | + | GS1 DataBar | - | ✓ | + | DotCode | - | ✓ | + | Postal Code | - | ✓ | + | DPM | - | ✓ | + | getRuntimeSettings | ✓ | ✓ | + | updateRuntimeSettings | ✓ | ✓ | + | getIntermediateResults | - | ✓ | + | initRuntimeSettingsWithString | - | ✓ | + | outputSettingsToString | - | ✓ | + + * The file size is version 8.2.5. In other versions, the size may be different. + +### Interact with the library + +#### 2.3.1 Create a `BarcodeScanner` object + +You can use one of two classes ( `BarcodeScanner` and `BarcodeReader` ) to interact with the library. `BarcodeReader` is a low-level class that processes images directly. `BarcodeScanner` , on the other hand, inherits from `BarcodeReader` and provides high-level APIs and a built-in UI to allow barcode scanning via cameras. We'll focus on `BarcodeScanner` in this guide. + +To use the library, we first create a `BarcodeScanner` object. + +``` javascript +try { + await Dynamsoft.DBR.BarcodeScanner.createInstance(); +} catch (ex) { + console.error(ex); +} +``` -### 1. Adjust the preset template settings +*Note*: -When making adjustments to some basic tasks, we often only need to modify [SimplifiedCaptureVisionSettings](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/capture-vision-router/interfaces/simplified-capture-vision-settings.html). +* The creation of an object consists of two parallel tasks: one is to download and compile the "engine", the other is to fetch a license from the License Tracking Server (assuming an online license is used). -#### 1.1. Change barcode settings +#### 2.3.2 Configure the `BarcodeScanner` object -The preset templates can be updated to meet different requirements. For example, the following code limits the barcode format to QR code. +Let's take a look at the following code snippets first: -```javascript -let settings = await cvRouter.getSimplifiedSettings("ReadSingleBarcode"); -settings.barcodeSettings.barcodeFormatIds = Dynamsoft.DBR.EnumBarcodeFormat.BF_QR_CODE; -await cvRouter.updateSettings("ReadSingleBarcode", settings); -await cvRouter.startCapturing("ReadSingleBarcode"); +``` javascript +// set which camera and what resolution to use +await scanner.updateVideoSettings({ + video: { + width: 1280, + height: 720, + facingMode: "environment" + } +}); ``` -For a list of adjustable barcode settings, check out [SimplifiedBarcodeReaderSettings](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/api-reference/interfaces/simplified-barcode-reader-settings.html) and [EnumBarcodeFormat](https://www.dynamsoft.com/capture-vision/docs/core/enums/barcode-reader/barcode-format.html?lang=js&product=dbr). - -#### 1.2. Retrieve the original image - -Additionally, we have the option to modify the template to retrieve the original image containing the barcode. - -```javascript -let settings = await cvRouter.getSimplifiedSettings("ReadSingleBarcode"); -settings.outputOriginalImage = true; -await cvRouter.updateSettings("ReadSingleBarcode", settings); -await cvRouter.startCapturing("ReadSingleBarcode"); +``` javascript +// set up the scanner behavior +let scanSettings = await scanner.getScanSettings(); +// disregard duplicated results found in a specified time period +scanSettings.duplicateForgetTime = 20000; +// set a scan interval so the library may release the CPU from time to time +scanSettings.intervalTime = 300; +await scanner.updateScanSettings(scanSettings); ``` -Limit the barcode format to QR code, and retrieve the original image containing the barcode, at the same time. +``` javascript +// use one of the built-in RuntimeSetting templates: "single" (decode a single barcode, default mode), "speed", "balance", "coverage". "speed" is recommended for decoding from a video stream +await scanner.updateRuntimeSettings("speed"); -```javascript -let settings = await cvRouter.getSimplifiedSettings("ReadSingleBarcode"); -settings.outputOriginalImage = true; -settings.barcodeSettings.barcodeFormatIds = Dynamsoft.DBR.EnumBarcodeFormat.BF_QR_CODE; -await cvRouter.updateSettings("ReadSingleBarcode", settings); -await cvRouter.startCapturing("ReadSingleBarcode"); +// make changes to the template. The code below demonstrates how to specify which symbologies are enabled +let runtimeSettings = await scanner.getRuntimeSettings(); +runtimeSettings.barcodeFormatIds = Dynamsoft.DBR.EnumBarcodeFormat.BF_ONED | Dynamsoft.DBR.EnumBarcodeFormat.BF_QR_CODE; +await scanner.updateRuntimeSettings(runtimeSettings); ``` -Please be aware that it is necessary to update the `CapturedResultReceiver` object to obtain the original image. For instance: - -```javascript -const EnumCRIT = Dynamsoft.Core.EnumCapturedResultItemType; // Enum for captured result item types. -// Create a result receiver to handle the results. -await cvRouter.addResultReceiver({ - // This function is called when any capture result is received. - onCapturedResultReceived: (result) => { - //Check for barcode results - let barcodeResultItems = result.items.filter((item) => item.type === EnumCRIT.CRIT_BARCODE); - if (barcodeResultItems.length > 0) { - let image = result.items.filter((item) => item.type === EnumCRIT.CRIT_ORIGINAL_IMAGE)[0]?.imageData; // Retrieve the original image. - if (image) document.body.appendChild(image.toCanvas()); // Append the image to DOM. - for (let item of barcodeResultItems) { - // Print each barcode result to the console. - console.log(`Barcode: ${item.text}, Format: ${item.formatString}`); - } - } - }, -}); -``` +[Try in JSFiddle](https://jsfiddle.net/DynamsoftTeam/yfkcajxz/) -#### 1.3. Change reading frequency to save power +As you can see from the above code snippets, there are three types of configurations: -The SDK is initially configured to process images sequentially without any breaks. Although this setup maximizes performance, it can lead to elevated power consumption, potentially causing the device to overheat. In many cases, it's possible to reduce the reading speed while still satisfying business requirements. The following code snippet illustrates how to adjust the SDK to process an image every 500 milliseconds: +* `get/updateVideoSettings`: Configures the data source, i.e., the camera. These settings include which camera to use, the resolution, etc. Learn more [here](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia#Syntax). -> Please bear in mind that in the following code, if an image's processing time is shorter than 500 milliseconds, the SDK will wait for the full 500 milliseconds before proceeding to process the next image. Conversely, if an image's processing time exceeds 500 milliseconds, the subsequent image will be processed immediately upon completion. +* `get/updateScanSettings`: Configures the behavior of the scanner which includes `duplicateForgetTime`, `intervalTime` and `filter`, etc. -```javascript -let settings = await cvRouter.getSimplifiedSettings("ReadSingleBarcode"); -settings.minImageCaptureInterval = 500; -await cvRouter.updateSettings("ReadSingleBarcode", settings); -await cvRouter.startCapturing("ReadSingleBarcode"); -``` +* `get/updateRuntimeSettings`: Configures the decode engine. Find a full list of these settings and their corresponding descriptions [here](https://www.dynamsoft.com/barcode-reader/programming/javascript/api-reference/global-interfaces.html#runtimesettings). For example, the following uses the built-in "speed" settings with updated `localizationModes`. -#### 1.4. Specify a scan region + ``` javascript + await barcodeScanner.updateRuntimeSettings("speed"); + //await barcodeScanner.updateRuntimeSettings("balance"); //alternative + //await barcodeScanner.updateRuntimeSettings("coverage"); //alternative + let settings = await barcodeScanner.getRuntimeSettings(); + settings.localizationModes = [ + Dynamsoft.DBR.EnumLocalizationMode.LM_CONNECTED_BLOCKS, + Dynamsoft.DBR.EnumLocalizationMode.LM_SCAN_DIRECTLY, + Dynamsoft.DBR.EnumLocalizationMode.LM_LINES, 0, 0, 0, 0, 0 + ]; + await barcodeScanner.updateRuntimeSettings(settings); + ``` -We can specify a scan region to allow the SDK to process only part of the image, improving processing speed. The code snippet below demonstrates how to do this using the `cameraEnhancer` image source. + Try in [JSFiddle](https://jsfiddle.net/DynamsoftTeam/f24h8c1m/). -```javascript -cameraEnhancer = await Dynamsoft.DCE.CameraEnhancer.createInstance(cameraView); -// In this example, we set the scan region to cover the central 25% of the image. -cameraEnhancer.setScanRegion({ - x: 25, - y: 25, - width: 50, - height: 50, - isMeasuredInPercentage: true, -}); -``` + See also [settings samples on GitHub](https://dynamsoft.github.io/dbr-browser-samples/3.settings/index.html). -*Note*: +#### 2.3.3 Customize the UI -1. By configuring the region at the image source, images are cropped before processing, removing the need to adjust any further processing settings. -2. `cameraEnhancer` enhances interactivity by overlaying a mask on the video, clearly marking the scanning region. +The built-in UI of the `BarcodeScanner` object is defined in the file `dist/dbr.scanner.html` . There are a few ways to customize it: -*See Also*: +* Modify the file `dist/dbr.scanner.html` directly. -[CameraEnhancer::setScanRegion](https://www.dynamsoft.com/camera-enhancer/docs/web/programming/javascript/api-reference/acquisition.html#setscanregion) + This option is only possible when you host this file on your own web server instead of using a CDN. - + ``` html +
+ ``` + ``` javascript + document.getElementById('scannerUI').appendChild(scanner.getUIElement()); + document.getElementsByClassName('dbrScanner-btn-close')[0].hidden = true; // Hide the close button + ``` - + > The video element must have the class `dbrScanner-video` . -### 2. Edit the preset templates directly + [Try in JSFiddle](https://jsfiddle.net/DynamsoftTeam/2jzeq1r6/) -The preset templates have many more settings that can be customized to suit your use case best. If you [download the SDK from Dynamsoft website](https://www.dynamsoft.com/barcode-reader/downloads/1000003-confirmation/), you can find the templates under + - Add the camera list and resolution list + + If the class names for these lists match the default ones, `dbrScanner-sel-camera` and `dbrScanner-sel-resolution` , the library will automatically populate the lists and handle the camera/resolution switching. -* "/dynamsoft-barcode-reader-js-11.4.2000/dist/templates/" + ``` html + + ``` -Upon completing the template editing, you can invoke the `initSettings` method and provide it with the template path as an argument. + [Try in JSFiddle](https://jsfiddle.net/DynamsoftTeam/nbj75vxu/) -```javascript -await cvRouter.initSettings("PATH-TO-THE-FILE"); // E.g. "https://your-website/ReadSingleBarcode.json") -await cvRouter.startCapturing("ReadSingleBarcode"); // Make sure the name matches one of the CaptureVisionTemplates in the template JSON file. -``` + ``` html + + ``` -### 3. [Important] Filter the results + [Try in JSFiddle](https://jsfiddle.net/DynamsoftTeam/25v08paf/) -When processing video frames, the same barcode is often detected multiple times. To improve the user experience, we can use the [MultiFrameResultCrossFilter](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/multi-frame-result-cross-filter.html) object. This object provides two methods for handling duplicate detections, which can be used independently or together, depending on what best suits your application needs: + > By default, 8 hard-coded resolutions are populated as options. You can show only a custom set of options by hardcoding them. -#### Method 1: Verify results across multiple frames + ``` html + + ``` -```js -let filter = new Dynamsoft.Utility.MultiFrameResultCrossFilter(); -filter.enableResultCrossVerification("barcode", true); -await cvRouter.addResultFilter(filter); -``` + [Try in JSFiddle](https://jsfiddle.net/DynamsoftTeam/tnfjks4q/) -*Note*: + > Generally, you need to provide a resolution that the camera supports. However, in case a camera does not support the specified resolution, it usually uses the nearest supported resolution. As a result, the selected resolution may not be the actual resolution used. In this case, add an option with the class name `dbrScanner-opt-gotResolution` (as shown above) and the library will then use it to show the actual resolution. -* `enableResultCrossVerification` was designed to cross-validate the outcomes across various frames in a video streaming scenario, enhancing the reliability of the final results. This validation is particularly crucial for barcodes with limited error correction capabilities, such as 1D codes. +See also [UI customization samples on GitHub](https://dynamsoft.github.io/dbr-browser-samples/2.ui-tweaking/index.html). -#### Method 2: Eliminate redundant results detected within a short time frame +Interested to test it further? Read on to learn how to request a 30-day free trial. -```js -let filter = new Dynamsoft.Utility.MultiFrameResultCrossFilter(); -filter.enableResultDeduplication("barcode", true); -await cvRouter.addResultFilter(filter); -``` +## Requesting A Trial -*Note*: +From version 8.2.5 of the library, if no license is specified, a 7-day trial will be used by default. -* `enableResultDeduplication` was designed to prevent high usage in video streaming scenarios, addressing the repetitive processing of the same code within a short period of time. +> Network connection is required for the 7-day trial to work. -Initially, the filter is set to forget a result 3 seconds after it is first received. During this time frame, if an identical result appears, it is ignored. +After that, if you want to evaluate the library further, you can [register for a Dynamsoft account](https://www.dynamsoft.com/api-common/Regist/Regist) (if you haven't already done so) and request a 30-day trial in the [customer portal](https://www.dynamsoft.com/CustomerPortal/Portal/TrialLicense.aspx). -> It's important to know that in version 9.x or earlier, the occurrence of an identical result would reset the timer, thus reinitiating the 3-second count at that point. However, in version 10.2.10 and later, an identical result no longer resets the timer but is instead disregarded, and the duration count continues uninterrupted. +* If you like, you can also [contact our support team](https://www.dynamsoft.com/company/contact/) to get a trial extension. -Under certain circumstances, this duration can be extended with the method `setDuplicateForgetTime()`. +## System Requirements -```js -let filter = new Dynamsoft.Utility.MultiFrameResultCrossFilter(); -filter.setDuplicateForgetTime("barcode", 5000); // Extend the duration to 5 seconds. -await cvRouter.addResultFilter(filter); -``` +This library requires the following features which are supported by all modern mainstream browsers: -You can also enable both options at the same time: +* `WebAssembly`, `Blob`, `URL`/`createObjectURL`, `Web Workers` + + These four features are required for the library to work. -```js -let filter = new Dynamsoft.Utility.MultiFrameResultCrossFilter(); -filter.enableResultCrossVerification("barcode", true); -filter.enableResultDeduplication("barcode", true); -filter.setDuplicateForgetTime("barcode", 5000); -await cvRouter.addResultFilter(filter); -``` +* `MediaDevices`/`getUserMedia` + + This API is only required for in-browser video streaming. If a browser does not support this API, the [Single Frame Mode](https://www.dynamsoft.com/barcode-reader/programming/javascript/api-reference/BarcodeScanner/properties.html?ver=latest#singleframemode) will be used automatically. If the API exists but doesn't work correctly, the Single Frame Mode can be used as an alternative way to access the camera. -### 4. Add feedback +The following table is a list of supported browsers based on the above requirements: -When a barcode is detected within the video stream, its position is immediately displayed within the video. Furthermore, utilizing the "Dynamsoft Camera Enhancer" SDK, we can introduce feedback mechanisms, such as emitting a "beep" sound or triggering a "vibration". +Browser Name | Version +:-: | :-: +Chrome | v57+ (v59+ on Android/iOS1) +Firefox | v52+ (v55+ on Android/iOS1) +Edge2 | v16+ +Safari3 | v11+ -The following code snippet adds a "beep" sound for when a barcode is found: +1 iOS 14.3+ is required for camera video streaming in Chrome and Firefox or Apps using webviews. -```js -const resultReceiver = new Dynamsoft.CVR.CapturedResultReceiver(); -resultReceiver.onDecodedBarcodesReceived = (result) => { - if (result.barcodeResultItems.length > 0) { - Dynamsoft.DCE.Feedback.beep(); - } -}; -await cvRouter.addResultReceiver(resultReceiver); -``` +2 On Edge, due to strict Same-origin policy, you must host the library files on the same domain as your web page. -## Customizing the UI - -```javascript -// Create a CameraView instance with default settings -let cameraView = await Dynamsoft.DCE.CameraView.createInstance(); -// Create a CameraView instance with a specified XML file path, typically a local or remote URL -let cameraView1 = await Dynamsoft.DCE.CameraView.createInstance('@engineResourcePath/dce.ui.v5.xml'); -// Create a CameraView instance within a specified DOM element -let cameraView2 = await Dynamsoft.DCE.CameraView.createInstance(document.getElementById('my-ui')); -// Create a CameraView instance using a custom UI file path -let cameraView3 = await Dynamsoft.DCE.CameraView.createInstance('url/to/my/ui.xml'); - -// Get the UI element associated with the cameraView instance -let uiElement = cameraView.getUIElement(); -// Remove the camera selection dropdown from the CameraView's UI element -uiElement.querySelector('.dce-sel-camera').remove(); -// Remove the resolution selection dropdown from the CameraView's UI element -uiElement.querySelector('.dce-sel-resolution').remove(); -``` +3 Safari 11.2.2 ~ 11.2.6 are not supported. + +Apart from the browsers, the operating systems may impose some limitations of their own that could restrict the use of the library. Browser compatibility ultimately depends on whether the browser on that particular operating system supports the features listed above. -The UI is part of the auxiliary SDK "Dynamsoft Camera Enhancer", read more on how to [customize the UI](https://www.dynamsoft.com/barcode-reader/docs/core/programming/features/ui-customization-js.html?lang=js). +## Hosting the library -## Documentation +### Step One: Deploy the dist folder -### API Reference +Once you have downloaded the library, you can locate the "dist" directory and copy it to your server (usually as part of your website / web application). The following shows some of the files in this directory: -You can check out the detailed documentation about the APIs of the SDK at -[https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/api-reference/?ver=11.4.2000](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/api-reference/?ver=11.4.2000). +* `dbr.js` // The main library file +* `dbr.browser.mjs` // For using the library as a module (` + * ``` + */ + static set productKeys(keys: string); + static get handshakeCode(): string; + /** + * Get or set the Dynamsoft Barcode Reader SDK handshake code. The `handshakeCode` is an alias of `productKeys`. Specifically refers to the key that requires **network** authentication. + * ```js + * Dynamsoft.DBR.BarcodeReader.handshakeCode = "123****-mytest"; + * ``` + * For convenience, you can set `handshakeCode` in `script` tag instead. + * ```html + * + * ``` + */ + static set handshakeCode(keys: string); + protected static _organizationID: string; + static get organizationID(): string; + /** + * Use organization ID to get authentication from network. Keep handshakeCode empty if you want to use default `handshake` of the organization. + * ```js + * Dynamsoft.DBR.BarcodeReader.organizationID = "123****"; + * ``` + * For convenience, you can set `organizationID` in `script` tag instead. + * ```html + * + * ``` + * @see [[handshakeCode]] + */ + static set organizationID(value: string); + /** @ignore */ + static _sessionPassword: string; + /** + * Specify a password to protect the `Handshake Code` from abuse. + * ```js + * Dynamsoft.DBR.BarcodeReader.handshakeCode = "123****-mytest"; + * Dynamsoft.DBR.BarcodeReader.sessionPassword = "@#$%****"; + * ``` + * For convenience, you can set `organizationID` in `script` tag instead. + * ```html + * + * ``` + * @see [[handshakeCode]] + */ + static set sessionPassword(value: string); + static get sessionPassword(): string; + /** @ignore */ + static _limitModules?: string[]; + /** @ignore */ + static _chargeWay?: string; + /** + * modify from https://gist.github.com/2107/5529665 + * @ignore + */ + static browserInfo: any; + /** + * Detect environment and get a report. + * ```js + * console.log(Dynamsoft.DBR.BarcodeReader.detectEnvironment()); + * // {"wasm":true, "worker":true, "getUserMedia":true, "camera":true, "browser":"Chrome", "version":90, "OS":"Windows"} + * ``` + */ + static detectEnvironment(): Promise; + /** @ignore */ + static _workerName: string; + protected static _engineResourcePath?: string; + static get engineResourcePath(): string; + /** + * Specify the Barcode Reader SDK engine (WASM) url. The SDK tries to automatically explore the engine location. + * If the auto-explored engine location is incorrect, you can manually specify the engine location. + * The property needs to be set before [[loadWasm]]. + * ```js + * Dynamsoft.DBR.BarcodeReader.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/"; + * await Dynamsoft.DBR.BarcodeReader.loadWasm(); + * ``` + */ + static set engineResourcePath(value: string); + /** @ignore */ + protected static _licenseServer?: string[]; + static get licenseServer(): string[] | string; + /** + * Specify the license server URL. + */ + static set licenseServer(value: string[] | string); + private static _deviceFriendlyName; + /** + * @ignore + */ + static get deviceFriendlyName(): string; + /** @ignore */ + static set deviceFriendlyName(value: string); + /** + * @ignore + */ + static _isShowRelDecodeTimeInResults: boolean; + /** + * @ignore + */ + _canvasMaxWH: number; + /** + * @ignore + */ + static _onLog: (message: any) => void; + /** + * @ignore + */ + static _bWasmDebug: boolean; + /** + * @ignore + */ + static _bNeverShowDialog: boolean; + /** + * Whether to use full feature wasm. The api may change in later version. + * For web, `_bUseFullFeature` is false as default. + * For Node.js, `_bUseFullFeature` will not work, and BarcodeReader will always work on full feature. + * The property needs to be set before `loadWasm`. + *
+	 * Compact wasm:
+	 * oned + qr + pdf417 + datamatrix.
+	 * ===
+	 * Full wasm:
+	 * all supported barcode format +
+	 * high level deblur available (lv8, 9) +
+	 * DPM +
+	 * template API +
+	 * intermediate results API
+	 * ===
+	 * e.g.:
+	 * Use compact in video deocode (small, download and initialization fast).
+	 * Use full in file decode (need high level deblur).
+	 * 
+ * + * ```js + * DBR.BarcodeReader._bUseFullFeature = true; + * await DBR.BarcodeReader.loadWasm(); + * ``` + */ + protected static __bUseFullFeature: boolean; + static get _bUseFullFeature(): boolean; + static set _bUseFullFeature(value: boolean); + /** @ignore */ + static _dbrWorker: Worker; + protected static _nextTaskID: number; + protected static _taskCallbackMap: Map void>; + private static _loadWasmStatus; + private static _loadWasmCallbackArr; + /** @ignore */ + _instanceID: number; + /** + * Whether to save the original image into canvas. + * ```js + * reader.bSaveOriCanvas = true; + * let results = await reader.decode(source); + * document.body.append(reader.oriCanvas); + * ``` + */ + bSaveOriCanvas: boolean; + /** + * The original canvas. + * ```js + * reader.bSaveOriCanvas = true; + * let results = await reader.decode(source); + * document.body.append(reader.oriCanvas); + * ``` + */ + oriCanvas?: HTMLCanvasElement | OffscreenCanvas; + /** @ignore */ + maxVideoCvsLength: number; + protected videoCvses?: (HTMLCanvasElement | OffscreenCanvas)[]; + protected videoGlCvs?: HTMLCanvasElement | OffscreenCanvas; + protected videoGl?: WebGLRenderingContext | WebGL2RenderingContext; + protected glImgData?: Uint8Array; + protected bufferShared: Uint8Array | Uint8ClampedArray; + protected bFilterRegionInJs: boolean; + protected userDefinedRegion: any; + protected _region?: RegionDefinition | RegionDefinition[]; + protected set region(value: null | RegionDefinition | RegionDefinition[]); + protected get region(): null | RegionDefinition | RegionDefinition[]; + /** @ignore */ + _timeStartDecode: any; + /** @ignore */ + _timeEnterInnerDBR: any; + /** @ignore */ + _bUseWebgl: boolean; + /** @ignore */ + decodeRecords: any; + /** + * @ignore A callback when wasm download success in browser environment. + */ + static _onWasmDownloaded: () => void; + /** + * Check if the decoding module is loaded. + * @category Initialize and Destroy + */ + static isLoaded(): boolean; + /** + * Indicates whether the instance has been destroyed. + */ + bDestroyed: boolean; + /** @ignore */ + protected static _lastErrorCode: number; + /** @ignore */ + static get lastErrorCode(): number; + /** @ignore */ + protected static _lastErrorString: string; + /** @ignore */ + static get lastErrorString(): string; + /** @ignore */ + protected _setWarnnedEx: Set; + /** @ignore */ + protected _lastErrorCode: number; + /** @ignore */ + get lastErrorCode(): number; + /** @ignore */ + protected _lastErrorString: string; + /** @ignore */ + get lastErrorString(): string; + /** @ignore */ + _lastInnerDecodeDuration: number; + private static _loadWasmErr; + /** + * Before most operations, `loadWasm` needs to be excuted firstly. + * Most time, you do not need excute `loadWasm` manually. Because when you excute [[createInstance]], `loadWasm` will be excuted implicitly. + * Some properties can't be changed after `loadWasm`. + * Calling `loadWasm` in advance can avoid the long wait when `createInstance`. + * ```js + * window.addEventListener('DOMContentLoaded', (event) => { + * DBR.BarcodeReader.loadWasm(); + * }); + * ``` + * @category Initialize and Destroy + */ + static loadWasm(): Promise; + /** + * @param type "warn" or "error" + * @param content + * @returns + */ + protected static showDialog(type: string, content: string): Promise; + protected static createInstanceInWorker(bScanner?: boolean): Promise; + /** + * Create a `BarcodeReader` instance. + * ``` + * let reader = await Dynamsoft.DBR.BarcodeReader.createInstance(); + * ``` + * @category Initialize and Destroy + */ + static createInstance(): Promise; + /** + * Decode barcodes from a image. + * + * The main decoding method can accept a variety of data types, including binary data, images, base64 (with mime), urls, etc. + * + * The image format can be `png`, `jpeg`, `bmp`, `gif` and a few other (some browsers support `webp`, `tif`). + * + * ```js + * let results = await reader.decode(blob); + * for(let result of results){ + * console.log(result.barcodeText); + * } + * + * let results2 = await reader.decode(htmlImageElement); + * let results2 = await reader.decode(url); + * + * // like `data:image/png;base64,iV************` + * let results3 = await reader.decode(base64WithMime); + * ``` + * + * And you can get a frame to decode from the `HTMLVideoElement`. + * + * ```js + * // The frame currently played will be decode. + * let results; + * try{ + * results = await reader.decode(htmlVideoElement); + * }catch(ex){ + * // If no frame in the video, will throw an exception. + * } + * ``` + * If you need to continuously decode a video, you can use [BarcodeScanner](../BarcodeScanner/index.md) instead. + * @param source + * @category Decode + */ + decode(source: Blob | Buffer | ArrayBuffer | Uint8Array | Uint8ClampedArray | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | string): Promise; + /** + * The decoding method can accept base64 with or without mime. + * e.g. `data:image/jpg;base64,Xfjshekk....` or `Xfjshekk...`. + * ```js + * let results = await reader.decodeBase64String(strBase64); + * for(let result of results){ + * console.log(result.barcodeText); + * } + * ``` + * @param base64 + * @category Decode + */ + decodeBase64String(base64: string): Promise; + /** + * The decoding method can accept url. The url source need to be in the same domain or allowed cors. + * ```js + * let results = await reader.decodeUrl("./1.png"); + * for(let result of results){ + * console.log(result.barcodeText); + * } + * ``` + * @param url + * @category Decode + */ + decodeUrl(url: string): Promise; + /** + * Decodes barcodes from the memory buffer containing image pixels in defined format. + * @ignore + */ + _decodeBuffer_Uint8Array(buffer: Uint8Array | Uint8ClampedArray, width: number, height: number, stride: number, format: EnumImagePixelFormat, config?: any): Promise; + /** + * + * @param buffer + * @param width + * @param height + * @param stride + * @param format + * @param config + * @ignore + */ + _decodeBuffer_Blob(buffer: Blob, width: number, height: number, stride: number, format: EnumImagePixelFormat, config?: any): Promise; + /** + * Decode barcodes from raw image data. + * @param buffer + * @param width + * @param height + * @param stride + * @param format + * @param config + * @category Decode + */ + decodeBuffer(buffer: Uint8Array | Uint8ClampedArray | ArrayBuffer | Blob | Buffer, width: number, height: number, stride: number, format: EnumImagePixelFormat, config?: any): Promise; + /** @ignore */ + _decodeFileInMemory_Uint8Array(bytes: Uint8Array): Promise; + /** + * Gets current runtime settings. + * ```js + * let settings = await reader.getRuntimeSettings(); + * settings.deblurLevel = 5; + * await reader.updateRuntimeSettings(settings); + * ``` + * @see [RuntimeSettings](https://www.dynamsoft.com/barcode-reader/programming/c-cplusplus/struct/PublicRuntimeSettings.html?ver=latest&utm_source=github&package=js) + * @category Runtime Settings + */ + getRuntimeSettings(): Promise; + /** + * Update runtime settings with a given struct, or a string of `speed`, `balance` or `coverage` to use preset settings for BarcodeReader. + * The default settings for BarcodeReader is `coverage`. + * ```js + * await reader.updateRuntimeSettings('balance'); + * let settings = await reader.getRuntimeSettings(); + * settings.barcodeFormatIds = Dynamsoft.DBR.EnumBarcodeFormat.BF_ONED; + * await reader.updateRuntimeSettings(settings); + * ``` + * @see [RuntimeSettings](https://www.dynamsoft.com/barcode-reader/programming/c-cplusplus/struct/PublicRuntimeSettings.html?ver=latest&utm_source=github&package=js) + * @category Runtime Settings + */ + updateRuntimeSettings(settings: RuntimeSettings | string): Promise; + /** + * Resets all parameters to default values. + * ```js + * await reader.resetRuntimeSettings(); + * ``` + * @category Runtime Settings + */ + resetRuntimeSettings(): Promise; + /** + * Outputs the license content as an encrypted string from the license server to be used for offline license verification. + * ```js + * let strSettings = await reader.outputSettingsToString(); + * ``` + * The method is only supported in the full feature edition. + * @ignore + * @category Runtime Settings + */ + outputSettingsToString(): Promise; + /** + * Initialize runtime settings with the settings in given JSON string. + * ```js + * await reader.initRuntimeSettingsWithString("{\"Version\":\"3.0\", \"ImageParameter\":{\"Name\":\"IP1\", \"BarcodeFormatIds\":[\"BF_QR_CODE\"], \"ExpectedBarcodesCount\":10}}"); + * ``` + * The method is only supported in the full feature edition. + * @ignore + * @category Runtime Settings + */ + initRuntimeSettingsWithString(settings: any): Promise; + private _decode_Blob; + /** + * + * @param arrayBuffer + * @param config + * @ignore + */ + private _decode_ArrayBuffer; + /** + * + * @param uint8Array + * @param config + * @ignore + */ + private _decode_Uint8Array; + /** + * + * @param image + * @param config + * @ignore + */ + private _decode_Image; + private _decode_Canvas; + /** + * decode video is not multi call safe in an instance, we reuse many thing for speed, so make sure wait util one finish then call next + * @param video + * @param config + * @ignore + */ + _decode_Video(video: HTMLVideoElement, config?: any): Promise; + private _decode_Base64; + private _decode_Url; + private _decode_FilePath; + /** @ignore */ + static fixResultLocationWhenFilterRegionInJs(region: any, results: TextResult[], sx: number, sy: number, sWidth: number, sHeight: number, dWidth: number, dHeight: number): void; + /** @ignore */ + static BarcodeReaderException(ag0: any, ag1: any): BarcodeReaderException; + protected _handleRetJsonString(objRet: any): any; + /** + * Set argument value for the specified mode parameter. + * ```js + * await reader.setModeArgument("BinarizationModes", 0, "EnableFillBinaryVacancy", "1"); + * ``` + * @param modeName + * @param index + * @param argumentName + * @param argumentValue + * @category Runtime Settings + */ + setModeArgument(modeName: string, index: number, argumentName: string, argumentValue: string): Promise; + /** + * Get argument value for the specified mode parameter. + * ```js + * let argumentValue = await reader.getModeArgument("BinarizationModes", 0, "EnableFillBinaryVacancy"); + * ``` + * @param modeName + * @param index + * @param argumentName + * @category Runtime Settings + */ + getModeArgument(modeName: string, index: number, argumentName: string): Promise; + /** + * The method is only supported in the full feature edition. + * Returns intermediate results containing the original image, the colour clustered image, the binarized Image, contours, Lines, TextBlocks, etc. + * ```js + * let imResults = await reader.getIntermediateResults(); + * ``` + * @ignore + */ + getIntermediateResults(): Promise; + /** @ignore */ + getIntermediateCanvas(): Promise; + /** + * Destroy the `BarcodeReader` instance. If your page needs to create new instances from time to time, don't forget to destroy unused old instances, otherwise it will cause memory leaks. + * @category Initialize and Destroy + */ + destroy(): Promise; +} +export interface FrameFilter { + /** + * The region definition of the frame to calculate the internal indicator. + * Default Value: { regionLeft = 0, regionRight = 100, regionTop = 0, regionBottom = 100, regionMeasuredByPercentage = true } + */ + region?: RegionDefinition | any; + /** + * The threshold used for filtering frames. + * Value range: [0, 1]. + * Default value: 0.1. + * The SDK will calculate an inner indicator for each frame from AppendFrame(), if the change rate of the indicators between the current frame and the history frames is larger than the given threshold, the current frame will not be added to the inner frame queue waiting for decoding. + */ + threshold?: number; +} +/** + * let scanSettings = await scanner.getScanSettings(); + * scanSettings.intervalTime = 100; // 100ms + * scanSettings.duplicateForgetTime = 3000; // 3s + * await scanner.updateScanSettings(scanSettings); + */ +export interface ScanSettings { + intervalTime?: number; + duplicateForgetTime?: number; + /** + * Filter frame during focusing. + * `region` define the detecting area. + * `threshold` is (0,1). + * ```js + * scanSettings.frameFilter = { + * region: { + * regionLeft: 0, + * regionTop: 47, + * regionRight: 100, + * regionBottom: 53, + * regionMeasuredByPercentage: true + * }, + * threshold: 0.01 + * }; + * ``` + */ + frameFilter?: FrameFilter; +} +export interface VideoDeviceInfo { + deviceId: string; + label: string; +} +export interface ScannerPlayCallbackInfo { + height: number; + width: number; +} +/** + * The `BarcodeScanner` class is used for video decoding. + * ```js + * let scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance(); + * scanner.onUnduplicatedRead = txt => console.log(txt); + * await scanner.show(); + * ``` + */ +export declare class BarcodeScanner extends BarcodeReader { + private static _defaultUIElementURL; + static get defaultUIElementURL(): string; + /** + * The url of the default scanner UI. + * Can only be changed before `createInstance`. + * ```js + * Dynamsoft.DBR.BarcodeScanner.defaultUIElementURL = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.scanner.html"; + * let scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance(); + * await scanner.show(); + * ``` + */ + static set defaultUIElementURL(value: string); + /** @ignore */ + /** @ignore */ + UIElement: HTMLElement; + /** + * Get HTML element containing the `BarcodeScanner` instance. + * @category UI + */ + getUIElement(): HTMLElement; + /** + * Set html element containing the `BarcodeScanner` instance. + * ```html + * + * + * ``` + * @param element + * @category UI + */ + setUIElement(elementOrUrl: HTMLElement | string): Promise; + /** @ignore */ + private styleEls; + /** @ignore */ + videoSettings: MediaStreamConstraints; + private _singleFrameMode; + /** + * A mode not use video, get a frame from OS camera instead. + * ```js + * let scanner = await Dynamsoft.DBR.BarcodeReader.createInstance(); + * if(scanner.singleFrameMode){ + * // the browser does not provide webrtc API, dbrjs automatically use singleFrameMode instead + * scanner.show(); + * } + * ``` + */ + get singleFrameMode(): boolean; + /** + * A mode not use video, get a frame from OS camera instead. + * ```js + * let scanner = await Dynamsoft.DBR.BarcodeReader.createInstance(); + * scanner.singleFrameMode = true; // use singleFrameMode anyway + * scanner.show(); + * ``` + */ + set singleFrameMode(value: boolean); + private _singleFrameModeIpt; + private _clickIptSingleFrameMode; + /** @ignore */ + intervalTime: number; + private _isOpen; + private _assertOpen; + private _bPauseScan; + /** @ignore */ + _lastDeviceId: string; + private _intervalDetectVideoPause; + private _vc_bPlayingVideoBeforeHide; + private _ev_documentHideEvent; + /** @ignore */ + _video: HTMLVideoElement; + /** @ignore */ + _cvsDrawArea: HTMLCanvasElement; + /** @ignore */ + _divScanArea: any; + /** @ignore */ + _divScanLight: any; + /** @ignore */ + _bgLoading: any; + /** @ignore */ + _bgCamera: any; + /** @ignore */ + _selCam: any; + /** @ignore */ + _selRsl: any; + /** @ignore */ + _optGotRsl: any; + /** @ignore */ + _btnClose: any; + /** @ignore */ + private _soundOnSuccessfullRead; + /** + * The sound to play when the scanner get successfull read. + */ + get soundOnSuccessfullRead(): HTMLAudioElement; + /** + * The sound to play when the scanner get successfull read. + * ```js + * scanner.soundOnSuccessfullRead = new Audio("./pi.mp3"); + * ``` + */ + set soundOnSuccessfullRead(value: HTMLAudioElement); + /** + * Whether to play sound when the scanner reads a barcode successfully. + * Default value is `false`, which does not play sound. + * Use `frame` or `true` to play a sound when any barcode is found within a frame. + * Use `unduplicated` to play a sound only when any unique/unduplicated barcode is found within a frame. + * ```js + * // A user gesture required. https://developers.google.com/web/updates/2017/09/autoplay-policy-changes#chrome_enterprise_policies + * startPlayButton.addEventListener('click', function() { + * scanner.bPlaySoundOnSuccessfulRead = true; + * }); + * ``` + * refer: `favicon bug` https://bugs.chromium.org/p/chromium/issues/detail?id=1069731&q=favicon&can=2 + */ + bPlaySoundOnSuccessfulRead: (boolean | string); + /** + * Whether to vibrate when the scanner reads a barcode successfully. + * Default value is `false`, which does not vibrate. + * Use `frame` or `true` to vibrate when any barcode is found within a frame. + * Use `unduplicated` to vibrate only when any unique/unduplicated barcode is found within a frame. + * ```js + * // Can I use? https://caniuse.com/?search=vibrate + * // A user gesture required. https://developers.google.com/web/updates/2017/09/autoplay-policy-changes#chrome_enterprise_policies + * startVibrateButton.addEventListener('click', function() { + * scanner.bVibrateOnSuccessfulRead = true; + * }); + * ``` + */ + bVibrateOnSuccessfulRead: (boolean | string); + /** + * Get or set how long (ms) the vibration lasts. + * @see [[bVibrateOnSuccessfulRead]] + */ + vibrateDuration: number; + /** @ignore */ + _allCameras: VideoDeviceInfo[]; + /** @ignore */ + _currentCamera?: VideoDeviceInfo; + /** @ignore */ + _videoTrack: MediaStreamTrack; + /** + * Set the style used when filling the mask beyond the region. + * @category UI + */ + regionMaskFillStyle: string; + /** + * Set the style of the region border. + * @category UI + */ + regionMaskStrokeStyle: string; + /** + * Set the width of the region border. + * @category UI + */ + regionMaskLineWidth: number; + /** + * Set the style used when filling in located barcode. + * @category UI + */ + barcodeFillStyle: string; + /** + * Set the style of the located barcode border. + * @category UI + */ + barcodeStrokeStyle: string; + /** + * Set the width of the located barcode border. + * @category UI + */ + barcodeLineWidth: number; + protected beingLazyDrawRegionsults: boolean; + protected set region(value: null | RegionDefinition | RegionDefinition[]); + protected get region(): null | RegionDefinition | RegionDefinition[]; + protected _indexVideoRegion: number; + /** @ignore */ + constructor(); + /** + * Create a `BarcodeScanner` object. + * ``` + * let scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance(); + * ``` + * @param config + * @category Initialize and Destroy + */ + static createInstance(config?: any): Promise; + /** @ignore */ + decode(source: Blob | ArrayBuffer | Uint8Array | Uint8ClampedArray | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | string): Promise; + /** @ignore */ + decodeBase64String(source: string): Promise; + /** @ignore */ + decodeUrl(source: string): Promise; + /** @ignore */ + decodeBuffer(buffer: Uint8Array | Uint8ClampedArray | ArrayBuffer | Blob, width: number, height: number, stride: number, format: EnumImagePixelFormat, config?: any): Promise; + /** + * Decode barcodes from the current frame of the video. + * ```js + * await scanner.showVideo(); + * console.log(await scanner.decodeCurrentFrame()); + * ``` + * @category Decode + */ + decodeCurrentFrame(config?: any): Promise; + private clearMapDecodeRecord; + private static readonly singlePresetRegion; + private static isRegionSinglePreset; + private static isRegionNormalPreset; + /** + * Update runtime settings with a given struct, or a string of `speed`, `balance`, `coverage` and `single` to use preset settings for BarcodeScanner. + * We recommend using the speed-optimized `single` preset if scanning only one barcode at a time. The `single` is only available in `BarcodeScanner`. + * The default settings for BarcodeScanner is `single`. + * ```js + * await scanner.updateRuntimeSettings('balance'); + * let settings = await scanner.getRuntimeSettings(); + * settings.barcodeFormatIds = Dynamsoft.DBR.EnumBarcodeFormat.BF_ONED; + * await scanner.updateRuntimeSettings(settings); + * ``` + * @see [RuntimeSettings](https://www.dynamsoft.com/barcode-reader/programming/c-cplusplus/struct/PublicRuntimeSettings.html?ver=latest&utm_source=github&package=js) + * @category Runtime Settings + */ + updateRuntimeSettings(settings: RuntimeSettings | string): Promise; + /** @ignore */ + _onCameraSelChange: () => void; + /** @ignore */ + _onResolutionSelChange: () => void; + /** @ignore */ + _onCloseBtnClick: () => void; + /** @ignore */ + _bindUI(): void; + /** @ignore */ + _unbindUI(): void; + /** + * Triggered when the camera video stream is played. + * ```js + * scanner.onplayed = rsl=>{ console.log(rsl.width+'x'+rsl.height) }; + * await scanner.show(); // or open, play, setCurrentCamera, like these. + * ``` + */ + onPlayed?: (info: ScannerPlayCallbackInfo) => void; + /** + * The event is triggered after a frame has been scanned. + * The results object contains all the barcode results in this frame. + * ```js + * scanner.onFrameRead = results => { + * for(let result of results){ + * console.log(result.barcodeText); + * } + * }; + * ``` + */ + onFrameRead?: (results: TextResult[]) => void; + /** + * This event is triggered when a new, unduplicated barcode is found. + * `txt` holds the barcode text result. `result` contains more info. + * Old barcodes will be remembered for `duplicateForgetTime`. + * ```js + * scanner.onUnduplicatedRead = (txt, result) => { + * alert(txt); + * console.log(result); + * }; + * ``` + */ + onUnduplicatedRead?: (txt: string, result: TextResult) => void; + /** @ignore */ + private _renderSelCameraInfo; + /** + * Get infomation of all available cameras on the device. + * ```js + * let cameras = await scanner.getAllCameras(); + * if(cameras.length){ + * await scanner.setCurrentCamera(cameras[0]); + * } + * ``` + * @category Camera Settings + */ + getAllCameras(): Promise; + /** + * Get information about the currently used camera. + * ```js + * let camera = await scanner.getCurrentCamera(); + * ``` + * @category Camera Settings + */ + getCurrentCamera(): Promise; + /** + * Choose the camera and play it by its information or devide id. + * ```js + * let cameras = await scanner.getAllCameras(); + * if(cameras.length){ + * await scanner.setCurrentCamera(cameras[0]); + * } + * ``` + * @param cameraInfoOrDeviceId + * @category Camera Settings + */ + setCurrentCamera(cameraInfoOrDeviceId: any): Promise; + /** + * Get current camera resolution. + * ```js + * let rsl = await scanner.getResolution(); + * console.log(rsl.width + " x " + rsl.height); + * ``` + * @category Camera Settings + */ + getResolution(): number[]; + /** + * Set current camera resolution. + * ```js + * await scanner.setResolution(width, height); + * ``` + * @param width + * @param height + * @category Camera Settings + */ + setResolution(width: number | number[], height: number): Promise; + /** + * Get current scan settings. + * ```js + * let scanSettings = await scanner.getScanSettings(); + * scanSettings.intervalTime = 50; + * scanSettings.duplicateForgetTime = 1000; + * await scanner.updateScanSettings(scanSettings); + * ``` + */ + getScanSettings(): Promise; + /** + * Modify and update scan settings. + * ```js + * let scanSettings = await scanner.getScanSettings(); + * scanSettings.intervalTime = 50; + * scanSettings.duplicateForgetTime = 1000; + * await scanner.updateScanSettings(scanSettings); + * ``` + * @param settings + */ + updateScanSettings(settings: ScanSettings): Promise; + /** + * Get current video settings. + * @category Camera Settings + */ + getVideoSettings(): MediaStreamConstraints; + /** + * Modify and update video settings. + * ```js + * await scanner.updateVideoSettings({ video: {width: {ideal: 1280}, height: {ideal: 720}, facingMode: {ideal: 'environment'}} }); + * ``` + * @param MediaStreamConstraints + * @category Camera Settings + */ + updateVideoSettings(MediaStreamConstraints: any): Promise; + /** + * Check if the scanner is open. + * @category Open and Close + */ + isOpen(): boolean; + /** @ignore */ + _show(): void; + /** + * Stop the video, and release the camera. + * @category Play and Pause + */ + stop(): void; + /** + * Pause the video. Do not release the camera. + * @category Play and Pause + */ + pause(): void; + private iPlayRound; + private promisePlay; + /** + * Continue the video. + * ```js + * scanner.pause(); + * \\*** a lot of work *** + * await scanner.play(); + * ``` + * @category Play and Pause + */ + play(deviceId?: string, width?: number, height?: number): Promise; + /** + * Pause the decoding process. + * @category Play and Pause + */ + pauseScan(): void; + /** + * Resume the decoding process. + * @category Play and Pause + */ + resumeScan(): void; + /** + * Get the camera capabilities. Chrome only. + * Only available when the scanner is open. + * ```console + * > scanner.getCapabilities() + * < { + * "aspectRatio":{"max":3840,"min":0.000462962962962963}, + * "colorTemperature":{max: 7000, min: 2850, step: 50}, + * "deviceId":"1e...3af7", + * "exposureCompensation": {max: 2.0000040531158447, min: -2.0000040531158447, step: 0.16666699945926666}, + * "exposureMode":["continuous","manual"], + * "facingMode":["environment"], + * "focusMode":["continuous","single-shot","manual"], + * "frameRate":{"max":30,"min":0}, + * "groupId":"71...a935", + * "height":{"max":2160,"min":1}, + * "resizeMode":["none","crop-and-scale"], + * "torch":true, + * "whiteBalanceMode":["continuous","manual"], + * "width":{"max":3840,"min":1}, + * "zoom":{max: 606, min: 100, step: 2} + * } + * ``` + * @see [[turnOnTorch]][[turnOffTorch]][[setExposureCompensation]][[setZoom]] + * @category Camera Settings + */ + getCapabilities(): MediaTrackCapabilities; + /** @ignore */ + getCameraSettings(): MediaTrackSettings; + /** @ignore */ + getConstraints(): MediaTrackConstraints; + /** + * @ignore + * Set the camera capabilities. Chrome only. + * Only available when the scanner is open. + * It's a low-level API, usually you can use the wrapped APIs instead. + * ```js + * await scanner.applyConstraints({ frameRate: { ideal:5 } }); + * ``` + */ + applyConstraints(constraints: MediaTrackConstraints): Promise; + /** + * Turn on the torch/flashlight. Chrome only. + * Only available when the scanner is open. + * Will reject if not support. + * ```js + * await scanner.turnOnTorch(); + * ``` + * @see [[turnOffTorch]][[getCapabilities]] + * @category Camera Settings + */ + turnOnTorch(): Promise; + /** + * Turn off the torch. Chrome only. + * Only available when the scanner is open. + * Will reject if not support. + * ```js + * await scanner.turnOffTorch(); + * ``` + * @see [[turnOnTorch]][[getCapabilities]] + * @category Camera Settings + */ + turnOffTorch(): Promise; + /** + * Adjusts the color temperature. Chrome only. + * Only available when the scanner is open. + * Will reject if not support. + * ```js + * await scanner.setColorTemperature(5000); + * ``` + * @see [[getCapabilities]] + * @category Camera Settings + */ + setColorTemperature(value: number): Promise; + /** + * Adjusts the exposure level. Chrome only. + * Only available when the scanner is open. + * Will reject if not support. + * ```js + * await scanner.setExposureCompensation(-0.7); + * ``` + * @see [[getCapabilities]] + * @category Camera Settings + */ + setExposureCompensation(value: number): Promise; + /** + * Adjusts the zoom ratio. Chrome only. + * Only available when the scanner is open. + * Will reject if not support. + * ```js + * await scanner.setZoom(400); + * ``` + * @see [[getCapabilities]] + * @category Camera Settings + */ + setZoom(value: number): Promise; + /** + * Adjusts the frame rate. Chrome only. + * Only available when the scanner is open. + * Will reject if not support. + * ```js + * await scanner.setFrameRate(10); + * ``` + * @see [[getCapabilities]] + * @category Camera Settings + */ + setFrameRate(value: number): Promise; + /** @ignore */ + _cloneDecodeResults(results: any): any; + /** @ignore */ + private _loopReadVideo; + /** @ignore */ + _drawRegionsults(results?: TextResult[]): void; + /** @ignore */ + _clearRegionsults(): void; + /** + * Bind UI, open the camera, start decoding. + * ```js + * await scanner.setUIElement(document.getElementById("my-barcode-scanner")); + * scanner.onUnduplicatedRead = (txt, result) => { alert(txt); console.log(result); }; + * await scanner.open(); + * ``` + * @category Open and Close + */ + open(): Promise; + /** + * Bind UI, open the camera, but not decode. + * ```js + * await scanner.setUIElement(document.getElementById("my-barcode-scanner")); + * await scanner.openVideo(); + * console.log(await scanner.decodeCurrentFrame()); + * ``` + * @category Open and Close + */ + openVideo(): Promise; + /** + * Stop decoding, release camera, unbind UI. + * ```js + * await scanner.open(); + * await scanner.close(); + * + * await scanner.openVideo(); + * await scanner.close(); + * ``` + * @category Open and Close + */ + close(): Promise; + /** + * Bind UI, open the camera, start decoding, and remove the UIElement `display` style if the original style is `display:none;`. + * ```js + * await scanner.setUIElement("https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.scanner.html"); + * scanner.onUnduplicatedRead = (txt, result) => { alert(txt); console.log(result); }; + * await scanner.show(); + * ``` + * @category Open and Close + */ + show(): Promise; + /** + * Bind UI, open the camera, but not decode, and remove the UIElement `display` style if the original style is `display:none;`. + * ```js + * await scanner.showVideo() + * console.log(await scanner.decodeCurrentFrame()); + * ``` + * @category Open and Close + */ + showVideo(): Promise; + /** + * Stop decoding, release camera, unbind UI, and set the Element as `display:none;`. + * ```js + * await scanner.show(); + * await scanner.hide(); + * + * await scanner.showVideo(); + * await scanner.hide(); + * ``` + * @category Open and Close + */ + hide(): Promise; + /** + * Destroy the `BarcodeScanner` instance. If your page needs to create new instances from time to time, don't forget to destroy unused old instances, otherwise it will cause memory leaks. + * @category Initialize and Destroy + */ + destroy(): Promise; +} +export declare enum EnumBarcodeColourMode { + BICM_DARK_ON_LIGHT = 1, + BICM_LIGHT_ON_DARK = 2, + BICM_DARK_ON_DARK = 4, + BICM_LIGHT_ON_LIGHT = 8, + BICM_DARK_LIGHT_MIXED = 16, + BICM_DARK_ON_LIGHT_DARK_SURROUNDING = 32, + BICM_SKIP = 0, + BICM_REV = 2147483648 +} +export declare enum EnumBarcodeComplementMode { + BCM_AUTO = 1, + BCM_GENERAL = 2, + BCM_SKIP = 0, + BCM_REV = 2147483648 +} +export declare enum EnumClarityCalculationMethod { + ECCM_CONTRAST = 1 +} +export declare enum EnumClarityFilterMode { + CFM_GENERAL = 1 +} +export declare enum EnumColourClusteringMode { + CCM_AUTO = 1, + CCM_GENERAL_HSV = 2, + CCM_SKIP = 0, + CCM_REV = 2147483648 +} +export declare enum EnumColourConversionMode { + CICM_GENERAL = 1, + CICM_SKIP = 0, + CICM_REV = 2147483648 +} +export declare enum EnumConflictMode { + CM_IGNORE = 1, + CM_OVERWRITE = 2 +} +export declare enum EnumDeblurMode { + DM_SKIP = 0, + DM_DIRECT_BINARIZATION = 1, + DM_THRESHOLD_BINARIZATION = 2, + DM_GRAY_EQUALIZATION = 4, + DM_SMOOTHING = 8, + DM_MORPHING = 16, + DM_DEEP_ANALYSIS = 32, + DM_SHARPENING = 64 +} +export declare enum EnumDeformationResistingMode { + DRM_AUTO = 1, + DRM_GENERAL = 2, + DRM_SKIP = 0, + DRM_REV = 2147483648 +} +export declare enum EnumDPMCodeReadingMode { + DPMCRM_AUTO = 1, + DPMCRM_GENERAL = 2, + DPMCRM_SKIP = 0, + DPMCRM_REV = 2147483648 +} +export declare enum EnumGrayscaleTransformationMode { + GTM_INVERTED = 1, + GTM_ORIGINAL = 2, + GTM_SKIP = 0, + GTM_REV = 2147483648 +} +export declare enum EnumImagePreprocessingMode { + IPM_AUTO = 1, + IPM_GENERAL = 2, + IPM_GRAY_EQUALIZE = 4, + IPM_GRAY_SMOOTH = 8, + IPM_SHARPEN_SMOOTH = 16, + IPM_MORPHOLOGY = 32, + IPM_SKIP = 0, + IPM_REV = 2147483648 +} +export declare enum EnumIMResultDataType { + IMRDT_IMAGE = 1, + IMRDT_CONTOUR = 2, + IMRDT_LINESEGMENT = 4, + IMRDT_LOCALIZATIONRESULT = 8, + IMRDT_REGIONOFINTEREST = 16, + IMRDT_QUADRILATERAL = 32 +} +export declare enum EnumIntermediateResultSavingMode { + IRSM_MEMORY = 1, + IRSM_FILESYSTEM = 2, + IRSM_BOTH = 4 +} +export declare enum EnumQRCodeErrorCorrectionLevel { + QRECL_ERROR_CORRECTION_H = 0, + QRECL_ERROR_CORRECTION_L = 1, + QRECL_ERROR_CORRECTION_M = 2, + QRECL_ERROR_CORRECTION_Q = 3 +} +export declare enum EnumRegionPredetectionMode { + RPM_AUTO = 1, + RPM_GENERAL = 2, + RPM_GENERAL_RGB_CONTRAST = 4, + RPM_GENERAL_GRAY_CONTRAST = 8, + RPM_GENERAL_HSV_CONTRAST = 16, + RPM_SKIP = 0, + RPM_REV = 2147483648 +} +export declare enum EnumResultType { + RT_STANDARD_TEXT = 0, + RT_RAW_TEXT = 1, + RT_CANDIDATE_TEXT = 2, + RT_PARTIAL_TEXT = 3 +} +export declare enum EnumTextFilterMode { + TFM_AUTO = 1, + TFM_GENERAL_CONTOUR = 2, + TFM_SKIP = 0, + TFM_REV = 2147483648 +} +export declare enum EnumTextureDetectionMode { + TDM_AUTO = 1, + TDM_GENERAL_WIDTH_CONCENTRATION = 2, + TDM_SKIP = 0, + TDM_REV = 2147483648 +} +export declare class DBR { + static BarcodeReader: typeof BarcodeReader; + static BarcodeScanner: typeof BarcodeScanner; + static EnumBarcodeColourMode: typeof EnumBarcodeColourMode; + static EnumBarcodeComplementMode: typeof EnumBarcodeComplementMode; + static EnumBarcodeFormat: typeof EnumBarcodeFormat; + static EnumBarcodeFormat_2: typeof EnumBarcodeFormat_2; + static EnumBinarizationMode: typeof EnumBinarizationMode; + static EnumClarityCalculationMethod: typeof EnumClarityCalculationMethod; + static EnumClarityFilterMode: typeof EnumClarityFilterMode; + static EnumColourClusteringMode: typeof EnumColourClusteringMode; + static EnumColourConversionMode: typeof EnumColourConversionMode; + static EnumConflictMode: typeof EnumConflictMode; + static EnumDeblurMode: typeof EnumDeblurMode; + static EnumDeformationResistingMode: typeof EnumDeformationResistingMode; + static EnumDPMCodeReadingMode: typeof EnumDPMCodeReadingMode; + static EnumErrorCode: typeof EnumErrorCode; + static EnumGrayscaleTransformationMode: typeof EnumGrayscaleTransformationMode; + static EnumImagePixelFormat: typeof EnumImagePixelFormat; + static EnumImagePreprocessingMode: typeof EnumImagePreprocessingMode; + static EnumIMResultDataType: typeof EnumIMResultDataType; + static EnumIntermediateResultSavingMode: typeof EnumIntermediateResultSavingMode; + static EnumIntermediateResultType: typeof EnumIntermediateResultType; + static EnumLocalizationMode: typeof EnumLocalizationMode; + static EnumPDFReadingMode: typeof EnumPDFReadingMode; + static EnumQRCodeErrorCorrectionLevel: typeof EnumQRCodeErrorCorrectionLevel; + static EnumRegionPredetectionMode: typeof EnumRegionPredetectionMode; + static EnumResultCoordinateType: typeof EnumResultCoordinateType; + static EnumResultType: typeof EnumResultType; + static EnumScaleUpMode: typeof EnumScaleUpMode; + static EnumTerminatePhase: typeof EnumTerminatePhase; + static EnumTextFilterMode: typeof EnumTextFilterMode; + static EnumTextResultOrderMode: typeof EnumTextResultOrderMode; + static EnumTextureDetectionMode: typeof EnumTextureDetectionMode; + static get version(): string; + static get productKeys(): string; + static set productKeys(keys: string); + static get handshakeCode(): string; + static set handshakeCode(keys: string); + static get organizationID(): string; + static set organizationID(keys: string); + static get sessionPassword(): string; + static set sessionPassword(keys: string); + /** @ignore */ + static get browserInfo(): any; + static detectEnvironment(): Promise; + /** @ignore */ + static get _workerName(): string; + /** @ignore */ + static set _workerName(name: string); + static get engineResourcePath(): string; + static set engineResourcePath(value: string); + static get licenseServer(): string[] | string; + static set licenseServer(value: string[] | string); + /** @ignore */ + static get deviceFriendlyName(): string; + /** @ignore */ + static set deviceFriendlyName(value: string); + /** @ignore */ + static get _onLog(): (message: any) => void; + /** @ignore */ + static set _onLog(value: (message: any) => void); + /** @ignore */ + static get _bWasmDebug(): boolean; + /** @ignore */ + static set _bWasmDebug(value: boolean); + /** @ignore */ + static get _bUseFullFeature(): boolean; + /** @ignore */ + static set _bUseFullFeature(value: boolean); + /** @ignore */ + static get _dbrWorker(): Worker; + static isLoaded(): boolean; + static loadWasm(): Promise; +} +export default DBR; + + diff --git a/dist/dbr.js b/dist/dbr.js new file mode 100644 index 00000000..f6491a5d --- /dev/null +++ b/dist/dbr.js @@ -0,0 +1,11 @@ +/** +* Dynamsoft JavaScript Library +* @product Dynamsoft Barcode Reader JS Edition +* @website http://www.dynamsoft.com +* @preserve Copyright 2021, Dynamsoft Corporation +* @author Dynamsoft +* @version 8.4.0 (js 20210628) +* @fileoverview Dynamsoft JavaScript Library for Barcode Reader +* More info on DBR JS: https://www.dynamsoft.com/Products/barcode-recognition-javascript.aspx +*/ +!function(e,t){let bNode=!!(typeof global=="object"&&global.process&&global.process.release&&global.process.release.name&&typeof HTMLCanvasElement=="undefined");"object"==typeof exports&&"object"==typeof module?module.exports=!bNode?t():t(require("worker_threads"),require("https"),require("http"),require("fs"),require("os")):"function"==typeof define&&define.amd?define(t):"object"==typeof exports?exports.dbr=!bNode?t():t(require("worker_threads"),require("https"),require("http"),require("fs"),require("os")):e.dbr=t(e.worker_threads,e.https,e.http,e.fs,e.os)}(("object"==typeof window?window:global),(function(e,t,i,r,n){return function(e){var t={};function i(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=e,i.c=t,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(r,n,function(t){return e[t]}.bind(null,n));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=5)}([function(t,i){t.exports=e},function(e,i){e.exports=t},function(e,t){e.exports=i},function(e,t){e.exports=r},function(e,t){e.exports=n},function(e,t,i){"use strict";var r,n,o,s;i.r(t),i.d(t,"DBR",(function(){return W})),i.d(t,"BarcodeReader",(function(){return c})),i.d(t,"BarcodeScanner",(function(){return g})),i.d(t,"EnumBarcodeColourMode",(function(){return E})),i.d(t,"EnumBarcodeComplementMode",(function(){return R})),i.d(t,"EnumBarcodeFormat",(function(){return s})),i.d(t,"EnumBarcodeFormat_2",(function(){return I})),i.d(t,"EnumBinarizationMode",(function(){return f})),i.d(t,"EnumClarityCalculationMethod",(function(){return A})),i.d(t,"EnumClarityFilterMode",(function(){return m})),i.d(t,"EnumColourClusteringMode",(function(){return S})),i.d(t,"EnumColourConversionMode",(function(){return D})),i.d(t,"EnumConflictMode",(function(){return T})),i.d(t,"EnumDeblurMode",(function(){return v})),i.d(t,"EnumDeformationResistingMode",(function(){return p})),i.d(t,"EnumDPMCodeReadingMode",(function(){return M})),i.d(t,"EnumErrorCode",(function(){return n})),i.d(t,"EnumGrayscaleTransformationMode",(function(){return C})),i.d(t,"EnumImagePixelFormat",(function(){return r})),i.d(t,"EnumImagePreprocessingMode",(function(){return y})),i.d(t,"EnumIMResultDataType",(function(){return o})),i.d(t,"EnumIntermediateResultSavingMode",(function(){return L})),i.d(t,"EnumIntermediateResultType",(function(){return O})),i.d(t,"EnumLocalizationMode",(function(){return b})),i.d(t,"EnumPDFReadingMode",(function(){return N})),i.d(t,"EnumQRCodeErrorCorrectionLevel",(function(){return B})),i.d(t,"EnumRegionPredetectionMode",(function(){return P})),i.d(t,"EnumResultCoordinateType",(function(){return F})),i.d(t,"EnumResultType",(function(){return w})),i.d(t,"EnumScaleUpMode",(function(){return U})),i.d(t,"EnumTerminatePhase",(function(){return k})),i.d(t,"EnumTextFilterMode",(function(){return V})),i.d(t,"EnumTextResultOrderMode",(function(){return G})),i.d(t,"EnumTextureDetectionMode",(function(){return x})),function(e){e[e.IPF_Binary=0]="IPF_Binary",e[e.IPF_BinaryInverted=1]="IPF_BinaryInverted",e[e.IPF_GrayScaled=2]="IPF_GrayScaled",e[e.IPF_NV21=3]="IPF_NV21",e[e.IPF_RGB_565=4]="IPF_RGB_565",e[e.IPF_RGB_555=5]="IPF_RGB_555",e[e.IPF_RGB_888=6]="IPF_RGB_888",e[e.IPF_ARGB_8888=7]="IPF_ARGB_8888",e[e.IPF_RGB_161616=8]="IPF_RGB_161616",e[e.IPF_ARGB_16161616=9]="IPF_ARGB_16161616",e[e.IPF_ABGR_8888=10]="IPF_ABGR_8888",e[e.IPF_ABGR_16161616=11]="IPF_ABGR_16161616",e[e.IPF_BGR_888=12]="IPF_BGR_888"}(r||(r={})),function(e){e[e.DBR_SYSTEM_EXCEPTION=1]="DBR_SYSTEM_EXCEPTION",e[e.DBR_SUCCESS=0]="DBR_SUCCESS",e[e.DBR_UNKNOWN=-1e4]="DBR_UNKNOWN",e[e.DBR_NO_MEMORY=-10001]="DBR_NO_MEMORY",e[e.DBR_NULL_REFERENCE=-10002]="DBR_NULL_REFERENCE",e[e.DBR_LICENSE_INVALID=-10003]="DBR_LICENSE_INVALID",e[e.DBR_LICENSE_EXPIRED=-10004]="DBR_LICENSE_EXPIRED",e[e.DBR_FILE_NOT_FOUND=-10005]="DBR_FILE_NOT_FOUND",e[e.DBR_FILETYPE_NOT_SUPPORTED=-10006]="DBR_FILETYPE_NOT_SUPPORTED",e[e.DBR_BPP_NOT_SUPPORTED=-10007]="DBR_BPP_NOT_SUPPORTED",e[e.DBR_INDEX_INVALID=-10008]="DBR_INDEX_INVALID",e[e.DBR_BARCODE_FORMAT_INVALID=-10009]="DBR_BARCODE_FORMAT_INVALID",e[e.DBR_CUSTOM_REGION_INVALID=-10010]="DBR_CUSTOM_REGION_INVALID",e[e.DBR_MAX_BARCODE_NUMBER_INVALID=-10011]="DBR_MAX_BARCODE_NUMBER_INVALID",e[e.DBR_IMAGE_READ_FAILED=-10012]="DBR_IMAGE_READ_FAILED",e[e.DBR_TIFF_READ_FAILED=-10013]="DBR_TIFF_READ_FAILED",e[e.DBR_QR_LICENSE_INVALID=-10016]="DBR_QR_LICENSE_INVALID",e[e.DBR_1D_LICENSE_INVALID=-10017]="DBR_1D_LICENSE_INVALID",e[e.DBR_DIB_BUFFER_INVALID=-10018]="DBR_DIB_BUFFER_INVALID",e[e.DBR_PDF417_LICENSE_INVALID=-10019]="DBR_PDF417_LICENSE_INVALID",e[e.DBR_DATAMATRIX_LICENSE_INVALID=-10020]="DBR_DATAMATRIX_LICENSE_INVALID",e[e.DBR_PDF_READ_FAILED=-10021]="DBR_PDF_READ_FAILED",e[e.DBR_PDF_DLL_MISSING=-10022]="DBR_PDF_DLL_MISSING",e[e.DBR_PAGE_NUMBER_INVALID=-10023]="DBR_PAGE_NUMBER_INVALID",e[e.DBR_CUSTOM_SIZE_INVALID=-10024]="DBR_CUSTOM_SIZE_INVALID",e[e.DBR_CUSTOM_MODULESIZE_INVALID=-10025]="DBR_CUSTOM_MODULESIZE_INVALID",e[e.DBR_RECOGNITION_TIMEOUT=-10026]="DBR_RECOGNITION_TIMEOUT",e[e.DBR_JSON_PARSE_FAILED=-10030]="DBR_JSON_PARSE_FAILED",e[e.DBR_JSON_TYPE_INVALID=-10031]="DBR_JSON_TYPE_INVALID",e[e.DBR_JSON_KEY_INVALID=-10032]="DBR_JSON_KEY_INVALID",e[e.DBR_JSON_VALUE_INVALID=-10033]="DBR_JSON_VALUE_INVALID",e[e.DBR_JSON_NAME_KEY_MISSING=-10034]="DBR_JSON_NAME_KEY_MISSING",e[e.DBR_JSON_NAME_VALUE_DUPLICATED=-10035]="DBR_JSON_NAME_VALUE_DUPLICATED",e[e.DBR_TEMPLATE_NAME_INVALID=-10036]="DBR_TEMPLATE_NAME_INVALID",e[e.DBR_JSON_NAME_REFERENCE_INVALID=-10037]="DBR_JSON_NAME_REFERENCE_INVALID",e[e.DBR_PARAMETER_VALUE_INVALID=-10038]="DBR_PARAMETER_VALUE_INVALID",e[e.DBR_DOMAIN_NOT_MATCHED=-10039]="DBR_DOMAIN_NOT_MATCHED",e[e.DBR_RESERVEDINFO_NOT_MATCHED=-10040]="DBR_RESERVEDINFO_NOT_MATCHED",e[e.DBR_AZTEC_LICENSE_INVALID=-10041]="DBR_AZTEC_LICENSE_INVALID",e[e.DBR_LICENSE_DLL_MISSING=-10042]="DBR_LICENSE_DLL_MISSING",e[e.DBR_LICENSEKEY_NOT_MATCHED=-10043]="DBR_LICENSEKEY_NOT_MATCHED",e[e.DBR_REQUESTED_FAILED=-10044]="DBR_REQUESTED_FAILED",e[e.DBR_LICENSE_INIT_FAILED=-10045]="DBR_LICENSE_INIT_FAILED",e[e.DBR_PATCHCODE_LICENSE_INVALID=-10046]="DBR_PATCHCODE_LICENSE_INVALID",e[e.DBR_POSTALCODE_LICENSE_INVALID=-10047]="DBR_POSTALCODE_LICENSE_INVALID",e[e.DBR_DPM_LICENSE_INVALID=-10048]="DBR_DPM_LICENSE_INVALID",e[e.DBR_FRAME_DECODING_THREAD_EXISTS=-10049]="DBR_FRAME_DECODING_THREAD_EXISTS",e[e.DBR_STOP_DECODING_THREAD_FAILED=-10050]="DBR_STOP_DECODING_THREAD_FAILED",e[e.DBR_SET_MODE_ARGUMENT_ERROR=-10051]="DBR_SET_MODE_ARGUMENT_ERROR",e[e.DBR_LICENSE_CONTENT_INVALID=-10052]="DBR_LICENSE_CONTENT_INVALID",e[e.DBR_LICENSE_KEY_INVALID=-10053]="DBR_LICENSE_KEY_INVALID",e[e.DBR_LICENSE_DEVICE_RUNS_OUT=-10054]="DBR_LICENSE_DEVICE_RUNS_OUT",e[e.DBR_GET_MODE_ARGUMENT_ERROR=-10055]="DBR_GET_MODE_ARGUMENT_ERROR",e[e.DBR_IRT_LICENSE_INVALID=-10056]="DBR_IRT_LICENSE_INVALID",e[e.DBR_MAXICODE_LICENSE_INVALID=-10057]="DBR_MAXICODE_LICENSE_INVALID",e[e.DBR_GS1_DATABAR_LICENSE_INVALID=-10058]="DBR_GS1_DATABAR_LICENSE_INVALID",e[e.DBR_GS1_COMPOSITE_LICENSE_INVALID=-10059]="DBR_GS1_COMPOSITE_LICENSE_INVALID",e[e.DBR_DOTCODE_LICENSE_INVALID=-10061]="DBR_DOTCODE_LICENSE_INVALID",e[e.DMERR_NO_LICENSE=-2e4]="DMERR_NO_LICENSE",e[e.DMERR_LICENSE_SYNC_FAILED=-20003]="DMERR_LICENSE_SYNC_FAILED",e[e.DMERR_TRIAL_LICENSE=-20010]="DMERR_TRIAL_LICENSE",e[e.DMERR_FAILED_TO_REACH_LTS=-20200]="DMERR_FAILED_TO_REACH_LTS"}(n||(n={})),function(e){e[e.IMRDT_IMAGE=1]="IMRDT_IMAGE",e[e.IMRDT_CONTOUR=2]="IMRDT_CONTOUR",e[e.IMRDT_LINESEGMENT=4]="IMRDT_LINESEGMENT",e[e.IMRDT_LOCALIZATIONRESULT=8]="IMRDT_LOCALIZATIONRESULT",e[e.IMRDT_REGIONOFINTEREST=16]="IMRDT_REGIONOFINTEREST",e[e.IMRDT_QUADRILATERAL=32]="IMRDT_QUADRILATERAL"}(o||(o={})),function(e){e[e.BF_ALL=-31457281]="BF_ALL",e[e.BF_ONED=1050623]="BF_ONED",e[e.BF_GS1_DATABAR=260096]="BF_GS1_DATABAR",e[e.BF_CODE_39=1]="BF_CODE_39",e[e.BF_CODE_128=2]="BF_CODE_128",e[e.BF_CODE_93=4]="BF_CODE_93",e[e.BF_CODABAR=8]="BF_CODABAR",e[e.BF_ITF=16]="BF_ITF",e[e.BF_EAN_13=32]="BF_EAN_13",e[e.BF_EAN_8=64]="BF_EAN_8",e[e.BF_UPC_A=128]="BF_UPC_A",e[e.BF_UPC_E=256]="BF_UPC_E",e[e.BF_INDUSTRIAL_25=512]="BF_INDUSTRIAL_25",e[e.BF_CODE_39_EXTENDED=1024]="BF_CODE_39_EXTENDED",e[e.BF_GS1_DATABAR_OMNIDIRECTIONAL=2048]="BF_GS1_DATABAR_OMNIDIRECTIONAL",e[e.BF_GS1_DATABAR_TRUNCATED=4096]="BF_GS1_DATABAR_TRUNCATED",e[e.BF_GS1_DATABAR_STACKED=8192]="BF_GS1_DATABAR_STACKED",e[e.BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL=16384]="BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL",e[e.BF_GS1_DATABAR_EXPANDED=32768]="BF_GS1_DATABAR_EXPANDED",e[e.BF_GS1_DATABAR_EXPANDED_STACKED=65536]="BF_GS1_DATABAR_EXPANDED_STACKED",e[e.BF_GS1_DATABAR_LIMITED=131072]="BF_GS1_DATABAR_LIMITED",e[e.BF_PATCHCODE=262144]="BF_PATCHCODE",e[e.BF_PDF417=33554432]="BF_PDF417",e[e.BF_QR_CODE=67108864]="BF_QR_CODE",e[e.BF_DATAMATRIX=134217728]="BF_DATAMATRIX",e[e.BF_AZTEC=268435456]="BF_AZTEC",e[e.BF_MAXICODE=536870912]="BF_MAXICODE",e[e.BF_MICRO_QR=1073741824]="BF_MICRO_QR",e[e.BF_MICRO_PDF417=524288]="BF_MICRO_PDF417",e[e.BF_GS1_COMPOSITE=-2147483648]="BF_GS1_COMPOSITE",e[e.BF_MSI_CODE=1048576]="BF_MSI_CODE",e[e.BF_NULL=0]="BF_NULL"}(s||(s={}));var a=function(e,t,i,r){return new(i||(i=Promise))((function(n,o){function s(e){try{d(r.next(e))}catch(e){o(e)}}function a(e){try{d(r.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}d((r=r.apply(e,t||[])).next())}))};const d=!!("object"==typeof global&&global.process&&global.process.release&&global.process.release.name&&"undefined"==typeof HTMLCanvasElement),_=!d&&"undefined"==typeof self,l=d?global:_?{}:self;class c{constructor(){this._canvasMaxWH="iPhone"==c.browserInfo.OS||"Android"==c.browserInfo.OS?2048:4096,this._instanceID=void 0,this.bSaveOriCanvas=!1,this.oriCanvas=null,this.maxVideoCvsLength=3,this.videoCvses=[],this.videoGlCvs=null,this.videoGl=null,this.glImgData=null,this.bFilterRegionInJs=!0,this._region=null,this._timeStartDecode=null,this._timeEnterInnerDBR=null,this._bUseWebgl=!0,this.decodeRecords={},this.bDestroyed=!1,this._setWarnnedEx=new Set,this._lastErrorCode=0,this._lastErrorString="",this._lastInnerDecodeDuration=0}static get version(){return this._version}static get productKeys(){return this._productKeys}static set productKeys(e){if("unload"!=this._loadWasmStatus)throw new Error("`productKeys` is not allowed to change after loadWasm is called.");c._productKeys=e}static get handshakeCode(){return this._productKeys}static set handshakeCode(e){if("unload"!=this._loadWasmStatus)throw new Error("`handshakeCode` is not allowed to change after loadWasm is called.");c._productKeys=e}static get organizationID(){return this._organizationID}static set organizationID(e){if("unload"!=this._loadWasmStatus)throw new Error("`organizationID` is not allowed to change after loadWasm is called.");"number"==typeof e&&(e=e.toString()),c._organizationID=e}static set sessionPassword(e){if("unload"!=this._loadWasmStatus)throw new Error("`sessionPassword` is not allowed to change after loadWasm is called.");c._sessionPassword=e}static get sessionPassword(){return this._sessionPassword}static detectEnvironment(){return a(this,void 0,void 0,(function*(){let e={wasm:"undefined"!=typeof WebAssembly&&("undefined"==typeof navigator||!(/Safari/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&/\(.+\s11_2_([2-6]).*\)/.test(navigator.userAgent))),worker:!!(d?process.version>="v12":"undefined"!=typeof Worker),getUserMedia:!("undefined"==typeof navigator||!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia),camera:!1,browser:this.browserInfo.browser,version:this.browserInfo.version,OS:this.browserInfo.OS};if(e.getUserMedia)try{(yield navigator.mediaDevices.getUserMedia({video:!0})).getTracks().forEach(e=>{e.stop()}),e.camera=!0}catch(e){}return e}))}static get engineResourcePath(){return this._engineResourcePath}static set engineResourcePath(e){if("unload"!=this._loadWasmStatus)throw new Error("`engineResourcePath` is not allowed to change after loadWasm is called.");if(null==e&&(e="./"),d||_)c._engineResourcePath=e;else{let t=document.createElement("a");t.href=e,c._engineResourcePath=t.href}this._engineResourcePath.endsWith("/")||(c._engineResourcePath+="/")}static get licenseServer(){return this._licenseServer}static set licenseServer(e){if("unload"!=this._loadWasmStatus)throw new Error("`licenseServer` is not allowed to change after loadWasm is called.");if(null==e)c._licenseServer=[];else{e instanceof Array||(e=[e]);for(let t=0;t= v12.");let e,t=this.productKeys,r=(0==t.length||t.startsWith("P")||t.startsWith("L"))&&0==this.organizationID.length,o=r||t.length>=8&&!t.startsWith("t")&&!t.startsWith("f")&&!t.startsWith("P")&&!t.startsWith("L")||0==t.length&&0!=this.organizationID.length;if(o&&(d?process.version<"v15"&&(e="To use handshake requires nodejs version >= v15."):(l.crypto||(e="Please upgrade your browser to support handshake code."),l.crypto.subtle||(e="Require https to use handshake code in this browser."))),e){if(!r)throw new Error(e);r=!1,o=!1,console.warn(e),this._lastErrorCode=n.DMERR_FAILED_TO_REACH_LTS,this._lastErrorString=e}return r&&(t="",console.warn("Automatically apply for a public trial license.")),yield new Promise((e,n)=>a(this,void 0,void 0,(function*(){switch(this._loadWasmStatus){case"unload":{c._loadWasmStatus="loading";let e=this.engineResourcePath+this._workerName;if(d||this.engineResourcePath.startsWith(location.origin)||(e=yield fetch(e).then(e=>e.blob()).then(e=>URL.createObjectURL(e))),d){const t=i(0);c._dbrWorker=new t.Worker(e)}else c._dbrWorker=new Worker(e);this._dbrWorker.onerror=e=>{c._loadWasmStatus="loadFail";let t=new Error(e.message);this._loadWasmErr=t;for(let e of this._loadWasmCallbackArr)e(t);this._loadWasmCallbackArr=[]},this._dbrWorker.onmessage=e=>a(this,void 0,void 0,(function*(){let t=e.data?e.data:e;switch(t.type){case"log":this._onLog&&this._onLog(t.message);break;case"load":{t.message&&(t.message=t.message.replace("(https://www.dynamsoft.com/purchase-center/)","(https://www.dynamsoft.com/store/dynamsoft-barcode-reader/#javascript)"));let e=!1;if(r&&(e=!0),t.success){c._loadWasmStatus="loadSuccess",c._version=t.version+"(JS "+this._jsVersion+"."+this._jsEditVersion+")",this._onLog&&this._onLog("load dbr worker success");for(let e of this._loadWasmCallbackArr)e();this._loadWasmCallbackArr=[],this._dbrWorker.onerror=null,t.message&&console.warn(t.message)}else{let i=new Error(t.message);i.stack=t.stack+"\n"+i.stack,c._loadWasmStatus="loadFail",this._loadWasmErr=i;for(let e of this._loadWasmCallbackArr)e(i);this._loadWasmCallbackArr=[],e||111==t.ltsErrorCode&&-1!=t.message.toLowerCase().indexOf("trial license")&&(e=!0)}e&&this.showDialog(t.success?"warn":"error",t.message);break}case"task":{let e=t.id,i=t.body;try{this._taskCallbackMap.get(e)(i),this._taskCallbackMap.delete(e)}catch(t){throw this._taskCallbackMap.delete(e),t}break}default:this._onLog&&this._onLog(e)}})),d&&this._dbrWorker.on("message",this._dbrWorker.onmessage),this._dbrWorker.postMessage({type:"loadWasm",bd:this._bWasmDebug,engineResourcePath:this.engineResourcePath,version:this._jsVersion,brtk:o,bptk:r,pk:t,og:this.organizationID,dm:!d&&location.origin.startsWith("http")?location.origin:"https://localhost",bUseFullFeature:this._bUseFullFeature,browserInfo:this.browserInfo,deviceFriendlyName:this.deviceFriendlyName,ls:this.licenseServer,sp:this._sessionPassword,lm:this._limitModules,cw:this._chargeWay})}case"loading":this._loadWasmCallbackArr.push(t=>{t?n(t):e()});break;case"loadSuccess":e();break;case"loadFail":n(this._loadWasmErr)}})))}))}static showDialog(e,t){return a(this,void 0,void 0,(function*(){if(!d&&!this._bNeverShowDialog)try{let i=yield fetch(c.engineResourcePath+"lts.license.dialog.html");if(!i.ok)throw Error("Get license dialog fail. Network Error: "+i.statusText);let r=yield i.text();if(!r.trim().startsWith("<"))throw Error("Get license dialog fail. Can't get valid HTMLElement.");let n=document.createElement("div");n.innerHTML=r;let o=[];for(let e=0;e{if(i==e.target){s.remove();for(let e of o)e.remove()}});else if(!d&&i.classList.contains("lts-license-icon-close"))d=i,i.addEventListener("click",()=>{s.remove();for(let e of o)e.remove()});else if(!_&&i.classList.contains("lts-license-icon-error"))_=i,"error"!=e&&i.remove();else if(!l&&i.classList.contains("lts-license-icon-warn"))l=i,"warn"!=e&&i.remove();else if(!h&&i.classList.contains("lts-license-msg-content")){h=i;let e=t;for(;e;){let t=e.indexOf("["),r=e.indexOf("]",t),n=e.indexOf("(",r),o=e.indexOf(")",n);if(-1==t||-1==r||-1==n||-1==o){i.appendChild(new Text(e));break}t>0&&i.appendChild(new Text(e.substring(0,t)));let s=document.createElement("a"),a=e.substring(t+1,r);s.innerText=a;let d=e.substring(n+1,o);s.setAttribute("href",d),s.setAttribute("target","_blank"),i.appendChild(s),e=e.substring(o+1)}}document.body.appendChild(s)}catch(e){c._onLog&&c._onLog(e.message||e)}}))}static createInstanceInWorker(e=!1){return a(this,void 0,void 0,(function*(){return yield this.loadWasm(),yield new Promise((t,i)=>{let r=c._nextTaskID++;this._taskCallbackMap.set(r,e=>{if(e.success)return t(e.instanceID);{let t=new Error(e.message);return t.stack=e.stack+"\n"+t.stack,i(t)}}),this._dbrWorker.postMessage({type:"createInstance",id:r,productKeys:"",bScanner:e})})}))}static createInstance(){return a(this,void 0,void 0,(function*(){let e=new c;return e._instanceID=yield this.createInstanceInWorker(),e}))}decode(e){return a(this,void 0,void 0,(function*(){if(c._onLog&&c._onLog("decode(source: any)"),c._onLog&&(this._timeStartDecode=Date.now()),d)return e instanceof Buffer?yield this._decodeFileInMemory_Uint8Array(new Uint8Array(e)):e instanceof Uint8Array?yield this._decodeFileInMemory_Uint8Array(e):"string"==typeof e||e instanceof String?"data:image/"==e.substring(0,11)?yield this._decode_Base64(e):"http"==e.substring(0,4)?yield this._decode_Url(e):yield this._decode_FilePath(e):yield Promise.reject(TypeError("'_decode(source, config)': Type of 'source' should be 'Buffer', 'Uint8Array', 'String(base64 with image mime)' or 'String(url)'."));{let t={};return!this.region||this.region instanceof Array||(t.region=JSON.parse(JSON.stringify(this.region))),e instanceof Blob?yield this._decode_Blob(e,t):e instanceof ArrayBuffer?yield this._decode_ArrayBuffer(e,t):e instanceof Uint8Array||e instanceof Uint8ClampedArray?yield this._decode_Uint8Array(e,t):e instanceof HTMLImageElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?yield this._decode_Image(e,t):e instanceof HTMLCanvasElement||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas?yield this._decode_Canvas(e,t):e instanceof HTMLVideoElement?yield this._decode_Video(e,t):"string"==typeof e||e instanceof String?"data:image/"==e.substring(0,11)?yield this._decode_Base64(e,t):yield this._decode_Url(e,t):yield Promise.reject(TypeError("'_decode(source, config)': Type of 'source' should be 'Blob', 'ArrayBuffer', 'Uint8Array', 'HTMLImageElement', 'HTMLCanvasElement', 'HTMLVideoElement', 'String(base64 with image mime)' or 'String(url)'."))}}))}decodeBase64String(e){return a(this,void 0,void 0,(function*(){let t={};return!this.region||this.region instanceof Array||(t.region=JSON.parse(JSON.stringify(this.region))),this._decode_Base64(e,t)}))}decodeUrl(e){return a(this,void 0,void 0,(function*(){let t={};return!this.region||this.region instanceof Array||(t.region=JSON.parse(JSON.stringify(this.region))),this._decode_Url(e,t)}))}_decodeBuffer_Uint8Array(e,t,i,r,n,o){return a(this,void 0,void 0,(function*(){return yield new Promise((s,a)=>{let d=c._nextTaskID++;c._taskCallbackMap.set(d,e=>{if(e.success){let t,i=c._onLog?Date.now():0;this.bufferShared&&!this.bufferShared.length&&(this.bufferShared=e.buffer),this._lastInnerDecodeDuration=e.duration;try{t=this._handleRetJsonString(e.decodeReturn)}catch(e){return a(e)}if(c._onLog){let e=Date.now();c._onLog("DBR time get result: "+i),c._onLog("Handle image cost: "+(this._timeEnterInnerDBR-this._timeStartDecode)),c._onLog("DBR worker decode image cost: "+(i-this._timeEnterInnerDBR)),c._onLog("DBR worker handle results: "+(e-i)),c._onLog("Total decode image cost: "+(e-this._timeStartDecode))}return s(t)}{let t=new Error(e.message);return t.stack=e.stack+"\n"+t.stack,a(t)}}),c._onLog&&(this._timeEnterInnerDBR=Date.now()),c._onLog&&c._onLog("Send buffer to worker:"+Date.now()),c._dbrWorker.postMessage({type:"decodeBuffer",id:d,instanceID:this._instanceID,body:{buffer:e,width:t,height:i,stride:r,format:n,config:o}},[e.buffer])})}))}_decodeBuffer_Blob(e,t,i,r,n,o){return a(this,void 0,void 0,(function*(){return c._onLog&&c._onLog("_decodeBuffer_Blob(buffer,width,height,stride,format)"),yield new Promise((t,i)=>{let r=new FileReader;r.readAsArrayBuffer(e),r.onload=()=>{t(r.result)},r.onerror=()=>{i(r.error)}}).then(e=>this._decodeBuffer_Uint8Array(new Uint8Array(e),t,i,r,n,o))}))}decodeBuffer(e,t,i,r,n,o){return a(this,void 0,void 0,(function*(){let s;return c._onLog&&c._onLog("decodeBuffer(buffer,width,height,stride,format)"),c._onLog&&(this._timeStartDecode=Date.now()),d?e instanceof Uint8Array?s=yield this._decodeBuffer_Uint8Array(e,t,i,r,n,o):e instanceof Buffer&&(s=yield this._decodeBuffer_Uint8Array(new Uint8Array(e),t,i,r,n,o)):e instanceof Uint8Array||e instanceof Uint8ClampedArray?s=yield this._decodeBuffer_Uint8Array(e,t,i,r,n,o):e instanceof ArrayBuffer?s=yield this._decodeBuffer_Uint8Array(new Uint8Array(e),t,i,r,n,o):e instanceof Blob&&(s=yield this._decodeBuffer_Blob(e,t,i,r,n,o)),s}))}_decodeFileInMemory_Uint8Array(e){return a(this,void 0,void 0,(function*(){return yield new Promise((t,i)=>{let r=c._nextTaskID++;c._taskCallbackMap.set(r,e=>{if(e.success){let r;this._lastInnerDecodeDuration=e.duration;try{r=this._handleRetJsonString(e.decodeReturn)}catch(e){return i(e)}return t(r)}{let t=new Error(e.message);return t.stack=e.stack+"\n"+t.stack,i(t)}}),c._dbrWorker.postMessage({type:"decodeFileInMemory",id:r,instanceID:this._instanceID,body:{bytes:e}})})}))}getRuntimeSettings(){return a(this,void 0,void 0,(function*(){return yield new Promise((e,t)=>{let i=c._nextTaskID++;c._taskCallbackMap.set(i,i=>{if(i.success){let t=JSON.parse(i.results);return null!=this.userDefinedRegion&&(t.region=JSON.parse(JSON.stringify(this.userDefinedRegion))),e(t)}{let e=new Error(i.message);return e.stack=i.stack+"\n"+e.stack,t(e)}}),c._dbrWorker.postMessage({type:"getRuntimeSettings",id:i,instanceID:this._instanceID})})}))}updateRuntimeSettings(e){return a(this,void 0,void 0,(function*(){let t;if("string"==typeof e||"object"==typeof e&&e instanceof String)if("speed"==e){let e=yield this.getRuntimeSettings();yield this.resetRuntimeSettings(),t=yield this.getRuntimeSettings(),t.barcodeFormatIds=e.barcodeFormatIds,t.barcodeFormatIds_2=e.barcodeFormatIds_2,t.region=e.region,t.deblurLevel=3,t.expectedBarcodesCount=0,t.localizationModes=[2,0,0,0,0,0,0,0]}else if("balance"==e){let e=yield this.getRuntimeSettings();yield this.resetRuntimeSettings(),t=yield this.getRuntimeSettings(),t.barcodeFormatIds=e.barcodeFormatIds,t.barcodeFormatIds_2=e.barcodeFormatIds_2,t.region=e.region,t.deblurLevel=5,t.expectedBarcodesCount=512,t.localizationModes=[2,16,0,0,0,0,0,0]}else if("coverage"==e){let e=yield this.getRuntimeSettings();yield this.resetRuntimeSettings(),t=yield this.getRuntimeSettings(),t.barcodeFormatIds=e.barcodeFormatIds,t.barcodeFormatIds_2=e.barcodeFormatIds_2,t.region=e.region}else t=JSON.parse(e);else{if("object"!=typeof e)throw TypeError("'UpdateRuntimeSettings(settings)': Type of 'settings' should be 'String' or 'PlainObject'.");if(t=JSON.parse(JSON.stringify(e)),t.region instanceof Array){let e=t.region;[e.regionLeft,e.regionTop,e.regionLeft,e.regionBottom,e.regionMeasuredByPercentage].some(e=>void 0!==e)&&(t.region={regionLeft:e.regionLeft||0,regionTop:e.regionTop||0,regionRight:e.regionRight||0,regionBottom:e.regionBottom||0,regionMeasuredByPercentage:e.regionMeasuredByPercentage||0})}}if(!c._bUseFullFeature){if(0!=(t.barcodeFormatIds&~(s.BF_ONED|s.BF_QR_CODE|s.BF_PDF417|s.BF_DATAMATRIX))||0!=t.barcodeFormatIds_2)throw Error("Some of the specified barcode formats are not supported in the compact version. Please try the full-featured version.");if(0!=t.intermediateResultTypes)throw Error("Intermediate results is not supported in the compact version. Please try the full-featured version.")}if(!d)if(this.bFilterRegionInJs){let e=t.region;if(e instanceof Array)throw Error("The `region` of type `Array` is only allowed in `BarcodeScanner`.");this.userDefinedRegion=JSON.parse(JSON.stringify(e)),(e.regionLeft||e.regionTop||e.regionRight||e.regionBottom||e.regionMeasuredByPercentage)&&(e.regionLeft||e.regionTop||100!=e.regionRight||100!=e.regionBottom||!e.regionMeasuredByPercentage)?this.region=e:this.region=null,t.region={regionLeft:0,regionTop:0,regionRight:0,regionBottom:0,regionMeasuredByPercentage:0}}else this.userDefinedRegion=null,this.region=null;return yield new Promise((e,i)=>{let r=c._nextTaskID++;c._taskCallbackMap.set(r,t=>{if(t.success){try{this._handleRetJsonString(t.updateReturn)}catch(e){i(e)}return e()}{let e=new Error(t.message);return e.stack=t.stack+"\n"+e.stack,i(e)}}),c._dbrWorker.postMessage({type:"updateRuntimeSettings",id:r,instanceID:this._instanceID,body:{settings:JSON.stringify(t)}})})}))}resetRuntimeSettings(){return a(this,void 0,void 0,(function*(){return this.userDefinedRegion=null,this.region=null,yield new Promise((e,t)=>{let i=c._nextTaskID++;c._taskCallbackMap.set(i,i=>{if(i.success)return e();{let e=new Error(i.message);return e.stack=i.stack+"\n"+e.stack,t(e)}}),c._dbrWorker.postMessage({type:"resetRuntimeSettings",id:i,instanceID:this._instanceID})})}))}outputSettingsToString(){return a(this,void 0,void 0,(function*(){if(!c._bUseFullFeature)throw Error("outputSettingsToString() is not supported in the compact version. Please try the full-featured version.");return yield new Promise((e,t)=>{let i=c._nextTaskID++;c._taskCallbackMap.set(i,i=>{if(i.success)return e(i.results);{let e=new Error(i.message);return e.stack=i.stack+"\n"+e.stack,t(e)}}),c._dbrWorker.postMessage({type:"outputSettingsToString",id:i,instanceID:this._instanceID})})}))}initRuntimeSettingsWithString(e){return a(this,void 0,void 0,(function*(){if(!c._bUseFullFeature)throw Error("initRuntimeSettingsWithString() is not supported in the compact version. Please try the full-featured version.");if("string"==typeof e||"object"==typeof e&&e instanceof String)e=e;else{if("object"!=typeof e)throw TypeError("'initRuntimeSettingstWithString(settings)': Type of 'settings' should be 'String' or 'PlainObject'.");e=JSON.stringify(e)}return yield new Promise((t,i)=>{let r=c._nextTaskID++;c._taskCallbackMap.set(r,e=>{if(e.success){try{this._handleRetJsonString(e.initReturn)}catch(e){i(e)}return t()}{let t=new Error(e.message);return t.stack=e.stack+"\n"+t.stack,i(t)}}),c._dbrWorker.postMessage({type:"initRuntimeSettingsWithString",id:r,instanceID:this._instanceID,body:{settings:e}})})}))}_decode_Blob(e,t){return a(this,void 0,void 0,(function*(){c._onLog&&c._onLog("_decode_Blob(blob: Blob)");let i=null,r=null;if("undefined"!=typeof createImageBitmap)try{i=yield createImageBitmap(e)}catch(e){}i||(r=yield function(e){return new Promise((t,i)=>{let r=URL.createObjectURL(e),n=new Image;n.dbrObjUrl=r,n.src=r,n.onload=()=>{t(n)},n.onerror=e=>{i(new Error("Can't convert blob to image : "+(e instanceof Event?e.type:e)))}})}(e));let n=yield this._decode_Image(i||r,t);return i&&i.close(),n}))}_decode_ArrayBuffer(e,t){return a(this,void 0,void 0,(function*(){return yield this._decode_Blob(new Blob([e]),t)}))}_decode_Uint8Array(e,t){return a(this,void 0,void 0,(function*(){return yield this._decode_Blob(new Blob([e]),t)}))}_decode_Image(e,t){return a(this,void 0,void 0,(function*(){c._onLog&&c._onLog("_decode_Image(image: HTMLImageElement|ImageBitmap)"),t=t||{};let i,r,n=e instanceof HTMLImageElement?e.naturalWidth:e.width,o=e instanceof HTMLImageElement?e.naturalHeight:e.height,s=Math.max(n,o);if(s>this._canvasMaxWH){let e=this._canvasMaxWH/s;i=Math.round(n*e),r=Math.round(o*e)}else i=n,r=o;let a,d=0,_=0,h=n,u=o,g=n,E=o,R=t.region;if(R){let e,t,s,a;R.regionMeasuredByPercentage?(e=R.regionLeft*i/100,t=R.regionTop*r/100,s=R.regionRight*i/100,a=R.regionBottom*r/100):(e=R.regionLeft,t=R.regionTop,s=R.regionRight,a=R.regionBottom),g=s-e,h=Math.round(g/i*n),E=a-t,u=Math.round(E/r*o),d=Math.round(e/i*n),_=Math.round(t/r*o)}!this.bSaveOriCanvas&&l.OffscreenCanvas?a=new OffscreenCanvas(g,E):(a=document.createElement("canvas"),a.width=g,a.height=E);let I,f=a.getContext("2d");0==d&&0==_&&n==h&&o==u&&n==g&&o==E?f.drawImage(e,0,0):f.drawImage(e,d,_,h,u,0,0,g,E),e.dbrObjUrl&&URL.revokeObjectURL(e.dbrObjUrl),R?(I=JSON.parse(JSON.stringify(t)),delete I.region):I=t;let A=yield this._decode_Canvas(a,I);return c.fixResultLocationWhenFilterRegionInJs(R,A,d,_,h,u,g,E),A}))}_decode_Canvas(e,t){return a(this,void 0,void 0,(function*(){if(c._onLog&&c._onLog("_decode_Canvas(canvas:HTMLCanvasElement)"),e.crossOrigin&&"anonymous"!=e.crossOrigin)throw"cors";(this.bSaveOriCanvas||this.singleFrameMode)&&(this.oriCanvas=e);let i=(e.dbrCtx2d||e.getContext("2d")).getImageData(0,0,e.width,e.height).data;return yield this._decodeBuffer_Uint8Array(i,e.width,e.height,4*e.width,r.IPF_ABGR_8888,t)}))}_decode_Video(e,t){return a(this,void 0,void 0,(function*(){if(c._onLog&&c._onLog("_decode_Video(video)"),!(e instanceof HTMLVideoElement))throw TypeError("'_decode_Video(video [, config] )': Type of 'video' should be 'HTMLVideoElement'.");if(e.crossOrigin&&"anonymous"!=e.crossOrigin)throw"cors";t=t||{};const i=e.videoWidth,n=e.videoHeight,o=Math.max(i,n);let s,a;if(o>this._canvasMaxWH){let e=this._canvasMaxWH/o;s=Math.round(i*e),a=Math.round(n*e)}else s=i,a=n;let d=0,_=0,h=i,u=n,g=i,E=n,R=t.region;if(R){let e,t,r,o;R.regionMeasuredByPercentage?(e=R.regionLeft*s/100,t=R.regionTop*a/100,r=R.regionRight*s/100,o=R.regionBottom*a/100):(e=R.regionLeft,t=R.regionTop,r=R.regionRight,o=R.regionBottom),g=r-e,h=Math.round(g/s*i),E=o-t,u=Math.round(E/a*n),d=Math.round(e/s*i),_=Math.round(t/a*n)}let I=0==d&&0==_&&i==h&&n==u&&i==g&&n==E;if(!this.bSaveOriCanvas&&this._bUseWebgl&&I){this.videoGlCvs||(this.videoGlCvs=l.OffscreenCanvas?new OffscreenCanvas(g,E):document.createElement("canvas"));const t=this.videoGlCvs;t.width==g&&t.height==E||(t.height=E,t.width=g,this.videoGl&&this.videoGl.viewport(0,0,g,E));const i=this.videoGl||t.getContext("webgl",{alpha:!1,antialias:!1})||t.getContext("experimental-webgl",{alpha:!1,antialias:!1});if(!this.videoGl){this.videoGl=i;let e=i.createShader(i.VERTEX_SHADER);i.shaderSource(e,"\nattribute vec4 a_position;\nattribute vec2 a_uv;\n\nvarying vec2 v_uv;\n\nvoid main() {\n gl_Position = a_position;\n v_uv = a_uv;\n}\n"),i.compileShader(e),i.getShaderParameter(e,i.COMPILE_STATUS)||console.error("An error occurred compiling the shaders: "+i.getShaderInfoLog(e));let t=i.createShader(i.FRAGMENT_SHADER);i.shaderSource(t,"\nprecision lowp float;\n\nvarying vec2 v_uv;\n\nuniform sampler2D u_texture;\n\nvoid main() {\n vec4 sample = texture2D(u_texture, v_uv);\n float grey = 0.299 * sample.r + 0.587 * sample.g + 0.114 * sample.b;\n gl_FragColor = vec4(grey, 0.0, 0.0, 1.0);\n}\n"),i.compileShader(t),i.getShaderParameter(t,i.COMPILE_STATUS)||console.error("An error occurred compiling the shaders: "+i.getShaderInfoLog(t));let r=i.createProgram();i.attachShader(r,e),i.attachShader(r,t),i.linkProgram(r),i.getProgramParameter(r,i.LINK_STATUS)||console.error("Unable to initialize the shader program: "+i.getProgramInfoLog(r)),i.useProgram(r),i.bindBuffer(i.ARRAY_BUFFER,i.createBuffer()),i.bufferData(i.ARRAY_BUFFER,new Float32Array([-1,1,0,1,1,1,1,1,-1,-1,0,0,1,-1,1,0]),i.STATIC_DRAW);let n=i.getAttribLocation(r,"a_position");i.enableVertexAttribArray(n),i.vertexAttribPointer(n,2,i.FLOAT,!1,16,0);let o=i.getAttribLocation(r,"a_uv");i.enableVertexAttribArray(o),i.vertexAttribPointer(o,2,i.FLOAT,!1,16,8),i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,i.createTexture()),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.NEAREST),i.uniform1i(i.getUniformLocation(r,"u_texture"),0)}(!this.glImgData||this.glImgData.length=this.maxVideoCvsLength&&(this.videoCvses=this.videoCvses.slice(1)),this.videoCvses.push(i))}const r=i.dbrCtx2d;let n;I?r.drawImage(e,0,0):r.drawImage(e,d,_,h,u,0,0,g,E),R?(n=JSON.parse(JSON.stringify(t)),delete n.region):n=t;let o=yield this._decode_Canvas(i,n);return c.fixResultLocationWhenFilterRegionInJs(R,o,d,_,h,u,g,E),o}}))}_decode_Base64(e,t){return a(this,void 0,void 0,(function*(){if(c._onLog&&c._onLog("_decode_Base64(base64Str)"),"string"!=typeof e&&"object"!=typeof e)return Promise.reject("'_decode_Base64(base64Str, config)': Type of 'base64Str' should be 'String'.");if("data:image/"==e.substring(0,11)&&(e=e.substring(e.indexOf(",")+1)),d){let t=Buffer.from(e,"base64");return yield this._decodeFileInMemory_Uint8Array(new Uint8Array(t))}{let i=atob(e),r=i.length,n=new Uint8Array(r);for(;r--;)n[r]=i.charCodeAt(r);return yield this._decode_Blob(new Blob([n]),t)}}))}_decode_Url(e,t){return a(this,void 0,void 0,(function*(){if(c._onLog&&c._onLog("_decode_Url(url)"),"string"!=typeof e&&"object"!=typeof e)throw TypeError("'_decode_Url(url, config)': Type of 'url' should be 'String'.");if(d){let t=yield new Promise((t,r)=>{(e.startsWith("https")?i(1):i(2)).get(e,e=>{if(200==e.statusCode){let i=[];e.on("data",e=>{i.push(e)}).on("end",()=>{t(new Uint8Array(Buffer.concat(i)))})}else r("http get fail, statusCode: "+e.statusCode)})});return yield this._decodeFileInMemory_Uint8Array(t)}{let i=yield new Promise((t,i)=>{let r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="blob",r.send(),r.onloadend=()=>a(this,void 0,void 0,(function*(){t(r.response)})),r.onerror=()=>{i(new Error("Network Error: "+r.statusText))}});return yield this._decode_Blob(i,t)}}))}_decode_FilePath(e,t){return a(this,void 0,void 0,(function*(){if(c._onLog&&c._onLog("_decode_FilePath(path)"),!d)throw Error("'_decode_FilePath(path, config)': The method is only supported in node environment.");if("string"!=typeof e&&"object"!=typeof e)throw TypeError("'_decode_FilePath(path, config)': Type of 'path' should be 'String'.");const t=i(3);let r=yield new Promise((i,r)=>{t.readFile(e,(e,t)=>{e?r(e):i(new Uint8Array(t))})});return yield this._decodeFileInMemory_Uint8Array(r)}))}static fixResultLocationWhenFilterRegionInJs(e,t,i,r,n,o,s,a){if(e&&t.length>0)for(let e of t){let t=e.localizationResult;2==t.resultCoordinateType&&(t.x1*=.01*s,t.x2*=.01*s,t.x3*=.01*s,t.x4*=.01*s,t.y1*=.01*a,t.y2*=.01*a,t.y3*=.01*a,t.y4*=.01*a);let d=s/n,_=a/o;t.x1=t.x1/d+i,t.x2=t.x2/d+i,t.x3=t.x3/d+i,t.x4=t.x4/d+i,t.y1=t.y1/_+r,t.y2=t.y2/_+r,t.y3=t.y3/_+r,t.y4=t.y4/_+r,2==t.resultCoordinateType&&(t.x1*=100/n,t.x2*=100/n,t.x3*=100/n,t.x4*=100/n,t.y1*=100/o,t.y2*=100/o,t.y3*=100/o,t.y4*=100/o)}}static BarcodeReaderException(e,t){let i,r=n.DBR_UNKNOWN;return"number"==typeof e?(r=e,i=new Error(t)):i=new Error(e),i.code=r,i}_handleRetJsonString(e){let t=n;if(e.textResults){for(let t=0;t{let i=t.indexOf(":");e[t.substring(0,i)]=t.substring(i+1)}),i.exception=e}}return e.decodeRecords?this.decodeRecords=e.decodeRecords:this.decodeRecords={},this._lastErrorCode=e.exception,this._lastErrorString=e.description,e.textResults}if(e.exception==t.DBR_SUCCESS)return e.data;throw c.BarcodeReaderException(e.exception,e.description)}setModeArgument(e,t,i,r){return a(this,void 0,void 0,(function*(){return yield new Promise((n,o)=>{let s=c._nextTaskID++;c._taskCallbackMap.set(s,e=>{if(e.success){try{this._handleRetJsonString(e.setReturn)}catch(e){return o(e)}return n()}{let t=new Error(e.message);return t.stack=e.stack+"\n"+t.stack,o(t)}}),c._dbrWorker.postMessage({type:"setModeArgument",id:s,instanceID:this._instanceID,body:{modeName:e,index:t,argumentName:i,argumentValue:r}})})}))}getModeArgument(e,t,i){return a(this,void 0,void 0,(function*(){return yield new Promise((r,n)=>{let o=c._nextTaskID++;c._taskCallbackMap.set(o,e=>{if(e.success){let t;try{t=this._handleRetJsonString(e.getReturn)}catch(e){return n(e)}return r(t)}{let t=new Error(e.message);return t.stack=e.stack+"\n"+t.stack,n(t)}}),c._dbrWorker.postMessage({type:"getModeArgument",id:o,instanceID:this._instanceID,body:{modeName:e,index:t,argumentName:i}})})}))}getIntermediateResults(){return a(this,void 0,void 0,(function*(){return yield new Promise((e,t)=>{let i=c._nextTaskID++;c._taskCallbackMap.set(i,i=>{if(i.success)return e(i.results);{let e=new Error(i.message);return e.stack=i.stack+"\n"+e.stack,t(e)}}),c._dbrWorker.postMessage({type:"getIntermediateResults",id:i,instanceID:this._instanceID})})}))}getIntermediateCanvas(){return a(this,void 0,void 0,(function*(){let e=yield this.getIntermediateResults(),t=[];for(let i of e)if(i.dataType==o.IMRDT_IMAGE)for(let e of i.results){const i=e.bytes;let n;switch(c._onLog&&c._onLog(" "+i.length+" "+i.byteLength+" "+e.width+" "+e.height+" "+e.stride+" "+e.format),e.format){case r.IPF_ABGR_8888:n=new Uint8ClampedArray(i);break;case r.IPF_RGB_888:{const e=i.length/3;n=new Uint8ClampedArray(4*e);for(let t=0;t{let i=c._nextTaskID++;c._taskCallbackMap.set(i,i=>{if(i.success)return e();{let e=new Error(i.message);return e.stack=i.stack+"\n"+e.stack,t(e)}}),c._dbrWorker.postMessage({type:"destroy",id:i,instanceID:this._instanceID})})}}c._jsVersion="8.4.0",c._jsEditVersion="20210628",c._version="loading...(JS "+c._jsVersion+"."+c._jsEditVersion+")",c._productKeys=d||_||!document.currentScript?"":document.currentScript.getAttribute("data-productKeys")||document.currentScript.getAttribute("data-licenseKey")||document.currentScript.getAttribute("data-handshakeCode")||"",c._organizationID=d||_||!document.currentScript?"":document.currentScript.getAttribute("data-organizationID")||"",c._sessionPassword=d||_||!document.currentScript?"":document.currentScript.getAttribute("data-sessionPassword")||"",c.browserInfo=function(){if(!d&&!_){var e={init:function(){this.browser=this.searchString(this.dataBrowser)||"unknownBrowser",this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"unknownVersion",this.OS=this.searchString(this.dataOS)||"unknownOS"},searchString:function(e){for(var t=0;t{if(d)return __dirname+"/";if(!_&&document.currentScript){let e=document.currentScript.src,t=e.indexOf("?");if(-1!=t)e=e.substring(0,t);else{let t=e.indexOf("#");-1!=t&&(e=e.substring(0,t))}return e.substring(0,e.lastIndexOf("/")+1)}return"./"})(),c._licenseServer=[],c._deviceFriendlyName="",c._isShowRelDecodeTimeInResults=!1,c._bWasmDebug=!1,c._bNeverShowDialog=!1,c.__bUseFullFeature=d,c._nextTaskID=0,c._taskCallbackMap=new Map,c._loadWasmStatus="unload",c._loadWasmCallbackArr=[],c._lastErrorCode=0,c._lastErrorString="",c._loadWasmErr=null;var h=function(e,t,i,r){return new(i||(i=Promise))((function(n,o){function s(e){try{d(r.next(e))}catch(e){o(e)}}function a(e){try{d(r.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}d((r=r.apply(e,t||[])).next())}))};const u=!!("object"==typeof global&&global.process&&global.process.release&&global.process.release.name&&"undefined"==typeof HTMLCanvasElement);class g extends c{constructor(){super(),this.styleEls=[],this.videoSettings={video:{width:{ideal:1280},height:{ideal:720},facingMode:{ideal:"environment"}}},this._singleFrameMode=!(navigator&&navigator.mediaDevices&&navigator.mediaDevices.getUserMedia),this._singleFrameModeIpt=(()=>{let e=document.createElement("input");return e.setAttribute("type","file"),e.setAttribute("accept","image/*"),e.setAttribute("capture",""),e.addEventListener("change",()=>h(this,void 0,void 0,(function*(){let t=e.files[0];e.value="";let i=yield this.decode(t);for(let e of i)delete e.bUnduplicated;if(this._drawRegionsults(i),this.onFrameRead&&this._isOpen&&!this._bPauseScan&&this.onFrameRead(i),this.onUnduplicatedRead&&this._isOpen&&!this._bPauseScan)for(let e of i)this.onUnduplicatedRead(e.barcodeText,e);yield this.clearMapDecodeRecord()}))),e})(),this._clickIptSingleFrameMode=()=>{this._singleFrameModeIpt.click()},this.intervalTime=0,this._isOpen=!1,this._bPauseScan=!1,this._lastDeviceId=void 0,this._intervalDetectVideoPause=1e3,this._vc_bPlayingVideoBeforeHide=!1,this._ev_documentHideEvent=()=>{"visible"===document.visibilityState?this._vc_bPlayingVideoBeforeHide&&("Firefox"==c.browserInfo.browser?this.play():this._video.play(),this._vc_bPlayingVideoBeforeHide=!1):this._video&&!this._video.paused&&(this._vc_bPlayingVideoBeforeHide=!0,this._video.pause())},this._video=null,this._cvsDrawArea=null,this._divScanArea=null,this._divScanLight=null,this._bgLoading=null,this._bgCamera=null,this._selCam=null,this._selRsl=null,this._optGotRsl=null,this._btnClose=null,this._soundOnSuccessfullRead=new Audio("data:audio/mpeg;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjI5LjEwMAAAAAAAAAAAAAAA/+M4wAAAAAAAAAAAAEluZm8AAAAPAAAABQAAAkAAgICAgICAgICAgICAgICAgICAgKCgoKCgoKCgoKCgoKCgoKCgoKCgwMDAwMDAwMDAwMDAwMDAwMDAwMDg4ODg4ODg4ODg4ODg4ODg4ODg4P//////////////////////////AAAAAExhdmM1OC41NAAAAAAAAAAAAAAAACQEUQAAAAAAAAJAk0uXRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+MYxAANQAbGeUEQAAHZYZ3fASqD4P5TKBgocg+Bw/8+CAYBA4XB9/4EBAEP4nB9+UOf/6gfUCAIKyjgQ/Kf//wfswAAAwQA/+MYxAYOqrbdkZGQAMA7DJLCsQxNOij///////////+tv///3RWiZGBEhsf/FO/+LoCSFs1dFVS/g8f/4Mhv0nhqAieHleLy/+MYxAYOOrbMAY2gABf/////////////////usPJ66R0wI4boY9/8jQYg//g2SPx1M0N3Z0kVJLIs///Uw4aMyvHJJYmPBYG/+MYxAgPMALBucAQAoGgaBoFQVBUFQWDv6gZBUFQVBUGgaBr5YSgqCoKhIGg7+IQVBUFQVBoGga//SsFSoKnf/iVTEFNRTMu/+MYxAYAAANIAAAAADEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV"),this.bPlaySoundOnSuccessfulRead=!1,this.bVibrateOnSuccessfulRead=!1,this.vibrateDuration=300,this._allCameras=[],this._currentCamera=null,this._videoTrack=null,this.regionMaskFillStyle="rgba(0,0,0,0.5)",this.regionMaskStrokeStyle="rgb(254,142,20)",this.regionMaskLineWidth=2,this.barcodeFillStyle="rgba(254,180,32,0.3)",this.barcodeStrokeStyle="rgba(254,180,32,0.9)",this.barcodeLineWidth=1,this.beingLazyDrawRegionsults=!1,this._indexVideoRegion=-1,this._onCameraSelChange=()=>{this.play(this._selCam.value).then(()=>{this._isOpen||this.stop()})},this._onResolutionSelChange=()=>{let e,t;if(this._selRsl&&-1!=this._selRsl.selectedIndex){let i=this._selRsl.options[this._selRsl.selectedIndex];e=i.getAttribute("data-width"),t=i.getAttribute("data-height")}this.play(void 0,e,t).then(()=>{this._isOpen||this.stop()})},this._onCloseBtnClick=()=>{this.hide()},this.iPlayRound=0,this.promisePlay=null}static get defaultUIElementURL(){var e;return null===(e=this._defaultUIElementURL)||void 0===e?void 0:e.replace("@engineResourcePath/",c.engineResourcePath)}static set defaultUIElementURL(e){this._defaultUIElementURL=e}getUIElement(){return this.UIElement}setUIElement(e){return h(this,void 0,void 0,(function*(){if("string"==typeof e||e instanceof String){if(!e.trim().startsWith("<")){let t=yield fetch(e);if(!t.ok)throw Error("setUIElement(elementOrUrl): Network Error: "+t.statusText);e=yield t.text()}if(!e.trim().startsWith("<"))throw Error("setUIElement(elementOrUrl): Can't get valid HTMLElement.");let t=document.createElement("div");t.innerHTML=e;for(let e=0;e{h(this,void 0,void 0,(function*(){let e=yield this.getScanSettings();e.oneDTrustFrameCount=1,yield this.updateScanSettings(e)}))})()}_assertOpen(){if(!this._isOpen)throw Error("The scanner is not open.")}get soundOnSuccessfullRead(){return this._soundOnSuccessfullRead}set soundOnSuccessfullRead(e){e instanceof HTMLAudioElement?this._soundOnSuccessfullRead=e:this._soundOnSuccessfullRead=new Audio(e)}set region(e){this._region=e,this.singleFrameMode||(this.beingLazyDrawRegionsults=!0,setTimeout(()=>{this.beingLazyDrawRegionsults&&this._drawRegionsults()},500))}get region(){return this._region}static createInstance(e){return h(this,void 0,void 0,(function*(){if(u)throw new Error("`BarcodeScanner` is not supported in Node.js.");let t=new g;t._instanceID=yield g.createInstanceInWorker(!0),("string"==typeof e||e instanceof String)&&(e=JSON.parse(e));for(let i in e)t[i]=e[i];return yield t.setUIElement(this.defaultUIElementURL),t.singleFrameMode&&console.warn("The `navigator.mediaDevices.getUserMedia` is unavailable. automatically change to `singleFrameMode`."),t.singleFrameMode||(yield t.updateRuntimeSettings("single")),document.addEventListener("visibilitychange",t._ev_documentHideEvent),t}))}decode(e){return super.decode(e)}decodeBase64String(e){return super.decodeBase64String(e)}decodeUrl(e){return super.decodeUrl(e)}decodeBuffer(e,t,i,r,n,o){return super.decodeBuffer(e,t,i,r,n,o)}decodeCurrentFrame(e){return h(this,void 0,void 0,(function*(){return this._assertOpen(),this._decode_Video(this._video,e)}))}clearMapDecodeRecord(){return h(this,void 0,void 0,(function*(){return yield new Promise((e,t)=>{let i=c._nextTaskID++;c._taskCallbackMap.set(i,i=>{if(i.success)return e();{let e=new Error(i.message);return e.stack=i.stack+"\n"+e.stack,t(e)}}),c._dbrWorker.postMessage({type:"clearMapDecodeRecord",id:i,instanceID:this._instanceID})})}))}static isRegionSinglePreset(e){return JSON.stringify(e)==JSON.stringify(this.singlePresetRegion)}static isRegionNormalPreset(e){return 0==e.regionLeft&&0==e.regionTop&&0==e.regionRight&&0==e.regionBottom&&0==e.regionMeasuredByPercentage}updateRuntimeSettings(e){return h(this,void 0,void 0,(function*(){let t;if("string"==typeof e||"object"==typeof e&&e instanceof String)if("speed"==e){let e=yield this.getRuntimeSettings();yield this.resetRuntimeSettings(),t=yield this.getRuntimeSettings(),t.barcodeFormatIds=e.barcodeFormatIds,t.barcodeFormatIds_2=e.barcodeFormatIds_2,g.isRegionSinglePreset(e.region)||(t.region=e.region)}else if("balance"==e){let e=yield this.getRuntimeSettings();yield this.resetRuntimeSettings(),t=yield this.getRuntimeSettings(),t.barcodeFormatIds=e.barcodeFormatIds,t.barcodeFormatIds_2=e.barcodeFormatIds_2,g.isRegionSinglePreset(e.region)||(t.region=e.region),t.deblurLevel=3,t.expectedBarcodesCount=512,t.localizationModes=[2,16,0,0,0,0,0,0],t.timeout=1e5}else if("coverage"==e){let e=yield this.getRuntimeSettings();yield this.resetRuntimeSettings(),t=yield this.getRuntimeSettings(),t.barcodeFormatIds=e.barcodeFormatIds,t.barcodeFormatIds_2=e.barcodeFormatIds_2,g.isRegionSinglePreset(e.region)||(t.region=e.region),t.deblurLevel=5,t.expectedBarcodesCount=512,t.scaleDownThreshold=1e5,t.localizationModes=[2,16,4,8,0,0,0,0],t.timeout=1e5}else if("single"==e){let e=yield this.getRuntimeSettings();yield this.resetRuntimeSettings(),t=yield this.getRuntimeSettings(),t.barcodeFormatIds=e.barcodeFormatIds,t.barcodeFormatIds_2=e.barcodeFormatIds_2,g.isRegionNormalPreset(e.region)?t.region=JSON.parse(JSON.stringify(g.singlePresetRegion)):t.region=e.region,t.expectedBarcodesCount=1,t.localizationModes=[16,2,0,0,0,0,0,0],t.barcodeZoneMinDistanceToImageBorders=0}else t=JSON.parse(e);else{if("object"!=typeof e)throw TypeError("'UpdateRuntimeSettings(settings)': Type of 'settings' should be 'String' or 'PlainObject'.");if(t=JSON.parse(JSON.stringify(e)),t.region instanceof Array){let i=e.region;[i.regionLeft,i.regionTop,i.regionLeft,i.regionBottom,i.regionMeasuredByPercentage].some(e=>void 0!==e)&&(t.region={regionLeft:i.regionLeft||0,regionTop:i.regionTop||0,regionRight:i.regionRight||0,regionBottom:i.regionBottom||0,regionMeasuredByPercentage:i.regionMeasuredByPercentage||0})}}if(!c._bUseFullFeature){if(0!=(t.barcodeFormatIds&~(s.BF_ONED|s.BF_QR_CODE|s.BF_PDF417|s.BF_DATAMATRIX))||0!=t.barcodeFormatIds_2)throw Error("Some of the specified barcode formats are not supported in the compact version. Please try the full-featured version.");if(0!=t.intermediateResultTypes)throw Error("Intermediate results is not supported in the compact version. Please try the full-featured version.")}{let e=t.region;if(this.bFilterRegionInJs?this.userDefinedRegion=JSON.parse(JSON.stringify(e)):this.userDefinedRegion=null,e instanceof Array)if(e.length){for(let t=0;t{let r=c._nextTaskID++;c._taskCallbackMap.set(r,t=>{if(t.success){try{this._handleRetJsonString(t.updateReturn)}catch(e){i(e)}return e()}{let e=new Error(t.message);return e.stack=t.stack+"\n"+e.stack,i(e)}}),c._dbrWorker.postMessage({type:"updateRuntimeSettings",id:r,instanceID:this._instanceID,body:{settings:JSON.stringify(t)}})}),"single"==e&&(yield this.setModeArgument("BinarizationModes",0,"EnableFillBinaryVacancy","0"),yield this.setModeArgument("LocalizationModes",0,"ScanDirection","2"),yield this.setModeArgument("BinarizationModes",0,"BlockSizeX","71"),yield this.setModeArgument("BinarizationModes",0,"BlockSizeY","71"))}))}_bindUI(){if(!this.UIElement)throw new Error("Need to define `UIElement` before opening.");let e=[this.UIElement],t=this.UIElement.children;for(let i of t)e.push(i);for(let t=0;t','','',''].join(""),this._optGotRsl=this._optGotRsl||this._selRsl.options[0])):!this._optGotRsl&&t.classList.contains("dbrScanner-opt-gotResolution")?this._optGotRsl=t:!this._btnClose&&t.classList.contains("dbrScanner-btn-close")?this._btnClose=t:!this._video&&t.classList.contains("dbrScanner-existingVideo")?(this._video=t,this._video.setAttribute("playsinline","true"),this.singleFrameMode=!1):!i&&t.tagName&&"video"==t.tagName.toLowerCase()&&(i=t);if(!this._video&&i&&(this._video=i),this.singleFrameMode?(this._video&&(this._video.addEventListener("click",this._clickIptSingleFrameMode),this._video.style.cursor="pointer",this._video.setAttribute("title","Take a photo")),this._cvsDrawArea&&(this._cvsDrawArea.addEventListener("click",this._clickIptSingleFrameMode),this._cvsDrawArea.style.cursor="pointer",this._cvsDrawArea.setAttribute("title","Take a photo")),this._divScanArea&&(this._divScanArea.addEventListener("click",this._clickIptSingleFrameMode),this._divScanArea.style.cursor="pointer",this._divScanArea.setAttribute("title","Take a photo")),this._bgCamera&&(this._bgCamera.style.display="")):this._bgLoading&&(this._bgLoading.style.display=""),this._selCam&&this._selCam.addEventListener("change",this._onCameraSelChange),this._selRsl&&this._selRsl.addEventListener("change",this._onResolutionSelChange),this._btnClose&&this._btnClose.addEventListener("click",this._onCloseBtnClick),!this._video)throw this._unbindUI(),Error("Can not find HTMLVideoElement with class `dbrScanner-video`.");this._isOpen=!0}_unbindUI(){this._clearRegionsults(),this.singleFrameMode?(this._video&&(this._video.removeEventListener("click",this._clickIptSingleFrameMode),this._video.style.cursor="",this._video.removeAttribute("title")),this._cvsDrawArea&&(this._cvsDrawArea.removeEventListener("click",this._clickIptSingleFrameMode),this._cvsDrawArea.style.cursor="",this._cvsDrawArea.removeAttribute("title")),this._divScanArea&&(this._divScanArea.removeEventListener("click",this._clickIptSingleFrameMode),this._divScanArea.style.cursor="",this._divScanArea.removeAttribute("title")),this._bgCamera&&(this._bgCamera.style.display="none")):this._bgLoading&&(this._bgLoading.style.display="none"),this._selCam&&this._selCam.removeEventListener("change",this._onCameraSelChange),this._selRsl&&this._selRsl.removeEventListener("change",this._onResolutionSelChange),this._btnClose&&this._btnClose.removeEventListener("click",this._onCloseBtnClick),this._video=null,this._cvsDrawArea=null,this._divScanArea=null,this._divScanLight=null,this._selCam=null,this._selRsl=null,this._optGotRsl=null,this._btnClose=null,this._isOpen=!1}_renderSelCameraInfo(){if(this._selCam&&(this._selCam.innerHTML=""),this._selCam){let e;for(let t of this._allCameras){let i=document.createElement("option");i.value=t.deviceId,i.innerText=t.label,this._selCam.append(i),t.deviceId&&this._currentCamera&&this._currentCamera.deviceId==t.deviceId&&(e=i)}this._selCam.value=e?e.value:""}}getAllCameras(){return h(this,void 0,void 0,(function*(){const e=yield navigator.mediaDevices.enumerateDevices(),t=[];let i=0;for(let r=0;r{let i=c._nextTaskID++;c._taskCallbackMap.set(i,i=>{if(i.success){let t=i.results;return t.intervalTime=this.intervalTime,e(t)}{let e=new Error(i.message);return e.stack+="\n"+i.stack,t(e)}}),c._dbrWorker.postMessage({type:"getScanSettings",id:i,instanceID:this._instanceID})})}))}updateScanSettings(e){return h(this,void 0,void 0,(function*(){return this.intervalTime=e.intervalTime,yield new Promise((t,i)=>{let r=c._nextTaskID++;c._taskCallbackMap.set(r,e=>{if(e.success)return t();{let t=new Error(e.message);return t.stack+="\n"+e.stack,i(t)}}),g._dbrWorker.postMessage({type:"updateScanSettings",id:r,instanceID:this._instanceID,body:{settings:e}})})}))}getVideoSettings(){return JSON.parse(JSON.stringify(this.videoSettings))}updateVideoSettings(e){return this.videoSettings=JSON.parse(JSON.stringify(e)),this._lastDeviceId=null,this._isOpen?this.play():Promise.resolve()}isOpen(){return this._isOpen}_show(){this.UIElement.parentNode||(this.UIElement.style.position="fixed",this.UIElement.style.left="0",this.UIElement.style.top="0",document.body.append(this.UIElement)),"none"==this.UIElement.style.display&&(this.UIElement.style.display="")}stop(){this._video&&this._video.srcObject&&(c._onLog&&c._onLog("======stop video========"),this._video.srcObject.getTracks().forEach(e=>{e.stop()}),this._video.srcObject=null,this._videoTrack=null),this._video&&this._video.classList.contains("dbrScanner-existingVideo")&&(c._onLog&&c._onLog("======stop existing video========"),this._video.pause(),this._video.currentTime=0),this._bgLoading&&(this._bgLoading.style.animationPlayState=""),this._divScanLight&&(this._divScanLight.style.display="none"),this._drawRegionsults()}pause(){this._video&&this._video.pause(),this._divScanLight&&(this._divScanLight.style.display="none")}play(e,t,i){return h(this,void 0,void 0,(function*(){if(this._assertOpen(),this.singleFrameMode)return this._clickIptSingleFrameMode(),{width:0,height:0};if(this._video&&this._video.classList.contains("dbrScanner-existingVideo")){yield this._video.play();let e={width:this._video.videoWidth,height:this._video.videoHeight};return this.onPlayed&&setTimeout(()=>{this.onPlayed(e)},0),e}const r=++this.iPlayRound;return this.promisePlay&&(yield this.promisePlay,rh(this,void 0,void 0,(function*(){try{this._video&&this._video.srcObject&&this.stop(),c._onLog&&c._onLog("======before video========"),"Android"==c.browserInfo.OS&&(yield this.getAllCameras());let r=()=>{if(this.bDestroyed)throw new Error("The BarcodeScanner instance has been destroyed.")};const n=JSON.parse(JSON.stringify(this.videoSettings));let o,s;if("boolean"==typeof n.video&&(n.video={}),t&&(n.video.width={ideal:t}),i&&(n.video.height={ideal:i}),e)delete n.video.facingMode,n.video.deviceId={exact:e},this._lastDeviceId=e;else if(n.video.deviceId);else if(this._lastDeviceId)delete n.video.facingMode,n.video.deviceId={exact:this._lastDeviceId};else if(n.video.facingMode){let e=n.video.facingMode;if(e instanceof Array&&e.length&&(e=e[0]),e=e.exact||e.ideal||e,"environment"===e){for(let e of this._allCameras){let t=e.label.toLowerCase();if(t&&-1!=t.indexOf("facing back")&&/camera[0-9]?\s0,/.test(t)){delete n.video.facingMode,n.video.deviceId={ideal:e.deviceId};break}}o=!!n.video.facingMode}}c._onLog&&c._onLog("======try getUserMedia========"),c._onLog&&c._onLog("ask "+JSON.stringify(n.video.width)+"x"+JSON.stringify(n.video.height)),c._onLog&&c._onLog(n);let a,d=[0,500],_=null,l=e=>h(this,void 0,void 0,(function*(){for(let t of d){r(),t&&(yield new Promise(e=>setTimeout(e,t))),r();try{s=yield navigator.mediaDevices.getUserMedia(e);break}catch(e){_=e,c._onLog&&c._onLog(e.message||e)}}}));if(yield l(n),!s){if(c._onLog&&c._onLog("======try getUserMedia again========"),a=JSON.parse(JSON.stringify(n)),"object"==typeof a.video){"iPhone"==c.browserInfo.OS?(t>=1280||i>=1280?a.video.width=1280:t>=640||i>=640?a.video.width=640:(t<640||i<640)&&(a.video.width=320),delete a.video.height):o?(delete a.video.facingMode,this._allCameras.length&&(a.video.deviceId={ideal:this._allCameras[this._allCameras.length-1].deviceId})):a.video=!0}c._onLog&&c._onLog(a),yield l(a)}if(s||(d=[1e3,2e3],yield l(n)),s||(yield l(a)),!s)throw _;if(this.bDestroyed)throw s.getTracks().forEach(e=>{e.stop()}),new Error("The BarcodeScanner instance has been destroyed.");{const e=s.getVideoTracks();e.length&&(this._videoTrack=e[0])}c._onLog&&c._onLog("======play video========"),yield new Promise((e,t)=>{this._video.srcObject=s,this._video.onloadedmetadata=()=>h(this,void 0,void 0,(function*(){this._video.onloadedmetadata=null,yield this._video.play(),e()})),setTimeout(()=>t(new Error("Failed to play video. Timeout.")),4e3)}),c._onLog&&c._onLog("======played video========"),this._bgLoading&&(this._bgLoading.style.animationPlayState="paused");const u="got "+this._video.videoWidth+"x"+this._video.videoHeight;this._optGotRsl&&(this._optGotRsl.setAttribute("data-width",this._video.videoWidth),this._optGotRsl.setAttribute("data-height",this._video.videoHeight),this._optGotRsl.innerText=u,this._selRsl&&this._optGotRsl.parentNode==this._selRsl&&(this._selRsl.value="got")),c._onLog&&c._onLog(u),yield this.getAllCameras(),yield this.getCurrentCamera(),this._renderSelCameraInfo();let g={width:this._video.videoWidth,height:this._video.videoHeight};return this.onPlayed&&setTimeout(()=>{this.onPlayed(g)},0),this.promisePlay=null,g}catch(e){throw this.promisePlay=null,e}})))(),yield this.promisePlay)}))}pauseScan(){this._assertOpen(),this._bPauseScan=!0,this._divScanLight&&(this._divScanLight.style.display="none")}resumeScan(){this._assertOpen(),this._bPauseScan=!1}getCapabilities(){return this._assertOpen(),this._videoTrack.getCapabilities?this._videoTrack.getCapabilities():{}}getCameraSettings(){return this._assertOpen(),this._videoTrack.getSettings()}getConstraints(){return this._assertOpen(),this._videoTrack.getConstraints()}applyConstraints(e){return h(this,void 0,void 0,(function*(){if(this._assertOpen(),!this._videoTrack.applyConstraints)throw Error("Not supported.");return yield this._videoTrack.applyConstraints(e)}))}turnOnTorch(){return h(this,void 0,void 0,(function*(){if(this._assertOpen(),this.getCapabilities().torch)return yield this._videoTrack.applyConstraints({advanced:[{torch:!0}]});throw Error("Not supported.")}))}turnOffTorch(){return h(this,void 0,void 0,(function*(){if(this._assertOpen(),this.getCapabilities().torch)return yield this._videoTrack.applyConstraints({advanced:[{torch:!1}]});throw Error("Not supported.")}))}setColorTemperature(e){return h(this,void 0,void 0,(function*(){this._assertOpen();let t=this.getCapabilities().colorTemperature;if(!t)throw Error("Not supported.");return et.max&&(e=t.max),yield this._videoTrack.applyConstraints({advanced:[{colorTemperature:e}]})}))}setExposureCompensation(e){return h(this,void 0,void 0,(function*(){this._assertOpen();let t=this.getCapabilities().exposureCompensation;if(!t)throw Error("Not supported.");return et.max&&(e=t.max),yield this._videoTrack.applyConstraints({advanced:[{exposureCompensation:e}]})}))}setZoom(e){return h(this,void 0,void 0,(function*(){this._assertOpen();let t=this.getCapabilities().zoom;if(!t)throw Error("Not supported.");return et.max&&(e=t.max),yield this._videoTrack.applyConstraints({advanced:[{zoom:e}]})}))}setFrameRate(e){return h(this,void 0,void 0,(function*(){this._assertOpen();let t=this.getCapabilities().frameRate;if(!t)throw Error("Not supported.");return et.max&&(e=t.max),yield this._videoTrack.applyConstraints({width:{ideal:Math.max(this._video.videoWidth,this._video.videoHeight)},frameRate:e})}))}_cloneDecodeResults(e){if(e instanceof Array){let t=[];for(let i of e)t.push(this._cloneDecodeResults(i));return t}{let t=e;return JSON.parse(JSON.stringify(t,(e,t)=>"oriVideoCanvas"==e||"searchRegionCanvas"==e?void 0:t))}}_loopReadVideo(){return h(this,void 0,void 0,(function*(){if(this.bDestroyed)return;if(!this._isOpen)return void(yield this.clearMapDecodeRecord());if(this._video.paused||this._bPauseScan)return c._onLog&&c._onLog("Video or scan is paused. Ask in 1s."),yield this.clearMapDecodeRecord(),void setTimeout(()=>{this._loopReadVideo()},this._intervalDetectVideoPause);this._divScanLight&&"none"==this._divScanLight.style.display&&(this._divScanLight.style.display=""),c._onLog&&c._onLog("======= once read ======="),c._onLog&&(this._timeStartDecode=Date.now());const e={};if(this.region)if(this.region instanceof Array){++this._indexVideoRegion>=this.region.length&&(this._indexVideoRegion=0);let t=this.region[this._indexVideoRegion];t&&(e.region=JSON.parse(JSON.stringify(t)))}else e.region=JSON.parse(JSON.stringify(this.region));this.decodeCurrentFrame(e).then(e=>{if(c._onLog&&c._onLog(e),this._isOpen&&!this._video.paused&&!this._bPauseScan){if(this.bPlaySoundOnSuccessfulRead&&e.length){let t=!1;if(!0===this.bPlaySoundOnSuccessfulRead||"frame"===this.bPlaySoundOnSuccessfulRead)t=!0;else if("unduplicated"===this.bPlaySoundOnSuccessfulRead)for(let i of e)if(i.bUnduplicated){t=!0;break}t&&(this.soundOnSuccessfullRead.currentTime=0,this.soundOnSuccessfullRead.play().catch(e=>{console.warn("Autoplay not allowed. User interaction required: "+(e.message||e))}))}if(navigator.vibrate&&this.bVibrateOnSuccessfulRead&&e.length){let t=!1;if(!0===this.bVibrateOnSuccessfulRead||"frame"===this.bVibrateOnSuccessfulRead)t=!0;else if("unduplicated"===this.bVibrateOnSuccessfulRead)for(let i of e)if(i.bUnduplicated){t=!0;break}if(t)try{navigator.vibrate(this.vibrateDuration)}catch(e){console.warn("Vibration not allowed. User interaction required: "+(e.message||e))}}if(this.onFrameRead){let t=this._cloneDecodeResults(e);for(let e of t)delete e.bUnduplicated;this.onFrameRead(t)}if(this.onUnduplicatedRead)for(let t of e)t.bUnduplicated&&this.onUnduplicatedRead(t.barcodeText,this._cloneDecodeResults(t));this._drawRegionsults(e)}setTimeout(()=>{this._loopReadVideo()},this.intervalTime)}).catch(e=>{c._onLog&&c._onLog(e.message||e),setTimeout(()=>{this._loopReadVideo()},Math.max(this.intervalTime,1e3)),"platform error"==e.message||console.warn(e.message)})}))}_drawRegionsults(e){let t,i,r;if(this.beingLazyDrawRegionsults=!1,this.singleFrameMode){if(!this.oriCanvas)return;t="contain",i=this.oriCanvas.width,r=this.oriCanvas.height}else{if(!this._video)return;t=this._video.style.objectFit||"contain",i=this._video.videoWidth,r=this._video.videoHeight}let n=this.region;if(n&&(!n.regionLeft&&!n.regionRight&&!n.regionTop&&!n.regionBottom&&!n.regionMeasuredByPercentage||n instanceof Array?n=null:n.regionMeasuredByPercentage?n=n.regionLeft||n.regionRight||100!==n.regionTop||100!==n.regionBottom?{regionLeft:Math.round(n.regionLeft/100*i),regionTop:Math.round(n.regionTop/100*r),regionRight:Math.round(n.regionRight/100*i),regionBottom:Math.round(n.regionBottom/100*r)}:null:(n=JSON.parse(JSON.stringify(n)),delete n.regionMeasuredByPercentage)),this._cvsDrawArea){this._cvsDrawArea.style.objectFit=t;let o=this._cvsDrawArea;o.width=i,o.height=r;let s=o.getContext("2d");if(n){s.fillStyle=this.regionMaskFillStyle,s.fillRect(0,0,o.width,o.height),s.globalCompositeOperation="destination-out",s.fillStyle="#000";let e=Math.round(this.regionMaskLineWidth/2);s.fillRect(n.regionLeft-e,n.regionTop-e,n.regionRight-n.regionLeft+2*e,n.regionBottom-n.regionTop+2*e),s.globalCompositeOperation="source-over",s.strokeStyle=this.regionMaskStrokeStyle,s.lineWidth=this.regionMaskLineWidth,s.rect(n.regionLeft,n.regionTop,n.regionRight-n.regionLeft,n.regionBottom-n.regionTop),s.stroke()}if(e){s.globalCompositeOperation="destination-over",s.fillStyle=this.barcodeFillStyle,s.strokeStyle=this.barcodeStrokeStyle,s.lineWidth=this.barcodeLineWidth,e=e||[];for(let t of e){let e=t.localizationResult;s.beginPath(),s.moveTo(e.x1,e.y1),s.lineTo(e.x2,e.y2),s.lineTo(e.x3,e.y3),s.lineTo(e.x4,e.y4),s.fill(),s.beginPath(),s.moveTo(e.x1,e.y1),s.lineTo(e.x2,e.y2),s.lineTo(e.x3,e.y3),s.lineTo(e.x4,e.y4),s.closePath(),s.stroke()}}this.singleFrameMode&&(s.globalCompositeOperation="destination-over",s.drawImage(this.oriCanvas,0,0))}if(this._divScanArea){let e=this._video.offsetWidth,t=this._video.offsetHeight,o=1;e/tsuper.destroy}});return h(this,void 0,void 0,(function*(){document.removeEventListener("visibilitychange",this._ev_documentHideEvent),yield this.close();for(let e of this.styleEls)e.remove();this.styleEls.splice(0,this.styleEls.length),this.bDestroyed||(yield e.destroy.call(this))}))}}var E,R,I,f,A,m,S,D,T,v,p,M,C,y,L,O,b,N,B,P,F,w,U,k,V,G,x;g._defaultUIElementURL="@engineResourcePath/dbr.scanner.html",g.singlePresetRegion=[null,{regionLeft:0,regionTop:30,regionRight:100,regionBottom:70,regionMeasuredByPercentage:1},{regionLeft:25,regionTop:25,regionRight:75,regionBottom:75,regionMeasuredByPercentage:1},{regionLeft:25,regionTop:25,regionRight:75,regionBottom:75,regionMeasuredByPercentage:1}],function(e){e[e.BICM_DARK_ON_LIGHT=1]="BICM_DARK_ON_LIGHT",e[e.BICM_LIGHT_ON_DARK=2]="BICM_LIGHT_ON_DARK",e[e.BICM_DARK_ON_DARK=4]="BICM_DARK_ON_DARK",e[e.BICM_LIGHT_ON_LIGHT=8]="BICM_LIGHT_ON_LIGHT",e[e.BICM_DARK_LIGHT_MIXED=16]="BICM_DARK_LIGHT_MIXED",e[e.BICM_DARK_ON_LIGHT_DARK_SURROUNDING=32]="BICM_DARK_ON_LIGHT_DARK_SURROUNDING",e[e.BICM_SKIP=0]="BICM_SKIP",e[e.BICM_REV=2147483648]="BICM_REV"}(E||(E={})),function(e){e[e.BCM_AUTO=1]="BCM_AUTO",e[e.BCM_GENERAL=2]="BCM_GENERAL",e[e.BCM_SKIP=0]="BCM_SKIP",e[e.BCM_REV=2147483648]="BCM_REV"}(R||(R={})),function(e){e[e.BF2_NULL=0]="BF2_NULL",e[e.BF2_POSTALCODE=32505856]="BF2_POSTALCODE",e[e.BF2_NONSTANDARD_BARCODE=1]="BF2_NONSTANDARD_BARCODE",e[e.BF2_USPSINTELLIGENTMAIL=1048576]="BF2_USPSINTELLIGENTMAIL",e[e.BF2_POSTNET=2097152]="BF2_POSTNET",e[e.BF2_PLANET=4194304]="BF2_PLANET",e[e.BF2_AUSTRALIANPOST=8388608]="BF2_AUSTRALIANPOST",e[e.BF2_RM4SCC=16777216]="BF2_RM4SCC",e[e.BF2_DOTCODE=2]="BF2_DOTCODE"}(I||(I={})),function(e){e[e.BM_AUTO=1]="BM_AUTO",e[e.BM_LOCAL_BLOCK=2]="BM_LOCAL_BLOCK",e[e.BM_SKIP=0]="BM_SKIP",e[e.BM_THRESHOLD=4]="BM_THRESHOLD",e[e.BM_REV=2147483648]="BM_REV"}(f||(f={})),function(e){e[e.ECCM_CONTRAST=1]="ECCM_CONTRAST"}(A||(A={})),function(e){e[e.CFM_GENERAL=1]="CFM_GENERAL"}(m||(m={})),function(e){e[e.CCM_AUTO=1]="CCM_AUTO",e[e.CCM_GENERAL_HSV=2]="CCM_GENERAL_HSV",e[e.CCM_SKIP=0]="CCM_SKIP",e[e.CCM_REV=2147483648]="CCM_REV"}(S||(S={})),function(e){e[e.CICM_GENERAL=1]="CICM_GENERAL",e[e.CICM_SKIP=0]="CICM_SKIP",e[e.CICM_REV=2147483648]="CICM_REV"}(D||(D={})),function(e){e[e.CM_IGNORE=1]="CM_IGNORE",e[e.CM_OVERWRITE=2]="CM_OVERWRITE"}(T||(T={})),function(e){e[e.DM_SKIP=0]="DM_SKIP",e[e.DM_DIRECT_BINARIZATION=1]="DM_DIRECT_BINARIZATION",e[e.DM_THRESHOLD_BINARIZATION=2]="DM_THRESHOLD_BINARIZATION",e[e.DM_GRAY_EQUALIZATION=4]="DM_GRAY_EQUALIZATION",e[e.DM_SMOOTHING=8]="DM_SMOOTHING",e[e.DM_MORPHING=16]="DM_MORPHING",e[e.DM_DEEP_ANALYSIS=32]="DM_DEEP_ANALYSIS",e[e.DM_SHARPENING=64]="DM_SHARPENING"}(v||(v={})),function(e){e[e.DRM_AUTO=1]="DRM_AUTO",e[e.DRM_GENERAL=2]="DRM_GENERAL",e[e.DRM_SKIP=0]="DRM_SKIP",e[e.DRM_REV=2147483648]="DRM_REV"}(p||(p={})),function(e){e[e.DPMCRM_AUTO=1]="DPMCRM_AUTO",e[e.DPMCRM_GENERAL=2]="DPMCRM_GENERAL",e[e.DPMCRM_SKIP=0]="DPMCRM_SKIP",e[e.DPMCRM_REV=2147483648]="DPMCRM_REV"}(M||(M={})),function(e){e[e.GTM_INVERTED=1]="GTM_INVERTED",e[e.GTM_ORIGINAL=2]="GTM_ORIGINAL",e[e.GTM_SKIP=0]="GTM_SKIP",e[e.GTM_REV=2147483648]="GTM_REV"}(C||(C={})),function(e){e[e.IPM_AUTO=1]="IPM_AUTO",e[e.IPM_GENERAL=2]="IPM_GENERAL",e[e.IPM_GRAY_EQUALIZE=4]="IPM_GRAY_EQUALIZE",e[e.IPM_GRAY_SMOOTH=8]="IPM_GRAY_SMOOTH",e[e.IPM_SHARPEN_SMOOTH=16]="IPM_SHARPEN_SMOOTH",e[e.IPM_MORPHOLOGY=32]="IPM_MORPHOLOGY",e[e.IPM_SKIP=0]="IPM_SKIP",e[e.IPM_REV=2147483648]="IPM_REV"}(y||(y={})),function(e){e[e.IRSM_MEMORY=1]="IRSM_MEMORY",e[e.IRSM_FILESYSTEM=2]="IRSM_FILESYSTEM",e[e.IRSM_BOTH=4]="IRSM_BOTH"}(L||(L={})),function(e){e[e.IRT_NO_RESULT=0]="IRT_NO_RESULT",e[e.IRT_ORIGINAL_IMAGE=1]="IRT_ORIGINAL_IMAGE",e[e.IRT_COLOUR_CLUSTERED_IMAGE=2]="IRT_COLOUR_CLUSTERED_IMAGE",e[e.IRT_COLOUR_CONVERTED_GRAYSCALE_IMAGE=4]="IRT_COLOUR_CONVERTED_GRAYSCALE_IMAGE",e[e.IRT_TRANSFORMED_GRAYSCALE_IMAGE=8]="IRT_TRANSFORMED_GRAYSCALE_IMAGE",e[e.IRT_PREDETECTED_REGION=16]="IRT_PREDETECTED_REGION",e[e.IRT_PREPROCESSED_IMAGE=32]="IRT_PREPROCESSED_IMAGE",e[e.IRT_BINARIZED_IMAGE=64]="IRT_BINARIZED_IMAGE",e[e.IRT_TEXT_ZONE=128]="IRT_TEXT_ZONE",e[e.IRT_CONTOUR=256]="IRT_CONTOUR",e[e.IRT_LINE_SEGMENT=512]="IRT_LINE_SEGMENT",e[e.IRT_FORM=1024]="IRT_FORM",e[e.IRT_SEGMENTATION_BLOCK=2048]="IRT_SEGMENTATION_BLOCK",e[e.IRT_TYPED_BARCODE_ZONE=4096]="IRT_TYPED_BARCODE_ZONE",e[e.IRT_PREDETECTED_QUADRILATERAL=8192]="IRT_PREDETECTED_QUADRILATERAL"}(O||(O={})),function(e){e[e.LM_SKIP=0]="LM_SKIP",e[e.LM_AUTO=1]="LM_AUTO",e[e.LM_CONNECTED_BLOCKS=2]="LM_CONNECTED_BLOCKS",e[e.LM_LINES=8]="LM_LINES",e[e.LM_STATISTICS=4]="LM_STATISTICS",e[e.LM_SCAN_DIRECTLY=16]="LM_SCAN_DIRECTLY",e[e.LM_STATISTICS_MARKS=32]="LM_STATISTICS_MARKS",e[e.LM_STATISTICS_POSTAL_CODE=64]="LM_STATISTICS_POSTAL_CODE",e[e.LM_CENTRE=128]="LM_CENTRE",e[e.LM_REV=2147483648]="LM_REV"}(b||(b={})),function(e){e[e.PDFRM_RASTER=1]="PDFRM_RASTER",e[e.PDFRM_AUTO=2]="PDFRM_AUTO",e[e.PDFRM_VECTOR=4]="PDFRM_VECTOR",e[e.PDFRM_REV=2147483648]="PDFRM_REV"}(N||(N={})),function(e){e[e.QRECL_ERROR_CORRECTION_H=0]="QRECL_ERROR_CORRECTION_H",e[e.QRECL_ERROR_CORRECTION_L=1]="QRECL_ERROR_CORRECTION_L",e[e.QRECL_ERROR_CORRECTION_M=2]="QRECL_ERROR_CORRECTION_M",e[e.QRECL_ERROR_CORRECTION_Q=3]="QRECL_ERROR_CORRECTION_Q"}(B||(B={})),function(e){e[e.RPM_AUTO=1]="RPM_AUTO",e[e.RPM_GENERAL=2]="RPM_GENERAL",e[e.RPM_GENERAL_RGB_CONTRAST=4]="RPM_GENERAL_RGB_CONTRAST",e[e.RPM_GENERAL_GRAY_CONTRAST=8]="RPM_GENERAL_GRAY_CONTRAST",e[e.RPM_GENERAL_HSV_CONTRAST=16]="RPM_GENERAL_HSV_CONTRAST",e[e.RPM_SKIP=0]="RPM_SKIP",e[e.RPM_REV=2147483648]="RPM_REV"}(P||(P={})),function(e){e[e.RCT_PIXEL=1]="RCT_PIXEL",e[e.RCT_PERCENTAGE=2]="RCT_PERCENTAGE"}(F||(F={})),function(e){e[e.RT_STANDARD_TEXT=0]="RT_STANDARD_TEXT",e[e.RT_RAW_TEXT=1]="RT_RAW_TEXT",e[e.RT_CANDIDATE_TEXT=2]="RT_CANDIDATE_TEXT",e[e.RT_PARTIAL_TEXT=3]="RT_PARTIAL_TEXT"}(w||(w={})),function(e){e[e.SUM_AUTO=1]="SUM_AUTO",e[e.SUM_LINEAR_INTERPOLATION=2]="SUM_LINEAR_INTERPOLATION",e[e.SUM_NEAREST_NEIGHBOUR_INTERPOLATION=4]="SUM_NEAREST_NEIGHBOUR_INTERPOLATION",e[e.SUM_SKIP=0]="SUM_SKIP",e[e.SUM_REV=2147483648]="SUM_REV"}(U||(U={})),function(e){e[e.TP_REGION_PREDETECTED=1]="TP_REGION_PREDETECTED",e[e.TP_IMAGE_PREPROCESSED=2]="TP_IMAGE_PREPROCESSED",e[e.TP_IMAGE_BINARIZED=4]="TP_IMAGE_BINARIZED",e[e.TP_BARCODE_LOCALIZED=8]="TP_BARCODE_LOCALIZED",e[e.TP_BARCODE_TYPE_DETERMINED=16]="TP_BARCODE_TYPE_DETERMINED",e[e.TP_BARCODE_RECOGNIZED=32]="TP_BARCODE_RECOGNIZED"}(k||(k={})),function(e){e[e.TFM_AUTO=1]="TFM_AUTO",e[e.TFM_GENERAL_CONTOUR=2]="TFM_GENERAL_CONTOUR",e[e.TFM_SKIP=0]="TFM_SKIP",e[e.TFM_REV=2147483648]="TFM_REV"}(V||(V={})),function(e){e[e.TROM_CONFIDENCE=1]="TROM_CONFIDENCE",e[e.TROM_POSITION=2]="TROM_POSITION",e[e.TROM_FORMAT=4]="TROM_FORMAT",e[e.TROM_SKIP=0]="TROM_SKIP",e[e.TROM_REV=2147483648]="TROM_REV"}(G||(G={})),function(e){e[e.TDM_AUTO=1]="TDM_AUTO",e[e.TDM_GENERAL_WIDTH_CONCENTRATION=2]="TDM_GENERAL_WIDTH_CONCENTRATION",e[e.TDM_SKIP=0]="TDM_SKIP",e[e.TDM_REV=2147483648]="TDM_REV"}(x||(x={}));class W{static get version(){return c.version}static get productKeys(){return c.productKeys}static set productKeys(e){c.productKeys=e}static get handshakeCode(){return c.handshakeCode}static set handshakeCode(e){c.handshakeCode=e}static get organizationID(){return c.organizationID}static set organizationID(e){c.organizationID=e}static get sessionPassword(){return c.sessionPassword}static set sessionPassword(e){c.sessionPassword=e}static get browserInfo(){return c.browserInfo}static detectEnvironment(){return c.detectEnvironment()}static get _workerName(){return c._workerName}static set _workerName(e){c._workerName=e}static get engineResourcePath(){return c.engineResourcePath}static set engineResourcePath(e){c.engineResourcePath=e}static get licenseServer(){return c.licenseServer}static set licenseServer(e){c.licenseServer=e}static get deviceFriendlyName(){return c.deviceFriendlyName}static set deviceFriendlyName(e){c.deviceFriendlyName=e}static get _onLog(){return c._onLog}static set _onLog(e){c._onLog=e}static get _bWasmDebug(){return c._bWasmDebug}static set _bWasmDebug(e){c._bWasmDebug=e}static get _bUseFullFeature(){return c._bUseFullFeature}static set _bUseFullFeature(e){c._bUseFullFeature=e}static get _dbrWorker(){return c._dbrWorker}static isLoaded(){return c.isLoaded()}static loadWasm(){return c.loadWasm()}}W.BarcodeReader=c,W.BarcodeScanner=g,W.EnumBarcodeColourMode=E,W.EnumBarcodeComplementMode=R,W.EnumBarcodeFormat=s,W.EnumBarcodeFormat_2=I,W.EnumBinarizationMode=f,W.EnumClarityCalculationMethod=A,W.EnumClarityFilterMode=m,W.EnumColourClusteringMode=S,W.EnumColourConversionMode=D,W.EnumConflictMode=T,W.EnumDeblurMode=v,W.EnumDeformationResistingMode=p,W.EnumDPMCodeReadingMode=M,W.EnumErrorCode=n,W.EnumGrayscaleTransformationMode=C,W.EnumImagePixelFormat=r,W.EnumImagePreprocessingMode=y,W.EnumIMResultDataType=o,W.EnumIntermediateResultSavingMode=L,W.EnumIntermediateResultType=O,W.EnumLocalizationMode=b,W.EnumPDFReadingMode=N,W.EnumQRCodeErrorCorrectionLevel=B,W.EnumRegionPredetectionMode=P,W.EnumResultCoordinateType=F,W.EnumResultType=w,W.EnumScaleUpMode=U,W.EnumTerminatePhase=k,W.EnumTextFilterMode=V,W.EnumTextResultOrderMode=G,W.EnumTextureDetectionMode=x;t.default=W}])}));if(typeof dbr!="undefined"){if(dbr.DBR)dbr=dbr.DBR;if(typeof Dynamsoft=="undefined"){Dynamsoft={};}if(typeof Dynamsoft.DBR=="undefined"){Dynamsoft.DBR=dbr;}else{let _dbr = Dynamsoft.DBR;Dynamsoft.DBR=dbr;for(let key in _dbr){Dynamsoft.DBR[key]=Dynamsoft.DBR[key]||_dbr[key];}}} \ No newline at end of file diff --git a/dist/dbr.mjs b/dist/dbr.mjs new file mode 100644 index 00000000..e0abf2bb --- /dev/null +++ b/dist/dbr.mjs @@ -0,0 +1,11 @@ +/** +* Dynamsoft JavaScript Library +* @product Dynamsoft Barcode Reader JS Edition +* @website http://www.dynamsoft.com +* @preserve Copyright 2021, Dynamsoft Corporation +* @author Dynamsoft +* @version 8.4.0 (js 20210628) +* @fileoverview Dynamsoft JavaScript Library for Barcode Reader +* More info on DBR JS: https://www.dynamsoft.com/Products/barcode-recognition-javascript.aspx +*/ +import worker_threads from "worker_threads";import https from "https";import http from "http";import fs from "fs";import os from "os";import url from "url";!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(worker_threads,https,http,fs,os):"function"==typeof define&&define.amd?define(t):"object"==typeof exports?exports.dbr=t(worker_threads,https,http,fs,os):e.dbr=t(e.worker_threads,e.https,e.http,e.fs,e.os)}(("object"==typeof window?window:global),(function(e,t,i,r,n){return function(e){var t={};function i(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=e,i.c=t,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(r,n,function(t){return e[t]}.bind(null,n));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=5)}([function(t,i){t.exports=e},function(e,i){e.exports=t},function(e,t){e.exports=i},function(e,t){e.exports=r},function(e,t){e.exports=n},function(e,t,i){"use strict";var r,n,o,s;i.r(t),i.d(t,"DBR",(function(){return W})),i.d(t,"BarcodeReader",(function(){return c})),i.d(t,"BarcodeScanner",(function(){return g})),i.d(t,"EnumBarcodeColourMode",(function(){return E})),i.d(t,"EnumBarcodeComplementMode",(function(){return R})),i.d(t,"EnumBarcodeFormat",(function(){return s})),i.d(t,"EnumBarcodeFormat_2",(function(){return I})),i.d(t,"EnumBinarizationMode",(function(){return f})),i.d(t,"EnumClarityCalculationMethod",(function(){return A})),i.d(t,"EnumClarityFilterMode",(function(){return m})),i.d(t,"EnumColourClusteringMode",(function(){return S})),i.d(t,"EnumColourConversionMode",(function(){return D})),i.d(t,"EnumConflictMode",(function(){return T})),i.d(t,"EnumDeblurMode",(function(){return v})),i.d(t,"EnumDeformationResistingMode",(function(){return p})),i.d(t,"EnumDPMCodeReadingMode",(function(){return M})),i.d(t,"EnumErrorCode",(function(){return n})),i.d(t,"EnumGrayscaleTransformationMode",(function(){return C})),i.d(t,"EnumImagePixelFormat",(function(){return r})),i.d(t,"EnumImagePreprocessingMode",(function(){return y})),i.d(t,"EnumIMResultDataType",(function(){return o})),i.d(t,"EnumIntermediateResultSavingMode",(function(){return L})),i.d(t,"EnumIntermediateResultType",(function(){return O})),i.d(t,"EnumLocalizationMode",(function(){return b})),i.d(t,"EnumPDFReadingMode",(function(){return N})),i.d(t,"EnumQRCodeErrorCorrectionLevel",(function(){return B})),i.d(t,"EnumRegionPredetectionMode",(function(){return P})),i.d(t,"EnumResultCoordinateType",(function(){return F})),i.d(t,"EnumResultType",(function(){return w})),i.d(t,"EnumScaleUpMode",(function(){return U})),i.d(t,"EnumTerminatePhase",(function(){return k})),i.d(t,"EnumTextFilterMode",(function(){return V})),i.d(t,"EnumTextResultOrderMode",(function(){return G})),i.d(t,"EnumTextureDetectionMode",(function(){return x})),function(e){e[e.IPF_Binary=0]="IPF_Binary",e[e.IPF_BinaryInverted=1]="IPF_BinaryInverted",e[e.IPF_GrayScaled=2]="IPF_GrayScaled",e[e.IPF_NV21=3]="IPF_NV21",e[e.IPF_RGB_565=4]="IPF_RGB_565",e[e.IPF_RGB_555=5]="IPF_RGB_555",e[e.IPF_RGB_888=6]="IPF_RGB_888",e[e.IPF_ARGB_8888=7]="IPF_ARGB_8888",e[e.IPF_RGB_161616=8]="IPF_RGB_161616",e[e.IPF_ARGB_16161616=9]="IPF_ARGB_16161616",e[e.IPF_ABGR_8888=10]="IPF_ABGR_8888",e[e.IPF_ABGR_16161616=11]="IPF_ABGR_16161616",e[e.IPF_BGR_888=12]="IPF_BGR_888"}(r||(r={})),function(e){e[e.DBR_SYSTEM_EXCEPTION=1]="DBR_SYSTEM_EXCEPTION",e[e.DBR_SUCCESS=0]="DBR_SUCCESS",e[e.DBR_UNKNOWN=-1e4]="DBR_UNKNOWN",e[e.DBR_NO_MEMORY=-10001]="DBR_NO_MEMORY",e[e.DBR_NULL_REFERENCE=-10002]="DBR_NULL_REFERENCE",e[e.DBR_LICENSE_INVALID=-10003]="DBR_LICENSE_INVALID",e[e.DBR_LICENSE_EXPIRED=-10004]="DBR_LICENSE_EXPIRED",e[e.DBR_FILE_NOT_FOUND=-10005]="DBR_FILE_NOT_FOUND",e[e.DBR_FILETYPE_NOT_SUPPORTED=-10006]="DBR_FILETYPE_NOT_SUPPORTED",e[e.DBR_BPP_NOT_SUPPORTED=-10007]="DBR_BPP_NOT_SUPPORTED",e[e.DBR_INDEX_INVALID=-10008]="DBR_INDEX_INVALID",e[e.DBR_BARCODE_FORMAT_INVALID=-10009]="DBR_BARCODE_FORMAT_INVALID",e[e.DBR_CUSTOM_REGION_INVALID=-10010]="DBR_CUSTOM_REGION_INVALID",e[e.DBR_MAX_BARCODE_NUMBER_INVALID=-10011]="DBR_MAX_BARCODE_NUMBER_INVALID",e[e.DBR_IMAGE_READ_FAILED=-10012]="DBR_IMAGE_READ_FAILED",e[e.DBR_TIFF_READ_FAILED=-10013]="DBR_TIFF_READ_FAILED",e[e.DBR_QR_LICENSE_INVALID=-10016]="DBR_QR_LICENSE_INVALID",e[e.DBR_1D_LICENSE_INVALID=-10017]="DBR_1D_LICENSE_INVALID",e[e.DBR_DIB_BUFFER_INVALID=-10018]="DBR_DIB_BUFFER_INVALID",e[e.DBR_PDF417_LICENSE_INVALID=-10019]="DBR_PDF417_LICENSE_INVALID",e[e.DBR_DATAMATRIX_LICENSE_INVALID=-10020]="DBR_DATAMATRIX_LICENSE_INVALID",e[e.DBR_PDF_READ_FAILED=-10021]="DBR_PDF_READ_FAILED",e[e.DBR_PDF_DLL_MISSING=-10022]="DBR_PDF_DLL_MISSING",e[e.DBR_PAGE_NUMBER_INVALID=-10023]="DBR_PAGE_NUMBER_INVALID",e[e.DBR_CUSTOM_SIZE_INVALID=-10024]="DBR_CUSTOM_SIZE_INVALID",e[e.DBR_CUSTOM_MODULESIZE_INVALID=-10025]="DBR_CUSTOM_MODULESIZE_INVALID",e[e.DBR_RECOGNITION_TIMEOUT=-10026]="DBR_RECOGNITION_TIMEOUT",e[e.DBR_JSON_PARSE_FAILED=-10030]="DBR_JSON_PARSE_FAILED",e[e.DBR_JSON_TYPE_INVALID=-10031]="DBR_JSON_TYPE_INVALID",e[e.DBR_JSON_KEY_INVALID=-10032]="DBR_JSON_KEY_INVALID",e[e.DBR_JSON_VALUE_INVALID=-10033]="DBR_JSON_VALUE_INVALID",e[e.DBR_JSON_NAME_KEY_MISSING=-10034]="DBR_JSON_NAME_KEY_MISSING",e[e.DBR_JSON_NAME_VALUE_DUPLICATED=-10035]="DBR_JSON_NAME_VALUE_DUPLICATED",e[e.DBR_TEMPLATE_NAME_INVALID=-10036]="DBR_TEMPLATE_NAME_INVALID",e[e.DBR_JSON_NAME_REFERENCE_INVALID=-10037]="DBR_JSON_NAME_REFERENCE_INVALID",e[e.DBR_PARAMETER_VALUE_INVALID=-10038]="DBR_PARAMETER_VALUE_INVALID",e[e.DBR_DOMAIN_NOT_MATCHED=-10039]="DBR_DOMAIN_NOT_MATCHED",e[e.DBR_RESERVEDINFO_NOT_MATCHED=-10040]="DBR_RESERVEDINFO_NOT_MATCHED",e[e.DBR_AZTEC_LICENSE_INVALID=-10041]="DBR_AZTEC_LICENSE_INVALID",e[e.DBR_LICENSE_DLL_MISSING=-10042]="DBR_LICENSE_DLL_MISSING",e[e.DBR_LICENSEKEY_NOT_MATCHED=-10043]="DBR_LICENSEKEY_NOT_MATCHED",e[e.DBR_REQUESTED_FAILED=-10044]="DBR_REQUESTED_FAILED",e[e.DBR_LICENSE_INIT_FAILED=-10045]="DBR_LICENSE_INIT_FAILED",e[e.DBR_PATCHCODE_LICENSE_INVALID=-10046]="DBR_PATCHCODE_LICENSE_INVALID",e[e.DBR_POSTALCODE_LICENSE_INVALID=-10047]="DBR_POSTALCODE_LICENSE_INVALID",e[e.DBR_DPM_LICENSE_INVALID=-10048]="DBR_DPM_LICENSE_INVALID",e[e.DBR_FRAME_DECODING_THREAD_EXISTS=-10049]="DBR_FRAME_DECODING_THREAD_EXISTS",e[e.DBR_STOP_DECODING_THREAD_FAILED=-10050]="DBR_STOP_DECODING_THREAD_FAILED",e[e.DBR_SET_MODE_ARGUMENT_ERROR=-10051]="DBR_SET_MODE_ARGUMENT_ERROR",e[e.DBR_LICENSE_CONTENT_INVALID=-10052]="DBR_LICENSE_CONTENT_INVALID",e[e.DBR_LICENSE_KEY_INVALID=-10053]="DBR_LICENSE_KEY_INVALID",e[e.DBR_LICENSE_DEVICE_RUNS_OUT=-10054]="DBR_LICENSE_DEVICE_RUNS_OUT",e[e.DBR_GET_MODE_ARGUMENT_ERROR=-10055]="DBR_GET_MODE_ARGUMENT_ERROR",e[e.DBR_IRT_LICENSE_INVALID=-10056]="DBR_IRT_LICENSE_INVALID",e[e.DBR_MAXICODE_LICENSE_INVALID=-10057]="DBR_MAXICODE_LICENSE_INVALID",e[e.DBR_GS1_DATABAR_LICENSE_INVALID=-10058]="DBR_GS1_DATABAR_LICENSE_INVALID",e[e.DBR_GS1_COMPOSITE_LICENSE_INVALID=-10059]="DBR_GS1_COMPOSITE_LICENSE_INVALID",e[e.DBR_DOTCODE_LICENSE_INVALID=-10061]="DBR_DOTCODE_LICENSE_INVALID",e[e.DMERR_NO_LICENSE=-2e4]="DMERR_NO_LICENSE",e[e.DMERR_LICENSE_SYNC_FAILED=-20003]="DMERR_LICENSE_SYNC_FAILED",e[e.DMERR_TRIAL_LICENSE=-20010]="DMERR_TRIAL_LICENSE",e[e.DMERR_FAILED_TO_REACH_LTS=-20200]="DMERR_FAILED_TO_REACH_LTS"}(n||(n={})),function(e){e[e.IMRDT_IMAGE=1]="IMRDT_IMAGE",e[e.IMRDT_CONTOUR=2]="IMRDT_CONTOUR",e[e.IMRDT_LINESEGMENT=4]="IMRDT_LINESEGMENT",e[e.IMRDT_LOCALIZATIONRESULT=8]="IMRDT_LOCALIZATIONRESULT",e[e.IMRDT_REGIONOFINTEREST=16]="IMRDT_REGIONOFINTEREST",e[e.IMRDT_QUADRILATERAL=32]="IMRDT_QUADRILATERAL"}(o||(o={})),function(e){e[e.BF_ALL=-31457281]="BF_ALL",e[e.BF_ONED=1050623]="BF_ONED",e[e.BF_GS1_DATABAR=260096]="BF_GS1_DATABAR",e[e.BF_CODE_39=1]="BF_CODE_39",e[e.BF_CODE_128=2]="BF_CODE_128",e[e.BF_CODE_93=4]="BF_CODE_93",e[e.BF_CODABAR=8]="BF_CODABAR",e[e.BF_ITF=16]="BF_ITF",e[e.BF_EAN_13=32]="BF_EAN_13",e[e.BF_EAN_8=64]="BF_EAN_8",e[e.BF_UPC_A=128]="BF_UPC_A",e[e.BF_UPC_E=256]="BF_UPC_E",e[e.BF_INDUSTRIAL_25=512]="BF_INDUSTRIAL_25",e[e.BF_CODE_39_EXTENDED=1024]="BF_CODE_39_EXTENDED",e[e.BF_GS1_DATABAR_OMNIDIRECTIONAL=2048]="BF_GS1_DATABAR_OMNIDIRECTIONAL",e[e.BF_GS1_DATABAR_TRUNCATED=4096]="BF_GS1_DATABAR_TRUNCATED",e[e.BF_GS1_DATABAR_STACKED=8192]="BF_GS1_DATABAR_STACKED",e[e.BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL=16384]="BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL",e[e.BF_GS1_DATABAR_EXPANDED=32768]="BF_GS1_DATABAR_EXPANDED",e[e.BF_GS1_DATABAR_EXPANDED_STACKED=65536]="BF_GS1_DATABAR_EXPANDED_STACKED",e[e.BF_GS1_DATABAR_LIMITED=131072]="BF_GS1_DATABAR_LIMITED",e[e.BF_PATCHCODE=262144]="BF_PATCHCODE",e[e.BF_PDF417=33554432]="BF_PDF417",e[e.BF_QR_CODE=67108864]="BF_QR_CODE",e[e.BF_DATAMATRIX=134217728]="BF_DATAMATRIX",e[e.BF_AZTEC=268435456]="BF_AZTEC",e[e.BF_MAXICODE=536870912]="BF_MAXICODE",e[e.BF_MICRO_QR=1073741824]="BF_MICRO_QR",e[e.BF_MICRO_PDF417=524288]="BF_MICRO_PDF417",e[e.BF_GS1_COMPOSITE=-2147483648]="BF_GS1_COMPOSITE",e[e.BF_MSI_CODE=1048576]="BF_MSI_CODE",e[e.BF_NULL=0]="BF_NULL"}(s||(s={}));var a=function(e,t,i,r){return new(i||(i=Promise))((function(n,o){function s(e){try{d(r.next(e))}catch(e){o(e)}}function a(e){try{d(r.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}d((r=r.apply(e,t||[])).next())}))};const d=!0,_=!d&&"undefined"==typeof self,l=d?global:_?{}:self;class c{constructor(){this._canvasMaxWH="iPhone"==c.browserInfo.OS||"Android"==c.browserInfo.OS?2048:4096,this._instanceID=void 0,this.bSaveOriCanvas=!1,this.oriCanvas=null,this.maxVideoCvsLength=3,this.videoCvses=[],this.videoGlCvs=null,this.videoGl=null,this.glImgData=null,this.bFilterRegionInJs=!0,this._region=null,this._timeStartDecode=null,this._timeEnterInnerDBR=null,this._bUseWebgl=!0,this.decodeRecords={},this.bDestroyed=!1,this._setWarnnedEx=new Set,this._lastErrorCode=0,this._lastErrorString="",this._lastInnerDecodeDuration=0}static get version(){return this._version}static get productKeys(){return this._productKeys}static set productKeys(e){if("unload"!=this._loadWasmStatus)throw new Error("`productKeys` is not allowed to change after loadWasm is called.");c._productKeys=e}static get handshakeCode(){return this._productKeys}static set handshakeCode(e){if("unload"!=this._loadWasmStatus)throw new Error("`handshakeCode` is not allowed to change after loadWasm is called.");c._productKeys=e}static get organizationID(){return this._organizationID}static set organizationID(e){if("unload"!=this._loadWasmStatus)throw new Error("`organizationID` is not allowed to change after loadWasm is called.");"number"==typeof e&&(e=e.toString()),c._organizationID=e}static set sessionPassword(e){if("unload"!=this._loadWasmStatus)throw new Error("`sessionPassword` is not allowed to change after loadWasm is called.");c._sessionPassword=e}static get sessionPassword(){return this._sessionPassword}static detectEnvironment(){return a(this,void 0,void 0,(function*(){let e={wasm:"undefined"!=typeof WebAssembly&&("undefined"==typeof navigator||!(/Safari/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&/\(.+\s11_2_([2-6]).*\)/.test(navigator.userAgent))),worker:!!(d?process.version>="v12":"undefined"!=typeof Worker),getUserMedia:!("undefined"==typeof navigator||!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia),camera:!1,browser:this.browserInfo.browser,version:this.browserInfo.version,OS:this.browserInfo.OS};if(e.getUserMedia)try{(yield navigator.mediaDevices.getUserMedia({video:!0})).getTracks().forEach(e=>{e.stop()}),e.camera=!0}catch(e){}return e}))}static get engineResourcePath(){return this._engineResourcePath}static set engineResourcePath(e){if("unload"!=this._loadWasmStatus)throw new Error("`engineResourcePath` is not allowed to change after loadWasm is called.");if(null==e&&(e="./"),d||_)c._engineResourcePath=e;else{let t=document.createElement("a");t.href=e,c._engineResourcePath=t.href}this._engineResourcePath.endsWith("/")||(c._engineResourcePath+="/")}static get licenseServer(){return this._licenseServer}static set licenseServer(e){if("unload"!=this._loadWasmStatus)throw new Error("`licenseServer` is not allowed to change after loadWasm is called.");if(null==e)c._licenseServer=[];else{e instanceof Array||(e=[e]);for(let t=0;t= v12.");let e,t=this.productKeys,r=(0==t.length||t.startsWith("P")||t.startsWith("L"))&&0==this.organizationID.length,o=r||t.length>=8&&!t.startsWith("t")&&!t.startsWith("f")&&!t.startsWith("P")&&!t.startsWith("L")||0==t.length&&0!=this.organizationID.length;if(o&&(d?process.version<"v15"&&(e="To use handshake requires nodejs version >= v15."):(l.crypto||(e="Please upgrade your browser to support handshake code."),l.crypto.subtle||(e="Require https to use handshake code in this browser."))),e){if(!r)throw new Error(e);r=!1,o=!1,console.warn(e),this._lastErrorCode=n.DMERR_FAILED_TO_REACH_LTS,this._lastErrorString=e}return r&&(t="",console.warn("Automatically apply for a public trial license.")),yield new Promise((e,n)=>a(this,void 0,void 0,(function*(){switch(this._loadWasmStatus){case"unload":{c._loadWasmStatus="loading";let e=this.engineResourcePath+this._workerName;if(d||this.engineResourcePath.startsWith(location.origin)||(e=yield fetch(e).then(e=>e.blob()).then(e=>URL.createObjectURL(e))),d){const t=i(0);c._dbrWorker=new t.Worker(e)}else c._dbrWorker=new Worker(e);this._dbrWorker.onerror=e=>{c._loadWasmStatus="loadFail";let t=new Error(e.message);this._loadWasmErr=t;for(let e of this._loadWasmCallbackArr)e(t);this._loadWasmCallbackArr=[]},this._dbrWorker.onmessage=e=>a(this,void 0,void 0,(function*(){let t=e.data?e.data:e;switch(t.type){case"log":this._onLog&&this._onLog(t.message);break;case"load":{t.message&&(t.message=t.message.replace("(https://www.dynamsoft.com/purchase-center/)","(https://www.dynamsoft.com/store/dynamsoft-barcode-reader/#javascript)"));let e=!1;if(r&&(e=!0),t.success){c._loadWasmStatus="loadSuccess",c._version=t.version+"(JS "+this._jsVersion+"."+this._jsEditVersion+")",this._onLog&&this._onLog("load dbr worker success");for(let e of this._loadWasmCallbackArr)e();this._loadWasmCallbackArr=[],this._dbrWorker.onerror=null,t.message&&console.warn(t.message)}else{let i=new Error(t.message);i.stack=t.stack+"\n"+i.stack,c._loadWasmStatus="loadFail",this._loadWasmErr=i;for(let e of this._loadWasmCallbackArr)e(i);this._loadWasmCallbackArr=[],e||111==t.ltsErrorCode&&-1!=t.message.toLowerCase().indexOf("trial license")&&(e=!0)}e&&this.showDialog(t.success?"warn":"error",t.message);break}case"task":{let e=t.id,i=t.body;try{this._taskCallbackMap.get(e)(i),this._taskCallbackMap.delete(e)}catch(t){throw this._taskCallbackMap.delete(e),t}break}default:this._onLog&&this._onLog(e)}})),d&&this._dbrWorker.on("message",this._dbrWorker.onmessage),this._dbrWorker.postMessage({type:"loadWasm",bd:this._bWasmDebug,engineResourcePath:this.engineResourcePath,version:this._jsVersion,brtk:o,bptk:r,pk:t,og:this.organizationID,dm:!d&&location.origin.startsWith("http")?location.origin:"https://localhost",bUseFullFeature:this._bUseFullFeature,browserInfo:this.browserInfo,deviceFriendlyName:this.deviceFriendlyName,ls:this.licenseServer,sp:this._sessionPassword,lm:this._limitModules,cw:this._chargeWay})}case"loading":this._loadWasmCallbackArr.push(t=>{t?n(t):e()});break;case"loadSuccess":e();break;case"loadFail":n(this._loadWasmErr)}})))}))}static showDialog(e,t){return a(this,void 0,void 0,(function*(){if(!d&&!this._bNeverShowDialog)try{let i=yield fetch(c.engineResourcePath+"lts.license.dialog.html");if(!i.ok)throw Error("Get license dialog fail. Network Error: "+i.statusText);let r=yield i.text();if(!r.trim().startsWith("<"))throw Error("Get license dialog fail. Can't get valid HTMLElement.");let n=document.createElement("div");n.innerHTML=r;let o=[];for(let e=0;e{if(i==e.target){s.remove();for(let e of o)e.remove()}});else if(!d&&i.classList.contains("lts-license-icon-close"))d=i,i.addEventListener("click",()=>{s.remove();for(let e of o)e.remove()});else if(!_&&i.classList.contains("lts-license-icon-error"))_=i,"error"!=e&&i.remove();else if(!l&&i.classList.contains("lts-license-icon-warn"))l=i,"warn"!=e&&i.remove();else if(!h&&i.classList.contains("lts-license-msg-content")){h=i;let e=t;for(;e;){let t=e.indexOf("["),r=e.indexOf("]",t),n=e.indexOf("(",r),o=e.indexOf(")",n);if(-1==t||-1==r||-1==n||-1==o){i.appendChild(new Text(e));break}t>0&&i.appendChild(new Text(e.substring(0,t)));let s=document.createElement("a"),a=e.substring(t+1,r);s.innerText=a;let d=e.substring(n+1,o);s.setAttribute("href",d),s.setAttribute("target","_blank"),i.appendChild(s),e=e.substring(o+1)}}document.body.appendChild(s)}catch(e){c._onLog&&c._onLog(e.message||e)}}))}static createInstanceInWorker(e=!1){return a(this,void 0,void 0,(function*(){return yield this.loadWasm(),yield new Promise((t,i)=>{let r=c._nextTaskID++;this._taskCallbackMap.set(r,e=>{if(e.success)return t(e.instanceID);{let t=new Error(e.message);return t.stack=e.stack+"\n"+t.stack,i(t)}}),this._dbrWorker.postMessage({type:"createInstance",id:r,productKeys:"",bScanner:e})})}))}static createInstance(){return a(this,void 0,void 0,(function*(){let e=new c;return e._instanceID=yield this.createInstanceInWorker(),e}))}decode(e){return a(this,void 0,void 0,(function*(){if(c._onLog&&c._onLog("decode(source: any)"),c._onLog&&(this._timeStartDecode=Date.now()),d)return e instanceof Buffer?yield this._decodeFileInMemory_Uint8Array(new Uint8Array(e)):e instanceof Uint8Array?yield this._decodeFileInMemory_Uint8Array(e):"string"==typeof e||e instanceof String?"data:image/"==e.substring(0,11)?yield this._decode_Base64(e):"http"==e.substring(0,4)?yield this._decode_Url(e):yield this._decode_FilePath(e):yield Promise.reject(TypeError("'_decode(source, config)': Type of 'source' should be 'Buffer', 'Uint8Array', 'String(base64 with image mime)' or 'String(url)'."));{let t={};return!this.region||this.region instanceof Array||(t.region=JSON.parse(JSON.stringify(this.region))),e instanceof Blob?yield this._decode_Blob(e,t):e instanceof ArrayBuffer?yield this._decode_ArrayBuffer(e,t):e instanceof Uint8Array||e instanceof Uint8ClampedArray?yield this._decode_Uint8Array(e,t):e instanceof HTMLImageElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?yield this._decode_Image(e,t):e instanceof HTMLCanvasElement||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas?yield this._decode_Canvas(e,t):e instanceof HTMLVideoElement?yield this._decode_Video(e,t):"string"==typeof e||e instanceof String?"data:image/"==e.substring(0,11)?yield this._decode_Base64(e,t):yield this._decode_Url(e,t):yield Promise.reject(TypeError("'_decode(source, config)': Type of 'source' should be 'Blob', 'ArrayBuffer', 'Uint8Array', 'HTMLImageElement', 'HTMLCanvasElement', 'HTMLVideoElement', 'String(base64 with image mime)' or 'String(url)'."))}}))}decodeBase64String(e){return a(this,void 0,void 0,(function*(){let t={};return!this.region||this.region instanceof Array||(t.region=JSON.parse(JSON.stringify(this.region))),this._decode_Base64(e,t)}))}decodeUrl(e){return a(this,void 0,void 0,(function*(){let t={};return!this.region||this.region instanceof Array||(t.region=JSON.parse(JSON.stringify(this.region))),this._decode_Url(e,t)}))}_decodeBuffer_Uint8Array(e,t,i,r,n,o){return a(this,void 0,void 0,(function*(){return yield new Promise((s,a)=>{let d=c._nextTaskID++;c._taskCallbackMap.set(d,e=>{if(e.success){let t,i=c._onLog?Date.now():0;this.bufferShared&&!this.bufferShared.length&&(this.bufferShared=e.buffer),this._lastInnerDecodeDuration=e.duration;try{t=this._handleRetJsonString(e.decodeReturn)}catch(e){return a(e)}if(c._onLog){let e=Date.now();c._onLog("DBR time get result: "+i),c._onLog("Handle image cost: "+(this._timeEnterInnerDBR-this._timeStartDecode)),c._onLog("DBR worker decode image cost: "+(i-this._timeEnterInnerDBR)),c._onLog("DBR worker handle results: "+(e-i)),c._onLog("Total decode image cost: "+(e-this._timeStartDecode))}return s(t)}{let t=new Error(e.message);return t.stack=e.stack+"\n"+t.stack,a(t)}}),c._onLog&&(this._timeEnterInnerDBR=Date.now()),c._onLog&&c._onLog("Send buffer to worker:"+Date.now()),c._dbrWorker.postMessage({type:"decodeBuffer",id:d,instanceID:this._instanceID,body:{buffer:e,width:t,height:i,stride:r,format:n,config:o}},[e.buffer])})}))}_decodeBuffer_Blob(e,t,i,r,n,o){return a(this,void 0,void 0,(function*(){return c._onLog&&c._onLog("_decodeBuffer_Blob(buffer,width,height,stride,format)"),yield new Promise((t,i)=>{let r=new FileReader;r.readAsArrayBuffer(e),r.onload=()=>{t(r.result)},r.onerror=()=>{i(r.error)}}).then(e=>this._decodeBuffer_Uint8Array(new Uint8Array(e),t,i,r,n,o))}))}decodeBuffer(e,t,i,r,n,o){return a(this,void 0,void 0,(function*(){let s;return c._onLog&&c._onLog("decodeBuffer(buffer,width,height,stride,format)"),c._onLog&&(this._timeStartDecode=Date.now()),d?e instanceof Uint8Array?s=yield this._decodeBuffer_Uint8Array(e,t,i,r,n,o):e instanceof Buffer&&(s=yield this._decodeBuffer_Uint8Array(new Uint8Array(e),t,i,r,n,o)):e instanceof Uint8Array||e instanceof Uint8ClampedArray?s=yield this._decodeBuffer_Uint8Array(e,t,i,r,n,o):e instanceof ArrayBuffer?s=yield this._decodeBuffer_Uint8Array(new Uint8Array(e),t,i,r,n,o):e instanceof Blob&&(s=yield this._decodeBuffer_Blob(e,t,i,r,n,o)),s}))}_decodeFileInMemory_Uint8Array(e){return a(this,void 0,void 0,(function*(){return yield new Promise((t,i)=>{let r=c._nextTaskID++;c._taskCallbackMap.set(r,e=>{if(e.success){let r;this._lastInnerDecodeDuration=e.duration;try{r=this._handleRetJsonString(e.decodeReturn)}catch(e){return i(e)}return t(r)}{let t=new Error(e.message);return t.stack=e.stack+"\n"+t.stack,i(t)}}),c._dbrWorker.postMessage({type:"decodeFileInMemory",id:r,instanceID:this._instanceID,body:{bytes:e}})})}))}getRuntimeSettings(){return a(this,void 0,void 0,(function*(){return yield new Promise((e,t)=>{let i=c._nextTaskID++;c._taskCallbackMap.set(i,i=>{if(i.success){let t=JSON.parse(i.results);return null!=this.userDefinedRegion&&(t.region=JSON.parse(JSON.stringify(this.userDefinedRegion))),e(t)}{let e=new Error(i.message);return e.stack=i.stack+"\n"+e.stack,t(e)}}),c._dbrWorker.postMessage({type:"getRuntimeSettings",id:i,instanceID:this._instanceID})})}))}updateRuntimeSettings(e){return a(this,void 0,void 0,(function*(){let t;if("string"==typeof e||"object"==typeof e&&e instanceof String)if("speed"==e){let e=yield this.getRuntimeSettings();yield this.resetRuntimeSettings(),t=yield this.getRuntimeSettings(),t.barcodeFormatIds=e.barcodeFormatIds,t.barcodeFormatIds_2=e.barcodeFormatIds_2,t.region=e.region,t.deblurLevel=3,t.expectedBarcodesCount=0,t.localizationModes=[2,0,0,0,0,0,0,0]}else if("balance"==e){let e=yield this.getRuntimeSettings();yield this.resetRuntimeSettings(),t=yield this.getRuntimeSettings(),t.barcodeFormatIds=e.barcodeFormatIds,t.barcodeFormatIds_2=e.barcodeFormatIds_2,t.region=e.region,t.deblurLevel=5,t.expectedBarcodesCount=512,t.localizationModes=[2,16,0,0,0,0,0,0]}else if("coverage"==e){let e=yield this.getRuntimeSettings();yield this.resetRuntimeSettings(),t=yield this.getRuntimeSettings(),t.barcodeFormatIds=e.barcodeFormatIds,t.barcodeFormatIds_2=e.barcodeFormatIds_2,t.region=e.region}else t=JSON.parse(e);else{if("object"!=typeof e)throw TypeError("'UpdateRuntimeSettings(settings)': Type of 'settings' should be 'String' or 'PlainObject'.");if(t=JSON.parse(JSON.stringify(e)),t.region instanceof Array){let e=t.region;[e.regionLeft,e.regionTop,e.regionLeft,e.regionBottom,e.regionMeasuredByPercentage].some(e=>void 0!==e)&&(t.region={regionLeft:e.regionLeft||0,regionTop:e.regionTop||0,regionRight:e.regionRight||0,regionBottom:e.regionBottom||0,regionMeasuredByPercentage:e.regionMeasuredByPercentage||0})}}if(!c._bUseFullFeature){if(0!=(t.barcodeFormatIds&~(s.BF_ONED|s.BF_QR_CODE|s.BF_PDF417|s.BF_DATAMATRIX))||0!=t.barcodeFormatIds_2)throw Error("Some of the specified barcode formats are not supported in the compact version. Please try the full-featured version.");if(0!=t.intermediateResultTypes)throw Error("Intermediate results is not supported in the compact version. Please try the full-featured version.")}if(!d)if(this.bFilterRegionInJs){let e=t.region;if(e instanceof Array)throw Error("The `region` of type `Array` is only allowed in `BarcodeScanner`.");this.userDefinedRegion=JSON.parse(JSON.stringify(e)),(e.regionLeft||e.regionTop||e.regionRight||e.regionBottom||e.regionMeasuredByPercentage)&&(e.regionLeft||e.regionTop||100!=e.regionRight||100!=e.regionBottom||!e.regionMeasuredByPercentage)?this.region=e:this.region=null,t.region={regionLeft:0,regionTop:0,regionRight:0,regionBottom:0,regionMeasuredByPercentage:0}}else this.userDefinedRegion=null,this.region=null;return yield new Promise((e,i)=>{let r=c._nextTaskID++;c._taskCallbackMap.set(r,t=>{if(t.success){try{this._handleRetJsonString(t.updateReturn)}catch(e){i(e)}return e()}{let e=new Error(t.message);return e.stack=t.stack+"\n"+e.stack,i(e)}}),c._dbrWorker.postMessage({type:"updateRuntimeSettings",id:r,instanceID:this._instanceID,body:{settings:JSON.stringify(t)}})})}))}resetRuntimeSettings(){return a(this,void 0,void 0,(function*(){return this.userDefinedRegion=null,this.region=null,yield new Promise((e,t)=>{let i=c._nextTaskID++;c._taskCallbackMap.set(i,i=>{if(i.success)return e();{let e=new Error(i.message);return e.stack=i.stack+"\n"+e.stack,t(e)}}),c._dbrWorker.postMessage({type:"resetRuntimeSettings",id:i,instanceID:this._instanceID})})}))}outputSettingsToString(){return a(this,void 0,void 0,(function*(){if(!c._bUseFullFeature)throw Error("outputSettingsToString() is not supported in the compact version. Please try the full-featured version.");return yield new Promise((e,t)=>{let i=c._nextTaskID++;c._taskCallbackMap.set(i,i=>{if(i.success)return e(i.results);{let e=new Error(i.message);return e.stack=i.stack+"\n"+e.stack,t(e)}}),c._dbrWorker.postMessage({type:"outputSettingsToString",id:i,instanceID:this._instanceID})})}))}initRuntimeSettingsWithString(e){return a(this,void 0,void 0,(function*(){if(!c._bUseFullFeature)throw Error("initRuntimeSettingsWithString() is not supported in the compact version. Please try the full-featured version.");if("string"==typeof e||"object"==typeof e&&e instanceof String)e=e;else{if("object"!=typeof e)throw TypeError("'initRuntimeSettingstWithString(settings)': Type of 'settings' should be 'String' or 'PlainObject'.");e=JSON.stringify(e)}return yield new Promise((t,i)=>{let r=c._nextTaskID++;c._taskCallbackMap.set(r,e=>{if(e.success){try{this._handleRetJsonString(e.initReturn)}catch(e){i(e)}return t()}{let t=new Error(e.message);return t.stack=e.stack+"\n"+t.stack,i(t)}}),c._dbrWorker.postMessage({type:"initRuntimeSettingsWithString",id:r,instanceID:this._instanceID,body:{settings:e}})})}))}_decode_Blob(e,t){return a(this,void 0,void 0,(function*(){c._onLog&&c._onLog("_decode_Blob(blob: Blob)");let i=null,r=null;if("undefined"!=typeof createImageBitmap)try{i=yield createImageBitmap(e)}catch(e){}i||(r=yield function(e){return new Promise((t,i)=>{let r=URL.createObjectURL(e),n=new Image;n.dbrObjUrl=r,n.src=r,n.onload=()=>{t(n)},n.onerror=e=>{i(new Error("Can't convert blob to image : "+(e instanceof Event?e.type:e)))}})}(e));let n=yield this._decode_Image(i||r,t);return i&&i.close(),n}))}_decode_ArrayBuffer(e,t){return a(this,void 0,void 0,(function*(){return yield this._decode_Blob(new Blob([e]),t)}))}_decode_Uint8Array(e,t){return a(this,void 0,void 0,(function*(){return yield this._decode_Blob(new Blob([e]),t)}))}_decode_Image(e,t){return a(this,void 0,void 0,(function*(){c._onLog&&c._onLog("_decode_Image(image: HTMLImageElement|ImageBitmap)"),t=t||{};let i,r,n=e instanceof HTMLImageElement?e.naturalWidth:e.width,o=e instanceof HTMLImageElement?e.naturalHeight:e.height,s=Math.max(n,o);if(s>this._canvasMaxWH){let e=this._canvasMaxWH/s;i=Math.round(n*e),r=Math.round(o*e)}else i=n,r=o;let a,d=0,_=0,h=n,u=o,g=n,E=o,R=t.region;if(R){let e,t,s,a;R.regionMeasuredByPercentage?(e=R.regionLeft*i/100,t=R.regionTop*r/100,s=R.regionRight*i/100,a=R.regionBottom*r/100):(e=R.regionLeft,t=R.regionTop,s=R.regionRight,a=R.regionBottom),g=s-e,h=Math.round(g/i*n),E=a-t,u=Math.round(E/r*o),d=Math.round(e/i*n),_=Math.round(t/r*o)}!this.bSaveOriCanvas&&l.OffscreenCanvas?a=new OffscreenCanvas(g,E):(a=document.createElement("canvas"),a.width=g,a.height=E);let I,f=a.getContext("2d");0==d&&0==_&&n==h&&o==u&&n==g&&o==E?f.drawImage(e,0,0):f.drawImage(e,d,_,h,u,0,0,g,E),e.dbrObjUrl&&URL.revokeObjectURL(e.dbrObjUrl),R?(I=JSON.parse(JSON.stringify(t)),delete I.region):I=t;let A=yield this._decode_Canvas(a,I);return c.fixResultLocationWhenFilterRegionInJs(R,A,d,_,h,u,g,E),A}))}_decode_Canvas(e,t){return a(this,void 0,void 0,(function*(){if(c._onLog&&c._onLog("_decode_Canvas(canvas:HTMLCanvasElement)"),e.crossOrigin&&"anonymous"!=e.crossOrigin)throw"cors";(this.bSaveOriCanvas||this.singleFrameMode)&&(this.oriCanvas=e);let i=(e.dbrCtx2d||e.getContext("2d")).getImageData(0,0,e.width,e.height).data;return yield this._decodeBuffer_Uint8Array(i,e.width,e.height,4*e.width,r.IPF_ABGR_8888,t)}))}_decode_Video(e,t){return a(this,void 0,void 0,(function*(){if(c._onLog&&c._onLog("_decode_Video(video)"),!(e instanceof HTMLVideoElement))throw TypeError("'_decode_Video(video [, config] )': Type of 'video' should be 'HTMLVideoElement'.");if(e.crossOrigin&&"anonymous"!=e.crossOrigin)throw"cors";t=t||{};const i=e.videoWidth,n=e.videoHeight,o=Math.max(i,n);let s,a;if(o>this._canvasMaxWH){let e=this._canvasMaxWH/o;s=Math.round(i*e),a=Math.round(n*e)}else s=i,a=n;let d=0,_=0,h=i,u=n,g=i,E=n,R=t.region;if(R){let e,t,r,o;R.regionMeasuredByPercentage?(e=R.regionLeft*s/100,t=R.regionTop*a/100,r=R.regionRight*s/100,o=R.regionBottom*a/100):(e=R.regionLeft,t=R.regionTop,r=R.regionRight,o=R.regionBottom),g=r-e,h=Math.round(g/s*i),E=o-t,u=Math.round(E/a*n),d=Math.round(e/s*i),_=Math.round(t/a*n)}let I=0==d&&0==_&&i==h&&n==u&&i==g&&n==E;if(!this.bSaveOriCanvas&&this._bUseWebgl&&I){this.videoGlCvs||(this.videoGlCvs=l.OffscreenCanvas?new OffscreenCanvas(g,E):document.createElement("canvas"));const t=this.videoGlCvs;t.width==g&&t.height==E||(t.height=E,t.width=g,this.videoGl&&this.videoGl.viewport(0,0,g,E));const i=this.videoGl||t.getContext("webgl",{alpha:!1,antialias:!1})||t.getContext("experimental-webgl",{alpha:!1,antialias:!1});if(!this.videoGl){this.videoGl=i;let e=i.createShader(i.VERTEX_SHADER);i.shaderSource(e,"\nattribute vec4 a_position;\nattribute vec2 a_uv;\n\nvarying vec2 v_uv;\n\nvoid main() {\n gl_Position = a_position;\n v_uv = a_uv;\n}\n"),i.compileShader(e),i.getShaderParameter(e,i.COMPILE_STATUS)||console.error("An error occurred compiling the shaders: "+i.getShaderInfoLog(e));let t=i.createShader(i.FRAGMENT_SHADER);i.shaderSource(t,"\nprecision lowp float;\n\nvarying vec2 v_uv;\n\nuniform sampler2D u_texture;\n\nvoid main() {\n vec4 sample = texture2D(u_texture, v_uv);\n float grey = 0.299 * sample.r + 0.587 * sample.g + 0.114 * sample.b;\n gl_FragColor = vec4(grey, 0.0, 0.0, 1.0);\n}\n"),i.compileShader(t),i.getShaderParameter(t,i.COMPILE_STATUS)||console.error("An error occurred compiling the shaders: "+i.getShaderInfoLog(t));let r=i.createProgram();i.attachShader(r,e),i.attachShader(r,t),i.linkProgram(r),i.getProgramParameter(r,i.LINK_STATUS)||console.error("Unable to initialize the shader program: "+i.getProgramInfoLog(r)),i.useProgram(r),i.bindBuffer(i.ARRAY_BUFFER,i.createBuffer()),i.bufferData(i.ARRAY_BUFFER,new Float32Array([-1,1,0,1,1,1,1,1,-1,-1,0,0,1,-1,1,0]),i.STATIC_DRAW);let n=i.getAttribLocation(r,"a_position");i.enableVertexAttribArray(n),i.vertexAttribPointer(n,2,i.FLOAT,!1,16,0);let o=i.getAttribLocation(r,"a_uv");i.enableVertexAttribArray(o),i.vertexAttribPointer(o,2,i.FLOAT,!1,16,8),i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,i.createTexture()),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.NEAREST),i.uniform1i(i.getUniformLocation(r,"u_texture"),0)}(!this.glImgData||this.glImgData.length=this.maxVideoCvsLength&&(this.videoCvses=this.videoCvses.slice(1)),this.videoCvses.push(i))}const r=i.dbrCtx2d;let n;I?r.drawImage(e,0,0):r.drawImage(e,d,_,h,u,0,0,g,E),R?(n=JSON.parse(JSON.stringify(t)),delete n.region):n=t;let o=yield this._decode_Canvas(i,n);return c.fixResultLocationWhenFilterRegionInJs(R,o,d,_,h,u,g,E),o}}))}_decode_Base64(e,t){return a(this,void 0,void 0,(function*(){if(c._onLog&&c._onLog("_decode_Base64(base64Str)"),"string"!=typeof e&&"object"!=typeof e)return Promise.reject("'_decode_Base64(base64Str, config)': Type of 'base64Str' should be 'String'.");if("data:image/"==e.substring(0,11)&&(e=e.substring(e.indexOf(",")+1)),d){let t=Buffer.from(e,"base64");return yield this._decodeFileInMemory_Uint8Array(new Uint8Array(t))}{let i=atob(e),r=i.length,n=new Uint8Array(r);for(;r--;)n[r]=i.charCodeAt(r);return yield this._decode_Blob(new Blob([n]),t)}}))}_decode_Url(e,t){return a(this,void 0,void 0,(function*(){if(c._onLog&&c._onLog("_decode_Url(url)"),"string"!=typeof e&&"object"!=typeof e)throw TypeError("'_decode_Url(url, config)': Type of 'url' should be 'String'.");if(d){let t=yield new Promise((t,r)=>{(e.startsWith("https")?i(1):i(2)).get(e,e=>{if(200==e.statusCode){let i=[];e.on("data",e=>{i.push(e)}).on("end",()=>{t(new Uint8Array(Buffer.concat(i)))})}else r("http get fail, statusCode: "+e.statusCode)})});return yield this._decodeFileInMemory_Uint8Array(t)}{let i=yield new Promise((t,i)=>{let r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="blob",r.send(),r.onloadend=()=>a(this,void 0,void 0,(function*(){t(r.response)})),r.onerror=()=>{i(new Error("Network Error: "+r.statusText))}});return yield this._decode_Blob(i,t)}}))}_decode_FilePath(e,t){return a(this,void 0,void 0,(function*(){if(c._onLog&&c._onLog("_decode_FilePath(path)"),!d)throw Error("'_decode_FilePath(path, config)': The method is only supported in node environment.");if("string"!=typeof e&&"object"!=typeof e)throw TypeError("'_decode_FilePath(path, config)': Type of 'path' should be 'String'.");const t=i(3);let r=yield new Promise((i,r)=>{t.readFile(e,(e,t)=>{e?r(e):i(new Uint8Array(t))})});return yield this._decodeFileInMemory_Uint8Array(r)}))}static fixResultLocationWhenFilterRegionInJs(e,t,i,r,n,o,s,a){if(e&&t.length>0)for(let e of t){let t=e.localizationResult;2==t.resultCoordinateType&&(t.x1*=.01*s,t.x2*=.01*s,t.x3*=.01*s,t.x4*=.01*s,t.y1*=.01*a,t.y2*=.01*a,t.y3*=.01*a,t.y4*=.01*a);let d=s/n,_=a/o;t.x1=t.x1/d+i,t.x2=t.x2/d+i,t.x3=t.x3/d+i,t.x4=t.x4/d+i,t.y1=t.y1/_+r,t.y2=t.y2/_+r,t.y3=t.y3/_+r,t.y4=t.y4/_+r,2==t.resultCoordinateType&&(t.x1*=100/n,t.x2*=100/n,t.x3*=100/n,t.x4*=100/n,t.y1*=100/o,t.y2*=100/o,t.y3*=100/o,t.y4*=100/o)}}static BarcodeReaderException(e,t){let i,r=n.DBR_UNKNOWN;return"number"==typeof e?(r=e,i=new Error(t)):i=new Error(e),i.code=r,i}_handleRetJsonString(e){let t=n;if(e.textResults){for(let t=0;t{let i=t.indexOf(":");e[t.substring(0,i)]=t.substring(i+1)}),i.exception=e}}return e.decodeRecords?this.decodeRecords=e.decodeRecords:this.decodeRecords={},this._lastErrorCode=e.exception,this._lastErrorString=e.description,e.textResults}if(e.exception==t.DBR_SUCCESS)return e.data;throw c.BarcodeReaderException(e.exception,e.description)}setModeArgument(e,t,i,r){return a(this,void 0,void 0,(function*(){return yield new Promise((n,o)=>{let s=c._nextTaskID++;c._taskCallbackMap.set(s,e=>{if(e.success){try{this._handleRetJsonString(e.setReturn)}catch(e){return o(e)}return n()}{let t=new Error(e.message);return t.stack=e.stack+"\n"+t.stack,o(t)}}),c._dbrWorker.postMessage({type:"setModeArgument",id:s,instanceID:this._instanceID,body:{modeName:e,index:t,argumentName:i,argumentValue:r}})})}))}getModeArgument(e,t,i){return a(this,void 0,void 0,(function*(){return yield new Promise((r,n)=>{let o=c._nextTaskID++;c._taskCallbackMap.set(o,e=>{if(e.success){let t;try{t=this._handleRetJsonString(e.getReturn)}catch(e){return n(e)}return r(t)}{let t=new Error(e.message);return t.stack=e.stack+"\n"+t.stack,n(t)}}),c._dbrWorker.postMessage({type:"getModeArgument",id:o,instanceID:this._instanceID,body:{modeName:e,index:t,argumentName:i}})})}))}getIntermediateResults(){return a(this,void 0,void 0,(function*(){return yield new Promise((e,t)=>{let i=c._nextTaskID++;c._taskCallbackMap.set(i,i=>{if(i.success)return e(i.results);{let e=new Error(i.message);return e.stack=i.stack+"\n"+e.stack,t(e)}}),c._dbrWorker.postMessage({type:"getIntermediateResults",id:i,instanceID:this._instanceID})})}))}getIntermediateCanvas(){return a(this,void 0,void 0,(function*(){let e=yield this.getIntermediateResults(),t=[];for(let i of e)if(i.dataType==o.IMRDT_IMAGE)for(let e of i.results){const i=e.bytes;let n;switch(c._onLog&&c._onLog(" "+i.length+" "+i.byteLength+" "+e.width+" "+e.height+" "+e.stride+" "+e.format),e.format){case r.IPF_ABGR_8888:n=new Uint8ClampedArray(i);break;case r.IPF_RGB_888:{const e=i.length/3;n=new Uint8ClampedArray(4*e);for(let t=0;t{let i=c._nextTaskID++;c._taskCallbackMap.set(i,i=>{if(i.success)return e();{let e=new Error(i.message);return e.stack=i.stack+"\n"+e.stack,t(e)}}),c._dbrWorker.postMessage({type:"destroy",id:i,instanceID:this._instanceID})})}}c._jsVersion="8.4.0",c._jsEditVersion="20210628",c._version="loading...(JS "+c._jsVersion+"."+c._jsEditVersion+")",c._productKeys=d||_||!document.currentScript?"":document.currentScript.getAttribute("data-productKeys")||document.currentScript.getAttribute("data-licenseKey")||document.currentScript.getAttribute("data-handshakeCode")||"",c._organizationID=d||_||!document.currentScript?"":document.currentScript.getAttribute("data-organizationID")||"",c._sessionPassword=d||_||!document.currentScript?"":document.currentScript.getAttribute("data-sessionPassword")||"",c.browserInfo=function(){if(!d&&!_){var e={init:function(){this.browser=this.searchString(this.dataBrowser)||"unknownBrowser",this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"unknownVersion",this.OS=this.searchString(this.dataOS)||"unknownOS"},searchString:function(e){for(var t=0;t{if(d)return url.fileURLToPath(import.meta.url.substring(0,import.meta.url.lastIndexOf("/")))+"/";if(!_&&document.currentScript){let e=document.currentScript.src,t=e.indexOf("?");if(-1!=t)e=e.substring(0,t);else{let t=e.indexOf("#");-1!=t&&(e=e.substring(0,t))}return e.substring(0,e.lastIndexOf("/")+1)}return"./"})(),c._licenseServer=[],c._deviceFriendlyName="",c._isShowRelDecodeTimeInResults=!1,c._bWasmDebug=!1,c._bNeverShowDialog=!1,c.__bUseFullFeature=d,c._nextTaskID=0,c._taskCallbackMap=new Map,c._loadWasmStatus="unload",c._loadWasmCallbackArr=[],c._lastErrorCode=0,c._lastErrorString="",c._loadWasmErr=null;var h=function(e,t,i,r){return new(i||(i=Promise))((function(n,o){function s(e){try{d(r.next(e))}catch(e){o(e)}}function a(e){try{d(r.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}d((r=r.apply(e,t||[])).next())}))};const u=!!("object"==typeof global&&global.process&&global.process.release&&global.process.release.name&&"undefined"==typeof HTMLCanvasElement);class g extends c{constructor(){super(),this.styleEls=[],this.videoSettings={video:{width:{ideal:1280},height:{ideal:720},facingMode:{ideal:"environment"}}},this._singleFrameMode=!(navigator&&navigator.mediaDevices&&navigator.mediaDevices.getUserMedia),this._singleFrameModeIpt=(()=>{let e=document.createElement("input");return e.setAttribute("type","file"),e.setAttribute("accept","image/*"),e.setAttribute("capture",""),e.addEventListener("change",()=>h(this,void 0,void 0,(function*(){let t=e.files[0];e.value="";let i=yield this.decode(t);for(let e of i)delete e.bUnduplicated;if(this._drawRegionsults(i),this.onFrameRead&&this._isOpen&&!this._bPauseScan&&this.onFrameRead(i),this.onUnduplicatedRead&&this._isOpen&&!this._bPauseScan)for(let e of i)this.onUnduplicatedRead(e.barcodeText,e);yield this.clearMapDecodeRecord()}))),e})(),this._clickIptSingleFrameMode=()=>{this._singleFrameModeIpt.click()},this.intervalTime=0,this._isOpen=!1,this._bPauseScan=!1,this._lastDeviceId=void 0,this._intervalDetectVideoPause=1e3,this._vc_bPlayingVideoBeforeHide=!1,this._ev_documentHideEvent=()=>{"visible"===document.visibilityState?this._vc_bPlayingVideoBeforeHide&&("Firefox"==c.browserInfo.browser?this.play():this._video.play(),this._vc_bPlayingVideoBeforeHide=!1):this._video&&!this._video.paused&&(this._vc_bPlayingVideoBeforeHide=!0,this._video.pause())},this._video=null,this._cvsDrawArea=null,this._divScanArea=null,this._divScanLight=null,this._bgLoading=null,this._bgCamera=null,this._selCam=null,this._selRsl=null,this._optGotRsl=null,this._btnClose=null,this._soundOnSuccessfullRead=new Audio("data:audio/mpeg;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjI5LjEwMAAAAAAAAAAAAAAA/+M4wAAAAAAAAAAAAEluZm8AAAAPAAAABQAAAkAAgICAgICAgICAgICAgICAgICAgKCgoKCgoKCgoKCgoKCgoKCgoKCgwMDAwMDAwMDAwMDAwMDAwMDAwMDg4ODg4ODg4ODg4ODg4ODg4ODg4P//////////////////////////AAAAAExhdmM1OC41NAAAAAAAAAAAAAAAACQEUQAAAAAAAAJAk0uXRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+MYxAANQAbGeUEQAAHZYZ3fASqD4P5TKBgocg+Bw/8+CAYBA4XB9/4EBAEP4nB9+UOf/6gfUCAIKyjgQ/Kf//wfswAAAwQA/+MYxAYOqrbdkZGQAMA7DJLCsQxNOij///////////+tv///3RWiZGBEhsf/FO/+LoCSFs1dFVS/g8f/4Mhv0nhqAieHleLy/+MYxAYOOrbMAY2gABf/////////////////usPJ66R0wI4boY9/8jQYg//g2SPx1M0N3Z0kVJLIs///Uw4aMyvHJJYmPBYG/+MYxAgPMALBucAQAoGgaBoFQVBUFQWDv6gZBUFQVBUGgaBr5YSgqCoKhIGg7+IQVBUFQVBoGga//SsFSoKnf/iVTEFNRTMu/+MYxAYAAANIAAAAADEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV"),this.bPlaySoundOnSuccessfulRead=!1,this.bVibrateOnSuccessfulRead=!1,this.vibrateDuration=300,this._allCameras=[],this._currentCamera=null,this._videoTrack=null,this.regionMaskFillStyle="rgba(0,0,0,0.5)",this.regionMaskStrokeStyle="rgb(254,142,20)",this.regionMaskLineWidth=2,this.barcodeFillStyle="rgba(254,180,32,0.3)",this.barcodeStrokeStyle="rgba(254,180,32,0.9)",this.barcodeLineWidth=1,this.beingLazyDrawRegionsults=!1,this._indexVideoRegion=-1,this._onCameraSelChange=()=>{this.play(this._selCam.value).then(()=>{this._isOpen||this.stop()})},this._onResolutionSelChange=()=>{let e,t;if(this._selRsl&&-1!=this._selRsl.selectedIndex){let i=this._selRsl.options[this._selRsl.selectedIndex];e=i.getAttribute("data-width"),t=i.getAttribute("data-height")}this.play(void 0,e,t).then(()=>{this._isOpen||this.stop()})},this._onCloseBtnClick=()=>{this.hide()},this.iPlayRound=0,this.promisePlay=null}static get defaultUIElementURL(){var e;return null===(e=this._defaultUIElementURL)||void 0===e?void 0:e.replace("@engineResourcePath/",c.engineResourcePath)}static set defaultUIElementURL(e){this._defaultUIElementURL=e}getUIElement(){return this.UIElement}setUIElement(e){return h(this,void 0,void 0,(function*(){if("string"==typeof e||e instanceof String){if(!e.trim().startsWith("<")){let t=yield fetch(e);if(!t.ok)throw Error("setUIElement(elementOrUrl): Network Error: "+t.statusText);e=yield t.text()}if(!e.trim().startsWith("<"))throw Error("setUIElement(elementOrUrl): Can't get valid HTMLElement.");let t=document.createElement("div");t.innerHTML=e;for(let e=0;e{h(this,void 0,void 0,(function*(){let e=yield this.getScanSettings();e.oneDTrustFrameCount=1,yield this.updateScanSettings(e)}))})()}_assertOpen(){if(!this._isOpen)throw Error("The scanner is not open.")}get soundOnSuccessfullRead(){return this._soundOnSuccessfullRead}set soundOnSuccessfullRead(e){e instanceof HTMLAudioElement?this._soundOnSuccessfullRead=e:this._soundOnSuccessfullRead=new Audio(e)}set region(e){this._region=e,this.singleFrameMode||(this.beingLazyDrawRegionsults=!0,setTimeout(()=>{this.beingLazyDrawRegionsults&&this._drawRegionsults()},500))}get region(){return this._region}static createInstance(e){return h(this,void 0,void 0,(function*(){if(u)throw new Error("`BarcodeScanner` is not supported in Node.js.");let t=new g;t._instanceID=yield g.createInstanceInWorker(!0),("string"==typeof e||e instanceof String)&&(e=JSON.parse(e));for(let i in e)t[i]=e[i];return yield t.setUIElement(this.defaultUIElementURL),t.singleFrameMode&&console.warn("The `navigator.mediaDevices.getUserMedia` is unavailable. automatically change to `singleFrameMode`."),t.singleFrameMode||(yield t.updateRuntimeSettings("single")),document.addEventListener("visibilitychange",t._ev_documentHideEvent),t}))}decode(e){return super.decode(e)}decodeBase64String(e){return super.decodeBase64String(e)}decodeUrl(e){return super.decodeUrl(e)}decodeBuffer(e,t,i,r,n,o){return super.decodeBuffer(e,t,i,r,n,o)}decodeCurrentFrame(e){return h(this,void 0,void 0,(function*(){return this._assertOpen(),this._decode_Video(this._video,e)}))}clearMapDecodeRecord(){return h(this,void 0,void 0,(function*(){return yield new Promise((e,t)=>{let i=c._nextTaskID++;c._taskCallbackMap.set(i,i=>{if(i.success)return e();{let e=new Error(i.message);return e.stack=i.stack+"\n"+e.stack,t(e)}}),c._dbrWorker.postMessage({type:"clearMapDecodeRecord",id:i,instanceID:this._instanceID})})}))}static isRegionSinglePreset(e){return JSON.stringify(e)==JSON.stringify(this.singlePresetRegion)}static isRegionNormalPreset(e){return 0==e.regionLeft&&0==e.regionTop&&0==e.regionRight&&0==e.regionBottom&&0==e.regionMeasuredByPercentage}updateRuntimeSettings(e){return h(this,void 0,void 0,(function*(){let t;if("string"==typeof e||"object"==typeof e&&e instanceof String)if("speed"==e){let e=yield this.getRuntimeSettings();yield this.resetRuntimeSettings(),t=yield this.getRuntimeSettings(),t.barcodeFormatIds=e.barcodeFormatIds,t.barcodeFormatIds_2=e.barcodeFormatIds_2,g.isRegionSinglePreset(e.region)||(t.region=e.region)}else if("balance"==e){let e=yield this.getRuntimeSettings();yield this.resetRuntimeSettings(),t=yield this.getRuntimeSettings(),t.barcodeFormatIds=e.barcodeFormatIds,t.barcodeFormatIds_2=e.barcodeFormatIds_2,g.isRegionSinglePreset(e.region)||(t.region=e.region),t.deblurLevel=3,t.expectedBarcodesCount=512,t.localizationModes=[2,16,0,0,0,0,0,0],t.timeout=1e5}else if("coverage"==e){let e=yield this.getRuntimeSettings();yield this.resetRuntimeSettings(),t=yield this.getRuntimeSettings(),t.barcodeFormatIds=e.barcodeFormatIds,t.barcodeFormatIds_2=e.barcodeFormatIds_2,g.isRegionSinglePreset(e.region)||(t.region=e.region),t.deblurLevel=5,t.expectedBarcodesCount=512,t.scaleDownThreshold=1e5,t.localizationModes=[2,16,4,8,0,0,0,0],t.timeout=1e5}else if("single"==e){let e=yield this.getRuntimeSettings();yield this.resetRuntimeSettings(),t=yield this.getRuntimeSettings(),t.barcodeFormatIds=e.barcodeFormatIds,t.barcodeFormatIds_2=e.barcodeFormatIds_2,g.isRegionNormalPreset(e.region)?t.region=JSON.parse(JSON.stringify(g.singlePresetRegion)):t.region=e.region,t.expectedBarcodesCount=1,t.localizationModes=[16,2,0,0,0,0,0,0],t.barcodeZoneMinDistanceToImageBorders=0}else t=JSON.parse(e);else{if("object"!=typeof e)throw TypeError("'UpdateRuntimeSettings(settings)': Type of 'settings' should be 'String' or 'PlainObject'.");if(t=JSON.parse(JSON.stringify(e)),t.region instanceof Array){let i=e.region;[i.regionLeft,i.regionTop,i.regionLeft,i.regionBottom,i.regionMeasuredByPercentage].some(e=>void 0!==e)&&(t.region={regionLeft:i.regionLeft||0,regionTop:i.regionTop||0,regionRight:i.regionRight||0,regionBottom:i.regionBottom||0,regionMeasuredByPercentage:i.regionMeasuredByPercentage||0})}}if(!c._bUseFullFeature){if(0!=(t.barcodeFormatIds&~(s.BF_ONED|s.BF_QR_CODE|s.BF_PDF417|s.BF_DATAMATRIX))||0!=t.barcodeFormatIds_2)throw Error("Some of the specified barcode formats are not supported in the compact version. Please try the full-featured version.");if(0!=t.intermediateResultTypes)throw Error("Intermediate results is not supported in the compact version. Please try the full-featured version.")}{let e=t.region;if(this.bFilterRegionInJs?this.userDefinedRegion=JSON.parse(JSON.stringify(e)):this.userDefinedRegion=null,e instanceof Array)if(e.length){for(let t=0;t{let r=c._nextTaskID++;c._taskCallbackMap.set(r,t=>{if(t.success){try{this._handleRetJsonString(t.updateReturn)}catch(e){i(e)}return e()}{let e=new Error(t.message);return e.stack=t.stack+"\n"+e.stack,i(e)}}),c._dbrWorker.postMessage({type:"updateRuntimeSettings",id:r,instanceID:this._instanceID,body:{settings:JSON.stringify(t)}})}),"single"==e&&(yield this.setModeArgument("BinarizationModes",0,"EnableFillBinaryVacancy","0"),yield this.setModeArgument("LocalizationModes",0,"ScanDirection","2"),yield this.setModeArgument("BinarizationModes",0,"BlockSizeX","71"),yield this.setModeArgument("BinarizationModes",0,"BlockSizeY","71"))}))}_bindUI(){if(!this.UIElement)throw new Error("Need to define `UIElement` before opening.");let e=[this.UIElement],t=this.UIElement.children;for(let i of t)e.push(i);for(let t=0;t','','',''].join(""),this._optGotRsl=this._optGotRsl||this._selRsl.options[0])):!this._optGotRsl&&t.classList.contains("dbrScanner-opt-gotResolution")?this._optGotRsl=t:!this._btnClose&&t.classList.contains("dbrScanner-btn-close")?this._btnClose=t:!this._video&&t.classList.contains("dbrScanner-existingVideo")?(this._video=t,this._video.setAttribute("playsinline","true"),this.singleFrameMode=!1):!i&&t.tagName&&"video"==t.tagName.toLowerCase()&&(i=t);if(!this._video&&i&&(this._video=i),this.singleFrameMode?(this._video&&(this._video.addEventListener("click",this._clickIptSingleFrameMode),this._video.style.cursor="pointer",this._video.setAttribute("title","Take a photo")),this._cvsDrawArea&&(this._cvsDrawArea.addEventListener("click",this._clickIptSingleFrameMode),this._cvsDrawArea.style.cursor="pointer",this._cvsDrawArea.setAttribute("title","Take a photo")),this._divScanArea&&(this._divScanArea.addEventListener("click",this._clickIptSingleFrameMode),this._divScanArea.style.cursor="pointer",this._divScanArea.setAttribute("title","Take a photo")),this._bgCamera&&(this._bgCamera.style.display="")):this._bgLoading&&(this._bgLoading.style.display=""),this._selCam&&this._selCam.addEventListener("change",this._onCameraSelChange),this._selRsl&&this._selRsl.addEventListener("change",this._onResolutionSelChange),this._btnClose&&this._btnClose.addEventListener("click",this._onCloseBtnClick),!this._video)throw this._unbindUI(),Error("Can not find HTMLVideoElement with class `dbrScanner-video`.");this._isOpen=!0}_unbindUI(){this._clearRegionsults(),this.singleFrameMode?(this._video&&(this._video.removeEventListener("click",this._clickIptSingleFrameMode),this._video.style.cursor="",this._video.removeAttribute("title")),this._cvsDrawArea&&(this._cvsDrawArea.removeEventListener("click",this._clickIptSingleFrameMode),this._cvsDrawArea.style.cursor="",this._cvsDrawArea.removeAttribute("title")),this._divScanArea&&(this._divScanArea.removeEventListener("click",this._clickIptSingleFrameMode),this._divScanArea.style.cursor="",this._divScanArea.removeAttribute("title")),this._bgCamera&&(this._bgCamera.style.display="none")):this._bgLoading&&(this._bgLoading.style.display="none"),this._selCam&&this._selCam.removeEventListener("change",this._onCameraSelChange),this._selRsl&&this._selRsl.removeEventListener("change",this._onResolutionSelChange),this._btnClose&&this._btnClose.removeEventListener("click",this._onCloseBtnClick),this._video=null,this._cvsDrawArea=null,this._divScanArea=null,this._divScanLight=null,this._selCam=null,this._selRsl=null,this._optGotRsl=null,this._btnClose=null,this._isOpen=!1}_renderSelCameraInfo(){if(this._selCam&&(this._selCam.innerHTML=""),this._selCam){let e;for(let t of this._allCameras){let i=document.createElement("option");i.value=t.deviceId,i.innerText=t.label,this._selCam.append(i),t.deviceId&&this._currentCamera&&this._currentCamera.deviceId==t.deviceId&&(e=i)}this._selCam.value=e?e.value:""}}getAllCameras(){return h(this,void 0,void 0,(function*(){const e=yield navigator.mediaDevices.enumerateDevices(),t=[];let i=0;for(let r=0;r{let i=c._nextTaskID++;c._taskCallbackMap.set(i,i=>{if(i.success){let t=i.results;return t.intervalTime=this.intervalTime,e(t)}{let e=new Error(i.message);return e.stack+="\n"+i.stack,t(e)}}),c._dbrWorker.postMessage({type:"getScanSettings",id:i,instanceID:this._instanceID})})}))}updateScanSettings(e){return h(this,void 0,void 0,(function*(){return this.intervalTime=e.intervalTime,yield new Promise((t,i)=>{let r=c._nextTaskID++;c._taskCallbackMap.set(r,e=>{if(e.success)return t();{let t=new Error(e.message);return t.stack+="\n"+e.stack,i(t)}}),g._dbrWorker.postMessage({type:"updateScanSettings",id:r,instanceID:this._instanceID,body:{settings:e}})})}))}getVideoSettings(){return JSON.parse(JSON.stringify(this.videoSettings))}updateVideoSettings(e){return this.videoSettings=JSON.parse(JSON.stringify(e)),this._lastDeviceId=null,this._isOpen?this.play():Promise.resolve()}isOpen(){return this._isOpen}_show(){this.UIElement.parentNode||(this.UIElement.style.position="fixed",this.UIElement.style.left="0",this.UIElement.style.top="0",document.body.append(this.UIElement)),"none"==this.UIElement.style.display&&(this.UIElement.style.display="")}stop(){this._video&&this._video.srcObject&&(c._onLog&&c._onLog("======stop video========"),this._video.srcObject.getTracks().forEach(e=>{e.stop()}),this._video.srcObject=null,this._videoTrack=null),this._video&&this._video.classList.contains("dbrScanner-existingVideo")&&(c._onLog&&c._onLog("======stop existing video========"),this._video.pause(),this._video.currentTime=0),this._bgLoading&&(this._bgLoading.style.animationPlayState=""),this._divScanLight&&(this._divScanLight.style.display="none"),this._drawRegionsults()}pause(){this._video&&this._video.pause(),this._divScanLight&&(this._divScanLight.style.display="none")}play(e,t,i){return h(this,void 0,void 0,(function*(){if(this._assertOpen(),this.singleFrameMode)return this._clickIptSingleFrameMode(),{width:0,height:0};if(this._video&&this._video.classList.contains("dbrScanner-existingVideo")){yield this._video.play();let e={width:this._video.videoWidth,height:this._video.videoHeight};return this.onPlayed&&setTimeout(()=>{this.onPlayed(e)},0),e}const r=++this.iPlayRound;return this.promisePlay&&(yield this.promisePlay,rh(this,void 0,void 0,(function*(){try{this._video&&this._video.srcObject&&this.stop(),c._onLog&&c._onLog("======before video========"),"Android"==c.browserInfo.OS&&(yield this.getAllCameras());let r=()=>{if(this.bDestroyed)throw new Error("The BarcodeScanner instance has been destroyed.")};const n=JSON.parse(JSON.stringify(this.videoSettings));let o,s;if("boolean"==typeof n.video&&(n.video={}),t&&(n.video.width={ideal:t}),i&&(n.video.height={ideal:i}),e)delete n.video.facingMode,n.video.deviceId={exact:e},this._lastDeviceId=e;else if(n.video.deviceId);else if(this._lastDeviceId)delete n.video.facingMode,n.video.deviceId={exact:this._lastDeviceId};else if(n.video.facingMode){let e=n.video.facingMode;if(e instanceof Array&&e.length&&(e=e[0]),e=e.exact||e.ideal||e,"environment"===e){for(let e of this._allCameras){let t=e.label.toLowerCase();if(t&&-1!=t.indexOf("facing back")&&/camera[0-9]?\s0,/.test(t)){delete n.video.facingMode,n.video.deviceId={ideal:e.deviceId};break}}o=!!n.video.facingMode}}c._onLog&&c._onLog("======try getUserMedia========"),c._onLog&&c._onLog("ask "+JSON.stringify(n.video.width)+"x"+JSON.stringify(n.video.height)),c._onLog&&c._onLog(n);let a,d=[0,500],_=null,l=e=>h(this,void 0,void 0,(function*(){for(let t of d){r(),t&&(yield new Promise(e=>setTimeout(e,t))),r();try{s=yield navigator.mediaDevices.getUserMedia(e);break}catch(e){_=e,c._onLog&&c._onLog(e.message||e)}}}));if(yield l(n),!s){if(c._onLog&&c._onLog("======try getUserMedia again========"),a=JSON.parse(JSON.stringify(n)),"object"==typeof a.video){"iPhone"==c.browserInfo.OS?(t>=1280||i>=1280?a.video.width=1280:t>=640||i>=640?a.video.width=640:(t<640||i<640)&&(a.video.width=320),delete a.video.height):o?(delete a.video.facingMode,this._allCameras.length&&(a.video.deviceId={ideal:this._allCameras[this._allCameras.length-1].deviceId})):a.video=!0}c._onLog&&c._onLog(a),yield l(a)}if(s||(d=[1e3,2e3],yield l(n)),s||(yield l(a)),!s)throw _;if(this.bDestroyed)throw s.getTracks().forEach(e=>{e.stop()}),new Error("The BarcodeScanner instance has been destroyed.");{const e=s.getVideoTracks();e.length&&(this._videoTrack=e[0])}c._onLog&&c._onLog("======play video========"),yield new Promise((e,t)=>{this._video.srcObject=s,this._video.onloadedmetadata=()=>h(this,void 0,void 0,(function*(){this._video.onloadedmetadata=null,yield this._video.play(),e()})),setTimeout(()=>t(new Error("Failed to play video. Timeout.")),4e3)}),c._onLog&&c._onLog("======played video========"),this._bgLoading&&(this._bgLoading.style.animationPlayState="paused");const u="got "+this._video.videoWidth+"x"+this._video.videoHeight;this._optGotRsl&&(this._optGotRsl.setAttribute("data-width",this._video.videoWidth),this._optGotRsl.setAttribute("data-height",this._video.videoHeight),this._optGotRsl.innerText=u,this._selRsl&&this._optGotRsl.parentNode==this._selRsl&&(this._selRsl.value="got")),c._onLog&&c._onLog(u),yield this.getAllCameras(),yield this.getCurrentCamera(),this._renderSelCameraInfo();let g={width:this._video.videoWidth,height:this._video.videoHeight};return this.onPlayed&&setTimeout(()=>{this.onPlayed(g)},0),this.promisePlay=null,g}catch(e){throw this.promisePlay=null,e}})))(),yield this.promisePlay)}))}pauseScan(){this._assertOpen(),this._bPauseScan=!0,this._divScanLight&&(this._divScanLight.style.display="none")}resumeScan(){this._assertOpen(),this._bPauseScan=!1}getCapabilities(){return this._assertOpen(),this._videoTrack.getCapabilities?this._videoTrack.getCapabilities():{}}getCameraSettings(){return this._assertOpen(),this._videoTrack.getSettings()}getConstraints(){return this._assertOpen(),this._videoTrack.getConstraints()}applyConstraints(e){return h(this,void 0,void 0,(function*(){if(this._assertOpen(),!this._videoTrack.applyConstraints)throw Error("Not supported.");return yield this._videoTrack.applyConstraints(e)}))}turnOnTorch(){return h(this,void 0,void 0,(function*(){if(this._assertOpen(),this.getCapabilities().torch)return yield this._videoTrack.applyConstraints({advanced:[{torch:!0}]});throw Error("Not supported.")}))}turnOffTorch(){return h(this,void 0,void 0,(function*(){if(this._assertOpen(),this.getCapabilities().torch)return yield this._videoTrack.applyConstraints({advanced:[{torch:!1}]});throw Error("Not supported.")}))}setColorTemperature(e){return h(this,void 0,void 0,(function*(){this._assertOpen();let t=this.getCapabilities().colorTemperature;if(!t)throw Error("Not supported.");return et.max&&(e=t.max),yield this._videoTrack.applyConstraints({advanced:[{colorTemperature:e}]})}))}setExposureCompensation(e){return h(this,void 0,void 0,(function*(){this._assertOpen();let t=this.getCapabilities().exposureCompensation;if(!t)throw Error("Not supported.");return et.max&&(e=t.max),yield this._videoTrack.applyConstraints({advanced:[{exposureCompensation:e}]})}))}setZoom(e){return h(this,void 0,void 0,(function*(){this._assertOpen();let t=this.getCapabilities().zoom;if(!t)throw Error("Not supported.");return et.max&&(e=t.max),yield this._videoTrack.applyConstraints({advanced:[{zoom:e}]})}))}setFrameRate(e){return h(this,void 0,void 0,(function*(){this._assertOpen();let t=this.getCapabilities().frameRate;if(!t)throw Error("Not supported.");return et.max&&(e=t.max),yield this._videoTrack.applyConstraints({width:{ideal:Math.max(this._video.videoWidth,this._video.videoHeight)},frameRate:e})}))}_cloneDecodeResults(e){if(e instanceof Array){let t=[];for(let i of e)t.push(this._cloneDecodeResults(i));return t}{let t=e;return JSON.parse(JSON.stringify(t,(e,t)=>"oriVideoCanvas"==e||"searchRegionCanvas"==e?void 0:t))}}_loopReadVideo(){return h(this,void 0,void 0,(function*(){if(this.bDestroyed)return;if(!this._isOpen)return void(yield this.clearMapDecodeRecord());if(this._video.paused||this._bPauseScan)return c._onLog&&c._onLog("Video or scan is paused. Ask in 1s."),yield this.clearMapDecodeRecord(),void setTimeout(()=>{this._loopReadVideo()},this._intervalDetectVideoPause);this._divScanLight&&"none"==this._divScanLight.style.display&&(this._divScanLight.style.display=""),c._onLog&&c._onLog("======= once read ======="),c._onLog&&(this._timeStartDecode=Date.now());const e={};if(this.region)if(this.region instanceof Array){++this._indexVideoRegion>=this.region.length&&(this._indexVideoRegion=0);let t=this.region[this._indexVideoRegion];t&&(e.region=JSON.parse(JSON.stringify(t)))}else e.region=JSON.parse(JSON.stringify(this.region));this.decodeCurrentFrame(e).then(e=>{if(c._onLog&&c._onLog(e),this._isOpen&&!this._video.paused&&!this._bPauseScan){if(this.bPlaySoundOnSuccessfulRead&&e.length){let t=!1;if(!0===this.bPlaySoundOnSuccessfulRead||"frame"===this.bPlaySoundOnSuccessfulRead)t=!0;else if("unduplicated"===this.bPlaySoundOnSuccessfulRead)for(let i of e)if(i.bUnduplicated){t=!0;break}t&&(this.soundOnSuccessfullRead.currentTime=0,this.soundOnSuccessfullRead.play().catch(e=>{console.warn("Autoplay not allowed. User interaction required: "+(e.message||e))}))}if(navigator.vibrate&&this.bVibrateOnSuccessfulRead&&e.length){let t=!1;if(!0===this.bVibrateOnSuccessfulRead||"frame"===this.bVibrateOnSuccessfulRead)t=!0;else if("unduplicated"===this.bVibrateOnSuccessfulRead)for(let i of e)if(i.bUnduplicated){t=!0;break}if(t)try{navigator.vibrate(this.vibrateDuration)}catch(e){console.warn("Vibration not allowed. User interaction required: "+(e.message||e))}}if(this.onFrameRead){let t=this._cloneDecodeResults(e);for(let e of t)delete e.bUnduplicated;this.onFrameRead(t)}if(this.onUnduplicatedRead)for(let t of e)t.bUnduplicated&&this.onUnduplicatedRead(t.barcodeText,this._cloneDecodeResults(t));this._drawRegionsults(e)}setTimeout(()=>{this._loopReadVideo()},this.intervalTime)}).catch(e=>{c._onLog&&c._onLog(e.message||e),setTimeout(()=>{this._loopReadVideo()},Math.max(this.intervalTime,1e3)),"platform error"==e.message||console.warn(e.message)})}))}_drawRegionsults(e){let t,i,r;if(this.beingLazyDrawRegionsults=!1,this.singleFrameMode){if(!this.oriCanvas)return;t="contain",i=this.oriCanvas.width,r=this.oriCanvas.height}else{if(!this._video)return;t=this._video.style.objectFit||"contain",i=this._video.videoWidth,r=this._video.videoHeight}let n=this.region;if(n&&(!n.regionLeft&&!n.regionRight&&!n.regionTop&&!n.regionBottom&&!n.regionMeasuredByPercentage||n instanceof Array?n=null:n.regionMeasuredByPercentage?n=n.regionLeft||n.regionRight||100!==n.regionTop||100!==n.regionBottom?{regionLeft:Math.round(n.regionLeft/100*i),regionTop:Math.round(n.regionTop/100*r),regionRight:Math.round(n.regionRight/100*i),regionBottom:Math.round(n.regionBottom/100*r)}:null:(n=JSON.parse(JSON.stringify(n)),delete n.regionMeasuredByPercentage)),this._cvsDrawArea){this._cvsDrawArea.style.objectFit=t;let o=this._cvsDrawArea;o.width=i,o.height=r;let s=o.getContext("2d");if(n){s.fillStyle=this.regionMaskFillStyle,s.fillRect(0,0,o.width,o.height),s.globalCompositeOperation="destination-out",s.fillStyle="#000";let e=Math.round(this.regionMaskLineWidth/2);s.fillRect(n.regionLeft-e,n.regionTop-e,n.regionRight-n.regionLeft+2*e,n.regionBottom-n.regionTop+2*e),s.globalCompositeOperation="source-over",s.strokeStyle=this.regionMaskStrokeStyle,s.lineWidth=this.regionMaskLineWidth,s.rect(n.regionLeft,n.regionTop,n.regionRight-n.regionLeft,n.regionBottom-n.regionTop),s.stroke()}if(e){s.globalCompositeOperation="destination-over",s.fillStyle=this.barcodeFillStyle,s.strokeStyle=this.barcodeStrokeStyle,s.lineWidth=this.barcodeLineWidth,e=e||[];for(let t of e){let e=t.localizationResult;s.beginPath(),s.moveTo(e.x1,e.y1),s.lineTo(e.x2,e.y2),s.lineTo(e.x3,e.y3),s.lineTo(e.x4,e.y4),s.fill(),s.beginPath(),s.moveTo(e.x1,e.y1),s.lineTo(e.x2,e.y2),s.lineTo(e.x3,e.y3),s.lineTo(e.x4,e.y4),s.closePath(),s.stroke()}}this.singleFrameMode&&(s.globalCompositeOperation="destination-over",s.drawImage(this.oriCanvas,0,0))}if(this._divScanArea){let e=this._video.offsetWidth,t=this._video.offsetHeight,o=1;e/tsuper.destroy}});return h(this,void 0,void 0,(function*(){document.removeEventListener("visibilitychange",this._ev_documentHideEvent),yield this.close();for(let e of this.styleEls)e.remove();this.styleEls.splice(0,this.styleEls.length),this.bDestroyed||(yield e.destroy.call(this))}))}}var E,R,I,f,A,m,S,D,T,v,p,M,C,y,L,O,b,N,B,P,F,w,U,k,V,G,x;g._defaultUIElementURL="@engineResourcePath/dbr.scanner.html",g.singlePresetRegion=[null,{regionLeft:0,regionTop:30,regionRight:100,regionBottom:70,regionMeasuredByPercentage:1},{regionLeft:25,regionTop:25,regionRight:75,regionBottom:75,regionMeasuredByPercentage:1},{regionLeft:25,regionTop:25,regionRight:75,regionBottom:75,regionMeasuredByPercentage:1}],function(e){e[e.BICM_DARK_ON_LIGHT=1]="BICM_DARK_ON_LIGHT",e[e.BICM_LIGHT_ON_DARK=2]="BICM_LIGHT_ON_DARK",e[e.BICM_DARK_ON_DARK=4]="BICM_DARK_ON_DARK",e[e.BICM_LIGHT_ON_LIGHT=8]="BICM_LIGHT_ON_LIGHT",e[e.BICM_DARK_LIGHT_MIXED=16]="BICM_DARK_LIGHT_MIXED",e[e.BICM_DARK_ON_LIGHT_DARK_SURROUNDING=32]="BICM_DARK_ON_LIGHT_DARK_SURROUNDING",e[e.BICM_SKIP=0]="BICM_SKIP",e[e.BICM_REV=2147483648]="BICM_REV"}(E||(E={})),function(e){e[e.BCM_AUTO=1]="BCM_AUTO",e[e.BCM_GENERAL=2]="BCM_GENERAL",e[e.BCM_SKIP=0]="BCM_SKIP",e[e.BCM_REV=2147483648]="BCM_REV"}(R||(R={})),function(e){e[e.BF2_NULL=0]="BF2_NULL",e[e.BF2_POSTALCODE=32505856]="BF2_POSTALCODE",e[e.BF2_NONSTANDARD_BARCODE=1]="BF2_NONSTANDARD_BARCODE",e[e.BF2_USPSINTELLIGENTMAIL=1048576]="BF2_USPSINTELLIGENTMAIL",e[e.BF2_POSTNET=2097152]="BF2_POSTNET",e[e.BF2_PLANET=4194304]="BF2_PLANET",e[e.BF2_AUSTRALIANPOST=8388608]="BF2_AUSTRALIANPOST",e[e.BF2_RM4SCC=16777216]="BF2_RM4SCC",e[e.BF2_DOTCODE=2]="BF2_DOTCODE"}(I||(I={})),function(e){e[e.BM_AUTO=1]="BM_AUTO",e[e.BM_LOCAL_BLOCK=2]="BM_LOCAL_BLOCK",e[e.BM_SKIP=0]="BM_SKIP",e[e.BM_THRESHOLD=4]="BM_THRESHOLD",e[e.BM_REV=2147483648]="BM_REV"}(f||(f={})),function(e){e[e.ECCM_CONTRAST=1]="ECCM_CONTRAST"}(A||(A={})),function(e){e[e.CFM_GENERAL=1]="CFM_GENERAL"}(m||(m={})),function(e){e[e.CCM_AUTO=1]="CCM_AUTO",e[e.CCM_GENERAL_HSV=2]="CCM_GENERAL_HSV",e[e.CCM_SKIP=0]="CCM_SKIP",e[e.CCM_REV=2147483648]="CCM_REV"}(S||(S={})),function(e){e[e.CICM_GENERAL=1]="CICM_GENERAL",e[e.CICM_SKIP=0]="CICM_SKIP",e[e.CICM_REV=2147483648]="CICM_REV"}(D||(D={})),function(e){e[e.CM_IGNORE=1]="CM_IGNORE",e[e.CM_OVERWRITE=2]="CM_OVERWRITE"}(T||(T={})),function(e){e[e.DM_SKIP=0]="DM_SKIP",e[e.DM_DIRECT_BINARIZATION=1]="DM_DIRECT_BINARIZATION",e[e.DM_THRESHOLD_BINARIZATION=2]="DM_THRESHOLD_BINARIZATION",e[e.DM_GRAY_EQUALIZATION=4]="DM_GRAY_EQUALIZATION",e[e.DM_SMOOTHING=8]="DM_SMOOTHING",e[e.DM_MORPHING=16]="DM_MORPHING",e[e.DM_DEEP_ANALYSIS=32]="DM_DEEP_ANALYSIS",e[e.DM_SHARPENING=64]="DM_SHARPENING"}(v||(v={})),function(e){e[e.DRM_AUTO=1]="DRM_AUTO",e[e.DRM_GENERAL=2]="DRM_GENERAL",e[e.DRM_SKIP=0]="DRM_SKIP",e[e.DRM_REV=2147483648]="DRM_REV"}(p||(p={})),function(e){e[e.DPMCRM_AUTO=1]="DPMCRM_AUTO",e[e.DPMCRM_GENERAL=2]="DPMCRM_GENERAL",e[e.DPMCRM_SKIP=0]="DPMCRM_SKIP",e[e.DPMCRM_REV=2147483648]="DPMCRM_REV"}(M||(M={})),function(e){e[e.GTM_INVERTED=1]="GTM_INVERTED",e[e.GTM_ORIGINAL=2]="GTM_ORIGINAL",e[e.GTM_SKIP=0]="GTM_SKIP",e[e.GTM_REV=2147483648]="GTM_REV"}(C||(C={})),function(e){e[e.IPM_AUTO=1]="IPM_AUTO",e[e.IPM_GENERAL=2]="IPM_GENERAL",e[e.IPM_GRAY_EQUALIZE=4]="IPM_GRAY_EQUALIZE",e[e.IPM_GRAY_SMOOTH=8]="IPM_GRAY_SMOOTH",e[e.IPM_SHARPEN_SMOOTH=16]="IPM_SHARPEN_SMOOTH",e[e.IPM_MORPHOLOGY=32]="IPM_MORPHOLOGY",e[e.IPM_SKIP=0]="IPM_SKIP",e[e.IPM_REV=2147483648]="IPM_REV"}(y||(y={})),function(e){e[e.IRSM_MEMORY=1]="IRSM_MEMORY",e[e.IRSM_FILESYSTEM=2]="IRSM_FILESYSTEM",e[e.IRSM_BOTH=4]="IRSM_BOTH"}(L||(L={})),function(e){e[e.IRT_NO_RESULT=0]="IRT_NO_RESULT",e[e.IRT_ORIGINAL_IMAGE=1]="IRT_ORIGINAL_IMAGE",e[e.IRT_COLOUR_CLUSTERED_IMAGE=2]="IRT_COLOUR_CLUSTERED_IMAGE",e[e.IRT_COLOUR_CONVERTED_GRAYSCALE_IMAGE=4]="IRT_COLOUR_CONVERTED_GRAYSCALE_IMAGE",e[e.IRT_TRANSFORMED_GRAYSCALE_IMAGE=8]="IRT_TRANSFORMED_GRAYSCALE_IMAGE",e[e.IRT_PREDETECTED_REGION=16]="IRT_PREDETECTED_REGION",e[e.IRT_PREPROCESSED_IMAGE=32]="IRT_PREPROCESSED_IMAGE",e[e.IRT_BINARIZED_IMAGE=64]="IRT_BINARIZED_IMAGE",e[e.IRT_TEXT_ZONE=128]="IRT_TEXT_ZONE",e[e.IRT_CONTOUR=256]="IRT_CONTOUR",e[e.IRT_LINE_SEGMENT=512]="IRT_LINE_SEGMENT",e[e.IRT_FORM=1024]="IRT_FORM",e[e.IRT_SEGMENTATION_BLOCK=2048]="IRT_SEGMENTATION_BLOCK",e[e.IRT_TYPED_BARCODE_ZONE=4096]="IRT_TYPED_BARCODE_ZONE",e[e.IRT_PREDETECTED_QUADRILATERAL=8192]="IRT_PREDETECTED_QUADRILATERAL"}(O||(O={})),function(e){e[e.LM_SKIP=0]="LM_SKIP",e[e.LM_AUTO=1]="LM_AUTO",e[e.LM_CONNECTED_BLOCKS=2]="LM_CONNECTED_BLOCKS",e[e.LM_LINES=8]="LM_LINES",e[e.LM_STATISTICS=4]="LM_STATISTICS",e[e.LM_SCAN_DIRECTLY=16]="LM_SCAN_DIRECTLY",e[e.LM_STATISTICS_MARKS=32]="LM_STATISTICS_MARKS",e[e.LM_STATISTICS_POSTAL_CODE=64]="LM_STATISTICS_POSTAL_CODE",e[e.LM_CENTRE=128]="LM_CENTRE",e[e.LM_REV=2147483648]="LM_REV"}(b||(b={})),function(e){e[e.PDFRM_RASTER=1]="PDFRM_RASTER",e[e.PDFRM_AUTO=2]="PDFRM_AUTO",e[e.PDFRM_VECTOR=4]="PDFRM_VECTOR",e[e.PDFRM_REV=2147483648]="PDFRM_REV"}(N||(N={})),function(e){e[e.QRECL_ERROR_CORRECTION_H=0]="QRECL_ERROR_CORRECTION_H",e[e.QRECL_ERROR_CORRECTION_L=1]="QRECL_ERROR_CORRECTION_L",e[e.QRECL_ERROR_CORRECTION_M=2]="QRECL_ERROR_CORRECTION_M",e[e.QRECL_ERROR_CORRECTION_Q=3]="QRECL_ERROR_CORRECTION_Q"}(B||(B={})),function(e){e[e.RPM_AUTO=1]="RPM_AUTO",e[e.RPM_GENERAL=2]="RPM_GENERAL",e[e.RPM_GENERAL_RGB_CONTRAST=4]="RPM_GENERAL_RGB_CONTRAST",e[e.RPM_GENERAL_GRAY_CONTRAST=8]="RPM_GENERAL_GRAY_CONTRAST",e[e.RPM_GENERAL_HSV_CONTRAST=16]="RPM_GENERAL_HSV_CONTRAST",e[e.RPM_SKIP=0]="RPM_SKIP",e[e.RPM_REV=2147483648]="RPM_REV"}(P||(P={})),function(e){e[e.RCT_PIXEL=1]="RCT_PIXEL",e[e.RCT_PERCENTAGE=2]="RCT_PERCENTAGE"}(F||(F={})),function(e){e[e.RT_STANDARD_TEXT=0]="RT_STANDARD_TEXT",e[e.RT_RAW_TEXT=1]="RT_RAW_TEXT",e[e.RT_CANDIDATE_TEXT=2]="RT_CANDIDATE_TEXT",e[e.RT_PARTIAL_TEXT=3]="RT_PARTIAL_TEXT"}(w||(w={})),function(e){e[e.SUM_AUTO=1]="SUM_AUTO",e[e.SUM_LINEAR_INTERPOLATION=2]="SUM_LINEAR_INTERPOLATION",e[e.SUM_NEAREST_NEIGHBOUR_INTERPOLATION=4]="SUM_NEAREST_NEIGHBOUR_INTERPOLATION",e[e.SUM_SKIP=0]="SUM_SKIP",e[e.SUM_REV=2147483648]="SUM_REV"}(U||(U={})),function(e){e[e.TP_REGION_PREDETECTED=1]="TP_REGION_PREDETECTED",e[e.TP_IMAGE_PREPROCESSED=2]="TP_IMAGE_PREPROCESSED",e[e.TP_IMAGE_BINARIZED=4]="TP_IMAGE_BINARIZED",e[e.TP_BARCODE_LOCALIZED=8]="TP_BARCODE_LOCALIZED",e[e.TP_BARCODE_TYPE_DETERMINED=16]="TP_BARCODE_TYPE_DETERMINED",e[e.TP_BARCODE_RECOGNIZED=32]="TP_BARCODE_RECOGNIZED"}(k||(k={})),function(e){e[e.TFM_AUTO=1]="TFM_AUTO",e[e.TFM_GENERAL_CONTOUR=2]="TFM_GENERAL_CONTOUR",e[e.TFM_SKIP=0]="TFM_SKIP",e[e.TFM_REV=2147483648]="TFM_REV"}(V||(V={})),function(e){e[e.TROM_CONFIDENCE=1]="TROM_CONFIDENCE",e[e.TROM_POSITION=2]="TROM_POSITION",e[e.TROM_FORMAT=4]="TROM_FORMAT",e[e.TROM_SKIP=0]="TROM_SKIP",e[e.TROM_REV=2147483648]="TROM_REV"}(G||(G={})),function(e){e[e.TDM_AUTO=1]="TDM_AUTO",e[e.TDM_GENERAL_WIDTH_CONCENTRATION=2]="TDM_GENERAL_WIDTH_CONCENTRATION",e[e.TDM_SKIP=0]="TDM_SKIP",e[e.TDM_REV=2147483648]="TDM_REV"}(x||(x={}));class W{static get version(){return c.version}static get productKeys(){return c.productKeys}static set productKeys(e){c.productKeys=e}static get handshakeCode(){return c.handshakeCode}static set handshakeCode(e){c.handshakeCode=e}static get organizationID(){return c.organizationID}static set organizationID(e){c.organizationID=e}static get sessionPassword(){return c.sessionPassword}static set sessionPassword(e){c.sessionPassword=e}static get browserInfo(){return c.browserInfo}static detectEnvironment(){return c.detectEnvironment()}static get _workerName(){return c._workerName}static set _workerName(e){c._workerName=e}static get engineResourcePath(){return c.engineResourcePath}static set engineResourcePath(e){c.engineResourcePath=e}static get licenseServer(){return c.licenseServer}static set licenseServer(e){c.licenseServer=e}static get deviceFriendlyName(){return c.deviceFriendlyName}static set deviceFriendlyName(e){c.deviceFriendlyName=e}static get _onLog(){return c._onLog}static set _onLog(e){c._onLog=e}static get _bWasmDebug(){return c._bWasmDebug}static set _bWasmDebug(e){c._bWasmDebug=e}static get _bUseFullFeature(){return c._bUseFullFeature}static set _bUseFullFeature(e){c._bUseFullFeature=e}static get _dbrWorker(){return c._dbrWorker}static isLoaded(){return c.isLoaded()}static loadWasm(){return c.loadWasm()}}W.BarcodeReader=c,W.BarcodeScanner=g,W.EnumBarcodeColourMode=E,W.EnumBarcodeComplementMode=R,W.EnumBarcodeFormat=s,W.EnumBarcodeFormat_2=I,W.EnumBinarizationMode=f,W.EnumClarityCalculationMethod=A,W.EnumClarityFilterMode=m,W.EnumColourClusteringMode=S,W.EnumColourConversionMode=D,W.EnumConflictMode=T,W.EnumDeblurMode=v,W.EnumDeformationResistingMode=p,W.EnumDPMCodeReadingMode=M,W.EnumErrorCode=n,W.EnumGrayscaleTransformationMode=C,W.EnumImagePixelFormat=r,W.EnumImagePreprocessingMode=y,W.EnumIMResultDataType=o,W.EnumIntermediateResultSavingMode=L,W.EnumIntermediateResultType=O,W.EnumLocalizationMode=b,W.EnumPDFReadingMode=N,W.EnumQRCodeErrorCorrectionLevel=B,W.EnumRegionPredetectionMode=P,W.EnumResultCoordinateType=F,W.EnumResultType=w,W.EnumScaleUpMode=U,W.EnumTerminatePhase=k,W.EnumTextFilterMode=V,W.EnumTextResultOrderMode=G,W.EnumTextureDetectionMode=x;t.default=W}])}));let _dbr;{if(typeof dbr=="object"){_dbr=dbr.DBR;}else if(typeof module=="object"&&module.exports&&module.exports.default){_dbr=module.exports.default;}else if(typeof exports=="object"&&exports.dbr){_dbr=exports.dbr.DBR;}}export default _dbr;export const DBR=_dbr.DBR;export const BarcodeReader=_dbr.BarcodeReader;export const BarcodeScanner=_dbr.BarcodeScanner;export const EnumBarcodeColourMode=_dbr.EnumBarcodeColourMode;export const EnumBarcodeComplementMode=_dbr.EnumBarcodeComplementMode;export const EnumBarcodeFormat=_dbr.EnumBarcodeFormat;export const EnumBarcodeFormat_2=_dbr.EnumBarcodeFormat_2;export const EnumBinarizationMode=_dbr.EnumBinarizationMode;export const EnumClarityCalculationMethod=_dbr.EnumClarityCalculationMethod;export const EnumClarityFilterMode=_dbr.EnumClarityFilterMode;export const EnumColourClusteringMode=_dbr.EnumColourClusteringMode;export const EnumColourConversionMode=_dbr.EnumColourConversionMode;export const EnumConflictMode=_dbr.EnumConflictMode;export const EnumDeblurMode=_dbr.EnumDeblurMode;export const EnumDeformationResistingMode=_dbr.EnumDeformationResistingMode;export const EnumDPMCodeReadingMode=_dbr.EnumDPMCodeReadingMode;export const EnumErrorCode=_dbr.EnumErrorCode;export const EnumGrayscaleTransformationMode=_dbr.EnumGrayscaleTransformationMode;export const EnumImagePixelFormat=_dbr.EnumImagePixelFormat;export const EnumImagePreprocessingMode=_dbr.EnumImagePreprocessingMode;export const EnumIMResultDataType=_dbr.EnumIMResultDataType;export const EnumIntermediateResultSavingMode=_dbr.EnumIntermediateResultSavingMode;export const EnumIntermediateResultType=_dbr.EnumIntermediateResultType;export const EnumLocalizationMode=_dbr.EnumLocalizationMode;export const EnumPDFReadingMode=_dbr.EnumPDFReadingMode;export const EnumQRCodeErrorCorrectionLevel=_dbr.EnumQRCodeErrorCorrectionLevel;export const EnumRegionPredetectionMode=_dbr.EnumRegionPredetectionMode;export const EnumResultCoordinateType=_dbr.EnumResultCoordinateType;export const EnumResultType=_dbr.EnumResultType;export const EnumScaleUpMode=_dbr.EnumScaleUpMode;export const EnumTerminatePhase=_dbr.EnumTerminatePhase;export const EnumTextFilterMode=_dbr.EnumTextFilterMode;export const EnumTextResultOrderMode=_dbr.EnumTextResultOrderMode;export const EnumTextureDetectionMode=_dbr.EnumTextureDetectionMode; \ No newline at end of file diff --git a/dist/dbr.reference.d.ts b/dist/dbr.reference.d.ts new file mode 100644 index 00000000..4321b383 --- /dev/null +++ b/dist/dbr.reference.d.ts @@ -0,0 +1,1703 @@ +/** +* Dynamsoft JavaScript Library +* @product Dynamsoft Barcode Reader JS Edition +* @website http://www.dynamsoft.com +* @preserve Copyright 2021, Dynamsoft Corporation +* @author Dynamsoft +* @version 8.4.0 (js 20210628) +* @fileoverview Dynamsoft JavaScript Library for Barcode Reader +* More info on DBR JS: https://www.dynamsoft.com/Products/barcode-recognition-javascript.aspx +*/ +// Generated by dts-bundle-generator v4.3.0 + +/// + +interface LocalizationResult { + /** + * The angle of a barcode. Values range from 0 to 360. + */ + angle: number; + /** + * The X coordinate of the left-most point. + */ + x1: number; + /** + * The X coordinate of the second point in a clockwise direction. + */ + x2: number; + /** + * The X coordinate of the third point in a clockwise direction. + */ + x3: number; + /** + * The X coordinate of the fourth point in a clockwise direction. + */ + x4: number; + /** + * The Y coordinate of the left-most point. + */ + y1: number; + /** + * The Y coordinate of the second point in a clockwise direction. + */ + y2: number; + /** + * The Y coordinate of the third point in a clockwise direction. + */ + y3: number; + /** + * The Y coordinate of the fourth point in a clockwise direction. + */ + y4: number; +} +declare enum EnumBarcodeFormat { + BF_ALL = -31457281, + BF_ONED = 1050623, + BF_GS1_DATABAR = 260096, + BF_CODE_39 = 1, + BF_CODE_128 = 2, + BF_CODE_93 = 4, + BF_CODABAR = 8, + BF_ITF = 16, + BF_EAN_13 = 32, + BF_EAN_8 = 64, + BF_UPC_A = 128, + BF_UPC_E = 256, + BF_INDUSTRIAL_25 = 512, + BF_CODE_39_EXTENDED = 1024, + BF_GS1_DATABAR_OMNIDIRECTIONAL = 2048, + BF_GS1_DATABAR_TRUNCATED = 4096, + BF_GS1_DATABAR_STACKED = 8192, + BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL = 16384, + BF_GS1_DATABAR_EXPANDED = 32768, + BF_GS1_DATABAR_EXPANDED_STACKED = 65536, + BF_GS1_DATABAR_LIMITED = 131072, + BF_PATCHCODE = 262144, + BF_PDF417 = 33554432, + BF_QR_CODE = 67108864, + BF_DATAMATRIX = 134217728, + BF_AZTEC = 268435456, + BF_MAXICODE = 536870912, + BF_MICRO_QR = 1073741824, + BF_MICRO_PDF417 = 524288, + BF_GS1_COMPOSITE = -2147483648, + BF_MSI_CODE = 1048576, + BF_NULL = 0 +} +/** + * @see [C++ TextResult](https://www.dynamsoft.com/barcode-reader/programming/c-cplusplus/struct/TextResult.html?src=cpp&&ver=latest) +*/ +interface TextResult { + /** + * The barcode text. + */ + barcodeText: string; + /** + * The barcode format. + */ + barcodeFormat: number | EnumBarcodeFormat; + /** + * Barcode type in string. + */ + barcodeFormatString: string; + /** + * The barcode content in a byte array. + */ + barcodeBytes: number[]; + /** + * The corresponding localization result. + */ + localizationResult: LocalizationResult; +} +interface RegionDefinition { + regionBottom: number; + regionRight: number; + regionLeft: number; + regionTop: number; + regionMeasuredByPercentage: number | boolean; +} +declare enum EnumIntermediateResultType { + IRT_NO_RESULT = 0, + IRT_ORIGINAL_IMAGE = 1, + IRT_COLOUR_CLUSTERED_IMAGE = 2, + IRT_COLOUR_CONVERTED_GRAYSCALE_IMAGE = 4, + IRT_TRANSFORMED_GRAYSCALE_IMAGE = 8, + IRT_PREDETECTED_REGION = 16, + IRT_PREPROCESSED_IMAGE = 32, + IRT_BINARIZED_IMAGE = 64, + IRT_TEXT_ZONE = 128, + IRT_CONTOUR = 256, + IRT_LINE_SEGMENT = 512, + IRT_FORM = 1024, + IRT_SEGMENTATION_BLOCK = 2048, + IRT_TYPED_BARCODE_ZONE = 4096, + IRT_PREDETECTED_QUADRILATERAL = 8192 +} +declare enum EnumTerminatePhase { + TP_REGION_PREDETECTED = 1, + TP_IMAGE_PREPROCESSED = 2, + TP_IMAGE_BINARIZED = 4, + TP_BARCODE_LOCALIZED = 8, + TP_BARCODE_TYPE_DETERMINED = 16, + TP_BARCODE_RECOGNIZED = 32 +} +declare enum EnumTextResultOrderMode { + TROM_CONFIDENCE = 1, + TROM_POSITION = 2, + TROM_FORMAT = 4, + TROM_SKIP = 0, + TROM_REV = 2147483648 +} +declare enum EnumBinarizationMode { + BM_AUTO = 1, + BM_LOCAL_BLOCK = 2, + BM_SKIP = 0, + BM_THRESHOLD = 4, + BM_REV = 2147483648 +} +declare enum EnumPDFReadingMode { + PDFRM_RASTER = 1, + PDFRM_AUTO = 2, + PDFRM_VECTOR = 4, + PDFRM_REV = 2147483648 +} +declare enum EnumScaleUpMode { + SUM_AUTO = 1, + SUM_LINEAR_INTERPOLATION = 2, + SUM_NEAREST_NEIGHBOUR_INTERPOLATION = 4, + SUM_SKIP = 0, + SUM_REV = 2147483648 +} +declare enum EnumLocalizationMode { + LM_SKIP = 0, + LM_AUTO = 1, + LM_CONNECTED_BLOCKS = 2, + LM_LINES = 8, + LM_STATISTICS = 4, + LM_SCAN_DIRECTLY = 16, + LM_STATISTICS_MARKS = 32, + LM_STATISTICS_POSTAL_CODE = 64, + LM_CENTRE = 128, + LM_REV = 2147483648 +} +declare enum EnumBarcodeFormat_2 { + BF2_NULL = 0, + BF2_POSTALCODE = 32505856, + BF2_NONSTANDARD_BARCODE = 1, + BF2_USPSINTELLIGENTMAIL = 1048576, + BF2_POSTNET = 2097152, + BF2_PLANET = 4194304, + BF2_AUSTRALIANPOST = 8388608, + BF2_RM4SCC = 16777216, + BF2_DOTCODE = 2 +} +declare enum EnumResultCoordinateType { + RCT_PIXEL = 1, + RCT_PERCENTAGE = 2 +} +/** + * @see [C++ RuntimeSettings](https://www.dynamsoft.com/barcode-reader/programming/c-cplusplus/struct/PublicRuntimeSettings.html?src=cpp&&ver=latest) + */ +interface RuntimeSettings { + /** + * Sets the formats of the barcode in BarcodeFormat group 1 to be read. Barcode formats in BarcodeFormat group 1 can be combined. + * ```js + * let runtimeSettings = await reader.getRuntimeSettings(); + * runtimeSettings.barcodeFormatIds = Dynamsoft.DBR.EnumBarcodeFormat.BF_ONED | Dynamsoft.DBR.EnumBarcodeFormat.BF_QR_CODE; + * await reader.updateRuntimeSettings(runtimeSettings); + * ``` + */ + barcodeFormatIds: number | EnumBarcodeFormat; + /** + * Sets the formats of the barcode in BarcodeFormat group 2 to be read. Barcode formats in BarcodeFormat group 1 can be combined. + */ + barcodeFormatIds_2: number | EnumBarcodeFormat_2; + /** + * Sets the mode and priority for binarization. + */ + binarizationModes: EnumBinarizationMode[]; + /** + * Sets the degree of blurriness of the barcode. + */ + deblurLevel: number; + /** + * Sets the number of barcodes expected to be detected for each image. + */ + expectedBarcodesCount: number; + /** + * Sets the further modes. + */ + furtherModes: any; + /** + * Sets which types of intermediate result to be kept for further reference. Intermediate result types can be combined. + */ + intermediateResultTypes: EnumIntermediateResultType; + /** + * Sets the mode and priority for localization algorithms. + */ + localizationModes: number[] | EnumLocalizationMode[]; + /** + * Sets the range of barcode text length for barcodes search + */ + minBarcodeTextLength: number; + /** + * The minimum confidence of the result + */ + minResultConfidence: number; + /** + * Not available in JS. Sets the way to detect barcodes from a PDF file when using the DecodeFile method. + */ + PDFReadingMode: EnumPDFReadingMode; + /** + * Sets the region definition including the regionTop, regionLeft, regionRight, regionBottom and regionMeasuredByPercentage. + * + * Experimental feature: + * + * In [BarcodeScanner](../BarcodeScanner.md), `region` can be an array. For example `region = [r0, r1, r2]`, 0th frame use `r0`, 1st use `r1`, 2nd use `r2`, 3rd use `r0`, and then loop like this. + */ + region: RegionDefinition; + /** + * Specifies the format for the coordinates returned + */ + resultCoordinateType: number | EnumResultCoordinateType; + /** + * Sets whether or not to return the clarity of the barcode zone. + */ + returnBarcodeZoneClarity: number; + /** + * Sets the threshold for the image shrinking + */ + scaleDownThreshold: number; + /** + * Sets the mode and priority to control the sampling methods of scale-up for linear barcode with small module sizes. + */ + scaleUpModes: EnumScaleUpMode[]; + /** + * Sets the phase where the algorithm stops. + */ + terminatePhase: EnumTerminatePhase; + /** + * Sets the mode and priority for the order of the text results returned. + */ + textResultOrderModes: EnumTextResultOrderMode[]; + /** + * Sets the maximum amount of time (in milliseconds) that should be spent searching for a barcode per page. + * It does not include the time taken to load/decode an image (Tiff, PNG, etc) from disk into memory. + */ + timeout: number; +} +declare enum EnumImagePixelFormat { + IPF_Binary = 0, + IPF_BinaryInverted = 1, + IPF_GrayScaled = 2, + IPF_NV21 = 3, + IPF_RGB_565 = 4, + IPF_RGB_555 = 5, + IPF_RGB_888 = 6, + IPF_ARGB_8888 = 7, + IPF_RGB_161616 = 8, + IPF_ARGB_16161616 = 9, + IPF_ABGR_8888 = 10, + IPF_ABGR_16161616 = 11, + IPF_BGR_888 = 12 +} +declare enum EnumErrorCode { + DBR_SYSTEM_EXCEPTION = 1, + DBR_SUCCESS = 0, + DBR_UNKNOWN = -10000, + DBR_NO_MEMORY = -10001, + DBR_NULL_REFERENCE = -10002, + DBR_LICENSE_INVALID = -10003, + DBR_LICENSE_EXPIRED = -10004, + DBR_FILE_NOT_FOUND = -10005, + DBR_FILETYPE_NOT_SUPPORTED = -10006, + DBR_BPP_NOT_SUPPORTED = -10007, + DBR_INDEX_INVALID = -10008, + DBR_BARCODE_FORMAT_INVALID = -10009, + DBR_CUSTOM_REGION_INVALID = -10010, + DBR_MAX_BARCODE_NUMBER_INVALID = -10011, + DBR_IMAGE_READ_FAILED = -10012, + DBR_TIFF_READ_FAILED = -10013, + DBR_QR_LICENSE_INVALID = -10016, + DBR_1D_LICENSE_INVALID = -10017, + DBR_DIB_BUFFER_INVALID = -10018, + DBR_PDF417_LICENSE_INVALID = -10019, + DBR_DATAMATRIX_LICENSE_INVALID = -10020, + DBR_PDF_READ_FAILED = -10021, + DBR_PDF_DLL_MISSING = -10022, + DBR_PAGE_NUMBER_INVALID = -10023, + DBR_CUSTOM_SIZE_INVALID = -10024, + DBR_CUSTOM_MODULESIZE_INVALID = -10025, + DBR_RECOGNITION_TIMEOUT = -10026, + DBR_JSON_PARSE_FAILED = -10030, + DBR_JSON_TYPE_INVALID = -10031, + DBR_JSON_KEY_INVALID = -10032, + DBR_JSON_VALUE_INVALID = -10033, + DBR_JSON_NAME_KEY_MISSING = -10034, + DBR_JSON_NAME_VALUE_DUPLICATED = -10035, + DBR_TEMPLATE_NAME_INVALID = -10036, + DBR_JSON_NAME_REFERENCE_INVALID = -10037, + DBR_PARAMETER_VALUE_INVALID = -10038, + DBR_DOMAIN_NOT_MATCHED = -10039, + DBR_RESERVEDINFO_NOT_MATCHED = -10040, + DBR_AZTEC_LICENSE_INVALID = -10041, + DBR_LICENSE_DLL_MISSING = -10042, + DBR_LICENSEKEY_NOT_MATCHED = -10043, + DBR_REQUESTED_FAILED = -10044, + DBR_LICENSE_INIT_FAILED = -10045, + DBR_PATCHCODE_LICENSE_INVALID = -10046, + DBR_POSTALCODE_LICENSE_INVALID = -10047, + DBR_DPM_LICENSE_INVALID = -10048, + DBR_FRAME_DECODING_THREAD_EXISTS = -10049, + DBR_STOP_DECODING_THREAD_FAILED = -10050, + DBR_SET_MODE_ARGUMENT_ERROR = -10051, + DBR_LICENSE_CONTENT_INVALID = -10052, + DBR_LICENSE_KEY_INVALID = -10053, + DBR_LICENSE_DEVICE_RUNS_OUT = -10054, + DBR_GET_MODE_ARGUMENT_ERROR = -10055, + DBR_IRT_LICENSE_INVALID = -10056, + DBR_MAXICODE_LICENSE_INVALID = -10057, + DBR_GS1_DATABAR_LICENSE_INVALID = -10058, + DBR_GS1_COMPOSITE_LICENSE_INVALID = -10059, + DBR_DOTCODE_LICENSE_INVALID = -10061, + DMERR_NO_LICENSE = -20000, + DMERR_LICENSE_SYNC_FAILED = -20003, + DMERR_TRIAL_LICENSE = -20010, + DMERR_FAILED_TO_REACH_LTS = -20200 +} +interface BarcodeReaderException extends Error { + code?: EnumErrorCode; +} +/** + * The `BarcodeReader` class is used for image decoding + * Comparing to `BarcodeScanner`, the default decoding settings are more accurate but slower. + * ```js + * let reader = await Dynamsoft.DBR.BarcodeReader.createInstance(); + * let results = await reader.decode(imageSource); + * for(let result of results){ + * console.log(result.barcodeText); + * } + * ``` + */ +declare class BarcodeReader { + private static _jsVersion; + private static _jsEditVersion; + protected static _version: string; + /** + * Get the current version. + */ + static get version(): string; + protected static _productKeys: string; + static get productKeys(): string; + /** + * Get or set the Dynamsoft Barcode Reader SDK product keys. + * ```js + * Dynamsoft.DBR.BarcodeReader.productKeys = "PRODUCT-KEYS"; + * ``` + * For convenience, you can set `productKeys` in `script` tag instead. + * ```html + * + * ``` + */ + static set productKeys(keys: string); + static get handshakeCode(): string; + /** + * Get or set the Dynamsoft Barcode Reader SDK handshake code. The `handshakeCode` is an alias of `productKeys`. Specifically refers to the key that requires **network** authentication. + * ```js + * Dynamsoft.DBR.BarcodeReader.handshakeCode = "123****-mytest"; + * ``` + * For convenience, you can set `handshakeCode` in `script` tag instead. + * ```html + * + * ``` + */ + static set handshakeCode(keys: string); + protected static _organizationID: string; + static get organizationID(): string; + /** + * Use organization ID to get authentication from network. Keep handshakeCode empty if you want to use default `handshake` of the organization. + * ```js + * Dynamsoft.DBR.BarcodeReader.organizationID = "123****"; + * ``` + * For convenience, you can set `organizationID` in `script` tag instead. + * ```html + * + * ``` + * @see [[handshakeCode]] + */ + static set organizationID(value: string); + /** @ignore */ + static _sessionPassword: string; + /** + * Specify a password to protect the `Handshake Code` from abuse. + * ```js + * Dynamsoft.DBR.BarcodeReader.handshakeCode = "123****-mytest"; + * Dynamsoft.DBR.BarcodeReader.sessionPassword = "@#$%****"; + * ``` + * For convenience, you can set `organizationID` in `script` tag instead. + * ```html + * + * ``` + * @see [[handshakeCode]] + */ + static set sessionPassword(value: string); + static get sessionPassword(): string; + /** @ignore */ + static _limitModules?: string[]; + /** @ignore */ + static _chargeWay?: string; + /** + * modify from https://gist.github.com/2107/5529665 + * @ignore + */ + static browserInfo: any; + /** + * Detect environment and get a report. + * ```js + * console.log(Dynamsoft.DBR.BarcodeReader.detectEnvironment()); + * // {"wasm":true, "worker":true, "getUserMedia":true, "camera":true, "browser":"Chrome", "version":90, "OS":"Windows"} + * ``` + */ + static detectEnvironment(): Promise; + /** @ignore */ + static _workerName: string; + protected static _engineResourcePath?: string; + static get engineResourcePath(): string; + /** + * Specify the Barcode Reader SDK engine (WASM) url. The SDK tries to automatically explore the engine location. + * If the auto-explored engine location is incorrect, you can manually specify the engine location. + * The property needs to be set before [[loadWasm]]. + * ```js + * Dynamsoft.DBR.BarcodeReader.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/"; + * await Dynamsoft.DBR.BarcodeReader.loadWasm(); + * ``` + */ + static set engineResourcePath(value: string); + /** @ignore */ + protected static _licenseServer?: string[]; + static get licenseServer(): string[] | string; + /** + * Specify the license server URL. + */ + static set licenseServer(value: string[] | string); + private static _deviceFriendlyName; + /** + * @ignore + */ + static get deviceFriendlyName(): string; + /** @ignore */ + static set deviceFriendlyName(value: string); + /** + * @ignore + */ + static _isShowRelDecodeTimeInResults: boolean; + /** + * @ignore + */ + _canvasMaxWH: number; + /** + * @ignore + */ + static _onLog: (message: any) => void; + /** + * @ignore + */ + static _bWasmDebug: boolean; + /** + * @ignore + */ + static _bNeverShowDialog: boolean; + /** + * Whether to use full feature wasm. The api may change in later version. + * For web, `_bUseFullFeature` is false as default. + * For Node.js, `_bUseFullFeature` will not work, and BarcodeReader will always work on full feature. + * The property needs to be set before `loadWasm`. + *
+	 * Compact wasm:
+	 * oned + qr + pdf417 + datamatrix.
+	 * ===
+	 * Full wasm:
+	 * all supported barcode format +
+	 * high level deblur available (lv8, 9) +
+	 * DPM +
+	 * template API +
+	 * intermediate results API
+	 * ===
+	 * e.g.:
+	 * Use compact in video deocode (small, download and initialization fast).
+	 * Use full in file decode (need high level deblur).
+	 * 
+ * + * ```js + * DBR.BarcodeReader._bUseFullFeature = true; + * await DBR.BarcodeReader.loadWasm(); + * ``` + */ + protected static __bUseFullFeature: boolean; + static get _bUseFullFeature(): boolean; + static set _bUseFullFeature(value: boolean); + /** @ignore */ + static _dbrWorker: Worker; + protected static _nextTaskID: number; + protected static _taskCallbackMap: Map void>; + private static _loadWasmStatus; + private static _loadWasmCallbackArr; + /** @ignore */ + _instanceID: number; + /** + * Whether to save the original image into canvas. + * ```js + * reader.bSaveOriCanvas = true; + * let results = await reader.decode(source); + * document.body.append(reader.oriCanvas); + * ``` + */ + bSaveOriCanvas: boolean; + /** + * The original canvas. + * ```js + * reader.bSaveOriCanvas = true; + * let results = await reader.decode(source); + * document.body.append(reader.oriCanvas); + * ``` + */ + oriCanvas?: HTMLCanvasElement | OffscreenCanvas; + /** @ignore */ + maxVideoCvsLength: number; + protected videoCvses?: (HTMLCanvasElement | OffscreenCanvas)[]; + protected videoGlCvs?: HTMLCanvasElement | OffscreenCanvas; + protected videoGl?: WebGLRenderingContext | WebGL2RenderingContext; + protected glImgData?: Uint8Array; + protected bufferShared: Uint8Array | Uint8ClampedArray; + protected bFilterRegionInJs: boolean; + protected userDefinedRegion: any; + protected _region?: RegionDefinition | RegionDefinition[]; + protected set region(value: null | RegionDefinition | RegionDefinition[]); + protected get region(): null | RegionDefinition | RegionDefinition[]; + /** @ignore */ + _timeStartDecode: any; + /** @ignore */ + _timeEnterInnerDBR: any; + /** @ignore */ + _bUseWebgl: boolean; + /** @ignore */ + decodeRecords: any; + /** + * @ignore A callback when wasm download success in browser environment. + */ + static _onWasmDownloaded: () => void; + /** + * Check if the decoding module is loaded. + * @category Initialize and Destroy + */ + static isLoaded(): boolean; + /** + * Indicates whether the instance has been destroyed. + */ + bDestroyed: boolean; + /** @ignore */ + protected static _lastErrorCode: number; + /** @ignore */ + static get lastErrorCode(): number; + /** @ignore */ + protected static _lastErrorString: string; + /** @ignore */ + static get lastErrorString(): string; + /** @ignore */ + protected _setWarnnedEx: Set; + /** @ignore */ + protected _lastErrorCode: number; + /** @ignore */ + get lastErrorCode(): number; + /** @ignore */ + protected _lastErrorString: string; + /** @ignore */ + get lastErrorString(): string; + /** @ignore */ + _lastInnerDecodeDuration: number; + private static _loadWasmErr; + /** + * Before most operations, `loadWasm` needs to be excuted firstly. + * Most time, you do not need excute `loadWasm` manually. Because when you excute [[createInstance]], `loadWasm` will be excuted implicitly. + * Some properties can't be changed after `loadWasm`. + * Calling `loadWasm` in advance can avoid the long wait when `createInstance`. + * ```js + * window.addEventListener('DOMContentLoaded', (event) => { + * DBR.BarcodeReader.loadWasm(); + * }); + * ``` + * @category Initialize and Destroy + */ + static loadWasm(): Promise; + /** + * @param type "warn" or "error" + * @param content + * @returns + */ + protected static showDialog(type: string, content: string): Promise; + protected static createInstanceInWorker(bScanner?: boolean): Promise; + /** + * Create a `BarcodeReader` instance. + * ``` + * let reader = await Dynamsoft.DBR.BarcodeReader.createInstance(); + * ``` + * @category Initialize and Destroy + */ + static createInstance(): Promise; + /** + * Decode barcodes from a image. + * + * The main decoding method can accept a variety of data types, including binary data, images, base64 (with mime), urls, etc. + * + * The image format can be `png`, `jpeg`, `bmp`, `gif` and a few other (some browsers support `webp`, `tif`). + * + * ```js + * let results = await reader.decode(blob); + * for(let result of results){ + * console.log(result.barcodeText); + * } + * + * let results2 = await reader.decode(htmlImageElement); + * let results2 = await reader.decode(url); + * + * // like `data:image/png;base64,iV************` + * let results3 = await reader.decode(base64WithMime); + * ``` + * + * And you can get a frame to decode from the `HTMLVideoElement`. + * + * ```js + * // The frame currently played will be decode. + * let results; + * try{ + * results = await reader.decode(htmlVideoElement); + * }catch(ex){ + * // If no frame in the video, will throw an exception. + * } + * ``` + * If you need to continuously decode a video, you can use [BarcodeScanner](../BarcodeScanner/index.md) instead. + * @param source + * @category Decode + */ + decode(source: Blob | Buffer | ArrayBuffer | Uint8Array | Uint8ClampedArray | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | string): Promise; + /** + * The decoding method can accept base64 with or without mime. + * e.g. `data:image/jpg;base64,Xfjshekk....` or `Xfjshekk...`. + * ```js + * let results = await reader.decodeBase64String(strBase64); + * for(let result of results){ + * console.log(result.barcodeText); + * } + * ``` + * @param base64 + * @category Decode + */ + decodeBase64String(base64: string): Promise; + /** + * The decoding method can accept url. The url source need to be in the same domain or allowed cors. + * ```js + * let results = await reader.decodeUrl("./1.png"); + * for(let result of results){ + * console.log(result.barcodeText); + * } + * ``` + * @param url + * @category Decode + */ + decodeUrl(url: string): Promise; + /** + * Decodes barcodes from the memory buffer containing image pixels in defined format. + * @ignore + */ + _decodeBuffer_Uint8Array(buffer: Uint8Array | Uint8ClampedArray, width: number, height: number, stride: number, format: EnumImagePixelFormat, config?: any): Promise; + /** + * + * @param buffer + * @param width + * @param height + * @param stride + * @param format + * @param config + * @ignore + */ + _decodeBuffer_Blob(buffer: Blob, width: number, height: number, stride: number, format: EnumImagePixelFormat, config?: any): Promise; + /** + * Decode barcodes from raw image data. + * @param buffer + * @param width + * @param height + * @param stride + * @param format + * @param config + * @category Decode + */ + decodeBuffer(buffer: Uint8Array | Uint8ClampedArray | ArrayBuffer | Blob | Buffer, width: number, height: number, stride: number, format: EnumImagePixelFormat, config?: any): Promise; + /** @ignore */ + _decodeFileInMemory_Uint8Array(bytes: Uint8Array): Promise; + /** + * Gets current runtime settings. + * ```js + * let settings = await reader.getRuntimeSettings(); + * settings.deblurLevel = 5; + * await reader.updateRuntimeSettings(settings); + * ``` + * @see [RuntimeSettings](https://www.dynamsoft.com/barcode-reader/programming/c-cplusplus/struct/PublicRuntimeSettings.html?ver=latest&utm_source=github&package=js) + * @category Runtime Settings + */ + getRuntimeSettings(): Promise; + /** + * Update runtime settings with a given struct, or a string of `speed`, `balance` or `coverage` to use preset settings for BarcodeReader. + * The default settings for BarcodeReader is `coverage`. + * ```js + * await reader.updateRuntimeSettings('balance'); + * let settings = await reader.getRuntimeSettings(); + * settings.barcodeFormatIds = Dynamsoft.DBR.EnumBarcodeFormat.BF_ONED; + * await reader.updateRuntimeSettings(settings); + * ``` + * @see [RuntimeSettings](https://www.dynamsoft.com/barcode-reader/programming/c-cplusplus/struct/PublicRuntimeSettings.html?ver=latest&utm_source=github&package=js) + * @category Runtime Settings + */ + updateRuntimeSettings(settings: RuntimeSettings | string): Promise; + /** + * Resets all parameters to default values. + * ```js + * await reader.resetRuntimeSettings(); + * ``` + * @category Runtime Settings + */ + resetRuntimeSettings(): Promise; + /** + * Outputs the license content as an encrypted string from the license server to be used for offline license verification. + * ```js + * let strSettings = await reader.outputSettingsToString(); + * ``` + * The method is only supported in the full feature edition. + * @ignore + * @category Runtime Settings + */ + outputSettingsToString(): Promise; + /** + * Initialize runtime settings with the settings in given JSON string. + * ```js + * await reader.initRuntimeSettingsWithString("{\"Version\":\"3.0\", \"ImageParameter\":{\"Name\":\"IP1\", \"BarcodeFormatIds\":[\"BF_QR_CODE\"], \"ExpectedBarcodesCount\":10}}"); + * ``` + * The method is only supported in the full feature edition. + * @ignore + * @category Runtime Settings + */ + initRuntimeSettingsWithString(settings: any): Promise; + private _decode_Blob; + /** + * + * @param arrayBuffer + * @param config + * @ignore + */ + private _decode_ArrayBuffer; + /** + * + * @param uint8Array + * @param config + * @ignore + */ + private _decode_Uint8Array; + /** + * + * @param image + * @param config + * @ignore + */ + private _decode_Image; + private _decode_Canvas; + /** + * decode video is not multi call safe in an instance, we reuse many thing for speed, so make sure wait util one finish then call next + * @param video + * @param config + * @ignore + */ + _decode_Video(video: HTMLVideoElement, config?: any): Promise; + private _decode_Base64; + private _decode_Url; + private _decode_FilePath; + /** @ignore */ + static fixResultLocationWhenFilterRegionInJs(region: any, results: TextResult[], sx: number, sy: number, sWidth: number, sHeight: number, dWidth: number, dHeight: number): void; + /** @ignore */ + static BarcodeReaderException(ag0: any, ag1: any): BarcodeReaderException; + protected _handleRetJsonString(objRet: any): any; + /** + * Set argument value for the specified mode parameter. + * ```js + * await reader.setModeArgument("BinarizationModes", 0, "EnableFillBinaryVacancy", "1"); + * ``` + * @param modeName + * @param index + * @param argumentName + * @param argumentValue + * @category Runtime Settings + */ + setModeArgument(modeName: string, index: number, argumentName: string, argumentValue: string): Promise; + /** + * Get argument value for the specified mode parameter. + * ```js + * let argumentValue = await reader.getModeArgument("BinarizationModes", 0, "EnableFillBinaryVacancy"); + * ``` + * @param modeName + * @param index + * @param argumentName + * @category Runtime Settings + */ + getModeArgument(modeName: string, index: number, argumentName: string): Promise; + /** + * The method is only supported in the full feature edition. + * Returns intermediate results containing the original image, the colour clustered image, the binarized Image, contours, Lines, TextBlocks, etc. + * ```js + * let imResults = await reader.getIntermediateResults(); + * ``` + * @ignore + */ + getIntermediateResults(): Promise; + /** @ignore */ + getIntermediateCanvas(): Promise; + /** + * Destroy the `BarcodeReader` instance. If your page needs to create new instances from time to time, don't forget to destroy unused old instances, otherwise it will cause memory leaks. + * @category Initialize and Destroy + */ + destroy(): Promise; +} +interface FrameFilter { + /** + * The region definition of the frame to calculate the internal indicator. + * Default Value: { regionLeft = 0, regionRight = 100, regionTop = 0, regionBottom = 100, regionMeasuredByPercentage = true } + */ + region?: RegionDefinition | any; + /** + * The threshold used for filtering frames. + * Value range: [0, 1]. + * Default value: 0.1. + * The SDK will calculate an inner indicator for each frame from AppendFrame(), if the change rate of the indicators between the current frame and the history frames is larger than the given threshold, the current frame will not be added to the inner frame queue waiting for decoding. + */ + threshold?: number; +} +/** + * let scanSettings = await scanner.getScanSettings(); + * scanSettings.intervalTime = 100; // 100ms + * scanSettings.duplicateForgetTime = 3000; // 3s + * await scanner.updateScanSettings(scanSettings); + */ +interface ScanSettings { + intervalTime?: number; + duplicateForgetTime?: number; + /** + * Filter frame during focusing. + * `region` define the detecting area. + * `threshold` is (0,1). + * ```js + * scanSettings.frameFilter = { + * region: { + * regionLeft: 0, + * regionTop: 47, + * regionRight: 100, + * regionBottom: 53, + * regionMeasuredByPercentage: true + * }, + * threshold: 0.01 + * }; + * ``` + */ + frameFilter?: FrameFilter; +} +interface VideoDeviceInfo { + deviceId: string; + label: string; +} +interface ScannerPlayCallbackInfo { + height: number; + width: number; +} +/** + * The `BarcodeScanner` class is used for video decoding. + * ```js + * let scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance(); + * scanner.onUnduplicatedRead = txt => console.log(txt); + * await scanner.show(); + * ``` + */ +declare class BarcodeScanner extends BarcodeReader { + private static _defaultUIElementURL; + static get defaultUIElementURL(): string; + /** + * The url of the default scanner UI. + * Can only be changed before `createInstance`. + * ```js + * Dynamsoft.DBR.BarcodeScanner.defaultUIElementURL = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.scanner.html"; + * let scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance(); + * await scanner.show(); + * ``` + */ + static set defaultUIElementURL(value: string); + /** @ignore */ + /** @ignore */ + UIElement: HTMLElement; + /** + * Get HTML element containing the `BarcodeScanner` instance. + * @category UI + */ + getUIElement(): HTMLElement; + /** + * Set html element containing the `BarcodeScanner` instance. + * ```html + * + * + * ``` + * @param element + * @category UI + */ + setUIElement(elementOrUrl: HTMLElement | string): Promise; + /** @ignore */ + private styleEls; + /** @ignore */ + videoSettings: MediaStreamConstraints; + private _singleFrameMode; + /** + * A mode not use video, get a frame from OS camera instead. + * ```js + * let scanner = await Dynamsoft.DBR.BarcodeReader.createInstance(); + * if(scanner.singleFrameMode){ + * // the browser does not provide webrtc API, dbrjs automatically use singleFrameMode instead + * scanner.show(); + * } + * ``` + */ + get singleFrameMode(): boolean; + /** + * A mode not use video, get a frame from OS camera instead. + * ```js + * let scanner = await Dynamsoft.DBR.BarcodeReader.createInstance(); + * scanner.singleFrameMode = true; // use singleFrameMode anyway + * scanner.show(); + * ``` + */ + set singleFrameMode(value: boolean); + private _singleFrameModeIpt; + private _clickIptSingleFrameMode; + /** @ignore */ + intervalTime: number; + private _isOpen; + private _assertOpen; + private _bPauseScan; + /** @ignore */ + _lastDeviceId: string; + private _intervalDetectVideoPause; + private _vc_bPlayingVideoBeforeHide; + private _ev_documentHideEvent; + /** @ignore */ + _video: HTMLVideoElement; + /** @ignore */ + _cvsDrawArea: HTMLCanvasElement; + /** @ignore */ + _divScanArea: any; + /** @ignore */ + _divScanLight: any; + /** @ignore */ + _bgLoading: any; + /** @ignore */ + _bgCamera: any; + /** @ignore */ + _selCam: any; + /** @ignore */ + _selRsl: any; + /** @ignore */ + _optGotRsl: any; + /** @ignore */ + _btnClose: any; + /** @ignore */ + private _soundOnSuccessfullRead; + /** + * The sound to play when the scanner get successfull read. + */ + get soundOnSuccessfullRead(): HTMLAudioElement; + /** + * The sound to play when the scanner get successfull read. + * ```js + * scanner.soundOnSuccessfullRead = new Audio("./pi.mp3"); + * ``` + */ + set soundOnSuccessfullRead(value: HTMLAudioElement); + /** + * Whether to play sound when the scanner reads a barcode successfully. + * Default value is `false`, which does not play sound. + * Use `frame` or `true` to play a sound when any barcode is found within a frame. + * Use `unduplicated` to play a sound only when any unique/unduplicated barcode is found within a frame. + * ```js + * // A user gesture required. https://developers.google.com/web/updates/2017/09/autoplay-policy-changes#chrome_enterprise_policies + * startPlayButton.addEventListener('click', function() { + * scanner.bPlaySoundOnSuccessfulRead = true; + * }); + * ``` + * refer: `favicon bug` https://bugs.chromium.org/p/chromium/issues/detail?id=1069731&q=favicon&can=2 + */ + bPlaySoundOnSuccessfulRead: (boolean | string); + /** + * Whether to vibrate when the scanner reads a barcode successfully. + * Default value is `false`, which does not vibrate. + * Use `frame` or `true` to vibrate when any barcode is found within a frame. + * Use `unduplicated` to vibrate only when any unique/unduplicated barcode is found within a frame. + * ```js + * // Can I use? https://caniuse.com/?search=vibrate + * // A user gesture required. https://developers.google.com/web/updates/2017/09/autoplay-policy-changes#chrome_enterprise_policies + * startVibrateButton.addEventListener('click', function() { + * scanner.bVibrateOnSuccessfulRead = true; + * }); + * ``` + */ + bVibrateOnSuccessfulRead: (boolean | string); + /** + * Get or set how long (ms) the vibration lasts. + * @see [[bVibrateOnSuccessfulRead]] + */ + vibrateDuration: number; + /** @ignore */ + _allCameras: VideoDeviceInfo[]; + /** @ignore */ + _currentCamera?: VideoDeviceInfo; + /** @ignore */ + _videoTrack: MediaStreamTrack; + /** + * Set the style used when filling the mask beyond the region. + * @category UI + */ + regionMaskFillStyle: string; + /** + * Set the style of the region border. + * @category UI + */ + regionMaskStrokeStyle: string; + /** + * Set the width of the region border. + * @category UI + */ + regionMaskLineWidth: number; + /** + * Set the style used when filling in located barcode. + * @category UI + */ + barcodeFillStyle: string; + /** + * Set the style of the located barcode border. + * @category UI + */ + barcodeStrokeStyle: string; + /** + * Set the width of the located barcode border. + * @category UI + */ + barcodeLineWidth: number; + protected beingLazyDrawRegionsults: boolean; + protected set region(value: null | RegionDefinition | RegionDefinition[]); + protected get region(): null | RegionDefinition | RegionDefinition[]; + protected _indexVideoRegion: number; + /** @ignore */ + constructor(); + /** + * Create a `BarcodeScanner` object. + * ``` + * let scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance(); + * ``` + * @param config + * @category Initialize and Destroy + */ + static createInstance(config?: any): Promise; + /** @ignore */ + decode(source: Blob | ArrayBuffer | Uint8Array | Uint8ClampedArray | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | string): Promise; + /** @ignore */ + decodeBase64String(source: string): Promise; + /** @ignore */ + decodeUrl(source: string): Promise; + /** @ignore */ + decodeBuffer(buffer: Uint8Array | Uint8ClampedArray | ArrayBuffer | Blob, width: number, height: number, stride: number, format: EnumImagePixelFormat, config?: any): Promise; + /** + * Decode barcodes from the current frame of the video. + * ```js + * await scanner.showVideo(); + * console.log(await scanner.decodeCurrentFrame()); + * ``` + * @category Decode + */ + decodeCurrentFrame(config?: any): Promise; + private clearMapDecodeRecord; + private static readonly singlePresetRegion; + private static isRegionSinglePreset; + private static isRegionNormalPreset; + /** + * Update runtime settings with a given struct, or a string of `speed`, `balance`, `coverage` and `single` to use preset settings for BarcodeScanner. + * We recommend using the speed-optimized `single` preset if scanning only one barcode at a time. The `single` is only available in `BarcodeScanner`. + * The default settings for BarcodeScanner is `single`. + * ```js + * await scanner.updateRuntimeSettings('balance'); + * let settings = await scanner.getRuntimeSettings(); + * settings.barcodeFormatIds = Dynamsoft.DBR.EnumBarcodeFormat.BF_ONED; + * await scanner.updateRuntimeSettings(settings); + * ``` + * @see [RuntimeSettings](https://www.dynamsoft.com/barcode-reader/programming/c-cplusplus/struct/PublicRuntimeSettings.html?ver=latest&utm_source=github&package=js) + * @category Runtime Settings + */ + updateRuntimeSettings(settings: RuntimeSettings | string): Promise; + /** @ignore */ + _onCameraSelChange: () => void; + /** @ignore */ + _onResolutionSelChange: () => void; + /** @ignore */ + _onCloseBtnClick: () => void; + /** @ignore */ + _bindUI(): void; + /** @ignore */ + _unbindUI(): void; + /** + * Triggered when the camera video stream is played. + * ```js + * scanner.onplayed = rsl=>{ console.log(rsl.width+'x'+rsl.height) }; + * await scanner.show(); // or open, play, setCurrentCamera, like these. + * ``` + */ + onPlayed?: (info: ScannerPlayCallbackInfo) => void; + /** + * The event is triggered after a frame has been scanned. + * The results object contains all the barcode results in this frame. + * ```js + * scanner.onFrameRead = results => { + * for(let result of results){ + * console.log(result.barcodeText); + * } + * }; + * ``` + */ + onFrameRead?: (results: TextResult[]) => void; + /** + * This event is triggered when a new, unduplicated barcode is found. + * `txt` holds the barcode text result. `result` contains more info. + * Old barcodes will be remembered for `duplicateForgetTime`. + * ```js + * scanner.onUnduplicatedRead = (txt, result) => { + * alert(txt); + * console.log(result); + * }; + * ``` + */ + onUnduplicatedRead?: (txt: string, result: TextResult) => void; + /** @ignore */ + private _renderSelCameraInfo; + /** + * Get infomation of all available cameras on the device. + * ```js + * let cameras = await scanner.getAllCameras(); + * if(cameras.length){ + * await scanner.setCurrentCamera(cameras[0]); + * } + * ``` + * @category Camera Settings + */ + getAllCameras(): Promise; + /** + * Get information about the currently used camera. + * ```js + * let camera = await scanner.getCurrentCamera(); + * ``` + * @category Camera Settings + */ + getCurrentCamera(): Promise; + /** + * Choose the camera and play it by its information or devide id. + * ```js + * let cameras = await scanner.getAllCameras(); + * if(cameras.length){ + * await scanner.setCurrentCamera(cameras[0]); + * } + * ``` + * @param cameraInfoOrDeviceId + * @category Camera Settings + */ + setCurrentCamera(cameraInfoOrDeviceId: any): Promise; + /** + * Get current camera resolution. + * ```js + * let rsl = await scanner.getResolution(); + * console.log(rsl.width + " x " + rsl.height); + * ``` + * @category Camera Settings + */ + getResolution(): number[]; + /** + * Set current camera resolution. + * ```js + * await scanner.setResolution(width, height); + * ``` + * @param width + * @param height + * @category Camera Settings + */ + setResolution(width: number | number[], height: number): Promise; + /** + * Get current scan settings. + * ```js + * let scanSettings = await scanner.getScanSettings(); + * scanSettings.intervalTime = 50; + * scanSettings.duplicateForgetTime = 1000; + * await scanner.updateScanSettings(scanSettings); + * ``` + */ + getScanSettings(): Promise; + /** + * Modify and update scan settings. + * ```js + * let scanSettings = await scanner.getScanSettings(); + * scanSettings.intervalTime = 50; + * scanSettings.duplicateForgetTime = 1000; + * await scanner.updateScanSettings(scanSettings); + * ``` + * @param settings + */ + updateScanSettings(settings: ScanSettings): Promise; + /** + * Get current video settings. + * @category Camera Settings + */ + getVideoSettings(): MediaStreamConstraints; + /** + * Modify and update video settings. + * ```js + * await scanner.updateVideoSettings({ video: {width: {ideal: 1280}, height: {ideal: 720}, facingMode: {ideal: 'environment'}} }); + * ``` + * @param MediaStreamConstraints + * @category Camera Settings + */ + updateVideoSettings(MediaStreamConstraints: any): Promise; + /** + * Check if the scanner is open. + * @category Open and Close + */ + isOpen(): boolean; + /** @ignore */ + _show(): void; + /** + * Stop the video, and release the camera. + * @category Play and Pause + */ + stop(): void; + /** + * Pause the video. Do not release the camera. + * @category Play and Pause + */ + pause(): void; + private iPlayRound; + private promisePlay; + /** + * Continue the video. + * ```js + * scanner.pause(); + * \\*** a lot of work *** + * await scanner.play(); + * ``` + * @category Play and Pause + */ + play(deviceId?: string, width?: number, height?: number): Promise; + /** + * Pause the decoding process. + * @category Play and Pause + */ + pauseScan(): void; + /** + * Resume the decoding process. + * @category Play and Pause + */ + resumeScan(): void; + /** + * Get the camera capabilities. Chrome only. + * Only available when the scanner is open. + * ```console + * > scanner.getCapabilities() + * < { + * "aspectRatio":{"max":3840,"min":0.000462962962962963}, + * "colorTemperature":{max: 7000, min: 2850, step: 50}, + * "deviceId":"1e...3af7", + * "exposureCompensation": {max: 2.0000040531158447, min: -2.0000040531158447, step: 0.16666699945926666}, + * "exposureMode":["continuous","manual"], + * "facingMode":["environment"], + * "focusMode":["continuous","single-shot","manual"], + * "frameRate":{"max":30,"min":0}, + * "groupId":"71...a935", + * "height":{"max":2160,"min":1}, + * "resizeMode":["none","crop-and-scale"], + * "torch":true, + * "whiteBalanceMode":["continuous","manual"], + * "width":{"max":3840,"min":1}, + * "zoom":{max: 606, min: 100, step: 2} + * } + * ``` + * @see [[turnOnTorch]][[turnOffTorch]][[setExposureCompensation]][[setZoom]] + * @category Camera Settings + */ + getCapabilities(): MediaTrackCapabilities; + /** @ignore */ + getCameraSettings(): MediaTrackSettings; + /** @ignore */ + getConstraints(): MediaTrackConstraints; + /** + * @ignore + * Set the camera capabilities. Chrome only. + * Only available when the scanner is open. + * It's a low-level API, usually you can use the wrapped APIs instead. + * ```js + * await scanner.applyConstraints({ frameRate: { ideal:5 } }); + * ``` + */ + applyConstraints(constraints: MediaTrackConstraints): Promise; + /** + * Turn on the torch/flashlight. Chrome only. + * Only available when the scanner is open. + * Will reject if not support. + * ```js + * await scanner.turnOnTorch(); + * ``` + * @see [[turnOffTorch]][[getCapabilities]] + * @category Camera Settings + */ + turnOnTorch(): Promise; + /** + * Turn off the torch. Chrome only. + * Only available when the scanner is open. + * Will reject if not support. + * ```js + * await scanner.turnOffTorch(); + * ``` + * @see [[turnOnTorch]][[getCapabilities]] + * @category Camera Settings + */ + turnOffTorch(): Promise; + /** + * Adjusts the color temperature. Chrome only. + * Only available when the scanner is open. + * Will reject if not support. + * ```js + * await scanner.setColorTemperature(5000); + * ``` + * @see [[getCapabilities]] + * @category Camera Settings + */ + setColorTemperature(value: number): Promise; + /** + * Adjusts the exposure level. Chrome only. + * Only available when the scanner is open. + * Will reject if not support. + * ```js + * await scanner.setExposureCompensation(-0.7); + * ``` + * @see [[getCapabilities]] + * @category Camera Settings + */ + setExposureCompensation(value: number): Promise; + /** + * Adjusts the zoom ratio. Chrome only. + * Only available when the scanner is open. + * Will reject if not support. + * ```js + * await scanner.setZoom(400); + * ``` + * @see [[getCapabilities]] + * @category Camera Settings + */ + setZoom(value: number): Promise; + /** + * Adjusts the frame rate. Chrome only. + * Only available when the scanner is open. + * Will reject if not support. + * ```js + * await scanner.setFrameRate(10); + * ``` + * @see [[getCapabilities]] + * @category Camera Settings + */ + setFrameRate(value: number): Promise; + /** @ignore */ + _cloneDecodeResults(results: any): any; + /** @ignore */ + private _loopReadVideo; + /** @ignore */ + _drawRegionsults(results?: TextResult[]): void; + /** @ignore */ + _clearRegionsults(): void; + /** + * Bind UI, open the camera, start decoding. + * ```js + * await scanner.setUIElement(document.getElementById("my-barcode-scanner")); + * scanner.onUnduplicatedRead = (txt, result) => { alert(txt); console.log(result); }; + * await scanner.open(); + * ``` + * @category Open and Close + */ + open(): Promise; + /** + * Bind UI, open the camera, but not decode. + * ```js + * await scanner.setUIElement(document.getElementById("my-barcode-scanner")); + * await scanner.openVideo(); + * console.log(await scanner.decodeCurrentFrame()); + * ``` + * @category Open and Close + */ + openVideo(): Promise; + /** + * Stop decoding, release camera, unbind UI. + * ```js + * await scanner.open(); + * await scanner.close(); + * + * await scanner.openVideo(); + * await scanner.close(); + * ``` + * @category Open and Close + */ + close(): Promise; + /** + * Bind UI, open the camera, start decoding, and remove the UIElement `display` style if the original style is `display:none;`. + * ```js + * await scanner.setUIElement("https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.scanner.html"); + * scanner.onUnduplicatedRead = (txt, result) => { alert(txt); console.log(result); }; + * await scanner.show(); + * ``` + * @category Open and Close + */ + show(): Promise; + /** + * Bind UI, open the camera, but not decode, and remove the UIElement `display` style if the original style is `display:none;`. + * ```js + * await scanner.showVideo() + * console.log(await scanner.decodeCurrentFrame()); + * ``` + * @category Open and Close + */ + showVideo(): Promise; + /** + * Stop decoding, release camera, unbind UI, and set the Element as `display:none;`. + * ```js + * await scanner.show(); + * await scanner.hide(); + * + * await scanner.showVideo(); + * await scanner.hide(); + * ``` + * @category Open and Close + */ + hide(): Promise; + /** + * Destroy the `BarcodeScanner` instance. If your page needs to create new instances from time to time, don't forget to destroy unused old instances, otherwise it will cause memory leaks. + * @category Initialize and Destroy + */ + destroy(): Promise; +} +declare enum EnumBarcodeColourMode { + BICM_DARK_ON_LIGHT = 1, + BICM_LIGHT_ON_DARK = 2, + BICM_DARK_ON_DARK = 4, + BICM_LIGHT_ON_LIGHT = 8, + BICM_DARK_LIGHT_MIXED = 16, + BICM_DARK_ON_LIGHT_DARK_SURROUNDING = 32, + BICM_SKIP = 0, + BICM_REV = 2147483648 +} +declare enum EnumBarcodeComplementMode { + BCM_AUTO = 1, + BCM_GENERAL = 2, + BCM_SKIP = 0, + BCM_REV = 2147483648 +} +declare enum EnumClarityCalculationMethod { + ECCM_CONTRAST = 1 +} +declare enum EnumClarityFilterMode { + CFM_GENERAL = 1 +} +declare enum EnumColourClusteringMode { + CCM_AUTO = 1, + CCM_GENERAL_HSV = 2, + CCM_SKIP = 0, + CCM_REV = 2147483648 +} +declare enum EnumColourConversionMode { + CICM_GENERAL = 1, + CICM_SKIP = 0, + CICM_REV = 2147483648 +} +declare enum EnumConflictMode { + CM_IGNORE = 1, + CM_OVERWRITE = 2 +} +declare enum EnumDeblurMode { + DM_SKIP = 0, + DM_DIRECT_BINARIZATION = 1, + DM_THRESHOLD_BINARIZATION = 2, + DM_GRAY_EQUALIZATION = 4, + DM_SMOOTHING = 8, + DM_MORPHING = 16, + DM_DEEP_ANALYSIS = 32, + DM_SHARPENING = 64 +} +declare enum EnumDeformationResistingMode { + DRM_AUTO = 1, + DRM_GENERAL = 2, + DRM_SKIP = 0, + DRM_REV = 2147483648 +} +declare enum EnumDPMCodeReadingMode { + DPMCRM_AUTO = 1, + DPMCRM_GENERAL = 2, + DPMCRM_SKIP = 0, + DPMCRM_REV = 2147483648 +} +declare enum EnumGrayscaleTransformationMode { + GTM_INVERTED = 1, + GTM_ORIGINAL = 2, + GTM_SKIP = 0, + GTM_REV = 2147483648 +} +declare enum EnumImagePreprocessingMode { + IPM_AUTO = 1, + IPM_GENERAL = 2, + IPM_GRAY_EQUALIZE = 4, + IPM_GRAY_SMOOTH = 8, + IPM_SHARPEN_SMOOTH = 16, + IPM_MORPHOLOGY = 32, + IPM_SKIP = 0, + IPM_REV = 2147483648 +} +declare enum EnumIMResultDataType { + IMRDT_IMAGE = 1, + IMRDT_CONTOUR = 2, + IMRDT_LINESEGMENT = 4, + IMRDT_LOCALIZATIONRESULT = 8, + IMRDT_REGIONOFINTEREST = 16, + IMRDT_QUADRILATERAL = 32 +} +declare enum EnumIntermediateResultSavingMode { + IRSM_MEMORY = 1, + IRSM_FILESYSTEM = 2, + IRSM_BOTH = 4 +} +declare enum EnumQRCodeErrorCorrectionLevel { + QRECL_ERROR_CORRECTION_H = 0, + QRECL_ERROR_CORRECTION_L = 1, + QRECL_ERROR_CORRECTION_M = 2, + QRECL_ERROR_CORRECTION_Q = 3 +} +declare enum EnumRegionPredetectionMode { + RPM_AUTO = 1, + RPM_GENERAL = 2, + RPM_GENERAL_RGB_CONTRAST = 4, + RPM_GENERAL_GRAY_CONTRAST = 8, + RPM_GENERAL_HSV_CONTRAST = 16, + RPM_SKIP = 0, + RPM_REV = 2147483648 +} +declare enum EnumResultType { + RT_STANDARD_TEXT = 0, + RT_RAW_TEXT = 1, + RT_CANDIDATE_TEXT = 2, + RT_PARTIAL_TEXT = 3 +} +declare enum EnumTextFilterMode { + TFM_AUTO = 1, + TFM_GENERAL_CONTOUR = 2, + TFM_SKIP = 0, + TFM_REV = 2147483648 +} +declare enum EnumTextureDetectionMode { + TDM_AUTO = 1, + TDM_GENERAL_WIDTH_CONCENTRATION = 2, + TDM_SKIP = 0, + TDM_REV = 2147483648 +} +declare class DBR { + static BarcodeReader: typeof BarcodeReader; + static BarcodeScanner: typeof BarcodeScanner; + static EnumBarcodeColourMode: typeof EnumBarcodeColourMode; + static EnumBarcodeComplementMode: typeof EnumBarcodeComplementMode; + static EnumBarcodeFormat: typeof EnumBarcodeFormat; + static EnumBarcodeFormat_2: typeof EnumBarcodeFormat_2; + static EnumBinarizationMode: typeof EnumBinarizationMode; + static EnumClarityCalculationMethod: typeof EnumClarityCalculationMethod; + static EnumClarityFilterMode: typeof EnumClarityFilterMode; + static EnumColourClusteringMode: typeof EnumColourClusteringMode; + static EnumColourConversionMode: typeof EnumColourConversionMode; + static EnumConflictMode: typeof EnumConflictMode; + static EnumDeblurMode: typeof EnumDeblurMode; + static EnumDeformationResistingMode: typeof EnumDeformationResistingMode; + static EnumDPMCodeReadingMode: typeof EnumDPMCodeReadingMode; + static EnumErrorCode: typeof EnumErrorCode; + static EnumGrayscaleTransformationMode: typeof EnumGrayscaleTransformationMode; + static EnumImagePixelFormat: typeof EnumImagePixelFormat; + static EnumImagePreprocessingMode: typeof EnumImagePreprocessingMode; + static EnumIMResultDataType: typeof EnumIMResultDataType; + static EnumIntermediateResultSavingMode: typeof EnumIntermediateResultSavingMode; + static EnumIntermediateResultType: typeof EnumIntermediateResultType; + static EnumLocalizationMode: typeof EnumLocalizationMode; + static EnumPDFReadingMode: typeof EnumPDFReadingMode; + static EnumQRCodeErrorCorrectionLevel: typeof EnumQRCodeErrorCorrectionLevel; + static EnumRegionPredetectionMode: typeof EnumRegionPredetectionMode; + static EnumResultCoordinateType: typeof EnumResultCoordinateType; + static EnumResultType: typeof EnumResultType; + static EnumScaleUpMode: typeof EnumScaleUpMode; + static EnumTerminatePhase: typeof EnumTerminatePhase; + static EnumTextFilterMode: typeof EnumTextFilterMode; + static EnumTextResultOrderMode: typeof EnumTextResultOrderMode; + static EnumTextureDetectionMode: typeof EnumTextureDetectionMode; + static get version(): string; + static get productKeys(): string; + static set productKeys(keys: string); + static get handshakeCode(): string; + static set handshakeCode(keys: string); + static get organizationID(): string; + static set organizationID(keys: string); + static get sessionPassword(): string; + static set sessionPassword(keys: string); + /** @ignore */ + static get browserInfo(): any; + static detectEnvironment(): Promise; + /** @ignore */ + static get _workerName(): string; + /** @ignore */ + static set _workerName(name: string); + static get engineResourcePath(): string; + static set engineResourcePath(value: string); + static get licenseServer(): string[] | string; + static set licenseServer(value: string[] | string); + /** @ignore */ + static get deviceFriendlyName(): string; + /** @ignore */ + static set deviceFriendlyName(value: string); + /** @ignore */ + static get _onLog(): (message: any) => void; + /** @ignore */ + static set _onLog(value: (message: any) => void); + /** @ignore */ + static get _bWasmDebug(): boolean; + /** @ignore */ + static set _bWasmDebug(value: boolean); + /** @ignore */ + static get _bUseFullFeature(): boolean; + /** @ignore */ + static set _bUseFullFeature(value: boolean); + /** @ignore */ + static get _dbrWorker(): Worker; + static isLoaded(): boolean; + static loadWasm(): Promise; +} + + + + +declare var Dynamsoft:{ + DBR: typeof DBR; +} diff --git a/dist/dbr.scanner.html b/dist/dbr.scanner.html new file mode 100644 index 00000000..18366868 --- /dev/null +++ b/dist/dbr.scanner.html @@ -0,0 +1,114 @@ +
+ + + + +
+ +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ \ No newline at end of file diff --git a/dist/dynamsoft-barcode-reader-bundle-ml-simd-pthread.js b/dist/dynamsoft-barcode-reader-bundle-ml-simd-pthread.js deleted file mode 100644 index 449e3cce..00000000 --- a/dist/dynamsoft-barcode-reader-bundle-ml-simd-pthread.js +++ /dev/null @@ -1 +0,0 @@ -function GROWABLE_HEAP_I8(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAP8}function GROWABLE_HEAP_U8(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAPU8}function GROWABLE_HEAP_I16(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAP16}function GROWABLE_HEAP_U16(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAPU16}function GROWABLE_HEAP_I32(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAP32}function GROWABLE_HEAP_U32(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAPU32}function GROWABLE_HEAP_F64(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAPF64}var Module=void 0!==Module?Module:{},moduleOverrides=Object.assign({},Module),arguments_=[],thisProgram="./this.program",quit_=(e,t)=>{throw t},ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!0,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_PTHREAD=Module.ENVIRONMENT_IS_PTHREAD||!1,_scriptDir="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;ENVIRONMENT_IS_WORKER&&(_scriptDir=self.location.href);var read_,readAsync,readBinary,scriptDirectory="";function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:"undefined"!=typeof document&&document.currentScript&&(scriptDirectory=document.currentScript.src),scriptDirectory=0!==scriptDirectory.indexOf("blob:")?scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1):"",read_=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},ENVIRONMENT_IS_WORKER&&(readBinary=e=>{var t=new XMLHttpRequest;t.open("GET",e,!1),t.responseType="arraybuffer";let r=Date.now();return t.onloadstart=()=>{postMessage({type:"event",id:-3,body:{loaded:0,total:pe.lengthComputable?pe.total:0,tag:"starting",resourcesPath:e}})},t.onprogress=t=>{const n=Date.now();r+500{postMessage({type:"event",id:-3,body:{loaded:pe.lengthComputable?pe.total:0,total:pe.lengthComputable?pe.total:0,tag:"completed",resourcesPath:e}})},t.send(null),new Uint8Array(t.response)}),readAsync=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)});var wasmBinary,out=Module.print||console.log.bind(console),err=Module.printErr||console.error.bind(console);Object.assign(Module,moduleOverrides),moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram),Module.quit&&(quit_=Module.quit),Module.wasmBinary&&(wasmBinary=Module.wasmBinary);var wasmMemory,wasmModule,noExitRuntime=Module.noExitRuntime||!0;"object"!=typeof WebAssembly&&abort("no native wasm support detected");var EXITSTATUS,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,ABORT=!1;function assert(e,t){e||abort(t)}function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=HEAPF32=new Float32Array(e),Module.HEAPF64=HEAPF64=new Float64Array(e)}var INITIAL_MEMORY=Module.INITIAL_MEMORY||33554432;if(assert(INITIAL_MEMORY>=20971520,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE=20971520)"),ENVIRONMENT_IS_PTHREAD)wasmMemory=Module.wasmMemory;else if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else if(!((wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768,shared:!0})).buffer instanceof SharedArrayBuffer))throw err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),ENVIRONMENT_IS_NODE&&err("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");updateMemoryViews(),INITIAL_MEMORY=wasmMemory.buffer.byteLength;var __ATPRERUN__=[],__ATINIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=!0,ENVIRONMENT_IS_PTHREAD||(Module.noFSInit||FS.init.initialized||FS.init(),FS.ignorePermissions=!1,TTY.init(),SOCKFS.root=FS.mount(SOCKFS,{},null),callRuntimeCallbacks(__ATINIT__))}function postRun(){if(!ENVIRONMENT_IS_PTHREAD){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}var runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}}function abort(e){throw Module.onAbort&&Module.onAbort(e),err(e="Aborted("+e+")"),ABORT=!0,EXITSTATUS=1,e+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(e)}var wasmBinaryFile,tempDouble,tempI64,dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(e){return e.startsWith(dataURIPrefix)}function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(e){return wasmBinary||!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER||"function"!=typeof fetch?Promise.resolve().then(()=>getBinarySync(e)):fetch(e,{credentials:"same-origin"}).then(async t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";postMessage({type:"event",id:-3,body:{total:0,loaded:0,tag:"starting",resourcesPath:e}});const r=+t.headers.get("Content-Length"),n=t.body.getReader();let a=0,o=Date.now();const i=[];for(;;){const{done:t,value:s}=await n.read();if(t)break;if(i.push(s),a+=s.length,r){const t=Date.now();o+500getBinarySync(e))}function instantiateArrayBuffer(e,t,r){return getBinaryPromise(e).then(e=>WebAssembly.instantiate(e,t)).then(e=>e).then(r,e=>{err(`failed to asynchronously prepare wasm: ${e}`),abort(e)})}function instantiateAsync(e,t,r,n){return instantiateArrayBuffer(t,r,n)}function createWasm(){var e={env:wasmImports,wasi_snapshot_preview1:wasmImports};function t(e,t){return wasmExports=e.exports,registerTLSInit(wasmExports._emscripten_tls_init),wasmTable=wasmExports.__indirect_function_table,addOnInit(wasmExports.__wasm_call_ctors),exportWasmSymbols(wasmExports),wasmModule=t,removeRunDependency("wasm-instantiate"),wasmExports}if(addRunDependency("wasm-instantiate"),Module.instantiateWasm)try{return Module.instantiateWasm(e,t)}catch(e){return err(`Module.instantiateWasm callback failed with error: ${e}`),!1}return instantiateAsync(wasmBinary,wasmBinaryFile,e,function(e){t(e.instance,e.module)}),{}}isDataURI(wasmBinaryFile="dynamsoft-barcode-reader-bundle-ml-simd-pthread.wasm")||(wasmBinaryFile=locateFile(wasmBinaryFile));var ASM_CONSTS={955880:(e,t,r,n)=>{if(void 0===Module||!Module.MountedFiles)return 1;let a=UTF8ToString(e>>>0);a.startsWith("./")&&(a=a.substring(2));const o=Module.MountedFiles.get(a);if(!o)return 2;const i=t>>>0,s=r>>>0,l=n>>>0;if(i+s>o.byteLength)return 3;try{return GROWABLE_HEAP_U8().set(o.subarray(i,i+s),l),0}catch{return 4}}};function ExitStatus(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var terminateWorker=e=>{e.terminate(),e.onmessage=e=>{}},killThread=e=>{var t=PThread.pthreads[e];delete PThread.pthreads[e],terminateWorker(t),__emscripten_thread_free_data(e),PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(t),1),t.pthread_ptr=0},cancelThread=e=>{PThread.pthreads[e].postMessage({cmd:"cancel"})},cleanupThread=e=>{var t=PThread.pthreads[e];assert(t),PThread.returnWorkerToPool(t)},zeroMemory=(e,t)=>(GROWABLE_HEAP_U8().fill(0,e,e+t),e),spawnThread=e=>{var t=PThread.getNewWorker();if(!t)return 6;PThread.runningWorkers.push(t),PThread.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var r={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};return t.postMessage(r,e.transferList),0},PATH={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var a=e[n];"."===a?e.splice(n,1):".."===a?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=PATH.isAbs(e),r="/"===e.substr(-1);return(e=PATH.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=PATH.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=PATH.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return PATH.normalize(e.join("/"))},join2:(e,t)=>PATH.normalize(e+"/"+t)},initRandomFill=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>(e.set(crypto.getRandomValues(new Uint8Array(e.byteLength))),e);abort("initRandomDevice")},randomFill=e=>(randomFill=initRandomFill())(e),PATH_FS={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:FS.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t=PATH.isAbs(n)}return(t?"/":"")+(e=PATH.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=PATH_FS.resolve(e).substr(1),t=PATH_FS.resolve(t).substr(1);for(var n=r(e.split("/")),a=r(t.split("/")),o=Math.min(n.length,a.length),i=o,s=0;s{for(var n=t+r,a=t;e[a]&&!(a>=n);)++a;if(a-t>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.slice(t,a));for(var o="";t>10,56320|1023&_)}}else o+=String.fromCharCode((31&i)<<6|s)}else o+=String.fromCharCode(i)}return o},FS_stdin_getChar_buffer=[],lengthBytesUTF8=e=>{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},stringToUTF8Array=(e,t,r,n)=>{if(!(n>0))return 0;for(var a=r,o=r+n-1,i=0;i=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i);if(s<=127){if(r>=o)break;t[r++]=s}else if(s<=2047){if(r+1>=o)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=o)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=o)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-a};function intArrayFromString(e,t,r){var n=r>0?r:lengthBytesUTF8(e)+1,a=new Array(n),o=stringToUTF8Array(e,a,0,a.length);return t&&(a.length=o),a}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n"),!e)return null;FS_stdin_getChar_buffer=intArrayFromString(e,!0)}return FS_stdin_getChar_buffer.shift()},TTY={ttys:[],init(){},shutdown(){},register(e,t){TTY.ttys[e]={input:[],output:[],ops:t},FS.registerDevice(e,TTY.stream_ops)},stream_ops:{open(e){var t=TTY.ttys[e.node.rdev];if(!t)throw new FS.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,n,a){if(!e.tty||!e.tty.ops.get_char)throw new FS.ErrnoError(60);for(var o=0,i=0;iFS_stdin_getChar(),put_char(e,t){null===t||10===t?(out(UTF8ArrayToString(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(out(UTF8ArrayToString(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(err(UTF8ArrayToString(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(err(UTF8ArrayToString(e.output,0)),e.output=[])}}},alignMemory=(e,t)=>Math.ceil(e/t)*t,mmapAlloc=e=>{e=alignMemory(e,65536);var t=_emscripten_builtin_memalign(65536,e);return t?zeroMemory(t,e):0},MEMFS={ops_table:null,mount:e=>MEMFS.createNode(null,"/",16895,0),createNode(e,t,r,n){if(FS.isBlkdev(r)||FS.isFIFO(r))throw new FS.ErrnoError(63);MEMFS.ops_table||(MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}});var a=FS.createNode(e,t,r,n);return FS.isDir(a.mode)?(a.node_ops=MEMFS.ops_table.dir.node,a.stream_ops=MEMFS.ops_table.dir.stream,a.contents={}):FS.isFile(a.mode)?(a.node_ops=MEMFS.ops_table.file.node,a.stream_ops=MEMFS.ops_table.file.stream,a.usedBytes=0,a.contents=null):FS.isLink(a.mode)?(a.node_ops=MEMFS.ops_table.link.node,a.stream_ops=MEMFS.ops_table.link.stream):FS.isChrdev(a.mode)&&(a.node_ops=MEMFS.ops_table.chrdev.node,a.stream_ops=MEMFS.ops_table.chrdev.stream),a.timestamp=Date.now(),e&&(e.contents[t]=a,e.timestamp=a.timestamp),a},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=FS.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,FS.isDir(e.mode)?t.size=4096:FS.isFile(e.mode)?t.size=e.usedBytes:FS.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&MEMFS.resizeFileStorage(e,t.size)},lookup(e,t){throw FS.genericErrors[44]},mknod:(e,t,r,n)=>MEMFS.createNode(e,t,r,n),rename(e,t,r){if(FS.isDir(e.mode)){var n;try{n=FS.lookupNode(t,r)}catch(e){}if(n)for(var a in n.contents)throw new FS.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=FS.lookupNode(e,t);for(var n in r.contents)throw new FS.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var n=MEMFS.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!FS.isLink(e.mode))throw new FS.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,a){var o=e.node.contents;if(a>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-a,n);if(i>8&&o.subarray)t.set(o.subarray(a,a+i),r);else for(var s=0;s0||r+t(MEMFS.stream_ops.write(e,t,0,n,r,!1),0)}},asyncLoad=(e,t,r,n)=>{var a=n?"":getUniqueRunDependency(`al ${e}`);readAsync(e,r=>{assert(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),a&&removeRunDependency(a)},t=>{if(!r)throw`Loading data file "${e}" failed.`;r()}),a&&addRunDependency(a)},FS_createDataFile=(e,t,r,n,a,o)=>FS.createDataFile(e,t,r,n,a,o),preloadPlugins=Module.preloadPlugins||[],FS_handledByPreloadPlugin=(e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var a=!1;return preloadPlugins.forEach(o=>{a||o.canHandle(t)&&(o.handle(e,t,r,n),a=!0)}),a},FS_createPreloadedFile=(e,t,r,n,a,o,i,s,l,_)=>{var c=t?PATH_FS.resolve(PATH.join2(e,t)):e,u=getUniqueRunDependency(`cp ${c}`);function d(r){function d(r){_&&_(),s||FS_createDataFile(e,t,r,n,a,l),o&&o(),removeRunDependency(u)}FS_handledByPreloadPlugin(r,c,d,()=>{i&&i(),removeRunDependency(u)})||d(r)}addRunDependency(u),"string"==typeof r?asyncLoad(r,e=>d(e),i):d(r)},FS_modeStringToFlags=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},FS_getMode=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,t={}){if(!(e=PATH_FS.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new FS.ErrnoError(32);for(var r=e.split("/").filter(e=>!!e),n=FS.root,a="/",o=0;o40)throw new FS.ErrnoError(32)}}return{path:a,node:n}},getPath(e){for(var t;;){if(FS.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,n=0;n>>0)%FS.nameTable.length},hashAddNode(e){var t=FS.hashName(e.parent.id,e.name);e.name_next=FS.nameTable[t],FS.nameTable[t]=e},hashRemoveNode(e){var t=FS.hashName(e.parent.id,e.name);if(FS.nameTable[t]===e)FS.nameTable[t]=e.name_next;else for(var r=FS.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=FS.mayLookup(e);if(r)throw new FS.ErrnoError(r,e);for(var n=FS.hashName(e.id,t),a=FS.nameTable[n];a;a=a.name_next){var o=a.name;if(a.parent.id===e.id&&o===t)return a}return FS.lookup(e,t)},createNode(e,t,r,n){var a=new FS.FSNode(e,t,r,n);return FS.hashAddNode(a),a},destroyNode(e){FS.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>FS.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=FS.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{FS.lookupNode(e,t);return 20}catch(e){}return FS.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=FS.lookupNode(e,t)}catch(e){return e.errno}var a=FS.nodePermissions(e,"wx");if(a)return a;if(r){if(!FS.isDir(n.mode))return 54;if(FS.isRoot(n)||FS.getPath(n)===FS.cwd())return 10}else if(FS.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?FS.isLink(e.mode)?32:FS.isDir(e.mode)&&("r"!==FS.flagsToPermissionString(t)||512&t)?31:FS.nodePermissions(e,FS.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=FS.MAX_OPEN_FDS;e++)if(!FS.streams[e])return e;throw new FS.ErrnoError(33)},getStreamChecked(e){var t=FS.getStream(e);if(!t)throw new FS.ErrnoError(8);return t},getStream:e=>FS.streams[e],createStream:(e,t=-1)=>(FS.FSStream||(FS.FSStream=function(){this.shared={}},FS.FSStream.prototype={},Object.defineProperties(FS.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return!!(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new FS.FSStream,e),-1==t&&(t=FS.nextfd()),e.fd=t,FS.streams[t]=e,e),closeStream(e){FS.streams[e]=null},chrdev_stream_ops:{open(e){var t=FS.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new FS.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){FS.devices[e]={stream_ops:t}},getDevice:e=>FS.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),FS.syncFSRequests++,FS.syncFSRequests>1&&err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=FS.getMounts(FS.root.mount),n=0;function a(e){return FS.syncFSRequests--,t(e)}function o(e){if(e)return o.errored?void 0:(o.errored=!0,a(e));++n>=r.length&&a(null)}r.forEach(t=>{if(!t.type.syncfs)return o(null);t.type.syncfs(t,e,o)})},mount(e,t,r){var n,a="/"===r,o=!r;if(a&&FS.root)throw new FS.ErrnoError(10);if(!a&&!o){var i=FS.lookupPath(r,{follow_mount:!1});if(r=i.path,n=i.node,FS.isMountpoint(n))throw new FS.ErrnoError(10);if(!FS.isDir(n.mode))throw new FS.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(s);return l.mount=s,s.root=l,a?FS.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount(e){var t=FS.lookupPath(e,{follow_mount:!1});if(!FS.isMountpoint(t.node))throw new FS.ErrnoError(28);var r=t.node,n=r.mounted,a=FS.getMounts(n);Object.keys(FS.nameTable).forEach(e=>{for(var t=FS.nameTable[e];t;){var r=t.name_next;a.includes(t.mount)&&FS.destroyNode(t),t=r}}),r.mounted=null;var o=r.mount.mounts.indexOf(n);r.mount.mounts.splice(o,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=FS.lookupPath(e,{parent:!0}).node,a=PATH.basename(e);if(!a||"."===a||".."===a)throw new FS.ErrnoError(28);var o=FS.mayCreate(n,a);if(o)throw new FS.ErrnoError(o);if(!n.node_ops.mknod)throw new FS.ErrnoError(63);return n.node_ops.mknod(n,a,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,FS.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,FS.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),n="",a=0;a(void 0===r&&(r=t,t=438),t|=8192,FS.mknod(e,t,r)),symlink(e,t){if(!PATH_FS.resolve(e))throw new FS.ErrnoError(44);var r=FS.lookupPath(t,{parent:!0}).node;if(!r)throw new FS.ErrnoError(44);var n=PATH.basename(t),a=FS.mayCreate(r,n);if(a)throw new FS.ErrnoError(a);if(!r.node_ops.symlink)throw new FS.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,a=PATH.dirname(e),o=PATH.dirname(t),i=PATH.basename(e),s=PATH.basename(t);if(r=FS.lookupPath(e,{parent:!0}).node,n=FS.lookupPath(t,{parent:!0}).node,!r||!n)throw new FS.ErrnoError(44);if(r.mount!==n.mount)throw new FS.ErrnoError(75);var l,_=FS.lookupNode(r,i),c=PATH_FS.relative(e,o);if("."!==c.charAt(0))throw new FS.ErrnoError(28);if("."!==(c=PATH_FS.relative(t,a)).charAt(0))throw new FS.ErrnoError(55);try{l=FS.lookupNode(n,s)}catch(e){}if(_!==l){var u=FS.isDir(_.mode),d=FS.mayDelete(r,i,u);if(d)throw new FS.ErrnoError(d);if(d=l?FS.mayDelete(n,s,u):FS.mayCreate(n,s))throw new FS.ErrnoError(d);if(!r.node_ops.rename)throw new FS.ErrnoError(63);if(FS.isMountpoint(_)||l&&FS.isMountpoint(l))throw new FS.ErrnoError(10);if(n!==r&&(d=FS.nodePermissions(r,"w")))throw new FS.ErrnoError(d);FS.hashRemoveNode(_);try{r.node_ops.rename(_,n,s)}catch(e){throw e}finally{FS.hashAddNode(_)}}},rmdir(e){var t=FS.lookupPath(e,{parent:!0}).node,r=PATH.basename(e),n=FS.lookupNode(t,r),a=FS.mayDelete(t,r,!0);if(a)throw new FS.ErrnoError(a);if(!t.node_ops.rmdir)throw new FS.ErrnoError(63);if(FS.isMountpoint(n))throw new FS.ErrnoError(10);t.node_ops.rmdir(t,r),FS.destroyNode(n)},readdir(e){var t=FS.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new FS.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=FS.lookupPath(e,{parent:!0}).node;if(!t)throw new FS.ErrnoError(44);var r=PATH.basename(e),n=FS.lookupNode(t,r),a=FS.mayDelete(t,r,!1);if(a)throw new FS.ErrnoError(a);if(!t.node_ops.unlink)throw new FS.ErrnoError(63);if(FS.isMountpoint(n))throw new FS.ErrnoError(10);t.node_ops.unlink(t,r),FS.destroyNode(n)},readlink(e){var t=FS.lookupPath(e).node;if(!t)throw new FS.ErrnoError(44);if(!t.node_ops.readlink)throw new FS.ErrnoError(28);return PATH_FS.resolve(FS.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=FS.lookupPath(e,{follow:!t}).node;if(!r)throw new FS.ErrnoError(44);if(!r.node_ops.getattr)throw new FS.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>FS.stat(e,!0),chmod(e,t,r){var n;"string"==typeof e?n=FS.lookupPath(e,{follow:!r}).node:n=e;if(!n.node_ops.setattr)throw new FS.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod(e,t){FS.chmod(e,t,!0)},fchmod(e,t){var r=FS.getStreamChecked(e);FS.chmod(r.node,t)},chown(e,t,r,n){var a;"string"==typeof e?a=FS.lookupPath(e,{follow:!n}).node:a=e;if(!a.node_ops.setattr)throw new FS.ErrnoError(63);a.node_ops.setattr(a,{timestamp:Date.now()})},lchown(e,t,r){FS.chown(e,t,r,!0)},fchown(e,t,r){var n=FS.getStreamChecked(e);FS.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new FS.ErrnoError(28);var r;"string"==typeof e?r=FS.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new FS.ErrnoError(63);if(FS.isDir(r.mode))throw new FS.ErrnoError(31);if(!FS.isFile(r.mode))throw new FS.ErrnoError(28);var n=FS.nodePermissions(r,"w");if(n)throw new FS.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=FS.getStreamChecked(e);if(!(2097155&r.flags))throw new FS.ErrnoError(28);FS.truncate(r.node,t)},utime(e,t,r){var n=FS.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new FS.ErrnoError(44);var n;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?FS_modeStringToFlags(t):t)?4095&r|32768:0,"object"==typeof e)n=e;else{e=PATH.normalize(e);try{n=FS.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t)if(n){if(128&t)throw new FS.ErrnoError(20)}else n=FS.mknod(e,r,0),a=!0;if(!n)throw new FS.ErrnoError(44);if(FS.isChrdev(n.mode)&&(t&=-513),65536&t&&!FS.isDir(n.mode))throw new FS.ErrnoError(54);if(!a){var o=FS.mayOpen(n,t);if(o)throw new FS.ErrnoError(o)}512&t&&!a&&FS.truncate(n,0),t&=-131713;var i=FS.createStream({node:n,path:FS.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return i.stream_ops.open&&i.stream_ops.open(i),!Module.logReadFiles||1&t||(FS.readFiles||(FS.readFiles={}),e in FS.readFiles||(FS.readFiles[e]=1)),i},close(e){if(FS.isClosed(e))throw new FS.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{FS.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new FS.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new FS.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,a){if(n<0||a<0)throw new FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if(1==(2097155&e.flags))throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.read)throw new FS.ErrnoError(28);var o=void 0!==a;if(o){if(!e.seekable)throw new FS.ErrnoError(70)}else a=e.position;var i=e.stream_ops.read(e,t,r,n,a);return o||(e.position+=i),i},write(e,t,r,n,a,o){if(n<0||a<0)throw new FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!(2097155&e.flags))throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.write)throw new FS.ErrnoError(28);e.seekable&&1024&e.flags&&FS.llseek(e,0,2);var i=void 0!==a;if(i){if(!e.seekable)throw new FS.ErrnoError(70)}else a=e.position;var s=e.stream_ops.write(e,t,r,n,a,o);return i||(e.position+=s),s},allocate(e,t,r){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(t<0||r<=0)throw new FS.ErrnoError(28);if(!(2097155&e.flags))throw new FS.ErrnoError(8);if(!FS.isFile(e.node.mode)&&!FS.isDir(e.node.mode))throw new FS.ErrnoError(43);if(!e.stream_ops.allocate)throw new FS.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,n,a){if(2&n&&!(2&a)&&2!=(2097155&e.flags))throw new FS.ErrnoError(2);if(1==(2097155&e.flags))throw new FS.ErrnoError(2);if(!e.stream_ops.mmap)throw new FS.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,a)},msync:(e,t,r,n,a)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,a):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new FS.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=FS.open(e,t.flags),a=FS.stat(e).size,o=new Uint8Array(a);return FS.read(n,o,0,a,0),"utf8"===t.encoding?r=UTF8ArrayToString(o,0):"binary"===t.encoding&&(r=o),FS.close(n),r},writeFile(e,t,r={}){r.flags=r.flags||577;var n=FS.open(e,r.flags,r.mode);if("string"==typeof t){var a=new Uint8Array(lengthBytesUTF8(t)+1),o=stringToUTF8Array(t,a,0,a.length);FS.write(n,a,0,o,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");FS.write(n,t,0,t.byteLength,void 0,r.canOwn)}FS.close(n)},cwd:()=>FS.currentPath,chdir(e){var t=FS.lookupPath(e,{follow:!0});if(null===t.node)throw new FS.ErrnoError(44);if(!FS.isDir(t.node.mode))throw new FS.ErrnoError(54);var r=FS.nodePermissions(t.node,"x");if(r)throw new FS.ErrnoError(r);FS.currentPath=t.path},createDefaultDirectories(){FS.mkdir("/tmp"),FS.mkdir("/home"),FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev"),FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(e,t,r,n,a)=>n}),FS.mkdev("/dev/null",FS.makedev(1,3)),TTY.register(FS.makedev(5,0),TTY.default_tty_ops),TTY.register(FS.makedev(6,0),TTY.default_tty1_ops),FS.mkdev("/dev/tty",FS.makedev(5,0)),FS.mkdev("/dev/tty1",FS.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=randomFill(e).byteLength),e[--t]);FS.createDevice("/dev","random",r),FS.createDevice("/dev","urandom",r),FS.mkdir("/dev/shm"),FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var e=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd"),FS.mount({mount(){var t=FS.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,n=FS.getStreamChecked(r),a={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return a.parent=a,a}},t}},{},"/proc/self/fd")},createStandardStreams(){Module.stdin?FS.createDevice("/dev","stdin",Module.stdin):FS.symlink("/dev/tty","/dev/stdin"),Module.stdout?FS.createDevice("/dev","stdout",null,Module.stdout):FS.symlink("/dev/tty","/dev/stdout"),Module.stderr?FS.createDevice("/dev","stderr",null,Module.stderr):FS.symlink("/dev/tty1","/dev/stderr");FS.open("/dev/stdin",0),FS.open("/dev/stdout",1),FS.open("/dev/stderr",1)},ensureErrnoError(){FS.ErrnoError||(FS.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},FS.ErrnoError.prototype=new Error,FS.ErrnoError.prototype.constructor=FS.ErrnoError,[44].forEach(e=>{FS.genericErrors[e]=new FS.ErrnoError(e),FS.genericErrors[e].stack=""}))},staticInit(){FS.ensureErrnoError(),FS.nameTable=new Array(4096),FS.mount(MEMFS,{},"/"),FS.createDefaultDirectories(),FS.createDefaultDevices(),FS.createSpecialDirectories(),FS.filesystems={MEMFS:MEMFS}},init(e,t,r){FS.init.initialized=!0,FS.ensureErrnoError(),Module.stdin=e||Module.stdin,Module.stdout=t||Module.stdout,Module.stderr=r||Module.stderr,FS.createStandardStreams()},quit(){FS.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},o.prototype.setDataGetter=function(e){this.getter=e},o.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),a=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,o=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,i=1048576;a||(i=n);var s=this;s.setDataGetter(e=>{var t=e*i,a=(e+1)*i-1;if(a=Math.min(a,n-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var a=new XMLHttpRequest;if(a.open("GET",r,!1),n!==i&&a.setRequestHeader("Range","bytes="+e+"-"+t),a.responseType="arraybuffer",a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined"),a.send(null),!(a.status>=200&&a.status<300||304===a.status))throw new Error("Couldn't load "+r+". Status: "+a.status);return void 0!==a.response?new Uint8Array(a.response||[]):intArrayFromString(a.responseText||"",!0)})(t,a)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]}),!o&&n||(i=n=1,n=this.getter(0).length,i=n,out("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i=new o;Object.defineProperties(i,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:i}}else s={isDevice:!1,url:r};var l=FS.createFile(e,t,s,n,a);s.contents?l.contents=s.contents:s.url&&(l.contents=null,l.url=s.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var _={};function c(e,t,r,n,a){var o=e.node.contents;if(a>=o.length)return 0;var i=Math.min(o.length-a,n);if(o.slice)for(var s=0;s{var t=l.stream_ops[e];_[e]=function(){return FS.forceLoadFile(l),t.apply(null,arguments)}}),_.read=(e,t,r,n,a)=>(FS.forceLoadFile(l),c(e,t,r,n,a)),_.mmap=(e,t,r,n,a)=>{FS.forceLoadFile(l);var o=mmapAlloc(t);if(!o)throw new FS.ErrnoError(48);return c(e,GROWABLE_HEAP_I8(),o,t,r),{ptr:o,allocated:!0}},l.stream_ops=_,l}},UTF8ToString=(e,t)=>e?UTF8ArrayToString(GROWABLE_HEAP_U8(),e,t):"",SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(PATH.isAbs(t))return t;var n;-100===e?n=FS.cwd():n=SYSCALLS.getStreamFromFD(e).path;if(0==t.length){if(!r)throw new FS.ErrnoError(44);return n}return PATH.join2(n,t)},doStat(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&PATH.normalize(t)!==PATH.normalize(FS.getPath(e.node)))return-54;throw e}GROWABLE_HEAP_I32()[r>>2]=n.dev,GROWABLE_HEAP_I32()[r+4>>2]=n.mode,GROWABLE_HEAP_U32()[r+8>>2]=n.nlink,GROWABLE_HEAP_I32()[r+12>>2]=n.uid,GROWABLE_HEAP_I32()[r+16>>2]=n.gid,GROWABLE_HEAP_I32()[r+20>>2]=n.rdev,tempI64=[n.size>>>0,(tempDouble=n.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[r+24>>2]=tempI64[0],GROWABLE_HEAP_I32()[r+28>>2]=tempI64[1],GROWABLE_HEAP_I32()[r+32>>2]=4096,GROWABLE_HEAP_I32()[r+36>>2]=n.blocks;var a=n.atime.getTime(),o=n.mtime.getTime(),i=n.ctime.getTime();return tempI64=[Math.floor(a/1e3)>>>0,(tempDouble=Math.floor(a/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[r+40>>2]=tempI64[0],GROWABLE_HEAP_I32()[r+44>>2]=tempI64[1],GROWABLE_HEAP_U32()[r+48>>2]=a%1e3*1e3,tempI64=[Math.floor(o/1e3)>>>0,(tempDouble=Math.floor(o/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[r+56>>2]=tempI64[0],GROWABLE_HEAP_I32()[r+60>>2]=tempI64[1],GROWABLE_HEAP_U32()[r+64>>2]=o%1e3*1e3,tempI64=[Math.floor(i/1e3)>>>0,(tempDouble=Math.floor(i/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[r+72>>2]=tempI64[0],GROWABLE_HEAP_I32()[r+76>>2]=tempI64[1],GROWABLE_HEAP_U32()[r+80>>2]=i%1e3*1e3,tempI64=[n.ino>>>0,(tempDouble=n.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[r+88>>2]=tempI64[0],GROWABLE_HEAP_I32()[r+92>>2]=tempI64[1],0},doMsync(e,t,r,n,a){if(!FS.isFile(t.node.mode))throw new FS.ErrnoError(43);if(2&n)return 0;var o=GROWABLE_HEAP_U8().slice(e,e+r);FS.msync(t,o,a,r,n)},varargs:void 0,get(){var e=GROWABLE_HEAP_I32()[+SYSCALLS.varargs>>2];return SYSCALLS.varargs+=4,e},getp:()=>SYSCALLS.get(),getStr:e=>UTF8ToString(e),getStreamFromFD:e=>FS.getStreamChecked(e)};function _proc_exit(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(0,1,e);EXITSTATUS=e,keepRuntimeAlive()||(PThread.terminateAllThreads(),Module.onExit&&Module.onExit(e),ABORT=!0),quit_(e,new ExitStatus(e))}var exitJS=(e,t)=>{if(EXITSTATUS=e,ENVIRONMENT_IS_PTHREAD)throw exitOnMainThread(e),"unwind";_proc_exit(e)},_exit=exitJS,handleException=e=>{if(e instanceof ExitStatus||"unwind"==e)return EXITSTATUS;quit_(1,e)},PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init(){ENVIRONMENT_IS_PTHREAD?PThread.initWorker():PThread.initMainThread()},initMainThread(){for(var e=Module.pthreadPoolSize||5;e--;)PThread.allocateUnusedWorker();addOnPreRun(()=>{addRunDependency("loading-workers"),PThread.loadWasmModuleToAllWorkers(()=>removeRunDependency("loading-workers"))})},initWorker(){PThread.receiveObjectTransfer=PThread.receiveObjectTransfer,PThread.threadInitTLS=PThread.threadInitTLS,PThread.setExitStatus=PThread.setExitStatus,noExitRuntime=!1},setExitStatus:e=>{EXITSTATUS=e},terminateAllThreads__deps:["$terminateWorker"],terminateAllThreads:()=>{for(var e of PThread.runningWorkers)terminateWorker(e);for(var e of PThread.unusedWorkers)terminateWorker(e);PThread.unusedWorkers=[],PThread.runningWorkers=[],PThread.pthreads=[]},returnWorkerToPool:e=>{var t=e.pthread_ptr;delete PThread.pthreads[t],PThread.unusedWorkers.push(e),PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(e),1),e.pthread_ptr=0,__emscripten_thread_free_data(t)},receiveObjectTransfer(e){},threadInitTLS(){PThread.tlsInitFunctions.forEach(e=>e())},loadWasmModuleToWorker:e=>new Promise(t=>{e.onmessage=r=>{var n=r.data,a=n.cmd;if(n.targetThread&&n.targetThread!=_pthread_self()){var o=PThread.pthreads[n.targetThread];o?o.postMessage(n,n.transferList):err(`Internal error! Worker sent a message "${a}" to target pthread ${n.targetThread}, but that thread no longer exists!`)}else"checkMailbox"===a?checkMailbox():"spawnThread"===a?spawnThread(n):"cleanupThread"===a?cleanupThread(n.thread):"killThread"===a?killThread(n.thread):"cancelThread"===a?cancelThread(n.thread):"loaded"===a?(e.loaded=!0,t(e)):"alert"===a?alert(`Thread ${n.threadId}: ${n.text}`):"setimmediate"===n.target?e.postMessage(n):"callHandler"===a?Module[n.handler](...n.args):a&&err(`worker sent an unknown command ${a}`)},e.onerror=e=>{throw err(`worker sent an error! ${e.filename}:${e.lineno}: ${e.message}`),e};var r=[];for(var n of["onExit","onAbort","print","printErr"])Module.hasOwnProperty(n)&&r.push(n);e.postMessage({cmd:"load",handlers:r,urlOrBlob:Module.pthreadJsCache.get("pthreadjs")||Module.mainScriptUrlOrBlob||_scriptDir,wasmMemory:wasmMemory,wasmModule:wasmModule})}),loadWasmModuleToAllWorkers(e){if(ENVIRONMENT_IS_PTHREAD)return e();Promise.all(PThread.unusedWorkers.map(PThread.loadWasmModuleToWorker)).then(e)},allocateUnusedWorker(){var e,t=Module.pthreadJsCache.get("pthreadWorkerjs");let r=URL.createObjectURL(t);e=new Worker(r),PThread.unusedWorkers.push(e)},getNewWorker:()=>(0==PThread.unusedWorkers.length&&(PThread.allocateUnusedWorker(),PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])),PThread.unusedWorkers.pop())};Module.PThread=PThread;var callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(Module)},establishStackSpace=()=>{var e=_pthread_self(),t=GROWABLE_HEAP_U32()[e+52>>2],r=GROWABLE_HEAP_U32()[e+56>>2];_emscripten_stack_set_limits(t,t-r),stackRestore(t)};function exitOnMainThread(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(1,0,e);_exit(e)}Module.establishStackSpace=establishStackSpace;var wasmTable,asmjsMangle=e=>("__main_argc_argv"==e&&(e="main"),0==e.indexOf("dynCall_")||["stackAlloc","stackSave","stackRestore","getTempRet0","setTempRet0"].includes(e)?e:"_"+e),exportWasmSymbols=e=>{for(var t in e){var r=asmjsMangle(t);this[r]=Module[r]=e[t]}},getWasmTableEntry=e=>wasmTable.get(e),invokeEntryPoint=(e,t)=>{!function(e){keepRuntimeAlive()?PThread.setExitStatus(e):__emscripten_thread_exit(e)}(getWasmTableEntry(e)(t))};Module.invokeEntryPoint=invokeEntryPoint;var registerTLSInit=e=>{PThread.tlsInitFunctions.push(e)};function _CreateDirectoryFetcher(){abort("missing function: CreateDirectoryFetcher")}function _DDN_ConvertElement(){abort("missing function: DDN_ConvertElement")}function _DDN_CreateDDNResult(){abort("missing function: DDN_CreateDDNResult")}function _DDN_CreateDDNResultItem(){abort("missing function: DDN_CreateDDNResultItem")}function _DDN_CreateIntermediateResultUnits(){abort("missing function: DDN_CreateIntermediateResultUnits")}function _DDN_CreateParameters(){abort("missing function: DDN_CreateParameters")}function _DDN_CreateTargetRoiDefConditionFilter(){abort("missing function: DDN_CreateTargetRoiDefConditionFilter")}function _DDN_CreateTaskAlgEntity(){abort("missing function: DDN_CreateTaskAlgEntity")}function _DDN_HasSection(){abort("missing function: DDN_HasSection")}function _DDN_ReadTaskSetting(){abort("missing function: DDN_ReadTaskSetting")}function _DLR_ConvertElement(){abort("missing function: DLR_ConvertElement")}function _DLR_CreateBufferedCharacterItemSet(){abort("missing function: DLR_CreateBufferedCharacterItemSet")}function _DLR_CreateIntermediateResultUnits(){abort("missing function: DLR_CreateIntermediateResultUnits")}function _DLR_CreateParameters(){abort("missing function: DLR_CreateParameters")}function _DLR_CreateRecognizedTextLinesResult(){abort("missing function: DLR_CreateRecognizedTextLinesResult")}function _DLR_CreateTargetRoiDefConditionFilter(){abort("missing function: DLR_CreateTargetRoiDefConditionFilter")}function _DLR_CreateTaskAlgEntity(){abort("missing function: DLR_CreateTaskAlgEntity")}function _DLR_CreateTextLineResultItem(){abort("missing function: DLR_CreateTextLineResultItem")}function _DLR_ReadTaskSetting(){abort("missing function: DLR_ReadTaskSetting")}function _DMImage_GetDIB(){abort("missing function: DMImage_GetDIB")}function _DMImage_GetOrientation(){abort("missing function: DMImage_GetOrientation")}function _DeleteDirectoryFetcher(){abort("missing function: DeleteDirectoryFetcher")}function __ZN19LabelRecognizerWasm10getVersionEv(){abort("missing function: _ZN19LabelRecognizerWasm10getVersionEv")}function __ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv")}function __ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv")}function __ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi")}function __ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb")}function __ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb")}function __ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb")}function __ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii")}function __ZN19LabelRecognizerWasm12DlrWasmClassC1Ev(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClassC1Ev")}function __ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE(){abort("missing function: _ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE")}function __ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE(){abort("missing function: _ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE")}function __ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE(){abort("missing function: _ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE")}function __ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE(){abort("missing function: _ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE")}function __ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE(){abort("missing function: _ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE")}function __ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE(){abort("missing function: _ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE")}function __ZN22DocumentNormalizerWasm10getVersionEv(){abort("missing function: _ZN22DocumentNormalizerWasm10getVersionEv")}function __ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv")}function __ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi")}function __ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii")}function __ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib")}function __ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib")}function __ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb")}function __ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb")}function __ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE")}function __ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii")}function __ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev")}function __ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE(){abort("missing function: _ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE")}function __ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE(){abort("missing function: _ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE")}function __ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE(){abort("missing function: _ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE")}function __ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE(){abort("missing function: _ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE")}function __ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE(){abort("missing function: _ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE")}function __ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv(){abort("missing function: _ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv")}function __ZN9dynamsoft7utility14CUtilityModule10GetVersionEv(){abort("missing function: _ZN9dynamsoft7utility14CUtilityModule10GetVersionEv")}_CreateDirectoryFetcher.stub=!0,_DDN_ConvertElement.stub=!0,_DDN_CreateDDNResult.stub=!0,_DDN_CreateDDNResultItem.stub=!0,_DDN_CreateIntermediateResultUnits.stub=!0,_DDN_CreateParameters.stub=!0,_DDN_CreateTargetRoiDefConditionFilter.stub=!0,_DDN_CreateTaskAlgEntity.stub=!0,_DDN_HasSection.stub=!0,_DDN_ReadTaskSetting.stub=!0,_DLR_ConvertElement.stub=!0,_DLR_CreateBufferedCharacterItemSet.stub=!0,_DLR_CreateIntermediateResultUnits.stub=!0,_DLR_CreateParameters.stub=!0,_DLR_CreateRecognizedTextLinesResult.stub=!0,_DLR_CreateTargetRoiDefConditionFilter.stub=!0,_DLR_CreateTaskAlgEntity.stub=!0,_DLR_CreateTextLineResultItem.stub=!0,_DLR_ReadTaskSetting.stub=!0,_DMImage_GetDIB.stub=!0,_DMImage_GetOrientation.stub=!0,_DeleteDirectoryFetcher.stub=!0,__ZN19LabelRecognizerWasm10getVersionEv.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClassC1Ev.stub=!0,__ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE.stub=!0,__ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE.stub=!0,__ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE.stub=!0,__ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE.stub=!0,__ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE.stub=!0,__ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE.stub=!0,__ZN22DocumentNormalizerWasm10getVersionEv.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev.stub=!0,__ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE.stub=!0,__ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE.stub=!0,__ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE.stub=!0,__ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE.stub=!0,__ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE.stub=!0,__ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv.stub=!0,__ZN9dynamsoft7utility14CUtilityModule10GetVersionEv.stub=!0;var ___assert_fail=(e,t,r,n)=>{abort(`Assertion failed: ${UTF8ToString(e)}, at: `+[t?UTF8ToString(t):"unknown filename",r,n?UTF8ToString(n):"unknown function"])},exceptionCaught=[],uncaughtExceptionCount=0,___cxa_begin_catch=e=>{var t=new ExceptionInfo(e);return t.get_caught()||(t.set_caught(!0),uncaughtExceptionCount--),t.set_rethrown(!1),exceptionCaught.push(t),___cxa_increment_exception_refcount(t.excPtr),t.get_exception_ptr()},exceptionLast=0,___cxa_end_catch=()=>{_setThrew(0,0);var e=exceptionCaught.pop();___cxa_decrement_exception_refcount(e.excPtr),exceptionLast=0};function ExceptionInfo(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){GROWABLE_HEAP_U32()[this.ptr+4>>2]=e},this.get_type=function(){return GROWABLE_HEAP_U32()[this.ptr+4>>2]},this.set_destructor=function(e){GROWABLE_HEAP_U32()[this.ptr+8>>2]=e},this.get_destructor=function(){return GROWABLE_HEAP_U32()[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,GROWABLE_HEAP_I8()[this.ptr+12|0]=e},this.get_caught=function(){return 0!=GROWABLE_HEAP_I8()[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,GROWABLE_HEAP_I8()[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=GROWABLE_HEAP_I8()[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){GROWABLE_HEAP_U32()[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return GROWABLE_HEAP_U32()[this.ptr+16>>2]},this.get_exception_ptr=function(){if(___cxa_is_pointer_type(this.get_type()))return GROWABLE_HEAP_U32()[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var ___resumeException=e=>{throw exceptionLast||(exceptionLast=e),exceptionLast},findMatchingCatch=e=>{var t=exceptionLast;if(!t)return setTempRet0(0),0;var r=new ExceptionInfo(t);r.set_adjusted_ptr(t);var n=r.get_type();if(!n)return setTempRet0(0),t;for(var a in e){var o=e[a];if(0===o||o===n)break;var i=r.ptr+16;if(___cxa_can_catch(o,n,i))return setTempRet0(o),t}return setTempRet0(n),t},___cxa_find_matching_catch_2=()=>findMatchingCatch([]),___cxa_find_matching_catch_3=e=>findMatchingCatch([e]),___cxa_rethrow=()=>{var e=exceptionCaught.pop();e||abort("no exception to throw");var t=e.excPtr;throw e.get_rethrown()||(exceptionCaught.push(e),e.set_rethrown(!0),e.set_caught(!1),uncaughtExceptionCount++),exceptionLast=t},___cxa_rethrow_primary_exception=e=>{if(e){var t=new ExceptionInfo(e);exceptionCaught.push(t),t.set_rethrown(!0),___cxa_rethrow()}},___cxa_throw=(e,t,r)=>{throw new ExceptionInfo(e).init(t,r),uncaughtExceptionCount++,exceptionLast=e},___cxa_uncaught_exceptions=()=>uncaughtExceptionCount,___emscripten_init_main_thread_js=e=>{__emscripten_thread_init(e,!ENVIRONMENT_IS_WORKER,1,!ENVIRONMENT_IS_WEB,20971520,!1),PThread.threadInitTLS()},___emscripten_thread_cleanup=e=>{ENVIRONMENT_IS_PTHREAD?postMessage({cmd:"cleanupThread",thread:e}):cleanupThread(e)};function pthreadCreateProxied(e,t,r,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(2,1,e,t,r,n):___pthread_create_js(e,t,r,n)}var ___pthread_create_js=(e,t,r,n)=>{if("undefined"==typeof SharedArrayBuffer)return err("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var a=[];if(ENVIRONMENT_IS_PTHREAD&&0===a.length)return pthreadCreateProxied(e,t,r,n);var o={startRoutine:r,pthread_ptr:e,arg:n,transferList:a};return ENVIRONMENT_IS_PTHREAD?(o.cmd="spawnThread",postMessage(o,a),0):spawnThread(o)};function ___syscall__newselect(e,t,r,n,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(3,1,e,t,r,n,a);try{for(var o=0,i=t?GROWABLE_HEAP_I32()[t>>2]:0,s=t?GROWABLE_HEAP_I32()[t+4>>2]:0,l=r?GROWABLE_HEAP_I32()[r>>2]:0,_=r?GROWABLE_HEAP_I32()[r+4>>2]:0,c=n?GROWABLE_HEAP_I32()[n>>2]:0,u=n?GROWABLE_HEAP_I32()[n+4>>2]:0,d=0,m=0,E=0,f=0,p=0,h=0,g=(t?GROWABLE_HEAP_I32()[t>>2]:0)|(r?GROWABLE_HEAP_I32()[r>>2]:0)|(n?GROWABLE_HEAP_I32()[n>>2]:0),S=(t?GROWABLE_HEAP_I32()[t+4>>2]:0)|(r?GROWABLE_HEAP_I32()[r+4>>2]:0)|(n?GROWABLE_HEAP_I32()[n+4>>2]:0),v=function(e,t,r,n){return e<32?t&n:r&n},y=0;y>2]:0)+(t?GROWABLE_HEAP_I32()[a+8>>2]:0)/1e6);A=w.stream_ops.poll(w,R)}1&A&&v(y,i,s,F)&&(y<32?d|=F:m|=F,o++),4&A&&v(y,l,_,F)&&(y<32?E|=F:f|=F,o++),2&A&&v(y,c,u,F)&&(y<32?p|=F:h|=F,o++)}}return t&&(GROWABLE_HEAP_I32()[t>>2]=d,GROWABLE_HEAP_I32()[t+4>>2]=m),r&&(GROWABLE_HEAP_I32()[r>>2]=E,GROWABLE_HEAP_I32()[r+4>>2]=f),n&&(GROWABLE_HEAP_I32()[n>>2]=p,GROWABLE_HEAP_I32()[n+4>>2]=h),o}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}var SOCKFS={mount:e=>(Module.websocket=Module.websocket&&"object"==typeof Module.websocket?Module.websocket:{},Module.websocket._callbacks={},Module.websocket.on=function(e,t){return"function"==typeof t&&(this._callbacks[e]=t),this},Module.websocket.emit=function(e,t){"function"==typeof this._callbacks[e]&&this._callbacks[e].call(this,t)},FS.createNode(null,"/",16895,0)),createSocket(e,t,r){if(1==(t&=-526337)&&r&&6!=r)throw new FS.ErrnoError(66);var n={family:e,type:t,protocol:r,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops},a=SOCKFS.nextname(),o=FS.createNode(SOCKFS.root,a,49152,0);o.sock=n;var i=FS.createStream({path:a,node:o,flags:2,seekable:!1,stream_ops:SOCKFS.stream_ops});return n.stream=i,n},getSocket(e){var t=FS.getStream(e);return t&&FS.isSocket(t.node.mode)?t.node.sock:null},stream_ops:{poll(e){var t=e.node.sock;return t.sock_ops.poll(t)},ioctl(e,t,r){var n=e.node.sock;return n.sock_ops.ioctl(n,t,r)},read(e,t,r,n,a){var o=e.node.sock,i=o.sock_ops.recvmsg(o,n);return i?(t.set(i.buffer,r),i.buffer.length):0},write(e,t,r,n,a){var o=e.node.sock;return o.sock_ops.sendmsg(o,t,r,n)},close(e){var t=e.node.sock;t.sock_ops.close(t)}},nextname:()=>(SOCKFS.nextname.current||(SOCKFS.nextname.current=0),"socket["+SOCKFS.nextname.current+++"]"),websocket_sock_ops:{createPeer(e,t,r){var n;if("object"==typeof t&&(n=t,t=null,r=null),n)if(n._socket)t=n._socket.remoteAddress,r=n._socket.remotePort;else{var a=/ws[s]?:\/\/([^:]+):(\d+)/.exec(n.url);if(!a)throw new Error("WebSocket URL must be in the format ws(s)://address:port");t=a[1],r=parseInt(a[2],10)}else try{var o=Module.websocket&&"object"==typeof Module.websocket,i="ws:#".replace("#","//");if(o&&"string"==typeof Module.websocket.url&&(i=Module.websocket.url),"ws://"===i||"wss://"===i){var s=t.split("/");i=i+s[0]+":"+r+"/"+s.slice(1).join("/")}var l="binary";o&&"string"==typeof Module.websocket.subprotocol&&(l=Module.websocket.subprotocol);var _=void 0;"null"!==l&&(_=l=l.replace(/^ +| +$/g,"").split(/ *, */)),o&&null===Module.websocket.subprotocol&&(l="null",_=void 0),(n=new WebSocket(i,_)).binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}var c={addr:t,port:r,socket:n,dgram_send_queue:[]};return SOCKFS.websocket_sock_ops.addPeer(e,c),SOCKFS.websocket_sock_ops.handlePeerEvents(e,c),2===e.type&&void 0!==e.sport&&c.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(65280&e.sport)>>8,255&e.sport])),c},getPeer:(e,t,r)=>e.peers[t+":"+r],addPeer(e,t){e.peers[t.addr+":"+t.port]=t},removePeer(e,t){delete e.peers[t.addr+":"+t.port]},handlePeerEvents(e,t){var r=!0,n=function(){Module.websocket.emit("open",e.stream.fd);try{for(var r=t.dgram_send_queue.shift();r;)t.socket.send(r),r=t.dgram_send_queue.shift()}catch(e){t.socket.close()}};function a(n){if("string"==typeof n){n=(new TextEncoder).encode(n)}else{if(assert(void 0!==n.byteLength),0==n.byteLength)return;n=new Uint8Array(n)}var a=r;if(r=!1,a&&10===n.length&&255===n[0]&&255===n[1]&&255===n[2]&&255===n[3]&&n[4]==="p".charCodeAt(0)&&n[5]==="o".charCodeAt(0)&&n[6]==="r".charCodeAt(0)&&n[7]==="t".charCodeAt(0)){var o=n[8]<<8|n[9];return SOCKFS.websocket_sock_ops.removePeer(e,t),t.port=o,void SOCKFS.websocket_sock_ops.addPeer(e,t)}e.recv_queue.push({addr:t.addr,port:t.port,data:n}),Module.websocket.emit("message",e.stream.fd)}ENVIRONMENT_IS_NODE?(t.socket.on("open",n),t.socket.on("message",function(e,t){t&&a(new Uint8Array(e).buffer)}),t.socket.on("close",function(){Module.websocket.emit("close",e.stream.fd)}),t.socket.on("error",function(t){e.error=14,Module.websocket.emit("error",[e.stream.fd,e.error,"ECONNREFUSED: Connection refused"])})):(t.socket.onopen=n,t.socket.onclose=function(){Module.websocket.emit("close",e.stream.fd)},t.socket.onmessage=function(e){a(e.data)},t.socket.onerror=function(t){e.error=14,Module.websocket.emit("error",[e.stream.fd,e.error,"ECONNREFUSED: Connection refused"])})},poll(e){if(1===e.type&&e.server)return e.pending.length?65:0;var t=0,r=1===e.type?SOCKFS.websocket_sock_ops.getPeer(e,e.daddr,e.dport):null;return(e.recv_queue.length||!r||r&&r.socket.readyState===r.socket.CLOSING||r&&r.socket.readyState===r.socket.CLOSED)&&(t|=65),(!r||r&&r.socket.readyState===r.socket.OPEN)&&(t|=4),(r&&r.socket.readyState===r.socket.CLOSING||r&&r.socket.readyState===r.socket.CLOSED)&&(t|=16),t},ioctl(e,t,r){if(21531===t){var n=0;return e.recv_queue.length&&(n=e.recv_queue[0].data.length),GROWABLE_HEAP_I32()[r>>2]=n,0}return 28},close(e){if(e.server){try{e.server.close()}catch(e){}e.server=null}for(var t=Object.keys(e.peers),r=0;r{var t=SOCKFS.getSocket(e);if(!t)throw new FS.ErrnoError(8);return t},setErrNo=e=>(GROWABLE_HEAP_I32()[___errno_location()>>2]=e,e),inetNtop4=e=>(255&e)+"."+(e>>8&255)+"."+(e>>16&255)+"."+(e>>24&255),inetNtop6=e=>{var t="",r=0,n=0,a=0,o=0,i=0,s=0,l=[65535&e[0],e[0]>>16,65535&e[1],e[1]>>16,65535&e[2],e[2]>>16,65535&e[3],e[3]>>16],_=!0,c="";for(s=0;s<5;s++)if(0!==l[s]){_=!1;break}if(_){if(c=inetNtop4(l[6]|l[7]<<16),-1===l[5])return t="::ffff:",t+=c;if(0===l[5])return t="::","0.0.0.0"===c&&(c=""),"0.0.0.1"===c&&(c="1"),t+=c}for(r=0;r<8;r++)0===l[r]&&(r-a>1&&(i=0),a=r,i++),i>n&&(o=r-(n=i)+1);for(r=0;r<8;r++)n>1&&0===l[r]&&r>=o&&r{var r,n=GROWABLE_HEAP_I16()[e>>1],a=_ntohs(GROWABLE_HEAP_U16()[e+2>>1]);switch(n){case 2:if(16!==t)return{errno:28};r=GROWABLE_HEAP_I32()[e+4>>2],r=inetNtop4(r);break;case 10:if(28!==t)return{errno:28};r=[GROWABLE_HEAP_I32()[e+8>>2],GROWABLE_HEAP_I32()[e+12>>2],GROWABLE_HEAP_I32()[e+16>>2],GROWABLE_HEAP_I32()[e+20>>2]],r=inetNtop6(r);break;default:return{errno:5}}return{family:n,addr:r,port:a}},inetPton4=e=>{for(var t=e.split("."),r=0;r<4;r++){var n=Number(t[r]);if(isNaN(n))return null;t[r]=n}return(t[0]|t[1]<<8|t[2]<<16|t[3]<<24)>>>0},jstoi_q=e=>parseInt(e),inetPton6=e=>{var t,r,n,a,o=[];if(!/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i.test(e))return null;if("::"===e)return[0,0,0,0,0,0,0,0];for((e=e.startsWith("::")?e.replace("::","Z:"):e.replace("::",":Z:")).indexOf(".")>0?((t=(e=e.replace(new RegExp("[.]","g"),":")).split(":"))[t.length-4]=jstoi_q(t[t.length-4])+256*jstoi_q(t[t.length-3]),t[t.length-3]=jstoi_q(t[t.length-2])+256*jstoi_q(t[t.length-1]),t=t.slice(0,t.length-2)):t=e.split(":"),n=0,a=0,r=0;rDNS.address_map.names[e]?DNS.address_map.names[e]:null},getSocketAddress=(e,t,r)=>{if(r&&0===e)return null;var n=readSockaddr(e,t);if(n.errno)throw new FS.ErrnoError(n.errno);return n.addr=DNS.lookup_addr(n.addr)||n.addr,n};function ___syscall_connect(e,t,r,n,a,o){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(4,1,e,t,r,n,a,o);try{var i=getSocketFromFD(e),s=getSocketAddress(t,r);return i.sock_ops.connect(i,s.addr,s.port),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_faccessat(e,t,r,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(5,1,e,t,r,n);try{if(t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),-8&r)return-28;var a=FS.lookupPath(t,{follow:!0}).node;if(!a)return-44;var o="";return 4&r&&(o+="r"),2&r&&(o+="w"),1&r&&(o+="x"),o&&FS.nodePermissions(a,o)?-2:0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_fcntl64(e,t,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(6,1,e,t,r);SYSCALLS.varargs=r;try{var n=SYSCALLS.getStreamFromFD(e);switch(t){case 0:if((a=SYSCALLS.get())<0)return-28;for(;FS.streams[a];)a++;return FS.createStream(n,a).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var a=SYSCALLS.get();return n.flags|=a,0;case 5:a=SYSCALLS.getp();return GROWABLE_HEAP_I16()[a+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return setErrNo(28),-1}}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_fstat64(e,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(7,1,e,t);try{var r=SYSCALLS.getStreamFromFD(e);return SYSCALLS.doStat(FS.stat,r.path,t)}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}var stringToUTF8=(e,t,r)=>stringToUTF8Array(e,GROWABLE_HEAP_U8(),t,r);function ___syscall_getcwd(e,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(8,1,e,t);try{if(0===t)return-28;var r=FS.cwd(),n=lengthBytesUTF8(r)+1;return t>>0,(tempDouble=l,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[t+o>>2]=tempI64[0],GROWABLE_HEAP_I32()[t+o+4>>2]=tempI64[1],tempI64=[(s+1)*a>>>0,(tempDouble=(s+1)*a,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[t+o+8>>2]=tempI64[0],GROWABLE_HEAP_I32()[t+o+12>>2]=tempI64[1],GROWABLE_HEAP_I16()[t+o+16>>1]=280,GROWABLE_HEAP_I8()[t+o+18|0]=_,stringToUTF8(c,t+o+19,256),o+=a,s+=1}return FS.llseek(n,s*a,0),o}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_ioctl(e,t,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(10,1,e,t,r);SYSCALLS.varargs=r;try{var n=SYSCALLS.getStreamFromFD(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var a=n.tty.ops.ioctl_tcgets(n),o=SYSCALLS.getp();GROWABLE_HEAP_I32()[o>>2]=a.c_iflag||0,GROWABLE_HEAP_I32()[o+4>>2]=a.c_oflag||0,GROWABLE_HEAP_I32()[o+8>>2]=a.c_cflag||0,GROWABLE_HEAP_I32()[o+12>>2]=a.c_lflag||0;for(var i=0;i<32;i++)GROWABLE_HEAP_I8()[o+i+17|0]=a.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){o=SYSCALLS.getp();var s=GROWABLE_HEAP_I32()[o>>2],l=GROWABLE_HEAP_I32()[o+4>>2],_=GROWABLE_HEAP_I32()[o+8>>2],c=GROWABLE_HEAP_I32()[o+12>>2],u=[];for(i=0;i<32;i++)u.push(GROWABLE_HEAP_I8()[o+i+17|0]);return n.tty.ops.ioctl_tcsets(n.tty,t,{c_iflag:s,c_oflag:l,c_cflag:_,c_lflag:c,c_cc:u})}return 0;case 21519:if(!n.tty)return-59;o=SYSCALLS.getp();return GROWABLE_HEAP_I32()[o>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:o=SYSCALLS.getp();return FS.ioctl(n,t,o);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var d=n.tty.ops.ioctl_tiocgwinsz(n.tty);o=SYSCALLS.getp();GROWABLE_HEAP_I16()[o>>1]=d[0],GROWABLE_HEAP_I16()[o+2>>1]=d[1]}return 0;default:return-28}}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_lstat64(e,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(11,1,e,t);try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.lstat,e,t)}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_mkdirat(e,t,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(12,1,e,t,r);try{return t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),"/"===(t=PATH.normalize(t))[t.length-1]&&(t=t.substr(0,t.length-1)),FS.mkdir(t,r,0),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_newfstatat(e,t,r,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(13,1,e,t,r,n);try{t=SYSCALLS.getStr(t);var a=256&n,o=4096&n;return n&=-6401,t=SYSCALLS.calculateAt(e,t,o),SYSCALLS.doStat(a?FS.lstat:FS.stat,t,r)}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_openat(e,t,r,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(14,1,e,t,r,n);SYSCALLS.varargs=n;try{t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t);var a=n?SYSCALLS.get():0;return FS.open(t,r,a).fd}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_readlinkat(e,t,r,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(15,1,e,t,r,n);try{if(t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),n<=0)return-28;var a=FS.readlink(t),o=Math.min(n,lengthBytesUTF8(a)),i=GROWABLE_HEAP_I8()[r+o];return stringToUTF8(a,r,n+1),GROWABLE_HEAP_I8()[r+o]=i,o}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_rmdir(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(16,1,e);try{return e=SYSCALLS.getStr(e),FS.rmdir(e),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_socket(e,t,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(17,1,e,t,r);try{return SOCKFS.createSocket(e,t,r).stream.fd}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_stat64(e,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(18,1,e,t);try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.stat,e,t)}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_unlinkat(e,t,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(19,1,e,t,r);try{return t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),0===r?FS.unlink(t):512===r?FS.rmdir(t):abort("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}var nowIsMonotonic=!0,__emscripten_get_now_is_monotonic=()=>nowIsMonotonic,maybeExit=()=>{if(!keepRuntimeAlive())try{ENVIRONMENT_IS_PTHREAD?__emscripten_thread_exit(EXITSTATUS):_exit(EXITSTATUS)}catch(e){handleException(e)}},callUserCallback=e=>{if(!ABORT)try{e(),maybeExit()}catch(e){handleException(e)}},__emscripten_thread_mailbox_await=e=>{if("function"==typeof Atomics.waitAsync){Atomics.waitAsync(GROWABLE_HEAP_I32(),e>>2,e).value.then(checkMailbox);var t=e+128;Atomics.store(GROWABLE_HEAP_I32(),t>>2,1)}};Module.__emscripten_thread_mailbox_await=__emscripten_thread_mailbox_await;var checkMailbox=()=>{var e=_pthread_self();e&&(__emscripten_thread_mailbox_await(e),callUserCallback(()=>__emscripten_check_mailbox()))};Module.checkMailbox=checkMailbox;var __emscripten_notify_mailbox_postmessage=(e,t,r)=>{if(e==t)setTimeout(()=>checkMailbox());else if(ENVIRONMENT_IS_PTHREAD)postMessage({targetThread:e,cmd:"checkMailbox"});else{var n=PThread.pthreads[e];if(!n)return;n.postMessage({cmd:"checkMailbox"})}},withStackSave=e=>{var t=stackSave(),r=e();return stackRestore(t),r},proxyToMainThread=function(e,t){var r=arguments.length-2,n=arguments;return withStackSave(()=>{for(var a=r,o=stackAlloc(8*a),i=o>>3,s=0;s{proxiedJSCallArgs.length=r;for(var a=n>>3,o=0;o{},convertI32PairToI53Checked=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN;function __gmtime_js(e,t,r){var n=convertI32PairToI53Checked(e,t),a=new Date(1e3*n);GROWABLE_HEAP_I32()[r>>2]=a.getUTCSeconds(),GROWABLE_HEAP_I32()[r+4>>2]=a.getUTCMinutes(),GROWABLE_HEAP_I32()[r+8>>2]=a.getUTCHours(),GROWABLE_HEAP_I32()[r+12>>2]=a.getUTCDate(),GROWABLE_HEAP_I32()[r+16>>2]=a.getUTCMonth(),GROWABLE_HEAP_I32()[r+20>>2]=a.getUTCFullYear()-1900,GROWABLE_HEAP_I32()[r+24>>2]=a.getUTCDay();var o=Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0),i=(a.getTime()-o)/864e5|0;GROWABLE_HEAP_I32()[r+28>>2]=i}var isLeapYear=e=>e%4==0&&(e%100!=0||e%400==0),MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335],MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334],ydayFromDate=e=>(isLeapYear(e.getFullYear())?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE)[e.getMonth()]+e.getDate()-1;function __localtime_js(e,t,r){var n=convertI32PairToI53Checked(e,t),a=new Date(1e3*n);GROWABLE_HEAP_I32()[r>>2]=a.getSeconds(),GROWABLE_HEAP_I32()[r+4>>2]=a.getMinutes(),GROWABLE_HEAP_I32()[r+8>>2]=a.getHours(),GROWABLE_HEAP_I32()[r+12>>2]=a.getDate(),GROWABLE_HEAP_I32()[r+16>>2]=a.getMonth(),GROWABLE_HEAP_I32()[r+20>>2]=a.getFullYear()-1900,GROWABLE_HEAP_I32()[r+24>>2]=a.getDay();var o=0|ydayFromDate(a);GROWABLE_HEAP_I32()[r+28>>2]=o,GROWABLE_HEAP_I32()[r+36>>2]=-60*a.getTimezoneOffset();var i=new Date(a.getFullYear(),0,1),s=new Date(a.getFullYear(),6,1).getTimezoneOffset(),l=i.getTimezoneOffset(),_=0|(s!=l&&a.getTimezoneOffset()==Math.min(l,s));GROWABLE_HEAP_I32()[r+32>>2]=_}var __mktime_js=function(e){var t=(()=>{var t=new Date(GROWABLE_HEAP_I32()[e+20>>2]+1900,GROWABLE_HEAP_I32()[e+16>>2],GROWABLE_HEAP_I32()[e+12>>2],GROWABLE_HEAP_I32()[e+8>>2],GROWABLE_HEAP_I32()[e+4>>2],GROWABLE_HEAP_I32()[e>>2],0),r=GROWABLE_HEAP_I32()[e+32>>2],n=t.getTimezoneOffset(),a=new Date(t.getFullYear(),0,1),o=new Date(t.getFullYear(),6,1).getTimezoneOffset(),i=a.getTimezoneOffset(),s=Math.min(i,o);if(r<0)GROWABLE_HEAP_I32()[e+32>>2]=Number(o!=i&&s==n);else if(r>0!=(s==n)){var l=Math.max(i,o),_=r>0?s:l;t.setTime(t.getTime()+6e4*(_-n))}GROWABLE_HEAP_I32()[e+24>>2]=t.getDay();var c=0|ydayFromDate(t);return GROWABLE_HEAP_I32()[e+28>>2]=c,GROWABLE_HEAP_I32()[e>>2]=t.getSeconds(),GROWABLE_HEAP_I32()[e+4>>2]=t.getMinutes(),GROWABLE_HEAP_I32()[e+8>>2]=t.getHours(),GROWABLE_HEAP_I32()[e+12>>2]=t.getDate(),GROWABLE_HEAP_I32()[e+16>>2]=t.getMonth(),GROWABLE_HEAP_I32()[e+20>>2]=t.getYear(),t.getTime()/1e3})();return setTempRet0((tempDouble=t,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),t>>>0};function __mmap_js(e,t,r,n,a,o,i,s){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(20,1,e,t,r,n,a,o,i,s);var l=convertI32PairToI53Checked(a,o);try{if(isNaN(l))return 61;var _=SYSCALLS.getStreamFromFD(n),c=FS.mmap(_,e,l,t,r),u=c.ptr;return GROWABLE_HEAP_I32()[i>>2]=c.allocated,GROWABLE_HEAP_U32()[s>>2]=u,0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function __munmap_js(e,t,r,n,a,o,i){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(21,1,e,t,r,n,a,o,i);var s=convertI32PairToI53Checked(o,i);try{if(isNaN(s))return 61;var l=SYSCALLS.getStreamFromFD(a);2&r&&SYSCALLS.doMsync(e,l,t,n,s),FS.munmap(l)}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}var _emscripten_get_now,stringToNewUTF8=e=>{var t=lengthBytesUTF8(e)+1,r=_malloc(t);return r&&stringToUTF8(e,r,t),r},__tzset_js=(e,t,r)=>{var n=(new Date).getFullYear(),a=new Date(n,0,1),o=new Date(n,6,1),i=a.getTimezoneOffset(),s=o.getTimezoneOffset(),l=Math.max(i,s);function _(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}GROWABLE_HEAP_U32()[e>>2]=60*l,GROWABLE_HEAP_I32()[t>>2]=Number(i!=s);var c=_(a),u=_(o),d=stringToNewUTF8(c),m=stringToNewUTF8(u);s>2]=d,GROWABLE_HEAP_U32()[r+4>>2]=m):(GROWABLE_HEAP_U32()[r>>2]=m,GROWABLE_HEAP_U32()[r+4>>2]=d)},_abort=()=>{abort("")},readEmAsmArgsArray=[],readEmAsmArgs=(e,t)=>{var r;for(readEmAsmArgsArray.length=0;r=GROWABLE_HEAP_U8()[e++];){var n=105!=r;t+=(n&=112!=r)&&t%8?4:0,readEmAsmArgsArray.push(112==r?GROWABLE_HEAP_U32()[t>>2]:105==r?GROWABLE_HEAP_I32()[t>>2]:GROWABLE_HEAP_F64()[t>>3]),t+=n?8:4}return readEmAsmArgsArray},runEmAsmFunction=(e,t,r)=>{var n=readEmAsmArgs(t,r);return ASM_CONSTS[e].apply(null,n)},_emscripten_asm_const_int=(e,t,r)=>runEmAsmFunction(e,t,r),warnOnce=e=>{warnOnce.shown||(warnOnce.shown={}),warnOnce.shown[e]||(warnOnce.shown[e]=1,err(e))},_emscripten_check_blocking_allowed=()=>{},_emscripten_date_now=()=>Date.now(),_emscripten_errn=(e,t)=>err(UTF8ToString(e,t)),runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1},_emscripten_exit_with_live_runtime=()=>{throw runtimeKeepalivePush(),"unwind"},getHeapMax=()=>2147483648,_emscripten_get_heap_max=()=>getHeapMax();_emscripten_get_now=()=>performance.timeOrigin+performance.now();var reallyNegative=e=>e<0||0===e&&1/e==-1/0,convertI32PairToI53=(e,t)=>(e>>>0)+4294967296*t,convertU32PairToI53=(e,t)=>(e>>>0)+4294967296*(t>>>0),reSign=(e,t)=>{if(e<=0)return e;var r=t<=32?Math.abs(1<=r&&(t<=32||e>r)&&(e=-2*r+e),e},unSign=(e,t)=>e>=0?e:t<=32?2*Math.abs(1<{for(var t=e;GROWABLE_HEAP_U8()[t];)++t;return t-e},formatString=(e,t)=>{var r=e,n=t;function a(e){var t;return n=function(e,t){return"double"!==t&&"i64"!==t||7&e&&(e+=4),e}(n,e),"double"===e?(t=GROWABLE_HEAP_F64()[n>>3],n+=8):"i64"==e?(t=[GROWABLE_HEAP_I32()[n>>2],GROWABLE_HEAP_I32()[n+4>>2]],n+=8):(e="i32",t=GROWABLE_HEAP_I32()[n>>2],n+=4),t}for(var o,i,s,l=[];;){var _=r;if(0===(o=GROWABLE_HEAP_I8()[r|0]))break;if(i=GROWABLE_HEAP_I8()[r+1|0],37==o){var c=!1,u=!1,d=!1,m=!1,E=!1;e:for(;;){switch(i){case 43:c=!0;break;case 45:u=!0;break;case 35:d=!0;break;case 48:if(m)break e;m=!0;break;case 32:E=!0;break;default:break e}r++,i=GROWABLE_HEAP_I8()[r+1|0]}var f=0;if(42==i)f=a("i32"),r++,i=GROWABLE_HEAP_I8()[r+1|0];else for(;i>=48&&i<=57;)f=10*f+(i-48),r++,i=GROWABLE_HEAP_I8()[r+1|0];var p,h=!1,g=-1;if(46==i){if(g=0,h=!0,r++,42==(i=GROWABLE_HEAP_I8()[r+1|0]))g=a("i32"),r++;else for(;;){var S=GROWABLE_HEAP_I8()[r+1|0];if(S<48||S>57)break;g=10*g+(S-48),r++}i=GROWABLE_HEAP_I8()[r+1|0]}switch(g<0&&(g=6,h=!1),String.fromCharCode(i)){case"h":104==GROWABLE_HEAP_I8()[r+2|0]?(r++,p=1):p=2;break;case"l":108==GROWABLE_HEAP_I8()[r+2|0]?(r++,p=8):p=4;break;case"L":case"q":case"j":p=8;break;case"z":case"t":case"I":p=4;break;default:p=null}switch(p&&r++,i=GROWABLE_HEAP_I8()[r+1|0],String.fromCharCode(i)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var v=100==i||105==i;if(s=a("i"+8*(p=p||4)),8==p&&(s=117==i?convertU32PairToI53(s[0],s[1]):convertI32PairToI53(s[0],s[1])),p<=4){var y=Math.pow(256,p)-1;s=(v?reSign:unSign)(s&y,8*p)}var F=Math.abs(s),w="";if(100==i||105==i)T=reSign(s,8*p).toString(10);else if(117==i)T=unSign(s,8*p).toString(10),s=Math.abs(s);else if(111==i)T=(d?"0":"")+F.toString(8);else if(120==i||88==i){if(w=d&&0!=s?"0x":"",s<0){s=-s,T=(F-1).toString(16);for(var A=[],R=0;R=0&&(c?w="+"+w:E&&(w=" "+w)),"-"==T.charAt(0)&&(w="-"+w,T=T.substr(1));w.length+T.lengthN&&N>=-4?(i=(103==i?"f":"F").charCodeAt(0),g-=N+1):(i=(103==i?"e":"E").charCodeAt(0),g--),b=Math.min(g,20)}101==i||69==i?(T=s.toExponential(b),/[eE][-+]\d$/.test(T)&&(T=T.slice(0,-1)+"0"+T.slice(-1))):102!=i&&70!=i||(T=s.toFixed(b),0===s&&reallyNegative(s)&&(T="-"+T));var k=T.split("e");if(D&&!d)for(;k[0].length>1&&k[0].includes(".")&&("0"==k[0].slice(-1)||"."==k[0].slice(-1));)k[0]=k[0].slice(0,-1);else for(d&&-1==T.indexOf(".")&&(k[0]+=".");g>b++;)k[0]+="0";T=k[0]+(k.length>1?"e"+k[1]:""),69==i&&(T=T.toUpperCase()),s>=0&&(c?T="+"+T:E&&(T=" "+T))}else T=(s<0?"-":"")+"inf",m=!1;for(;T.length0;)l.push(32);u||l.push(a("i8"));break;case"n":var L=a("i32*");GROWABLE_HEAP_I32()[L>>2]=l.length;break;case"%":l.push(o);break;default:for(R=_;R=4)){t+=c+"\n";continue}u=f[1],d=f[2],m=f[3],E=0|f[4]}var p=!1;if(8&e){var h=emscripten_source_map.originalPositionFor({line:m,column:E});(p=h&&h.source)&&(64&e&&(h.source=h.source.substring(h.source.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=` at ${u} (${h.source}:${h.line}:${h.column})\n`)}(16&e||!p)&&(64&e&&(d=d.substring(d.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=(p?` = ${u}`:` at ${u}`)+` (${d}:${m}:${E})\n`)}return t=t.replace(/\s+$/,"")}var emscriptenLog=(e,t)=>{24&e&&(t=t.replace(/\s+$/,""),t+=(t.length>0?"\n":"")+getCallstack(e)),1&e?4&e||2&e?err(t):out(t):6&e?err(t):out(t)},_emscripten_log=(e,t,r)=>{var n=formatString(t,r),a=UTF8ArrayToString(n,0);emscriptenLog(e,a)},_emscripten_num_logical_cores=()=>navigator.hardwareConcurrency,growMemory=e=>{var t=(e-wasmMemory.buffer.byteLength+65535)/65536;try{return wasmMemory.grow(t),updateMemoryViews(),1}catch(e){}},_emscripten_resize_heap=e=>{var t=GROWABLE_HEAP_U8().length;if((e>>>=0)<=t)return!1;var r=getHeapMax();if(e>r)return!1;for(var n=(e,t)=>e+(t-e%t)%t,a=1;a<=4;a*=2){var o=t*(1+.2/a);o=Math.min(o,e+100663296);var i=Math.min(r,n(Math.max(e,o),65536));if(growMemory(i))return!0}return!1},ENV={},getExecutableName=()=>thisProgram||"./this.program",getEnvStrings=()=>{if(!getEnvStrings.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:getExecutableName()};for(var t in ENV)void 0===ENV[t]?delete e[t]:e[t]=ENV[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);getEnvStrings.strings=r}return getEnvStrings.strings},stringToAscii=(e,t)=>{for(var r=0;r{var o=t+r;GROWABLE_HEAP_U32()[e+4*a>>2]=o,stringToAscii(n,o),r+=n.length+1}),0},_environ_sizes_get=function(e,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(23,1,e,t);var r=getEnvStrings();GROWABLE_HEAP_U32()[e>>2]=r.length;var n=0;return r.forEach(e=>n+=e.length+1),GROWABLE_HEAP_U32()[t>>2]=n,0};function _fd_close(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(24,1,e);try{var t=SYSCALLS.getStreamFromFD(e);return FS.close(t),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return e.errno}}var doReadv=(e,t,r,n)=>{for(var a=0,o=0;o>2],s=GROWABLE_HEAP_U32()[t+4>>2];t+=8;var l=FS.read(e,GROWABLE_HEAP_I8(),i,s,n);if(l<0)return-1;if(a+=l,l>2]=o,0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return e.errno}}function _fd_seek(e,t,r,n,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(26,1,e,t,r,n,a);var o=convertI32PairToI53Checked(t,r);try{if(isNaN(o))return 61;var i=SYSCALLS.getStreamFromFD(e);return FS.llseek(i,o,n),tempI64=[i.position>>>0,(tempDouble=i.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[a>>2]=tempI64[0],GROWABLE_HEAP_I32()[a+4>>2]=tempI64[1],i.getdents&&0===o&&0===n&&(i.getdents=null),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return e.errno}}var doWritev=(e,t,r,n)=>{for(var a=0,o=0;o>2],s=GROWABLE_HEAP_U32()[t+4>>2];t+=8;var l=FS.write(e,GROWABLE_HEAP_I8(),i,s,n);if(l<0)return-1;a+=l,void 0!==n&&(n+=l)}return a};function _fd_write(e,t,r,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(27,1,e,t,r,n);try{var a=SYSCALLS.getStreamFromFD(e),o=doWritev(a,t,r);return GROWABLE_HEAP_U32()[n>>2]=o,0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return e.errno}}var functionsInTableMap,arraySum=(e,t)=>{for(var r=0,n=0;n<=t;r+=e[n++]);return r},MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31],addDays=(e,t)=>{for(var r=new Date(e.getTime());t>0;){var n=isLeapYear(r.getFullYear()),a=r.getMonth(),o=(n?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[a];if(!(t>o-r.getDate()))return r.setDate(r.getDate()+t),r;t-=o-r.getDate()+1,r.setDate(1),a<11?r.setMonth(a+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r},writeArrayToMemory=(e,t)=>{GROWABLE_HEAP_I8().set(e,t)},_strftime=(e,t,r,n)=>{var a=GROWABLE_HEAP_U32()[n+40>>2],o={tm_sec:GROWABLE_HEAP_I32()[n>>2],tm_min:GROWABLE_HEAP_I32()[n+4>>2],tm_hour:GROWABLE_HEAP_I32()[n+8>>2],tm_mday:GROWABLE_HEAP_I32()[n+12>>2],tm_mon:GROWABLE_HEAP_I32()[n+16>>2],tm_year:GROWABLE_HEAP_I32()[n+20>>2],tm_wday:GROWABLE_HEAP_I32()[n+24>>2],tm_yday:GROWABLE_HEAP_I32()[n+28>>2],tm_isdst:GROWABLE_HEAP_I32()[n+32>>2],tm_gmtoff:GROWABLE_HEAP_I32()[n+36>>2],tm_zone:a?UTF8ToString(a):""},i=UTF8ToString(r),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in s)i=i.replace(new RegExp(l,"g"),s[l]);var _=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function u(e,t,r){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}var n;return 0===(n=r(e.getFullYear()-t.getFullYear()))&&0===(n=r(e.getMonth()-t.getMonth()))&&(n=r(e.getDate()-t.getDate())),n}function E(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function f(e){var t=addDays(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(t.getFullYear(),0,4),n=new Date(t.getFullYear()+1,0,4),a=E(r),o=E(n);return m(a,t)<=0?m(o,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var p={"%a":e=>_[e.tm_wday].substring(0,3),"%A":e=>_[e.tm_wday],"%b":e=>c[e.tm_mon].substring(0,3),"%B":e=>c[e.tm_mon],"%C":e=>d((e.tm_year+1900)/100|0,2),"%d":e=>d(e.tm_mday,2),"%e":e=>u(e.tm_mday,2," "),"%g":e=>f(e).toString().substring(2),"%G":e=>f(e),"%H":e=>d(e.tm_hour,2),"%I":e=>{var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),d(t,2)},"%j":e=>d(e.tm_mday+arraySum(isLeapYear(e.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,e.tm_mon-1),3),"%m":e=>d(e.tm_mon+1,2),"%M":e=>d(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>d(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var t=e.tm_yday+7-e.tm_wday;return d(Math.floor(t/7),2)},"%V":e=>{var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var r=(e.tm_wday+371-e.tm_yday)%7;4==r||3==r&&isLeapYear(e.tm_year)||(t=1)}}else{t=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&isLeapYear(e.tm_year%400-1))&&t++}return d(t,2)},"%w":e=>e.tm_wday,"%W":e=>{var t=e.tm_yday+7-(e.tm_wday+6)%7;return d(Math.floor(t/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var t=e.tm_gmtoff,r=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000"+t).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var l in i=i.replace(/%%/g,"\0\0"),p)i.includes(l)&&(i=i.replace(new RegExp(l,"g"),p[l](o)));var h=intArrayFromString(i=i.replace(/\0\0/g,"%"),!1);return h.length>t?0:(writeArrayToMemory(h,e),h.length-1)},_strftime_l=(e,t,r,n,a)=>_strftime(e,t,r,n),uleb128Encode=(e,t)=>{e<128?t.push(e):t.push(e%128|128,e>>7)},sigToWasmTypes=e=>{for(var t={i:"i32",j:"i64",f:"f32",d:"f64",p:"i32"},r={parameters:[],results:"v"==e[0]?[]:[t[e[0]]]},n=1;n{var r=e.slice(0,1),n=e.slice(1),a={i:127,p:127,j:126,f:125,d:124};t.push(96),uleb128Encode(n.length,t);for(var o=0;o{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function(sigToWasmTypes(t),e);var r=[1];generateFuncType(t,r);var n=[0,97,115,109,1,0,0,0,1];uleb128Encode(r.length,n),n.push.apply(n,r),n.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var a=new WebAssembly.Module(new Uint8Array(n));return new WebAssembly.Instance(a,{e:{f:e}}).exports.f},updateTableMap=(e,t)=>{if(functionsInTableMap)for(var r=e;r(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),freeTableIndexes=[],getEmptyTableSlot=()=>{if(freeTableIndexes.length)return freeTableIndexes.pop();try{wasmTable.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1},setWasmTableEntry=(e,t)=>wasmTable.set(e,t),addFunction=(e,t)=>{var r=getFunctionAddress(e);if(r)return r;var n=getEmptyTableSlot();try{setWasmTableEntry(n,e)}catch(r){if(!(r instanceof TypeError))throw r;var a=convertJsFunctionToWasm(e,t);setWasmTableEntry(n,a)}return functionsInTableMap.set(e,n),n},stringToUTF8OnStack=e=>{var t=lengthBytesUTF8(e)+1,r=stackAlloc(t);return stringToUTF8(e,r,t),r};PThread.init();var FSNode=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=FS.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},readMode=365,writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(e){e?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(e){e?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}}),FS.FSNode=FSNode,FS.createPreloadedFile=FS_createPreloadedFile,FS.staticInit();var calledRun,proxiedFunctionTable=[_proc_exit,exitOnMainThread,pthreadCreateProxied,___syscall__newselect,___syscall_connect,___syscall_faccessat,___syscall_fcntl64,___syscall_fstat64,___syscall_getcwd,___syscall_getdents64,___syscall_ioctl,___syscall_lstat64,___syscall_mkdirat,___syscall_newfstatat,___syscall_openat,___syscall_readlinkat,___syscall_rmdir,___syscall_socket,___syscall_stat64,___syscall_unlinkat,__mmap_js,__munmap_js,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write],wasmImports={CreateDirectoryFetcher:_CreateDirectoryFetcher,DDN_ConvertElement:_DDN_ConvertElement,DDN_CreateDDNResult:_DDN_CreateDDNResult,DDN_CreateDDNResultItem:_DDN_CreateDDNResultItem,DDN_CreateIntermediateResultUnits:_DDN_CreateIntermediateResultUnits,DDN_CreateParameters:_DDN_CreateParameters,DDN_CreateTargetRoiDefConditionFilter:_DDN_CreateTargetRoiDefConditionFilter,DDN_CreateTaskAlgEntity:_DDN_CreateTaskAlgEntity,DDN_HasSection:_DDN_HasSection,DDN_ReadTaskSetting:_DDN_ReadTaskSetting,DLR_ConvertElement:_DLR_ConvertElement,DLR_CreateBufferedCharacterItemSet:_DLR_CreateBufferedCharacterItemSet,DLR_CreateIntermediateResultUnits:_DLR_CreateIntermediateResultUnits,DLR_CreateParameters:_DLR_CreateParameters,DLR_CreateRecognizedTextLinesResult:_DLR_CreateRecognizedTextLinesResult,DLR_CreateTargetRoiDefConditionFilter:_DLR_CreateTargetRoiDefConditionFilter,DLR_CreateTaskAlgEntity:_DLR_CreateTaskAlgEntity,DLR_CreateTextLineResultItem:_DLR_CreateTextLineResultItem,DLR_ReadTaskSetting:_DLR_ReadTaskSetting,DMImage_GetDIB:_DMImage_GetDIB,DMImage_GetOrientation:_DMImage_GetOrientation,DeleteDirectoryFetcher:_DeleteDirectoryFetcher,_ZN19LabelRecognizerWasm10getVersionEv:__ZN19LabelRecognizerWasm10getVersionEv,_ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv:__ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv,_ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv:__ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv,_ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi:__ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi,_ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb:__ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb,_ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb:__ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb,_ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb:__ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb,_ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii:__ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii,_ZN19LabelRecognizerWasm12DlrWasmClassC1Ev:__ZN19LabelRecognizerWasm12DlrWasmClassC1Ev,_ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE:__ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE,_ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE:__ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE,_ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE:__ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE,_ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE:__ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE,_ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE:__ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE,_ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE:__ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE,_ZN22DocumentNormalizerWasm10getVersionEv:__ZN22DocumentNormalizerWasm10getVersionEv,_ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv:__ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv,_ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi:__ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi,_ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii:__ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii,_ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib:__ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib,_ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib:__ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib,_ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb:__ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb,_ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb:__ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb,_ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE:__ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE,_ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii:__ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii,_ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev:__ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev,_ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE:__ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE,_ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE:__ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE,_ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE:__ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE,_ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE:__ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE,_ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE:__ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE,_ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv:__ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv,_ZN9dynamsoft7utility14CUtilityModule10GetVersionEv:__ZN9dynamsoft7utility14CUtilityModule10GetVersionEv,__assert_fail:___assert_fail,__cxa_begin_catch:___cxa_begin_catch,__cxa_end_catch:___cxa_end_catch,__cxa_find_matching_catch_2:___cxa_find_matching_catch_2,__cxa_find_matching_catch_3:___cxa_find_matching_catch_3,__cxa_rethrow:___cxa_rethrow,__cxa_rethrow_primary_exception:___cxa_rethrow_primary_exception,__cxa_throw:___cxa_throw,__cxa_uncaught_exceptions:___cxa_uncaught_exceptions,__emscripten_init_main_thread_js:___emscripten_init_main_thread_js,__emscripten_thread_cleanup:___emscripten_thread_cleanup,__pthread_create_js:___pthread_create_js,__resumeException:___resumeException,__syscall__newselect:___syscall__newselect,__syscall_connect:___syscall_connect,__syscall_faccessat:___syscall_faccessat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_readlinkat:___syscall_readlinkat,__syscall_rmdir:___syscall_rmdir,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_notify_mailbox_postmessage:__emscripten_notify_mailbox_postmessage,_emscripten_receive_on_main_thread_js:__emscripten_receive_on_main_thread_js,_emscripten_thread_mailbox_await:__emscripten_thread_mailbox_await,_emscripten_thread_set_strongref:__emscripten_thread_set_strongref,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_mktime_js:__mktime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_tzset_js:__tzset_js,abort:_abort,emscripten_asm_const_int:_emscripten_asm_const_int,emscripten_check_blocking_allowed:_emscripten_check_blocking_allowed,emscripten_date_now:_emscripten_date_now,emscripten_errn:_emscripten_errn,emscripten_exit_with_live_runtime:_emscripten_exit_with_live_runtime,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_now:_emscripten_get_now,emscripten_log:_emscripten_log,emscripten_num_logical_cores:_emscripten_num_logical_cores,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_write:_fd_write,invoke_diii:invoke_diii,invoke_fiii:invoke_fiii,invoke_i:invoke_i,invoke_ii:invoke_ii,invoke_iii:invoke_iii,invoke_iiii:invoke_iiii,invoke_iiiii:invoke_iiiii,invoke_iiiiid:invoke_iiiiid,invoke_iiiiii:invoke_iiiiii,invoke_iiiiiii:invoke_iiiiiii,invoke_iiiiiiii:invoke_iiiiiiii,invoke_iiiiiiiiiiii:invoke_iiiiiiiiiiii,invoke_iiiiij:invoke_iiiiij,invoke_j:invoke_j,invoke_ji:invoke_ji,invoke_jii:invoke_jii,invoke_jiiii:invoke_jiiii,invoke_v:invoke_v,invoke_vi:invoke_vi,invoke_vii:invoke_vii,invoke_viid:invoke_viid,invoke_viii:invoke_viii,invoke_viiii:invoke_viiii,invoke_viiiiiii:invoke_viiiiiii,invoke_viiiiiiiiii:invoke_viiiiiiiiii,invoke_viiiiiiiiiiiiiii:invoke_viiiiiiiiiiiiiii,memory:wasmMemory,strftime:_strftime,strftime_l:_strftime_l},wasmExports=createWasm();function invoke_iiii(e,t,r,n){var a=stackSave();try{return getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(a),e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(e,t){var r=stackSave();try{return getWasmTableEntry(e)(t)}catch(e){if(stackRestore(r),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(e,t,r){var n=stackSave();try{return getWasmTableEntry(e)(t,r)}catch(e){if(stackRestore(n),e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(e,t,r){var n=stackSave();try{getWasmTableEntry(e)(t,r)}catch(e){if(stackRestore(n),e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(e,t){var r=stackSave();try{getWasmTableEntry(e)(t)}catch(e){if(stackRestore(r),e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(e){var t=stackSave();try{getWasmTableEntry(e)()}catch(e){if(stackRestore(t),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(e,t,r,n,a,o,i){var s=stackSave();try{return getWasmTableEntry(e)(t,r,n,a,o,i)}catch(e){if(stackRestore(s),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(e,t,r,n,a){var o=stackSave();try{getWasmTableEntry(e)(t,r,n,a)}catch(e){if(stackRestore(o),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(e,t,r,n,a,o){var i=stackSave();try{return getWasmTableEntry(e)(t,r,n,a,o)}catch(e){if(stackRestore(i),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiid(e,t,r,n,a,o){var i=stackSave();try{return getWasmTableEntry(e)(t,r,n,a,o)}catch(e){if(stackRestore(i),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(e,t,r,n){var a=stackSave();try{getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(a),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(e,t,r,n,a,o,i,s){var l=stackSave();try{return getWasmTableEntry(e)(t,r,n,a,o,i,s)}catch(e){if(stackRestore(l),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(e,t,r,n,a){var o=stackSave();try{return getWasmTableEntry(e)(t,r,n,a)}catch(e){if(stackRestore(o),e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(e,t,r,n){var a=stackSave();try{return getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(a),e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(e,t,r,n){var a=stackSave();try{return getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(a),e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(e){var t=stackSave();try{return getWasmTableEntry(e)()}catch(e){if(stackRestore(t),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(e,t,r,n,a,o,i,s){var l=stackSave();try{getWasmTableEntry(e)(t,r,n,a,o,i,s)}catch(e){if(stackRestore(l),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(e,t,r,n,a,o,i,s,l,_,c,u){var d=stackSave();try{return getWasmTableEntry(e)(t,r,n,a,o,i,s,l,_,c,u)}catch(e){if(stackRestore(d),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(e,t,r,n,a,o,i,s,l,_,c){var u=stackSave();try{getWasmTableEntry(e)(t,r,n,a,o,i,s,l,_,c)}catch(e){if(stackRestore(u),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(e,t,r,n,a,o,i,s,l,_,c,u,d,m,E,f){var p=stackSave();try{getWasmTableEntry(e)(t,r,n,a,o,i,s,l,_,c,u,d,m,E,f)}catch(e){if(stackRestore(p),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viid(e,t,r,n){var a=stackSave();try{getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(a),e!==e+0)throw e;_setThrew(1,0)}}function invoke_j(e){var t=stackSave();try{return dynCall_j(e)}catch(e){if(stackRestore(t),e!==e+0)throw e;_setThrew(1,0)}}function invoke_ji(e,t){var r=stackSave();try{return dynCall_ji(e,t)}catch(e){if(stackRestore(r),e!==e+0)throw e;_setThrew(1,0)}}function invoke_jii(e,t,r){var n=stackSave();try{return dynCall_jii(e,t,r)}catch(e){if(stackRestore(n),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiij(e,t,r,n,a,o,i){var s=stackSave();try{return dynCall_iiiiij(e,t,r,n,a,o,i)}catch(e){if(stackRestore(s),e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiii(e,t,r,n,a){var o=stackSave();try{return dynCall_jiiii(e,t,r,n,a)}catch(e){if(stackRestore(o),e!==e+0)throw e;_setThrew(1,0)}}function run(){if(!(runDependencies>0)){if(ENVIRONMENT_IS_PTHREAD)return initRuntime(),void startWorker(Module);preRun(),runDependencies>0||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),e()},1)):e())}function e(){calledRun||(calledRun=!0,Module.calledRun=!0,ABORT||(initRuntime(),wasmExports.emscripten_bind_funcs(addFunction((e,t,r)=>stringToUTF8OnStack(self[UTF8ToString(e)][UTF8ToString(t)]()[UTF8ToString(r)]()),"iiii")),wasmExports.emscripten_bind_funcs(addFunction((e,t,r)=>stringToUTF8OnStack((new(self[UTF8ToString(e)]))[UTF8ToString(t)](UTF8ToString(r))),"iiii")),wasmExports.emscripten_bind_funcs(addFunction((e,t,r,n)=>{self[UTF8ToString(e)](null,JSON.stringify(JSON.parse(UTF8ToString(t))),UTF8ToString(r),n)},"viiii")),wasmExports.emscripten_bind_funcs(addFunction((e,t,r,n)=>stringToUTF8OnStack(self[UTF8ToString(e)][UTF8ToString(t)][UTF8ToString(r)](UTF8ToString(n))?"":self[UTF8ToString(e)][UTF8ToString(t)]),"iiiii")),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),postRun()))}}if(Module.keepRuntimeAlive=keepRuntimeAlive,Module.wasmMemory=wasmMemory,Module.addFunction=addFunction,Module.stringToUTF8OnStack=stringToUTF8OnStack,Module.ExitStatus=ExitStatus,dependenciesFulfilled=function e(){calledRun||run(),calledRun||(dependenciesFulfilled=e)},Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();run(); \ No newline at end of file diff --git a/dist/dynamsoft-barcode-reader-bundle-ml-simd-pthread.wasm b/dist/dynamsoft-barcode-reader-bundle-ml-simd-pthread.wasm deleted file mode 100644 index 7583808c..00000000 Binary files a/dist/dynamsoft-barcode-reader-bundle-ml-simd-pthread.wasm and /dev/null differ diff --git a/dist/dynamsoft-barcode-reader-bundle-ml-simd-pthread.worker.js b/dist/dynamsoft-barcode-reader-bundle-ml-simd-pthread.worker.js deleted file mode 100644 index c4236674..00000000 --- a/dist/dynamsoft-barcode-reader-bundle-ml-simd-pthread.worker.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @license - * Copyright 2015 The Emscripten Authors - * SPDX-License-Identifier: MIT - */ -"use strict";var Module={},initializedJS=!1;function threadPrintErr(){var e=Array.prototype.slice.call(arguments).join(" ");console.error(e)}function threadAlert(){var e=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:e,threadId:Module._pthread_self()})}var err=threadPrintErr;function handleMessage(e){try{if("load"===e.data.cmd){let t=[];self.onmessage=e=>t.push(e),self.startWorker=e=>{postMessage({cmd:"loaded"});for(let e of t)handleMessage(e);self.onmessage=handleMessage},Module.wasmModule=e.data.wasmModule;for(const a of e.data.handlers)Module[a]=(...e)=>{postMessage({cmd:"callHandler",handler:a,args:e})};if(Module.wasmMemory=e.data.wasmMemory,Module.buffer=Module.wasmMemory.buffer,Module.ENVIRONMENT_IS_PTHREAD=!0,"string"==typeof e.data.urlOrBlob)importScripts(e.data.urlOrBlob);else{var a=URL.createObjectURL(e.data.urlOrBlob);importScripts(a),URL.revokeObjectURL(a)}}else if("run"===e.data.cmd){Module.__emscripten_thread_init(e.data.pthread_ptr,0,0,1),Module.__emscripten_thread_mailbox_await(e.data.pthread_ptr),Module.establishStackSpace(),Module.PThread.receiveObjectTransfer(e.data),Module.PThread.threadInitTLS(),initializedJS||(initializedJS=!0);try{Module.invokeEntryPoint(e.data.start_routine,e.data.arg)}catch(e){if("unwind"!=e)throw e}}else"cancel"===e.data.cmd?Module._pthread_self()&&Module.__emscripten_thread_exit(-1):"setimmediate"===e.data.target||("checkMailbox"===e.data.cmd?initializedJS&&Module.checkMailbox():e.data.cmd&&(err(`worker.js received unknown command ${e.data.cmd}`),err(e.data)))}catch(e){throw Module.__emscripten_thread_crashed&&Module.__emscripten_thread_crashed(),e}}self.alert=threadAlert,Module.instantiateWasm=(e,a)=>{var t=Module.wasmModule;return Module.wasmModule=null,a(new WebAssembly.Instance(t,e))},self.onunhandledrejection=e=>{throw e.reason||e},self.onmessage=handleMessage; \ No newline at end of file diff --git a/dist/dynamsoft-barcode-reader-bundle-ml-simd.js b/dist/dynamsoft-barcode-reader-bundle-ml-simd.js deleted file mode 100644 index 7150732a..00000000 --- a/dist/dynamsoft-barcode-reader-bundle-ml-simd.js +++ /dev/null @@ -1 +0,0 @@ -var read_,readAsync,readBinary,Module=void 0!==Module?Module:{},moduleOverrides=Object.assign({},Module),arguments_=[],thisProgram="./this.program",quit_=(e,t)=>{throw t},ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!0,ENVIRONMENT_IS_NODE=!1,scriptDirectory="";function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:"undefined"!=typeof document&&document.currentScript&&(scriptDirectory=document.currentScript.src),scriptDirectory=0!==scriptDirectory.indexOf("blob:")?scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1):"",read_=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},ENVIRONMENT_IS_WORKER&&(readBinary=e=>{var t=new XMLHttpRequest;t.open("GET",e,!1),t.responseType="arraybuffer";let r=Date.now();return t.onloadstart=()=>{postMessage({type:"event",id:-3,body:{loaded:0,total:pe.lengthComputable?pe.total:0,tag:"starting",resourcesPath:e}})},t.onprogress=t=>{const n=Date.now();r+500{postMessage({type:"event",id:-3,body:{loaded:pe.lengthComputable?pe.total:0,total:pe.lengthComputable?pe.total:0,tag:"completed",resourcesPath:e}})},t.send(null),new Uint8Array(t.response)}),readAsync=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)});var wasmBinary,out=Module.print||console.log.bind(console),err=Module.printErr||console.error.bind(console);Object.assign(Module,moduleOverrides),moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram),Module.quit&&(quit_=Module.quit),Module.wasmBinary&&(wasmBinary=Module.wasmBinary);var wasmMemory,noExitRuntime=Module.noExitRuntime||!0;"object"!=typeof WebAssembly&&abort("no native wasm support detected");var EXITSTATUS,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,ABORT=!1;function assert(e,t){e||abort(t)}function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=HEAPF32=new Float32Array(e),Module.HEAPF64=HEAPF64=new Float64Array(e)}var __ATPRERUN__=[],__ATINIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=!0,Module.noFSInit||FS.init.initialized||FS.init(),FS.ignorePermissions=!1,TTY.init(),SOCKFS.root=FS.mount(SOCKFS,{},null),callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}var runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}}function abort(e){throw Module.onAbort&&Module.onAbort(e),err(e="Aborted("+e+")"),ABORT=!0,EXITSTATUS=1,e+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(e)}var wasmBinaryFile,tempDouble,tempI64,dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(e){return e.startsWith(dataURIPrefix)}function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(e){return wasmBinary||!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER||"function"!=typeof fetch?Promise.resolve().then(()=>getBinarySync(e)):fetch(e,{credentials:"same-origin"}).then(async t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";postMessage({type:"event",id:-3,body:{total:0,loaded:0,tag:"starting",resourcesPath:e}});const r=+t.headers.get("Content-Length"),n=t.body.getReader();let o=0,a=Date.now();const s=[];for(;;){const{done:t,value:i}=await n.read();if(t)break;if(s.push(i),o+=i.length,r){const t=Date.now();a+500getBinarySync(e))}function instantiateArrayBuffer(e,t,r){return getBinaryPromise(e).then(e=>WebAssembly.instantiate(e,t)).then(e=>e).then(r,e=>{err(`failed to asynchronously prepare wasm: ${e}`),abort(e)})}function instantiateAsync(e,t,r,n){return instantiateArrayBuffer(t,r,n)}function createWasm(){var e={env:wasmImports,wasi_snapshot_preview1:wasmImports};function t(e,t){return wasmExports=e.exports,wasmMemory=wasmExports.memory,updateMemoryViews(),wasmTable=wasmExports.__indirect_function_table,addOnInit(wasmExports.__wasm_call_ctors),exportWasmSymbols(wasmExports),removeRunDependency("wasm-instantiate"),wasmExports}if(addRunDependency("wasm-instantiate"),Module.instantiateWasm)try{return Module.instantiateWasm(e,t)}catch(e){return err(`Module.instantiateWasm callback failed with error: ${e}`),!1}return instantiateAsync(wasmBinary,wasmBinaryFile,e,function(e){t(e.instance)}),{}}isDataURI(wasmBinaryFile="dynamsoft-barcode-reader-bundle-ml-simd.wasm")||(wasmBinaryFile=locateFile(wasmBinaryFile));var ASM_CONSTS={953416:(e,t,r,n)=>{if(void 0===Module||!Module.MountedFiles)return 1;let o=UTF8ToString(e>>>0);o.startsWith("./")&&(o=o.substring(2));const a=Module.MountedFiles.get(o);if(!a)return 2;const s=t>>>0,i=r>>>0,l=n>>>0;if(s+i>a.byteLength)return 3;try{return HEAPU8.set(a.subarray(s,s+i),l),0}catch{return 4}}},callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(Module)},asmjsMangle=e=>("__main_argc_argv"==e&&(e="main"),0==e.indexOf("dynCall_")||["stackAlloc","stackSave","stackRestore","getTempRet0","setTempRet0"].includes(e)?e:"_"+e),exportWasmSymbols=e=>{for(var t in e){var r=asmjsMangle(t);this[r]=Module[r]=e[t]}};function _CreateDirectoryFetcher(){abort("missing function: CreateDirectoryFetcher")}function _DDN_ConvertElement(){abort("missing function: DDN_ConvertElement")}function _DDN_CreateDDNResult(){abort("missing function: DDN_CreateDDNResult")}function _DDN_CreateDDNResultItem(){abort("missing function: DDN_CreateDDNResultItem")}function _DDN_CreateIntermediateResultUnits(){abort("missing function: DDN_CreateIntermediateResultUnits")}function _DDN_CreateParameters(){abort("missing function: DDN_CreateParameters")}function _DDN_CreateTargetRoiDefConditionFilter(){abort("missing function: DDN_CreateTargetRoiDefConditionFilter")}function _DDN_CreateTaskAlgEntity(){abort("missing function: DDN_CreateTaskAlgEntity")}function _DDN_HasSection(){abort("missing function: DDN_HasSection")}function _DDN_ReadTaskSetting(){abort("missing function: DDN_ReadTaskSetting")}function _DLR_ConvertElement(){abort("missing function: DLR_ConvertElement")}function _DLR_CreateBufferedCharacterItemSet(){abort("missing function: DLR_CreateBufferedCharacterItemSet")}function _DLR_CreateIntermediateResultUnits(){abort("missing function: DLR_CreateIntermediateResultUnits")}function _DLR_CreateParameters(){abort("missing function: DLR_CreateParameters")}function _DLR_CreateRecognizedTextLinesResult(){abort("missing function: DLR_CreateRecognizedTextLinesResult")}function _DLR_CreateTargetRoiDefConditionFilter(){abort("missing function: DLR_CreateTargetRoiDefConditionFilter")}function _DLR_CreateTaskAlgEntity(){abort("missing function: DLR_CreateTaskAlgEntity")}function _DLR_CreateTextLineResultItem(){abort("missing function: DLR_CreateTextLineResultItem")}function _DLR_ReadTaskSetting(){abort("missing function: DLR_ReadTaskSetting")}function _DMImage_GetDIB(){abort("missing function: DMImage_GetDIB")}function _DMImage_GetOrientation(){abort("missing function: DMImage_GetOrientation")}function _DeleteDirectoryFetcher(){abort("missing function: DeleteDirectoryFetcher")}function __ZN19LabelRecognizerWasm10getVersionEv(){abort("missing function: _ZN19LabelRecognizerWasm10getVersionEv")}function __ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv")}function __ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv")}function __ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi")}function __ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb")}function __ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb")}function __ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb")}function __ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii")}function __ZN19LabelRecognizerWasm12DlrWasmClassC1Ev(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClassC1Ev")}function __ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE(){abort("missing function: _ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE")}function __ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE(){abort("missing function: _ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE")}function __ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE(){abort("missing function: _ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE")}function __ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE(){abort("missing function: _ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE")}function __ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE(){abort("missing function: _ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE")}function __ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE(){abort("missing function: _ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE")}function __ZN22DocumentNormalizerWasm10getVersionEv(){abort("missing function: _ZN22DocumentNormalizerWasm10getVersionEv")}function __ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv")}function __ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi")}function __ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii")}function __ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib")}function __ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib")}function __ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb")}function __ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb")}function __ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE")}function __ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii")}function __ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev")}function __ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE(){abort("missing function: _ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE")}function __ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE(){abort("missing function: _ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE")}function __ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE(){abort("missing function: _ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE")}function __ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE(){abort("missing function: _ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE")}function __ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE(){abort("missing function: _ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE")}function __ZN5nsync13nsync_cv_waitEPNS_11nsync_cv_s_EPNS_11nsync_mu_s_E(){abort("missing function: _ZN5nsync13nsync_cv_waitEPNS_11nsync_cv_s_EPNS_11nsync_mu_s_E")}function __ZN5nsync15nsync_cv_signalEPNS_11nsync_cv_s_E(){abort("missing function: _ZN5nsync15nsync_cv_signalEPNS_11nsync_cv_s_E")}function __ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv(){abort("missing function: _ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv")}function __ZN9dynamsoft7utility14CUtilityModule10GetVersionEv(){abort("missing function: _ZN9dynamsoft7utility14CUtilityModule10GetVersionEv")}_CreateDirectoryFetcher.stub=!0,_DDN_ConvertElement.stub=!0,_DDN_CreateDDNResult.stub=!0,_DDN_CreateDDNResultItem.stub=!0,_DDN_CreateIntermediateResultUnits.stub=!0,_DDN_CreateParameters.stub=!0,_DDN_CreateTargetRoiDefConditionFilter.stub=!0,_DDN_CreateTaskAlgEntity.stub=!0,_DDN_HasSection.stub=!0,_DDN_ReadTaskSetting.stub=!0,_DLR_ConvertElement.stub=!0,_DLR_CreateBufferedCharacterItemSet.stub=!0,_DLR_CreateIntermediateResultUnits.stub=!0,_DLR_CreateParameters.stub=!0,_DLR_CreateRecognizedTextLinesResult.stub=!0,_DLR_CreateTargetRoiDefConditionFilter.stub=!0,_DLR_CreateTaskAlgEntity.stub=!0,_DLR_CreateTextLineResultItem.stub=!0,_DLR_ReadTaskSetting.stub=!0,_DMImage_GetDIB.stub=!0,_DMImage_GetOrientation.stub=!0,_DeleteDirectoryFetcher.stub=!0,__ZN19LabelRecognizerWasm10getVersionEv.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClassC1Ev.stub=!0,__ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE.stub=!0,__ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE.stub=!0,__ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE.stub=!0,__ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE.stub=!0,__ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE.stub=!0,__ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE.stub=!0,__ZN22DocumentNormalizerWasm10getVersionEv.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev.stub=!0,__ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE.stub=!0,__ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE.stub=!0,__ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE.stub=!0,__ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE.stub=!0,__ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE.stub=!0,__ZN5nsync13nsync_cv_waitEPNS_11nsync_cv_s_EPNS_11nsync_mu_s_E.stub=!0,__ZN5nsync15nsync_cv_signalEPNS_11nsync_cv_s_E.stub=!0,__ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv.stub=!0,__ZN9dynamsoft7utility14CUtilityModule10GetVersionEv.stub=!0;var UTF8Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,UTF8ArrayToString=(e,t,r)=>{for(var n=t+r,o=t;e[o]&&!(o>=n);)++o;if(o-t>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(t,o));for(var a="";t>10,56320|1023&c)}}else a+=String.fromCharCode((31&s)<<6|i)}else a+=String.fromCharCode(s)}return a},UTF8ToString=(e,t)=>e?UTF8ArrayToString(HEAPU8,e,t):"",___assert_fail=(e,t,r,n)=>{abort(`Assertion failed: ${UTF8ToString(e)}, at: `+[t?UTF8ToString(t):"unknown filename",r,n?UTF8ToString(n):"unknown function"])},exceptionCaught=[],uncaughtExceptionCount=0,___cxa_begin_catch=e=>{var t=new ExceptionInfo(e);return t.get_caught()||(t.set_caught(!0),uncaughtExceptionCount--),t.set_rethrown(!1),exceptionCaught.push(t),___cxa_increment_exception_refcount(t.excPtr),t.get_exception_ptr()},exceptionLast=0,___cxa_end_catch=()=>{_setThrew(0,0);var e=exceptionCaught.pop();___cxa_decrement_exception_refcount(e.excPtr),exceptionLast=0};function ExceptionInfo(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){HEAPU32[this.ptr+4>>2]=e},this.get_type=function(){return HEAPU32[this.ptr+4>>2]},this.set_destructor=function(e){HEAPU32[this.ptr+8>>2]=e},this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,HEAP8[this.ptr+12|0]=e},this.get_caught=function(){return 0!=HEAP8[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,HEAP8[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=HEAP8[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){HEAPU32[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]},this.get_exception_ptr=function(){if(___cxa_is_pointer_type(this.get_type()))return HEAPU32[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var ___resumeException=e=>{throw exceptionLast||(exceptionLast=e),exceptionLast},findMatchingCatch=e=>{var t=exceptionLast;if(!t)return setTempRet0(0),0;var r=new ExceptionInfo(t);r.set_adjusted_ptr(t);var n=r.get_type();if(!n)return setTempRet0(0),t;for(var o in e){var a=e[o];if(0===a||a===n)break;var s=r.ptr+16;if(___cxa_can_catch(a,n,s))return setTempRet0(a),t}return setTempRet0(n),t},___cxa_find_matching_catch_2=()=>findMatchingCatch([]),___cxa_find_matching_catch_3=e=>findMatchingCatch([e]),___cxa_rethrow=()=>{var e=exceptionCaught.pop();e||abort("no exception to throw");var t=e.excPtr;throw e.get_rethrown()||(exceptionCaught.push(e),e.set_rethrown(!0),e.set_caught(!1),uncaughtExceptionCount++),exceptionLast=t},___cxa_rethrow_primary_exception=e=>{if(e){var t=new ExceptionInfo(e);exceptionCaught.push(t),t.set_rethrown(!0),___cxa_rethrow()}},___cxa_throw=(e,t,r)=>{throw new ExceptionInfo(e).init(t,r),uncaughtExceptionCount++,exceptionLast=e},___cxa_uncaught_exceptions=()=>uncaughtExceptionCount,PATH={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=PATH.isAbs(e),r="/"===e.substr(-1);return(e=PATH.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=PATH.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=PATH.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return PATH.normalize(e.join("/"))},join2:(e,t)=>PATH.normalize(e+"/"+t)},initRandomFill=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);abort("initRandomDevice")},randomFill=e=>(randomFill=initRandomFill())(e),PATH_FS={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:FS.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t=PATH.isAbs(n)}return(t?"/":"")+(e=PATH.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=PATH_FS.resolve(e).substr(1),t=PATH_FS.resolve(t).substr(1);for(var n=r(e.split("/")),o=r(t.split("/")),a=Math.min(n.length,o.length),s=a,i=0;i{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},stringToUTF8Array=(e,t,r,n)=>{if(!(n>0))return 0;for(var o=r,a=r+n-1,s=0;s=55296&&i<=57343)i=65536+((1023&i)<<10)|1023&e.charCodeAt(++s);if(i<=127){if(r>=a)break;t[r++]=i}else if(i<=2047){if(r+1>=a)break;t[r++]=192|i>>6,t[r++]=128|63&i}else if(i<=65535){if(r+2>=a)break;t[r++]=224|i>>12,t[r++]=128|i>>6&63,t[r++]=128|63&i}else{if(r+3>=a)break;t[r++]=240|i>>18,t[r++]=128|i>>12&63,t[r++]=128|i>>6&63,t[r++]=128|63&i}}return t[r]=0,r-o};function intArrayFromString(e,t,r){var n=r>0?r:lengthBytesUTF8(e)+1,o=new Array(n),a=stringToUTF8Array(e,o,0,o.length);return t&&(o.length=a),o}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n"),!e)return null;FS_stdin_getChar_buffer=intArrayFromString(e,!0)}return FS_stdin_getChar_buffer.shift()},TTY={ttys:[],init(){},shutdown(){},register(e,t){TTY.ttys[e]={input:[],output:[],ops:t},FS.registerDevice(e,TTY.stream_ops)},stream_ops:{open(e){var t=TTY.ttys[e.node.rdev];if(!t)throw new FS.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,n,o){if(!e.tty||!e.tty.ops.get_char)throw new FS.ErrnoError(60);for(var a=0,s=0;sFS_stdin_getChar(),put_char(e,t){null===t||10===t?(out(UTF8ArrayToString(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(out(UTF8ArrayToString(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(err(UTF8ArrayToString(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(err(UTF8ArrayToString(e.output,0)),e.output=[])}}},zeroMemory=(e,t)=>(HEAPU8.fill(0,e,e+t),e),alignMemory=(e,t)=>Math.ceil(e/t)*t,mmapAlloc=e=>{e=alignMemory(e,65536);var t=_emscripten_builtin_memalign(65536,e);return t?zeroMemory(t,e):0},MEMFS={ops_table:null,mount:e=>MEMFS.createNode(null,"/",16895,0),createNode(e,t,r,n){if(FS.isBlkdev(r)||FS.isFIFO(r))throw new FS.ErrnoError(63);MEMFS.ops_table||(MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}});var o=FS.createNode(e,t,r,n);return FS.isDir(o.mode)?(o.node_ops=MEMFS.ops_table.dir.node,o.stream_ops=MEMFS.ops_table.dir.stream,o.contents={}):FS.isFile(o.mode)?(o.node_ops=MEMFS.ops_table.file.node,o.stream_ops=MEMFS.ops_table.file.stream,o.usedBytes=0,o.contents=null):FS.isLink(o.mode)?(o.node_ops=MEMFS.ops_table.link.node,o.stream_ops=MEMFS.ops_table.link.stream):FS.isChrdev(o.mode)&&(o.node_ops=MEMFS.ops_table.chrdev.node,o.stream_ops=MEMFS.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=FS.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,FS.isDir(e.mode)?t.size=4096:FS.isFile(e.mode)?t.size=e.usedBytes:FS.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&MEMFS.resizeFileStorage(e,t.size)},lookup(e,t){throw FS.genericErrors[44]},mknod:(e,t,r,n)=>MEMFS.createNode(e,t,r,n),rename(e,t,r){if(FS.isDir(e.mode)){var n;try{n=FS.lookupNode(t,r)}catch(e){}if(n)for(var o in n.contents)throw new FS.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=FS.lookupNode(e,t);for(var n in r.contents)throw new FS.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var n=MEMFS.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!FS.isLink(e.mode))throw new FS.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-o,n);if(s>8&&a.subarray)t.set(a.subarray(o,o+s),r);else for(var i=0;i0||r+t(MEMFS.stream_ops.write(e,t,0,n,r,!1),0)}},asyncLoad=(e,t,r,n)=>{var o=n?"":getUniqueRunDependency(`al ${e}`);readAsync(e,r=>{assert(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),o&&removeRunDependency(o)},t=>{if(!r)throw`Loading data file "${e}" failed.`;r()}),o&&addRunDependency(o)},FS_createDataFile=(e,t,r,n,o,a)=>FS.createDataFile(e,t,r,n,o,a),preloadPlugins=Module.preloadPlugins||[],FS_handledByPreloadPlugin=(e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return preloadPlugins.forEach(a=>{o||a.canHandle(t)&&(a.handle(e,t,r,n),o=!0)}),o},FS_createPreloadedFile=(e,t,r,n,o,a,s,i,l,c)=>{var m=t?PATH_FS.resolve(PATH.join2(e,t)):e,u=getUniqueRunDependency(`cp ${m}`);function d(r){function d(r){c&&c(),i||FS_createDataFile(e,t,r,n,o,l),a&&a(),removeRunDependency(u)}FS_handledByPreloadPlugin(r,m,d,()=>{s&&s(),removeRunDependency(u)})||d(r)}addRunDependency(u),"string"==typeof r?asyncLoad(r,e=>d(e),s):d(r)},FS_modeStringToFlags=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},FS_getMode=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,t={}){if(!(e=PATH_FS.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new FS.ErrnoError(32);for(var r=e.split("/").filter(e=>!!e),n=FS.root,o="/",a=0;a40)throw new FS.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var t;;){if(FS.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,n=0;n>>0)%FS.nameTable.length},hashAddNode(e){var t=FS.hashName(e.parent.id,e.name);e.name_next=FS.nameTable[t],FS.nameTable[t]=e},hashRemoveNode(e){var t=FS.hashName(e.parent.id,e.name);if(FS.nameTable[t]===e)FS.nameTable[t]=e.name_next;else for(var r=FS.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=FS.mayLookup(e);if(r)throw new FS.ErrnoError(r,e);for(var n=FS.hashName(e.id,t),o=FS.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===t)return o}return FS.lookup(e,t)},createNode(e,t,r,n){var o=new FS.FSNode(e,t,r,n);return FS.hashAddNode(o),o},destroyNode(e){FS.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>FS.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=FS.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{FS.lookupNode(e,t);return 20}catch(e){}return FS.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=FS.lookupNode(e,t)}catch(e){return e.errno}var o=FS.nodePermissions(e,"wx");if(o)return o;if(r){if(!FS.isDir(n.mode))return 54;if(FS.isRoot(n)||FS.getPath(n)===FS.cwd())return 10}else if(FS.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?FS.isLink(e.mode)?32:FS.isDir(e.mode)&&("r"!==FS.flagsToPermissionString(t)||512&t)?31:FS.nodePermissions(e,FS.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=FS.MAX_OPEN_FDS;e++)if(!FS.streams[e])return e;throw new FS.ErrnoError(33)},getStreamChecked(e){var t=FS.getStream(e);if(!t)throw new FS.ErrnoError(8);return t},getStream:e=>FS.streams[e],createStream:(e,t=-1)=>(FS.FSStream||(FS.FSStream=function(){this.shared={}},FS.FSStream.prototype={},Object.defineProperties(FS.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return!!(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new FS.FSStream,e),-1==t&&(t=FS.nextfd()),e.fd=t,FS.streams[t]=e,e),closeStream(e){FS.streams[e]=null},chrdev_stream_ops:{open(e){var t=FS.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new FS.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){FS.devices[e]={stream_ops:t}},getDevice:e=>FS.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),FS.syncFSRequests++,FS.syncFSRequests>1&&err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=FS.getMounts(FS.root.mount),n=0;function o(e){return FS.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=r.length&&o(null)}r.forEach(t=>{if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)})},mount(e,t,r){var n,o="/"===r,a=!r;if(o&&FS.root)throw new FS.ErrnoError(10);if(!o&&!a){var s=FS.lookupPath(r,{follow_mount:!1});if(r=s.path,n=s.node,FS.isMountpoint(n))throw new FS.ErrnoError(10);if(!FS.isDir(n.mode))throw new FS.ErrnoError(54)}var i={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(i);return l.mount=i,i.root=l,o?FS.root=l:n&&(n.mounted=i,n.mount&&n.mount.mounts.push(i)),l},unmount(e){var t=FS.lookupPath(e,{follow_mount:!1});if(!FS.isMountpoint(t.node))throw new FS.ErrnoError(28);var r=t.node,n=r.mounted,o=FS.getMounts(n);Object.keys(FS.nameTable).forEach(e=>{for(var t=FS.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&FS.destroyNode(t),t=r}}),r.mounted=null;var a=r.mount.mounts.indexOf(n);r.mount.mounts.splice(a,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=FS.lookupPath(e,{parent:!0}).node,o=PATH.basename(e);if(!o||"."===o||".."===o)throw new FS.ErrnoError(28);var a=FS.mayCreate(n,o);if(a)throw new FS.ErrnoError(a);if(!n.node_ops.mknod)throw new FS.ErrnoError(63);return n.node_ops.mknod(n,o,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,FS.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,FS.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),n="",o=0;o(void 0===r&&(r=t,t=438),t|=8192,FS.mknod(e,t,r)),symlink(e,t){if(!PATH_FS.resolve(e))throw new FS.ErrnoError(44);var r=FS.lookupPath(t,{parent:!0}).node;if(!r)throw new FS.ErrnoError(44);var n=PATH.basename(t),o=FS.mayCreate(r,n);if(o)throw new FS.ErrnoError(o);if(!r.node_ops.symlink)throw new FS.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,o=PATH.dirname(e),a=PATH.dirname(t),s=PATH.basename(e),i=PATH.basename(t);if(r=FS.lookupPath(e,{parent:!0}).node,n=FS.lookupPath(t,{parent:!0}).node,!r||!n)throw new FS.ErrnoError(44);if(r.mount!==n.mount)throw new FS.ErrnoError(75);var l,c=FS.lookupNode(r,s),m=PATH_FS.relative(e,a);if("."!==m.charAt(0))throw new FS.ErrnoError(28);if("."!==(m=PATH_FS.relative(t,o)).charAt(0))throw new FS.ErrnoError(55);try{l=FS.lookupNode(n,i)}catch(e){}if(c!==l){var u=FS.isDir(c.mode),d=FS.mayDelete(r,s,u);if(d)throw new FS.ErrnoError(d);if(d=l?FS.mayDelete(n,i,u):FS.mayCreate(n,i))throw new FS.ErrnoError(d);if(!r.node_ops.rename)throw new FS.ErrnoError(63);if(FS.isMountpoint(c)||l&&FS.isMountpoint(l))throw new FS.ErrnoError(10);if(n!==r&&(d=FS.nodePermissions(r,"w")))throw new FS.ErrnoError(d);FS.hashRemoveNode(c);try{r.node_ops.rename(c,n,i)}catch(e){throw e}finally{FS.hashAddNode(c)}}},rmdir(e){var t=FS.lookupPath(e,{parent:!0}).node,r=PATH.basename(e),n=FS.lookupNode(t,r),o=FS.mayDelete(t,r,!0);if(o)throw new FS.ErrnoError(o);if(!t.node_ops.rmdir)throw new FS.ErrnoError(63);if(FS.isMountpoint(n))throw new FS.ErrnoError(10);t.node_ops.rmdir(t,r),FS.destroyNode(n)},readdir(e){var t=FS.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new FS.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=FS.lookupPath(e,{parent:!0}).node;if(!t)throw new FS.ErrnoError(44);var r=PATH.basename(e),n=FS.lookupNode(t,r),o=FS.mayDelete(t,r,!1);if(o)throw new FS.ErrnoError(o);if(!t.node_ops.unlink)throw new FS.ErrnoError(63);if(FS.isMountpoint(n))throw new FS.ErrnoError(10);t.node_ops.unlink(t,r),FS.destroyNode(n)},readlink(e){var t=FS.lookupPath(e).node;if(!t)throw new FS.ErrnoError(44);if(!t.node_ops.readlink)throw new FS.ErrnoError(28);return PATH_FS.resolve(FS.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=FS.lookupPath(e,{follow:!t}).node;if(!r)throw new FS.ErrnoError(44);if(!r.node_ops.getattr)throw new FS.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>FS.stat(e,!0),chmod(e,t,r){var n;"string"==typeof e?n=FS.lookupPath(e,{follow:!r}).node:n=e;if(!n.node_ops.setattr)throw new FS.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod(e,t){FS.chmod(e,t,!0)},fchmod(e,t){var r=FS.getStreamChecked(e);FS.chmod(r.node,t)},chown(e,t,r,n){var o;"string"==typeof e?o=FS.lookupPath(e,{follow:!n}).node:o=e;if(!o.node_ops.setattr)throw new FS.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,t,r){FS.chown(e,t,r,!0)},fchown(e,t,r){var n=FS.getStreamChecked(e);FS.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new FS.ErrnoError(28);var r;"string"==typeof e?r=FS.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new FS.ErrnoError(63);if(FS.isDir(r.mode))throw new FS.ErrnoError(31);if(!FS.isFile(r.mode))throw new FS.ErrnoError(28);var n=FS.nodePermissions(r,"w");if(n)throw new FS.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=FS.getStreamChecked(e);if(!(2097155&r.flags))throw new FS.ErrnoError(28);FS.truncate(r.node,t)},utime(e,t,r){var n=FS.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new FS.ErrnoError(44);var n;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?FS_modeStringToFlags(t):t)?4095&r|32768:0,"object"==typeof e)n=e;else{e=PATH.normalize(e);try{n=FS.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var o=!1;if(64&t)if(n){if(128&t)throw new FS.ErrnoError(20)}else n=FS.mknod(e,r,0),o=!0;if(!n)throw new FS.ErrnoError(44);if(FS.isChrdev(n.mode)&&(t&=-513),65536&t&&!FS.isDir(n.mode))throw new FS.ErrnoError(54);if(!o){var a=FS.mayOpen(n,t);if(a)throw new FS.ErrnoError(a)}512&t&&!o&&FS.truncate(n,0),t&=-131713;var s=FS.createStream({node:n,path:FS.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!Module.logReadFiles||1&t||(FS.readFiles||(FS.readFiles={}),e in FS.readFiles||(FS.readFiles[e]=1)),s},close(e){if(FS.isClosed(e))throw new FS.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{FS.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new FS.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new FS.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,o){if(n<0||o<0)throw new FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if(1==(2097155&e.flags))throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.read)throw new FS.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new FS.ErrnoError(70)}else o=e.position;var s=e.stream_ops.read(e,t,r,n,o);return a||(e.position+=s),s},write(e,t,r,n,o,a){if(n<0||o<0)throw new FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!(2097155&e.flags))throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.write)throw new FS.ErrnoError(28);e.seekable&&1024&e.flags&&FS.llseek(e,0,2);var s=void 0!==o;if(s){if(!e.seekable)throw new FS.ErrnoError(70)}else o=e.position;var i=e.stream_ops.write(e,t,r,n,o,a);return s||(e.position+=i),i},allocate(e,t,r){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(t<0||r<=0)throw new FS.ErrnoError(28);if(!(2097155&e.flags))throw new FS.ErrnoError(8);if(!FS.isFile(e.node.mode)&&!FS.isDir(e.node.mode))throw new FS.ErrnoError(43);if(!e.stream_ops.allocate)throw new FS.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,n,o){if(2&n&&!(2&o)&&2!=(2097155&e.flags))throw new FS.ErrnoError(2);if(1==(2097155&e.flags))throw new FS.ErrnoError(2);if(!e.stream_ops.mmap)throw new FS.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,o)},msync:(e,t,r,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,o):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new FS.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=FS.open(e,t.flags),o=FS.stat(e).size,a=new Uint8Array(o);return FS.read(n,a,0,o,0),"utf8"===t.encoding?r=UTF8ArrayToString(a,0):"binary"===t.encoding&&(r=a),FS.close(n),r},writeFile(e,t,r={}){r.flags=r.flags||577;var n=FS.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(lengthBytesUTF8(t)+1),a=stringToUTF8Array(t,o,0,o.length);FS.write(n,o,0,a,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");FS.write(n,t,0,t.byteLength,void 0,r.canOwn)}FS.close(n)},cwd:()=>FS.currentPath,chdir(e){var t=FS.lookupPath(e,{follow:!0});if(null===t.node)throw new FS.ErrnoError(44);if(!FS.isDir(t.node.mode))throw new FS.ErrnoError(54);var r=FS.nodePermissions(t.node,"x");if(r)throw new FS.ErrnoError(r);FS.currentPath=t.path},createDefaultDirectories(){FS.mkdir("/tmp"),FS.mkdir("/home"),FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev"),FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(e,t,r,n,o)=>n}),FS.mkdev("/dev/null",FS.makedev(1,3)),TTY.register(FS.makedev(5,0),TTY.default_tty_ops),TTY.register(FS.makedev(6,0),TTY.default_tty1_ops),FS.mkdev("/dev/tty",FS.makedev(5,0)),FS.mkdev("/dev/tty1",FS.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=randomFill(e).byteLength),e[--t]);FS.createDevice("/dev","random",r),FS.createDevice("/dev","urandom",r),FS.mkdir("/dev/shm"),FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var e=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd"),FS.mount({mount(){var t=FS.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,n=FS.getStreamChecked(r),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams(){Module.stdin?FS.createDevice("/dev","stdin",Module.stdin):FS.symlink("/dev/tty","/dev/stdin"),Module.stdout?FS.createDevice("/dev","stdout",null,Module.stdout):FS.symlink("/dev/tty","/dev/stdout"),Module.stderr?FS.createDevice("/dev","stderr",null,Module.stderr):FS.symlink("/dev/tty1","/dev/stderr");FS.open("/dev/stdin",0),FS.open("/dev/stdout",1),FS.open("/dev/stderr",1)},ensureErrnoError(){FS.ErrnoError||(FS.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},FS.ErrnoError.prototype=new Error,FS.ErrnoError.prototype.constructor=FS.ErrnoError,[44].forEach(e=>{FS.genericErrors[e]=new FS.ErrnoError(e),FS.genericErrors[e].stack=""}))},staticInit(){FS.ensureErrnoError(),FS.nameTable=new Array(4096),FS.mount(MEMFS,{},"/"),FS.createDefaultDirectories(),FS.createDefaultDevices(),FS.createSpecialDirectories(),FS.filesystems={MEMFS:MEMFS}},init(e,t,r){FS.init.initialized=!0,FS.ensureErrnoError(),Module.stdin=e||Module.stdin,Module.stdout=t||Module.stdout,Module.stderr=r||Module.stderr,FS.createStandardStreams()},quit(){FS.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,a=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;o||(s=n);var i=this;i.setDataGetter(e=>{var t=e*s,o=(e+1)*s-1;if(o=Math.min(o,n-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",r,!1),n!==s&&o.setRequestHeader("Range","bytes="+e+"-"+t),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+r+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):intArrayFromString(o.responseText||"",!0)})(t,o)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]}),!a&&n||(s=n=1,n=this.getter(0).length,s=n,out("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new a;Object.defineProperties(s,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:s}}else i={isDevice:!1,url:r};var l=FS.createFile(e,t,i,n,o);i.contents?l.contents=i.contents:i.url&&(l.contents=null,l.url=i.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var c={};function m(e,t,r,n,o){var a=e.node.contents;if(o>=a.length)return 0;var s=Math.min(a.length-o,n);if(a.slice)for(var i=0;i{var t=l.stream_ops[e];c[e]=function(){return FS.forceLoadFile(l),t.apply(null,arguments)}}),c.read=(e,t,r,n,o)=>(FS.forceLoadFile(l),m(e,t,r,n,o)),c.mmap=(e,t,r,n,o)=>{FS.forceLoadFile(l);var a=mmapAlloc(t);if(!a)throw new FS.ErrnoError(48);return m(e,HEAP8,a,t,r),{ptr:a,allocated:!0}},l.stream_ops=c,l}},SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(PATH.isAbs(t))return t;var n;-100===e?n=FS.cwd():n=SYSCALLS.getStreamFromFD(e).path;if(0==t.length){if(!r)throw new FS.ErrnoError(44);return n}return PATH.join2(n,t)},doStat(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&PATH.normalize(t)!==PATH.normalize(FS.getPath(e.node)))return-54;throw e}HEAP32[r>>2]=n.dev,HEAP32[r+4>>2]=n.mode,HEAPU32[r+8>>2]=n.nlink,HEAP32[r+12>>2]=n.uid,HEAP32[r+16>>2]=n.gid,HEAP32[r+20>>2]=n.rdev,tempI64=[n.size>>>0,(tempDouble=n.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+24>>2]=tempI64[0],HEAP32[r+28>>2]=tempI64[1],HEAP32[r+32>>2]=4096,HEAP32[r+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),s=n.ctime.getTime();return tempI64=[Math.floor(o/1e3)>>>0,(tempDouble=Math.floor(o/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+40>>2]=tempI64[0],HEAP32[r+44>>2]=tempI64[1],HEAPU32[r+48>>2]=o%1e3*1e3,tempI64=[Math.floor(a/1e3)>>>0,(tempDouble=Math.floor(a/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+56>>2]=tempI64[0],HEAP32[r+60>>2]=tempI64[1],HEAPU32[r+64>>2]=a%1e3*1e3,tempI64=[Math.floor(s/1e3)>>>0,(tempDouble=Math.floor(s/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+72>>2]=tempI64[0],HEAP32[r+76>>2]=tempI64[1],HEAPU32[r+80>>2]=s%1e3*1e3,tempI64=[n.ino>>>0,(tempDouble=n.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+88>>2]=tempI64[0],HEAP32[r+92>>2]=tempI64[1],0},doMsync(e,t,r,n,o){if(!FS.isFile(t.node.mode))throw new FS.ErrnoError(43);if(2&n)return 0;var a=HEAPU8.slice(e,e+r);FS.msync(t,a,o,r,n)},varargs:void 0,get(){var e=HEAP32[+SYSCALLS.varargs>>2];return SYSCALLS.varargs+=4,e},getp:()=>SYSCALLS.get(),getStr:e=>UTF8ToString(e),getStreamFromFD:e=>FS.getStreamChecked(e)};function ___syscall__newselect(e,t,r,n,o){try{for(var a=0,s=t?HEAP32[t>>2]:0,i=t?HEAP32[t+4>>2]:0,l=r?HEAP32[r>>2]:0,c=r?HEAP32[r+4>>2]:0,m=n?HEAP32[n>>2]:0,u=n?HEAP32[n+4>>2]:0,d=0,_=0,f=0,g=0,E=0,p=0,S=(t?HEAP32[t>>2]:0)|(r?HEAP32[r>>2]:0)|(n?HEAP32[n>>2]:0),h=(t?HEAP32[t+4>>2]:0)|(r?HEAP32[r+4>>2]:0)|(n?HEAP32[n+4>>2]:0),v=function(e,t,r,n){return e<32?t&n:r&n},F=0;F>2]:0)+(t?HEAP32[o+8>>2]:0)/1e6);D=w.stream_ops.poll(w,b)}1&D&&v(F,s,i,y)&&(F<32?d|=y:_|=y,a++),4&D&&v(F,l,c,y)&&(F<32?f|=y:g|=y,a++),2&D&&v(F,m,u,y)&&(F<32?E|=y:p|=y,a++)}}return t&&(HEAP32[t>>2]=d,HEAP32[t+4>>2]=_),r&&(HEAP32[r>>2]=f,HEAP32[r+4>>2]=g),n&&(HEAP32[n>>2]=E,HEAP32[n+4>>2]=p),a}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}var SOCKFS={mount:e=>(Module.websocket=Module.websocket&&"object"==typeof Module.websocket?Module.websocket:{},Module.websocket._callbacks={},Module.websocket.on=function(e,t){return"function"==typeof t&&(this._callbacks[e]=t),this},Module.websocket.emit=function(e,t){"function"==typeof this._callbacks[e]&&this._callbacks[e].call(this,t)},FS.createNode(null,"/",16895,0)),createSocket(e,t,r){if(1==(t&=-526337)&&r&&6!=r)throw new FS.ErrnoError(66);var n={family:e,type:t,protocol:r,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops},o=SOCKFS.nextname(),a=FS.createNode(SOCKFS.root,o,49152,0);a.sock=n;var s=FS.createStream({path:o,node:a,flags:2,seekable:!1,stream_ops:SOCKFS.stream_ops});return n.stream=s,n},getSocket(e){var t=FS.getStream(e);return t&&FS.isSocket(t.node.mode)?t.node.sock:null},stream_ops:{poll(e){var t=e.node.sock;return t.sock_ops.poll(t)},ioctl(e,t,r){var n=e.node.sock;return n.sock_ops.ioctl(n,t,r)},read(e,t,r,n,o){var a=e.node.sock,s=a.sock_ops.recvmsg(a,n);return s?(t.set(s.buffer,r),s.buffer.length):0},write(e,t,r,n,o){var a=e.node.sock;return a.sock_ops.sendmsg(a,t,r,n)},close(e){var t=e.node.sock;t.sock_ops.close(t)}},nextname:()=>(SOCKFS.nextname.current||(SOCKFS.nextname.current=0),"socket["+SOCKFS.nextname.current+++"]"),websocket_sock_ops:{createPeer(e,t,r){var n;if("object"==typeof t&&(n=t,t=null,r=null),n)if(n._socket)t=n._socket.remoteAddress,r=n._socket.remotePort;else{var o=/ws[s]?:\/\/([^:]+):(\d+)/.exec(n.url);if(!o)throw new Error("WebSocket URL must be in the format ws(s)://address:port");t=o[1],r=parseInt(o[2],10)}else try{var a=Module.websocket&&"object"==typeof Module.websocket,s="ws:#".replace("#","//");if(a&&"string"==typeof Module.websocket.url&&(s=Module.websocket.url),"ws://"===s||"wss://"===s){var i=t.split("/");s=s+i[0]+":"+r+"/"+i.slice(1).join("/")}var l="binary";a&&"string"==typeof Module.websocket.subprotocol&&(l=Module.websocket.subprotocol);var c=void 0;"null"!==l&&(c=l=l.replace(/^ +| +$/g,"").split(/ *, */)),a&&null===Module.websocket.subprotocol&&(l="null",c=void 0),(n=new WebSocket(s,c)).binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}var m={addr:t,port:r,socket:n,dgram_send_queue:[]};return SOCKFS.websocket_sock_ops.addPeer(e,m),SOCKFS.websocket_sock_ops.handlePeerEvents(e,m),2===e.type&&void 0!==e.sport&&m.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(65280&e.sport)>>8,255&e.sport])),m},getPeer:(e,t,r)=>e.peers[t+":"+r],addPeer(e,t){e.peers[t.addr+":"+t.port]=t},removePeer(e,t){delete e.peers[t.addr+":"+t.port]},handlePeerEvents(e,t){var r=!0,n=function(){Module.websocket.emit("open",e.stream.fd);try{for(var r=t.dgram_send_queue.shift();r;)t.socket.send(r),r=t.dgram_send_queue.shift()}catch(e){t.socket.close()}};function o(n){if("string"==typeof n){n=(new TextEncoder).encode(n)}else{if(assert(void 0!==n.byteLength),0==n.byteLength)return;n=new Uint8Array(n)}var o=r;if(r=!1,o&&10===n.length&&255===n[0]&&255===n[1]&&255===n[2]&&255===n[3]&&n[4]==="p".charCodeAt(0)&&n[5]==="o".charCodeAt(0)&&n[6]==="r".charCodeAt(0)&&n[7]==="t".charCodeAt(0)){var a=n[8]<<8|n[9];return SOCKFS.websocket_sock_ops.removePeer(e,t),t.port=a,void SOCKFS.websocket_sock_ops.addPeer(e,t)}e.recv_queue.push({addr:t.addr,port:t.port,data:n}),Module.websocket.emit("message",e.stream.fd)}ENVIRONMENT_IS_NODE?(t.socket.on("open",n),t.socket.on("message",function(e,t){t&&o(new Uint8Array(e).buffer)}),t.socket.on("close",function(){Module.websocket.emit("close",e.stream.fd)}),t.socket.on("error",function(t){e.error=14,Module.websocket.emit("error",[e.stream.fd,e.error,"ECONNREFUSED: Connection refused"])})):(t.socket.onopen=n,t.socket.onclose=function(){Module.websocket.emit("close",e.stream.fd)},t.socket.onmessage=function(e){o(e.data)},t.socket.onerror=function(t){e.error=14,Module.websocket.emit("error",[e.stream.fd,e.error,"ECONNREFUSED: Connection refused"])})},poll(e){if(1===e.type&&e.server)return e.pending.length?65:0;var t=0,r=1===e.type?SOCKFS.websocket_sock_ops.getPeer(e,e.daddr,e.dport):null;return(e.recv_queue.length||!r||r&&r.socket.readyState===r.socket.CLOSING||r&&r.socket.readyState===r.socket.CLOSED)&&(t|=65),(!r||r&&r.socket.readyState===r.socket.OPEN)&&(t|=4),(r&&r.socket.readyState===r.socket.CLOSING||r&&r.socket.readyState===r.socket.CLOSED)&&(t|=16),t},ioctl(e,t,r){if(21531===t){var n=0;return e.recv_queue.length&&(n=e.recv_queue[0].data.length),HEAP32[r>>2]=n,0}return 28},close(e){if(e.server){try{e.server.close()}catch(e){}e.server=null}for(var t=Object.keys(e.peers),r=0;r{var t=SOCKFS.getSocket(e);if(!t)throw new FS.ErrnoError(8);return t},setErrNo=e=>(HEAP32[___errno_location()>>2]=e,e),inetNtop4=e=>(255&e)+"."+(e>>8&255)+"."+(e>>16&255)+"."+(e>>24&255),inetNtop6=e=>{var t="",r=0,n=0,o=0,a=0,s=0,i=0,l=[65535&e[0],e[0]>>16,65535&e[1],e[1]>>16,65535&e[2],e[2]>>16,65535&e[3],e[3]>>16],c=!0,m="";for(i=0;i<5;i++)if(0!==l[i]){c=!1;break}if(c){if(m=inetNtop4(l[6]|l[7]<<16),-1===l[5])return t="::ffff:",t+=m;if(0===l[5])return t="::","0.0.0.0"===m&&(m=""),"0.0.0.1"===m&&(m="1"),t+=m}for(r=0;r<8;r++)0===l[r]&&(r-o>1&&(s=0),o=r,s++),s>n&&(a=r-(n=s)+1);for(r=0;r<8;r++)n>1&&0===l[r]&&r>=a&&r{var r,n=HEAP16[e>>1],o=_ntohs(HEAPU16[e+2>>1]);switch(n){case 2:if(16!==t)return{errno:28};r=HEAP32[e+4>>2],r=inetNtop4(r);break;case 10:if(28!==t)return{errno:28};r=[HEAP32[e+8>>2],HEAP32[e+12>>2],HEAP32[e+16>>2],HEAP32[e+20>>2]],r=inetNtop6(r);break;default:return{errno:5}}return{family:n,addr:r,port:o}},inetPton4=e=>{for(var t=e.split("."),r=0;r<4;r++){var n=Number(t[r]);if(isNaN(n))return null;t[r]=n}return(t[0]|t[1]<<8|t[2]<<16|t[3]<<24)>>>0},jstoi_q=e=>parseInt(e),inetPton6=e=>{var t,r,n,o,a=[];if(!/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i.test(e))return null;if("::"===e)return[0,0,0,0,0,0,0,0];for((e=e.startsWith("::")?e.replace("::","Z:"):e.replace("::",":Z:")).indexOf(".")>0?((t=(e=e.replace(new RegExp("[.]","g"),":")).split(":"))[t.length-4]=jstoi_q(t[t.length-4])+256*jstoi_q(t[t.length-3]),t[t.length-3]=jstoi_q(t[t.length-2])+256*jstoi_q(t[t.length-1]),t=t.slice(0,t.length-2)):t=e.split(":"),n=0,o=0,r=0;rDNS.address_map.names[e]?DNS.address_map.names[e]:null},getSocketAddress=(e,t,r)=>{if(r&&0===e)return null;var n=readSockaddr(e,t);if(n.errno)throw new FS.ErrnoError(n.errno);return n.addr=DNS.lookup_addr(n.addr)||n.addr,n};function ___syscall_connect(e,t,r,n,o,a){try{var s=getSocketFromFD(e),i=getSocketAddress(t,r);return s.sock_ops.connect(s,i.addr,i.port),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_faccessat(e,t,r,n){try{if(t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),-8&r)return-28;var o=FS.lookupPath(t,{follow:!0}).node;if(!o)return-44;var a="";return 4&r&&(a+="r"),2&r&&(a+="w"),1&r&&(a+="x"),a&&FS.nodePermissions(o,a)?-2:0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_fcntl64(e,t,r){SYSCALLS.varargs=r;try{var n=SYSCALLS.getStreamFromFD(e);switch(t){case 0:if((o=SYSCALLS.get())<0)return-28;for(;FS.streams[o];)o++;return FS.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=SYSCALLS.get();return n.flags|=o,0;case 5:o=SYSCALLS.getp();return HEAP16[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return setErrNo(28),-1}}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_fstat64(e,t){try{var r=SYSCALLS.getStreamFromFD(e);return SYSCALLS.doStat(FS.stat,r.path,t)}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}var stringToUTF8=(e,t,r)=>stringToUTF8Array(e,HEAPU8,t,r);function ___syscall_getcwd(e,t){try{if(0===t)return-28;var r=FS.cwd(),n=lengthBytesUTF8(r)+1;return t>>0,(tempDouble=l,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t+a>>2]=tempI64[0],HEAP32[t+a+4>>2]=tempI64[1],tempI64=[(i+1)*o>>>0,(tempDouble=(i+1)*o,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t+a+8>>2]=tempI64[0],HEAP32[t+a+12>>2]=tempI64[1],HEAP16[t+a+16>>1]=280,HEAP8[t+a+18|0]=c,stringToUTF8(m,t+a+19,256),a+=o,i+=1}return FS.llseek(n,i*o,0),a}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_ioctl(e,t,r){SYSCALLS.varargs=r;try{var n=SYSCALLS.getStreamFromFD(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var o=n.tty.ops.ioctl_tcgets(n),a=SYSCALLS.getp();HEAP32[a>>2]=o.c_iflag||0,HEAP32[a+4>>2]=o.c_oflag||0,HEAP32[a+8>>2]=o.c_cflag||0,HEAP32[a+12>>2]=o.c_lflag||0;for(var s=0;s<32;s++)HEAP8[a+s+17|0]=o.c_cc[s]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){a=SYSCALLS.getp();var i=HEAP32[a>>2],l=HEAP32[a+4>>2],c=HEAP32[a+8>>2],m=HEAP32[a+12>>2],u=[];for(s=0;s<32;s++)u.push(HEAP8[a+s+17|0]);return n.tty.ops.ioctl_tcsets(n.tty,t,{c_iflag:i,c_oflag:l,c_cflag:c,c_lflag:m,c_cc:u})}return 0;case 21519:if(!n.tty)return-59;a=SYSCALLS.getp();return HEAP32[a>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:a=SYSCALLS.getp();return FS.ioctl(n,t,a);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var d=n.tty.ops.ioctl_tiocgwinsz(n.tty);a=SYSCALLS.getp();HEAP16[a>>1]=d[0],HEAP16[a+2>>1]=d[1]}return 0;default:return-28}}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_lstat64(e,t){try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.lstat,e,t)}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_mkdirat(e,t,r){try{return t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),"/"===(t=PATH.normalize(t))[t.length-1]&&(t=t.substr(0,t.length-1)),FS.mkdir(t,r,0),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_newfstatat(e,t,r,n){try{t=SYSCALLS.getStr(t);var o=256&n,a=4096&n;return n&=-6401,t=SYSCALLS.calculateAt(e,t,a),SYSCALLS.doStat(o?FS.lstat:FS.stat,t,r)}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_openat(e,t,r,n){SYSCALLS.varargs=n;try{t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t);var o=n?SYSCALLS.get():0;return FS.open(t,r,o).fd}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_readlinkat(e,t,r,n){try{if(t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),n<=0)return-28;var o=FS.readlink(t),a=Math.min(n,lengthBytesUTF8(o)),s=HEAP8[r+a];return stringToUTF8(o,r,n+1),HEAP8[r+a]=s,a}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_rmdir(e){try{return e=SYSCALLS.getStr(e),FS.rmdir(e),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_socket(e,t,r){try{return SOCKFS.createSocket(e,t,r).stream.fd}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_stat64(e,t){try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.stat,e,t)}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_unlinkat(e,t,r){try{return t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),0===r?FS.unlink(t):512===r?FS.rmdir(t):abort("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}var nowIsMonotonic=!0,__emscripten_get_now_is_monotonic=()=>nowIsMonotonic,convertI32PairToI53Checked=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN;function __gmtime_js(e,t,r){var n=convertI32PairToI53Checked(e,t),o=new Date(1e3*n);HEAP32[r>>2]=o.getUTCSeconds(),HEAP32[r+4>>2]=o.getUTCMinutes(),HEAP32[r+8>>2]=o.getUTCHours(),HEAP32[r+12>>2]=o.getUTCDate(),HEAP32[r+16>>2]=o.getUTCMonth(),HEAP32[r+20>>2]=o.getUTCFullYear()-1900,HEAP32[r+24>>2]=o.getUTCDay();var a=Date.UTC(o.getUTCFullYear(),0,1,0,0,0,0),s=(o.getTime()-a)/864e5|0;HEAP32[r+28>>2]=s}var isLeapYear=e=>e%4==0&&(e%100!=0||e%400==0),MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335],MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334],ydayFromDate=e=>(isLeapYear(e.getFullYear())?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE)[e.getMonth()]+e.getDate()-1;function __localtime_js(e,t,r){var n=convertI32PairToI53Checked(e,t),o=new Date(1e3*n);HEAP32[r>>2]=o.getSeconds(),HEAP32[r+4>>2]=o.getMinutes(),HEAP32[r+8>>2]=o.getHours(),HEAP32[r+12>>2]=o.getDate(),HEAP32[r+16>>2]=o.getMonth(),HEAP32[r+20>>2]=o.getFullYear()-1900,HEAP32[r+24>>2]=o.getDay();var a=0|ydayFromDate(o);HEAP32[r+28>>2]=a,HEAP32[r+36>>2]=-60*o.getTimezoneOffset();var s=new Date(o.getFullYear(),0,1),i=new Date(o.getFullYear(),6,1).getTimezoneOffset(),l=s.getTimezoneOffset(),c=0|(i!=l&&o.getTimezoneOffset()==Math.min(l,i));HEAP32[r+32>>2]=c}var __mktime_js=function(e){var t=(()=>{var t=new Date(HEAP32[e+20>>2]+1900,HEAP32[e+16>>2],HEAP32[e+12>>2],HEAP32[e+8>>2],HEAP32[e+4>>2],HEAP32[e>>2],0),r=HEAP32[e+32>>2],n=t.getTimezoneOffset(),o=new Date(t.getFullYear(),0,1),a=new Date(t.getFullYear(),6,1).getTimezoneOffset(),s=o.getTimezoneOffset(),i=Math.min(s,a);if(r<0)HEAP32[e+32>>2]=Number(a!=s&&i==n);else if(r>0!=(i==n)){var l=Math.max(s,a),c=r>0?i:l;t.setTime(t.getTime()+6e4*(c-n))}HEAP32[e+24>>2]=t.getDay();var m=0|ydayFromDate(t);return HEAP32[e+28>>2]=m,HEAP32[e>>2]=t.getSeconds(),HEAP32[e+4>>2]=t.getMinutes(),HEAP32[e+8>>2]=t.getHours(),HEAP32[e+12>>2]=t.getDate(),HEAP32[e+16>>2]=t.getMonth(),HEAP32[e+20>>2]=t.getYear(),t.getTime()/1e3})();return setTempRet0((tempDouble=t,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),t>>>0};function __mmap_js(e,t,r,n,o,a,s,i){var l=convertI32PairToI53Checked(o,a);try{if(isNaN(l))return 61;var c=SYSCALLS.getStreamFromFD(n),m=FS.mmap(c,e,l,t,r),u=m.ptr;return HEAP32[s>>2]=m.allocated,HEAPU32[i>>2]=u,0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function __munmap_js(e,t,r,n,o,a,s){var i=convertI32PairToI53Checked(a,s);try{if(isNaN(i))return 61;var l=SYSCALLS.getStreamFromFD(o);2&r&&SYSCALLS.doMsync(e,l,t,n,i),FS.munmap(l)}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}var _emscripten_get_now,stringToNewUTF8=e=>{var t=lengthBytesUTF8(e)+1,r=_malloc(t);return r&&stringToUTF8(e,r,t),r},__tzset_js=(e,t,r)=>{var n=(new Date).getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),s=o.getTimezoneOffset(),i=a.getTimezoneOffset(),l=Math.max(s,i);function c(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}HEAPU32[e>>2]=60*l,HEAP32[t>>2]=Number(s!=i);var m=c(o),u=c(a),d=stringToNewUTF8(m),_=stringToNewUTF8(u);i>2]=d,HEAPU32[r+4>>2]=_):(HEAPU32[r>>2]=_,HEAPU32[r+4>>2]=d)},_abort=()=>{abort("")},readEmAsmArgsArray=[],readEmAsmArgs=(e,t)=>{var r;for(readEmAsmArgsArray.length=0;r=HEAPU8[e++];){var n=105!=r;t+=(n&=112!=r)&&t%8?4:0,readEmAsmArgsArray.push(112==r?HEAPU32[t>>2]:105==r?HEAP32[t>>2]:HEAPF64[t>>3]),t+=n?8:4}return readEmAsmArgsArray},runEmAsmFunction=(e,t,r)=>{var n=readEmAsmArgs(t,r);return ASM_CONSTS[e].apply(null,n)},_emscripten_asm_const_int=(e,t,r)=>runEmAsmFunction(e,t,r),_emscripten_date_now=()=>Date.now(),_emscripten_errn=(e,t)=>err(UTF8ToString(e,t)),getHeapMax=()=>2147483648,_emscripten_get_heap_max=()=>getHeapMax();_emscripten_get_now=()=>performance.now();var reallyNegative=e=>e<0||0===e&&1/e==-1/0,convertI32PairToI53=(e,t)=>(e>>>0)+4294967296*t,convertU32PairToI53=(e,t)=>(e>>>0)+4294967296*(t>>>0),reSign=(e,t)=>{if(e<=0)return e;var r=t<=32?Math.abs(1<=r&&(t<=32||e>r)&&(e=-2*r+e),e},unSign=(e,t)=>e>=0?e:t<=32?2*Math.abs(1<{for(var t=e;HEAPU8[t];)++t;return t-e},formatString=(e,t)=>{var r=e,n=t;function o(e){var t;return n=function(e,t){return"double"!==t&&"i64"!==t||7&e&&(e+=4),e}(n,e),"double"===e?(t=HEAPF64[n>>3],n+=8):"i64"==e?(t=[HEAP32[n>>2],HEAP32[n+4>>2]],n+=8):(e="i32",t=HEAP32[n>>2],n+=4),t}for(var a,s,i,l=[];;){var c=r;if(0===(a=HEAP8[r|0]))break;if(s=HEAP8[r+1|0],37==a){var m=!1,u=!1,d=!1,_=!1,f=!1;e:for(;;){switch(s){case 43:m=!0;break;case 45:u=!0;break;case 35:d=!0;break;case 48:if(_)break e;_=!0;break;case 32:f=!0;break;default:break e}r++,s=HEAP8[r+1|0]}var g=0;if(42==s)g=o("i32"),r++,s=HEAP8[r+1|0];else for(;s>=48&&s<=57;)g=10*g+(s-48),r++,s=HEAP8[r+1|0];var E,p=!1,S=-1;if(46==s){if(S=0,p=!0,r++,42==(s=HEAP8[r+1|0]))S=o("i32"),r++;else for(;;){var h=HEAP8[r+1|0];if(h<48||h>57)break;S=10*S+(h-48),r++}s=HEAP8[r+1|0]}switch(S<0&&(S=6,p=!1),String.fromCharCode(s)){case"h":104==HEAP8[r+2|0]?(r++,E=1):E=2;break;case"l":108==HEAP8[r+2|0]?(r++,E=8):E=4;break;case"L":case"q":case"j":E=8;break;case"z":case"t":case"I":E=4;break;default:E=null}switch(E&&r++,s=HEAP8[r+1|0],String.fromCharCode(s)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var v=100==s||105==s;if(i=o("i"+8*(E=E||4)),8==E&&(i=117==s?convertU32PairToI53(i[0],i[1]):convertI32PairToI53(i[0],i[1])),E<=4){var F=Math.pow(256,E)-1;i=(v?reSign:unSign)(i&F,8*E)}var y=Math.abs(i),w="";if(100==s||105==s)k=reSign(i,8*E).toString(10);else if(117==s)k=unSign(i,8*E).toString(10),i=Math.abs(i);else if(111==s)k=(d?"0":"")+y.toString(8);else if(120==s||88==s){if(w=d&&0!=i?"0x":"",i<0){i=-i,k=(y-1).toString(16);for(var D=[],b=0;b=0&&(m?w="+"+w:f&&(w=" "+w)),"-"==k.charAt(0)&&(w="-"+w,k=k.substr(1));w.length+k.lengthA&&A>=-4?(s=(103==s?"f":"F").charCodeAt(0),S-=A+1):(s=(103==s?"e":"E").charCodeAt(0),S--),C=Math.min(S,20)}101==s||69==s?(k=i.toExponential(C),/[eE][-+]\d$/.test(k)&&(k=k.slice(0,-1)+"0"+k.slice(-1))):102!=s&&70!=s||(k=i.toFixed(C),0===i&&reallyNegative(i)&&(k="-"+k));var P=k.split("e");if(N&&!d)for(;P[0].length>1&&P[0].includes(".")&&("0"==P[0].slice(-1)||"."==P[0].slice(-1));)P[0]=P[0].slice(0,-1);else for(d&&-1==k.indexOf(".")&&(P[0]+=".");S>C++;)P[0]+="0";k=P[0]+(P.length>1?"e"+P[1]:""),69==s&&(k=k.toUpperCase()),i>=0&&(m?k="+"+k:f&&(k=" "+k))}else k=(i<0?"-":"")+"inf",_=!1;for(;k.length0;)l.push(32);u||l.push(o("i8"));break;case"n":var M=o("i32*");HEAP32[M>>2]=l.length;break;case"%":l.push(a);break;default:for(b=c;b{warnOnce.shown||(warnOnce.shown={}),warnOnce.shown[e]||(warnOnce.shown[e]=1,err(e))};function getCallstack(e){var t=jsStackTrace(),r=t.lastIndexOf("_emscripten_log"),n=t.lastIndexOf("_emscripten_get_callstack"),o=t.indexOf("\n",Math.max(r,n))+1;t=t.slice(o),8&e&&"undefined"==typeof emscripten_source_map&&(warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var a=t.split("\n");t="";var s=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),i=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),l=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var c in a){var m=a[c],u="",d="",_=0,f=0,g=l.exec(m);if(g&&5==g.length)u=g[1],d=g[2],_=g[3],f=g[4];else{if((g=s.exec(m))||(g=i.exec(m)),!(g&&g.length>=4)){t+=m+"\n";continue}u=g[1],d=g[2],_=g[3],f=0|g[4]}var E=!1;if(8&e){var p=emscripten_source_map.originalPositionFor({line:_,column:f});(E=p&&p.source)&&(64&e&&(p.source=p.source.substring(p.source.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=` at ${u} (${p.source}:${p.line}:${p.column})\n`)}(16&e||!E)&&(64&e&&(d=d.substring(d.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=(E?` = ${u}`:` at ${u}`)+` (${d}:${_}:${f})\n`)}return t=t.replace(/\s+$/,"")}var emscriptenLog=(e,t)=>{24&e&&(t=t.replace(/\s+$/,""),t+=(t.length>0?"\n":"")+getCallstack(e)),1&e?4&e||2&e?err(t):out(t):6&e?err(t):out(t)},_emscripten_log=(e,t,r)=>{var n=formatString(t,r),o=UTF8ArrayToString(n,0);emscriptenLog(e,o)},growMemory=e=>{var t=(e-wasmMemory.buffer.byteLength+65535)/65536;try{return wasmMemory.grow(t),updateMemoryViews(),1}catch(e){}},_emscripten_resize_heap=e=>{var t=HEAPU8.length;e>>>=0;var r=getHeapMax();if(e>r)return!1;for(var n=(e,t)=>e+(t-e%t)%t,o=1;o<=4;o*=2){var a=t*(1+.2/o);a=Math.min(a,e+100663296);var s=Math.min(r,n(Math.max(e,a),65536));if(growMemory(s))return!0}return!1},ENV={},getExecutableName=()=>thisProgram||"./this.program",getEnvStrings=()=>{if(!getEnvStrings.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:getExecutableName()};for(var t in ENV)void 0===ENV[t]?delete e[t]:e[t]=ENV[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);getEnvStrings.strings=r}return getEnvStrings.strings},stringToAscii=(e,t)=>{for(var r=0;r{var r=0;return getEnvStrings().forEach((n,o)=>{var a=t+r;HEAPU32[e+4*o>>2]=a,stringToAscii(n,a),r+=n.length+1}),0},_environ_sizes_get=(e,t)=>{var r=getEnvStrings();HEAPU32[e>>2]=r.length;var n=0;return r.forEach(e=>n+=e.length+1),HEAPU32[t>>2]=n,0};function _fd_close(e){try{var t=SYSCALLS.getStreamFromFD(e);return FS.close(t),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return e.errno}}var doReadv=(e,t,r,n)=>{for(var o=0,a=0;a>2],i=HEAPU32[t+4>>2];t+=8;var l=FS.read(e,HEAP8,s,i,n);if(l<0)return-1;if(o+=l,l>2]=a,0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return e.errno}}function _fd_seek(e,t,r,n,o){var a=convertI32PairToI53Checked(t,r);try{if(isNaN(a))return 61;var s=SYSCALLS.getStreamFromFD(e);return FS.llseek(s,a,n),tempI64=[s.position>>>0,(tempDouble=s.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[o>>2]=tempI64[0],HEAP32[o+4>>2]=tempI64[1],s.getdents&&0===a&&0===n&&(s.getdents=null),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return e.errno}}var doWritev=(e,t,r,n)=>{for(var o=0,a=0;a>2],i=HEAPU32[t+4>>2];t+=8;var l=FS.write(e,HEAP8,s,i,n);if(l<0)return-1;o+=l,void 0!==n&&(n+=l)}return o};function _fd_write(e,t,r,n){try{var o=SYSCALLS.getStreamFromFD(e),a=doWritev(o,t,r);return HEAPU32[n>>2]=a,0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return e.errno}}var wasmTable,functionsInTableMap,arraySum=(e,t)=>{for(var r=0,n=0;n<=t;r+=e[n++]);return r},MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31],addDays=(e,t)=>{for(var r=new Date(e.getTime());t>0;){var n=isLeapYear(r.getFullYear()),o=r.getMonth(),a=(n?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[o];if(!(t>a-r.getDate()))return r.setDate(r.getDate()+t),r;t-=a-r.getDate()+1,r.setDate(1),o<11?r.setMonth(o+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r},writeArrayToMemory=(e,t)=>{HEAP8.set(e,t)},_strftime=(e,t,r,n)=>{var o=HEAPU32[n+40>>2],a={tm_sec:HEAP32[n>>2],tm_min:HEAP32[n+4>>2],tm_hour:HEAP32[n+8>>2],tm_mday:HEAP32[n+12>>2],tm_mon:HEAP32[n+16>>2],tm_year:HEAP32[n+20>>2],tm_wday:HEAP32[n+24>>2],tm_yday:HEAP32[n+28>>2],tm_isdst:HEAP32[n+32>>2],tm_gmtoff:HEAP32[n+36>>2],tm_zone:o?UTF8ToString(o):""},s=UTF8ToString(r),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in i)s=s.replace(new RegExp(l,"g"),i[l]);var c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],m=["January","February","March","April","May","June","July","August","September","October","November","December"];function u(e,t,r){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}var n;return 0===(n=r(e.getFullYear()-t.getFullYear()))&&0===(n=r(e.getMonth()-t.getMonth()))&&(n=r(e.getDate()-t.getDate())),n}function f(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function g(e){var t=addDays(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(t.getFullYear(),0,4),n=new Date(t.getFullYear()+1,0,4),o=f(r),a=f(n);return _(o,t)<=0?_(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var E={"%a":e=>c[e.tm_wday].substring(0,3),"%A":e=>c[e.tm_wday],"%b":e=>m[e.tm_mon].substring(0,3),"%B":e=>m[e.tm_mon],"%C":e=>d((e.tm_year+1900)/100|0,2),"%d":e=>d(e.tm_mday,2),"%e":e=>u(e.tm_mday,2," "),"%g":e=>g(e).toString().substring(2),"%G":e=>g(e),"%H":e=>d(e.tm_hour,2),"%I":e=>{var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),d(t,2)},"%j":e=>d(e.tm_mday+arraySum(isLeapYear(e.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,e.tm_mon-1),3),"%m":e=>d(e.tm_mon+1,2),"%M":e=>d(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>d(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var t=e.tm_yday+7-e.tm_wday;return d(Math.floor(t/7),2)},"%V":e=>{var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var r=(e.tm_wday+371-e.tm_yday)%7;4==r||3==r&&isLeapYear(e.tm_year)||(t=1)}}else{t=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&isLeapYear(e.tm_year%400-1))&&t++}return d(t,2)},"%w":e=>e.tm_wday,"%W":e=>{var t=e.tm_yday+7-(e.tm_wday+6)%7;return d(Math.floor(t/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var t=e.tm_gmtoff,r=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000"+t).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var l in s=s.replace(/%%/g,"\0\0"),E)s.includes(l)&&(s=s.replace(new RegExp(l,"g"),E[l](a)));var p=intArrayFromString(s=s.replace(/\0\0/g,"%"),!1);return p.length>t?0:(writeArrayToMemory(p,e),p.length-1)},_strftime_l=(e,t,r,n,o)=>_strftime(e,t,r,n),getWasmTableEntry=e=>wasmTable.get(e),uleb128Encode=(e,t)=>{e<128?t.push(e):t.push(e%128|128,e>>7)},sigToWasmTypes=e=>{for(var t={i:"i32",j:"i64",f:"f32",d:"f64",p:"i32"},r={parameters:[],results:"v"==e[0]?[]:[t[e[0]]]},n=1;n{var r=e.slice(0,1),n=e.slice(1),o={i:127,p:127,j:126,f:125,d:124};t.push(96),uleb128Encode(n.length,t);for(var a=0;a{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function(sigToWasmTypes(t),e);var r=[1];generateFuncType(t,r);var n=[0,97,115,109,1,0,0,0,1];uleb128Encode(r.length,n),n.push.apply(n,r),n.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var o=new WebAssembly.Module(new Uint8Array(n));return new WebAssembly.Instance(o,{e:{f:e}}).exports.f},updateTableMap=(e,t)=>{if(functionsInTableMap)for(var r=e;r(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),freeTableIndexes=[],getEmptyTableSlot=()=>{if(freeTableIndexes.length)return freeTableIndexes.pop();try{wasmTable.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1},setWasmTableEntry=(e,t)=>wasmTable.set(e,t),addFunction=(e,t)=>{var r=getFunctionAddress(e);if(r)return r;var n=getEmptyTableSlot();try{setWasmTableEntry(n,e)}catch(r){if(!(r instanceof TypeError))throw r;var o=convertJsFunctionToWasm(e,t);setWasmTableEntry(n,o)}return functionsInTableMap.set(e,n),n},stringToUTF8OnStack=e=>{var t=lengthBytesUTF8(e)+1,r=stackAlloc(t);return stringToUTF8(e,r,t),r},FSNode=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=FS.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},readMode=365,writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(e){e?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(e){e?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}}),FS.FSNode=FSNode,FS.createPreloadedFile=FS_createPreloadedFile,FS.staticInit();var calledRun,wasmImports={CreateDirectoryFetcher:_CreateDirectoryFetcher,DDN_ConvertElement:_DDN_ConvertElement,DDN_CreateDDNResult:_DDN_CreateDDNResult,DDN_CreateDDNResultItem:_DDN_CreateDDNResultItem,DDN_CreateIntermediateResultUnits:_DDN_CreateIntermediateResultUnits,DDN_CreateParameters:_DDN_CreateParameters,DDN_CreateTargetRoiDefConditionFilter:_DDN_CreateTargetRoiDefConditionFilter,DDN_CreateTaskAlgEntity:_DDN_CreateTaskAlgEntity,DDN_HasSection:_DDN_HasSection,DDN_ReadTaskSetting:_DDN_ReadTaskSetting,DLR_ConvertElement:_DLR_ConvertElement,DLR_CreateBufferedCharacterItemSet:_DLR_CreateBufferedCharacterItemSet,DLR_CreateIntermediateResultUnits:_DLR_CreateIntermediateResultUnits,DLR_CreateParameters:_DLR_CreateParameters,DLR_CreateRecognizedTextLinesResult:_DLR_CreateRecognizedTextLinesResult,DLR_CreateTargetRoiDefConditionFilter:_DLR_CreateTargetRoiDefConditionFilter,DLR_CreateTaskAlgEntity:_DLR_CreateTaskAlgEntity,DLR_CreateTextLineResultItem:_DLR_CreateTextLineResultItem,DLR_ReadTaskSetting:_DLR_ReadTaskSetting,DMImage_GetDIB:_DMImage_GetDIB,DMImage_GetOrientation:_DMImage_GetOrientation,DeleteDirectoryFetcher:_DeleteDirectoryFetcher,_ZN19LabelRecognizerWasm10getVersionEv:__ZN19LabelRecognizerWasm10getVersionEv,_ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv:__ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv,_ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv:__ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv,_ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi:__ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi,_ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb:__ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb,_ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb:__ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb,_ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb:__ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb,_ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii:__ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii,_ZN19LabelRecognizerWasm12DlrWasmClassC1Ev:__ZN19LabelRecognizerWasm12DlrWasmClassC1Ev,_ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE:__ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE,_ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE:__ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE,_ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE:__ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE,_ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE:__ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE,_ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE:__ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE,_ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE:__ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE,_ZN22DocumentNormalizerWasm10getVersionEv:__ZN22DocumentNormalizerWasm10getVersionEv,_ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv:__ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv,_ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi:__ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi,_ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii:__ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii,_ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib:__ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib,_ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib:__ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib,_ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb:__ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb,_ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb:__ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb,_ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE:__ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE,_ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii:__ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii,_ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev:__ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev,_ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE:__ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE,_ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE:__ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE,_ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE:__ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE,_ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE:__ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE,_ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE:__ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE,_ZN5nsync13nsync_cv_waitEPNS_11nsync_cv_s_EPNS_11nsync_mu_s_E:__ZN5nsync13nsync_cv_waitEPNS_11nsync_cv_s_EPNS_11nsync_mu_s_E,_ZN5nsync15nsync_cv_signalEPNS_11nsync_cv_s_E:__ZN5nsync15nsync_cv_signalEPNS_11nsync_cv_s_E,_ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv:__ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv,_ZN9dynamsoft7utility14CUtilityModule10GetVersionEv:__ZN9dynamsoft7utility14CUtilityModule10GetVersionEv,__assert_fail:___assert_fail,__cxa_begin_catch:___cxa_begin_catch,__cxa_end_catch:___cxa_end_catch,__cxa_find_matching_catch_2:___cxa_find_matching_catch_2,__cxa_find_matching_catch_3:___cxa_find_matching_catch_3,__cxa_rethrow:___cxa_rethrow,__cxa_rethrow_primary_exception:___cxa_rethrow_primary_exception,__cxa_throw:___cxa_throw,__cxa_uncaught_exceptions:___cxa_uncaught_exceptions,__resumeException:___resumeException,__syscall__newselect:___syscall__newselect,__syscall_connect:___syscall_connect,__syscall_faccessat:___syscall_faccessat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_readlinkat:___syscall_readlinkat,__syscall_rmdir:___syscall_rmdir,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_mktime_js:__mktime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_tzset_js:__tzset_js,abort:_abort,emscripten_asm_const_int:_emscripten_asm_const_int,emscripten_date_now:_emscripten_date_now,emscripten_errn:_emscripten_errn,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_now:_emscripten_get_now,emscripten_log:_emscripten_log,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_write:_fd_write,invoke_diii:invoke_diii,invoke_fiii:invoke_fiii,invoke_i:invoke_i,invoke_ii:invoke_ii,invoke_iii:invoke_iii,invoke_iiii:invoke_iiii,invoke_iiiii:invoke_iiiii,invoke_iiiiid:invoke_iiiiid,invoke_iiiiii:invoke_iiiiii,invoke_iiiiiii:invoke_iiiiiii,invoke_iiiiiiii:invoke_iiiiiiii,invoke_iiiiiiiiiiii:invoke_iiiiiiiiiiii,invoke_iiiiij:invoke_iiiiij,invoke_j:invoke_j,invoke_ji:invoke_ji,invoke_jii:invoke_jii,invoke_jiiii:invoke_jiiii,invoke_v:invoke_v,invoke_vi:invoke_vi,invoke_vii:invoke_vii,invoke_viid:invoke_viid,invoke_viii:invoke_viii,invoke_viiii:invoke_viiii,invoke_viiiiiii:invoke_viiiiiii,invoke_viiiiiiiiii:invoke_viiiiiiiiii,invoke_viiiiiiiiiiiiiii:invoke_viiiiiiiiiiiiiii,strftime:_strftime,strftime_l:_strftime_l},wasmExports=createWasm();function invoke_iiii(e,t,r,n){var o=stackSave();try{return getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(o),e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(e,t){var r=stackSave();try{return getWasmTableEntry(e)(t)}catch(e){if(stackRestore(r),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(e,t,r){var n=stackSave();try{return getWasmTableEntry(e)(t,r)}catch(e){if(stackRestore(n),e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(e,t,r){var n=stackSave();try{getWasmTableEntry(e)(t,r)}catch(e){if(stackRestore(n),e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(e,t){var r=stackSave();try{getWasmTableEntry(e)(t)}catch(e){if(stackRestore(r),e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(e){var t=stackSave();try{getWasmTableEntry(e)()}catch(e){if(stackRestore(t),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(e,t,r,n,o,a,s){var i=stackSave();try{return getWasmTableEntry(e)(t,r,n,o,a,s)}catch(e){if(stackRestore(i),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(e,t,r,n,o){var a=stackSave();try{getWasmTableEntry(e)(t,r,n,o)}catch(e){if(stackRestore(a),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(e,t,r,n,o,a){var s=stackSave();try{return getWasmTableEntry(e)(t,r,n,o,a)}catch(e){if(stackRestore(s),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiid(e,t,r,n,o,a){var s=stackSave();try{return getWasmTableEntry(e)(t,r,n,o,a)}catch(e){if(stackRestore(s),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(e,t,r,n){var o=stackSave();try{getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(o),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(e,t,r,n,o,a,s,i){var l=stackSave();try{return getWasmTableEntry(e)(t,r,n,o,a,s,i)}catch(e){if(stackRestore(l),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(e,t,r,n,o){var a=stackSave();try{return getWasmTableEntry(e)(t,r,n,o)}catch(e){if(stackRestore(a),e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(e,t,r,n){var o=stackSave();try{return getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(o),e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(e,t,r,n){var o=stackSave();try{return getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(o),e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(e){var t=stackSave();try{return getWasmTableEntry(e)()}catch(e){if(stackRestore(t),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(e,t,r,n,o,a,s,i){var l=stackSave();try{getWasmTableEntry(e)(t,r,n,o,a,s,i)}catch(e){if(stackRestore(l),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(e,t,r,n,o,a,s,i,l,c,m,u){var d=stackSave();try{return getWasmTableEntry(e)(t,r,n,o,a,s,i,l,c,m,u)}catch(e){if(stackRestore(d),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(e,t,r,n,o,a,s,i,l,c,m){var u=stackSave();try{getWasmTableEntry(e)(t,r,n,o,a,s,i,l,c,m)}catch(e){if(stackRestore(u),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(e,t,r,n,o,a,s,i,l,c,m,u,d,_,f,g){var E=stackSave();try{getWasmTableEntry(e)(t,r,n,o,a,s,i,l,c,m,u,d,_,f,g)}catch(e){if(stackRestore(E),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viid(e,t,r,n){var o=stackSave();try{getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(o),e!==e+0)throw e;_setThrew(1,0)}}function invoke_j(e){var t=stackSave();try{return dynCall_j(e)}catch(e){if(stackRestore(t),e!==e+0)throw e;_setThrew(1,0)}}function invoke_ji(e,t){var r=stackSave();try{return dynCall_ji(e,t)}catch(e){if(stackRestore(r),e!==e+0)throw e;_setThrew(1,0)}}function invoke_jii(e,t,r){var n=stackSave();try{return dynCall_jii(e,t,r)}catch(e){if(stackRestore(n),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiij(e,t,r,n,o,a,s){var i=stackSave();try{return dynCall_iiiiij(e,t,r,n,o,a,s)}catch(e){if(stackRestore(i),e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiii(e,t,r,n,o){var a=stackSave();try{return dynCall_jiiii(e,t,r,n,o)}catch(e){if(stackRestore(a),e!==e+0)throw e;_setThrew(1,0)}}function run(){function e(){calledRun||(calledRun=!0,Module.calledRun=!0,ABORT||(initRuntime(),wasmExports.emscripten_bind_funcs(addFunction((e,t,r)=>stringToUTF8OnStack(self[UTF8ToString(e)][UTF8ToString(t)]()[UTF8ToString(r)]()),"iiii")),wasmExports.emscripten_bind_funcs(addFunction((e,t,r)=>stringToUTF8OnStack((new(self[UTF8ToString(e)]))[UTF8ToString(t)](UTF8ToString(r))),"iiii")),wasmExports.emscripten_bind_funcs(addFunction((e,t,r,n)=>{self[UTF8ToString(e)](null,JSON.stringify(JSON.parse(UTF8ToString(t))),UTF8ToString(r),n)},"viiii")),wasmExports.emscripten_bind_funcs(addFunction((e,t,r,n)=>stringToUTF8OnStack(self[UTF8ToString(e)][UTF8ToString(t)][UTF8ToString(r)](UTF8ToString(n))?"":self[UTF8ToString(e)][UTF8ToString(t)]),"iiiii")),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),postRun()))}runDependencies>0||(preRun(),runDependencies>0||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),e()},1)):e()))}if(Module.addFunction=addFunction,Module.stringToUTF8OnStack=stringToUTF8OnStack,dependenciesFulfilled=function e(){calledRun||run(),calledRun||(dependenciesFulfilled=e)},Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();run(); \ No newline at end of file diff --git a/dist/dynamsoft-barcode-reader-bundle-ml-simd.wasm b/dist/dynamsoft-barcode-reader-bundle-ml-simd.wasm deleted file mode 100644 index 33576da4..00000000 Binary files a/dist/dynamsoft-barcode-reader-bundle-ml-simd.wasm and /dev/null differ diff --git a/dist/dynamsoft-barcode-reader-bundle.js b/dist/dynamsoft-barcode-reader-bundle.js deleted file mode 100644 index d1f827b6..00000000 --- a/dist/dynamsoft-barcode-reader-bundle.js +++ /dev/null @@ -1 +0,0 @@ -var read_,readAsync,readBinary,Module=void 0!==Module?Module:{},moduleOverrides=Object.assign({},Module),arguments_=[],thisProgram="./this.program",quit_=(e,t)=>{throw t},ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!0,ENVIRONMENT_IS_NODE=!1,scriptDirectory="";function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:"undefined"!=typeof document&&document.currentScript&&(scriptDirectory=document.currentScript.src),scriptDirectory=0!==scriptDirectory.indexOf("blob:")?scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1):"",read_=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},ENVIRONMENT_IS_WORKER&&(readBinary=e=>{var t=new XMLHttpRequest;t.open("GET",e,!1),t.responseType="arraybuffer";let r=Date.now();return t.onloadstart=()=>{postMessage({type:"event",id:-3,body:{loaded:0,total:pe.lengthComputable?pe.total:0,tag:"starting",resourcesPath:e}})},t.onprogress=t=>{const n=Date.now();r+500{postMessage({type:"event",id:-3,body:{loaded:pe.lengthComputable?pe.total:0,total:pe.lengthComputable?pe.total:0,tag:"completed",resourcesPath:e}})},t.send(null),new Uint8Array(t.response)}),readAsync=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)});var wasmBinary,out=Module.print||console.log.bind(console),err=Module.printErr||console.error.bind(console);Object.assign(Module,moduleOverrides),moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram),Module.quit&&(quit_=Module.quit),Module.wasmBinary&&(wasmBinary=Module.wasmBinary);var wasmMemory,noExitRuntime=Module.noExitRuntime||!0;"object"!=typeof WebAssembly&&abort("no native wasm support detected");var EXITSTATUS,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,ABORT=!1;function assert(e,t){e||abort(t)}function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=HEAPF32=new Float32Array(e),Module.HEAPF64=HEAPF64=new Float64Array(e)}var __ATPRERUN__=[],__ATINIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=!0,Module.noFSInit||FS.init.initialized||FS.init(),FS.ignorePermissions=!1,TTY.init(),SOCKFS.root=FS.mount(SOCKFS,{},null),callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}var runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}}function abort(e){throw Module.onAbort&&Module.onAbort(e),err(e="Aborted("+e+")"),ABORT=!0,EXITSTATUS=1,e+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(e)}var wasmBinaryFile,tempDouble,tempI64,dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(e){return e.startsWith(dataURIPrefix)}function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(e){return wasmBinary||!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER||"function"!=typeof fetch?Promise.resolve().then(()=>getBinarySync(e)):fetch(e,{credentials:"same-origin"}).then(async t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";postMessage({type:"event",id:-3,body:{total:0,loaded:0,tag:"starting",resourcesPath:e}});const r=+t.headers.get("Content-Length"),n=t.body.getReader();let o=0,a=Date.now();const i=[];for(;;){const{done:t,value:s}=await n.read();if(t)break;if(i.push(s),o+=s.length,r){const t=Date.now();a+500getBinarySync(e))}function instantiateArrayBuffer(e,t,r){return getBinaryPromise(e).then(e=>WebAssembly.instantiate(e,t)).then(e=>e).then(r,e=>{err(`failed to asynchronously prepare wasm: ${e}`),abort(e)})}function instantiateAsync(e,t,r,n){return instantiateArrayBuffer(t,r,n)}function createWasm(){var e={env:wasmImports,wasi_snapshot_preview1:wasmImports};function t(e,t){return wasmExports=e.exports,wasmMemory=wasmExports.memory,updateMemoryViews(),wasmTable=wasmExports.__indirect_function_table,addOnInit(wasmExports.__wasm_call_ctors),exportWasmSymbols(wasmExports),removeRunDependency("wasm-instantiate"),wasmExports}if(addRunDependency("wasm-instantiate"),Module.instantiateWasm)try{return Module.instantiateWasm(e,t)}catch(e){return err(`Module.instantiateWasm callback failed with error: ${e}`),!1}return instantiateAsync(wasmBinary,wasmBinaryFile,e,function(e){t(e.instance)}),{}}isDataURI(wasmBinaryFile="dynamsoft-barcode-reader-bundle.wasm")||(wasmBinaryFile=locateFile(wasmBinaryFile));var callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(Module)},asmjsMangle=e=>("__main_argc_argv"==e&&(e="main"),0==e.indexOf("dynCall_")||["stackAlloc","stackSave","stackRestore","getTempRet0","setTempRet0"].includes(e)?e:"_"+e),exportWasmSymbols=e=>{for(var t in e){var r=asmjsMangle(t);this[r]=Module[r]=e[t]}};function _CreateDirectoryFetcher(){abort("missing function: CreateDirectoryFetcher")}function _DDN_ConvertElement(){abort("missing function: DDN_ConvertElement")}function _DDN_CreateDDNResult(){abort("missing function: DDN_CreateDDNResult")}function _DDN_CreateDDNResultItem(){abort("missing function: DDN_CreateDDNResultItem")}function _DDN_CreateIntermediateResultUnits(){abort("missing function: DDN_CreateIntermediateResultUnits")}function _DDN_CreateParameters(){abort("missing function: DDN_CreateParameters")}function _DDN_CreateTargetRoiDefConditionFilter(){abort("missing function: DDN_CreateTargetRoiDefConditionFilter")}function _DDN_CreateTaskAlgEntity(){abort("missing function: DDN_CreateTaskAlgEntity")}function _DDN_HasSection(){abort("missing function: DDN_HasSection")}function _DDN_ReadTaskSetting(){abort("missing function: DDN_ReadTaskSetting")}function _DLR_ConvertElement(){abort("missing function: DLR_ConvertElement")}function _DLR_CreateBufferedCharacterItemSet(){abort("missing function: DLR_CreateBufferedCharacterItemSet")}function _DLR_CreateIntermediateResultUnits(){abort("missing function: DLR_CreateIntermediateResultUnits")}function _DLR_CreateParameters(){abort("missing function: DLR_CreateParameters")}function _DLR_CreateRecognizedTextLinesResult(){abort("missing function: DLR_CreateRecognizedTextLinesResult")}function _DLR_CreateTargetRoiDefConditionFilter(){abort("missing function: DLR_CreateTargetRoiDefConditionFilter")}function _DLR_CreateTaskAlgEntity(){abort("missing function: DLR_CreateTaskAlgEntity")}function _DLR_CreateTextLineResultItem(){abort("missing function: DLR_CreateTextLineResultItem")}function _DLR_ReadTaskSetting(){abort("missing function: DLR_ReadTaskSetting")}function _DMImage_GetDIB(){abort("missing function: DMImage_GetDIB")}function _DMImage_GetOrientation(){abort("missing function: DMImage_GetOrientation")}function _DeleteDirectoryFetcher(){abort("missing function: DeleteDirectoryFetcher")}function __ZN19LabelRecognizerWasm10getVersionEv(){abort("missing function: _ZN19LabelRecognizerWasm10getVersionEv")}function __ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv")}function __ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv")}function __ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi")}function __ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb")}function __ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb")}function __ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb")}function __ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii")}function __ZN19LabelRecognizerWasm12DlrWasmClassC1Ev(){abort("missing function: _ZN19LabelRecognizerWasm12DlrWasmClassC1Ev")}function __ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE(){abort("missing function: _ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE")}function __ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE(){abort("missing function: _ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE")}function __ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE(){abort("missing function: _ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE")}function __ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE(){abort("missing function: _ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE")}function __ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE(){abort("missing function: _ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE")}function __ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE(){abort("missing function: _ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE")}function __ZN22DocumentNormalizerWasm10getVersionEv(){abort("missing function: _ZN22DocumentNormalizerWasm10getVersionEv")}function __ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv")}function __ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi")}function __ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii")}function __ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib")}function __ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib")}function __ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb")}function __ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb")}function __ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE")}function __ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii")}function __ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev(){abort("missing function: _ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev")}function __ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE(){abort("missing function: _ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE")}function __ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE(){abort("missing function: _ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE")}function __ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE(){abort("missing function: _ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE")}function __ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE(){abort("missing function: _ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE")}function __ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE(){abort("missing function: _ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE")}function __ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv(){abort("missing function: _ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv")}function __ZN9dynamsoft7utility14CUtilityModule10GetVersionEv(){abort("missing function: _ZN9dynamsoft7utility14CUtilityModule10GetVersionEv")}_CreateDirectoryFetcher.stub=!0,_DDN_ConvertElement.stub=!0,_DDN_CreateDDNResult.stub=!0,_DDN_CreateDDNResultItem.stub=!0,_DDN_CreateIntermediateResultUnits.stub=!0,_DDN_CreateParameters.stub=!0,_DDN_CreateTargetRoiDefConditionFilter.stub=!0,_DDN_CreateTaskAlgEntity.stub=!0,_DDN_HasSection.stub=!0,_DDN_ReadTaskSetting.stub=!0,_DLR_ConvertElement.stub=!0,_DLR_CreateBufferedCharacterItemSet.stub=!0,_DLR_CreateIntermediateResultUnits.stub=!0,_DLR_CreateParameters.stub=!0,_DLR_CreateRecognizedTextLinesResult.stub=!0,_DLR_CreateTargetRoiDefConditionFilter.stub=!0,_DLR_CreateTaskAlgEntity.stub=!0,_DLR_CreateTextLineResultItem.stub=!0,_DLR_ReadTaskSetting.stub=!0,_DMImage_GetDIB.stub=!0,_DMImage_GetOrientation.stub=!0,_DeleteDirectoryFetcher.stub=!0,__ZN19LabelRecognizerWasm10getVersionEv.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii.stub=!0,__ZN19LabelRecognizerWasm12DlrWasmClassC1Ev.stub=!0,__ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE.stub=!0,__ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE.stub=!0,__ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE.stub=!0,__ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE.stub=!0,__ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE.stub=!0,__ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE.stub=!0,__ZN22DocumentNormalizerWasm10getVersionEv.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii.stub=!0,__ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev.stub=!0,__ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE.stub=!0,__ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE.stub=!0,__ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE.stub=!0,__ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE.stub=!0,__ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE.stub=!0,__ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv.stub=!0,__ZN9dynamsoft7utility14CUtilityModule10GetVersionEv.stub=!0;var UTF8Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,UTF8ArrayToString=(e,t,r)=>{for(var n=t+r,o=t;e[o]&&!(o>=n);)++o;if(o-t>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(t,o));for(var a="";t>10,56320|1023&c)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a},UTF8ToString=(e,t)=>e?UTF8ArrayToString(HEAPU8,e,t):"",___assert_fail=(e,t,r,n)=>{abort(`Assertion failed: ${UTF8ToString(e)}, at: `+[t?UTF8ToString(t):"unknown filename",r,n?UTF8ToString(n):"unknown function"])},exceptionCaught=[],uncaughtExceptionCount=0,___cxa_begin_catch=e=>{var t=new ExceptionInfo(e);return t.get_caught()||(t.set_caught(!0),uncaughtExceptionCount--),t.set_rethrown(!1),exceptionCaught.push(t),___cxa_increment_exception_refcount(t.excPtr),t.get_exception_ptr()},exceptionLast=0,___cxa_end_catch=()=>{_setThrew(0,0);var e=exceptionCaught.pop();___cxa_decrement_exception_refcount(e.excPtr),exceptionLast=0};function ExceptionInfo(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){HEAPU32[this.ptr+4>>2]=e},this.get_type=function(){return HEAPU32[this.ptr+4>>2]},this.set_destructor=function(e){HEAPU32[this.ptr+8>>2]=e},this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,HEAP8[this.ptr+12|0]=e},this.get_caught=function(){return 0!=HEAP8[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,HEAP8[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=HEAP8[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){HEAPU32[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]},this.get_exception_ptr=function(){if(___cxa_is_pointer_type(this.get_type()))return HEAPU32[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var ___resumeException=e=>{throw exceptionLast||(exceptionLast=e),exceptionLast},findMatchingCatch=e=>{var t=exceptionLast;if(!t)return setTempRet0(0),0;var r=new ExceptionInfo(t);r.set_adjusted_ptr(t);var n=r.get_type();if(!n)return setTempRet0(0),t;for(var o in e){var a=e[o];if(0===a||a===n)break;var i=r.ptr+16;if(___cxa_can_catch(a,n,i))return setTempRet0(a),t}return setTempRet0(n),t},___cxa_find_matching_catch_2=()=>findMatchingCatch([]),___cxa_find_matching_catch_3=e=>findMatchingCatch([e]),___cxa_rethrow=()=>{var e=exceptionCaught.pop();e||abort("no exception to throw");var t=e.excPtr;throw e.get_rethrown()||(exceptionCaught.push(e),e.set_rethrown(!0),e.set_caught(!1),uncaughtExceptionCount++),exceptionLast=t},___cxa_rethrow_primary_exception=e=>{if(e){var t=new ExceptionInfo(e);exceptionCaught.push(t),t.set_rethrown(!0),___cxa_rethrow()}},___cxa_throw=(e,t,r)=>{throw new ExceptionInfo(e).init(t,r),uncaughtExceptionCount++,exceptionLast=e},___cxa_uncaught_exceptions=()=>uncaughtExceptionCount,PATH={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=PATH.isAbs(e),r="/"===e.substr(-1);return(e=PATH.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=PATH.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=PATH.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return PATH.normalize(e.join("/"))},join2:(e,t)=>PATH.normalize(e+"/"+t)},initRandomFill=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);abort("initRandomDevice")},randomFill=e=>(randomFill=initRandomFill())(e),PATH_FS={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:FS.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t=PATH.isAbs(n)}return(t?"/":"")+(e=PATH.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=PATH_FS.resolve(e).substr(1),t=PATH_FS.resolve(t).substr(1);for(var n=r(e.split("/")),o=r(t.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},stringToUTF8Array=(e,t,r,n)=>{if(!(n>0))return 0;for(var o=r,a=r+n-1,i=0;i=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i);if(s<=127){if(r>=a)break;t[r++]=s}else if(s<=2047){if(r+1>=a)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=a)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=a)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-o};function intArrayFromString(e,t,r){var n=r>0?r:lengthBytesUTF8(e)+1,o=new Array(n),a=stringToUTF8Array(e,o,0,o.length);return t&&(o.length=a),o}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n"),!e)return null;FS_stdin_getChar_buffer=intArrayFromString(e,!0)}return FS_stdin_getChar_buffer.shift()},TTY={ttys:[],init(){},shutdown(){},register(e,t){TTY.ttys[e]={input:[],output:[],ops:t},FS.registerDevice(e,TTY.stream_ops)},stream_ops:{open(e){var t=TTY.ttys[e.node.rdev];if(!t)throw new FS.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,n,o){if(!e.tty||!e.tty.ops.get_char)throw new FS.ErrnoError(60);for(var a=0,i=0;iFS_stdin_getChar(),put_char(e,t){null===t||10===t?(out(UTF8ArrayToString(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(out(UTF8ArrayToString(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(err(UTF8ArrayToString(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(err(UTF8ArrayToString(e.output,0)),e.output=[])}}},mmapAlloc=e=>{abort()},MEMFS={ops_table:null,mount:e=>MEMFS.createNode(null,"/",16895,0),createNode(e,t,r,n){if(FS.isBlkdev(r)||FS.isFIFO(r))throw new FS.ErrnoError(63);MEMFS.ops_table||(MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}});var o=FS.createNode(e,t,r,n);return FS.isDir(o.mode)?(o.node_ops=MEMFS.ops_table.dir.node,o.stream_ops=MEMFS.ops_table.dir.stream,o.contents={}):FS.isFile(o.mode)?(o.node_ops=MEMFS.ops_table.file.node,o.stream_ops=MEMFS.ops_table.file.stream,o.usedBytes=0,o.contents=null):FS.isLink(o.mode)?(o.node_ops=MEMFS.ops_table.link.node,o.stream_ops=MEMFS.ops_table.link.stream):FS.isChrdev(o.mode)&&(o.node_ops=MEMFS.ops_table.chrdev.node,o.stream_ops=MEMFS.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=FS.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,FS.isDir(e.mode)?t.size=4096:FS.isFile(e.mode)?t.size=e.usedBytes:FS.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&MEMFS.resizeFileStorage(e,t.size)},lookup(e,t){throw FS.genericErrors[44]},mknod:(e,t,r,n)=>MEMFS.createNode(e,t,r,n),rename(e,t,r){if(FS.isDir(e.mode)){var n;try{n=FS.lookupNode(t,r)}catch(e){}if(n)for(var o in n.contents)throw new FS.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=FS.lookupNode(e,t);for(var n in r.contents)throw new FS.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var n=MEMFS.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!FS.isLink(e.mode))throw new FS.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)t.set(a.subarray(o,o+i),r);else for(var s=0;s0||r+t(MEMFS.stream_ops.write(e,t,0,n,r,!1),0)}},asyncLoad=(e,t,r,n)=>{var o=n?"":getUniqueRunDependency(`al ${e}`);readAsync(e,r=>{assert(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),o&&removeRunDependency(o)},t=>{if(!r)throw`Loading data file "${e}" failed.`;r()}),o&&addRunDependency(o)},FS_createDataFile=(e,t,r,n,o,a)=>FS.createDataFile(e,t,r,n,o,a),preloadPlugins=Module.preloadPlugins||[],FS_handledByPreloadPlugin=(e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return preloadPlugins.forEach(a=>{o||a.canHandle(t)&&(a.handle(e,t,r,n),o=!0)}),o},FS_createPreloadedFile=(e,t,r,n,o,a,i,s,l,c)=>{var u=t?PATH_FS.resolve(PATH.join2(e,t)):e,m=getUniqueRunDependency(`cp ${u}`);function d(r){function d(r){c&&c(),s||FS_createDataFile(e,t,r,n,o,l),a&&a(),removeRunDependency(m)}FS_handledByPreloadPlugin(r,u,d,()=>{i&&i(),removeRunDependency(m)})||d(r)}addRunDependency(m),"string"==typeof r?asyncLoad(r,e=>d(e),i):d(r)},FS_modeStringToFlags=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},FS_getMode=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,t={}){if(!(e=PATH_FS.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new FS.ErrnoError(32);for(var r=e.split("/").filter(e=>!!e),n=FS.root,o="/",a=0;a40)throw new FS.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var t;;){if(FS.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,n=0;n>>0)%FS.nameTable.length},hashAddNode(e){var t=FS.hashName(e.parent.id,e.name);e.name_next=FS.nameTable[t],FS.nameTable[t]=e},hashRemoveNode(e){var t=FS.hashName(e.parent.id,e.name);if(FS.nameTable[t]===e)FS.nameTable[t]=e.name_next;else for(var r=FS.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=FS.mayLookup(e);if(r)throw new FS.ErrnoError(r,e);for(var n=FS.hashName(e.id,t),o=FS.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===t)return o}return FS.lookup(e,t)},createNode(e,t,r,n){var o=new FS.FSNode(e,t,r,n);return FS.hashAddNode(o),o},destroyNode(e){FS.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>FS.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=FS.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{FS.lookupNode(e,t);return 20}catch(e){}return FS.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=FS.lookupNode(e,t)}catch(e){return e.errno}var o=FS.nodePermissions(e,"wx");if(o)return o;if(r){if(!FS.isDir(n.mode))return 54;if(FS.isRoot(n)||FS.getPath(n)===FS.cwd())return 10}else if(FS.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?FS.isLink(e.mode)?32:FS.isDir(e.mode)&&("r"!==FS.flagsToPermissionString(t)||512&t)?31:FS.nodePermissions(e,FS.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=FS.MAX_OPEN_FDS;e++)if(!FS.streams[e])return e;throw new FS.ErrnoError(33)},getStreamChecked(e){var t=FS.getStream(e);if(!t)throw new FS.ErrnoError(8);return t},getStream:e=>FS.streams[e],createStream:(e,t=-1)=>(FS.FSStream||(FS.FSStream=function(){this.shared={}},FS.FSStream.prototype={},Object.defineProperties(FS.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return!!(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new FS.FSStream,e),-1==t&&(t=FS.nextfd()),e.fd=t,FS.streams[t]=e,e),closeStream(e){FS.streams[e]=null},chrdev_stream_ops:{open(e){var t=FS.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new FS.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){FS.devices[e]={stream_ops:t}},getDevice:e=>FS.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),FS.syncFSRequests++,FS.syncFSRequests>1&&err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=FS.getMounts(FS.root.mount),n=0;function o(e){return FS.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=r.length&&o(null)}r.forEach(t=>{if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)})},mount(e,t,r){var n,o="/"===r,a=!r;if(o&&FS.root)throw new FS.ErrnoError(10);if(!o&&!a){var i=FS.lookupPath(r,{follow_mount:!1});if(r=i.path,n=i.node,FS.isMountpoint(n))throw new FS.ErrnoError(10);if(!FS.isDir(n.mode))throw new FS.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(s);return l.mount=s,s.root=l,o?FS.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount(e){var t=FS.lookupPath(e,{follow_mount:!1});if(!FS.isMountpoint(t.node))throw new FS.ErrnoError(28);var r=t.node,n=r.mounted,o=FS.getMounts(n);Object.keys(FS.nameTable).forEach(e=>{for(var t=FS.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&FS.destroyNode(t),t=r}}),r.mounted=null;var a=r.mount.mounts.indexOf(n);r.mount.mounts.splice(a,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=FS.lookupPath(e,{parent:!0}).node,o=PATH.basename(e);if(!o||"."===o||".."===o)throw new FS.ErrnoError(28);var a=FS.mayCreate(n,o);if(a)throw new FS.ErrnoError(a);if(!n.node_ops.mknod)throw new FS.ErrnoError(63);return n.node_ops.mknod(n,o,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,FS.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,FS.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),n="",o=0;o(void 0===r&&(r=t,t=438),t|=8192,FS.mknod(e,t,r)),symlink(e,t){if(!PATH_FS.resolve(e))throw new FS.ErrnoError(44);var r=FS.lookupPath(t,{parent:!0}).node;if(!r)throw new FS.ErrnoError(44);var n=PATH.basename(t),o=FS.mayCreate(r,n);if(o)throw new FS.ErrnoError(o);if(!r.node_ops.symlink)throw new FS.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,o=PATH.dirname(e),a=PATH.dirname(t),i=PATH.basename(e),s=PATH.basename(t);if(r=FS.lookupPath(e,{parent:!0}).node,n=FS.lookupPath(t,{parent:!0}).node,!r||!n)throw new FS.ErrnoError(44);if(r.mount!==n.mount)throw new FS.ErrnoError(75);var l,c=FS.lookupNode(r,i),u=PATH_FS.relative(e,a);if("."!==u.charAt(0))throw new FS.ErrnoError(28);if("."!==(u=PATH_FS.relative(t,o)).charAt(0))throw new FS.ErrnoError(55);try{l=FS.lookupNode(n,s)}catch(e){}if(c!==l){var m=FS.isDir(c.mode),d=FS.mayDelete(r,i,m);if(d)throw new FS.ErrnoError(d);if(d=l?FS.mayDelete(n,s,m):FS.mayCreate(n,s))throw new FS.ErrnoError(d);if(!r.node_ops.rename)throw new FS.ErrnoError(63);if(FS.isMountpoint(c)||l&&FS.isMountpoint(l))throw new FS.ErrnoError(10);if(n!==r&&(d=FS.nodePermissions(r,"w")))throw new FS.ErrnoError(d);FS.hashRemoveNode(c);try{r.node_ops.rename(c,n,s)}catch(e){throw e}finally{FS.hashAddNode(c)}}},rmdir(e){var t=FS.lookupPath(e,{parent:!0}).node,r=PATH.basename(e),n=FS.lookupNode(t,r),o=FS.mayDelete(t,r,!0);if(o)throw new FS.ErrnoError(o);if(!t.node_ops.rmdir)throw new FS.ErrnoError(63);if(FS.isMountpoint(n))throw new FS.ErrnoError(10);t.node_ops.rmdir(t,r),FS.destroyNode(n)},readdir(e){var t=FS.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new FS.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=FS.lookupPath(e,{parent:!0}).node;if(!t)throw new FS.ErrnoError(44);var r=PATH.basename(e),n=FS.lookupNode(t,r),o=FS.mayDelete(t,r,!1);if(o)throw new FS.ErrnoError(o);if(!t.node_ops.unlink)throw new FS.ErrnoError(63);if(FS.isMountpoint(n))throw new FS.ErrnoError(10);t.node_ops.unlink(t,r),FS.destroyNode(n)},readlink(e){var t=FS.lookupPath(e).node;if(!t)throw new FS.ErrnoError(44);if(!t.node_ops.readlink)throw new FS.ErrnoError(28);return PATH_FS.resolve(FS.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=FS.lookupPath(e,{follow:!t}).node;if(!r)throw new FS.ErrnoError(44);if(!r.node_ops.getattr)throw new FS.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>FS.stat(e,!0),chmod(e,t,r){var n;"string"==typeof e?n=FS.lookupPath(e,{follow:!r}).node:n=e;if(!n.node_ops.setattr)throw new FS.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod(e,t){FS.chmod(e,t,!0)},fchmod(e,t){var r=FS.getStreamChecked(e);FS.chmod(r.node,t)},chown(e,t,r,n){var o;"string"==typeof e?o=FS.lookupPath(e,{follow:!n}).node:o=e;if(!o.node_ops.setattr)throw new FS.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,t,r){FS.chown(e,t,r,!0)},fchown(e,t,r){var n=FS.getStreamChecked(e);FS.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new FS.ErrnoError(28);var r;"string"==typeof e?r=FS.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new FS.ErrnoError(63);if(FS.isDir(r.mode))throw new FS.ErrnoError(31);if(!FS.isFile(r.mode))throw new FS.ErrnoError(28);var n=FS.nodePermissions(r,"w");if(n)throw new FS.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=FS.getStreamChecked(e);if(!(2097155&r.flags))throw new FS.ErrnoError(28);FS.truncate(r.node,t)},utime(e,t,r){var n=FS.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new FS.ErrnoError(44);var n;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?FS_modeStringToFlags(t):t)?4095&r|32768:0,"object"==typeof e)n=e;else{e=PATH.normalize(e);try{n=FS.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var o=!1;if(64&t)if(n){if(128&t)throw new FS.ErrnoError(20)}else n=FS.mknod(e,r,0),o=!0;if(!n)throw new FS.ErrnoError(44);if(FS.isChrdev(n.mode)&&(t&=-513),65536&t&&!FS.isDir(n.mode))throw new FS.ErrnoError(54);if(!o){var a=FS.mayOpen(n,t);if(a)throw new FS.ErrnoError(a)}512&t&&!o&&FS.truncate(n,0),t&=-131713;var i=FS.createStream({node:n,path:FS.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return i.stream_ops.open&&i.stream_ops.open(i),!Module.logReadFiles||1&t||(FS.readFiles||(FS.readFiles={}),e in FS.readFiles||(FS.readFiles[e]=1)),i},close(e){if(FS.isClosed(e))throw new FS.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{FS.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new FS.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new FS.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,o){if(n<0||o<0)throw new FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if(1==(2097155&e.flags))throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.read)throw new FS.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new FS.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,t,r,n,o);return a||(e.position+=i),i},write(e,t,r,n,o,a){if(n<0||o<0)throw new FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!(2097155&e.flags))throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.write)throw new FS.ErrnoError(28);e.seekable&&1024&e.flags&&FS.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new FS.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,t,r,n,o,a);return i||(e.position+=s),s},allocate(e,t,r){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(t<0||r<=0)throw new FS.ErrnoError(28);if(!(2097155&e.flags))throw new FS.ErrnoError(8);if(!FS.isFile(e.node.mode)&&!FS.isDir(e.node.mode))throw new FS.ErrnoError(43);if(!e.stream_ops.allocate)throw new FS.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,n,o){if(2&n&&!(2&o)&&2!=(2097155&e.flags))throw new FS.ErrnoError(2);if(1==(2097155&e.flags))throw new FS.ErrnoError(2);if(!e.stream_ops.mmap)throw new FS.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,o)},msync:(e,t,r,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,o):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new FS.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=FS.open(e,t.flags),o=FS.stat(e).size,a=new Uint8Array(o);return FS.read(n,a,0,o,0),"utf8"===t.encoding?r=UTF8ArrayToString(a,0):"binary"===t.encoding&&(r=a),FS.close(n),r},writeFile(e,t,r={}){r.flags=r.flags||577;var n=FS.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(lengthBytesUTF8(t)+1),a=stringToUTF8Array(t,o,0,o.length);FS.write(n,o,0,a,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");FS.write(n,t,0,t.byteLength,void 0,r.canOwn)}FS.close(n)},cwd:()=>FS.currentPath,chdir(e){var t=FS.lookupPath(e,{follow:!0});if(null===t.node)throw new FS.ErrnoError(44);if(!FS.isDir(t.node.mode))throw new FS.ErrnoError(54);var r=FS.nodePermissions(t.node,"x");if(r)throw new FS.ErrnoError(r);FS.currentPath=t.path},createDefaultDirectories(){FS.mkdir("/tmp"),FS.mkdir("/home"),FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev"),FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(e,t,r,n,o)=>n}),FS.mkdev("/dev/null",FS.makedev(1,3)),TTY.register(FS.makedev(5,0),TTY.default_tty_ops),TTY.register(FS.makedev(6,0),TTY.default_tty1_ops),FS.mkdev("/dev/tty",FS.makedev(5,0)),FS.mkdev("/dev/tty1",FS.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=randomFill(e).byteLength),e[--t]);FS.createDevice("/dev","random",r),FS.createDevice("/dev","urandom",r),FS.mkdir("/dev/shm"),FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var e=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd"),FS.mount({mount(){var t=FS.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,n=FS.getStreamChecked(r),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams(){Module.stdin?FS.createDevice("/dev","stdin",Module.stdin):FS.symlink("/dev/tty","/dev/stdin"),Module.stdout?FS.createDevice("/dev","stdout",null,Module.stdout):FS.symlink("/dev/tty","/dev/stdout"),Module.stderr?FS.createDevice("/dev","stderr",null,Module.stderr):FS.symlink("/dev/tty1","/dev/stderr");FS.open("/dev/stdin",0),FS.open("/dev/stdout",1),FS.open("/dev/stderr",1)},ensureErrnoError(){FS.ErrnoError||(FS.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},FS.ErrnoError.prototype=new Error,FS.ErrnoError.prototype.constructor=FS.ErrnoError,[44].forEach(e=>{FS.genericErrors[e]=new FS.ErrnoError(e),FS.genericErrors[e].stack=""}))},staticInit(){FS.ensureErrnoError(),FS.nameTable=new Array(4096),FS.mount(MEMFS,{},"/"),FS.createDefaultDirectories(),FS.createDefaultDevices(),FS.createSpecialDirectories(),FS.filesystems={MEMFS:MEMFS}},init(e,t,r){FS.init.initialized=!0,FS.ensureErrnoError(),Module.stdin=e||Module.stdin,Module.stdout=t||Module.stdout,Module.stderr=r||Module.stderr,FS.createStandardStreams()},quit(){FS.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,a=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,i=1048576;o||(i=n);var s=this;s.setDataGetter(e=>{var t=e*i,o=(e+1)*i-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",r,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+t),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+r+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):intArrayFromString(o.responseText||"",!0)})(t,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]}),!a&&n||(i=n=1,n=this.getter(0).length,i=n,out("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i=new a;Object.defineProperties(i,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:i}}else s={isDevice:!1,url:r};var l=FS.createFile(e,t,s,n,o);s.contents?l.contents=s.contents:s.url&&(l.contents=null,l.url=s.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var c={};function u(e,t,r,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var t=l.stream_ops[e];c[e]=function(){return FS.forceLoadFile(l),t.apply(null,arguments)}}),c.read=(e,t,r,n,o)=>(FS.forceLoadFile(l),u(e,t,r,n,o)),c.mmap=(e,t,r,n,o)=>{FS.forceLoadFile(l);var a=mmapAlloc(t);if(!a)throw new FS.ErrnoError(48);return u(e,HEAP8,a,t,r),{ptr:a,allocated:!0}},l.stream_ops=c,l}},SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(PATH.isAbs(t))return t;var n;-100===e?n=FS.cwd():n=SYSCALLS.getStreamFromFD(e).path;if(0==t.length){if(!r)throw new FS.ErrnoError(44);return n}return PATH.join2(n,t)},doStat(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&PATH.normalize(t)!==PATH.normalize(FS.getPath(e.node)))return-54;throw e}HEAP32[r>>2]=n.dev,HEAP32[r+4>>2]=n.mode,HEAPU32[r+8>>2]=n.nlink,HEAP32[r+12>>2]=n.uid,HEAP32[r+16>>2]=n.gid,HEAP32[r+20>>2]=n.rdev,tempI64=[n.size>>>0,(tempDouble=n.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+24>>2]=tempI64[0],HEAP32[r+28>>2]=tempI64[1],HEAP32[r+32>>2]=4096,HEAP32[r+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return tempI64=[Math.floor(o/1e3)>>>0,(tempDouble=Math.floor(o/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+40>>2]=tempI64[0],HEAP32[r+44>>2]=tempI64[1],HEAPU32[r+48>>2]=o%1e3*1e3,tempI64=[Math.floor(a/1e3)>>>0,(tempDouble=Math.floor(a/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+56>>2]=tempI64[0],HEAP32[r+60>>2]=tempI64[1],HEAPU32[r+64>>2]=a%1e3*1e3,tempI64=[Math.floor(i/1e3)>>>0,(tempDouble=Math.floor(i/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+72>>2]=tempI64[0],HEAP32[r+76>>2]=tempI64[1],HEAPU32[r+80>>2]=i%1e3*1e3,tempI64=[n.ino>>>0,(tempDouble=n.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+88>>2]=tempI64[0],HEAP32[r+92>>2]=tempI64[1],0},doMsync(e,t,r,n,o){if(!FS.isFile(t.node.mode))throw new FS.ErrnoError(43);if(2&n)return 0;var a=HEAPU8.slice(e,e+r);FS.msync(t,a,o,r,n)},varargs:void 0,get(){var e=HEAP32[+SYSCALLS.varargs>>2];return SYSCALLS.varargs+=4,e},getp:()=>SYSCALLS.get(),getStr:e=>UTF8ToString(e),getStreamFromFD:e=>FS.getStreamChecked(e)};function ___syscall__newselect(e,t,r,n,o){try{for(var a=0,i=t?HEAP32[t>>2]:0,s=t?HEAP32[t+4>>2]:0,l=r?HEAP32[r>>2]:0,c=r?HEAP32[r+4>>2]:0,u=n?HEAP32[n>>2]:0,m=n?HEAP32[n+4>>2]:0,d=0,_=0,f=0,g=0,E=0,p=0,S=(t?HEAP32[t>>2]:0)|(r?HEAP32[r>>2]:0)|(n?HEAP32[n>>2]:0),h=(t?HEAP32[t+4>>2]:0)|(r?HEAP32[r+4>>2]:0)|(n?HEAP32[n+4>>2]:0),v=function(e,t,r,n){return e<32?t&n:r&n},F=0;F>2]:0)+(t?HEAP32[o+8>>2]:0)/1e6);D=w.stream_ops.poll(w,b)}1&D&&v(F,i,s,y)&&(F<32?d|=y:_|=y,a++),4&D&&v(F,l,c,y)&&(F<32?f|=y:g|=y,a++),2&D&&v(F,u,m,y)&&(F<32?E|=y:p|=y,a++)}}return t&&(HEAP32[t>>2]=d,HEAP32[t+4>>2]=_),r&&(HEAP32[r>>2]=f,HEAP32[r+4>>2]=g),n&&(HEAP32[n>>2]=E,HEAP32[n+4>>2]=p),a}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}var SOCKFS={mount:e=>(Module.websocket=Module.websocket&&"object"==typeof Module.websocket?Module.websocket:{},Module.websocket._callbacks={},Module.websocket.on=function(e,t){return"function"==typeof t&&(this._callbacks[e]=t),this},Module.websocket.emit=function(e,t){"function"==typeof this._callbacks[e]&&this._callbacks[e].call(this,t)},FS.createNode(null,"/",16895,0)),createSocket(e,t,r){if(1==(t&=-526337)&&r&&6!=r)throw new FS.ErrnoError(66);var n={family:e,type:t,protocol:r,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops},o=SOCKFS.nextname(),a=FS.createNode(SOCKFS.root,o,49152,0);a.sock=n;var i=FS.createStream({path:o,node:a,flags:2,seekable:!1,stream_ops:SOCKFS.stream_ops});return n.stream=i,n},getSocket(e){var t=FS.getStream(e);return t&&FS.isSocket(t.node.mode)?t.node.sock:null},stream_ops:{poll(e){var t=e.node.sock;return t.sock_ops.poll(t)},ioctl(e,t,r){var n=e.node.sock;return n.sock_ops.ioctl(n,t,r)},read(e,t,r,n,o){var a=e.node.sock,i=a.sock_ops.recvmsg(a,n);return i?(t.set(i.buffer,r),i.buffer.length):0},write(e,t,r,n,o){var a=e.node.sock;return a.sock_ops.sendmsg(a,t,r,n)},close(e){var t=e.node.sock;t.sock_ops.close(t)}},nextname:()=>(SOCKFS.nextname.current||(SOCKFS.nextname.current=0),"socket["+SOCKFS.nextname.current+++"]"),websocket_sock_ops:{createPeer(e,t,r){var n;if("object"==typeof t&&(n=t,t=null,r=null),n)if(n._socket)t=n._socket.remoteAddress,r=n._socket.remotePort;else{var o=/ws[s]?:\/\/([^:]+):(\d+)/.exec(n.url);if(!o)throw new Error("WebSocket URL must be in the format ws(s)://address:port");t=o[1],r=parseInt(o[2],10)}else try{var a=Module.websocket&&"object"==typeof Module.websocket,i="ws:#".replace("#","//");if(a&&"string"==typeof Module.websocket.url&&(i=Module.websocket.url),"ws://"===i||"wss://"===i){var s=t.split("/");i=i+s[0]+":"+r+"/"+s.slice(1).join("/")}var l="binary";a&&"string"==typeof Module.websocket.subprotocol&&(l=Module.websocket.subprotocol);var c=void 0;"null"!==l&&(c=l=l.replace(/^ +| +$/g,"").split(/ *, */)),a&&null===Module.websocket.subprotocol&&(l="null",c=void 0),(n=new WebSocket(i,c)).binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}var u={addr:t,port:r,socket:n,dgram_send_queue:[]};return SOCKFS.websocket_sock_ops.addPeer(e,u),SOCKFS.websocket_sock_ops.handlePeerEvents(e,u),2===e.type&&void 0!==e.sport&&u.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(65280&e.sport)>>8,255&e.sport])),u},getPeer:(e,t,r)=>e.peers[t+":"+r],addPeer(e,t){e.peers[t.addr+":"+t.port]=t},removePeer(e,t){delete e.peers[t.addr+":"+t.port]},handlePeerEvents(e,t){var r=!0,n=function(){Module.websocket.emit("open",e.stream.fd);try{for(var r=t.dgram_send_queue.shift();r;)t.socket.send(r),r=t.dgram_send_queue.shift()}catch(e){t.socket.close()}};function o(n){if("string"==typeof n){n=(new TextEncoder).encode(n)}else{if(assert(void 0!==n.byteLength),0==n.byteLength)return;n=new Uint8Array(n)}var o=r;if(r=!1,o&&10===n.length&&255===n[0]&&255===n[1]&&255===n[2]&&255===n[3]&&n[4]==="p".charCodeAt(0)&&n[5]==="o".charCodeAt(0)&&n[6]==="r".charCodeAt(0)&&n[7]==="t".charCodeAt(0)){var a=n[8]<<8|n[9];return SOCKFS.websocket_sock_ops.removePeer(e,t),t.port=a,void SOCKFS.websocket_sock_ops.addPeer(e,t)}e.recv_queue.push({addr:t.addr,port:t.port,data:n}),Module.websocket.emit("message",e.stream.fd)}ENVIRONMENT_IS_NODE?(t.socket.on("open",n),t.socket.on("message",function(e,t){t&&o(new Uint8Array(e).buffer)}),t.socket.on("close",function(){Module.websocket.emit("close",e.stream.fd)}),t.socket.on("error",function(t){e.error=14,Module.websocket.emit("error",[e.stream.fd,e.error,"ECONNREFUSED: Connection refused"])})):(t.socket.onopen=n,t.socket.onclose=function(){Module.websocket.emit("close",e.stream.fd)},t.socket.onmessage=function(e){o(e.data)},t.socket.onerror=function(t){e.error=14,Module.websocket.emit("error",[e.stream.fd,e.error,"ECONNREFUSED: Connection refused"])})},poll(e){if(1===e.type&&e.server)return e.pending.length?65:0;var t=0,r=1===e.type?SOCKFS.websocket_sock_ops.getPeer(e,e.daddr,e.dport):null;return(e.recv_queue.length||!r||r&&r.socket.readyState===r.socket.CLOSING||r&&r.socket.readyState===r.socket.CLOSED)&&(t|=65),(!r||r&&r.socket.readyState===r.socket.OPEN)&&(t|=4),(r&&r.socket.readyState===r.socket.CLOSING||r&&r.socket.readyState===r.socket.CLOSED)&&(t|=16),t},ioctl(e,t,r){if(21531===t){var n=0;return e.recv_queue.length&&(n=e.recv_queue[0].data.length),HEAP32[r>>2]=n,0}return 28},close(e){if(e.server){try{e.server.close()}catch(e){}e.server=null}for(var t=Object.keys(e.peers),r=0;r{var t=SOCKFS.getSocket(e);if(!t)throw new FS.ErrnoError(8);return t},setErrNo=e=>(HEAP32[___errno_location()>>2]=e,e),inetNtop4=e=>(255&e)+"."+(e>>8&255)+"."+(e>>16&255)+"."+(e>>24&255),inetNtop6=e=>{var t="",r=0,n=0,o=0,a=0,i=0,s=0,l=[65535&e[0],e[0]>>16,65535&e[1],e[1]>>16,65535&e[2],e[2]>>16,65535&e[3],e[3]>>16],c=!0,u="";for(s=0;s<5;s++)if(0!==l[s]){c=!1;break}if(c){if(u=inetNtop4(l[6]|l[7]<<16),-1===l[5])return t="::ffff:",t+=u;if(0===l[5])return t="::","0.0.0.0"===u&&(u=""),"0.0.0.1"===u&&(u="1"),t+=u}for(r=0;r<8;r++)0===l[r]&&(r-o>1&&(i=0),o=r,i++),i>n&&(a=r-(n=i)+1);for(r=0;r<8;r++)n>1&&0===l[r]&&r>=a&&r{var r,n=HEAP16[e>>1],o=_ntohs(HEAPU16[e+2>>1]);switch(n){case 2:if(16!==t)return{errno:28};r=HEAP32[e+4>>2],r=inetNtop4(r);break;case 10:if(28!==t)return{errno:28};r=[HEAP32[e+8>>2],HEAP32[e+12>>2],HEAP32[e+16>>2],HEAP32[e+20>>2]],r=inetNtop6(r);break;default:return{errno:5}}return{family:n,addr:r,port:o}},inetPton4=e=>{for(var t=e.split("."),r=0;r<4;r++){var n=Number(t[r]);if(isNaN(n))return null;t[r]=n}return(t[0]|t[1]<<8|t[2]<<16|t[3]<<24)>>>0},jstoi_q=e=>parseInt(e),inetPton6=e=>{var t,r,n,o,a=[];if(!/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i.test(e))return null;if("::"===e)return[0,0,0,0,0,0,0,0];for((e=e.startsWith("::")?e.replace("::","Z:"):e.replace("::",":Z:")).indexOf(".")>0?((t=(e=e.replace(new RegExp("[.]","g"),":")).split(":"))[t.length-4]=jstoi_q(t[t.length-4])+256*jstoi_q(t[t.length-3]),t[t.length-3]=jstoi_q(t[t.length-2])+256*jstoi_q(t[t.length-1]),t=t.slice(0,t.length-2)):t=e.split(":"),n=0,o=0,r=0;rDNS.address_map.names[e]?DNS.address_map.names[e]:null},getSocketAddress=(e,t,r)=>{if(r&&0===e)return null;var n=readSockaddr(e,t);if(n.errno)throw new FS.ErrnoError(n.errno);return n.addr=DNS.lookup_addr(n.addr)||n.addr,n};function ___syscall_connect(e,t,r,n,o,a){try{var i=getSocketFromFD(e),s=getSocketAddress(t,r);return i.sock_ops.connect(i,s.addr,s.port),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_faccessat(e,t,r,n){try{if(t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),-8&r)return-28;var o=FS.lookupPath(t,{follow:!0}).node;if(!o)return-44;var a="";return 4&r&&(a+="r"),2&r&&(a+="w"),1&r&&(a+="x"),a&&FS.nodePermissions(o,a)?-2:0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_fcntl64(e,t,r){SYSCALLS.varargs=r;try{var n=SYSCALLS.getStreamFromFD(e);switch(t){case 0:if((o=SYSCALLS.get())<0)return-28;for(;FS.streams[o];)o++;return FS.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=SYSCALLS.get();return n.flags|=o,0;case 5:o=SYSCALLS.getp();return HEAP16[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return setErrNo(28),-1}}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_fstat64(e,t){try{var r=SYSCALLS.getStreamFromFD(e);return SYSCALLS.doStat(FS.stat,r.path,t)}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_ioctl(e,t,r){SYSCALLS.varargs=r;try{var n=SYSCALLS.getStreamFromFD(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var o=n.tty.ops.ioctl_tcgets(n),a=SYSCALLS.getp();HEAP32[a>>2]=o.c_iflag||0,HEAP32[a+4>>2]=o.c_oflag||0,HEAP32[a+8>>2]=o.c_cflag||0,HEAP32[a+12>>2]=o.c_lflag||0;for(var i=0;i<32;i++)HEAP8[a+i+17|0]=o.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){a=SYSCALLS.getp();var s=HEAP32[a>>2],l=HEAP32[a+4>>2],c=HEAP32[a+8>>2],u=HEAP32[a+12>>2],m=[];for(i=0;i<32;i++)m.push(HEAP8[a+i+17|0]);return n.tty.ops.ioctl_tcsets(n.tty,t,{c_iflag:s,c_oflag:l,c_cflag:c,c_lflag:u,c_cc:m})}return 0;case 21519:if(!n.tty)return-59;a=SYSCALLS.getp();return HEAP32[a>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:a=SYSCALLS.getp();return FS.ioctl(n,t,a);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var d=n.tty.ops.ioctl_tiocgwinsz(n.tty);a=SYSCALLS.getp();HEAP16[a>>1]=d[0],HEAP16[a+2>>1]=d[1]}return 0;default:return-28}}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_mkdirat(e,t,r){try{return t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),"/"===(t=PATH.normalize(t))[t.length-1]&&(t=t.substr(0,t.length-1)),FS.mkdir(t,r,0),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_newfstatat(e,t,r,n){try{t=SYSCALLS.getStr(t);var o=256&n,a=4096&n;return n&=-6401,t=SYSCALLS.calculateAt(e,t,a),SYSCALLS.doStat(o?FS.lstat:FS.stat,t,r)}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_openat(e,t,r,n){SYSCALLS.varargs=n;try{t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t);var o=n?SYSCALLS.get():0;return FS.open(t,r,o).fd}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}var stringToUTF8=(e,t,r)=>stringToUTF8Array(e,HEAPU8,t,r);function ___syscall_readlinkat(e,t,r,n){try{if(t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),n<=0)return-28;var o=FS.readlink(t),a=Math.min(n,lengthBytesUTF8(o)),i=HEAP8[r+a];return stringToUTF8(o,r,n+1),HEAP8[r+a]=i,a}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_rmdir(e){try{return e=SYSCALLS.getStr(e),FS.rmdir(e),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_socket(e,t,r){try{return SOCKFS.createSocket(e,t,r).stream.fd}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_stat64(e,t){try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.stat,e,t)}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}function ___syscall_unlinkat(e,t,r){try{return t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(e,t),0===r?FS.unlink(t):512===r?FS.rmdir(t):abort("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return-e.errno}}var nowIsMonotonic=!0,__emscripten_get_now_is_monotonic=()=>nowIsMonotonic,convertI32PairToI53Checked=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN;function __gmtime_js(e,t,r){var n=convertI32PairToI53Checked(e,t),o=new Date(1e3*n);HEAP32[r>>2]=o.getUTCSeconds(),HEAP32[r+4>>2]=o.getUTCMinutes(),HEAP32[r+8>>2]=o.getUTCHours(),HEAP32[r+12>>2]=o.getUTCDate(),HEAP32[r+16>>2]=o.getUTCMonth(),HEAP32[r+20>>2]=o.getUTCFullYear()-1900,HEAP32[r+24>>2]=o.getUTCDay();var a=Date.UTC(o.getUTCFullYear(),0,1,0,0,0,0),i=(o.getTime()-a)/864e5|0;HEAP32[r+28>>2]=i}var isLeapYear=e=>e%4==0&&(e%100!=0||e%400==0),MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335],MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334],ydayFromDate=e=>(isLeapYear(e.getFullYear())?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE)[e.getMonth()]+e.getDate()-1;function __localtime_js(e,t,r){var n=convertI32PairToI53Checked(e,t),o=new Date(1e3*n);HEAP32[r>>2]=o.getSeconds(),HEAP32[r+4>>2]=o.getMinutes(),HEAP32[r+8>>2]=o.getHours(),HEAP32[r+12>>2]=o.getDate(),HEAP32[r+16>>2]=o.getMonth(),HEAP32[r+20>>2]=o.getFullYear()-1900,HEAP32[r+24>>2]=o.getDay();var a=0|ydayFromDate(o);HEAP32[r+28>>2]=a,HEAP32[r+36>>2]=-60*o.getTimezoneOffset();var i=new Date(o.getFullYear(),0,1),s=new Date(o.getFullYear(),6,1).getTimezoneOffset(),l=i.getTimezoneOffset(),c=0|(s!=l&&o.getTimezoneOffset()==Math.min(l,s));HEAP32[r+32>>2]=c}var _emscripten_get_now,stringToNewUTF8=e=>{var t=lengthBytesUTF8(e)+1,r=_malloc(t);return r&&stringToUTF8(e,r,t),r},__tzset_js=(e,t,r)=>{var n=(new Date).getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),i=o.getTimezoneOffset(),s=a.getTimezoneOffset(),l=Math.max(i,s);function c(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}HEAPU32[e>>2]=60*l,HEAP32[t>>2]=Number(i!=s);var u=c(o),m=c(a),d=stringToNewUTF8(u),_=stringToNewUTF8(m);s>2]=d,HEAPU32[r+4>>2]=_):(HEAPU32[r>>2]=_,HEAPU32[r+4>>2]=d)},_abort=()=>{abort("")},_emscripten_date_now=()=>Date.now(),getHeapMax=()=>2147483648,_emscripten_get_heap_max=()=>getHeapMax();_emscripten_get_now=()=>performance.now();var reallyNegative=e=>e<0||0===e&&1/e==-1/0,convertI32PairToI53=(e,t)=>(e>>>0)+4294967296*t,convertU32PairToI53=(e,t)=>(e>>>0)+4294967296*(t>>>0),reSign=(e,t)=>{if(e<=0)return e;var r=t<=32?Math.abs(1<=r&&(t<=32||e>r)&&(e=-2*r+e),e},unSign=(e,t)=>e>=0?e:t<=32?2*Math.abs(1<{for(var t=e;HEAPU8[t];)++t;return t-e},formatString=(e,t)=>{var r=e,n=t;function o(e){var t;return n=function(e,t){return"double"!==t&&"i64"!==t||7&e&&(e+=4),e}(n,e),"double"===e?(t=HEAPF64[n>>3],n+=8):"i64"==e?(t=[HEAP32[n>>2],HEAP32[n+4>>2]],n+=8):(e="i32",t=HEAP32[n>>2],n+=4),t}for(var a,i,s,l=[];;){var c=r;if(0===(a=HEAP8[r|0]))break;if(i=HEAP8[r+1|0],37==a){var u=!1,m=!1,d=!1,_=!1,f=!1;e:for(;;){switch(i){case 43:u=!0;break;case 45:m=!0;break;case 35:d=!0;break;case 48:if(_)break e;_=!0;break;case 32:f=!0;break;default:break e}r++,i=HEAP8[r+1|0]}var g=0;if(42==i)g=o("i32"),r++,i=HEAP8[r+1|0];else for(;i>=48&&i<=57;)g=10*g+(i-48),r++,i=HEAP8[r+1|0];var E,p=!1,S=-1;if(46==i){if(S=0,p=!0,r++,42==(i=HEAP8[r+1|0]))S=o("i32"),r++;else for(;;){var h=HEAP8[r+1|0];if(h<48||h>57)break;S=10*S+(h-48),r++}i=HEAP8[r+1|0]}switch(S<0&&(S=6,p=!1),String.fromCharCode(i)){case"h":104==HEAP8[r+2|0]?(r++,E=1):E=2;break;case"l":108==HEAP8[r+2|0]?(r++,E=8):E=4;break;case"L":case"q":case"j":E=8;break;case"z":case"t":case"I":E=4;break;default:E=null}switch(E&&r++,i=HEAP8[r+1|0],String.fromCharCode(i)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var v=100==i||105==i;if(s=o("i"+8*(E=E||4)),8==E&&(s=117==i?convertU32PairToI53(s[0],s[1]):convertI32PairToI53(s[0],s[1])),E<=4){var F=Math.pow(256,E)-1;s=(v?reSign:unSign)(s&F,8*E)}var y=Math.abs(s),w="";if(100==i||105==i)k=reSign(s,8*E).toString(10);else if(117==i)k=unSign(s,8*E).toString(10),s=Math.abs(s);else if(111==i)k=(d?"0":"")+y.toString(8);else if(120==i||88==i){if(w=d&&0!=s?"0x":"",s<0){s=-s,k=(y-1).toString(16);for(var D=[],b=0;b=0&&(u?w="+"+w:f&&(w=" "+w)),"-"==k.charAt(0)&&(w="-"+w,k=k.substr(1));w.length+k.lengthR&&R>=-4?(i=(103==i?"f":"F").charCodeAt(0),S-=R+1):(i=(103==i?"e":"E").charCodeAt(0),S--),N=Math.min(S,20)}101==i||69==i?(k=s.toExponential(N),/[eE][-+]\d$/.test(k)&&(k=k.slice(0,-1)+"0"+k.slice(-1))):102!=i&&70!=i||(k=s.toFixed(N),0===s&&reallyNegative(s)&&(k="-"+k));var T=k.split("e");if(C&&!d)for(;T[0].length>1&&T[0].includes(".")&&("0"==T[0].slice(-1)||"."==T[0].slice(-1));)T[0]=T[0].slice(0,-1);else for(d&&-1==k.indexOf(".")&&(T[0]+=".");S>N++;)T[0]+="0";k=T[0]+(T.length>1?"e"+T[1]:""),69==i&&(k=k.toUpperCase()),s>=0&&(u?k="+"+k:f&&(k=" "+k))}else k=(s<0?"-":"")+"inf",_=!1;for(;k.length0;)l.push(32);m||l.push(o("i8"));break;case"n":var M=o("i32*");HEAP32[M>>2]=l.length;break;case"%":l.push(a);break;default:for(b=c;b{warnOnce.shown||(warnOnce.shown={}),warnOnce.shown[e]||(warnOnce.shown[e]=1,err(e))};function getCallstack(e){var t=jsStackTrace(),r=t.lastIndexOf("_emscripten_log"),n=t.lastIndexOf("_emscripten_get_callstack"),o=t.indexOf("\n",Math.max(r,n))+1;t=t.slice(o),8&e&&"undefined"==typeof emscripten_source_map&&(warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var a=t.split("\n");t="";var i=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),s=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),l=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var c in a){var u=a[c],m="",d="",_=0,f=0,g=l.exec(u);if(g&&5==g.length)m=g[1],d=g[2],_=g[3],f=g[4];else{if((g=i.exec(u))||(g=s.exec(u)),!(g&&g.length>=4)){t+=u+"\n";continue}m=g[1],d=g[2],_=g[3],f=0|g[4]}var E=!1;if(8&e){var p=emscripten_source_map.originalPositionFor({line:_,column:f});(E=p&&p.source)&&(64&e&&(p.source=p.source.substring(p.source.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=` at ${m} (${p.source}:${p.line}:${p.column})\n`)}(16&e||!E)&&(64&e&&(d=d.substring(d.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=(E?` = ${m}`:` at ${m}`)+` (${d}:${_}:${f})\n`)}return t=t.replace(/\s+$/,"")}var emscriptenLog=(e,t)=>{24&e&&(t=t.replace(/\s+$/,""),t+=(t.length>0?"\n":"")+getCallstack(e)),1&e?4&e||2&e?err(t):out(t):6&e?err(t):out(t)},_emscripten_log=(e,t,r)=>{var n=formatString(t,r),o=UTF8ArrayToString(n,0);emscriptenLog(e,o)},growMemory=e=>{var t=(e-wasmMemory.buffer.byteLength+65535)/65536;try{return wasmMemory.grow(t),updateMemoryViews(),1}catch(e){}},_emscripten_resize_heap=e=>{var t=HEAPU8.length;e>>>=0;var r=getHeapMax();if(e>r)return!1;for(var n=(e,t)=>e+(t-e%t)%t,o=1;o<=4;o*=2){var a=t*(1+.2/o);a=Math.min(a,e+100663296);var i=Math.min(r,n(Math.max(e,a),65536));if(growMemory(i))return!0}return!1},ENV={},getExecutableName=()=>thisProgram||"./this.program",getEnvStrings=()=>{if(!getEnvStrings.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:getExecutableName()};for(var t in ENV)void 0===ENV[t]?delete e[t]:e[t]=ENV[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);getEnvStrings.strings=r}return getEnvStrings.strings},stringToAscii=(e,t)=>{for(var r=0;r{var r=0;return getEnvStrings().forEach((n,o)=>{var a=t+r;HEAPU32[e+4*o>>2]=a,stringToAscii(n,a),r+=n.length+1}),0},_environ_sizes_get=(e,t)=>{var r=getEnvStrings();HEAPU32[e>>2]=r.length;var n=0;return r.forEach(e=>n+=e.length+1),HEAPU32[t>>2]=n,0};function _fd_close(e){try{var t=SYSCALLS.getStreamFromFD(e);return FS.close(t),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return e.errno}}var doReadv=(e,t,r,n)=>{for(var o=0,a=0;a>2],s=HEAPU32[t+4>>2];t+=8;var l=FS.read(e,HEAP8,i,s,n);if(l<0)return-1;if(o+=l,l>2]=a,0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return e.errno}}function _fd_seek(e,t,r,n,o){var a=convertI32PairToI53Checked(t,r);try{if(isNaN(a))return 61;var i=SYSCALLS.getStreamFromFD(e);return FS.llseek(i,a,n),tempI64=[i.position>>>0,(tempDouble=i.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[o>>2]=tempI64[0],HEAP32[o+4>>2]=tempI64[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return e.errno}}var doWritev=(e,t,r,n)=>{for(var o=0,a=0;a>2],s=HEAPU32[t+4>>2];t+=8;var l=FS.write(e,HEAP8,i,s,n);if(l<0)return-1;o+=l,void 0!==n&&(n+=l)}return o};function _fd_write(e,t,r,n){try{var o=SYSCALLS.getStreamFromFD(e),a=doWritev(o,t,r);return HEAPU32[n>>2]=a,0}catch(e){if(void 0===FS||"ErrnoError"!==e.name)throw e;return e.errno}}var wasmTable,functionsInTableMap,arraySum=(e,t)=>{for(var r=0,n=0;n<=t;r+=e[n++]);return r},MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31],addDays=(e,t)=>{for(var r=new Date(e.getTime());t>0;){var n=isLeapYear(r.getFullYear()),o=r.getMonth(),a=(n?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[o];if(!(t>a-r.getDate()))return r.setDate(r.getDate()+t),r;t-=a-r.getDate()+1,r.setDate(1),o<11?r.setMonth(o+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r},writeArrayToMemory=(e,t)=>{HEAP8.set(e,t)},_strftime=(e,t,r,n)=>{var o=HEAPU32[n+40>>2],a={tm_sec:HEAP32[n>>2],tm_min:HEAP32[n+4>>2],tm_hour:HEAP32[n+8>>2],tm_mday:HEAP32[n+12>>2],tm_mon:HEAP32[n+16>>2],tm_year:HEAP32[n+20>>2],tm_wday:HEAP32[n+24>>2],tm_yday:HEAP32[n+28>>2],tm_isdst:HEAP32[n+32>>2],tm_gmtoff:HEAP32[n+36>>2],tm_zone:o?UTF8ToString(o):""},i=UTF8ToString(r),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in s)i=i.replace(new RegExp(l,"g"),s[l]);var c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],u=["January","February","March","April","May","June","July","August","September","October","November","December"];function m(e,t,r){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}var n;return 0===(n=r(e.getFullYear()-t.getFullYear()))&&0===(n=r(e.getMonth()-t.getMonth()))&&(n=r(e.getDate()-t.getDate())),n}function f(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function g(e){var t=addDays(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(t.getFullYear(),0,4),n=new Date(t.getFullYear()+1,0,4),o=f(r),a=f(n);return _(o,t)<=0?_(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var E={"%a":e=>c[e.tm_wday].substring(0,3),"%A":e=>c[e.tm_wday],"%b":e=>u[e.tm_mon].substring(0,3),"%B":e=>u[e.tm_mon],"%C":e=>d((e.tm_year+1900)/100|0,2),"%d":e=>d(e.tm_mday,2),"%e":e=>m(e.tm_mday,2," "),"%g":e=>g(e).toString().substring(2),"%G":e=>g(e),"%H":e=>d(e.tm_hour,2),"%I":e=>{var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),d(t,2)},"%j":e=>d(e.tm_mday+arraySum(isLeapYear(e.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,e.tm_mon-1),3),"%m":e=>d(e.tm_mon+1,2),"%M":e=>d(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>d(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var t=e.tm_yday+7-e.tm_wday;return d(Math.floor(t/7),2)},"%V":e=>{var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var r=(e.tm_wday+371-e.tm_yday)%7;4==r||3==r&&isLeapYear(e.tm_year)||(t=1)}}else{t=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&isLeapYear(e.tm_year%400-1))&&t++}return d(t,2)},"%w":e=>e.tm_wday,"%W":e=>{var t=e.tm_yday+7-(e.tm_wday+6)%7;return d(Math.floor(t/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var t=e.tm_gmtoff,r=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000"+t).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var l in i=i.replace(/%%/g,"\0\0"),E)i.includes(l)&&(i=i.replace(new RegExp(l,"g"),E[l](a)));var p=intArrayFromString(i=i.replace(/\0\0/g,"%"),!1);return p.length>t?0:(writeArrayToMemory(p,e),p.length-1)},_strftime_l=(e,t,r,n,o)=>_strftime(e,t,r,n),getWasmTableEntry=e=>wasmTable.get(e),uleb128Encode=(e,t)=>{e<128?t.push(e):t.push(e%128|128,e>>7)},sigToWasmTypes=e=>{for(var t={i:"i32",j:"i64",f:"f32",d:"f64",p:"i32"},r={parameters:[],results:"v"==e[0]?[]:[t[e[0]]]},n=1;n{var r=e.slice(0,1),n=e.slice(1),o={i:127,p:127,j:126,f:125,d:124};t.push(96),uleb128Encode(n.length,t);for(var a=0;a{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function(sigToWasmTypes(t),e);var r=[1];generateFuncType(t,r);var n=[0,97,115,109,1,0,0,0,1];uleb128Encode(r.length,n),n.push.apply(n,r),n.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var o=new WebAssembly.Module(new Uint8Array(n));return new WebAssembly.Instance(o,{e:{f:e}}).exports.f},updateTableMap=(e,t)=>{if(functionsInTableMap)for(var r=e;r(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),freeTableIndexes=[],getEmptyTableSlot=()=>{if(freeTableIndexes.length)return freeTableIndexes.pop();try{wasmTable.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1},setWasmTableEntry=(e,t)=>wasmTable.set(e,t),addFunction=(e,t)=>{var r=getFunctionAddress(e);if(r)return r;var n=getEmptyTableSlot();try{setWasmTableEntry(n,e)}catch(r){if(!(r instanceof TypeError))throw r;var o=convertJsFunctionToWasm(e,t);setWasmTableEntry(n,o)}return functionsInTableMap.set(e,n),n},stringToUTF8OnStack=e=>{var t=lengthBytesUTF8(e)+1,r=stackAlloc(t);return stringToUTF8(e,r,t),r},FSNode=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=FS.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},readMode=365,writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(e){e?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(e){e?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}}),FS.FSNode=FSNode,FS.createPreloadedFile=FS_createPreloadedFile,FS.staticInit();var calledRun,wasmImports={CreateDirectoryFetcher:_CreateDirectoryFetcher,DDN_ConvertElement:_DDN_ConvertElement,DDN_CreateDDNResult:_DDN_CreateDDNResult,DDN_CreateDDNResultItem:_DDN_CreateDDNResultItem,DDN_CreateIntermediateResultUnits:_DDN_CreateIntermediateResultUnits,DDN_CreateParameters:_DDN_CreateParameters,DDN_CreateTargetRoiDefConditionFilter:_DDN_CreateTargetRoiDefConditionFilter,DDN_CreateTaskAlgEntity:_DDN_CreateTaskAlgEntity,DDN_HasSection:_DDN_HasSection,DDN_ReadTaskSetting:_DDN_ReadTaskSetting,DLR_ConvertElement:_DLR_ConvertElement,DLR_CreateBufferedCharacterItemSet:_DLR_CreateBufferedCharacterItemSet,DLR_CreateIntermediateResultUnits:_DLR_CreateIntermediateResultUnits,DLR_CreateParameters:_DLR_CreateParameters,DLR_CreateRecognizedTextLinesResult:_DLR_CreateRecognizedTextLinesResult,DLR_CreateTargetRoiDefConditionFilter:_DLR_CreateTargetRoiDefConditionFilter,DLR_CreateTaskAlgEntity:_DLR_CreateTaskAlgEntity,DLR_CreateTextLineResultItem:_DLR_CreateTextLineResultItem,DLR_ReadTaskSetting:_DLR_ReadTaskSetting,DMImage_GetDIB:_DMImage_GetDIB,DMImage_GetOrientation:_DMImage_GetOrientation,DeleteDirectoryFetcher:_DeleteDirectoryFetcher,_ZN19LabelRecognizerWasm10getVersionEv:__ZN19LabelRecognizerWasm10getVersionEv,_ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv:__ZN19LabelRecognizerWasm12DlrWasmClass15clearVerifyListEv,_ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv:__ZN19LabelRecognizerWasm12DlrWasmClass22getDuplicateForgetTimeEv,_ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi:__ZN19LabelRecognizerWasm12DlrWasmClass22setDuplicateForgetTimeEi,_ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb:__ZN19LabelRecognizerWasm12DlrWasmClass25enableResultDeduplicationEb,_ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb:__ZN19LabelRecognizerWasm12DlrWasmClass27getJvFromTextLineResultItemEPKN9dynamsoft3dlr19CTextLineResultItemEPKcb,_ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb:__ZN19LabelRecognizerWasm12DlrWasmClass29enableResultCrossVerificationEb,_ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii:__ZN19LabelRecognizerWasm12DlrWasmClass34setResultCrossVerificationCriteriaEii,_ZN19LabelRecognizerWasm12DlrWasmClassC1Ev:__ZN19LabelRecognizerWasm12DlrWasmClassC1Ev,_ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE:__ZN19LabelRecognizerWasm24getJvFromCharacterResultEPKN9dynamsoft3dlr16CCharacterResultE,_ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE:__ZN19LabelRecognizerWasm26getJvBufferedCharacterItemEPKN9dynamsoft3dlr22CBufferedCharacterItemE,_ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE:__ZN19LabelRecognizerWasm27getJvAuxiliaryRegionElementEPKN9dynamsoft20intermediate_results23CAuxiliaryRegionElementE,_ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE:__ZN19LabelRecognizerWasm29getJvLocalizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results25CLocalizedTextLineElementE,_ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE:__ZN19LabelRecognizerWasm30getJvRecognizedTextLineElementEPKN9dynamsoft3dlr20intermediate_results26CRecognizedTextLineElementE,_ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE:__ZN19LabelRecognizerWasm32getJvFromTextLineResultItem_JustEPKN9dynamsoft3dlr19CTextLineResultItemE,_ZN22DocumentNormalizerWasm10getVersionEv:__ZN22DocumentNormalizerWasm10getVersionEv,_ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv:__ZN22DocumentNormalizerWasm12DdnWasmClass15clearVerifyListEv,_ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi:__ZN22DocumentNormalizerWasm12DdnWasmClass22getDuplicateForgetTimeEi,_ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii:__ZN22DocumentNormalizerWasm12DdnWasmClass22setDuplicateForgetTimeEii,_ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib:__ZN22DocumentNormalizerWasm12DdnWasmClass25enableResultDeduplicationEib,_ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib:__ZN22DocumentNormalizerWasm12DdnWasmClass29enableResultCrossVerificationEib,_ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb:__ZN22DocumentNormalizerWasm12DdnWasmClass31getJvFromDetectedQuadResultItemEPKN9dynamsoft3ddn23CDetectedQuadResultItemEPKcb,_ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb:__ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromDeskewedImageResultItemEPKN9dynamsoft3ddn24CDeskewedImageResultItemEPKcb,_ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE:__ZN22DocumentNormalizerWasm12DdnWasmClass32getJvFromEnhancedImageResultItemEPKN9dynamsoft3ddn24CEnhancedImageResultItemE,_ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii:__ZN22DocumentNormalizerWasm12DdnWasmClass34setResultCrossVerificationCriteriaEiii,_ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev:__ZN22DocumentNormalizerWasm12DdnWasmClassC1Ev,_ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE:__ZN22DocumentNormalizerWasm24getJvDetectedQuadElementEPKN9dynamsoft3ddn20intermediate_results20CDetectedQuadElementE,_ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE:__ZN22DocumentNormalizerWasm25getJvDeskewedImageElementEPKN9dynamsoft3ddn20intermediate_results21CDeskewedImageElementE,_ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE:__ZN22DocumentNormalizerWasm25getJvEnhancedImageElementEPKN9dynamsoft3ddn20intermediate_results21CEnhancedImageElementE,_ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE:__ZN22DocumentNormalizerWasm36getJvFromDetectedQuadResultItem_JustEPKN9dynamsoft3ddn23CDetectedQuadResultItemE,_ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE:__ZN22DocumentNormalizerWasm37getJvFromDeskewedImageResultItem_JustEPKN9dynamsoft3ddn24CDeskewedImageResultItemE,_ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv:__ZN9dynamsoft10id_utility22CIdentityUtilityModule10GetVersionEv,_ZN9dynamsoft7utility14CUtilityModule10GetVersionEv:__ZN9dynamsoft7utility14CUtilityModule10GetVersionEv,__assert_fail:___assert_fail,__cxa_begin_catch:___cxa_begin_catch,__cxa_end_catch:___cxa_end_catch,__cxa_find_matching_catch_2:___cxa_find_matching_catch_2,__cxa_find_matching_catch_3:___cxa_find_matching_catch_3,__cxa_rethrow:___cxa_rethrow,__cxa_rethrow_primary_exception:___cxa_rethrow_primary_exception,__cxa_throw:___cxa_throw,__cxa_uncaught_exceptions:___cxa_uncaught_exceptions,__resumeException:___resumeException,__syscall__newselect:___syscall__newselect,__syscall_connect:___syscall_connect,__syscall_faccessat:___syscall_faccessat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ioctl:___syscall_ioctl,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_readlinkat:___syscall_readlinkat,__syscall_rmdir:___syscall_rmdir,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_tzset_js:__tzset_js,abort:_abort,emscripten_date_now:_emscripten_date_now,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_now:_emscripten_get_now,emscripten_log:_emscripten_log,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_write:_fd_write,invoke_diii:invoke_diii,invoke_fiii:invoke_fiii,invoke_i:invoke_i,invoke_ii:invoke_ii,invoke_iii:invoke_iii,invoke_iiii:invoke_iiii,invoke_iiiii:invoke_iiiii,invoke_iiiiid:invoke_iiiiid,invoke_iiiiii:invoke_iiiiii,invoke_iiiiiii:invoke_iiiiiii,invoke_iiiiiiii:invoke_iiiiiiii,invoke_iiiiiiiiiiii:invoke_iiiiiiiiiiii,invoke_iiiiij:invoke_iiiiij,invoke_j:invoke_j,invoke_ji:invoke_ji,invoke_jii:invoke_jii,invoke_jiiii:invoke_jiiii,invoke_v:invoke_v,invoke_vi:invoke_vi,invoke_vii:invoke_vii,invoke_viid:invoke_viid,invoke_viii:invoke_viii,invoke_viiii:invoke_viiii,invoke_viiiiiii:invoke_viiiiiii,invoke_viiiiiiiiii:invoke_viiiiiiiiii,invoke_viiiiiiiiiiiiiii:invoke_viiiiiiiiiiiiiii,strftime:_strftime,strftime_l:_strftime_l},wasmExports=createWasm();function invoke_iiii(e,t,r,n){var o=stackSave();try{return getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(o),e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(e,t){var r=stackSave();try{return getWasmTableEntry(e)(t)}catch(e){if(stackRestore(r),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(e,t,r){var n=stackSave();try{return getWasmTableEntry(e)(t,r)}catch(e){if(stackRestore(n),e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(e,t,r){var n=stackSave();try{getWasmTableEntry(e)(t,r)}catch(e){if(stackRestore(n),e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(e,t){var r=stackSave();try{getWasmTableEntry(e)(t)}catch(e){if(stackRestore(r),e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(e){var t=stackSave();try{getWasmTableEntry(e)()}catch(e){if(stackRestore(t),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(e,t,r,n,o,a,i){var s=stackSave();try{return getWasmTableEntry(e)(t,r,n,o,a,i)}catch(e){if(stackRestore(s),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(e,t,r,n,o){var a=stackSave();try{getWasmTableEntry(e)(t,r,n,o)}catch(e){if(stackRestore(a),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(e,t,r,n,o,a){var i=stackSave();try{return getWasmTableEntry(e)(t,r,n,o,a)}catch(e){if(stackRestore(i),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiid(e,t,r,n,o,a){var i=stackSave();try{return getWasmTableEntry(e)(t,r,n,o,a)}catch(e){if(stackRestore(i),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(e,t,r,n){var o=stackSave();try{getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(o),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(e,t,r,n,o,a,i,s){var l=stackSave();try{return getWasmTableEntry(e)(t,r,n,o,a,i,s)}catch(e){if(stackRestore(l),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(e,t,r,n,o){var a=stackSave();try{return getWasmTableEntry(e)(t,r,n,o)}catch(e){if(stackRestore(a),e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(e,t,r,n){var o=stackSave();try{return getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(o),e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(e,t,r,n){var o=stackSave();try{return getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(o),e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(e){var t=stackSave();try{return getWasmTableEntry(e)()}catch(e){if(stackRestore(t),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(e,t,r,n,o,a,i,s){var l=stackSave();try{getWasmTableEntry(e)(t,r,n,o,a,i,s)}catch(e){if(stackRestore(l),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(e,t,r,n,o,a,i,s,l,c,u,m){var d=stackSave();try{return getWasmTableEntry(e)(t,r,n,o,a,i,s,l,c,u,m)}catch(e){if(stackRestore(d),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(e,t,r,n,o,a,i,s,l,c,u){var m=stackSave();try{getWasmTableEntry(e)(t,r,n,o,a,i,s,l,c,u)}catch(e){if(stackRestore(m),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(e,t,r,n,o,a,i,s,l,c,u,m,d,_,f,g){var E=stackSave();try{getWasmTableEntry(e)(t,r,n,o,a,i,s,l,c,u,m,d,_,f,g)}catch(e){if(stackRestore(E),e!==e+0)throw e;_setThrew(1,0)}}function invoke_viid(e,t,r,n){var o=stackSave();try{getWasmTableEntry(e)(t,r,n)}catch(e){if(stackRestore(o),e!==e+0)throw e;_setThrew(1,0)}}function invoke_j(e){var t=stackSave();try{return dynCall_j(e)}catch(e){if(stackRestore(t),e!==e+0)throw e;_setThrew(1,0)}}function invoke_ji(e,t){var r=stackSave();try{return dynCall_ji(e,t)}catch(e){if(stackRestore(r),e!==e+0)throw e;_setThrew(1,0)}}function invoke_jii(e,t,r){var n=stackSave();try{return dynCall_jii(e,t,r)}catch(e){if(stackRestore(n),e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiij(e,t,r,n,o,a,i){var s=stackSave();try{return dynCall_iiiiij(e,t,r,n,o,a,i)}catch(e){if(stackRestore(s),e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiii(e,t,r,n,o){var a=stackSave();try{return dynCall_jiiii(e,t,r,n,o)}catch(e){if(stackRestore(a),e!==e+0)throw e;_setThrew(1,0)}}function run(){function e(){calledRun||(calledRun=!0,Module.calledRun=!0,ABORT||(initRuntime(),wasmExports.emscripten_bind_funcs(addFunction((e,t,r)=>stringToUTF8OnStack(self[UTF8ToString(e)][UTF8ToString(t)]()[UTF8ToString(r)]()),"iiii")),wasmExports.emscripten_bind_funcs(addFunction((e,t,r)=>stringToUTF8OnStack((new(self[UTF8ToString(e)]))[UTF8ToString(t)](UTF8ToString(r))),"iiii")),wasmExports.emscripten_bind_funcs(addFunction((e,t,r,n)=>{self[UTF8ToString(e)](null,JSON.stringify(JSON.parse(UTF8ToString(t))),UTF8ToString(r),n)},"viiii")),wasmExports.emscripten_bind_funcs(addFunction((e,t,r,n)=>stringToUTF8OnStack(self[UTF8ToString(e)][UTF8ToString(t)][UTF8ToString(r)](UTF8ToString(n))?"":self[UTF8ToString(e)][UTF8ToString(t)]),"iiiii")),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),postRun()))}runDependencies>0||(preRun(),runDependencies>0||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),e()},1)):e()))}if(Module.addFunction=addFunction,Module.stringToUTF8OnStack=stringToUTF8OnStack,dependenciesFulfilled=function e(){calledRun||run(),calledRun||(dependenciesFulfilled=e)},Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();run(); \ No newline at end of file diff --git a/dist/dynamsoft-barcode-reader-bundle.wasm b/dist/dynamsoft-barcode-reader-bundle.wasm deleted file mode 100644 index 6e408e91..00000000 Binary files a/dist/dynamsoft-barcode-reader-bundle.wasm and /dev/null differ diff --git a/dist/lts.license.dialog.html b/dist/lts.license.dialog.html new file mode 100644 index 00000000..c7485519 --- /dev/null +++ b/dist/lts.license.dialog.html @@ -0,0 +1,20 @@ + +
+
+
+ + + x +
+
+
+
+ \ No newline at end of file diff --git a/dist/models/Code128Decoder.data b/dist/models/Code128Decoder.data deleted file mode 100644 index 63c562e9..00000000 Binary files a/dist/models/Code128Decoder.data and /dev/null differ diff --git a/dist/models/Code39ITFDecoder.data b/dist/models/Code39ITFDecoder.data deleted file mode 100644 index 11e5b1d4..00000000 Binary files a/dist/models/Code39ITFDecoder.data and /dev/null differ diff --git a/dist/models/DataMatrixQRCodeDeblur.data b/dist/models/DataMatrixQRCodeDeblur.data deleted file mode 100644 index ca9da932..00000000 Binary files a/dist/models/DataMatrixQRCodeDeblur.data and /dev/null differ diff --git a/dist/models/DataMatrixQRCodeLocalization.data b/dist/models/DataMatrixQRCodeLocalization.data deleted file mode 100644 index ed6bb160..00000000 Binary files a/dist/models/DataMatrixQRCodeLocalization.data and /dev/null differ diff --git a/dist/models/EAN13Decoder.data b/dist/models/EAN13Decoder.data deleted file mode 100644 index f7bdbfae..00000000 Binary files a/dist/models/EAN13Decoder.data and /dev/null differ diff --git a/dist/models/OneDDeblur.data b/dist/models/OneDDeblur.data deleted file mode 100644 index afe82c3c..00000000 Binary files a/dist/models/OneDDeblur.data and /dev/null differ diff --git a/dist/models/OneDLocalization.data b/dist/models/OneDLocalization.data deleted file mode 100644 index f0b1a23a..00000000 Binary files a/dist/models/OneDLocalization.data and /dev/null differ diff --git a/dist/models/PDF417Deblur.data b/dist/models/PDF417Deblur.data deleted file mode 100644 index e8cabf6a..00000000 Binary files a/dist/models/PDF417Deblur.data and /dev/null differ diff --git a/dist/models/PDF417Localization.data b/dist/models/PDF417Localization.data deleted file mode 100644 index 23995975..00000000 Binary files a/dist/models/PDF417Localization.data and /dev/null differ diff --git a/dist/parser-resources/AADHAAR.data b/dist/parser-resources/AADHAAR.data deleted file mode 100644 index 8f64381e..00000000 Binary files a/dist/parser-resources/AADHAAR.data and /dev/null differ diff --git a/dist/parser-resources/AAMVA_DL_ID.data b/dist/parser-resources/AAMVA_DL_ID.data deleted file mode 100644 index c0d23eb6..00000000 --- a/dist/parser-resources/AAMVA_DL_ID.data +++ /dev/null @@ -1 +0,0 @@ -EDQp|#BBNWB`EM`JE/ktpo#;\1-247722^-#BBNWB`EM`JE`XJUI`NBH`TUSJQF/ktpo#;\247722-5682:^-#BBNWB`Nbq/uyu#;\293441-2781^~| !!!!#DpefUzqf#;!#BBNWB`EM`JE#- !!!!#DpefGfbuvsfQbuufso#;!#A\_B.[b.{1.:!^|4~)BOTJ!}BBNWB*\]]t]]T^+#- !!!!#NbqGjmf#;!#BBNWB`Nbq#- !!!!#Gjfmet#;!\ !!!!!!!!| !!!!!!!!!!!!#GjfmeObnf#;!#ifbefs#- !!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!usvf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#A# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Foe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EM#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#FO#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JE# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!^ !!!!!!!!!!!!~- !!!!!!!!!!!!#DijmeGjfmet#;!\ !!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#ebubFmfnfouTfqbsbups#- !!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuSfgfsfodf#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfgfsfodfGjfme#;!#ifbefs#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuGspn#;!#SfgGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuUp#;!#UijtGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pggtfu#;!2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#MfohuiPgJoufsftu#;!2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\_B.[b.{1.:!^# !!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#sfdpseTfqbsbups#- !!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuSfgfsfodf#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfgfsfodfGjfme#;!#ebubFmfnfouTfqbsbups#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuGspn#;!#SfgGjfmeTusjohFoe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuUp#;!#UijtGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pggtfu#;!1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#MfohuiPgJoufsftu#;!2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\_B.[b.{1.:!^# !!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#tfhnfouUfsnjobups#- !!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuSfgfsfodf#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfgfsfodfGjfme#;!#sfdpseTfqbsbups#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuGspn#;!#SfgGjfmeTusjohFoe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuUp#;!#UijtGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pggtfu#;!1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#MfohuiPgJoufsftu#;!2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\_B.[b.{1.:!^# !!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#jttvfsJefoujgjdbujpoOvncfs#- !!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#BOTJ!#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#BBNWB# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#MfohuiPgJoufsftu#;!7 !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuSfgfsfodf#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfgfsfodfGjfme#;!#tfhnfouUfsnjobups#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuGspn#;!#SfgGjfmeTusjohFoe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuUp#;!#UijtGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pggtfu#;!6 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#MfohuiPgJoufsftu#;!7 !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#7\1.:^|6~# !!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#BBNWBWfstjpoOvncfs#- !!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuSfgfsfodf#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfgfsfodfGjfme#;!#jttvfsJefoujgjdbujpoOvncfs#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuGspn#;!#SfgGjfmeTusjohFoe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuUp#;!#UijtGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pggtfu#;!1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#MfohuiPgJoufsftu#;!3 !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#1\1.:^}21# !!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#kvsjtejdujpoWfstjpoOvncfs#- !!!!!!!!!!!!!!!!!!!!#QsfnjtfPgGjfme#;!#BBNWBWfstjpoOvncfs">_12%#- !!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuSfgfsfodf#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfgfsfodfGjfme#;!#BBNWBWfstjpoOvncfs#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuGspn#;!#SfgGjfmeTusjohFoe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuUp#;!#UijtGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pggtfu#;!1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#MfohuiPgJoufsftu#;!3 !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\1.:^|3~# !!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#ovncfsPgFousjft#- !!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgPqujpo#;!#BBNWBWfstjpoOvncfs">_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuSfgfsfodf#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfgfsfodfGjfme#;!#kvsjtejdujpoWfstjpoOvncfs#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuGspn#;!#SfgGjfmeTusjohFoe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuUp#;!#UijtGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pggtfu#;!1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#MfohuiPgJoufsftu#;!3 !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgPqujpo#;!#BBNWBWfstjpoOvncfs>_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuSfgfsfodf#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfgfsfodfGjfme#;!#BBNWBWfstjpoOvncfs#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuGspn#;!#SfgGjfmeTusjohFoe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuUp#;!#UijtGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pggtfu#;!1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#MfohuiPgJoufsftu#;!3 !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#1\2.:^}\2.:^\1.:^# !!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!~ !!!!!!!!!!!!^- !!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!#SfhFy#;!#A\_B.[b.{1.:!^|4~)BOTJ!}BBNWB*\1.:^|21-23~# !!!!!!!!!!!!!!!!~ !!!!!!!!!!!!^ !!!!!!!!~- !!!!!!!!| !!!!!!!!!!!!#GjfmeObnf#;!#tvcgjmfEftjhobups#- !!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!#PggtfuSfgfsfodf#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfgfsfodfGjfme#;!#ifbefs#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuGspn#;!#SfgGjfmeTusjohFoe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuUp#;!#UijtGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pggtfu#;!1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!usvf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EM#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#FO#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JE# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Foe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EM#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#FO#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JE# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!^ !!!!!!!!!!!!~- !!!!!!!!!!!!#DijmeGjfmet#;!\ !!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#dpnnpoTvcgjmfPggtfu#- !!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuSfgfsfodf#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfgfsfodfGjfme#;!#tvcgjmfEftjhobups#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuGspn#;!#SfgGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuUp#;!#UijtGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pggtfu#;!3 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#MfohuiPgJoufsftu#;!5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\1.:^|5~# !!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#dpnnpoTvcgjmfMfohui#- !!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuSfgfsfodf#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfgfsfodfGjfme#;!#dpnnpoTvcgjmfPggtfu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuGspn#;!#SfgGjfmeTusjohFoe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuUp#;!#UijtGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pggtfu#;!1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#MfohuiPgJoufsftu#;!5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\1.:^|5~# !!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!~ !!!!!!!!!!!!^- !!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!#SfhFy#;!#))EM}FO}JE}[\B.[^*\1.:^|9~*,# !!!!!!!!!!!!!!!!~ !!!!!!!!!!!!^ !!!!!!!!~- !!!!!!!!| !!!!!!!!!!!!#GjfmeObnf#;!#dpnnpoTvcgjmf#- !!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!#PggtfuSfgfsfodf#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfgfsfodfGjfme#;!#tvcgjmfEftjhobups#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuGspn#;!#SfgGjfmeTusjohFoe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuUp#;!#UijtGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pggtfu#;!1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!usvf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EM#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#FO#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JE# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Foe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!usvf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#]s# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!^ !!!!!!!!!!!!~- !!!!!!!!!!!!#DijmeGjfmet#;!\ !!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#tvcgjmfUzqf#- !!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuSfgfsfodf#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfgfsfodfGjfme#;!#dpnnpoTvcgjmf#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuGspn#;!#SfgGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuUp#;!#UijtGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pggtfu#;!1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#MfohuiPgJoufsftu#;!3 !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#EM}FO}JE# !!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#tvcgjmf#- !!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuSfgfsfodf#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfgfsfodfGjfme#;!#tvcgjmfUzqf#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuGspn#;!#SfgGjfmeTusjohFoe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#PggtfuUp#;!#UijtGjfmeTusjohTubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pggtfu#;!1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Foe#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#]s# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!#DijmeGjfmeTfqbsbups#;!| !!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Foe#- !!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!#TpvsdfGjfme#;!#ebubFmfnfouTfqbsbups#- !!!!!!!!!!!!!!!!!!!!!!!!#EfgbvmuTfqbsbups#;!#]o# !!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!#DijmeGjfmet#;!\ !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#gvmmObnf#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgGjfme#;!#BBNWBWfstjpoOvncfs>_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBB# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-46~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#mbtuObnf#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgPqujpo#;!#BBNWBWfstjpoOvncfs>_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBC# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgPqujpo#;!#BBNWBWfstjpoOvncfs">_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EDT# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-51~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#hjwfoObnf#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgGjfme#;!#BBNWBWfstjpoOvncfs>_1\34^%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EDU# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-91~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#gjstuObnf#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgGjfme#;!#BBNWBWfstjpoOvncfs">_1\34^%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBD# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-51~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#njeemfObnf#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgGjfme#;!#BBNWBWfstjpoOvncfs">_1\34^%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBE# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-51~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#tvggjy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#JtGjfmePqujpobm#;!2- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgPqujpo#;!#BBNWBWfstjpoOvncfs>_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBF# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgPqujpo#;!#BBNWBWfstjpoOvncfs">_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EDV# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-6~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#qsfgjy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgGjfme#;!#BBNWBWfstjpoOvncfs>_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#JtGjfmePqujpobm#;!2- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBG# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-6~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#tusffu`2#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBH# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-46~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#tusffu`3#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#JtGjfmePqujpobm#;!2- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBI# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-46~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#djuz#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBJ# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-31~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#kvsjtejdujpoDpef#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBK# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#NbqUbcmfObnf#;!#TubufPsQspwjodfDpef#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\B.[1.:^|3~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#qptubmDpef#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBL# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|22~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#sftjefodfTusffu`2#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgGjfme#;!#BBNWBWfstjpoOvncfs>_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#JtGjfmePqujpobm#;!2- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBM# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-46~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#sftjefodfTusffu`3#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgGjfme#;!#BBNWBWfstjpoOvncfs>_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#JtGjfmePqujpobm#;!2- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBN# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-46~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#sftjefodfDjuz#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgGjfme#;!#BBNWBWfstjpoOvncfs>_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#JtGjfmePqujpobm#;!2- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBO# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-31~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#sftjefodfKvsjtejdujpoDpef#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgGjfme#;!#BBNWBWfstjpoOvncfs>_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#JtGjfmePqujpobm#;!2- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBP# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\B.[1.:^|3~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#sftjefodfQptubmDpef#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgGjfme#;!#BBNWBWfstjpoOvncfs>_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#JtGjfmePqujpobm#;!2- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBQ# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\B.[1.:!^|22~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#mjdfotfOvncfs#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBR# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-36~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#wfijdmfDmbtt#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgPqujpo#;!#BBNWBWfstjpoOvncfs>_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBS# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgPqujpo#;!#BBNWBWfstjpoOvncfs">_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EDB# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-7~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#sftusjdujpoDpef#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgPqujpo#;!#BBNWBWfstjpoOvncfs>_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBT# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgPqujpo#;!#BBNWBWfstjpoOvncfs">_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EDC# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-23~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#foepstfnfoutDpef#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgPqujpo#;!#BBNWBWfstjpoOvncfs>_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBU# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgPqujpo#;!#BBNWBWfstjpoOvncfs">_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EDE# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|1-6~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#ifjhiuJoDfoujnfufst#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgGjfme#;!#BBNWBWfstjpoOvncfs>_12%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#JtGjfmePqujpobm#;!2- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBW# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\1.:^|4~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#ifjhiu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBV# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\]]t]]T^|7~}\1.:^|4~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#xfjhiuJoLjmphsbnt#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgGjfme#;!#BBNWBWfstjpoOvncfs">_1\34^%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#JtGjfmePqujpobm#;!2- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBY# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\1.:^|4~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#xfjhiuJoQpvoet#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#QsfnjtfPgGjfme#;!#BBNWBWfstjpoOvncfs">_1\34^%#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#JtGjfmePqujpobm#;!2- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBX# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\1.:^|4~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#fzfDpmps#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EBZ# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\B.[1.:!^|4~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#ibjsDpmps#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#JtGjfmePqujpobm#;!2- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#EB[# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\B.[1.:!^|1-23~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#fyqjsbujpoEbuf#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#ECB# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\1.:^|9~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#cjsuiEbuf#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#ECC# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#QptuQspdftt#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Usjn#;!usvf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Wbmjebujpo#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Uzqf#;!#SfhFy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#SfhFy#;!#\1.:^|9~# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~ !!!!!!!!!!!!!!!!!!!!!!!!!!!!^ !!!!!!!!!!!!!!!!!!!!!!!!~- !!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!#GjfmeObnf#;!#tfy#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!#Mpdbujpo#;!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Tfqbsbups#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Qptjujpo#;!#Tubsu#- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#JodmvefeJoGjfme#;!gbmtf- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#Pqujpot#;!\ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!########!GA@! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!NbsWbaofMbnf!9#!Pf{@lgf!/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X21:NE[#^! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!jppvfgGbwf!/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAG! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X3.:^x;~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!jppvfWjnfpwbns!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAF! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X__p__P^x3/15~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!mvnafqLeGvsoj`bwfp!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAE! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X3.:^x1~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!nfgj`boJmgj`bwlq!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAD! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y3.:^x3/13~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!lqdbmGlmlqJmgj`bwlq!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!SqfnjpfLeLswjlm!9#!BBNUBUfqpjlmMvnafq>]32'!/ ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAK! ################################################^ ############################################~ ########################################^ ####################################~/ ####################################x ########################################!SqfnjpfLeLswjlm!9#!BBNUBUfqpjlmMvnafq">]3X2.6^'!/ ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GGH! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y3.:#^x3/23~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!mlmQfpjgfmwJmgj`bwlq!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAJ! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y#^! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!`vpwlnfqJgfmwjejfq!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAI! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y3.:#^x3/16~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!pl`jboPf`vqjwzMvnafq!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAH! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X3.:^x:~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!bowfqmbwjufAjqwkGbwf!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAO! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X3.:^x;~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!bowfqmbwjufPl`jboPf`vqjwzMvnafq!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAN! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X3.:^x:~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!mbnfBojbp!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]3X21^'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAM! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X__p__P^x3/06~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!obpwMbnfBojbp!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!SqfnjpfLeLswjlm!9#!BBNUBUfqpjlmMvnafq>]32'!/ ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAL! ################################################^ ############################################~ ########################################^ ####################################~/ ####################################x ########################################!SqfnjpfLeLswjlm!9#!BBNUBUfqpjlmMvnafq">]3X21^'!/ ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAM! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X__p__P^x3/06~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!djufmMbnfBojbp!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq">]3X21^'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAD! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X__p__P^x3/26~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!ejqpwMbnfBojbp!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAS! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y3.:^x3/06~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!njggofMbnfBojbp!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAR! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y3.:^x3/06~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!pveej{Bojbp!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!SqfnjpfLeLswjlm!9#!BBNUBUfqpjlmMvnafq>]32'!/ ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAQ! ################################################^ ############################################~ ########################################^ ####################################~/ ####################################x ########################################!SqfnjpfLeLswjlm!9#!BBNUBUfqpjlmMvnafq">]3X21^'!/ ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAP! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X__p__P^x3/6~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!sqfej{Bojbp!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!GAP! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X__p__P^x6~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!sfqnjw@obppjej`bwjlm@lgf!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!SBB! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y^x1~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!sfqnjwF{sjqbwjlmGbwf!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!SBA! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X3.:^x;~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!sfqnjwJgfmwjejfq!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!SB@! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y3.:^x16~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!sfqnjwJppvfgGbwf!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!SBG! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X3.:^x;~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!sfqnjwQfpwqj`wjlm@lgf!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!SBF! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y3.:^x23~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!sfqnjwFmglqpfnfmw@lgf!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!SBE! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y3.:^x5~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!tfjdkwQbmdf!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq">]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!G@F! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X3.:^! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!gl`vnfmwGjp`qjnjmbwlq!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq">]32'!/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!G@E! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X__p__P^x3/16~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!jppvjmd@lvmwqz!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq">]32'!/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!G@D! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!VPB@BM! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!efgfqbo@lnnfq`jboUfkj`of@lgfp!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq>]3X10^'!/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!G@K! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y3.:^x7~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!ajqwkSob`f!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq">]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!G@J! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X__p__P^x3/00~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!bvgjwJmelnbwjlm!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq">]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!G@I! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X__p__P^x3/16~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!jmufmwlqz@lmwqloMvnafq!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq">]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!G@H! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!X__p__P^x3/16~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!qb`f!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq">]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!G@O! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y3.:^x3/0~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!pwbmgbqgUfkj`of@obppjej`bwjlm!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq">]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!G@N! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y3.:#^x7~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!pwbmgbqgFmglqpfnfmwp@lgf!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq">]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!G@M! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y3.:#^x6~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!pwbmgbqgQfpwqj`wjlm@lgf!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq">]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!G@L! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x ####################################!Wzsf!9#!QfdF{!/ ####################################!QfdF{!9#!XB.Y3.:#^x23~XB.Y3.:#^x21~! ################################~ ############################^ ########################~/ ########################x ############################!EjfogMbnf!9#!ufkj`of@lgfGfp`qjswjlm!/ ############################!SqfnjpfLeEjfog!9#!BBNUBUfqpjlmMvnafq">]32'!/ ############################!JpEjfogLswjlmbo!9#2/ ############################!Ol`bwjlm!9#x ################################!Lswjlmp!9#X ####################################x ########################################!Pfsbqbwlq!9#X ############################################x ################################################!Slpjwjlm!9#!Pwbqw!/ ################################################!Jm`ovgfgJmEjfog!9#ebopf/ ################################################!Lswjlmp!9#X ####################################################!G@S! ################################################^ ############################################~ ########################################^ ####################################~ ################################^/ ################################!SlpwSql`fpp!9#X ####################################x ########################################!Wqjn!9#wqvf ####################################~ ################################^ ############################~/ ############################!Ubojgbwjlm!9#X ################################x #####################+++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++++++++++)YnlNs)1+)PWWxWWXVp;'>;v)++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++V++++++++++++++++++++++++v'++++++++++++++++++++++++p++++++++++++++++++++++++++++)MbngoEjfn)1+)neodyxnfnexHdonOnxhyb{bde)'++++++++++++++++++++++++++++)[ynfbxnDmMbngo)1+)JJF]J]nyxbdeE~finy*6U;:/)'++++++++++++++++++++++++++++)BxMbngoD{bdejg)1+:'++++++++++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++++++++++)OHZ)++++++++++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)_ybf)1+y~n++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++++++++++)YnlNs)1+)PWWxWWXVp;'>;v)++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++V++++++++++++++++++++++++v'++++++++++++++++++++++++p++++++++++++++++++++++++++++)MbngoEjfn)1+)ynxybhbdeHdonOnxhyb{bde)'++++++++++++++++++++++++++++)[ynfbxnDmMbngo)1+)JJF]J]nyxbdeE~finy*6U;:/)'++++++++++++++++++++++++++++)BxMbngoD{bdejg)1+:'++++++++++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++++++++++)OHY)++++++++++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)_ybf)1+y~n++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++++++++++)YnlNs)1+)PWWxWWXVp;'>;v)++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++V++++++++++++++++++++++++v'++++++++++++++++++++++++p++++++++++++++++++++++++++++)MbngoEjfn)1+)hdf{gbjehn_r{n)'++++++++++++++++++++++++++++)[ynfbxnDmMbngo)1+)JJF]J]nyxbdeE~finy*6U;P:&8V/)'++++++++++++++++++++++++++++)BxMbngoD{bdejg)1+:'++++++++++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++++++++++)OOJ)++++++++++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)_ybf)1+y~n++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++++++++++)YnlNs)1+)PMFEV)++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++V++++++++++++++++++++++++v'++++++++++++++++++++++++p++++++++++++++++++++++++++++)MbngoEjfn)1+)hjyoYn}bxbdeOjn)'++++++++++++++++++++++++++++)[ynfbxnDmMbngo)1+)JJF]J]nyxbdeE~finy*6U;P:&8V/)'++++++++++++++++++++++++++++)BxMbngoD{bdejg)1+:'++++++++++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++++++++++)OOI)++++++++++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)_ybf)1+y~n++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++++++++++)YnlNs)1+)P;&2Vp3v)++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++V++++++++++++++++++++++++v'++++++++++++++++++++++++p++++++++++++++++++++++++++++)MbngoEjfn)1+)cjqfjNeodyxnfneNs{byjbdeOjn)'++++++++++++++++++++++++++++)[ynfbxnDmMbngo)1+)JJF]J]nyxbdeE~finy*6U;P:&8V/)'++++++++++++++++++++++++++++)BxMbngoD{bdejg)1+:'++++++++++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++++++++++)OOH)++++++++++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)_ybf)1+y~n++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++++++++++)YnlNs)1+)P;&2Vp3v)++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++V++++++++++++++++++++++++v'++++++++++++++++++++++++p++++++++++++++++++++++++++++)MbngoEjfn)1+)gbfbnoO~yjbdeOdh~fneBeobhjdy)'++++++++++++++++++++++++++++)[ynfbxnDmMbngo)1+)JJF]J]nyxbdeE~finy*6U;P:&8V/)'++++++++++++++++++++++++++++)BxMbngoD{bdejg)1+:'++++++++++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++++++++++)OOO)++++++++++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)_ybf)1+y~n++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++++++++++)YnlNs)1+)P;&2V)++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++V++++++++++++++++++++++++v'++++++++++++++++++++++++p++++++++++++++++++++++++++++)MbngoEjfn)1+)mjfbgrEjfn_y~ehjbde)'++++++++++++++++++++++++++++)[ynfbxnDmMbngo)1+)JJF]J]nyxbdeE~finy*6U;P:&8V/)'++++++++++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++++++++++)OON)++++++++++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)_ybf)1+y~n++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++++++++++)YnlNs)1+)P_E^V)++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++V++++++++++++++++++++++++v'++++++++++++++++++++++++p++++++++++++++++++++++++++++)MbngoEjfn)1+)mbyxEjfn_y~ehjbde)'++++++++++++++++++++++++++++)[ynfbxnDmMbngo)1+)JJF]J]nyxbdeE~finy*6U;P:&8V/)'++++++++++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++++++++++)OOM)++++++++++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)_ybf)1+y~n++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++++++++++)YnlNs)1+)P_E^V)++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++V++++++++++++++++++++++++v'++++++++++++++++++++++++p++++++++++++++++++++++++++++)MbngoEjfn)1+)fboognEjfn_y~ehjbde)'++++++++++++++++++++++++++++)[ynfbxnDmMbngo)1+)JJF]J]nyxbdeE~finy*6U;P:&8V/)'++++++++++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++++++++++)OOL)++++++++++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)_ybf)1+y~n++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++++++++++)YnlNs)1+)P_E^V)++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++V++++++++++++++++++++++++v'++++++++++++++++++++++++p++++++++++++++++++++++++++++)MbngoEjfn)1+)~eony:3^ebg)'++++++++++++++++++++++++++++)[ynfbxnDmMbngo)1+)JJF]J]nyxbdeE~finy*6U;P:&?V/)'++++++++++++++++++++++++++++)BxMbngoD{bdejg)1+:'++++++++++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++++++++++)OOC)++++++++++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)_ybf)1+y~n++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++++++++++)YnlNs)1+)P;&2Vp3v)++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++V++++++++++++++++++++++++v'++++++++++++++++++++++++p++++++++++++++++++++++++++++)MbngoEjfn)1+)~eony:2^ebg)'++++++++++++++++++++++++++++)[ynfbxnDmMbngo)1+)JJF]J]nyxbdeE~finy*6U;P:&?V/)'++++++++++++++++++++++++++++)BxMbngoD{bdejg)1+:'++++++++++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++++++++++)OOB)++++++++++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)_ybf)1+y~n++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++++++++++)YnlNs)1+)P;&2Vp3v)++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++V++++++++++++++++++++++++v'++++++++++++++++++++++++p++++++++++++++++++++++++++++)MbngoEjfn)1+)~eony9:^ebg)'++++++++++++++++++++++++++++)[ynfbxnDmMbngo)1+)JJF]J]nyxbdeE~finy*6U;P:&?V/)'++++++++++++++++++++++++++++)BxMbngoD{bdejg)1+:'++++++++++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++++++++++)OOA)++++++++++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)_ybf)1+y~n++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++++++++++)YnlNs)1+)P;&2Vp3v)++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++V++++++++++++++++++++++++v'++++++++++++++++++++++++p++++++++++++++++++++++++++++)MbngoEjfn)1+)}nnyjeBeobhjdy)'++++++++++++++++++++++++++++)[ynfbxnDmMbngo)1+)JJF]J]nyxbdeE~finy*6U;P:&=V/)'++++++++++++++++++++++++++++)BxMbngoD{bdejg)1+:'++++++++++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++++++++++)OOG)++++++++++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)_ybf)1+y~n++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++++++++++)YnlNs)1+)P;&2V)++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++V++++++++++++++++++++++++v++++++++++++++++++++V++++++++++++++++v++++++++++++V'++++++++++++)]jgbojbde)1+P++++++++++++++++p++++++++++++++++++++)_r{n)1+)Gnelc)'++++++++++++++++++++)Ynz~bynoMbngox)1+P)hdffdeX~imbgnGnelc)V++++++++++++++++v++++++++++++V++++++++v'++++++++p++++++++++++)MbngoEjfn)1+)a~ybxobhbdeX~imbgnx)'++++++++++++)[ynfbxnDmMbngo)1+)e~finyDmNeybnx*6U;:/)'++++++++++++)Gdhjbde)1+p++++++++++++++++)D{bdex)1+P++++++++++++++++++++p++++++++++++++++++++++++)DmmxnYnmnynehn)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)YnmnynehnMbngo)1+)hdffdeX~imbgn)'++++++++++++++++++++++++++++++++)DmmxnMydf)1+)YnmMbngoXybelNeo)'++++++++++++++++++++++++++++++++)Dmmxn_d)1+)_cbxMbngoXybelXjy)'++++++++++++++++++++++++++++++++)Dmmxn)1+;++++++++++++++++++++++++++++v++++++++++++++++++++++++V'++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+y~n'++++++++++++++++++++++++++++++++)YnlNs)1+)QPJ&QV)++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)[dxbbde)1+)Neo)'++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+y~n'++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++)Wy)++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v++++++++++++++++++++++++V++++++++++++++++++++v++++++++++++++++V++++++++++++v'++++++++++++)]jgbojbde)1+P++++++++++++++++p++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++)YnlNs)1+)QPJ&QVPWWxWWXV!)++++++++++++++++v++++++++++++V++++++++v++++Vvp++++)Hdon_r{n)1+)JJF]JTOGTBOT\B_CTFJLTX_YB[N)'++++)OnobhjnoGbiyjyr)1+)OrejfxdmHdon[jyxnyOnobhjdy)'++++)HdonMnj~yn[jnye)1+)U.PJ&QVp9vPWWxWWXV!)'++++)Fj{Mbgn)1+)JJF]JTFj{)'++++)Mbngox)1+P++++++++p++++++++++++)MbngoEjfn)1+)yjh`:)'++++++++++++)Gdhjbde)1+p++++++++++++++++)D{bdex)1+P++++++++++++++++++++p++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+y~n'++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++).)++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)[dxbbde)1+)Neo)'++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+y~n'++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++)4)++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v++++++++++++++++++++++++V++++++++++++++++++++v++++++++++++++++V++++++++++++v'++++++++++++)HcbgoMbngox)1+P++++++++++++++++p++++++++++++++++++++)MbngoEjfn)1+)xjnDy[yd}behn)'++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)DmmxnYnmnynehn)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)YnmnynehnMbngo)1+)yjh`:)'++++++++++++++++++++++++++++++++++++++++)DmmxnMydf)1+)YnmMbngoXybelXjy)'++++++++++++++++++++++++++++++++++++++++)Dmmxn_d)1+)_cbxMbngoXybelXjy)'++++++++++++++++++++++++++++++++++++++++)Dmmxn)1+:++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)GnelcDmBenynx)1+9++++++++++++++++++++++++++++v++++++++++++++++++++++++V++++++++++++++++++++v'++++++++++++++++++++)Fj{_jignEjfn)1+)XjnDy[yd}behnHdon)'++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++p++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++)YnlNs)1+)PJ&QVp9v)++++++++++++++++++++++++v++++++++++++++++++++V++++++++++++++++v'++++++++++++++++p++++++++++++++++++++)MbngoEjfn)1+)hbr)'++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++p)[ynfbxnDmD{bde)1+)yjh`:*6UPUUVp:=v%!/)'++++++++++++++++++++++++++++++++)DmmxnYnmnynehn)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)YnmnynehnMbngo)1+)xjnDy[yd}behn)'++++++++++++++++++++++++++++++++++++++++)DmmxnMydf)1+)YnmMbngoXybelNeo)'++++++++++++++++++++++++++++++++++++++++)Dmmxn_d)1+)_cbxMbngoXybelXjy)'++++++++++++++++++++++++++++++++++++++++)Dmmxn)1+;++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Neo)'++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+y~n'++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++)U)++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)[ynfbxnDmD{bde)1+)yjh`:6UPUUVp:=v%!/)'++++++++++++++++++++++++++++++++)DmmxnYnmnynehn)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)YnmnynehnMbngo)1+)xjnDy[yd}behn)'++++++++++++++++++++++++++++++++++++++++)DmmxnMydf)1+)YnmMbngoXybelNeo)'++++++++++++++++++++++++++++++++++++++++)Dmmxn_d)1+)_cbxMbngoXybelXjy)'++++++++++++++++++++++++++++++++++++++++)Dmmxn)1+;++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)GnelcDmBenynx)1+:8++++++++++++++++++++++++++++v++++++++++++++++++++++++V'++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)Yn{gjhnJgg)1+P)U)'+))V++++++++++++++++++++++++++++v++++++++++++++++++++++++V++++++++++++++++++++v'++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++p++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++)YnlNs)1+)UP&J&Qj&q%,+UVp:':8v)++++++++++++++++++++++++v++++++++++++++++++++V++++++++++++++++v'++++++++++++++++p++++++++++++++++++++)MbngoEjfn)1+)ejfn)'++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)[ynfbxnDmD{bde)1+)yjh`:6UPUUVp8':>vPWWUVPUUVp;'8?vPWWUV%!/wwyjh`:6UPUUVp:=vPUUVp;'8?vPWWUV%!/)'++++++++++++++++++++++++++++++++)DmmxnYnmnynehn)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)YnmnynehnMbngo)1+)hbr)'++++++++++++++++++++++++++++++++++++++++)DmmxnMydf)1+)YnmMbngoXybelNeo)'++++++++++++++++++++++++++++++++++++++++)Dmmxn_d)1+)_cbxMbngoXybelXjy)'++++++++++++++++++++++++++++++++++++++++)Dmmxn)1+;++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Neo)'++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+y~n'++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++)U)++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)[ynfbxnDmD{bde)1+)yjh`:6UPUUVp8':>vPWWUVPUUVp8>v%!/wwyjh`:6UPUUVp:=vPUUVp8>v%!/)'++++++++++++++++++++++++++++++++)DmmxnYnmnynehn)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)YnmnynehnMbngo)1+)hbr)'++++++++++++++++++++++++++++++++++++++++)DmmxnMydf)1+)YnmMbngoXybelNeo)'++++++++++++++++++++++++++++++++++++++++)Dmmxn_d)1+)_cbxMbngoXybelXjy)'++++++++++++++++++++++++++++++++++++++++)Dmmxn)1+;++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)GnelcDmBenynx)1+8>++++++++++++++++++++++++++++v++++++++++++++++++++++++V'++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)Yn{gjhnJgg)1+P)/)'+))V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)Yn{gjhnJgg)1+P)U)'+))V++++++++++++++++++++++++++++v++++++++++++++++++++++++V++++++++++++++++++++v'++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++p++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++)YnlNs)1+)UP&J&Qj&q'%,/+UVp:'8>v)++++++++++++++++++++++++v++++++++++++++++++++V++++++++++++++++v'++++++++++++++++p++++++++++++++++++++)MbngoEjfn)1+)jooynxx)'++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)DmmxnYnmnynehn)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)YnmnynehnMbngo)1+)ejfn)'++++++++++++++++++++++++++++++++++++++++)DmmxnMydf)1+)YnmMbngoXybelNeo)'++++++++++++++++++++++++++++++++++++++++)Dmmxn_d)1+)_cbxMbngoXybelXjy)'++++++++++++++++++++++++++++++++++++++++)Dmmxn)1+;++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Neo)'++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++)U)'++++++++++++++++++++++++++++++++++++++++++++)4)++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v++++++++++++++++++++++++V'++++++++++++++++++++++++)[dx[ydhnxx)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)Yn{gjhnJgg)1+P)/)'+)We)V++++++++++++++++++++++++++++v++++++++++++++++++++++++V++++++++++++++++++++v'++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++p++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++)YnlNs)1+)UP&J&Qj&q;&2'%,/+Vp:'<>v)++++++++++++++++++++++++v++++++++++++++++++++V++++++++++++++++v++++++++++++V'++++++++++++)]jgbojbde)1+P++++++++++++++++p++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++)YnlNs)1+)P&.4/U',+J&Qj&q;&2%Vp:'3:v)++++++++++++++++v'++++++++++++++++p++++++++++++++++++++)_r{n)1+)Hcnh`x~f)'++++++++++++++++++++)[ynfbxnDm]jgbojbde)1)GYHmdy_yjh`:*6)'++++++++++++++++++++)Ynz~bynoMbngox)1+P)GYHmdy_yjh`:)V'++++++++++++++++++++)M~ehbdeEjfn)1+)OH[OTGYHT}nybmbhjbde)++++++++++++++++v++++++++++++V++++++++v'++++++++p++++++++++++)MbngoEjfn)1+)GYHmdy_yjh`:)'++++++++++++)Gdhjbde)1+p++++++++++++++++)D{bdex)1+P++++++++++++++++++++p++++++++++++++++++++++++)DmmxnYnmnynehn)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)YnmnynehnMbngo)1+)yjh`:)'++++++++++++++++++++++++++++++++)DmmxnMydf)1+)YnmMbngoXybelNeo)'++++++++++++++++++++++++++++++++)Dmmxn_d)1+)_cbxMbngoXybelXjy)'++++++++++++++++++++++++++++++++)Dmmxn)1+;++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)YnmnynehnMbngo)1+)yjh`9)'++++++++++++++++++++++++++++++++)DmmxnMydf)1+)YnmMbngoXybelXjy)'++++++++++++++++++++++++++++++++)Dmmxn_d)1+)_cbxMbngoXybelNeo)'++++++++++++++++++++++++++++++++)Dmmxn)1+;++++++++++++++++++++++++++++v++++++++++++++++++++++++V++++++++++++++++++++v++++++++++++++++V++++++++++++v'++++++++++++)]jgbojbde)1+P++++++++++++++++p++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++)YnlNs)1+)PWWxWWXVp;':v)++++++++++++++++v++++++++++++V++++++++v'++++++++p++++++++++++)MbngoEjfn)1+)yjh`9)'++++++++++++)Gdhjbde)1+p++++++++++++++++)D{bdex)1+P++++++++++++++++++++p++++++++++++++++++++++++)DmmxnYnmnynehn)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)YnmnynehnMbngo)1+)yjh`:)'++++++++++++++++++++++++++++++++)DmmxnMydf)1+)YnmMbngoXybelNeo)'++++++++++++++++++++++++++++++++)Dmmxn_d)1+)_cbxMbngoXybelXjy)'++++++++++++++++++++++++++++++++)Dmmxn)1+;++++++++++++++++++++++++++++v++++++++++++++++++++++++V'++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+y~n'++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++)0=)++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v'++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)[dxbbde)1+)Neo)'++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+y~n'++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++)4)++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v++++++++++++++++++++++++V++++++++++++++++++++v++++++++++++++++V++++++++++++v'++++++++++++)HcbgoMbngox)1+P++++++++++++++++p++++++++++++++++++++)MbngoEjfn)1+)BXDBBE)'++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)DmmxnYnmnynehn)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)YnmnynehnMbngo)1+)yjh`9)'++++++++++++++++++++++++++++++++++++++++)DmmxnMydf)1+)YnmMbngoXybelXjy)'++++++++++++++++++++++++++++++++++++++++)Dmmxn_d)1+)_cbxMbngoXybelXjy)'++++++++++++++++++++++++++++++++++++++++)Dmmxn)1+:++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)GnelcDmBenynx)1+=++++++++++++++++++++++++++++v++++++++++++++++++++++++V++++++++++++++++++++v'++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++p++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++)YnlNs)1+)=P;&2Vp>v)++++++++++++++++++++++++v++++++++++++++++++++V++++++++++++++++v'++++++++++++++++p++++++++++++++++++++)MbngoEjfn)1+)OGdyBOTE~finy)'++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)DmmxnYnmnynehn)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)YnmnynehnMbngo)1+)BXDBBE)'++++++++++++++++++++++++++++++++++++++++)DmmxnMydf)1+)YnmMbngoXybelNeo)'++++++++++++++++++++++++++++++++++++++++)Dmmxn_d)1+)_cbxMbngoXybelXjy)'++++++++++++++++++++++++++++++++++++++++)Dmmxn)1+;++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Neo)'++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++)6)++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v++++++++++++++++++++++++V++++++++++++++++++++v'++++++++++++++++++++)]jgbojbde)1+P++++++++++++++++++++++++p++++++++++++++++++++++++++++)_r{n)1+)YnlNs)'++++++++++++++++++++++++++++)YnlNs)1+)P;&2Vp:':8v)++++++++++++++++++++++++v++++++++++++++++++++V++++++++++++++++v'++++++++++++++++p++++++++++++++++++++)MbngoEjfn)1+)ns{byjbdeOjn)'++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++)DmmxnYnmnynehn)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)YnmnynehnMbngo)1+)OGdyBOTE~finy)'++++++++++++++++++++++++++++++++++++++++)DmmxnMydf)1+)YnmMbngoXybelNeo)'++++++++++++++++++++++++++++++++++++++++)Dmmxn_d)1+)_cbxMbngoXybelXjy)'++++++++++++++++++++++++++++++++++++++++)Dmmxn)1+;++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V'++++++++++++++++++++++++++++++++)GnelcDmBenynx)1+>'++++++++++++++++++++++++++++++++)Xn{jyjdy)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)[dxbbde)1+)Xjy)'++++++++++++++++++++++++++++++++++++++++)Behg~onoBeMbngo)1+mjgxn'++++++++++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++++++++++)6)++++++++++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++++++++++v++++++++++++++++++++++++++++++++V++++++++++++++++++++++++++++v++++++++++++++++++++++++V++++++++++++++++++++v'++++++++++++++++++++)HcbgoMbngox)1+P++++++++++++++++++++++++p++++++++++++++++++++++++++++)MbngoEjfn)1+)ns{byjbdeRnjy)'++++++++++++++++++++++++++++)Gdhjbde)1+p++++++++++++++++++++++++++++++++)D{bdex)1+P++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++)DmmxnYnmnynehn)1+P++++++++++++++++++++++++++++++++++++++++++++p++++++++++++++++++++++++++++++++++++++++++++++++)YnmnynehnMbngo)1+)ns{byjbdeOjn)'++++++++++++++++++++++++++++++++++++++++++++++++)DmmxnMydf)1+)YnmMbngoXybelXjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Dmmxn_d)1+)_cbxMbngoXybelXjy)'++++++++++++++++++++++++++++++++++++++++++++++++)Dmmxn)1+;88888888888888888888888888888888888888888888e8888888888888888888888888888888888888888E48888888888888888888888888888888888888888:T}vlpW~Qvl}j}kl:"8*888888888888888888888888888888888888e88888888888888888888888888888888E8888888888888888888888888888e48888888888888888888888888888:Nytq|ylqwv:"8C88888888888888888888888888888888c888888888888888888888888888888888888:Lah}:"8:J}]`:4888888888888888888888888888888888888:J}]`:"8:C(5!Ec*e:88888888888888888888888888888888e8888888888888888888888888888E888888888888888888888888e4888888888888888888888888c8888888888888888888888888888:^q}t|Vyu}:"8:}`hqjylqwvUwvlp:48888888888888888888888888888:Tw{ylqwv:"8c88888888888888888888888888888888:Whlqwvk:"8C888888888888888888888888888888888888c8888888888888888888888888888888888888888:W~~k}lJ}~}j}v{}:"8C88888888888888888888888888888888888888888888c888888888888888888888888888888888888888888888888:J}~}j}v{}^q}t|:"8:}`hqjylqwv\yl}:4888888888888888888888888888888888888888888888888:W~~k}l^jwu:"8:J}~^q}t|KljqvKlyjl:4888888888888888888888888888888888888888888888888:W~~k}lLw:"8:Lpqk^q}t|KljqvKlyjl:4888888888888888888888888888888888888888888888888:W~~k}l:"8*88888888888888888888888888888888888888888888e8888888888888888888888888888888888888888E48888888888888888888888888888888888888888:T}vlpW~Qvl}j}kl:"8*888888888888888888888888888888888888e88888888888888888888888888888888E8888888888888888888888888888e48888888888888888888888888888:Nytq|ylqwv:"8C88888888888888888888888888888888c888888888888888888888888888888888888:Lah}:"8:J}]`:4888888888888888888888888888888888888:J}]`:"8:(C)5!Ed)C()*Ed//d d!!:88888888888888888888888888888888e8888888888888888888888888888E888888888888888888888888e88888888888888888888E488888888888888888888:Nytq|ylqwv:"8C888888888888888888888888c8888888888888888888888888888:Lah}:"8:J}]`:48888888888888888888888888888:J}]`:"8:0C(5!Ec*e10(C)5!Ed)C()*Ed//d d!!1:888888888888888888888888e88888888888888888888E8888888888888888e48888888888888888c88888888888888888888:^q}t|Vyu}:"8:zqjlp\yl}:488888888888888888888:Tw{ylqwv:"8c888888888888888888888888:Whlqwvk:"8C8888888888888888888888888888c88888888888888888888888888888888:W~~k}lJ}~}j}v{}:"8C888888888888888888888888888888888888c88888888888888888888888888888888888888220@wtw`w|qwT{w~v0(20wjb{`sf{}|Vsfw0>22222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>22222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawf0(2"222222222222222222222222222222222222o22222222222222222222222222222222O>222222222222222222222222222222220^w|ufz]t[|fw`waf0(2*2222222222222222222222222222o222222222222222222222222O22222222222222222222o>222222222222222222220Qz{~vT{w~va0(2I222222222222222222222222i22222222222222222222222222220T{w~v\sw0(20p{`fzKws`0>22222222222222222222222222220^}qsf{}|0(2i222222222222222222222222222222220]bf{}|a0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220]ttawf@wtw`w|qw0(2I22222222222222222222222222222222222222222222i2222222222222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20p{`fzVsfw0>2222222222222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uAfs`f0>2222222222222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>2222222222222222222222222222222222222222222222220]ttawf0(2"22222222222222222222222222222222222222222222o2222222222222222222222222222222222222222O>22222222222222222222222222222222222222220^w|ufz]t[|fw`waf0(2&222222222222222222222222222222222222o22222222222222222222222222222222O2222222222222222222222222222o>22222222222222222222222222220Ds~{vsf{}|0(2I22222222222222222222222222222222i2222222222222222222222222222222222220Fkbw0(20@wuWj0>2222222222222222222222222222222222220@wuWj0(20I"?+Oi&o022222222222222222222222222222222o2222222222222222222222222222O222222222222222222222222o>222222222222222222222222i22222222222222222222222222220T{w~v\sw0(20p{`fz_}|fz0>22222222222222222222222222220^}qsf{}|0(2i222222222222222222222222222222220]bf{}|a0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220]ttawf@wtw`w|qw0(2I22222222222222222222222222222222222222222222i2222222222222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20p{`fzVsfw0>2222222222222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uAfs`f0>2222222222222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>2222222222222222222222222222222222222222222222220]ttawf0(2&22222222222222222222222222222222222222222222o2222222222222222222222222222222222222222O>22222222222222222222222222222222222222220^w|ufz]t[|fw`waf0(2 222222222222222222222222222222222222o22222222222222222222222222222222O2222222222222222222222222222o>22222222222222222222222222220Ds~{vsf{}|0(2I22222222222222222222222222222222i2222222222222222222222222222222222220Fkbw0(20@wuWj0>2222222222222222222222222222222222220@wuWj0(20"I#?+On#I"# O022222222222222222222222222222222o2222222222222222222222222222O222222222222222222222222o>222222222222222222222222i22222222222222222222222222220T{w~v\sw0(20p{`fzVsk0>22222222222222222222222222220^}qsf{}|0(2i222222222222222222222222222222220]bf{}|a0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220]ttawf@wtw`w|qw0(2I22222222222222222222222222222222222222222222i2222222222222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20p{`fzVsfw0>2222222222222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uAfs`f0>2222222222222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>2222222222222222222222222222222222222222222222220]ttawf0(2$22222222222222222222222222222222222222222222o2222222222222222222222222222222222222222O>22222222222222222222222222222222222222220^w|ufz]t[|fw`waf0(2 222222222222222222222222222222222222o22222222222222222222222222222222O2222222222222222222222222222o>22222222222222222222222222220Ds~{vsf{}|0(2I22222222222222222222222222222222i2222222222222222222222222222222222220Fkbw0(20@wuWj0>2222222222222222222222222222222222220@wuWj0(20"I#?+OnI# OI"?+On!I"#O022222222222222222222222222222222o2222222222222222222222222222O222222222222222222222222o22222222222222222222O>222222222222222222220Ds~{vsf{}|0(2I222222222222222222222222i22222222222222222222222222220Fkbw0(20@wuWj0>22222222222222222222222222220@wuWj0(20:I"?+Oi&o;:"I#?+On#I"# O;:"I#?+OnI# OI"?+On!I"#O;0222222222222222222222222o22222222222222222222O2222222222222222o>2222222222222222i222222222222222222220T{w~v\sw0(20V^}`[VM\gpw`]dw`t~}e0>222222222222222222220^}qsf{}|0(2i2222222222222222222222220]bf{}|a0(2I2222222222222222222222222222i222222222222222222222222222222220]ttawf@wtw`w|qw0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20p{`fzVsfw0>22222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>22222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawf0(2"222222222222222222222222222222222222o22222222222222222222222222222222O>222222222222222222222222222222220Awbs`sf}`0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220B}a{f{}|0(20W|v0>22222222222222222222222222222222222222220[|q~gvwv[|T{w~v0(2ts~aw>22222222222222222222222222222222222222220]bf{}|a0(2I222222222222222222222222222222222222222222220-02222222222222222222222222222222222222222O222222222222222222222222222222222222o22222222222222222222222222222222O2222222222222222222222222222o222222222222222222222222O>2222222222222222222222220B}afB`}qwaa0(2I2222222222222222222222222222i222222222222222222222222222222220@wb~sqw0(2I2222222222222222222222222222222222220/0>2222222222222222222222222222222222220022222222222222222222222222222222O2222222222222222222222222222o222222222222222222222222O22222222222222222222o>222222222222222222220Ds~{vsf{}|0(2I222222222222222222222222i22222222222222222222222222220Fkbw0(20@wuWj0>22222222222222222222222222220@wuWj0(20I"?+/Oi#>'o0222222222222222222222222o22222222222222222222O2222222222222222o222222222222O>2222222222220Ds~{vsf{}|0(2I2222222222222222i222222222222222222220Fkbw0(20@wuWj0>222222222222222222220@wuWj0(20I)-/"?+Oi#>!+o02222222222222222o>2222222222222222i222222222222222222220Fkbw0(20Qzwqyag0>222222222222222222220B`w{aw]tDs~{vsf{}|0(0^@Qt}`F`sqy 3/0>222222222222222222220@wcg{`wvT{w~va0(2I0^@Qt}`F`sqy 0O>222222222222222222220Tg|qf{}|\sw0(20VQBVM^@QMdw`{t{qsf{}|02222222222222222o222222222222O22222222o>22222222i2222222222220T{w~v\sw0(20^@Qt}`F`sqy 0>2222222222220^}qsf{}|0(2i22222222222222220]bf{}|a0(2I22222222222222222222i2222222222222222222222220]ttawf@wtw`w|qw0(2I2222222222222222222222222222i222222222222222222222222222222220@wtw`w|qwT{w~v0(20f`sqy 0>222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>222222222222222222222222222222220]ttawf0(2"2222222222222222222222222222o>2222222222222222222222222222i222222222222222222222222222222220@wtw`w|qwT{w~v0(20f`sqy!0>222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uAfs`f0>222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uW|v0>222222222222222222222222222222220]ttawf0(2"2222222222222222222222222222o222222222222222222222222O22222222222222222222o2222222222222222O222222222222o>2222222222220Ds~{vsf{}|0(2I2222222222222222i222222222222222222220Fkbw0(20@wuWj0>222222222222222222220@wuWj0(20INNaNNAOi">#o02222222222222222o222222222222O22222222o>22222222i2222222222220T{w~v\sw0(20f`sqy!0>2222222222220^}qsf{}|0(2i22222222222222220]bf{}|a0(2I22222222222222222222i2222222222222222222222220B`w{aw]t]bf{}|0(20afsfw]`B`}d{|qw3/LPQ60>2222222222222222222222220]ttawf@wtw`w|qw0(2I2222222222222222222222222222i222222222222222222222222222222220@wtw`w|qwT{w~v0(20f`sqy 0>222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>222222222222222222222222222222220]ttawf0(2"2222222222222222222222222222o222222222222222222222222O>2222222222222222222222220Awbs`sf}`0(2I2222222222222222222222222222i222222222222222222222222222222220B}a{f{}|0(20Afs`f0>222222222222222222222222222222220[|q~gvwv[|T{w~v0(2f`gw>222222222222222222222222222222220@wuWj0(207I"?+O02222222222222222222222222222o>2222222222222222222222222222i222222222222222222222222222222220B}a{f{}|0(20W|v0>222222222222222222222222222222220[|q~gvwv[|T{w~v0(2f`gw>222222222222222222222222222222220]bf{}|a0(2I2222222222222222222222222222222222220-022222222222222222222222222222222O2222222222222222222222222222o222222222222222222222222O22222222222222222222o>22222222222222222222i2222222222222222222222220B`w{aw]t]bf{}|0(20afsfw]`B`}d{|qw/LPQ60>2222222222222222222222220]ttawf@wtw`w|qw0(2I2222222222222222222222222222i222222222222222222222222222222220@wtw`w|qwT{w~v0(20f`sqy 0>222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>222222222222222222222222222222220]ttawf0(2"2222222222222222222222222222o222222222222222222222222O>2222222222222222222222220Awbs`sf}`0(2I2222222222222222222222222222i222222222222222222222222222222220B}a{f{}|0(20Afs`f0>222222222222222222222222222222220[|q~gvwv[|T{w~v0(2f`gw>222222222222222222222222222222220@wuWj0(20M7I"?+OS02222222222222222222222222222o>2222222222222222222222222222i222222222222222222222222222222220B}a{f{}|0(20W|v0>222222222222222222222222222222220[|q~gvwv[|T{w~v0(2f`gw>222222222222222222222222222222220]bf{}|a0(2I2222222222222222222222222222222222220-022222222222222222222222222222222O2222222222222222222222222222o222222222222222222222222O22222222222222222222o2222222222222222O222222222222o>2222222222220Qz{~vT{w~va0(2I2222222222222222i222222222222222222220T{w~v\sw0(20suAf`{bwDw`a{}|0>222222222222222222220^}qsf{}|0(2i2222222222222222222222220]bf{}|a0(2I2222222222222222222222222222i222222222222222222222222222222220B`w{aw]t]bf{}|0(20afsfw]`B`}d{|qw3/LPQ60>222222222222222222222222222222220]ttawf@wtw`w|qw0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20f`sqy!0>22222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawf0(2#222222222222222222222222222222222222o22222222222222222222222222222222O>222222222222222222222222222222220^w|ufz]t[|fw`waf0(2#2222222222222222222222222222o>2222222222222222222222222222i222222222222222222222222222222220B`w{aw]t]bf{}|0(20afsfw]`B`}d{|qw/LPQ60>222222222222222222222222222222220]ttawf@wtw`w|qw0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20f`sqy!0>22222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawf0(2 222222222222222222222222222222222222o22222222222222222222222222222222O>222222222222222222222222222222220^w|ufz]t[|fw`waf0(2#2222222222222222222222222222o222222222222222222222222O22222222222222222222o>222222222222222222220Ds~{vsf{}|0(2I222222222222222222222222i22222222222222222222222222220Fkbw0(20@wuWj0>22222222222222222222222222220@wuWj0(20I"?+O0222222222222222222222222o22222222222222222222O2222222222222222o>2222222222222222i222222222222222222220T{w~v\sw0(20xg`{av{qf{}|Dw`a{}|0>222222222222222222220^}qsf{}|0(2i2222222222222222222222220]bf{}|a0(2I2222222222222222222222222222i222222222222222222222222222222220]ttawf@wtw`w|qw0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20suAf`{bwDw`a{}|0>22222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>22222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawf0(2"222222222222222222222222222222222222o22222222222222222222222222222222O>222222222222222222222222222222220^w|ufz]t[|fw`waf0(2#2222222222222222222222222222o222222222222222222222222O22222222222222222222o>222222222222222222220Ds~{vsf{}|0(2I222222222222222222222222i22222222222222222222222222220Fkbw0(20@wuWj0>22222222222222222222222222220@wuWj0(20I"?+S?HO0222222222222222222222222o22222222222222222222O2222222222222222o>2222222222222222i222222222222222222220T{w~v\sw0(20b}afs~Q}vw0>222222222222222222220^}qsf{}|0(2i2222222222222222222222220]bf{}|a0(2I2222222222222222222222222222i222222222222222222222222222222220]ttawf@wtw`w|qw0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20xg`{av{qf{}|Dw`a{}|0>22222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>22222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawf0(2"222222222222222222222222222222222222o22222222222222222222222222222222O>222222222222222222222222222222220^w|ufz]t[|fw`waf0(2##2222222222222222222222222222o222222222222222222222222O>2222222222222222222222220B}afB`}qwaa0(2I2222222222222222222222222222i222222222222222222222222222222220F`{0(2f`gw2222222222222222222222222222o222222222222222222222222O22222222222222222222o>222222222222222222220Ds~{vsf{}|0(2I222222222222222222222222i22222222222222222222222222220Fkbw0(20@wuWj0>22222222222222222222222222220@wuWj0(20IS?H"?+2Oi##o0222222222222222222222222o22222222222222222222O2222222222222222o>2222222222222222i222222222222222222220T{w~v\sw0(20q~saa0>222222222222222222220^}qsf{}|0(2i2222222222222222222222220]bf{}|a0(2I2222222222222222222222222222i222222222222222222222222222222220]ttawf@wtw`w|qw0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20b}afs~Q}vw0>22222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>22222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawf0(2"222222222222222222222222222222222222o22222222222222222222222222222222O>222222222222222222222222222222220^w|ufz]t[|fw`waf0(2 2222222222222222222222222222o222222222222222222222222O>2222222222222222222222220B}afB`}qwaa0(2I2222222222222222222222222222i222222222222222222222222222222220F`{0(2f`gw2222222222222222222222222222o222222222222222222222222O22222222222222222222o>222222222222222222220Ds~{vsf{}|0(2I222222222222222222222222i22222222222222222222222222220Fkbw0(20@wuWj0>22222222222222222222222222220@wuWj0(20IS?H"?+2Oi o0222222222222222222222222o22222222222222222222O2222222222222222o>2222222222222222i222222222222222222220T{w~v\sw0(20`waf`{qf{}|a0>222222222222222222220^}qsf{}|0(2i2222222222222222222222220]bf{}|a0(2I2222222222222222222222222222i222222222222222222222222222222220]ttawf@wtw`w|qw0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20q~saa0>22222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>22222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawf0(2"222222222222222222222222222222222222o22222222222222222222222222222222O>222222222222222222222222222222220^w|ufz]t[|fw`waf0(2#"2222222222222222222222222222o222222222222222222222222O>2222222222222222222222220B}afB`}qwaa0(2I2222222222222222222222222222i222222222222222222222222222222220F`{0(2f`gw2222222222222222222222222222o222222222222222222222222O22222222222222222222o>222222222222222222220Ds~{vsf{}|0(2I222222222222222222222222i22222222222222222222222222220Fkbw0(20@wuWj0>22222222222222222222222222220@wuWj0(20IS?H"?+2Oi#"o0222222222222222222222222o22222222222222222222O2222222222222222o>2222222222222222i222222222222222222220T{w~v\sw0(20w|v}`aww|fa0>222222222222222222220^}qsf{}|0(2i2222222222222222222222220]bf{}|a0(2I2222222222222222222222222222i222222222222222222222222222222220]ttawf@wtw`w|qw0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20`waf`{qf{}|a0>22222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>22222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawf0(2"222222222222222222222222222222222222o22222222222222222222222222222222O>222222222222222222222222222222220^w|ufz]t[|fw`waf0(2&2222222222222222222222222222o222222222222222222222222O>2222222222222222222222220B}afB`}qwaa0(2I2222222222222222222222222222i222222222222222222222222222222220F`{0(2f`gw2222222222222222222222222222o222222222222222222222222O22222222222222222222o>222222222222222222220Ds~{vsf{}|0(2I222222222222222222222222i22222222222222222222222222220Fkbw0(20@wuWj0>22222222222222222222222222220@wuWj0(20IS?H"?+2Oi&o0222222222222222222222222o22222222222222222222O2222222222222222o>2222222222222222i222222222222222222220T{w~v\sw0(20awj0>222222222222222222220^}qsf{}|0(2i2222222222222222222222220]bf{}|a0(2I2222222222222222222222222222i222222222222222222222222222222220]ttawf@wtw`w|qw0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20w|v}`aww|fa0>22222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>22222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawf0(2"222222222222222222222222222222222222o22222222222222222222222222222222O>222222222222222222222222222222220^w|ufz]t[|fw`waf0(2#2222222222222222222222222222o222222222222222222222222O22222222222222222222o>222222222222222222220_sbFsp~w\sw0(20AwjQ}vw0>222222222222222222220Ds~{vsf{}|0(2I222222222222222222222222i22222222222222222222222222220Fkbw0(20@wuWj0>22222222222222222222222222220@wuWj0(20I# +_TJO0222222222222222222222222o22222222222222222222O2222222222222222o>2222222222222222i222222222222222222220T{w~v\sw0(20zw{uzf0>222222222222222222220^}qsf{}|0(2i2222222222222222222222220]bf{}|a0(2I2222222222222222222222222222i222222222222222222222222222222220]ttawf@wtw`w|qw0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20awj0>22222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>22222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawf0(2"222222222222222222222222222222222222o22222222222222222222222222222222O>222222222222222222222222222222220^w|ufz]t[|fw`waf0(2!2222222222222222222222222222o222222222222222222222222O>2222222222222222222222220B}afB`}qwaa0(2I2222222222222222222222222222i222222222222222222222222222222220F`{0(2f`gw2222222222222222222222222222o222222222222222222222222O22222222222222222222o>222222222222222222220Ds~{vsf{}|0(2I222222222222222222222222i22222222222222222222222222220Fkbw0(20@wuWj0>22222222222222222222222222220@wuWj0(20I"?+2Oi!o0222222222222222222222222o22222222222222222222O2222222222222222o>2222222222222222i222222222222222222220T{w~v\sw0(20ew{uzf0>222222222222222222220^}qsf{}|0(2i2222222222222222222222220]bf{}|a0(2I2222222222222222222222222222i222222222222222222222222222222220]ttawf@wtw`w|qw0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20zw{uzf0>22222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>22222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawf0(2"222222222222222222222222222222222222o22222222222222222222222222222222O>222222222222222222222222222222220^w|ufz]t[|fw`waf0(2!2222222222222222222222222222o222222222222222222222222O>2222222222222222222222220B}afB`}qwaa0(2I2222222222222222222222222222i222222222222222222222222222222220F`{0(2f`gw2222222222222222222222222222o222222222222222222222222O22222222222222222222o>222222222222222222220Ds~{vsf{}|0(2I222222222222222222222222i22222222222222222222222222220Fkbw0(20@wuWj0>22222222222222222222222222220@wuWj0(20I"?+2Oi!o0222222222222222222222222o22222222222222222222O2222222222222222o>2222222222222222i222222222222222222220T{w~v\sw0(20zs{`Q}~}`0>222222222222222222220^}qsf{}|0(2i2222222222222222222222220]bf{}|a0(2I2222222222222222222222222222i222222222222222222222222222222220]ttawf@wtw`w|qw0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20ew{uzf0>22222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>22222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawf0(2"222222222222222222222222222222222222o22222222222222222222222222222222O>222222222222222222222222222222220^w|ufz]t[|fw`waf0(2!2222222222222222222222222222o222222222222222222222222O>2222222222222222222222220B}afB`}qwaa0(2I2222222222222222222222222222i222222222222222222222222222222220F`{0(2f`gw2222222222222222222222222222o222222222222222222222222O22222222222222222222o>222222222222222222220Ds~{vsf{}|0(2I222222222222222222222222i22222222222222222222222222220Fkbw0(20@wuWj0>22222222222222222222222222220@wuWj0(20IS?H2Oi!o0222222222222222222222222o22222222222222222222O2222222222222222o>2222222222222222i222222222222222222220T{w~v\sw0(20wkwQ}~}`0>222222222222222222220^}qsf{}|0(2i2222222222222222222222220]bf{}|a0(2I2222222222222222222222222222i222222222222222222222222222222220]ttawf@wtw`w|qw0(2I222222222222222222222222222222222222i22222222222222222222222222222222222222220@wtw`w|qwT{w~v0(20zs{`Q}~}`0>22222222222222222222222222222222222222220]ttawfT`}0(20@wtT{w~vAf`{|uW|v0>22222222222222222222222222222222222222220]ttawfF}0(20Fz{aT{w~vAf`{|uAfs`f0>22222222222222222222222222222222222222220]ttawf0(2"222222222222222222222222222222222226k66666666666666666666666666666666K:666666666666666666666666666666664Zsxqb~Yp_xbsdseb4,6%6666666666666666666666666666k666666666666666666666666K:6666666666666666666666664FyebFdyusee4,6M6666666666666666666666666666m666666666666666666666666666666664Bd{4,6bdcs6666666666666666666666666666k666666666666666666666666K66666666666666666666k:666666666666666666664@wzrwbyx4,6M666666666666666666666666m66666666666666666666666666664Bofs4,64DsqSn4:66666666666666666666666666664DsqSn4,64MW;L6Km%k4666666666666666666666666k66666666666666666666K6666666666666666k:6666666666666666m666666666666666666664PszrXw{s4,64reudsbyxwdoRwbw'4:666666666666666666664Zyuwbyx4,6m6666666666666666666666664Yfbyxe4,6M6666666666666666666666666666m666666666666666666666666666666664YppesbDspsdsxus4,6M666666666666666666666666666666666666m66666666666666666666666666666666666666664DspsdsxusPszr4,64sosUyzyd4:66666666666666666666666666666666666666664YppesbPdy{4,64DspPszrEbdxqSxr4:66666666666666666666666666666666666666664YppesbBy4,64B~ePszrEbdxqEbwdb4:66666666666666666666666666666666666666664Yppesb4,6&666666666666666666666666666666666666k66666666666666666666666666666666K:666666666666666666666666666666664Zsxqb~Yp_xbsdseb4,6'&6666666666666666666666666666k666666666666666666666666K:6666666666666666666666664FyebFdyusee4,6M6666666666666666666666666666m666666666666666666666666666666664Bd{4,6bdcs6666666666666666666666666666k666666666666666666666666K66666666666666666666k:666666666666666666664@wzrwbyx4,6M666666666666666666666666m66666666666666666666666666664Bofs4,64DsqSn4:66666666666666666666666666664DsqSn4,64MJJeJJEKm'&k4666666666666666666666666k66666666666666666666K6666666666666666k:6666666666666666m666666666666666666664PszrXw{s4,64reudsbyxwdoRwbw$4:666666666666666666664Zyuwbyx4,6m6666666666666666666666664Yfbyxe4,6M6666666666666666666666666666m666666666666666666666666666666664YppesbDspsdsxus4,6M666666666666666666666666666666666666m66666666666666666666666666666666666666664DspsdsxusPszr4,64reudsbyxwdoRwbw'4:66666666666666666666666666666666666666664YppesbPdy{4,64DspPszrEbdxqSxr4:66666666666666666666666666666666666666664YppesbBy4,64B~ePszrEbdxqEbwdb4:66666666666666666666666666666666666666664Yppesb4,6&666666666666666666666666666666666666k66666666666666666666666666666666K:666666666666666666666666666666664Zsxqb~Yp_xbsdseb4,6$$6666666666666666666666666666k666666666666666666666666K:6666666666666666666666664FyebFdyusee4,6M6666666666666666666666666666m666666666666666666666666666666664Bd{4,6bdcs6666666666666666666666666666k666666666666666666666666K66666666666666666666k:666666666666666666664@wzrwbyx4,6M666666666666666666666666m66666666666666666666666666664Bofs4,64DsqSn4:66666666666666666666666666664DsqSn4,64MJJeJJEKm$$k4666666666666666666666666k66666666666666666666K6666666666666666k:6666666666666666m666666666666666666664PszrXw{s4,64esucdboPcxubyx4:666666666666666666664Zyuwbyx4,6m6666666666666666666666664Yfbyxe4,6M6666666666666666666666666666m666666666666666666666666666666664YppesbDspsdsxus4,6M666666666666666666666666666666666666m66666666666666666666666666666666666666664DspsdsxusPszr4,64reudsbyxwdoRwbw$4:66666666666666666666666666666666666666664YppesbPdy{4,64DspPszrEbdxqSxr4:66666666666666666666666666666666666666664YppesbBy4,64B~ePszrEbdxqEbwdb4:66666666666666666666666666666666666666664Yppesb4,6&666666666666666666666666666666666666k66666666666666666666666666666666K:666666666666666666666666666666664Zsxqb~Yp_xbsdseb4,6#6666666666666666666666666666k666666666666666666666666K:6666666666666666666666664FyebFdyusee4,6M6666666666666666666666666666m666666666666666666666666666666664Bd{4,6bdcs6666666666666666666666666666k666666666666666666666666K66666666666666666666k:666666666666666666664@wzrwbyx4,6M666666666666666666666666m66666666666666666666666666664Bofs4,64DsqSn4:66666666666666666666666666664DsqSn4,64MJJeJJEKm#k4666666666666666666666666k66666666666666666666K6666666666666666k666666666666K:6666666666664@wzrwbyx4,6M6666666666666666m666666666666666666664Bofs4,64DsqSn4:666666666666666666664Fds{esYp@wzrwbyx4,64ebwbsYdFdy`xus7+HTU24:666666666666666666664DsqSn4,64MJJeJJEKm':.'k46666666666666666k:6666666666666666m666666666666666666664Bofs4,64DsqSn4:666666666666666666664Fds{esYp@wzrwbyx4,64ebwbsYdFdy`xus+HTU24:666666666666666666664DsqSn4,64MJJeJJEKm':.$k46666666666666666k:6666666666666666m666666666666666666664Bofs4,64U~su}ec{4:666666666666666666664Fds{esYp@wzrwbyx4,4ZDUpydBdwu}%7+4:666666666666666666664DsgcdsrPszre4,6M4ZDUpydBdwu}%4K:666666666666666666664PcxubyxXw{s4,64RUFRIZDUI`sdpuwbyx46666666666666666k666666666666K66666666k:66666666m6666666666664PszrXw{s4,64ZDUpydBdwu}%4:6666666666664Zyuwbyx4,6m66666666666666664Yfbyxe4,6M66666666666666666666m6666666666666666666666664YppesbDspsdsxus4,6M6666666666666666666666666666m666666666666666666666666666666664DspsdsxusPszr4,64bdwu}%4:666666666666666666666666666666664YppesbPdy{4,64DspPszrEbdxqSxr4:666666666666666666666666666666664YppesbBy4,64B~ePszrEbdxqEbwdb4:666666666666666666666666666666664Yppesb4,6&6666666666666666666666666666k666666666666666666666666K:6666666666666666666666664Zsxqb~Yp_xbsdseb4,6'66666666666666666666k6666666666666666K666666666666k:6666666666664@wzrwbyx4,6M6666666666666666m666666666666666666664Bofs4,64DsqSn4:666666666666666666664DsqSn4,64MJJeJJEKm&:'k46666666666666666k666666666666K66666666k6666Kk[wfBwtzsXw{s,6EsnUyrs':[6{wzs$:P6ps{wzs:/:N6cxefsupsr[wfBwtzsXw{s,6EbwbsYdFdy`xusUyrsW]: % &#/6Wzwe}wWZ: % &%%6Wzwtw{wWD: % &$'6Wd}wxeweWL: % &$ 6WdlyxwUW: % &'"6UwzpydxwUY: % &$&6UyzydwryUB: % && 6UyxxsubucbRU: % &"%6Rebdub6yp6Uyzc{twRS: % &''6RszwawdsPZ: % &'&6PzydrwQW: % &##6Qsydqw^_: % &"!6^waw_W: % &'.6_yaw_R: % &#&6_rw~y_Z: % &%#6_zzxye_X: % &%!6_xrwxw]E: % &$$6]wxewe]O: % &" 6]sxbcu}oZW: % &&!6Zycewxw[W: % &&$6[weewu~cesbbe[R: % &&%6[wdozwxr[S: % &"'6[wxs[_: % &%$6[u~qwx[X: % &%.6[xxseybw[Y: % &%&6[eeycd[E: % &#'6[eeeeff[B: % &&.6[yxbwxwXU: % &&"6Xydb~6UwdyzxwXR: % &%"6Xydb~6Rw}ybwXS: % &#"6Xstdwe}wX^: % &%/6Xsa6^w{fe~dsX\: % &% 6Xsa6\sdesoX[: % &&/6Xsa6[snuyX@: % &"/6Xs`wrwXO: % &&'6Xsa6Oyd}Y^: % &$%6Y~yY]: % &#.6Y}zw~y{wYD: % &$/6YdsqyxFW: % &$#6Fsxxeoz`wxwD_: % &#$6D~yrs6_ezwxrEU: % &Eycb~6UwdyzxwER: % &"$6Eycb~6Rw}ybwBX: % &#%6BsxxseessBN: % &'#6BsnweCB: % &"&6Cbw~@W: % &&&6@dqxw@B: % &$"6@sd{yxbAW: % &"#6Awe~xqbyxA_: % &%'6AeuyxexA@: % & '6Aseb6@dqxwAO: % & &6Aoy{xqWT: &""%$6WztsdbwTU: % &$.6Tdbe~6Uyzc{tw[T: % &".6[wxbytwXT: % &'!6Xsa6Tdcxeau}XP: % &' 6Xsapycxrzwxr6wxr6ZwtdwrydXB: &""%"6Xydb~aseb6BsddbydoXE: % &'%6Xy`w6EuybwXC: &""%%6Xcxw`cbYX: % &'$6YxbwdyFS: &""$ 6Fdxus6Srawdr6_ezwxrGU: &""$.6GcstsuE]: % &""6Ewe}wbu~sawxOB: &""$/6Oc}yx6BsddbydoWE: &""$!6W{sduwx6Ew{ywP[6Psrsdwz6Ebwbse6yp6[udyxsewQ[: % &'/6Qcw{[^6[wde~wz6_ezwxre[F: &""%&6Xydb~sd6[wdwxxw6_ezwxreFD: &""%'6Fcsdby6Duy@_: % & $6@dqx6_ezwxreA]6Aw}s6_ezwxr \ No newline at end of file diff --git a/dist/parser-resources/GS1_AI.data b/dist/parser-resources/GS1_AI.data deleted file mode 100644 index eb6db17d..00000000 --- a/dist/parser-resources/GS1_AI.data +++ /dev/null @@ -1,66 +0,0 @@ -LKX2s*O[9WIA&b{gf*2S8$>0=08;U$*O[9WIAWEix&|p|*2S>0=08;$::<8:Uus((((*Kglm\qxm*2(*O[9WIA*$((((*Lmlaki|mlDajzizq*2(*Lqfie{gn|KglmXiz{mzLmlaki|gz*$((((*XzmXzgkm{{*2(S((((((((s((((((((((((*N}fk|agfFiem*2(*LKXLWO[9WIAW[xda|Mdmemf|\gB[GF*((((((((u((((U$((((*EixNadm*2(*O[9WIAWEix*$((((*Namdl{*2(S((((((((s((((((((((((*NamdlFiem*2(*88*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*88*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S:U((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*^idali|agf*2(S((((((((((((((((s((((((((((((((((((((*\qxm*2(*K`mkc{}e*$((((((((((((((((((((*N}fk|agfFiem*2(*LKXLWO[9WIAW~mzanaki|agfWf}emzak*$((((((((((((((((((((*Afx}|\qxm*2(*^A\WNAMDLW^ID]M*((((((((((((((((u((((((((((((U$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*88IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*88*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*88Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*88*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((s((((((((((((((((((((((((((((*\qxm*2(*K`mkc{}e*$((((((((((((((((((((((((((((*N}fk|agfFiem*2(*LKXLWO[9WIAW~mzanaki|agfWf}emzak*((((((((((((((((((((((((u((((((((((((((((((((U$((((((((((((((((((((*K`adlNamdl{*2(S((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*88Mp|mf{agfLaoa|*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*88Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(9((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8%1U*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u$((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*88KgexifqXzmnapIfl[mzaidZmnmzmfkm*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*88Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(9((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(9>((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((u$((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*k`mkcLaoa|Ngz88*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*88Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafoMfl*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafoMfl*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(9((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8%1U*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u((((((((((((((((((((U((((((((((((((((u((((((((((((U((((((((u$((((((((s((((((((((((*NamdlFiem*2(*89*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*89*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S:U((((((((((((((((((((u$((((((((((((((((((((s((((((((((((((((((((((((*[mizk`ZmoMp*2(*S9%1US8%1U"*((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*^idali|agf*2(S((((((((((((((((s((((((((((((((((((((*\qxm*2(*K`mkc{}e*$((((((((((((((((((((*N}fk|agfFiem*2(*LKXLWO[9WIAW~mzanaki|agfWf}emzak*$((((((((((((((((((((*Afx}|\qxm*2(*^A\WNAMDLW^ID]M*((((((((((((((((u((((((((((((U$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*89IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*89*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*89Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*89*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((U$((((((((((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*[mizk`ZmoMp*2(*S9%1US8%1U"*((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((s((((((((((((((((((((((((((((*\qxm*2(*K`mkc{}e*$((((((((((((((((((((((((((((*N}fk|agfFiem*2(*LKXLWO[9WIAW~mzanaki|agfWf}emzak*((((((((((((((((((((((((u((((((((((((((((((((U((((((((((((((((u((((((((((((U((((((((u$((((((((s((((((((((((*NamdlFiem*2(*8:*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*8:*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S:U((((((((((((((((((((u$((((((((((((((((((((s((((((((((((((((((((((((*[mizk`ZmoMp*2(*S9%1US8%1U"*((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*^idali|agf*2(S((((((((((((((((s((((((((((((((((((((*\qxm*2(*K`mkc{}e*$((((((((((((((((((((*N}fk|agfFiem*2(*LKXLWO[9WIAW~mzanaki|agfWf}emzak*$((((((((((((((((((((*Afx}|\qxm*2(*^A\WNAMDLW^ID]M*((((((((((((((((u((((((((((((U$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*8:IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*8:*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*8:Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*8:*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((U$((((((((((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*[mizk`ZmoMp*2(*S9%1US8%1U"*((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((s((((((((((((((((((((((((((((*\qxm*2(*K`mkc{}e*$((((((((((((((((((((((((((((*N}fk|agfFiem*2(*LKXLWO[9WIAW~mzanaki|agfWf}emzak*((((((((((((((((((((((((u((((((((((((((((((((U((((((((((((((((u((((((((((((U((((((((u$((((((((s((((((((((((*NamdlFiem*2(*98*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*98*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S:U((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*98IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*98*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*98Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*98*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u((((((((((((((((u((((((((((((U((((((((u$((((((((s((((((((((((*NamdlFiem*2(*99*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*99*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S:U((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*99IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*99*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*99Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*99*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*K`adlNamdl{*2(S((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*QmizGnXzgl}k|agfLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*99Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*N}fk|agfFiem*2(*LKXLWO[9WIAWOm|N}ddQmiz_a|`Kmf|}zqZ}dm*((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8%1Us:u*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u$((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*Egf|`GnXzgl}k|agfLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*99Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8US9%1Ut9S89:U*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u$((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*LiqGnXzgl}k|agfLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*99Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(<((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*Xzmea{mGn^idali|agf*2(*QmizGnXzgl}k|agfLi|m)5V :S=%1UtS;%>UTTlt?S8%=U!,*$((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8US8%1UtS9:US8%1Ut;S89U*((((((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*Xzmea{mGn^idali|agf*2(*QmizGnXzgl}k|agfLi|m5V :S=%1UtS;%>UTTlt?S8%=U!,*$((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8US9%1UtS9:US8%1Ut;S89U*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u((((((((((((((((((((U((((((((((((((((u((((((((((((U((((((((u$((((((((s((((((((((((*NamdlFiem*2(*9:*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*9:*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S:U((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*9:IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9:*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*9:Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9:*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*K`adlNamdl{*2(S((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*QmizGnL}mLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9:Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*N}fk|agfFiem*2(*LKXLWO[9WIAWOm|N}ddQmiz_a|`Kmf|}zqZ}dm*((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8%1Us:u*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u$((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*Egf|`GnL}mLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9:Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8US9%1Ut9S89:U*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u$((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*LiqGnL}mLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9:Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(<((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8US8%1UtS9:US8%1Ut;S89U*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u((((((((((((((((((((U((((((((((((((((u((((((((((((U((((((((u$((((((((s((((((((((((*NamdlFiem*2(*9;*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*9;*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S:U((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*9;IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9;*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*9;Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9;*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*K`adlNamdl{*2(S((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*QmizGnXikcioafoLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9;Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*N}fk|agfFiem*2(*LKXLWO[9WIAWOm|N}ddQmiz_a|`Kmf|}zqZ}dm*((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8%1Us:u*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u$((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*Egf|`GnXikcioafoLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9;Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8US9%1Ut9S89:U*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u$((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*LiqGnXikcioafoLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9;Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(<((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8US8%1UtS9:US8%1Ut;S89U*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u((((((((((((((((((((U((((((((((((((((u((((((((((((U((((((((u$((((((((s((((((((((((*NamdlFiem*2(*9=*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*9=*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S:U((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*9=IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9=*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*9=Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9=*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*K`adlNamdl{*2(S((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*QmizGnJm{|JmngzmLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9=Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*N}fk|agfFiem*2(*LKXLWO[9WIAWOm|N}ddQmiz_a|`Kmf|}zqZ}dm*((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8%1Us:u*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u$((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*Egf|`GnJm{|JmngzmLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9=Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8US9%1Ut9S89:U*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u$((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*LiqGnJm{|JmngzmLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9=Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(<((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8US8%1UtS9:US8%1Ut;S89U*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u((((((((((((((((((((U((((((((((((((((u((((((((((((U((((((((u$((((((((s((((((((((((*NamdlFiem*2(*9>*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*9>*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S:U((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*9>IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9>*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*9>Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9>*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*K`adlNamdl{*2(S((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*QmizGn[mddJqLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9>Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*N}fk|agfFiem*2(*LKXLWO[9WIAWOm|N}ddQmiz_a|`Kmf|}zqZ}dm*((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8%1Us:u*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u$((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*Egf|`Gn[mddJqLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9>Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8US9%1Ut9S89:U*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u$((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*LiqGn[mddJqLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9>Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(<((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8US8%1UtS9:US8%1Ut;S89U*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u((((((((((((((((((((U((((((((((((((((u((((((((((((U((((((((u$((((((((s((((((((((((*NamdlFiem*2(*9?*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*9?*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S:U((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*9?IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9?*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*9?Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9?*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*K`adlNamdl{*2(S((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*QmizGnMpxazi|agfLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9?Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*N}fk|agfFiem*2(*LKXLWO[9WIAWOm|N}ddQmiz_a|`Kmf|}zqZ}dm*((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8%1Us:u*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u$((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*Egf|`GnMpxazi|agfLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9?Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8US9%1Ut9S89:U*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u$((((((((((((((((((((((((s((((((((((((((((((((((((((((*NamdlFiem*2(*LiqGnMpxazi|agfLi|m*$((((((((((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*9?Li|i*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(<((((((((((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((*^idali|agf*2(S((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*Xzmea{mGn^idali|agf*2(*QmizGnMpxazi|agfLi|m)5V :S=%1UtS;%>UTTlt?S8%=U!,*$((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8US8%1UtS9:US8%1Ut;S89U*((((((((((((((((((((((((((((((((u$((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((*Xzmea{mGn^idali|agf*2(*QmizGnMpxazi|agfLi|m5V :S=%1UtS;%>UTTlt?S8%=U!,*$((((((((((((((((((((((((((((((((((((*\qxm*2(*ZmoMp*$((((((((((((((((((((((((((((((((((((*ZmoMp*2(*S8US9%1UtS9:US8%1Ut;S89U*((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((U((((((((((((((((((((((((u((((((((((((((((((((U((((((((((((((((u((((((((((((U((((((((u$((((((((s((((((((((((*NamdlFiem*2(*:8*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*:8*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S:U((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*:8IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*:8*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*:8Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*:8*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u((((((((((((((((u((((((((((((U((((((((u$((((((((s((((((((((((*NamdlFiem*2(*:9*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*:9*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S:U((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*:9IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*:9*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*:9Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*:9*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u((((((((((((((((u((((((((((((U((((((((u$((((((((s((((((((((((*NamdlFiem*2(*::*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*::*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S:U((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*::IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*::*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(:((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*::Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*::*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(:((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u((((((((((((((((u((((((((((((U((((((((u$((((((((s((((((((((((*NamdlFiem*2(*:;=*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*:;=*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S;U((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*:;=IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*:;=*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(;((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*:;=Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*:;=*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(;((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u((((((((((((((((u((((((((((((U((((((((u$((((((((s((((((((((((*NamdlFiem*2(*:<8*$((((((((((((*A{NamdlGx|agfid*2(9$((((((((((((*Dgki|agf*2(s((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((s((((((((((((((((((((((((*B[GFCmq*2(*:<8*((((((((((((((((((((u((((((((((((((((U$((((((((((((((((*Xg{|Xzgkm{{*2(S((((((((((((((((((((s((((((((((((((((((((((((*[}j{|zafo*2(S;U((((((((((((((((((((u((((((((((((((((U((((((((((((u$((((((((((((*K`adlNamdl{*2(S((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*:<8IA*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*:<8*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(8((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U$((((((((((((((((((((((((((((((((*Dmfo|`GnAf|mzm{|*2(;((((((((((((((((((((((((((((u((((((((((((((((((((((((U((((((((((((((((((((u$((((((((((((((((((((*Eix\ijdmFiem*2(*IAKglm*((((((((((((((((u$((((((((((((((((s((((((((((((((((((((*NamdlFiem*2(*:<8Li|i*$((((((((((((((((((((*Dgki|agf*2(s((((((((((((((((((((((((*Gx|agf{*2(S((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((*Gnn{m|Zmnmzmfkm*2(S((((((((((((((((((((((((((((((((((((s((((((((((((((((((((((((((((((((((((((((*ZmnmzmfkmNamdl*2(*:<8*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|Nzge*2(*ZmnNamdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|\g*2(*\`a{Namdl[|zafo[|iz|*$((((((((((((((((((((((((((((((((((((((((*Gnn{m|*2(;((((((((((((((((((((((((((((((((((((u((((((((((((((((((((((((((((((((U 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68HJG8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68HJG8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qIs# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HJGW_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HJG8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6I# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HJGZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HJG8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6I# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68HJH8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68HJH8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qIs# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HJHW_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HJH8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6I# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HJHZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HJH8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6I# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68HJI8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68HJI8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qIs# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HJIW_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HJI8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6I# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HJIZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HJI8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6I# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68HKF8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68HKF8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qIs# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HKFW_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HKF8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6I# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HKFZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HKF8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6I# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68HKG8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68HKG8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qIs# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HKGW_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HKG8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6I# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HKGZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HKG8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6I# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68HKI8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68HKI8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qIs# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HKIW_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HKI8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6I# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HKIZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HKI8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6I# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68HKI\Ž{zfwˆŠ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HKIZwŠw8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6F# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6GI# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“B# 66666666666666666666666666668lw‚zwŠ…„8P6q# 66666666666666666666666666666666‘# 6666666666666666666666666666666666668j†{8P68Y~{y‰‹ƒ8B# 6666666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_uŒ{ˆ|ywŠ…„u„‹ƒ{ˆy8# 66666666666666666666666666666666“# 6666666666666666666666666666s# 666666666666666666666666“B# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68HKIi{ˆw‚Y…ƒ†…„{„Š8B# 66666666666666666666666666668_‰\{‚ze†Š…„w‚8P6GB# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HKIZwŠw8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6GI# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666s# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68HKJ8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68HKJ8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qIs# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HKJW_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HKJ8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6I# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HKJZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HKJ8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6I# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68HKK8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68HKK8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qIs# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HKKW_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HKK8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6I# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68HKKZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HKK8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6I# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68HKK\Ž{zfwˆŠ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HKKZwŠw8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6F# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6GI# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“B# 66666666666666666666666666668lw‚zwŠ…„8P6q# 66666666666666666666666666666666‘# 6666666666666666666666666666666666668j†{8P68Y~{y‰‹ƒ8B# 6666666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_uŒ{ˆ|ywŠ…„u„‹ƒ{ˆy8# 66666666666666666666666666666666“# 6666666666666666666666666666s# 666666666666666666666666“B# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68HKKi{ˆw‚Y…ƒ†…„{„Š8B# 66666666666666666666666666668_‰\{‚ze†Š…„w‚8P6GB# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68HKKZwŠw8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6GI# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666s# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IF8B# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IF8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qHs# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IFW_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IF8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6H# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IFZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IF8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6H# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IGF„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IGF„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IGF„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IGF„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGF„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IGF„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGF„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IGF„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGF„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IGF„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IGG„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IGG„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IGG„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IGG„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGG„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IGG„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGG„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IGG„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGG„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IGG„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IGH„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IGH„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IGH„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IGH„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGH„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IGH„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGH„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IGH„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGH„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IGH„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IGI„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IGI„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IGI„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IGI„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGI„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IGI„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGI„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IGI„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGI„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IGI„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IGJ„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IGJ„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IGJ„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IGJ„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGJ„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IGJ„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGJ„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IGJ„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGJ„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IGJ„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IGK„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IGK„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IGK„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IGK„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGK„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IGK„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGK„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IGK„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGK„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IGK„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IGL„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IGL„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IGL„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IGL„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGL„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IGL„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGL„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IGL„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IGL„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IGL„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IHF„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IHF„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IHF„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHF„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHF„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IHF„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHF„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHF„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHF„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IHF„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IHG„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IHG„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IHG„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHG„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHG„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IHG„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHG„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHG„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHG„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IHG„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IHH„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IHH„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IHH„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHH„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHH„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IHH„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHH„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHH„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHH„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IHH„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IHI„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IHI„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IHI„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHI„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHI„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IHI„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHI„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHI„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHI„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IHI„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IHJ„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IHJ„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IHJ„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHJ„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHJ„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IHJ„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHJ„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHJ„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHJ„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IHJ„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IHK„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IHK„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IHK„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHK„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHK„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IHK„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHK„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHK„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHK„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IHK„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IHL„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IHL„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IHL„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHL„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHL„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IHL„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHL„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHL„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHL„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IHL„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IHM„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IHM„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IHM„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHM„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHM„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IHM„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHM„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHM„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHM„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IHM„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IHN„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IHN„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IHN„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHN„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHN„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IHN„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHN„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHN„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHN„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IHN„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IHO„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IHO„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IHO„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHO„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHO„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IHO„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHO„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IHO„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IHO„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IHO„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IIF„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IIF„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IIF„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IIF„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIF„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IIF„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIF„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IIF„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIF„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IIF„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IIG„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IIG„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IIG„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IIG„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIG„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IIG„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIG„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IIG„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIG„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IIG„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IIH„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IIH„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IIH„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IIH„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIH„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IIH„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIH„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IIH„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIH„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IIH„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68III„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68III„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68III„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68III„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68III„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68III„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68III„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68III„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68III„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68III„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IIJ„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IIJ„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IIJ„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IIJ„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIJ„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IIJ„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIJ„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IIJ„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIJ„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IIJ„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IIK„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IIK„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IIK„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IIK„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIK„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IIK„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIK„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IIK„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIK„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IIK„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IIL„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IIL„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IIL„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IIL„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIL„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IIL„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIL„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IIL„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIL„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IIL„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IIM„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IIM„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IIM„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IIM„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIM„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IIM„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIM„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IIM„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IIM„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IIM„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IJF„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IJF„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IJF„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IJF„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJF„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IJF„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJF„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IJF„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJF„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IJF„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IJG„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IJG„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IJG„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IJG„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJG„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IJG„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJG„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IJG„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJG„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IJG„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IJH„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IJH„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IJH„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IJH„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJH„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IJH„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJH„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IJH„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJH„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IJH„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IJI„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IJI„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IJI„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IJI„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJI„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IJI„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJI„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IJI„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJI„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IJI„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IJJ„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IJJ„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IJJ„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IJJ„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJJ„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IJJ„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 66666666666666666666666666666666666666666666‘# 6666666666666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJJ„W_8B# 6666666666666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 6666666666666666666666666666666666666666666666668e||‰{Š8P6I# 66666666666666666666666666666666666666666666“# 6666666666666666666666666666666666666666sB# 66666666666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6G# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666“# 66666666666666666666s# 6666666666666666“B# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IJJ„ZwŠw8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJJ„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6J# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666sB# 6666666666666666666666668f…‰Šfˆ…y{‰‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 666666666666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 66666666666666666666666666666666666666668lw‚‹{8P68IJJ„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 666666666666666666666666666666666666“# 66666666666666666666666666666666s# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666“# 666666666666s# 66666666“B# 66666666‘# 6666666666668\{‚zdwƒ{8P68IJK„8B# 6666666666668_‰\{‚ze†Š…„w‚8P6GB# 6666666666668b…ywŠ…„8P6‘# 66666666666666668e†Š…„‰8P6q# 66666666666666666666‘# 6666666666666666666666668`ieda{8P68IJK„8# 66666666666666666666“# 6666666666666666sB# 66666666666666668f…‰Šfˆ…y{‰‰8P6q# 66666666666666666666‘# 6666666666666666666666668i‹x‰Šˆ„}8P6qJs# 66666666666666666666“B# 66666666666666666666‘# 6666666666666666666666668\‹„yŠ…„dwƒ{8P68ZYfZu]iGuW_u\…ˆƒwŠZ{yƒw‚f…„Š8B# 6666666666666666666666668fwˆwƒ{Š{ˆ‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668_„†‹Šj†{8P68f_ju\_[bZulWbk[8B# 666666666666666666666666666666668lw‚‹{8P68IJK„Z{yƒw‚f…„Š_„zywŠ…ˆ8# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“# 6666666666666666s# 666666666666“B# 6666666666668Y~‚z\{‚z‰8P6q# 6666666666666666‘# 666666666666666666668\{‚zdwƒ{8P68IJK„W_8B# 666666666666666666668b…ywŠ…„8P6‘# 6666666666666666666666668e†Š…„‰8P6q# 6666666666666666666666666666‘# 666666666666666666666666666666668e||‰{Šh{|{ˆ{„y{8P6q# 666666666666666666666666666666666666‘# 66666666666666666666666666666666666666668h{|{ˆ{„y{\{‚z8P68IJK„8B# 66666666666666666666666666666666666666668e||‰{Š\ˆ…ƒ8P68h{|\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Šj…8P68j~‰\{‚ziŠˆ„}iŠwˆŠ8B# 66666666666666666666666666666666666666668e||‰{Š8P6F# 666666666666666666666666666666666666“# 66666666666666666666666666666666sB# 666666666666666666666666666666668b{„}Š~e|_„Š{ˆ{‰Š8P6J# 6666666666666666666666666666“# 666666666666666666666666s# 66666666666666666666“B# 666666666666666666668cw†jwx‚{dwƒ{8P68W_Y…z{8B# 666666666666666666668Y~‚z\{‚z‰8P6q# 666666666666666666666666‘# 66666666666666666666666666668\{‚zdwƒ{8P68IJK„Z{yƒw‚f…„Š_„zywŠ…ˆ8B# 66666666666666666666666666668b…ywŠ…„8P6‘# 666666666666666666666666666666668e†Š…„‰8P6q# 66666666666666666666666·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3CSæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3CSæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3CSæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3CSæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3Ccæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3Ccæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3CcæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3Ccæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Ccæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3CcæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Ccæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3CcæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Ccæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3CcæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3Csæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3Csæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3CsæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3Csæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Csæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3CsæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Csæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3CsæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Csæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3CsæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3Cƒæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3Cƒæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3CƒæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3Cƒæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Cƒæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3CƒæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Cƒæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3CƒæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Cƒæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3CƒæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3C“æ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3C“æ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3C“æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3C“æ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3C“æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3C“æDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3C“æ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3C“æDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3C“æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3C“æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3Sæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3Sæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3SæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3Sæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Sæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3SæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Sæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3SæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Sæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3SæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3Sæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3Sæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3SæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3Sæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Sæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3SæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Sæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3SæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Sæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3SæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3S#æ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3S#æ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3S#æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3S#æ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3S#æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3S#æDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3S#æ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3S#æDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3S#æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3S#æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3S3æ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3S3æ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3S3æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3S3æ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3S3æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3S3æDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3S3æ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3S3æDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3S3æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3S3æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3SCæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3SCæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3SCæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3SCæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3SCæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3SCæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3SCæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3SCæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3SCæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3SCæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3SSæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3SSæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3SSæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3SSæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3SSæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3SSæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3SSæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3SSæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3SSæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3SSæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3Scæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3Scæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3ScæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3Scæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Scæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3ScæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Scæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3ScæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Scæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3ScæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3Ssæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3Ssæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3SsæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3Ssæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Ssæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3SsæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Ssæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3SsæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3Ssæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3SsæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3cæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3cæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3cæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3cæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3cæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3cæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3cæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3cæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3cæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3cæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3cæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3cæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3cæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3cæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3c#æ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3c#æ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3c#æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3c#æ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3c#æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3c#æDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3c#æ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3c#æDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3c#æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3c#æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3c3æ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3c3æ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3c3æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3c3æ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3c3æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3c3æDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3c3æ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3c3æDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3c3æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3c3æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3cCæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3cCæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3cCæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3cCæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cCæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3cCæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cCæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3cCæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cCæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3cCæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3cSæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3cSæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3cSæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3cSæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cSæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3cSæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cSæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3cSæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cSæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3cSæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3ccæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3ccæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3ccæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3ccæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3ccæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3ccæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3ccæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3ccæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3ccæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3ccæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3csæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3csæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3csæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3csæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3csæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3csæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3csæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3csæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3csæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3csæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3cƒæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3cƒæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3cƒæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3cƒæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cƒæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3cƒæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cƒæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3cƒæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3cƒæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3cƒæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3c“æ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3c“æ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3c“æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3c“æ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3c“æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3c“æDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3c“æ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3c“æDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3c“æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3c“æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3s"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3s"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ#ÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3s”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3s"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£#Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"3sDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3s"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£#Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3“æ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3“æ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3“æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3“æ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3“æDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“æ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3“æDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3“æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3“æ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3“æ"Р×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3“æ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3“æDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“æ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3“æDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3“æ”5ô4W''Væ6—4öFV"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“æDG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"6W''Væ6—4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"3“æÆ–6&ÆVÖöWæG—&ÆV"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“æDG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3“æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×РÕР×ÂР·Ð "d–VÆFäÖV"£"3“#æ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3“#æ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3“#æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3“#æ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“#æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3“#æDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“#æ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3“#æDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“#æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3“#æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3“3æ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3“3æ"Р×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3“3æ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“3æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3“3æDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“3æ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3“3æDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“3æ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3“3æ”5ô4W''Væ6—4öFV"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“3æDG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"6W''Væ6—4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"3“3æÆ–6&ÆVÖöWæG—&ÆV"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“3æDG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3“3æDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×РÕР×ÂР·Ð "d–VÆFäÖV"£"3“Cæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3“Cæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3“CæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3“Cæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“Cæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3“CæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“Cæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3“CæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“Cæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3“CæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3“Sæ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"3“Sæ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×ÂР·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3“SæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3“Sæ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“Sæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"3“SæDV6–ÖÆö–æG”æF–6Gö'"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“Sæ”"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£Р×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"3“SæDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"3“Sæ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "dWæ6G–öæäÖV"£"D4Dõt5õ”õdö'ÖGDV6–ÖÆö–æG"ÂР"'ÖVGV'7"£µÐ ·Ð "”æWGE—V"£"”Eõd”TÄDõeÄUT"ÂР"eÆWV"£"3“SæDV6–ÖÆö–æG”æF–6Gö'"Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"CDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"CDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C#"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C#"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"ÂР"”æWGE—V"£"e”Eõd”TÄDõeÄUT"Р×РÕÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C#”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"Р×РÕР×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"ÂР"”æWGE—V"£"e”Eõd”TÄDõeÄUT"Р×РÕÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"CDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"Р×РÕР×РÕР×ÂР·Ð "d–VÆFäÖV"£"C"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"ÂР"”æWGE—V"£"e”Eõd”TÄDõeÄUT"Р×РÕÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"CDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"Р×РÕР×РÕР×ÂР·Ð "d–VÆFäÖV"£"C#"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C#"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"ÂР"”æWGE—V"£"e”Eõd”TÄDõeÄUT"Р×РÕÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C#”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"Р×РÕР×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"ÂР"”æWGE—V"£"e”Eõd”TÄDõeÄUT"Р×РÕÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"Р×РÕР×РÕР×ÂР·Ð "d–VÆFäÖV"£"CC"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"CC"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"ÂР"”æWGE—V"£"e”Eõd”TÄDõeÄUT"Р×РÕÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"CC”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"CC"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"CCDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"CC"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"Р×РÕР×РÕР×ÂР·Ð "d–VÆFäÖV"£"CS"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"CS"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"ÂР"”æWGE—V"£"e”Eõd”TÄDõeÄUT"Р×РÕÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"CS”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"CS"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"CSDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"CS"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"Р×РÕР×РÕР×ÂР·Ð "d–VÆFäÖV"£"Cc"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"Cc"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"ÂР"”æWGE—V"£"e”Eõd”TÄDõeÄUT"Р×РÕÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"Cc”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"Cc"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"CcDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"Cc"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"Р×РÕР×РÕР×ÂР·Ð "d–VÆFäÖV"£"Cs"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"Cs"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"ÂР"”æWGE—V"£"e”Eõd”TÄDõeÄUT"Р×РÕÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"Cs”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"Cs"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"CsDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"Cs"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"eÆ–FG–öæ"£µÐ ·Ð "E—V"£"4†V6¶7WÖ"ÂР"dWæ6G–öæäÖV"£"D4Dõt5õ”õgV'–f–6G–öæõæWÖV'–6"Р×РÕР×РÕР×ÂР·Ð "d–VÆFäÖV"£"C#"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C#"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C#”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C#"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C#"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C#”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C#”5ô4öWæG'—4öFV"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#DG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#ö7GÆ4öFV"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#DG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×Р×РÕР×РÕР×ÂР·Ð "d–VÆFäÖV"£"C##"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C##"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C##”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C##"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C##DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C##"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C#3"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C#3"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C#3”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#3"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#3DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#3"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C#3”5ô4öWæG'—4öFV"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#3DG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#3”5ô4öWæG'—4öFV#"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#3DG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#3”5ô4öWæG'—4öFV3"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#3DG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£cР×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#3”5ô4öWæG'—4öFVC"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#3DG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£“Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#3”5ô4öWæG'—4öFVS"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#3DG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£#Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×РÕР×РÕР×ÂР·Ð "d–VÆFäÖV"£"C#C"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C#C"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C#C”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#C"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#CDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#C"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C#S"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C#S"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C#S”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#S"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#SDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#S"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C#S”5ô4öWæG'—4öFV"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#SDG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#S”5ô4öWæG'—4öFV#"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#SDG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#S”5ô4öWæG'—4öFV3"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#SDG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£cР×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#S”5ô4öWæG'—4öFVC"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#SDG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£“Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#S”5ô4öWæG'—4öFVS"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#SDG"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£#Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×РÕР×РÕР×ÂР·Ð "d–VÆFäÖV"£"C#c"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C#c"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C#c”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#c"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#cDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#c"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C#s"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C#s"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µ3ÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C#s”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#s"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£3Р×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C#sDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C#s"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£3Р×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3#"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3#"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3#”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3#DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C33"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C33"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C33”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C33"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C33DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C33"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3C"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3C"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3C”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3C"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3CDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3C"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3S"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3S"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3S”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3S"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3SDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3S"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3c"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3c"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3c”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3c"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3cDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3c"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3s"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3s"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3s”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3s"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3sDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3s"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3ƒ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3ƒ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3ƒ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3ƒ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3ƒDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3ƒ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3“"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3“"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3“”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3“"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3“DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3“"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3#"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3#"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3#”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3#DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C33"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C33"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C33”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C33"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C33DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C33"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3C"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3C"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3C”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3C"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3CDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3C"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3S"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3S"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3S”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3S"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3SDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3S"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3c"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3c"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3c”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3c"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3cDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3c"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3s"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3s"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3s”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3s"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3sDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3s"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×ÂР"ÔE&ÆVäÖV"£"6öWæG'—4öFV"Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3ƒ"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3ƒ"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3ƒ”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3ƒ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3ƒDG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3ƒ"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3“"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3“"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3“”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3“"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3“DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3“"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3#"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3#"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3#”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3#DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3#"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3#"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3#”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3#DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3#"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3##"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3##"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3##”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3##"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£Р×РÕÂР"ÄVævG†ôf”æGV'V7G"£CР×РÕР×ÂР"ÔE&ÆVäÖV"£"”4öFV"Р×ÂР·Ð "d–VÆFäÖV"£"C3##DG"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "ôff7VG%VfV'Væ6V"£µÐ ·Ð "%VfV'Væ6Vd–VÆF"£"C3##"ÂР"ôff7VGd'öÖ"£"%Vfd–VÆF5G'–æv5G'G"ÂР"ôff7VGEö"£"E†–7d–VÆF5G'–æv5G'G"ÂР"ôff7VG"£CР×РÕР×РÕР×Р×РÕР×ÂР·Ð "d–VÆFäÖV"£"C3#3"ÂР"”7d–VÆFôG–öæÆ"£ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·Ð "¤5ôä´V—"£"C3#3"Р×РÕÂР"ö7G'ö6V77"£µÐ ·Ð "5W&7G'–æv"£µCÕР×РÕР×ÂР"4†–ÆFd–VÆF7"£µÐ ·Ð "d–VÆFäÖV"£"C3#3”"ÂР"Äö6G–öæ"£·Ð "ôG–öæ7"£µÐ ·4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈ̈°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÈÌ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈ̈°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÈЈ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÐÌÈЈ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÈÐ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈЈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÈÐ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈЈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆe•…É=™9½Ñ •™½É••±¥Ù•Éå…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈÐ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}•ÑÕ±±e•…É]¥Ñ¡ •¹ÑÕÉåIÕ±•ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀ´äuíÈõˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ5½¹Ñ¡=™9½Ñ •™½É••±¥Ù•Éå…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈÐ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÄ´äuñÄmÀÄÈuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ…å=™9½Ñ •™½É••±¥Ù•Éå…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈÐ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÀ´äuñmÄÈumÀ´äuñÌmÀÄuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ!½ÕÉ=™9½Ñ •™½É••±¥Ù•Éå…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈÐ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñˆè€Ø4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆy ÀmÀ´äuñÄmÀ´äuñÈmÀ´Ìuñä䤈4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ5¥¹ÕÑ•Í=™9½Ñ •™½É••±¥Ù•Éå…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈÐ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€à4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆy ÀmÀ´äuñmÄ´ÔumÀ´äuñä䤈4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÈÔˆ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÐÌÈÔˆ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÈÔ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈÔˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÈÔ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈÔˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆe•…É=™9½Ñ™Ñ•É•±¥Ù•Éå…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈÔ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}•ÑÕ±±e•…É]¥Ñ¡ •¹ÑÕÉåIÕ±•ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀ´äuíÈõˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ5½¹Ñ¡=™9½Ñ™Ñ•É•±¥Ù•Éå…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈÔ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÄ´äuñÄmÀÄÈuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ…å=™9½Ñ™Ñ•É•±¥Ù•Éå…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈÔ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÀ´äuñmÄÈumÀ´äuñÌmÀÄuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ!½ÕÉ=™9½Ñ™Ñ•É•±¥Ù•Éå…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈÔ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñˆè€Ø4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆy ÀmÀ´äuñÄmÀ´äuñÈmÀ´Ìuñä䤈4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ5¥¹ÕÑ•Í=™9½Ñ™Ñ•É•±¥Ù•Éå…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈÔ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€à4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆy ÀmÀ´äuñmÄ´ÔumÀ´äuñä䤈4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÈØˆ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÐÌÈØˆ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÈØ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈØˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÈØ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈØˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆe•…É=™I•±•…Í•…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈØ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀ´äuíÈõˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ5½¹Ñ¡=™I•±•…Í•…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈØ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÄ´äuñÄmÀÄÈuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ…å=™I•±•…Í•…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÈØ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÄ´äuñmÄÈumÀ´äuñÌmÀÄuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÌÀˆ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÐÌÌÀˆ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}½Éµ…ÑQ•µÁ•É…ÑÕÉ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ%¹ÁÕÑQåÁ•ˆè€ˆY%Q}%1}Y1Uˆ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÌÀ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÌÀˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÌÀ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÌÀˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}½Éµ…ÑQ•µÁ•É…ÑÕÉ•ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÌĈ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÐÌÌĈ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}½Éµ…ÑQ•µÁ•É…ÑÕÉ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ%¹ÁÕÑQåÁ•ˆè€ˆY%Q}%1}Y1Uˆ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÌÄ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÌĈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÌÄ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÌĈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}½Éµ…ÑQ•µÁ•É…ÑÕÉ•ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÌȈ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÐÌÌȈ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}½Éµ…ÑQ•µÁ•É…ÑÕÉ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ%¹ÁÕÑQåÁ•ˆè€ˆY%Q}%1}Y1Uˆ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÌÈ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÌȈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÌÈ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÌȈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}½Éµ…ÑQ•µÁ•É…ÑÕÉ•ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÌ̈°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÐÌÌ̈4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}½Éµ…ÑQ•µÁ•É…ÑÕÉ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ%¹ÁÕÑQåÁ•ˆè€ˆY%Q}%1}Y1Uˆ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÌÌ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÌ̈°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÐÌÌÌ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÐÌÌ̈°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}½Éµ…ÑQ•µÁ•É…ÑÕÉ•ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀĈ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÀĈ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀÄ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀĈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀÄ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀĈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀȈ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÀȈ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀÈ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀȈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀÈ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀȈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀ̈°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÀ̈4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀÌ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀ̈°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀÌ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀ̈°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆe•…É=™áÁ¥É…Ñ¥½¹…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀÌ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}•ÑÕ±±e•…É]¥Ñ¡ •¹ÑÕÉåIÕ±•ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀ´äuíÈõˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ5½¹Ñ¡=™áÁ¥É…Ñ¥½¹…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀÌ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÄ´äuñÄmÀÄÈuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ…å=™áÁ¥É…Ñ¥½¹…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀÌ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÄ´äuñmÄÈumÀ´äuñÌmÀÄuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ!½ÕÉ=™áÁ¥É…Ñ¥½¹…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀÌ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñˆè€Ø4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆy ÀmÀ´äuñÄmÀ´äuñÈmÀ´Ìu¤ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ5¥¹ÕÑ•Í=™áÁ¥É…Ñ¥½¹…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀÌ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€à4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆy ÀmÀ´äuñmÄ´ÔumÀ´äu¤ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀЈ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÀЈ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀÐ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀЈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀÐ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀЈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀÔˆ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÀÔˆ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀÔ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀÔˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀÔ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀÔˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀ؈°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÀ؈4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀØ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀ؈°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀØ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀ؈°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆe•…É=™¥ÉÍÑÉ••é•…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀØ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}•ÑÕ±±e•…É]¥Ñ¡ •¹ÑÕÉåIÕ±•ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀ´äuíÈõˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ5½¹Ñ¡=™¥ÉÍÑÉ••é•…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀØ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÄ´äuñÄmÀÄÈuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ…å=™¥ÉÍÑÉ••é•…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀØ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÄ´äuñmÄÈumÀ´äuñÌmÀÄuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀ܈°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÀ܈4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀÜ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀ܈°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀÜ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀ܈°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ!…ÉÙ•ÍÑMÑ…ÉÑ…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀÜ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•ÍÑˆè€Ø4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆe•…É=™!…ÉÙ•ÍÑMÑ…ÉÑ…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆ!…ÉÙ•ÍÑMÑ…ÉÑ…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}•ÑÕ±±e•…É]¥Ñ¡ •¹ÑÕÉåIÕ±•ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀ´äuíÈõˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ5½¹Ñ¡=™!…ÉÙ•ÍÑMÑ…ÉÑ…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆ!…ÉÙ•ÍÑMÑ…ÉÑ…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÄ´äuñÄmÀÄÈuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ…å=™!…ÉÙ•ÍÑMÑ…ÉÑ…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆ!…ÉÙ•ÍÑMÑ…ÉÑ…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÄ´äuñmÄÈumÀ´äuñÌmÀÄuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ!…ÉÙ•Íѹ‘…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀÜ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñˆè€Ø4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•ÍÑˆè€Ø4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆe•…É=™!…ÉÙ•Íѹ‘…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆ!…ÉÙ•Íѹ‘…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}•ÑÕ±±e•…É]¥Ñ¡ •¹ÑÕÉåIÕ±•ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀ´äuíÈõˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ5½¹Ñ¡=™!…ÉÙ•Íѹ‘…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆ!…ÉÙ•Íѹ‘…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÄ´äuñÄmÀÄÈuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ…å=™!…ÉÙ•Íѹ‘…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆ!…ÉÙ•Íѹ‘…Ñ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÄ´äuñmÄÈumÀ´äuñÌmÀÄuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀàˆ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÀàˆ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀà%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀàˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀà…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀàˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀ䈰4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÀäˆ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀä%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀ䈰4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÀä…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÀ䈰4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÄÀˆ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÄÀˆ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÄÀ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÄÀˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÄÀ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÄÀˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÄĈ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÄĈ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÄÄ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÄĈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÄÄ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÄĈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆe•…É=™Q•ÍÑ å…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÄÄ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆչѥ½¹9…µ•ˆè€ˆ A}MÄ}%}•ÑÕ±±e•…É]¥Ñ¡ •¹ÑÕÉåIÕ±•ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀ´äuíÈõˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ5½¹Ñ¡=™Q•ÍÑ å…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÄÄ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÄ´äuñÄmÀÄÈuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ…å=™Q•ÍÑ å…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÄÄ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆmÀumÄ´äuñmÄÈumÀ´äuñÌmÀÄuˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ!½ÕÉ=™Q•ÍÑ å…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÄÄ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñˆè€Ø4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆy ÀmÀ´äuñÄmÀ´äuñÈmÀ´Ìu¤ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆ5¥¹ÕÑ•Í=™Q•ÍÑ å…ѕѥµ•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÄÄ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€à4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€È4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆY…±¥‘…Ñ¥½¹ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆQåÁ•ˆè€ˆI•ሰ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•áˆè€ˆy ÀmÀ´äuñmÄ´ÔumÀ´äu¤ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÈÀˆ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÈÀˆ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÈÀ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÈÀˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÈÀ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÈÀˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÈĈ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÈĈ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÈÄ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÈĈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÈÄ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÈĈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÈȈ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÈȈ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÈÈ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÈȈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÈÈ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÈȈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÈ̈°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÈ̈4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÈÌ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÈ̈°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÈÌ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÈ̈°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌÀˆ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÌÀˆ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌÀ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÌÀˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌÀ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÌÀˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌÀ%M= ½Õ¹ÑÉå ½‘•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÌÀ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ì4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ½Õ¹ÑÉå ½‘•ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌÀ9Õµ‰•É=™Aɽ•ÍͽɈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÌÀ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ì4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌĈ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÌĈ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌÄ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÌĈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌÄ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÌĈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌÄ%M= ½Õ¹ÑÉå ½‘•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÌÄ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ì4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ½Õ¹ÑÉå ½‘•ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌÄ9Õµ‰•É=™Aɽ•ÍͽɈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÌÄ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ì4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€u4(€€€€€€€€õ°4(€€€€€€€€í4(€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌȈ°4(€€€€€€€€€€€€ˆ%Í¥•±‘=ÁÑ¥½¹…±ˆè€Ä°4(€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ)M=9-•åˆè€ˆÜÀÌȈ4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€ˆA½ÍÑAɽ•Í͈è€m4(€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆMÕ‰ÍÑÉ¥¹ˆè€mÐu4(€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€õ°4(€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌÈ%ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÌȈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ% ½‘•ˆ4(€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌÈ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÌȈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ð4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€ˆ ¡¥±‘¥•±‘͈è€m4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌÈ%M= ½Õ¹ÑÉå ½‘•ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÌÈ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€À4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1•¹Ñ¡=™%¹Ñ•É•Íшè€Ì4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ5…ÁQ…‰±•9…µ•ˆè€ˆ½Õ¹ÑÉå ½‘•ˆ4(€€€€€€€€€€€€€€€€€€€€€€€€õ°4(€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ¥•±‘9…µ•ˆè€ˆÜÀÌÈ9Õµ‰•É=™Aɽ•ÍͽɈ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ1½…Ñ¥½¹ˆè€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=ÁÑ¥½¹Íˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑI•™•É•¹•ˆè€m4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€í4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆI•™•É•¹•¥•±‘ˆè€ˆÜÀÌÈ…Ñ…ˆ°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•Ñɽµˆè€ˆI•™¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•ÑQ½ˆè€ˆQ¡¥Í¥•±‘MÑÉ¥¹MÑ…Éш°4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ˆ=™™Í•шè€Ì4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€u4(€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€õ4(€€€€€€€€€€€€€€€€€€€€WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ Ì̈ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍ Ì̈C‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌÌPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ Ì̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌÌXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ Ì̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌÌRÔÓÐÛ]›œ^ÐÛYˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌÌXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽÌC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆØÛ]›œ^ÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌÌ“][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌÌXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽÌC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ Ì ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍ Ì ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ Ì PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ Ì ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ Ì XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ Ì ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ Ì RÔÓÐÛ]›œ^ÐÛYˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ Ì XXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽÌC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆØÛ]›œ^ÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ Ì “][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ Ì XXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽÌC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌMˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍ ÌMˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌMPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌMˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌMXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌMˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌMRÔÓÐÛ]›œ^ÐÛYˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌMXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽÌC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆØÛ]›œ^ÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌM“][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌMXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽÌC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ̈ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍ ̈C‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌRÔÓÐÛ]›œ^ÐÛYˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽÌC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆØÛ]›œ^ÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ Ì“][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽÌC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ Ì͈ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍ Ì͈C‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌÍPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ Ì͈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌÍXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ Ì͈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌÍRÔÓÐÛ]›œ^ÐÛYˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌÍXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽÌC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆØÛ]›œ^ÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌÍ“][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌÍXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽÌC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ̈ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍ ̈C‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌRÔÓÐÛ]›œ^ÐÛYˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽÌC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆØÛ]›œ^ÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ Ì“][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽÌC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌNˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍ ÌNˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌNPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌNˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌNXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌNˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌNRÔÓÐÛ]›œ^ÐÛYˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌNXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽÌC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆØÛ]›œ^ÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ÌN“][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ÌNXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽÌC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍ ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍ XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍL ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍL ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖÌWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍL PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍL ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽÌC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍL XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍL ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽÌC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍLLˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍLLˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖÌWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍLLPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍLLˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽÌC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍLLXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍLLˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽÌC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍLŒˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍLŒˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖÌWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍLŒPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍLŒˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽÌC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍLŒXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍLŒˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽÌC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍL̈ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍL̈C‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖÌWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍLÌPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍL̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽÌC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍLÌXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍL̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽÌC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍL ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍL ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖÌWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍL PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍL ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽÌC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍL XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍL ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽÌC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍLMˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍLMˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖÌWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍLMPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍLMˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽÌC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍLMXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍLMˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽÌC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌ ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍŒÌ ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌ PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌ XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌ ÐYœZ™ZØXZÛ›ÔØY[Yˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌ XXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_C‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌ “][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌ XXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌLˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍŒÌLˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌLPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌLˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌLXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌLˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌLÐYœZ™ZØXZÛ›ÔØY[Yˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌLXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_C‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌL“][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌLXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌŒˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍŒÌŒˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌŒPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌŒˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌŒXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌŒˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌŒÐYœZ™ZØXZÛ›ÔØY[Yˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌŒXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_C‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌŒ“][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌŒXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌ̈ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍŒÌ̈C‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌÌPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌ̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌÌXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌ̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌÌÐYœZ™ZØXZÛ›ÔØY[Yˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌÌXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_C‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌÌ“][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌÌXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌ ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍŒÌ ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌ PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌ XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌ ÐYœZ™ZØXZÛ›ÔØY[Yˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌ XXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_C‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌ “][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌ XXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌMˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍŒÌMˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌMPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌMˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌMXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌMˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌMÐYœZ™ZØXZÛ›ÔØY[Yˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌMXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_C‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌM“][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌMXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍŒÌˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌÐYœZ™ZØXZÛ›ÔØY[Yˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_C‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌ“][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌ͈ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍŒÌ͈C‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌÍPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌ͈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌÍXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌ͈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌÍÐYœZ™ZØXZÛ›ÔØY[Yˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌÍXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_C‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌÍ“][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌÍXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍŒÌˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌÐYœZ™ZØXZÛ›ÔØY[Yˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_C‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌ“][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌNˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍŒÌNˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌNPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌNˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌNXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌNˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌNÐYœZ™ZØXZÛ›ÔØY[Yˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌNXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_C‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒÌN“][˜YœÓ™œÛØYÜÜÛœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒÌNXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒ ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍŒ ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒ PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒ XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒ Lˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍŒ LˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒ LPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒ Lˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒ LXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒ Lˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒ Œˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆÍŒ ŒˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒ ŒPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒ Œˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÍŒ ŒXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆÍŒ Œˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ Lˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ LˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ LPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Lˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ LXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Lˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ Œˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ ŒˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ ŒPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Œˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ ŒXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Œˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ ̈ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ ̈C‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ ÌPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ ̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ ÌXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ ̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ ÌYX–YœÛˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ ÌXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽLC‚_C‚WC‚_C‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ ÌÑ”PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ ÌXXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽLC‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ ÌÑ”PR‘ZYXœˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ ÌÑ”PRˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽLC‚_C‚W C‚ˆY›ÙÓ™R›YœY܈ŽLÌC‚_C‚WC‚_ C‚ˆ•XZXZÛ›ˆŽÖC‚ÞC‚ˆ^YˆŽˆÐYØÚÜ][ˆ C‚ˆ‘]›ØZÛ›“X[YˆŽˆÐ×ÑÔL×PR×YœZ™ZØXZÛ›×›][YœZ؈C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ ÌÑ”PRÔYœZXÐÛ[Û›Y›ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ ÌÑ”PRˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽL C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ Mˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ MˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ MPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Mˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ MXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Mˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ ͈ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ ͈C‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ ÍPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ ͈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ ÍXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ ͈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆVYXœÓ™œÛ]ØZÛ›XYZ[Yˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ XXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆ‘]›ØZÛ›“X[YˆŽˆÐ×ÑÔL×PR×ÑY‘]VYXœÕZÐY›]œ^”]YˆC‚_C‚WC‚_ C‚ˆ•XZXZÛ›ˆŽÖC‚ÞC‚ˆ^YˆŽˆ”YÙQˆ C‚ˆ”YÙQˆŽˆÖ KNWÞŒ_ˆC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆSÛ›Ó™œÛ]ØZÛ›XYZ[Yˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ XXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆ•XZXZÛ›ˆŽÖC‚ÞC‚ˆ^YˆŽˆ”YÙQˆ C‚ˆ”YÙQˆŽˆÖ WÖLKNWLÖ LŒWˆC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆX^Ó™œÛ]ØZÛ›XYZ[Yˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ XXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆ•XZXZÛ›ˆŽÖC‚ÞC‚ˆ^YˆŽˆ”YÙQˆ C‚ˆ”YÙQˆŽˆÖ WÖLKNWÖLŒWÖ KNWÌÖ LWˆC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÛ]œÓ™œÛ]ØZÛ›XYZ[Yˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ XXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽC‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆ•XZXZÛ›ˆŽÖC‚ÞC‚ˆ^YˆŽˆ”YÙQˆ C‚ˆ”YÙQˆŽˆ— - Ö KNWLÖ KNWŒÖ KÌWJ ˆC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆSZ›]YÜÓ™œÛ]ØZÛ›XYZ[Yˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ XXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽC‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆ•XZXZÛ›ˆŽÖC‚ÞC‚ˆ^YˆŽˆ”YÙQˆ C‚ˆ”YÙQˆŽˆ— - Ö KNWÖLKMWÖ KNWJ ˆC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆÔYØÛ›ÜÓ™œÛ]ØZÛ›XYZ[Yˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ XXˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽL C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆ•XZXZÛ›ˆŽÖC‚ÞC‚ˆ^YˆŽˆ”YÙQˆ C‚ˆ”YÙQˆŽˆ— - Ö KNWÖLKMWÖ KNWJ ˆC‚_C‚WC‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ Nˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ NˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ NPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Nˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ NXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Nˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ L ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ L ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ L PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ L ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ L XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ L ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ LLˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ LLˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ LLPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ LLˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ LLXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ LLˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ LŒˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ LŒˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ LŒPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ LŒˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ LŒXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ LŒˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ L̈ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ L̈C‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆ•XZXZÛ›ˆŽÖC‚ÞC‚ˆ^YˆŽˆÐYØÚÜ][ˆ C‚ˆ‘]›ØZÛ›“X[YˆŽˆÐ×ÑÔL×PR×YœZ™ZØXZÛ›×ØXœXØYœˆ C‚ˆR›]^YˆŽˆ•RבRQוPUQˆC‚_C‚W C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ LÌPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ L̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ LÌXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ L̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆ•XZXZÛ›ˆŽÖC‚ÞC‚ˆ^YˆŽˆÐYØÚÜ][ˆ C‚ˆ‘]›ØZÛ›“X[YˆŽˆÐ×ÑÔL×PR×YœZ™ZØXZÛ›×ØXœXØYœˆC‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ L͈ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ L͈C‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆ•XZXZÛ›ˆŽÖC‚ÞC‚ˆ^YˆŽˆÐYØÚÜ][ˆ C‚ˆ‘]›ØZÛ›“X[YˆŽˆÐ×ÑÔL×PR×YœZ™ZØXZÛ›×›][YœZ؈ C‚ˆR›]^YˆŽˆ•RבRQוPUQˆC‚_C‚W C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ LÍPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ L͈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ LÍXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ L͈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆ•XZXZÛ›ˆŽÖC‚ÞC‚ˆ^YˆŽˆÐYØÚÜ][ˆ C‚ˆ‘]›ØZÛ›“X[YˆŽˆÐ×ÑÔL×PR×YœZ™ZØXZÛ›×›][YœZ؈C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ Lˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ LˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆ•XZXZÛ›ˆŽÖC‚ÞC‚ˆ^YˆŽˆÐYØÚÜ][ˆ C‚ˆ‘]›ØZÛ›“X[YˆŽˆÐ×ÑÔL×PR×YœZ™ZØXZÛ›×›][YœZ؈ C‚ˆR›]^YˆŽˆ•RבRQוPUQˆC‚_C‚W C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ LPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Lˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ LXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Lˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_ C‚ˆ•XZXZÛ›ˆŽÖC‚ÞC‚ˆ^YˆŽˆÐYØÚÜ][ˆ C‚ˆ‘]›ØZÛ›“X[YˆŽˆÐ×ÑÔL×PR×YœZ™ZØXZÛ›×›][YœZ؈C‚_C‚WC‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ LNˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ LNˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ LNPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ LNˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ LNXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ LNˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ Œ ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ Œ ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ Œ PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Œ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ Œ XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Œ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ Œˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ ŒˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ ŒPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Œˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ ŒXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Œˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ Ì ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆ Ì ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆ Ì PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Ì ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆ Ì XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆ Ì ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆLL ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆLL ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆLL PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆLL ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆLL XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆLL ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆLLLˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆLLLˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆLLLPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆLLLˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆLLLXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆLLLˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆLLŒˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆLLŒˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆLLŒPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆLLŒˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆLLŒXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆLLŒˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆŒ ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆŒ ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖ WC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆŒ PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆŒ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽ C‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆŒ XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆŒ ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆN ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆN ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖŒWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆN PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆN ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆN XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆN ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆNLˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆNLˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖŒWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆNLPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆNLˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆNLXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆNLˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆNŒˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆNŒˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖŒWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆNŒPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆNŒˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆNŒXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆNŒˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆN̈ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆN̈C‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖŒWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆNÌPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆN̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆNÌXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆN̈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆN ˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆN ˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖŒWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆN PRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆN ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆN XXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆN ˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆNMˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆNMˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖŒWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆNMPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆNMˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆNMXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆNMˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆNˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆNˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖŒWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆNPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆNˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆNXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆNˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆN͈ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆN͈C‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖŒWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆNÍPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆN͈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆNÍXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆN͈ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆNˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆNˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖŒWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆNPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆNˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆNXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆNˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆNNˆ C‚ˆRÜ‘ZYÓZÛ›XˆŽL C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆ’ÔÓ“ÒY^ˆŽˆNNˆC‚_C‚W C‚ˆÛÜœÛØYÜ܈ŽÖC‚ÞC‚ˆÔ]˜ÜœZ›ÙˆŽÖŒWC‚_C‚WC‚_ C‚ˆÐZ‘ZY܈ŽÖC‚ÞC‚ˆ‘ZY“X[YˆŽˆNNPRˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆNNˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽ C‚_C‚W C‚ˆY›ÙÓ™R›YœYÜˆŽŒC‚_C‚WC‚_ C‚ˆSXX˜Y“X[YˆŽˆPRÐÛYˆC‚_ C‚ÞC‚ˆ‘ZY“X[YˆŽˆNNXXˆ C‚ˆÛØXZÛ›ˆŽÞC‚ˆÓZۛ܈ŽÖC‚ÞC‚ˆÓ™™ÜY”Y™YœY›ØYˆŽÖC‚ÞC‚ˆ”Y™YœY›ØY‘ZYˆŽˆNNˆ C‚ˆÓ™™ÜY‘œÛ[ˆŽˆ”Y™‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYÛˆŽˆZÜ‘ZYÔœZ›ÙÔXœˆ C‚ˆÓ™™ÜYˆŽŒC‚_C‚WC‚_C‚WC‚_C‚_C‚WC‚_C‚WC‚_SXX˜Y“X[YŽØÛ]›œ^ÐÛYC‚P‘ P‘Ñ P™ÙX›ZÜX›C‚P P P˜X›ZXC‚– –P LŒPÙYœZXC‚PÔ PÔS LP[YœZØX›ÔX[ÛXC‚P P“ Œ P›ÛœœXC‚PÓ PÑÓ Œ P›ÙÛXC‚PR PRP P›Ù]ZXC‚PT PP L P›XœØZØXC‚PÑ PÑ ŒP›ZÙ]XX›Xœ˜]XC‚P” P”Ñ ÌŒPœÙY›Z›XC‚PS P”S MLPœ[Y›ZXC‚PÕ PÕ MÌÌPœ]˜XC‚PU PUÔ ÌP]ÜœXZXC‚P PU P]ÜœZXC‚P– P–Q ÌLPžYœ˜XZšX›C‚Ô Ô XX[XÜ -YJC‚ ” XœXZ›C‚ Ñ M X›ÙXYÜC‚ ” MŒXœ˜XÛÜC‚V ” LLŒYXœ]ÜC‚Q Q MYÙZ][C‚– –  YZžYC‚’ Q“ Œ Y›Z›C‚S SU Yœ[]XC‚ “ ]X›C‚Ó Ó ÛZZX -]œZ›XZÛ›XÔXYÛ™JC‚T QÔ MÌMÛ›XZœYÔZ›Q]ÜXZ]ÜX›ÔX˜XC‚P R Í ÛÜ›ZXX›YœžYÙÛZ›XC‚Õ ÕP ÍŒÛÜÝX›XC‚• • Í Û]YRÜX›C‚” ”P ÍœXžZC‚RÓ RÓ œZZÜR›ZX›ÓØYX›YœœZÛœ^ -YJC‚“ ”“ Nœ]›YZXœ]ÜÜXX[C‚Ñ Ñ” L ]ÙXœZXC‚‘ ‘P M ]œÚZ›X‘XÜÛC‚R R L ]œ]›ZC‚Е Ð• LÌŒÐX˜Û•YœYC‚Ò ÒS LLÐX[˜ÛZXC‚ÐS ÐS” LŒ ÐX[YœÛÛ›C‚ÐP ÐP“ LŒ ÐX›XXC‚ÒV ÐVS LÌÐX^[X›RÜX›Ü -YJC‚Б ÐP‘ L ÐY›œXP™œZØX›”Y]˜ZØ -YJC‚ Ð L ÐXC‚Ð Ð LMŒÐZYC‚Г Ð“ LMÐZ›XC‚РД LŒÐœZÜ[XÜRÜX›C‚ÐÐ ÐÐÒ LÐÛØÛÜ -ÒYYZ›ÙJRÜX›Ü -YJC‚ÐÓ ÐÓ LÍ ÐÛÛ[˜ZXC‚ÒS ÐÓS LÍ ÐÛ[ÛœÛÜ -YJC‚Ð ÐÓ L ÐÛ›ÙÛ -YY[ÛØœXZØ”Y]˜ZØÛ™YJC‚ÐÑ ÐÓÑ LÍÐÛ›ÙÛ -YJC‚ÐÒ ÐÓÒ L ÐÛÛÚRÜX›Ü -YJC‚Д ДR LÐÛÜX”ZØXC‚” ”• LNLМÛXZXC‚ÐU ÐU LNŒÐ]˜XC‚ÐÕ ÐUÕ MÌLÐ]œXØXÛC‚ÐV ÐV LNÐ^œ]ÜC‚Ж ЖQ Œ ÌОYØZXC‚ÐR ÐR• Ì ÐÛYÉRÛZœYC‚Ò “Ò Œ Y›[XœÚC‚’ ’R ŒŒšZ˜Û]ZC‚S SP ŒLŒÛ[Z›ZØXC‚Ó ÓS ŒL Û[Z›ZØX›”Y]˜ZØ -YJC‚QÐ QÐU ŒLQØ]XÛœC‚QÑ QÑV LQÙ^C‚Ô• Ô• ŒŒŒQÔXXÛœC‚ÑT Ñ“T ŒŒQ\]XÛœZXÑ]Z›YXC‚Q” Q”R ŒÌŒQœZœYXC‚QQ QÔ ŒÌÌQÜÛ›ZXC‚Ô– ÔÕ– Í QÜÝXZ›ZC‚Q Q ŒÌLQZÛZXC‚‘Ò ‘Ò ŒÌ‘XÚX›RÜX›Ü -YJÖSXZ›XÜWC‚‘Ó ‘”Ó ŒÌ ‘XœÛYRÜX›Ü -YJC‚‘’ ‘’R Œ Œ‘ZšZC‚‘R ‘R“ Œ ‘Z›X›C‚‘” ‘”P ŒM ‘œX›ØYC‚Ñ‘ ÑU‘ ŒM ‘œY›ØÑ]ZX›XC‚‘ V‘ ŒM‘œY›ØÛ^›YÜZXC‚‘ P‘ Œ ‘œY›ØÔÛ]Yœ›YœœZÛœZYÜ -YJC‚ÑP ÑP ŒÑX˜Û›C‚ÑS ÑS ŒÍ ÑX[˜ZX -YJC‚ÑQ ÑQÓ ŒÑYÛœÙZXC‚Q QU ŒÍÑYœ[X›^C‚Ñ ÑP ŒÑX›XC‚ÑR ÑR ŒNŒÑZ˜œXXœC‚Ñ” Ñ”Ð Ì ÑœYYØYC‚Ñ Ñ” Ì ÑœYY›X›C‚Ñ Ñ” Ì ÑœY›XXC‚Ñ Ñ ÌLŒÑ]XYÛ]YC‚ÑU ÑUS ÌLÑ]X[C‚Ñ ÑS ÌŒ Ñ]XY[XXC‚ÑÑ ÑÑV ÌLÑ]Yœ›ÜY^C‚Ñ“ ÑR“ ÌŒ Ñ]Z›YXC‚ÑÕ Ñ“ Œ Ñ]Z›YXKZÜÜX]C‚ÑV ÑUV ÌŒÑ]^X›XC‚ R ÌÌŒXZZC‚S S ÌÌ YXœRÜX›X›SØÛ›XRÜX›ÜC‚•P •P ÌÌÛ^ÔYY -YJC‚“ “ Ì Û›]œXÜC‚Ò ÒÑ Ì Û›ÙÒÛ›ÙC‚U U“ Ì ]›ÙXœ^C‚RÔ RÔ ÌMŒRØYX›C‚R“ R“ ÌMR›ZXC‚R R“ Ì R›Û›YÜZXC‚R” R”“ Ì RœX› -RÜX[ZØ”Y]˜ZØÛ™JC‚RT R”T ÌRœX\C‚RQ R” ÌÍŒRœYX›C‚RS RS“ ÌÌRÜYÛ™SX›C‚R RÔ” ÌÍRÜœXYC‚R RP Ì RX^C‚’S ’PS Ì’X[XZØXC‚’ ’“ ÌNŒ’XX›C‚’Q ’QV ÌŒ’YœÜY^C‚’Ó ’Ó” ’ÛœX›C‚Ò– ÒP– ÌNÒXžXÚÜX›C‚ÒQ ÒQ“ ÒY›^XC‚ÒR ÒR” ŒNÒZœZ˜XZC‚Ò ”Ò ÒÛœYX -YY[ÛØœXZØYÛYÉÜ”Y]˜ZØÛ™JC‚Ò” ÒÓ” L ÒÛœYX -Y”Y]˜ZØÛ™JC‚ÒÕ ÒÕ L Ò]ÝXZC‚ÒÑ ÒÑ– LÍÒ^œÙ^žÜX›C‚P PÓ LXÛYÛYÉÜY[ÛØœXZØ”Y]˜ZØ -YJC‚• •P ŒXZXC‚ “ ŒŒY˜X›Û›C‚Ô ÔÓ ŒYÜÛÛC‚” ” Ì Z˜YœZXC‚V V Ì Z˜^XC‚R RQ ÌZYØY›ÜYZ›C‚ U Z]X›ZXC‚U U Œ]Y[˜Û]œÙC‚SÓ SPÐ SXØXÛC‚SÑ SÑ M SXXÙXÜØXœC‚SÕ SÕR M SXXÝZC‚SV SVÔ MSXX^ÜZXC‚S• S• ŒSXZYÜC‚S SR SXZC‚S S Í SXXC‚S S M SXœÜXRÜX›Ü -YJC‚ST ST Í SXœZ›Z\]YC‚S” S” ÍSX]œZX›ZXC‚SU SUÔ  SX]œZZ]ÜC‚V SV LÍMSX^ÛYC‚S SQ  SYZØÛC‚‘S ‘ÔS MÌSZ؜ۛYÜZX -‘YYœXYÔXYÜÛ™JC‚S SP NSÛÛX -Y”Y]˜ZØÛ™JC‚SÐ SÐÓ NŒSÛ›XØÛC‚S“ S“Ñ NSÛ›ÙÛZXC‚SQ S“Q NNSÛ›Y›YÙœÛC‚SÔ SÔ” M SÛ›ÜYœœXC‚SP SP” M SÛœÛØØÛC‚S– SÓ– M SÛžX[˜Z\]YC‚SS SS” L S^X›[XœC‚“P “PS ML“X[Z˜ZXC‚“” “”U MŒ “X]œ]C‚“ “ MŒ “YXC‚“ “ MŒ“YYœX›Ü -YJC‚“Ð “Ð M “YÝÐXYÛ›ZXC‚“– “– MM “YÝ–YXX›C‚“R “RÐ MM“ZØXœXÙ]XC‚“Q “Q” MŒ“ZÙYœ -YJC‚“Ñ “ÑP M“ZÙYœZXC‚“U “RU MÍ “Z]YC‚“‘ “‘Ò MÍ “Ûœ™ÛÚRÜX›C‚SÒ SÒ  ͓ۜSXØYÛ›ZXC‚S S“ M “ÛœYœ›SXœZX›XRÜX›Ü -YJC‚“Ó “Ó” M͓ۜÝX^C‚ÓS ÓS“ MLŒÓ[X›C‚Ò PÒ MXÚZÜX›C‚Õ Õ MMXX]C‚Ô ÔQ ŒÍMXYÜZ›Y ÔXYÛ™C‚P P“ MNLX›X[XC‚Ñ “Ñ MNX]X“YÝÑ]Z›YXC‚V ”V XœXÙ]X^C‚Q Q” Yœ]C‚  ZZZ›YÜ -YJC‚“ Г LŒZØXZœ›C‚ Ó LÛX›C‚ ” Œ Ûœ]ÙXC‚” ”R Ì ]YœÛ”ZØÛC‚TP TP Ì TXXœC‚”Ó ”ÓU Œ”Û[X›ZXC‚”U ”UÔ Ì”]ÜÜZX›‘YYœXZÛ› -YJC‚”Õ ”ÕP ”ÝX›XC‚”Q ”QU Ì”Y]›ZÛ›C‚ S MŒÔXZ›XœYY[^C‚Ô Ô“ M ÔXZ›YY›X PÜØY›ÜZÛ›X›œZÜX›XÐ]›XC‚Ò“ Ò“P MNÔXZ›ÒZÜX›“YZÜC‚Ð ÐP ŒÔXZ›]ØZXC‚S‘ SP‘ ÌÔXZ›SXœZ› -‘œY›ØXœJC‚S ÔS ÔXZ›ZYœœYX›SZ\]YÛ›C‚•Ð •Ð Í ÔXZ›•Z›ØY›X›YÑœY›XZ›YÜC‚ÕÔ ÕÔS ŒÔX[ÛXC‚ÔS ÔS” Í ÔX›SXœZ›ÛC‚Ô Ô ÍÔXÛÛ[YX›œZ›ØZYC‚ÔP ÔPU ŒÔX]ZPœX˜ZXC‚Ô“ ÔQ“ ÔY›YÙXC‚”Ô Ô” ÔYœ˜ZXC‚ÔÐ ÔVÐ N ÔY^ØYYÜC‚Ô ÔQ N ÔZYœœXYÛ›YC‚ÔÑ ÔÑ Í ŒÔZ›ÙXÛœYC‚Ô ÔS MÌ ÔZ›SXXœY› -]ØXœJC‚ÔÒ Ô•Ò Í ÌÔÛXÚZXC‚ÔR Ô•“ Í MÔÛY›ZXC‚Ô Ô N ÔÛÛ[Û›RÜX›ÜC‚ÔÓ ÔÓS Í ÔÛ[XZXC‚–P –P‘ ÍL ÔÛ]P™œZØXC‚ÑÔ ÔÑÔ ŒÌNÔÛ]ÑYÛœÙZXX›YÔÛ]ÔX›ÝZØRÜX›ÜC‚ÔÔ ÔÔ ÍŒÔÛ]Ô]X›C‚QÔ QÔ ÍŒ ÔXZ›C‚Ò ÒP L ÔœZX›ÚXC‚Ô Ô“ ÍŒNÔ]X› -YJC‚Ô” ÔU” Í Ô]œZ›X[YC‚Ô’ Ô’S Í ÔX˜XœX›’X›SX^Y›C‚ÔQ ÔÕQ ÍMŒÔÝYY›C‚Ð ÐQ ÍMÔÝZžYœX›C‚ÔV ÔV” Í Ô^œZX›PœX˜”Y]˜ZØ -YJC‚Õ Õ“ LMXZÝX› -œÛZ›ØYÛ™ÐZ›XJC‚’ ’Ò ÍŒXšZÚZÜX›C‚– –P Ì X›žX›ZX YU›ZY”Y]˜ZØÛ™C‚ P Í XZX›C‚ Ô ŒZ[ÛœKYÜYC‚Ñ ÑÓ ÍÛÙÛC‚Ò Ò ÍÍŒÛÚYX]C‚Ó Ó“ ÍÍÛ›ÙXC‚ Ó Í œZ›ZXX›Û˜XÙÛC‚“ U“ Í]›ZÜZXC‚S ÒS ÍNM]œÚ[Y›ZÜX›C‚Ð ÐP ÍN]œÚÜX›ÐXZØÛÜRÜX›Ü -YJC‚• U• ÍN]X]C‚” U” ÍNŒ]œÚY^C‚UÑ UÑP  UÙX›XC‚UP UÒ”  UÚœXZ›YC‚PQ P”Q Í U›ZYPœX˜Q[ZœXYÜ -YJC‚Ñ Ñ” ŒU›ZYÒZ›ÙÛ[ۙќYXœZXZ›X›“ÛœYœ›RœYX› -YJC‚US USR MLU›ZYÔXYÜSZ›ÛœÓ]^Z›ÙRÜX›Ü -YJC‚UÔ UÔP  U›ZYÔXYÜÛ™P[YœZØX -YJC‚UV U”V MUœ]Ù]X^C‚U– U–  Už˜YÚZÜX›C‚•U •U M •X›]X]C‚•Q •Q“ Œ•Y›Yž]YX -ÛZXœZX›”Y]˜ZØÛ™JC‚•“ •“S Í •ZY“X[C‚•Ñ •Ñ NŒ•ZœÙZ›RÜX›Ü -œZZÜJC‚•R •R” M •ZœÙZ›RÜX›Ü -U‹Ô‹JC‚Õ‘ Õ‘ ÍÕXZÜX›‘]]›XC‚Q QÔ ÍÌŒÕYÜYœ›ÔXXœXC‚VQ VQS ÍVY[Y›C‚–S –S N –X[˜ZXC‚–Õ –ÕQ ÍL–Z[˜X˜ÝYC‚P PP Œ PX›RÜX›ÜC‚SXX˜Y“X[YŽØ]œœY›Ø^ÐÛYC‚PQ Í U›ZYPœX˜Q[ZœXYÜZœX[C‚P‘“ NÍLP™ÙX›X™ÙX›ZC‚P P˜X›ZX›YÚC‚PS MLPœ[Y›ZX›œX[C‚P“Ñ MÌŒ“YYœX›ÜP›ZYX›Ù]ZYœC‚PÓP NÍÌP›ÙÛX›ÚÝX›žXC‚P”Ô ÌŒPœÙY›Z›YYÜÛC‚PU ÌP]ÜœXZX›ÛXœC‚PÕÑ MÌÌPœ]˜X›™ÛœZ›C‚P–“ N PžYœ˜XZšX›Z[X›XC‚PS NÍÍÛÜ›ZXX›YœžYÙÛZ›XØÛ›YœZ˜Y[XœÚC‚ MŒXœ˜XÛÜÛXœC‚ M X›ÙXYÜZXÚXC‚Ñ“ NÍM]ÙXœZX›YC‚ XœXZ›ZZ›XœC‚R‘ L ]œ]›ZX›™œX›ØC‚S Yœ[]ZX›ÛXœC‚“ Nœ]›YZÛXœC‚Ó ÛZZX›ÛC‚Ó• N ÛZZX›SÛC‚” NœXžZZX›œYXC‚Ô XX[ZX›ÛXœC‚“ ]X›YÜY›Ù]œ][C‚Õ ÍŒÛÜÝX›X]XC‚V“ NÌÌYXœ]ÜZX›œ]˜YC‚–  YZžYÛXœC‚ÐP LŒ ÐX›XZX›ÛXœC‚Б NÍÐÛ›ÙÛYÜY™œX›ØC‚ÐQ N ÍÕR”Y]œÛC‚Б ÍMÔÝZÜÜ™œX›ØC‚ÐÕ N ÕR”™œX›ØC‚Б NN U›ZXY‘Û[Y›ÛC‚Ð LMŒÐZYX›YÜÛC‚ГV LM”Y›[Z›˜ZC‚ÐÓ LÍ ÐÛÛ[˜ZX›YÜÛC‚ÐÓU NÍ U›ZXY•XÛœ”YX -U•”JC‚ДРLÐÛÜX”ZØX›ØÛÛ›C‚ÐU LNŒÐ]˜X›YÜÛC‚ЕQ LÌŒÐXY•YœYX›YÜØ]ÛC‚Ð–Ò Œ ÌОYØÚÛœ]›XC‚’‘ ŒŒšZ˜Û]ZX›™œX›ØC‚ÒÒ Œ X›ZÜڜۛYC‚Ó ŒL Û[Z›ZØX›YÜÛC‚– LŒPÙYœZX›Z›XœC‚QÑ LQÙ^ZX›Û]›C‚Q”“ ŒÌŒQœZœYX››XÚ™XC‚Q ŒÌ QZÛZX›˜ZœœC‚QU” NÍQ]œÛC‚‘’ Œ Œ‘ZšZÛXœC‚‘Ò ŒÌ‘XÚX›RÜX›ÜÛ]›C‚Ñ ŒÛ]›ÜYœZ›ÙC‚ÑQ NLÑYÛœÙZX›XœZC‚ÑÔ NÌÑX›XZX›ØYZC‚ÑR ŒNŒÑZ˜œXXœÛ]›C‚ÑS ŒÍ ÑX[˜ZX›XXÜZC‚Ñ“‘ ÌŒ Ñ]Z›YX›™œX›ØC‚ÑT ÌŒ Ñ]XY[XX›\]YžXC‚ÑV ÌŒÑ]^X›YÜYÛXœC‚Ò Ì Û›ÙÒÛ›ÙÛXœC‚“ Ì Û›]œX›Y[ZœXC‚Ñ ÌÌŒXZZX›ÙÛ]œYC‚U‘ Ì ]›ÙXœZX›™ÛœZ›C‚R” Ì R›Û›YÜZX›œ]ZXC‚RÔ ÌÍRÜœXYZ›YÝÜYÚYC‚R“” ÌMR›ZX›œ]YYC‚RT ÌRœX\ZZ›XœC‚R”” Ì RœX›ZX›œZXC‚RÔÒ ÌMŒRØYX›ZØڜۛXC‚’S Ì’X[XZØX›ÛXœC‚’Ó ’ÛœX›ZX›Z›XœC‚’V ÌNŒ’XX›YÜY^Y›C‚ÒQÔ ÒY›^X›ÜZZ›ÙC‚ÒÑÔ LÍÒ^œÙ^žÜX›ZÜÛ[C‚Ò” LLÐX[˜ÛZX›œZYC‚ÒS‘ LÍ ÐÛ[ۜۙœX›ØC‚ÒÕ “ÛœÒÛœYX›ÝÛ›C‚Ò”Õ L ÔÛ]ÒÛœYX›ÝÛ›C‚ÒÕ L Ò]ÝXZZZ›XœC‚ÒV LÌÐX^[X›RÜX›ÜÛXœC‚Ò– ÌNÒXžXÚÜX›ZY›ÙYC‚PÒ LXÛÚZC‚ ŒŒY˜X›YÜYÛ]›C‚Ò” L ÔœZX›ÚX›œ]YYC‚” Ì Z˜YœZX›ÛXœC‚Ô ŒYÜÛÛÛZC‚V Ì Z˜^X›Z›XœC‚SP M SÛœÛØØX›ZœX[C‚S NSÛÛX›Y]C‚SÑP NNSXXÙXÜ^XœZXœ^C‚SÒ  ÍSXØYÛ›ZX›Y›XœC‚SSÒ L S^X›[XœÚ^XC‚S“ NSÛ›ÙÛZX›]ÙœZÚC‚SÓ SXØX›YÜYXXØXC‚S”U NŒNSX]œZX›ZX›Û]Ù]Z^XC‚SU”  SX]œZZX›œ]YYC‚S•” ŒSXZZX›œ]™Z^XXC‚SÕÒ M SXXÝZX›ÚÝXØXC‚S“  SYZØX›YÜÛC‚S• NÍNSYZØX›U›ZXYR›YœÜZÛ› -URJC‚SV” MSXX^ÜZX›œZ›ÙÙZC‚S–“ N ÌSÛžX[˜ZØX›[YZØXC‚“P ML“X[Z˜ZX›ÛXœC‚“Ñ“ M“ZÙYœZX››XZœXC‚“RÓ MM“ZØXœXÙ]X›ØÛœÛ˜XC‚“ÓÒ M͓ۜÝYÙZX›ڜۛYC‚“” MŒ “YXYÜYœ]YYC‚“– MM “YÝ–YXX›ÛXœC‚ÓS” MLŒÓ[X›ZœZXC‚P MN X›X[X›ZX›˜X˜ÛXC‚Q“ Yœ]ZX›ÜÛC‚ÑÒ MNX]X“YÝÑ]Z›YX›ÚZ›XC‚ ZZZ›YYÜÛC‚Ò” MXÚZÜX›Zœ]YYC‚“ NMÛZÜžÛ^C‚VÑ XœXÙ]X^X›Ù]XœX›ZC‚TP” Ì TXXœZœZ^XC‚”Ó“ N ”Û[X›ZX›Y]C‚”Ô N LÔYœ˜ZX›Z›XœC‚”U Ì”]ÜÜZX›œ]˜YC‚”Õ‘ ”ÝX›X›™œX›ØC‚ÔP” ŒÔX]ZœZ^XC‚Ô N ÔÛÛ[Û›RÜX›ÜÛXœC‚ÔД N ÔY^ØYYÜœ]YYC‚ÔÑ NÌÔ]X›YÜYÛ]›C‚ÔQÒ ÍMŒÔÝYZÜڜۛXC‚ÔÑ Í ŒÔZ›ÙXÛœYÛXœC‚Ô M ÔXZ›YY›XÛ]›C‚ÔQ NŒMÔZYœœXYÛ›YX›YÛ›Y -›YÝYÛ›YJC‚ÔÓÔ Í ÔÛ[XZX›ÜZZ›ÙC‚Ô” NÔ]œZ›X[YÜYÛXœC‚ÔÔ ÍŒÔÛ]Ô]X›YÜYÛ]›C‚Ô“ NÌ ÔXÛÛ[YX›œZ›ØZYÛ˜œXC‚Ô•Ð ŒŒŒÔXXÛœX›ØÛÛ›C‚ÔV Í Ô^œZX›Û]›C‚Ô– Í ÔÝXžZZX›ÙY›ZC‚ Í XZ˜XC‚’Ô NÍŒXšZÚZÜX›ZÜÛ[Û›ZC‚S NÌ ]œÚ[Y›ZÜX›[X›XC‚“ Í]›ZÜZX›Z›XœC‚Ó ÍÍÛ›ÙX›XX›ÙXC‚”V N N]œÚZÜZœXC‚ Í œZ›ZXX›Û˜XÙÛÛXœC‚Õ N L“YÝXZÝX›ÛXœC‚–Ô Ì X›žX›ZX›ÜZZ›ÙC‚UP N UÚœXZ›ZX›œ^›ZXC‚UÑ  UÙX›X›ÜZZ›ÙC‚UÔ  U›ZYÔXYÜÛXœC‚UÔ“ NNÍU›ZYÔXYÜÛXœ -›YX^JC‚UVR N Uœ]Ù]X^YÜÛY›U›ZXYÜR›YXXÜ -U”URU”URJC‚UVU MUœ]Ù]X^X›YÜÛC‚UVÕ NŒÍU›ZXœYZÜZÛ›XC‚U–Ô  Už˜YÚZÜX›ZÜ][C‚•Q NŒ•Y›Yž]YX›ZÙZX˜ÛZXœC‚•QÔ NŒ•Y›Yž]YX›ÜÛYœYZÙ›˜ÛZXœC‚•“ Í •ZY›X[YÜYÛ›ÙC‚•U• M •X›]X]X]C‚ÕÔ ŒÔX[ÛX›XXC‚P‘ NM БP™œX›ØQPÐC‚PÑ NLÔZYœ -Û›YœÛ^Û]›ØYJC‚PU NMNÑÛ -Û›YœÛ^Û]›ØYJC‚P NMMQ]œÛYX›ÐÛ[ÛÜZYU›Z -QU”ÐÓJ -˜Û›[XœÚY]›ZJC‚ NMQ]œÛYX›SÛ›YXœ^U›Z -Q‹S‹U‹KJ -˜Û›[XœÚY]›ZJC‚Ð NMÍQ]œÛYX›U›ZÛ™PØØÛ]›N -Q‹U‹P‹KNJ -˜Û›[XœÚY]›ZJC‚ NMQ]œÛYX›U›ZÛ™PØØÛ]›LÍ -Q‹U‹P‹KLÍJ -˜Û›[XœÚY]›ZJC‚Ð NMLQXÜÐXœZ˜˜YX›ÛXœC‚” N ÔYØZXœXÝZ›ÙœZÙÜC‚Ó‘ NMŒБP™œX›ØÐQPÓC‚ N XXZ][ -Û›YœÛ^Û]›ØYJC‚‘ NMÌБ™œX›Ø -™œX›ØXØZ™Z\]YJC‚ NŒXZ›][ -Û›YœÛ^Û]›ØYJC‚ÔU NN ÔUДQC‚Ô NÌÐÛYœYÜYœY™ÛœYÜZ›ÙC‚UP NMPU›ZÛ™PØØÛ]›C‚ NNN“ÛØ]œœY›Ø^C‚VQ” VY[Y›ZœZXC‚–P” ÍL ÔÛ]P™œZØX›œX›C‚–SÕ NÍ–X[˜ZX›ÚÝXØXC‚–ÕÑ NŒ –Z[˜X˜ÝYÑÛC‚SXX˜Y“X[YŽPRÐÛYC‚ RY›Z™ZØXZÛ›Û™XÛÙZÜZØ]›Z -ÔÔÐÐJC‚ LRY›Z™ZØXZÛ›Û™XœXYZY[ -ÑR“JC‚ ŒRY›Z™ZØXZÛ›Û™œXYZY[ÜØÛ›XZ›YZ›X6·³´¹:´±º7´:†˜!°:±4·96·:7º¶1²9†˜˜(9·2º±:´·72°:²†˜"º²2°:²3·9°¶·º7:·78°¼¶²7:¹6´8†˜™(°±µ°³´7³2°:²†˜š!²¹:1²3·9²2°:²†˜©²661¼2°:²†˜›¢<8´9°:´·72°:²†¤7:²97°689·2º±:;°9´°7:†˜©²9´°67º¶1²9†¡·7¹º¶²989·2º±:;°9´°7:†™š*4´92(°9:¼¡·7:9·66²2©²9´°6´¹²2¢<:²7¹´·7·3£6·1°6*9°2²¤:²¶'º¶1²9£*¤'”*(,”† 22´:´·7°689·2º±:´2²7:´3´±°:´·7°¹¹´³7²21¼:4²¶°7º3°±:º9²9†˜¡º¹:·¶²98°9:7º¶1²9†¦°2²–:·–§92²9;°9´°:´·77º¶1²9†™(°±µ°³´7³±·¶8·7²7:7º¶1²9†š©²±·72°9¼¹²9´°67º¶1²9†š˜)²3²9²7±²:·¹·º9±²²7:´:¼†š™£6·1°6"·±º¶²7:*¼8²¤2²7:´3´²9£"*¤”†š£6·1°6&·±°:´·7'º¶1²9£&'”²<:²7¹´·7±·¶8·7²7:†šš£6·1°6¡·º8·7'º¶1²9£¡'”†™+°9´°16²±·º7:·3´:²¶¹†™˜™˜˜™˜™˜™™˜™˜š™˜™˜›™˜™˜œ'²:»²´³4:µ´6·³9°¶¹†™˜˜™˜˜˜™˜˜™˜˜™™˜˜™˜˜š™˜˜™˜˜›™˜˜™˜˜œ&²7³:4·93´9¹:2´¶²7¹´·7¶²:9²¹†™˜™˜˜™˜™˜™™˜™˜š™˜™˜›™˜™˜œ«´2:42´°¶²:²9·9¹²±·722´¶²7¹´·7¶²:9²¹†™˜™™˜™˜™˜™™˜™™™˜™™˜™š™˜™™˜™›™˜™™˜™œ"²8:4:4´±µ7²¹¹4²´³4:·9:4´922´¶²7¹´·7¶²:9²¹†™˜™˜˜™˜™˜™™˜™˜š™˜™˜›™˜™˜œ 9²°¹¸º°9²¶²:9²¹†™˜š™˜š˜™˜š™˜š™™˜š™˜šš™˜š™˜š›™˜š™˜šœ'²:;·6º¶²6´:9²¹†™˜™˜˜™˜™˜™™˜™˜š™˜™˜›™˜™˜œ'²:;·6º¶²±º1´±¶²:9²¹†™™˜™™™™™š™™›™™œ'²:»²´³4:8·º72¹†™˜™˜˜™˜™˜™™˜™˜š™˜™˜›™˜™˜œ&²7³:4·93´9¹:2´¶²7¹´·7´7±4²¹†™™˜™™™™™š™™›™™œ&²7³:4·93´9¹:2´¶²7¹´·73²²:†™™™™˜™™™™™™™™™š™™™™›™™™™œ&²7³:4·93´9¹:2´¶²7¹´·7¼°92¹†™™˜™™™™™š™™›™™œ«´2:42´°¶²:²9·9¹²±·722´¶²7¹´·7´7±4²¹†™š™š˜™š™š™™š™šš™š™š›™š™šœ«´2:42´°¶²:²9·9¹²±·722´¶²7¹´·73²²:†™™˜™™™™™š™™›™™œ«´2:42´°¶²:²9·9¹²±·722´¶²7¹´·7¼°92¹†™›™›˜™›™›™™›™›š™›™››™›™›œ"²8:4:4´±µ7²¹¹4²´³4:·9:4´922´¶²7¹´·7´7±4²¹†™™˜™™™™™š™™›™™œ"²8:4:4´±µ7²¹¹4²´³4:·9:4´922´¶²7¹´·73²²:†™œ™œ˜™œ™œ™™œ™œš™œ™œ›™œ™œœ"²8:4:4´±µ7²¹¹4²´³4:·9:4´922´¶²7¹´·7¼°92¹†™™™™˜™™™™™™™™™š™™™™›™™™™œ&·³´¹:´±»²´³4:µ´6·³9°¶¹†™™˜™™˜˜™™˜™™˜™™™˜™™˜š™™˜™™˜›™™˜™™˜œ&²7³:4·93´9¹:2´¶²7¹´·7¶²:9²¹†™™™™˜™™™™™™™™™š™™™™›™™™™œ«´2:42´°¶²:²9·9¹²±·722´¶²7¹´·7¶²:9²¹†™™™™™™˜™™™™™™™™™™™™™š™™™™™™›™™™™™™œ"²8:4:4´±µ7²¹¹4²´³4:·9:4´922´¶²7¹´·7¶²:9²¹†™™™™˜™™™™™™™™™š™™™™›™™™™œ 9²°¹¸º°9²¶²:9²¹†™™š™™š˜™™š™™š™™™š™™šš™™š™™š›™™š™™šœ&·³´¹:´±;·6º¶²6´:9²¹†™™™™˜™™™™™™™™™š™™™™›™™™™œ&·³´¹:´±;·6º¶²±º1´±¶²:9²¹†™™›™™›˜™™›™™›™™™›™™›š™™›™™››™™›™™›œ¥´6·³9°¶¹8²9¹¸º°9²¶²:9²†™™˜™™™™™š™™›™™œ&·³´¹:´±»²´³4:8·º72¹†™˜™˜˜™˜™˜™™˜™˜š™˜™˜›™˜™˜œ&²7³:4·93´9¹:2´¶²7¹´·7´7±4²¹†™™˜™™™™™š™™›™™œ&²7³:4·93´9¹:2´¶²7¹´·73²²:†™™™™˜™™™™™™™™™š™™™™›™™™™œ&²7³:4·93´9¹:2´¶²7¹´·7¼°92¹†™™˜™™™™™š™™›™™œ«´2:42´°¶²:²9·9¹²±·722´¶²7¹´·7´7±4²¹†™š™š˜™š™š™™š™šš™š™š›™š™šœ«´2:42´°¶²:²9·9¹²±·722´¶²7¹´·73²²:†™™˜™™™™™š™™›™™œ«´2:42´°¶²:²9·9¹²±·722´¶²7¹´·7¼°92†™›™›˜™›™›™™›™›š™›™››™›™›œ"²8:4:4´±µ7²¹¹4²´³4:·9:4´922´¶²7¹´·7´7±4²¹†™™˜™™™™™š™™›™™œ"²8:4:4´±µ7²¹¹4²´³4:·9:4´922´¶²7¹´·73²²:†™œ™œ˜™œ™œ™™œ™œš™œ™œ›™œ™œœ"²8:4:4´±µ7²¹¹4²´³4:·9:4´922´¶²7¹´·7¼°92¹†™š™š˜™š™š™™š™šš™š™š›™š™šœ 9²°¹¸º°9²´7±4²¹†™š˜™š˜˜™š˜™š˜™™š˜™š˜š™š˜™š˜›™š˜™š˜œ 9²°¹¸º°9²3²²:†™š™š˜™š™š™™š™šš™š™š›™š™šœ 9²°¹¸º°9²¼°92¹†™š™™š™˜™š™™š™™™š™™š™š™š™™š™›™š™™š™œ 9²°¹¸º°9²´7±4²¹†™š™š˜™š™š™™š™šš™š™š›™š™šœ 9²°¹¸º°9²3²²:†™šš™šš˜™šš™šš™™šš™ššš™šš™šš›™šš™ššœ 9²°¹¸º°9²¼°92¹†™š™š˜™š™š™™š™šš™š™š›™š™šœ'²:»²´³4::9·¼·º7±²¹†™š›™š›˜™š›™š›™™š›™š›š™š›™š››™š›™š›œ'²:»²´³4:·9;·6º¶²”·º7±²¹†™™˜™™™™™š™™›™™œ'²:;·6º¶²¸º°9:¹†™˜™˜˜™˜™˜™™˜™˜š™˜™˜›™˜™˜œ'²:;·6º¶²³°66·7¹ª©†™™˜™™™™™š™™›™™œ&·³´¹:´±;·6º¶²¸º°9:¹†™™™™˜™™™™™™™™™š™™™™›™™™™œ&·³´¹:´±;·6º¶²³°66·7¹ª©†™™˜™™™™™š™™›™™œ'²:;·6º¶²±º1´±´7±4²¹†™š™š˜™š™š™™š™šš™š™š›™š™šœ'²:;·6º¶²±º1´±3²²:†™™˜™™™™™š™™›™™œ'²:;·6º¶²±º1´±¼°92¹†™›™›˜™›™›™™›™›š™›™››™›™›œ&·³´¹:´±;·6º¶²±º1´±´7±4²¹†™™˜™™™™™š™™›™™œ&·³´¹:´±;·6º¶²±º1´±3²²:†™œ™œ˜™œ™œ™™œ™œš™œ™œ›™œ™œœ&·³´¹:´±;·6º¶²±º1´±¼°92¹†™›¡·º7:·3:9°2²´:²¶¹·9:9°2²´:²¶8´²±²¹±·7:°´7²2´7°6·³´¹:´±º7´:†™œ™œ˜™œ™œ™™œ™œš™œ™œ›™œ™œœ ¶·º7:8°¼°16²·9±·º8·7;°6º²–©´7³6²¶·7²:°9¼°9²°†™œ˜™œ˜˜™œ˜™œ˜™™œ˜™œ˜š™œ˜™œ˜›™œ˜™œ˜œ ¶·º7:8°¼°16²°72¤©§±º99²7±¼±·2²†™œ™œ˜™œ™œ™™œ™œš™œ™œ›™œ™œœ ¶·º7:8°¼°16²3·9°;°9´°16²¶²°¹º9²:9°2²´:²¶–©´7³6²¶·7²:°9¼°9²°†™œ™™œ™˜™œ™™œ™™™œ™™œ™š™œ™™œ™›™œ™™œ™œ ¶·º7:8°¼°16²3·9°;°9´°16²¶²°¹º9²:9°2²´:²¶°72¤©§±º99²7±¼±·2²†™œ™œ˜™œ™œ™™œ™œš™œ™œ›™œ™œœ(²9±²7:°³²2´¹±·º7:·3°±·º8·7†™œš™œš˜™œš™œš™™œš™œšš™œš™œš›™œš™œšœ ¶·º7:8°¼°16²8²9º7´:·3¶²°¹º9²¹´7³6²¶·7²:°9¼°9²°†¡º¹:·¶²9“¹8º9±4°¹²·92²97º¶1²9†˜£6·1°6¤2²7:´3´±°:´·7'º¶1²93·9¡·7¹´³7¶²7:£¤'¡”†£6·1°6©4´8¶²7:¤2²7:´3´±°:´·7'º¶1²9£©¤'”†™)·º:´7³±·2²†˜©4´8:·–"²6´;²9:·£6·1°6&·±°:´·7'º¶1²9£&'”†˜˜!´66:·–¤7;·´±²:·£6·1°6&·±°:´·7'º¶1²9£&'”†˜(º9±4°¹²239·¶£6·1°6&·±°:´·7'º¶1²9£&'”†˜™©4´83·9–"²6´;²93·9–#·9»°92:·£6·1°6&·±°:´·7'º¶1²9£&'”†˜¤2²7:´3´±°:´·7·3°84¼¹´±°66·±°:´·7–£6·1°6&·±°:´·7'º¶1²9£&'”†˜š£6·1°6&·±°:´·7'º¶1²9£&'”·3:4²´7;·´±´7³8°9:¼†˜£6·1°6&·±°:´·7'º¶1²9£&'”·3:4²89·2º±:´·7·9¹²9;´±²6·±°:´·7†˜›(°9:¼£6·1°6&·±°:´·7'º¶1²9£&'”†©4´8–:·—"²6´;²9–:·8·¹:°6±·2²»´:4´7°¹´7³6²8·¹:°6°º:4·9´:¼†˜©4´8–:·—"²6´;²9–:·8·¹:°6±·2²»´:4:49²²–2´³´:¤©§±·º7:9¼±·2²†¡·º7:9¼·3·9´³´7·3°:9°2²´:²¶†™¡·º7:9¼·3´7´:´°689·±²¹¹´7³†¡·º7:9¼·389·±²¹¹´7³†š¡·º7:9¼·32´¹°¹¹²¶16¼†¡·º7:9¼±·;²9´7³3º6689·±²¹¹±4°´7†›¡·º7:9¼¹º12´;´¹´·7·3·9´³´7±·2²3·9°:9°2²´:²¶†™©4´8–:·—"²6´;²9–:·¡·¶8°7¼7°¶²†™˜©4´8–:·—"²6´;²9–:·±·7:°±:7°¶²†™©4´8–:·—"²6´;²9–:·°229²¹¹6´7²˜†™™©4´8–:·—"²6´;²9–:·°229²¹¹6´7²†™©4´8–:·—"²6´;²9–:·¹º1º91†™š©4´8–:·—"²6´;²9–:·6·±°6´:¼†™©4´8–:·—"²6´;²9–:·9²³´·7†™›©4´8–:·—"²6´;²9–:·±·º7:9¼±·2²†™©4´8–:·—"²6´;²9–:·:²6²84·7²7º¶1²9†™œ©4´8–:·—"²6´;²9–:·£¢§6·±°:´·7†™˜)²:º97–:·±·¶8°7¼7°¶²†™˜˜)²:º97–:·±·7:°±:7°¶²†™˜)²:º97–:·°229²¹¹6´7²˜†™˜™)²:º97–:·°229²¹¹6´7²†™˜)²:º97–:·¹º1º91†™˜š)²:º97–:·6·±°6´:¼†™˜)²:º97–:·9²³´·7†™˜›)²:º97–:·±·º7:9¼±·2²†™˜)²:º97–:·8·¹:°6±·2²†™˜œ)²:º97–:·:²6²84·7²7º¶1²9†™©²9;´±²±·2²2²¹±9´8:´·7†™˜"°7³²9·º¹³··2¹36°³†™ º:4·9´:¼:·6²°;²36°³†™™©´³7°:º9²9²¸º´9²236°³†™'·:1²3·9²2²6´;²9¼2°:²—:´¶²†™š'·:°3:²92²6´;²9¼2°:²—:´¶²†™)²6²°¹²2°:²†™™¦°<´¶º¶:²¶8²9°:º9²´7#°49²74²´:†™™˜¦°<´¶º¶:²¶8²9°:º9²´7¡²6¹´º¹†™™¦´7´¶º¶:²¶8²9°:º9²´7#°49²74²´:†™™™¦´7´¶º¶:²¶8²9°:º9²´7¡²6¹´º¹†›˜' *§©:·±µ'º¶1²9'©'”†›ª'¢¡¢¶²°:±°9±°¹¹²¹°72±º:¹±6°¹¹´3´±°:´·7†›™¢<8´9°:´·72°:²°72:´¶²†› ±:´;²8·:²7±¼†›š¡°:±4°9²°†›#´9¹:39²²=²2°:²†››$°9;²¹:2°:²†›©8²±´²¹3·93´¹4²9¼8º98·¹²¹†›œ#´¹4´7³³²°9:¼8²†›˜(9·2º±:´·7¶²:4·2†›˜˜*²¹:1¼2°:²†›)²3º91´¹4¶²7:6·:¤"†›˜#º7±:´·7°6¹:°:º¹†›)²;´¹´·7¹:°:º¹†›™£6·1°6¤72´;´2º°6 ¹¹²:¤2²7:´3´²9·3°7°¹¹²¶16¼†›™'º¶1²9·389·±²¹¹·9»´:4:49²²–2´³´:¤©§±·º7:9¼±·2²†›™˜'º¶1²9·389·±²¹¹·9»´:4:49²²–2´³´:¤©§±·º7:9¼±·2²†›™'º¶1²9·389·±²¹¹·9»´:4:49²²–2´³´:¤©§±·º7:9¼±·2²†›™™'º¶1²9·389·±²¹¹·9»´:4:49²²–2´³´:¤©§±·º7:9¼±·2²†›™'º¶1²9·389·±²¹¹·9»´:4:49²²–2´³´:¤©§±·º7:9¼±·2²†›™š'º¶1²9·389·±²¹¹·9»´:4:49²²–2´³´:¤©§±·º7:9¼±·2²†›™'º¶1²9·389·±²¹¹·9»´:4:49²²–2´³´:¤©§±·º7:9¼±·2²†›™›'º¶1²9·389·±²¹¹·9»´:4:49²²–2´³´:¤©§±·º7:9¼±·2²†›™'º¶1²9·389·±²¹¹·9»´:4:49²²–2´³´:¤©§±·º7:9¼±·2²†›™œ'º¶1²9·389·±²¹¹·9»´:4:49²²–2´³´:¤©§±·º7:9¼±·2²†›£©˜ª¤¡»´:4¢<:²7¹´·7˜°72¤¶8·9:²9´72²<†›˜'°:´·7°6$²°6:4±°9²)²´¶1º9¹²¶²7:'º¶1²9'$)'”–£²9¶°7¼(-'†›˜˜'°:´·7°6$²°6:4±°9²)²´¶1º9¹²¶²7:'º¶1²9'$)'”–#9°7±²¡¤(†›˜'°:´·7°6$²°6:4±°9²)²´¶1º9¹²¶²7:'º¶1²9'$)'”–©8°´7¡'†›˜™'°:´·7°6$²°6:4±°9²)²´¶1º9¹²¶²7:'º¶1²9'$)'”–!9°¹´6")'†›˜'°:´·7°6$²°6:4±°9²)²´¶1º9¹²¶²7:'º¶1²9'$)'”–(·9:º³°6 ¤¦†›˜š'°:´·7°6$²°6:4±°9²)²´¶1º9¹²¶²7:'º¶1²9'$)'”–ª7´:²2©:°:²¹·3 ¶²9´±°'"¡†›™¡²9:´3´±°:´·79²3²9²7±²†›™˜¡²9:´3´±°:´·79²3²9²7±²†›™¡²9:´3´±°:´·79²3²9²7±²†›™™¡²9:´3´±°:´·79²3²9²7±²†›™¡²9:´3´±°:´·79²3²9²7±²†›™š¡²9:´3´±°:´·79²3²9²7±²†›™¡²9:´3´±°:´·79²3²9²7±²†›™›¡²9:´3´±°:´·79²3²9²7±²†›™¡²9:´3´±°:´·79²3²9²7±²†›™œ¡²9:´3´±°:´·79²3²9²7±²†›(9·:·±·6¤"†›˜ ¤"¡¶²2´°:¼8²†›+²9¹´·7¡·7:9·6'º¶1²9+¡'”†˜)·6689·2º±:¹–»´2:46²7³:4±·9²2´°¶²:²92´9²±:´·7¹86´±²¹†¡²66º6°9¶·1´6²:²6²84·7²´2²7:´3´²9†™£6·1°6)²:º97°16² ¹¹²:¤2²7:´3´²9£) ¤”†£6·1°6¤72´;´2º°6 ¹¹²:¤2²7:´3´²9£¤ ¤”†š(9´±²8²9º7´:·3¶²°¹º9²†¤2²7:´3´±°:´·7·3°7´72´;´2º°6:9°2²´:²¶¤*¤(”8´²±²†›¤7:²97°:´·7°6!°7µ ±±·º7:'º¶1²9¤! '”†"°:²°72:´¶²·389·2º±:´·7†œ§8:´±°66¼9²°2°16²¹²7¹·9´72´±°:·9†˜¡·¶8·7²7:—(°9:¤2²7:´3´²9¡(¤"”†˜˜¡·¶8·7²7:—(°9:¤2²7:´3´²9¹²9´°67º¶1²9†˜©·3:»°9²;²9¹´·7†˜™£6·1°6¦·2²6'º¶1²9£¦'”†˜›£6·1°6©²9;´±²)²6°:´·7'º¶1²9£©)'”†˜£6·1°6©²9;´±²)²6°:´·7'º¶1²9£©)'”†˜œ©²9;´±²)²6°:´·7¤7¹:°7±²'º¶1²9©)¤'”†(°¼¶²7:¹6´89²3²9²7±²7º¶1²9†¤2²7:´3´±°:´·7·38´²±²¹·3°:9°2²´:²¶¤*¤(”±·7:°´7²2´7°6·³´¹:´±º7´:†™"´³´:°6©´³7°:º9²"´³©´³”†˜˜¡·º8·7±·2²´2²7:´3´±°:´·73·9º¹²´7'·9:4 ¶²9´±°†˜˜˜&·¼°6:¼8·´7:¹·3°±·º8·7†˜˜(·¹´:´;²·33²93´6²±·º8·7±·2²´2²7:´3´±°:´·73·9º¹²´7'·9:4 ¶²9´±°†¢<:²72²28°±µ°³´7³ª)&†œ¤73·9¶°:´·7¶º:º°66¼°³9²²21²:»²²7:9°2´7³8°9:7²9¹†œ˜¡·¶8°7¼´7:²97°6´73·9¶°:´·7†œ¡·¶8°7¼´7:²97°6´73·9¶°:´·7†œ™¡·¶8°7¼´7:²97°6´73·9¶°:´·7†œ¡·¶8°7¼´7:²97°6´73·9¶°:´·7†œš¡·¶8°7¼´7:²97°6´73·9¶°:´·7†œ¡·¶8°7¼´7:²97°6´73·9¶°:´·7†œ›¡·¶8°7¼´7:²97°6´73·9¶°:´·7†œ¡·¶8°7¼´7:²97°6´73·9¶°:´·7†œœ¡·¶8°7¼´7:²97°6´73·9¶°:´·7† \ No newline at end of file diff --git a/dist/parser-resources/MRTD.data b/dist/parser-resources/MRTD.data deleted file mode 100644 index c0f2f6a0..00000000 --- a/dist/parser-resources/MRTD.data +++ /dev/null @@ -1 +0,0 @@ -WVcŽ5`egWr`tƒA‡‹‡5MnC?HHLFp?5`egWrgWDr\WA}†‚5MnHHLF?GCCKJp?5`egWrgWErYeXaV[r\WA}†‚5MnGHIKC?EKLIEp?5`egWrgWEr\WA}†‚5MnJGIGE?ELJGIp?5`egWrgWEri\fTA}†‚5MnDCGFKK?EKHDLp?5`egWrgWFrcTffcbegA}†‚5MnDFELCJ?FEEJDp?5`egWrgWFri\fTA}†‚5MnDIHDJK?EKGFFp`tƒgtuxat€xM3†x‹V‚wx Y3yx€tx `3€tx O3ˆ†ƒxv|y|xw `tƒgtuxat€xM3…xz|‚V‚wx TYO?TYZ3Tyz{t|†‡t T_O?T_U3Tut|t WmO?WmT3Tzx…|t TfO?Tf`3T€x…|vt3ft€‚t TWO?TaW3Tw‚……t TbO?TZb3Tz‚t T\O?T\T3Tzˆ|t TdO?TgT3T‡t…v‡|vt TZO?TgZ3T‡|zˆt3tw3Ut…uˆwt TeO?TeZ3T…zx‡|t T`O?Te`3T…€x|t TjO?TUj3T…ˆut ThO?Thf3Tˆ†‡…t|t TgO?Thg3Tˆ†‡…|t TmO?TmX3Tx…ut|}t UfO?U[f3Ut{t€t†3;‡{x< U[O?U[e3Ut{…t| UWO?UZW3Utztwx†{ UUO?UeU3Ut…utw‚† UlO?U_e3Uxt…ˆ† UXO?UX_3Uxz|ˆ€ UmO?U_m3Ux|x U]O?UXa3Ux| U`O?U`h3Ux…€ˆwt UgO?Uga3U{ˆ‡t UbO?Ub_3U‚|‰|t3;cˆ…|t‡|‚t3f‡t‡x3‚y< UdO?UXf3U‚t|…x3f|‡3Xˆ†‡t‡|ˆ†3tw3ftut UTO?U\[3U‚†|t3tw3[x…xz‚‰|t UjO?UjT3U‚‡†Štt UiO?Uig3U‚ˆ‰x‡3\†tw UeO?UeT3U…t| \bO?\bg3U…|‡|†{3\w|t3bvxt3gx……|‡‚…Œ3;‡{x< UaO?Uea3U…ˆx|3Wt…ˆ††tt€ UZO?UZe3Uˆzt…|t UYO?UYT3Uˆ…~|t3Yt†‚ U\O?UW\3Uˆ…ˆw| ViO?Vci3Vtu‚3ix…wx ^[O?^[`3Vt€u‚w|t V`O?V`e3Vt€x…‚‚ VTO?VTa3Vttwt ^lO?Vl`3VtŒ€t3\†tw†3;‡{x< VYO?VTY3Vx‡…t3Ty…|vt3exƒˆu|v3;‡{x< gWO?gVW3V{tw V_O?V[_3V{|x VaO?V[a3V{|t VkO?Vke3V{…|†‡€t†3\†tw VVO?VV^3V‚v‚†3;^xx|z<3\†tw†3;‡{x< VbO?Vb_3V‚‚€u|t ^`O?Vb`3V‚€‚…‚†3;‡{x< VWO?VbW3V‚z‚3;‡{x3Wx€‚v…t‡|v3exƒˆu|v3‚y3‡{x< VZO?VbZ3V‚z‚3;‡{x< V^O?Vb^3V‚‚~3\†tw†3;‡{x< VeO?Ve\3V‚†‡t3e|vt [eO?[ei3V…‚t‡|t VhO?VhU3Vˆut VjO?Vhj3Vˆ…tvt‚ VlO?Vlc3VŒƒ…ˆ† VmO?VmX3Vxv{|t V\O?V\i3V‚‡x3w:\‰‚|…x W^O?Wa^3Wx€t…~ W]O?W]\3W}|u‚ˆ‡| W`O?W`T3W‚€||vt WbO?Wb`3W‚€||vt3exƒˆu|v3;‡{x< XVO?XVh3Xvˆtw‚… XZO?XZl3XzŒƒ‡ fiO?f_i3X3ft‰tw‚… ZdO?Zad3X„ˆt‡‚…|t3Zˆ|xt XeO?Xe\3X…|‡…xt XXO?Xfg3X†‡‚|t fmO?fjm3X†Št‡|| XgO?Xg[3X‡{|‚ƒ|t Y^O?Y_^3Yt~tw3\†tw†3;‡{x<3n`t‰|t†p YbO?Yeb3Yt…‚x3\†tw†3;‡{x< Y]O?Y]\3Y|}| Y\O?Y\a3Y|tw YeO?YeT3Y…tvx ZYO?ZhY3Y…xv{3Zˆ|tt cYO?clY3Y…xv{3c‚Œx†|t gYO?TgY3Y…xv{3f‚ˆ‡{x…3gx……|‡‚…|x†3;‡{x< ZTO?ZTU3Ztu‚ Z`O?Z`U3Zt€u|t3;‡{x< ZXO?ZXb3Zx‚…z|t WOO?WXO?WXh3Zx…€tŒ Z[O?Z[T3Z{tt Z\O?Z\U3Z|u…t‡t… ZeO?ZeV3Z…xxvx Z_O?Ze_3Z…xxtw ZWO?ZeW3Z…xtwt ZcO?Z_c3Zˆtwx‚ˆƒx ZhO?Zh`3Zˆt€ ZgO?Zg`3Zˆt‡x€tt ZZO?ZZl3Zˆx…†xŒ ZaO?Z\a3Zˆ|xt ZjO?ZaU3Zˆ|xt@U|††tˆ ZlO?Zhl3ZˆŒtt [gO?[g\3[t|‡| [`O?[`W3[xt…w3\†tw3tw3`vW‚tw3\†tw† iTO?iTg3[‚Œ3fxx3;‡{x< [aO?[aW3[‚wˆ…t† [^O?[^Z3[‚z3^‚z [hO?[ha3[ˆzt…Œ \fO?\f_3\vxtw \aO?\aW3\w|t \WO?\Wa3\w‚x†|t \eO?\ea3\…t3;\†t€|v3exƒˆu|v3‚y< \dO?\ed3\…t„ \XO?\e_3\…xtw \`O?\`a3\†x3‚y3`t \_O?\fe3\†…tx \gO?\gT3\‡tŒ ]`O?]T`3]t€t|vt ]cO?]ca3]tƒt ]XO?]Xl3]x…†xŒ ]bO?]be3]‚…wt ^mO?^Tm3^tt~{†‡t ^XO?^Xa3^xŒt ^\O?^\e3^|…|ut‡| ^cO?ce^3^‚…xt3;‡{x3Wx€‚v…t‡|v3cx‚ƒx:†3exƒˆu|v3‚y< ^eO?^be3^‚…xt3;‡{x3exƒˆu|v3‚y< ^jO?^jg3^ˆŠt|‡ ^ZO?^Zm3^Œ…zŒ†‡t _TO?_Tb3_t‚3cx‚ƒx:†3Wx€‚v…t‡|v3exƒˆu|v3;‡{x< _iO?_iT3_t‡‰|t _UO?_Ua3_xut‚ _fO?_fb3_x†‚‡{‚ _eO?_Ue3_|ux…|t _lO?_Ul3_|uŒt _\O?_\X3_|xv{‡x†‡x| _gO?_gh3_|‡{ˆt|t _hO?_hk3_ˆ‹x€u‚ˆ…z `bO?`TV3`tvt‚ `ZO?`WZ3`twtzt†vt… `jO?`j\3`ttŠ| `lO?`lf3`ttŒ†|t `iO?`Wi3`tw|‰x† `_O?`_\3`t| `gO?`_g3`t‡t `[O?`[_3`t…†{t3\†tw†3;‡{x< `dO?`gd3`t…‡||„ˆx `eO?`eg3`tˆ…|‡t|t `hO?`hf3`tˆ…|‡yecID,<]ID0]qiddu]H,<]UH0]uhysV],C>9GV,=pEmrpFBNmr‘FpEFGmr>=pEmrpFBNmr‘pFGrpEBNmr‘HpEFmr>7A"55555555555555555555555555557^ƒ…ЉiŽ…z7O57k^it[^ZaYtkVajZ7"555555555555555555555555’A"555555555555555555555555"55555555555555555555555555557iŽ…z7O57X}zx€ˆŠ‚7A"55555555555555555555555555557gz†Š~‡zy[~zyˆ7O5p"555555555555555555555555555555557x}zx€Y~|~‰[„‡W~‡‰}Yv‰z7"5555555555555555555555555555rA"55555555555555555555555555557[Šƒx‰~„ƒcv‚z7O57YXeYtbgot‹z‡~{~xv‰~„ƒ7"555555555555555555555555’"55555555555555555555r"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57x}zx€Y~|~‰[„‡W~‡‰}Yv‰z7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5K"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5F"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pEBNr7"555555555555555555555555’"55555555555555555555r"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57ˆz7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5L"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5F"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pb[Qr7"555555555555555555555555’"55555555555555555555rA"555555555555555555557bv…ivwzcv‚z7O57ˆzX„yz7"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57yv‰zd{Z…~‡Ž7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5M"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5K"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557X}~y[~zyˆ7O5p"555555555555555555555555"55555555555555555555555555557[~zycv‚z7O57z…~‡Žnzv‡7A"55555555555555555555555555557a„xv‰~„ƒ7O5"555555555555555555555555555555557d…‰~„ƒˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"55555555555555555555555555555555555555555555"5555555555555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57yv‰zd{Z…~‡Ž7A"5555555555555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰7O5E"55555555555555555555555555555555555555555555’"5555555555555555555555555555555555555555rA"55555555555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5G"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz…vxzV7O5p"555555555555555555555555555555555555555555557Q7A"5555555555555555555555555555555555555555555577"5555555555555555555555555555555555555555r"555555555555555555555555555555555555’"55555555555555555555555555555555r"5555555555555555555555555555’A"55555555555555555555555555557kv~yv‰~„ƒ7O5p"55555555555555555555555555555555"5555555555555555555555555555555555557iŽ…z7O57gz|Z7A"5555555555555555555555555555555555557gz|Z7O57pEBNrG’7"55555555555555555555555555555555’"5555555555555555555555555555r"555555555555555555555555’A"555555555555555555555555"55555555555555555555555555557[~zycv‚z7O57z…~‡Žb„ƒ‰}7A"55555555555555555555555555557a„xv‰~„ƒ7O5"555555555555555555555555555555557d…‰~„ƒˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"55555555555555555555555555555555555555555555"5555555555555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57yv‰zd{Z…~‡Ž7A"5555555555555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰7O5G"55555555555555555555555555555555555555555555’"5555555555555555555555555555555555555555rA"55555555555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5G"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz…vxzV7O5p"555555555555555555555555555555555555555555557Q7A"5555555555555555555555555555555555555555555577"5555555555555555555555555555555555555555r"555555555555555555555555555555555555’"55555555555555555555555555555555r"5555555555555555555555555555’A"55555555555555555555555555557kv~yv‰~„ƒ7O5p"55555555555555555555555555555555"5555555555555555555555555555555555557iŽ…z7O57gz|Z7A"5555555555555555555555555555555555557gz|Z7O57EpFBNr‘FpEFGr7"55555555555555555555555555555555’"5555555555555555555555555555r"555555555555555555555555’A"555555555555555555555555"55555555555555555555555555557[~zycv‚z7O57z…~‡ŽYvŽ7A"55555555555555555555555555557a„xv‰~„ƒ7O5"555555555555555555555555555555557d…‰~„ƒˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"55555555555555555555555555555555555555555555"5555555555555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57yv‰zd{Z…~‡Ž7A"5555555555555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰7O5I"55555555555555555555555555555555555555555555’"5555555555555555555555555555555555555555rA"55555555555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5G"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz…vxzV7O5p"555555555555555555555555555555555555555555557Q7A"5555555555555555555555555555555555555555555577"5555555555555555555555555555555555555555r"555555555555555555555555555555555555’"55555555555555555555555555555555r"5555555555555555555555555555’A"55555555555555555555555555557kv~yv‰~„ƒ7O5p"55555555555555555555555555555555"5555555555555555555555555555555555557iŽ…z7O57gz|Z7A"5555555555555555555555555555555555557gz|Z7O57EpFBNr‘pFGrpEBNr‘HpEFr7"55555555555555555555555555555555’"5555555555555555555555555555r"555555555555555555555555’"55555555555555555555rA"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57=pEBNrG’>=EpFBNr‘FpEFGr>=EpFBNr‘pFGrpEBNr‘HpEFr>7"555555555555555555555555’A"555555555555555555555555"55555555555555555555555555557iŽ…z7O57X}zx€ˆŠ‚7A"55555555555555555555555555557gz†Š~‡zy[~zyˆ7O5p"555555555555555555555555555555557x}zx€Y~|~‰[„‡Z…~‡ŽYv‰z7"5555555555555555555555555555rA"55555555555555555555555555557[Šƒx‰~„ƒcv‚z7O57YXeYtbgot‹z‡~{~xv‰~„ƒ7"555555555555555555555555’"55555555555555555555r"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57x}zx€Y~|~‰[„‡Z…~‡ŽYv‰z7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5FI"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5F"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pEBNr7"555555555555555555555555’"55555555555555555555r"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57ƒv‰~„ƒv~‰Ž7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5FJ"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5H"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pVBoQrH’7"555555555555555555555555’"55555555555555555555rA"555555555555555555557bv…ivwzcv‚z7O57‡z|~„ƒX„yz7"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57„…‰~„ƒvYv‰vG7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5FM"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5FF"5555555555555555555555555555’"555555555555555555555555rA"5555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557hzv‡x}Vl~‰}gz|ZVƒyX„‚w~ƒz7O5p"5555555555555555555555555555555555557pVBoEBNr@7A"555555555555555555555555555555555555757"55555555555555555555555555555555r"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pVBoEBNQrFF’7"555555555555555555555555’"55555555555555555555r"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57x„‚…„ˆ~‰zX}zx€Y~|~‰7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5GN"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5F"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pEBNr7"555555555555555555555555’"55555555555555555555r"5555555555555555’"555555555555rA"5555555555557kv~yv‰~„ƒ7O5p"5555555555555555"555555555555555555557iŽ…z7O57gz|Z7A"555555555555555555557gz|Z7O57=pEBNQrG’>=pEQrpFBNQr‘FpEFGQr>=pEQrpFBNQr‘pFGrpEBNQr‘HpEFQr>=pEBNr>=pb[Qr>=pEBNrG’>=EpFBNr‘FpEFGr>=EpFBNr‘pFGrpEBNr‘HpEFr>=pEBNr>=pVBoQrH’>=pVBoEBNQrFF’>=pEBNr>7"5555555555555555’"555555555555r"55555555’A"55555555"5555555555557[~zycv‚z7O57~ƒzH7A"5555555555557a„xv‰~„ƒ7O5"55555555555555557d…‰~„ƒˆ7O5p"55555555555555555555"5555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"5555555555555555555555555555"555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|Zƒy7A"555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"555555555555555555555555555555557d{{ˆz‰7O5E"5555555555555555555555555555’"555555555555555555555555rA"5555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5HE"55555555555555555555’"5555555555555555r"555555555555’A"5555555555557X}~y[~zyˆ7O5p"5555555555555555"555555555555555555557[~zycv‚z7O57ƒv‚z7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzH7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5E"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5HE"5555555555555555555555555555’"555555555555555555555555rA"5555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557hzv‡x}Vl~‰}gz|ZVƒyX„‚w~ƒz7O5p"5555555555555555555555555555555555557pVBor@7A"555555555555555555555555555555555555757"55555555555555555555555555555555r"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557X}~y[~zyˆ7O5p"555555555555555555555555"55555555555555555555555555557[~zycv‚z7O57…‡~‚v‡Ž^yzƒ‰~{~z‡7A"55555555555555555555555555557a„xv‰~„ƒ7O5"555555555555555555555555555555557d…‰~„ƒˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"55555555555555555555555555555555555555555555"5555555555555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57ƒv‚z7A"5555555555555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰7O5E"55555555555555555555555555555555555555555555’"5555555555555555555555555555555555555555rA"55555555555555555555555555555555555555557hz…v‡v‰„‡7O5p"55555555555555555555555555555555555555555555"5555555555555555555555555555555555555555555555557e„ˆ~‰~„ƒ7O57Zƒy7A"5555555555555555555555555555555555555555555555557^ƒxŠyzy^ƒ[~zy7O5{vˆzA"5555555555555555555555555555555555555555555555557gz|Z7O7QQ7"55555555555555555555555555555555555555555555’"5555555555555555555555555555555555555555r"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557hzv‡x}Vl~‰}gz|ZVƒyX„‚w~ƒz7O5p"555555555555555555555555555555555555555555557pVBor@7A"55555555555555555555555555555555555555555555757"5555555555555555555555555555555555555555r"555555555555555555555555555555555555’"55555555555555555555555555555555r"5555555555555555555555555555’"555555555555555555555555’A"555555555555555555555555"55555555555555555555555555557[~zycv‚z7O57ˆzx„ƒyv‡Ž^yzƒ‰~{~z‡7A"55555555555555555555555555557a„xv‰~„ƒ7O5"555555555555555555555555555555557d…‰~„ƒˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"55555555555555555555555555555555555555555555"5555555555555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57ƒv‚z7A"5555555555555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰7O5E"55555555555555555555555555555555555555555555’"5555555555555555555555555555555555555555rA"55555555555555555555555555555555555555557hz…v‡v‰„‡7O5p"55555555555555555555555555555555555555555555"5555555555555555555555555555555555555555555555557e„ˆ~‰~„ƒ7O57h‰v‡‰7A"5555555555555555555555555555555555555555555555557^ƒxŠyzy^ƒ[~zy7O5‰‡ŠzA"5555555555555555555555555555555555555555555555557gz|Z7O7QQpVBor7"55555555555555555555555555555555555555555555’"5555555555555555555555555555555555555555r"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557hzv‡x}Vl~‰}gz|ZVƒyX„‚w~ƒz7O5p"555555555555555555555555555555555555555555557pVBor@7A"55555555555555555555555555555555555555555555757"5555555555555555555555555555555555555555r"555555555555555555555555555555555555’"55555555555555555555555555555555r"5555555555555555555555555555’"555555555555555555555555’"55555555555555555555rA"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pVBorpVBoQrEAGN’7"555555555555555555555555’"55555555555555555555r"5555555555555555’"555555555555rA"5555555555557kv~yv‰~„ƒ7O5p"5555555555555555"555555555555555555557iŽ…z7O57gz|Z7A"555555555555555555557gz|Z7O57pVBorpVBoQrGN’7"5555555555555555’"555555555555r"55555555’A"55555555"5555555555557[~zycv‚z7O57{~zy[„‡X„‚…„ˆ~‰zX}zx€7A"5555555555557e‡z‚~ˆzd{[~zy7O57~ƒzF6RYXet[^ZaYtcdit[djcY;;~ƒzG6RYXet[^ZaYtcdit[djcY7A"5555555555557a„xv‰~„ƒ7O5"55555555555555557d…‰~„ƒˆ7O5p"55555555555555555555"5555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"5555555555555555555555555555"555555555555555555555555555555557gz{z‡zƒxz[~zy7O57{ŠX„yzh‰‡~ƒ|7A"555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"555555555555555555555555555555557d{{ˆz‰7O5E"5555555555555555555555555555’A"5555555555555555555555555555"555555555555555555555555555555557gz{z‡zƒxz[~zy7O57{ŠX„yzh‰‡~ƒ|7A"555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|Zƒy7A"555555555555555555555555555555557d{{ˆz‰7O5KE"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’"5555555555555555rA"55555555555555557e„ˆ‰e‡„xzˆˆ7O5p"55555555555555555555"5555555555555555555555557[Šƒx‰~„ƒcv‚z7O57YXeYtbgotiYFt|z‰[~zy[„‡X„‚…„ˆ~‰zX}zx€7"55555555555555555555’"5555555555555555r"555555555555’A"5555555555557kv~yv‰~„ƒ7O5p"5555555555555555"555555555555555555557iŽ…z7O57X}zx€ˆŠ‚7A"555555555555555555557gz†Š~‡zy[~zyˆ7O5p"5555555555555555555555557x„‚…„ˆ~‰zX}zx€Y~|~‰7"55555555555555555555rA"555555555555555555557[Šƒx‰~„ƒcv‚z7O57YXeYtbgot‹z‡~{~xv‰~„ƒ7A"555555555555555555557^ƒ…ЉiŽ…z7O57k^it[^ZaYtkVajZ7"5555555555555555’"555555555555r"55555555’"5555r"’"55557X„yziŽ…z7O57bgiYtiYGt[gZcX]t^Y7A"55557e‡ze‡„xzˆˆ7O5p"55555555"5555555555557gz…vxzV7O5p7qƒ7A577r"55555555’A"55555555"5555555555557gz…vxzV7O5p7q‡7A577r"55555555’"5555rA"55557X„yz[zv‰Š‡zev‰‰z‡ƒ7O57s=pVBoqqyQrHK’>FAG’97A"55557Yzy~xv‰zya~w‡v‡Ž7O57YŽƒv‚ˆ„{‰X„yzev‡ˆz‡Yzy~xv‰„‡7A"55557bv…[~z7O57bgiYtbv…7A"55557[~zyˆ7O5p"55555555"5555555555557[~zycv‚z7O57~ƒzF7A"5555555555557a„xv‰~„ƒ7O5"55555555555555557d…‰~„ƒˆ7O5p"55555555555555555555"5555555555555555555555557hz…v‡v‰„‡7O5p"5555555555555555555555555555"555555555555555555555555555555557e„ˆ~‰~„ƒ7O57h‰v‡‰7A"555555555555555555555555555555557^ƒxŠyzy^ƒ[~zy7O5‰‡ŠzA"555555555555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555555555557^7"55555555555555555555555555555555r"5555555555555555555555555555’"555555555555555555555555rA"5555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5HK"55555555555555555555’"5555555555555555r"555555555555’A"5555555555557X}~y[~zyˆ7O5p"5555555555555555"555555555555555555557[~zycv‚z7O57y„xŠ‚zƒ‰X„yz7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzF7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5E"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5G"5555555555555555555555555555’"555555555555555555555555rA"5555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557gz…vxzV7O5p"5555555555555555555555555555555555557Q7A"55555555555555555555555555555555555577"55555555555555555555555555555555r"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57^pVBoQr7"555555555555555555555555’"55555555555555555555r"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57~ˆˆŠ~ƒ|h‰v‰z7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzF7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5G"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5H"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57[gV7"555555555555555555555555’"55555555555555555555rA"555555555555555555557bv…ivwzcv‚z7O57‡z|~„ƒX„yz7"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57vˆ‰cv‚z7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzF7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5J"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5GJ"5555555555555555555555555555’"555555555555555555555555rA"5555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557hzv‡x}Vl~‰}gz|ZVƒyX„‚w~ƒz7O5p"5555555555555555555555555555555555557pVBor@7A"555555555555555555555555555555555555757"55555555555555555555555555555555r"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pVBoQrGJ’7"555555555555555555555555’"55555555555555555555r"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57yz…v‡‰‚zƒ‰d{^ˆˆŠvƒxz7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzF7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5HE"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5H"5555555555555555555555555555’"555555555555555555555555rA"5555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557gz…vxzV7O5p"5555555555555555555555555555555555557Q7A"55555555555555555555555555555555555577"55555555555555555555555555555555r"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pVBoEBNQrH’7"555555555555555555555555’"55555555555555555555r"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57„{{~xzd{^ˆˆŠvƒxz7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzF7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5HH"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5H"5555555555555555555555555555’"555555555555555555555555rA"5555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557gz…vxzV7O5p"5555555555555555555555555555555555557Q7A"55555555555555555555555555555555555577"55555555555555555555555555555555r"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pEBNQrH’7"555555555555555555555555’"55555555555555555555r"5555555555555555’"555555555555rA"5555555555557kv~yv‰~„ƒ7O5p"5555555555555555"555555555555555555557iŽ…z7O57gz|Z7A"555555555555555555557gz|Z7O57=^pVBoQr>=[gV>=pVBoQrGJ’>=pVBoEBNQrH’>=pEBNQrH’>7"5555555555555555’"555555555555r"55555555’A"55555555"5555555555557[~zycv‚z7O57~ƒzG7A"5555555555557a„xv‰~„ƒ7O5"55555555555555557d…‰~„ƒˆ7O5p"55555555555555555555"5555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"5555555555555555555555555555"555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzF7A"555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|Zƒy7A"555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"555555555555555555555555555555557d{{ˆz‰7O5E"5555555555555555555555555555’"555555555555555555555555rA"5555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5HK"55555555555555555555’"5555555555555555r"555555555555’A"5555555555557X}~y[~zyˆ7O5p"5555555555555555"555555555555555555557[~zycv‚z7O57~ycŠ‚wz‡7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5E"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5FG"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557X}~y[~zyˆ7Op"555555555555555555555555"55555555555555555555555555557[~zycv‚z7O57Žzv‡d{^ˆˆŠvƒxz7A"55555555555555555555555555557a„xv‰~„ƒ7O5"555555555555555555555555555555557d…‰~„ƒˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"55555555555555555555555555555555555555555555"5555555555555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ycŠ‚wz‡7A"5555555555555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰7O5E"55555555555555555555555555555555555555555555’"5555555555555555555555555555555555555555rA"55555555555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5G"555555555555555555555555555555555555’"55555555555555555555555555555555r"5555555555555555555555555555’A"55555555555555555555555555557kv~yv‰~„ƒ7O5p"55555555555555555555555555555555"5555555555555555555555555555555555557iŽ…z7O57gz|Z7A"5555555555555555555555555555555555557gz|Z7O57pEBNrG’7"55555555555555555555555555555555’"5555555555555555555555555555r"555555555555555555555555’A"555555555555555555555555"55555555555555555555555555557[~zycv‚z7O57‚„ƒ‰}d{^ˆˆŠvƒxz7A"55555555555555555555555555557a„xv‰~„ƒ7O5"555555555555555555555555555555557d…‰~„ƒˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"55555555555555555555555555555555555555555555"5555555555555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ycŠ‚wz‡7A"5555555555555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰7O5G"55555555555555555555555555555555555555555555’"5555555555555555555555555555555555555555rA"55555555555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5G"555555555555555555555555555555555555’"55555555555555555555555555555555r"5555555555555555555555555555’A"55555555555555555555555555557kv~yv‰~„ƒ7O5p"55555555555555555555555555555555"5555555555555555555555555555555555557iŽ…z7O57gz|Z7A"5555555555555555555555555555555555557gz|Z7O57EpFBNr‘FpEFGr7"55555555555555555555555555555555’"5555555555555555555555555555r"555555555555555555555555’A"555555555555555555555555"55555555555555555555555555557[~zycv‚z7O57yz…v‡‰‚zƒ‰d{^ˆˆŠvƒxz7A"55555555555555555555555555557a„xv‰~„ƒ7O5"555555555555555555555555555555557d…‰~„ƒˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"55555555555555555555555555555555555555555555"5555555555555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ycŠ‚wz‡7A"5555555555555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰7O5I"55555555555555555555555555555555555555555555’"5555555555555555555555555555555555555555rA"55555555555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5H"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz…vxzV7O5p"555555555555555555555555555555555555555555557Q7A"5555555555555555555555555555555555555555555577"5555555555555555555555555555555555555555r"555555555555555555555555555555555555’"55555555555555555555555555555555r"5555555555555555555555555555’A"55555555555555555555555555557kv~yv‰~„ƒ7O5p"55555555555555555555555555555555"5555555555555555555555555555555555557iŽ…z7O57gz|Z7A"5555555555555555555555555555555555557gz|Z7O57pVBoEBNQrH’7"55555555555555555555555555555555’"5555555555555555555555555555r"555555555555555555555555’A"555555555555555555555555"55555555555555555555555555557[~zycv‚z7O57‚vƒv|z‚zƒ‰Xzƒ‰z‡h~|ƒ7A"55555555555555555555555555557a„xv‰~„ƒ7O5"555555555555555555555555555555557d…‰~„ƒˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"55555555555555555555555555555555555555555555"5555555555555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ycŠ‚wz‡7A"5555555555555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰7O5L"55555555555555555555555555555555555555555555’"5555555555555555555555555555555555555555rA"55555555555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5J"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz…vxzV7O5p"555555555555555555555555555555555555555555557Q7A"5555555555555555555555555555555555555555555577"5555555555555555555555555555555555555555r"555555555555555555555555555555555555’"55555555555555555555555555555555r"5555555555555555555555555555’A"55555555555555555555555555557kv~yv‰~„ƒ7O5p"55555555555555555555555555555555"5555555555555555555555555555555555557iŽ…z7O57gz|Z7A"5555555555555555555555555555555555557gz|Z7O57pVBoEBNQrJ’7"55555555555555555555555555555555’"5555555555555555555555555555r"555555555555555555555555’55555555"55555555555555555555rA"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pVBoEBNrFG’7"555555555555555555555555’A"555555555555555555555555"55555555555555555555555555557iŽ…z7O57X}zx€ˆŠ‚7A"55555555555555555555555555557gz†Š~‡zy[~zyˆ7O5p7x}zx€Y~|~‰[„‡^ycŠ‚wz‡7rA"55555555555555555555555555557[Šƒx‰~„ƒcv‚z7O57YXeYtbgot‹z‡~{~xv‰~„ƒ7"555555555555555555555555’"55555555555555555555r"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57x}zx€Y~|~‰[„‡^ycŠ‚wz‡7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5FG"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5F"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pEBNr7"555555555555555555555555’"55555555555555555555r"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57|~‹zƒcv‚zˆ7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5FH"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5FI"5555555555555555555555555555’"555555555555555555555555rA"5555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557hzv‡x}Vl~‰}gz|ZVƒyX„‚w~ƒz7O5p"5555555555555555555555555555555555557pVBor@7A"555555555555555555555555555555555555757"55555555555555555555555555555555r"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pVBoQrFI’7"555555555555555555555555’"55555555555555555555r"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57yv‰zd{W~‡‰}7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5GL"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5K"5555555555555555555555555555’"555555555555555555555555rA"5555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557gz…vxzV7O5p"5555555555555555555555555555555555557Q7A"5555555555555555555555555555555555557m7"55555555555555555555555555555555r"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557X}~y[~zyˆ7O5p"555555555555555555555555"55555555555555555555555555557[~zycv‚z7O57w~‡‰}nzv‡7A"55555555555555555555555555557a„xv‰~„ƒ7O5"555555555555555555555555555555557d…‰~„ƒˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"55555555555555555555555555555555555555555555"5555555555555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57yv‰zd{W~‡‰}7A"5555555555555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰7O5E"55555555555555555555555555555555555555555555’"5555555555555555555555555555555555555555rA"55555555555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5G"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz…vxzV7O5p"555555555555555555555555555555555555555555557Q7A"555555555555555555555555555555555555555555557m7"5555555555555555555555555555555555555555r"555555555555555555555555555555555555’"55555555555555555555555555555555r"5555555555555555555555555555’A"55555555555555555555555555557kv~yv‰~„ƒ7O5p"55555555555555555555555555555555"5555555555555555555555555555555555557iŽ…z7O57gz|Z7A"5555555555555555555555555555555555557gz|Z7O57pEBNmrG’7A"5555555555555555555555555555555555557^ƒ…ЉiŽ…z7O57k^it[^ZaYtkVajZ7"55555555555555555555555555555555’"5555555555555555555555555555r"555555555555555555555555’A"555555555555555555555555"55555555555555555555555555557[~zycv‚z7O57w~‡‰}b„ƒ‰}7A"55555555555555555555555555557a„xv‰~„ƒ7O5"555555555555555555555555555555557d…‰~„ƒˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"55555555555555555555555555555555555555555555"5555555555555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57yv‰zd{W~‡‰}7A"5555555555555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰7O5G"55555555555555555555555555555555555555555555’"5555555555555555555555555555555555555555rA"55555555555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5G"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz…vxzV7O5p"555555555555555555555555555555555555555555557Q7A"555555555555555555555555555555555555555555557m7"5555555555555555555555555555555555555555r"555555555555555555555555555555555555’"55555555555555555555555555555555r"5555555555555555555555555555’A"55555555555555555555555555557kv~yv‰~„ƒ7O5p"55555555555555555555555555555555"5555555555555555555555555555555555557iŽ…z7O57gz|Z7A"5555555555555555555555555555555555557gz|Z7O57pEmrpFBNmr‘FpEFGmr7A"5555555555555555555555555555555555557^ƒ…ЉiŽ…z7O57k^it[^ZaYtkVajZ7"55555555555555555555555555555555’"5555555555555555555555555555r"555555555555555555555555’A"555555555555555555555555"55555555555555555555555555557[~zycv‚z7O57w~‡‰}YvŽ7A"55555555555555555555555555557a„xv‰~„ƒ7O5"555555555555555555555555555555557d…‰~„ƒˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"55555555555555555555555555555555555555555555"5555555555555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57yv‰zd{W~‡‰}7A"5555555555555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"5555555555555555555555555555555555555555555555557d{{ˆz‰7O5I"55555555555555555555555555555555555555555555’"5555555555555555555555555555555555555555rA"55555555555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5G"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz…vxzV7O5p"555555555555555555555555555555555555555555557Q7A"555555555555555555555555555555555555555555557m7"5555555555555555555555555555555555555555r"555555555555555555555555555555555555’"55555555555555555555555555555555r"5555555555555555555555555555’A"55555555555555555555555555557kv~yv‰~„ƒ7O5p"55555555555555555555555555555555"5555555555555555555555555555555555557iŽ…z7O57gz|Z7A"5555555555555555555555555555555555557gz|Z7O57pEmrpFBNmr‘pFGrpEBNmr‘HpEFmr7A"5555555555555555555555555555555555557^ƒ…ЉiŽ…z7O57k^it[^ZaYtkVajZ7"55555555555555555555555555555555’"5555555555555555555555555555r"555555555555555555555555’"55555555555555555555rA"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57=pEBNmrG’>=pEmrpFBNmr‘FpEFGmr>=pEmrpFBNmr‘pFGrpEBNmr‘HpEFmr>7A"55555555555555555555555555557^ƒ…ЉiŽ…z7O57k^it[^ZaYtkVajZ7"555555555555555555555555’A"555555555555555555555555"55555555555555555555555555557iŽ…z7O57X}zx€ˆŠ‚7A"55555555555555555555555555557gz†Š~‡zy[~zyˆ7O5p7x}zx€Y~|~‰[„‡W~‡‰}Yv‰z7rA"55555555555555555555555555557[Šƒx‰~„ƒcv‚z7O57YXeYtbgot‹z‡~{~xv‰~„ƒ7"555555555555555555555555’"55555555555555555555r"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57x}zx€Y~|~‰[„‡W~‡‰}Yv‰z7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5HH"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5F"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pEBNr7"555555555555555555555555’"55555555555555555555r"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57ˆz7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5HI"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5F"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pb[Qr7"555555555555555555555555’"55555555555555555555rA"555555555555555555557bv…ivwzcv‚z7O57ˆzX„yz7"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57x„‚…„ˆ~‰zX}zx€Y~|~‰7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5HJ"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5F"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pEBNr7"555555555555555555555555’"55555555555555555555r"5555555555555555’"555555555555rA"5555555555557kv~yv‰~„ƒ7O5p"5555555555555555"555555555555555555557iŽ…z7O57gz|Z7A"555555555555555555557gz|Z7O57=pVBoEBNrFG’>=pEBNr>=pVBoQrFI’>=pEBNQrG’>=pEQrpFBNQr‘FpEFGQr>=pEQrpFBNQr‘pFGrpEBNQr‘HpEFQr>=pEBNr>=pb[Qr>=pEBNr>7"5555555555555555’"555555555555r"55555555’A"55555555"5555555555557[~zycv‚z7O57{~zy[„‡X„‚…„ˆ~‰zX}zx€7A"5555555555557e‡z‚~ˆzd{[~zy7O57~ƒzF6RYXet[^ZaYtcdit[djcY;;~ƒzG6RYXet[^ZaYtcdit[djcY7A"5555555555557X}~y[~zyˆ7O5p"5555555555555555"555555555555555555557[~zycv‚z7O57…v‡‰F7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzF7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5E"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5HK"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57…v‡‰G7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzG7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5E"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5HJ"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’"5555555555555555’"555555555555rA"5555555555557kv~yv‰~„ƒ7O5p"5555555555555555"555555555555555555557iŽ…z7O57X}zx€ˆŠ‚7A"555555555555555555557gz†Š~‡zy[~zyˆ7O5p7x„‚…„ˆ~‰zX}zx€Y~|~‰7rA"555555555555555555557[Šƒx‰~„ƒcv‚z7O57YXeYtbgot‹z‡~{~xv‰~„ƒ7"5555555555555555’"555555555555r"55555555’"5555r"’"55557X„yziŽ…z7O57bgiYtiYGt^Y7A"55557e‡ze‡„xzˆˆ7O5p"55555555"5555555555557gz…vxzV7O5p7qƒ7A577r"55555555’A"55555555"5555555555557gz…vxzV7O5p7q‡7A577r"55555555’"5555rA"55557X„yz[zv‰Š‡zev‰‰z‡ƒ7O57s=pVBoqqyQrHK’>FAG’97A"55557Yzy~xv‰zya~w‡v‡Ž7O57YŽƒv‚ˆ„{‰X„yzev‡ˆz‡Yzy~xv‰„‡7A"55557bv…[~z7O57bgiYtbv…7A"55557[~zyˆ7O5p"55555555"5555555555557[~zycv‚z7O57~ƒzF7A"5555555555557a„xv‰~„ƒ7O5"55555555555555557d…‰~„ƒˆ7O5p"55555555555555555555"5555555555555555555555557hz…v‡v‰„‡7O5p"5555555555555555555555555555"555555555555555555555555555555557e„ˆ~‰~„ƒ7O57h‰v‡‰7A"555555555555555555555555555555557^ƒxŠyzy^ƒ[~zy7O5‰‡ŠzA"555555555555555555555555555555557d…‰~„ƒˆ7O5p7V7A7X7A7^7r5555"5555555555555555555555555555’"555555555555555555555555rA"5555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5HK"55555555555555555555’"5555555555555555r"555555555555’A"5555555555557X}~y[~zyˆ7O5p"5555555555555555"555555555555555555557[~zycv‚z7O57y„xŠ‚zƒ‰X„yz7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzF7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5E"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5G"5555555555555555555555555555’"555555555555555555555555rA"5555555555555555555555557e„ˆ‰e‡„xzˆˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557gz…vxzV7O5p"5555555555555555555555555555555555557Q7A"55555555555555555555555555555555555577"55555555555555555555555555555555r"5555555555555555555555555555’"555555555555555555555555r"55555555555555555555’A"555555555555555555557kv~yv‰~„ƒ7O5p"555555555555555555555555"55555555555555555555555555557iŽ…z7O57gz|Z7A"55555555555555555555555555557gz|Z7O57pVX^rpVBoQr7"555555555555555555555555’"55555555555555555555r"5555555555555555’A"5555555555555555"555555555555555555557[~zycv‚z7O57~ˆˆŠ~ƒ|h‰v‰z7A"555555555555555555557a„xv‰~„ƒ7O5"5555555555555555555555557d…‰~„ƒˆ7O5p"5555555555555555555555555555"555555555555555555555555555555557d{{ˆz‰gz{z‡zƒxz7O5p"555555555555555555555555555555555555"55555555555555555555555555555555555555557gz{z‡zƒxz[~zy7O57~ƒzF7A"55555555555555555555555555555555555555557d{{ˆz‰[‡„‚7O57gz{[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰i„7O57i}~ˆ[~zyh‰‡~ƒ|h‰v‡‰7A"55555555555555555555555555555555555555557d{{ˆz‰7O5G"555555555555555555555555555555555555’"55555555555555555555555555555555rA"555555555555555555555555555555557azƒ|‰}d{^ƒ‰z‡zˆ‰7O5H"5555555555555555555555555555’"555555555555555551111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lR>kMnŒDŽ3111111111111111111111111Ž11111111111111111111n=111111111111111111113^rers}v_r~v3K13ƒvxz€T€uv31111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13r~v3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvB3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1F111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1DB1111111111111111111111111111Ž111111111111111111111111n=1111111111111111111111113a€„…aƒ€tv„„3K1l1111111111111111111111111111Œ111111111111111111111111111111113dvrƒtyR}}hz…ycvxV‰RuT€~szv3K1l1111111111111111111111111111111111113lR>kn<3=11111111111111111111111111111111111131311111111111111111111111111111111n1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113Tyz}uWzv}u„3K1l111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13ƒz~rƒŠZuv…zwzvƒ3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13r~v3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1A11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113dvrƒr…€ƒ3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113a€„z…z€3K13Vu3=1111111111111111111111111111111111111111111111113Zt}†uvuZWzv}u3K1wr}„v=1111111111111111111111111111111111111111111111113cvxV‰3K3MM311111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113a€„…aƒ€tv„„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113dvrƒtyR}}hz…ycvxV‰RuT€~szv3K1l111111111111111111111111111111111111111111113lR>kn<3=111111111111111111111111111111111111111111113131111111111111111111111111111111111111111n111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13„vt€urƒŠZuv…zwzvƒ3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13r~v3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1A11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113dvrƒr…€ƒ3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113a€„z…z€3K13d…rƒ…3=1111111111111111111111111111111111111111111111113Zt}†uvuZWzv}u3K1…ƒ†v=1111111111111111111111111111111111111111111111113cvxV‰3K3MMlR>kn311111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113a€„…aƒ€tv„„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113dvrƒtyR}}hz…ycvxV‰RuT€~szv3K1l111111111111111111111111111111111111111111113lR>kn<3=111111111111111111111111111111111111111111113131111111111111111111111111111111111111111n111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž111111111111111111111111Ž11111111111111111111n=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K139lR>knlR>k1nŒB=CJŽlR>kn:9lR>knŒB=DBŽ:3=11111111111111111111111111113Z†…eŠv3K13gZepWZV]UpgR]fV3111111111111111111111111Ž11111111111111111111n1111111111111111Ž111111111111n=1111111111113gr}zur…z€3K1l1111111111111111Œ111111111111111111113eŠv3K13cvxV‰3=111111111111111111113cvxV‰3K139lRTZnlR>kMn:9lR>kMnŒDŽ:9lR>kMnŒDBŽ:31111111111111111Ž111111111111n11111111Ž=11111111Œ1111111111113Wzv}u_r~v3K13}zvC3=1111111111113]€tr…z€3K1Œ11111111111111113`…z€„3K1l11111111111111111111Œ1111111111111111111111113`ww„v…cvwvƒvtv3K1l1111111111111111111111111111Œ111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvB3=111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxVu3=111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=111111111111111111111111111111113`ww„v…3K1A1111111111111111111111111111Ž111111111111111111111111n=1111111111111111111111113]vx…y`wZ…vƒv„…3K1DG11111111111111111111Ž1111111111111111n111111111111Ž=1111111111113Tyz}uWzv}u„3K1l1111111111111111Œ111111111111111111113Wzv}u_r~v3K13u€t†~v…_†~svƒ3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1A111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1J1111111111111111111111111111Ž111111111111111111111111n=1111111111111111111111113a€„…aƒ€tv„„3K1l1111111111111111111111111111Œ111111111111111111111111111111113cv}rtvR}}3K1l1111111111111111111111111111111111113M3=1111111111111111111111111111111111113311111111111111111111111111111111n1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lR>kA>JMnŒJŽ3111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113eŠv3K13Tyvt|„†~3=11111111111111111111111111113cv‚†zƒvuWzv}u„3K1l3tyvt|Uzxz…W€ƒU€t†~v…_†~svƒ3n=11111111111111111111111111113W†t…z€_r~v3K13UTaUp^ckp‡vƒzwztr…z€3111111111111111111111111Ž11111111111111111111n1111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13tyvt|Uzxz…W€ƒU€t†~v…_†~svƒ3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1J111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1B1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lA>Jn3111111111111111111111111Ž11111111111111111111n1111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13r…z€r}z…Š3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1BA111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1D1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lR>kMnŒDŽ3111111111111111111111111Ž11111111111111111111n=111111111111111111113^rers}v_r~v3K13ƒvxz€T€uv31111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13ur…v`wSzƒ…y3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1BD111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1G1111111111111111111111111111Ž111111111111111111111111n=1111111111111111111111113a€„…aƒ€tv„„3K1l1111111111111111111111111111Œ111111111111111111111111111111113cv}rtvR}}3K1l1111111111111111111111111111111111113M3=1111111111111111111111111111111111113i311111111111111111111111111111111n1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113Tyz}uWzv}u„3K1l111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13szƒ…yjvrƒ3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13ur…v`wSzƒ…y3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1A11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1C111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113a€„…aƒ€tv„„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cv}rtvR}}3K1l111111111111111111111111111111111111111111113M3=111111111111111111111111111111111111111111113i31111111111111111111111111111111111111111n111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž=11111111111111111111111111113gr}zur…z€3K1l11111111111111111111111111111111Œ1111111111111111111111111111111111113eŠv3K13cvxV‰3=1111111111111111111111111111111111113cvxV‰3K13lA>JinŒCŽ3=1111111111111111111111111111111111113Z†…eŠv3K13gZepWZV]UpgR]fV311111111111111111111111111111111Ž1111111111111111111111111111n111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13szƒ…y^€…y3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13ur…v`wSzƒ…y3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1C11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1C111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113a€„…aƒ€tv„„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cv}rtvR}}3K1l111111111111111111111111111111111111111111113M3=111111111111111111111111111111111111111111113i31111111111111111111111111111111111111111n111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž=11111111111111111111111111113gr}zur…z€3K1l11111111111111111111111111111111Œ1111111111111111111111111111111111113eŠv3K13cvxV‰3=1111111111111111111111111111111111113cvxV‰3K13lAinlB>JinBlABCin3=1111111111111111111111111111111111113Z†…eŠv3K13gZepWZV]UpgR]fV311111111111111111111111111111111Ž1111111111111111111111111111n111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13szƒ…yUrŠ3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13ur…v`wSzƒ…y3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1E11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1C111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113a€„…aƒ€tv„„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cv}rtvR}}3K1l111111111111111111111111111111111111111111113M3=111111111111111111111111111111111111111111113i31111111111111111111111111111111111111111n111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž=11111111111111111111111111113gr}zur…z€3K1l11111111111111111111111111111111Œ1111111111111111111111111111111111113eŠv3K13cvxV‰3=1111111111111111111111111111111111113cvxV‰3K13lAinlB>JinlBCnlA>JinDlABin3=1111111111111111111111111111111111113Z†…eŠv3K13gZepWZV]UpgR]fV311111111111111111111111111111111Ž1111111111111111111111111111n111111111111111111111111Ž11111111111111111111n=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K139lA>JinŒCŽ:9lAinlB>JinBlABCin:9lAinlB>JinlBCnlA>JinDlABin:3=11111111111111111111111111113Z†…eŠv3K13gZepWZV]UpgR]fV3111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113eŠv3K13Tyvt|„†~3=11111111111111111111111111113cv‚†zƒvuWzv}u„3K1l3tyvt|Uzxz…W€ƒSzƒ…yUr…v3n=11111111111111111111111111113W†t…z€_r~v3K13UTaUp^ckp‡vƒzwztr…z€3111111111111111111111111Ž11111111111111111111n1111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13tyvt|Uzxz…W€ƒSzƒ…yUr…v3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1BJ111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1B1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lA>Jn3111111111111111111111111Ž11111111111111111111n1111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13„v‰3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1CA111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1B1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13l^WMn3111111111111111111111111Ž11111111111111111111n=111111111111111111113^rers}v_r~v3K13„v‰T€uv31111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13ur…v`wV‰zƒŠ3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1CB111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1G1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113Tyz}uWzv}u„3K1l111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13v‰zƒŠjvrƒ3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13ur…v`wV‰zƒŠ3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1A11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1C111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž=11111111111111111111111111113gr}zur…z€3K1l11111111111111111111111111111111Œ1111111111111111111111111111111111113eŠv3K13cvxV‰3=1111111111111111111111111111111111113cvxV‰3K13lA>JnŒCŽ311111111111111111111111111111111Ž1111111111111111111111111111n111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13v‰zƒŠ^€…y3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13ur…v`wV‰zƒŠ3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1C11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1C111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž=11111111111111111111111111113gr}zur…z€3K1l11111111111111111111111111111111Œ1111111111111111111111111111111111113eŠv3K13cvxV‰3=1111111111111111111111111111111111113cvxV‰3K13AlB>JnBlABCn311111111111111111111111111111111Ž1111111111111111111111111111n111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13v‰zƒŠUrŠ3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13ur…v`wV‰zƒŠ3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1E11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1C111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž=11111111111111111111111111113gr}zur…z€3K1l11111111111111111111111111111111Œ1111111111111111111111111111111111113eŠv3K13cvxV‰3=1111111111111111111111111111111111113cvxV‰3K13AlB>JnlBCnlA>JnDlABn311111111111111111111111111111111Ž1111111111111111111111111111n111111111111111111111111Ž11111111111111111111n=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K139lA>JnŒCŽ:9AlB>JnBlABCn:9AlB>JnlBCnlA>JnDlABn:3111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113eŠv3K13Tyvt|„†~3=11111111111111111111111111113cv‚†zƒvuWzv}u„3K1l3tyvt|Uzxz…W€ƒV‰zƒŠUr…v3n=11111111111111111111111111113W†t…z€_r~v3K13UTaUp^ckp‡vƒzwztr…z€3111111111111111111111111Ž11111111111111111111n1111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13tyvt|Uzxz…W€ƒV‰zƒŠUr…v3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1CH111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1B1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lA>Jn3111111111111111111111111Ž11111111111111111111n1111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13€…z€r}Ur…r3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1CI111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1H1111111111111111111111111111Ž111111111111111111111111n=1111111111111111111111113a€„…aƒ€tv„„3K1l1111111111111111111111111111Œ111111111111111111111111111111113dvrƒtyR}}hz…ycvxV‰RuT€~szv3K1l1111111111111111111111111111111111113lR>kA>Jn<3=11111111111111111111111111111111111131311111111111111111111111111111111n1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lR>kA>JMnŒHŽ3111111111111111111111111Ž11111111111111111111n1111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13t€~€„z…vTyvt|Uzxz…3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1DF111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1B1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lA>Jn3111111111111111111111111Ž11111111111111111111n1111111111111111Ž111111111111n=1111111111113gr}zur…z€3K1l1111111111111111Œ111111111111111111113eŠv3K13cvxV‰3=111111111111111111113cvxV‰3K139lR>kA>JMnŒJŽ:9lA>Jn:9lR>kMnŒDŽ:9lA>JMnŒCŽ:9lAMnlB>JMnBlABCMn:9lAMnlB>JMnlBCnlA>JMnDlABMn:9lA>Jn:9l^WMn:9lA>JnŒCŽ:9AlB>JnBlABCn:9AlB>JnlBCnlA>JnDlABn:9lA>Jn:9lR>kA>JMnŒHŽ:9lA>Jn:31111111111111111Ž=1111111111111111Œ111111111111111111113eŠv3K13Tyvt|„†~3=111111111111111111113cv‚†zƒvuWzv}u„3K1l3t€~€„z…vTyvt|Uzxz…3n=111111111111111111113W†t…z€_r~v3K13UTaUp^ckpeUCpt€~€„z…vgvƒzwztr…z€31111111111111111Ž111111111111n11111111Ž1111nŽŒ11113T€uveŠv3K13^ceUpeUCpgZdR3=11113aƒvaƒ€tv„„3K1l11111111Œ1111111111113cv}rtvR}}3K1l3m3=133n11111111Ž=11111111Œ1111111111113cv}rtvR}}3K1l3mƒ3=133n11111111Ž1111n=11113T€uvWvr…†ƒvar……vƒ3K13o9lR>kmmuMnŒDGŽ:ŒB=CŽ53=11113Uvuztr…vu]zsƒrƒŠ3K13UŠr~„€w…T€uvarƒ„vƒUvuztr…€ƒ3=11113^rWz}v3K13^ceUp^r3=11113Wzv}u„3K1l11111111Œ1111111111113Wzv}u_r~v3K13}zvB3=1111111111113]€tr…z€3K1Œ11111111111111113`…z€„3K1l11111111111111111111Œ1111111111111111111111113dvrƒr…€ƒ3K1l1111111111111111111111111111Œ111111111111111111111111111111113a€„z…z€3K13d…rƒ…3=111111111111111111111111111111113Zt}†uvuZWzv}u3K1…ƒ†v=111111111111111111111111111111113`…z€„3K1l3g3n11111111111111111111111111111111Ž111111111111111111111111n=1111111111111111111111113]vx…y`wZ…vƒv„…3K1DG11111111111111111111Ž1111111111111111n111111111111Ž=1111111111113Tyz}uWzv}u„3K1l1111111111111111Œ111111111111111111113Wzv}u_r~v3K13u€t†~v…T€uv3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvB3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1A111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1C1111111111111111111111111111Ž111111111111111111111111n=1111111111111111111111113a€„…aƒ€tv„„3K1l1111111111111111111111111111Œ111111111111111111111111111111113cv}rtvR}}3K1l1111111111111111111111111111111111113M3=1111111111111111111111111111111111113311111111111111111111111111111111n1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13glR>kMn3111111111111111111111111Ž11111111111111111111n1111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13z„„†zxd…r…v3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvB3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1C111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1D1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lR>kMnŒDŽ3111111111111111111111111Ž11111111111111111111n=111111111111111111113^rers}v_r~v3K13ƒvxz€T€uv31111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13r~v3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvB3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1F111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1DB1111111111111111111111111111Ž111111111111111111111111n=1111111111111111111111113a€„…aƒ€tv„„3K1l1111111111111111111111111111Œ111111111111111111111111111111113dvrƒtyR}}hz…ycvxV‰RuT€~szv3K1l1111111111111111111111111111111111113lR>kn<3=11111111111111111111111111111111111131311111111111111111111111111111111n1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113Tyz}uWzv}u„3K1l111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13ƒz~rƒŠZuv…zwzvƒ3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13r~v3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1A11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113dvrƒr…€ƒ3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113a€„z…z€3K13Vu3=1111111111111111111111111111111111111111111111113Zt}†uvuZWzv}u3K1wr}„v=1111111111111111111111111111111111111111111111113cvxV‰3K3MM311111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113a€„…aƒ€tv„„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113dvrƒtyR}}hz…ycvxV‰RuT€~szv3K1l111111111111111111111111111111111111111111113lR>kn<3=111111111111111111111111111111111111111111113131111111111111111111111111111111111111111n111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13„vt€urƒŠZuv…zwzvƒ3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13r~v3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1A11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113dvrƒr…€ƒ3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113a€„z…z€3K13d…rƒ…3=1111111111111111111111111111111111111111111111113Zt}†uvuZWzv}u3K1…ƒ†v=1111111111111111111111111111111111111111111111113cvxV‰3K3MMlR>kn311111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113a€„…aƒ€tv„„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113dvrƒtyR}}hz…ycvxV‰RuT€~szv3K1l111111111111111111111111111111111111111111113lR>kn<3=111111111111111111111111111111111111111111113131111111111111111111111111111111111111111n111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž111111111111111111111111Ž11111111111111111111n=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K139lR>knlR>k1nŒB=CJŽlR>kn:9lR>knŒB=DBŽ:3=11111111111111111111111111113Z†…eŠv3K13gZepWZV]UpgR]fV3111111111111111111111111Ž11111111111111111111n1111111111111111Ž111111111111n=1111111111113gr}zur…z€3K1l1111111111111111Œ111111111111111111113eŠv3K13cvxV‰3=111111111111111111113cvxV‰3K139glR>kMn:9lR>kMnŒDŽ:9lR>kMnŒDBŽ:31111111111111111Ž111111111111n11111111Ž=11111111Œ1111111111113Wzv}u_r~v3K13}zvC3=1111111111113]€tr…z€3K1Œ11111111111111113`…z€„3K1l11111111111111111111Œ1111111111111111111111113`ww„v…cvwvƒvtv3K1l1111111111111111111111111111Œ111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvB3=111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxVu3=111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=111111111111111111111111111111113`ww„v…3K1A1111111111111111111111111111Ž111111111111111111111111n=1111111111111111111111113]vx…y`wZ…vƒv„…3K1DG11111111111111111111Ž1111111111111111n111111111111Ž=1111111111113Tyz}uWzv}u„3K1l1111111111111111Œ111111111111111111113Wzv}u_r~v3K13u€t†~v…_†~svƒ3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1A111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1J1111111111111111111111111111Ž111111111111111111111111n=1111111111111111111111113a€„…aƒ€tv„„3K1l1111111111111111111111111111Œ111111111111111111111111111111113cv}rtvR}}3K1l1111111111111111111111111111111111113M3=1111111111111111111111111111111111113311111111111111111111111111111111n1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lR>kA>JMnŒJŽ3111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113eŠv3K13Tyvt|„†~3=11111111111111111111111111113cv‚†zƒvuWzv}u„3K1l3tyvt|Uzxz…W€ƒU€t†~v…_†~svƒ3n=11111111111111111111111111113W†t…z€_r~v3K13UTaUp^ckp‡vƒzwztr…z€3111111111111111111111111Ž11111111111111111111n1111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13tyvt|Uzxz…W€ƒU€t†~v…_†~svƒ3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1J111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1B1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lA>Jn3111111111111111111111111Ž11111111111111111111n1111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13r…z€r}z…Š3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1BA111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1D1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lR>kMnŒDŽ3111111111111111111111111Ž11111111111111111111n=111111111111111111113^rers}v_r~v3K13ƒvxz€T€uv31111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13ur…v`wSzƒ…y3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1BD111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1G1111111111111111111111111111Ž111111111111111111111111n=1111111111111111111111113a€„…aƒ€tv„„3K1l1111111111111111111111111111Œ111111111111111111111111111111113cv}rtvR}}3K1l1111111111111111111111111111111111113M3=1111111111111111111111111111111111113i311111111111111111111111111111111n1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113Tyz}uWzv}u„3K1l111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13szƒ…yjvrƒ3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13ur…v`wSzƒ…y3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1A11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1C111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113a€„…aƒ€tv„„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cv}rtvR}}3K1l111111111111111111111111111111111111111111113M3=111111111111111111111111111111111111111111113i31111111111111111111111111111111111111111n111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž=11111111111111111111111111113gr}zur…z€3K1l11111111111111111111111111111111Œ1111111111111111111111111111111111113eŠv3K13cvxV‰3=1111111111111111111111111111111111113cvxV‰3K13lA>JinŒCŽ3=1111111111111111111111111111111111113Z†…eŠv3K13gZepWZV]UpgR]fV311111111111111111111111111111111Ž1111111111111111111111111111n111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13szƒ…y^€…y3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13ur…v`wSzƒ…y3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1C11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1C111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113a€„…aƒ€tv„„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cv}rtvR}}3K1l111111111111111111111111111111111111111111113M3=111111111111111111111111111111111111111111113i31111111111111111111111111111111111111111n111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž=11111111111111111111111111113gr}zur…z€3K1l11111111111111111111111111111111Œ1111111111111111111111111111111111113eŠv3K13cvxV‰3=1111111111111111111111111111111111113cvxV‰3K13lAinlB>JinBlABCin3=1111111111111111111111111111111111113Z†…eŠv3K13gZepWZV]UpgR]fV311111111111111111111111111111111Ž1111111111111111111111111111n111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13szƒ…yUrŠ3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13ur…v`wSzƒ…y3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1E11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1C111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113a€„…aƒ€tv„„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cv}rtvR}}3K1l111111111111111111111111111111111111111111113M3=111111111111111111111111111111111111111111113i31111111111111111111111111111111111111111n111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž=11111111111111111111111111113gr}zur…z€3K1l11111111111111111111111111111111Œ1111111111111111111111111111111111113eŠv3K13cvxV‰3=1111111111111111111111111111111111113cvxV‰3K13lAinlB>JinlBCnlA>JinDlABin3=1111111111111111111111111111111111113Z†…eŠv3K13gZepWZV]UpgR]fV311111111111111111111111111111111Ž1111111111111111111111111111n111111111111111111111111Ž11111111111111111111n=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K139lA>JinŒCŽ:9lAinlB>JinBlABCin:9lAinlB>JinlBCnlA>JinDlABin:3=11111111111111111111111111113Z†…eŠv3K13gZepWZV]UpgR]fV3111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113eŠv3K13Tyvt|„†~3=11111111111111111111111111113cv‚†zƒvuWzv}u„3K1l3tyvt|Uzxz…W€ƒSzƒ…yUr…v3n=11111111111111111111111111113W†t…z€_r~v3K13UTaUp^ckp‡vƒzwztr…z€3111111111111111111111111Ž11111111111111111111n1111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13tyvt|Uzxz…W€ƒSzƒ…yUr…v3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1BJ111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1B1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lA>Jn3111111111111111111111111Ž11111111111111111111n1111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13„v‰3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1CA111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1B1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13l^WMn3111111111111111111111111Ž11111111111111111111n=111111111111111111113^rers}v_r~v3K13„v‰T€uv31111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13ur…v`wV‰zƒŠ3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1CB111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1G1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113Tyz}uWzv}u„3K1l111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13v‰zƒŠjvrƒ3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13ur…v`wV‰zƒŠ3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1A11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1C111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž=11111111111111111111111111113gr}zur…z€3K1l11111111111111111111111111111111Œ1111111111111111111111111111111111113eŠv3K13cvxV‰3=1111111111111111111111111111111111113cvxV‰3K13lA>JnŒCŽ311111111111111111111111111111111Ž1111111111111111111111111111n111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13v‰zƒŠ^€…y3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13ur…v`wV‰zƒŠ3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1C11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1C111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž=11111111111111111111111111113gr}zur…z€3K1l11111111111111111111111111111111Œ1111111111111111111111111111111111113eŠv3K13cvxV‰3=1111111111111111111111111111111111113cvxV‰3K13AlB>JnBlABCn311111111111111111111111111111111Ž1111111111111111111111111111n111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113Wzv}u_r~v3K13v‰zƒŠUrŠ3=11111111111111111111111111113]€tr…z€3K1Œ111111111111111111111111111111113`…z€„3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l11111111111111111111111111111111111111111111Œ1111111111111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13ur…v`wV‰zƒŠ3=1111111111111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=1111111111111111111111111111111111111111111111113`ww„v…3K1E11111111111111111111111111111111111111111111Ž1111111111111111111111111111111111111111n=11111111111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1C111111111111111111111111111111111111Ž11111111111111111111111111111111n1111111111111111111111111111Ž=11111111111111111111111111113gr}zur…z€3K1l11111111111111111111111111111111Œ1111111111111111111111111111111111113eŠv3K13cvxV‰3=1111111111111111111111111111111111113cvxV‰3K13AlB>JnlBCnlA>JnDlABn311111111111111111111111111111111Ž1111111111111111111111111111n111111111111111111111111Ž11111111111111111111n=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K139lA>JnŒCŽ:9AlB>JnBlABCn:9AlB>JnlBCnlA>JnDlABn:3111111111111111111111111Ž=111111111111111111111111Œ11111111111111111111111111113eŠv3K13Tyvt|„†~3=11111111111111111111111111113cv‚†zƒvuWzv}u„3K1l3tyvt|Uzxz…W€ƒV‰zƒŠUr…v3n=11111111111111111111111111113W†t…z€_r~v3K13UTaUp^ckp‡vƒzwztr…z€3111111111111111111111111Ž11111111111111111111n1111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13tyvt|Uzxz…W€ƒV‰zƒŠUr…v3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1CH111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1B1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lA>Jn3111111111111111111111111Ž11111111111111111111n1111111111111111Ž=1111111111111111Œ111111111111111111113Wzv}u_r~v3K13€…z€r}Ur…r3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvC3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1CI111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1I1111111111111111111111111111Ž111111111111111111111111n=1111111111111111111111113a€„…aƒ€tv„„3K1l1111111111111111111111111111Œ111111111111111111111111111111113dvrƒtyR}}hz…ycvxV‰RuT€~szv3K1l1111111111111111111111111111111111113lR>kA>Jn<3=11111111111111111111111111111111111131311111111111111111111111111111111n1111111111111111111111111111Ž111111111111111111111111n11111111111111111111Ž=111111111111111111113gr}zur…z€3K1l111111111111111111111111Œ11111111111111111111111111113eŠv3K13cvxV‰3=11111111111111111111111111113cvxV‰3K13lR>kA>JMnŒIŽ3111111111111111111111111Ž11111111111111111111n1111111111111111Ž111111111111n=1111111111113gr}zur…z€3K1l1111111111111111Œ111111111111111111113eŠv3K13cvxV‰3=111111111111111111113cvxV‰3K139lR>kA>JMnŒJŽ:9lA>Jn:9lR>kMnŒDŽ:9lA>JMnŒCŽ:9lAMnlB>JMnBlABCMn:9lAMnlB>JMnlBCnlA>JMnDlABMn:9lA>Jn:9l^WMn:9lA>JnŒCŽ:9AlB>JnBlABCn:9AlB>JnlBCnlA>JnDlABn:9lA>Jn:9lR>kA>JMnŒIŽ:31111111111111111Ž111111111111n11111111Ž1111nŽŒ11113T€uveŠv3K13^ceUpeUDpaRdda`ce3=11113aƒvaƒ€tv„„3K1l11111111Œ1111111111113cv}rtvR}}3K1l3m3=133n11111111Ž=11111111Œ1111111111113cv}rtvR}}3K1l3mƒ3=133n11111111Ž1111n=11113T€uvWvr…†ƒvar……vƒ3K13o9lR>kmmuMnŒEEŽ:ŒB=CŽ53=11113Uvuztr…vu]zsƒrƒŠ3K13UŠr~„€w…T€uvarƒ„vƒUvuztr…€ƒ3=11113^rWz}v3K13^ceUp^r3=11113Wzv}u„3K1l11111111Œ1111111111113Wzv}u_r~v3K13}zvB3=1111111111113]€tr…z€3K1Œ11111111111111113`…z€„3K1l11111111111111111111Œ1111111111111111111111113dvrƒr…€ƒ3K1l1111111111111111111111111111Œ111111111111111111111111111111113a€„z…z€3K13d…rƒ…3=111111111111111111111111111111113Zt}†uvuZWzv}u3K1…ƒ†v=111111111111111111111111111111113`…z€„3K1l3a3n11111111111111111111111111111111Ž111111111111111111111111n=1111111111111111111111113]vx…y`wZ…vƒv„…3K1EE11111111111111111111Ž1111111111111111n111111111111Ž=1111111111113Tyz}uWzv}u„3K1l1111111111111111Œ111111111111111111113Wzv}u_r~v3K13u€t†~v…T€uv3=111111111111111111113]€tr…z€3K1Œ1111111111111111111111113`…z€„3K1l1111111111111111111111111111Œ111111111111111111111111111111113`ww„v…cvwvƒvtv3K1l111111111111111111111111111111111111Œ11111111111111111111111111111111111111113cvwvƒvtvWzv}u3K13}zvB3=11111111111111111111111111111111111111113`ww„v…Wƒ€~3K13cvwWzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…e€3K13eyz„Wzv}ud…ƒzxd…rƒ…3=11111111111111111111111111111111111111113`ww„v…3K1A111111111111111111111111111111111111Ž11111111111111111111111111111111n=111111111111111111111111111111113]vx…y`wZ…vƒv„…3K1C1111111111111111111111111111Ž111111111111111111111111n=1111111111111111111111113a€„…aƒ€tv„„3K1l1111111111111111,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.\WM!V0Q.,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.eyebk_xmxi. ,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.`ebi=. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,?,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.WM!V0Qw?q.,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,.Am|Xmn`iBmai.6,.~ikecbOchi.,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.bmai. ,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.`ebi=. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,?5,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,._im~odM``[exd^ikItMbhOcanebi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.WM!VQ'. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Ode`hJei`h.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.|~eam~uEhibxejei~. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.bmai. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,._i|m~mxc~.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cexecb.6,.Ibh. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Ebo`yhihEbJei`h.6,jm`i ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6.00.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,._im~odM``[exd^ikItMbhOcanebi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.WM!VQ'. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.iocbhm~uEhibxejei~. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.bmai. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,._i|m~mxc~.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cexecb.6,._xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Ebo`yhihEbJei`h.6,x~yi ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6.00WM!VQ.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,._im~odM``[exd^ikItMbhOcanebi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.WM!VQ'. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.$WM!VQWM!V,Qw= ?;qWM!VQ%p$WM!VQw= ?5q%. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Eb|yxXu|i.6,.ZEXSJEI@HSZM@YI.,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,q,,,,,,,,,,,,Q ,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.$\WM!V0Q%$WM!V0Qw?q%$WM!V0Qw?5q%.,,,,,,,,,,,,,,,,q,,,,,,,,,,,,Q,,,,,,,,q ,,,,,,,,w,,,,,,,,,,,,.Jei`hBmai.6,.`ebi>. ,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.`ebi=. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebkIbh. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,<,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,88,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,q ,,,,,,,,,,,,.Ode`hJei`h.6,W,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.|m|c~xByani~. ,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.`ebi>. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.WM!V. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,=,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.W. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,=<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,?,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.WM!V0Qw?q.,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,.Am|Xmn`iBmai.6,.~ikecbOchi.,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.hmxiCjNe~xd. ,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.`ebi>. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,=?,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.T.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Ode`hJei`h.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.ne~xdUim~. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.hmxiCjNe~xd. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.T.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.Wq. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Eb|yxXu|i.6,.ZEXSJEI@HSZM@YI.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.ne~xdAcbxd. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.hmxiCjNe~xd. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.T.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.WTQ. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Eb|yxXu|i.6,.ZEXSJEI@HSZM@YI.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.ne~xdHmu. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.hmxiCjNe~xd. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.T.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.WQWq%$WTQ%$WQW. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,=5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,=,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.W. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,><,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,=,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.WAJ0Q.,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,.Am|Xmn`iBmai.6,.itOchi.,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.hmxiCjIt|e~u. ,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.`ebi>. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,>=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Ode`hJei`h.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.it|e~uUim~. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.hmxiCjIt|e~u. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.Wq.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.it|e~uAcbxd. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.hmxiCjIt|e~u. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.Q.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.it|e~uHmu. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.hmxiCjIt|e~u. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.QWq%$Q%$QW. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,>;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,=,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.W. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,>4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,=8,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,._im~odM``[exd^ikItMbhOcanebi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.WM!V. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,8>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,=,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moi.6,W.0. ,..Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.W. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,8?,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,=,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.Wq%$W<0QW=!50Qp=W<=>0Q%$W<0QW=!50QpW=>QWq%$Q%$QWq(. ,,,,.Hiheomxih@en~m~u.6,.HubmacjxOchi\m~i~Hiheomxc~. ,,,,.Am|Je`i.6,.A^XHSAm|. ,,,,.Jei`h.6,W,,,,,,,,w,,,,,,,,,,,,.Jei`hBmai.6,.`ebi=. ,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,._i|m~mxc~.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cexecb.6,._xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Ebo`yhihEbJei`h.6,x~yi ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W.Z.Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,88,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,q ,,,,,,,,,,,,.Ode`hJei`h.6,W,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.hcoyaibxOchi. ,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.`ebi=. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.ZWM!V0Q.,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.eyebk_xmxi. ,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.`ebi=. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,?,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.WM!V0Qw?q.,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,.Am|Xmn`iBmai.6,.~ikecbOchi.,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.bmai. ,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.`ebi=. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,?5,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,._im~odM``[exd^ikItMbhOcanebi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.WM!VQ'. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Ode`hJei`h.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.|~eam~uEhibxejei~. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.bmai. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,._i|m~mxc~.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cexecb.6,.Ibh. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Ebo`yhihEbJei`h.6,jm`i ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6.00.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,._im~odM``[exd^ikItMbhOcanebi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.WM!VQ'. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.iocbhm~uEhibxejei~. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.bmai. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,._i|m~mxc~.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cexecb.6,._xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Ebo`yhihEbJei`h.6,x~yi ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6.00WM!VQ.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,._im~odM``[exd^ikItMbhOcanebi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.WM!VQ'. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.WM!V0Qw?5q.,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,q,,,,,,,,,,,,Q ,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.$ZWM!V0Q%$WM!V0Qw?q%$WM!V0Qw?5q%.,,,,,,,,,,,,,,,,q,,,,,,,,,,,,Q,,,,,,,,q ,,,,,,,,w,,,,,,,,,,,,.Jei`hBmai.6,.`ebi>. ,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.`ebi=. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebkIbh. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,<,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,88,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,q ,,,,,,,,,,,,.Ode`hJei`h.6,W,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.hcoyaibxByani~. ,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.`ebi>. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.WM!V. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,=,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.W. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,=<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,?,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.WM!V0Qw?q.,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,.Am|Xmn`iBmai.6,.~ikecbOchi.,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.hmxiCjNe~xd. ,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.`ebi>. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,=?,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.T.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Ode`hJei`h.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.ne~xdUim~. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.hmxiCjNe~xd. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.T.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.Wq. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Eb|yxXu|i.6,.ZEXSJEI@HSZM@YI.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.ne~xdAcbxd. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.hmxiCjNe~xd. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.T.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.WTQ. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Eb|yxXu|i.6,.ZEXSJEI@HSZM@YI.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.ne~xdHmu. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.hmxiCjNe~xd. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^i|`moiM``.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.0. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.T.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.WQWq%$WTQ%$WQW. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,=5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,=,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.W. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,><,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,=,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.WAJ0Q.,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,.Am|Xmn`iBmai.6,.itOchi.,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.hmxiCjIt|e~u. ,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.`ebi>. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,>=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Ode`hJei`h.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.it|e~uUim~. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.hmxiCjIt|e~u. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,<,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.Wq.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.it|e~uAcbxd. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.hmxiCjIt|e~u. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.Q.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Jei`hBmai.6,.it|e~uHmu. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@comxecb.6,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.C|xecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix^iji~iboi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^iji~iboiJei`h.6,.hmxiCjIt|e~u. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.QWq%$Q%$QW. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,>;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,=,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q,,,,,,,,,,,,,,,,,,,,q ,,,,,,,,,,,,,,,,,,,,.Zm`ehmxecb.6,W,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Xu|i.6,.^ikIt. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,.^ikIt.6,.W. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixJ~ca.6,.^ijJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CjjixXc.6,.XdeJei`h_x~ebk_xm~x. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.Cjjix.6,>4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.@ibkxdCjEbxi~ix.6,=:,,,,,,,,,,,,,,,,,,,,,,,,,,,,q,,,,,,,,,,,,,,,,,,,,,,,,Q ,,,,,,,,,,,,,,,,,,,,,,,,.\cx\~coi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,._im~odM``[exd^ikItMbhOcanebi.6,W,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.WM!Vq%$W<0QW=!50Qp=W<=>0Q%$W<0QW=!50QpW=>QWq%$Q%$QW_409:9=a0&WSYXLcEJVMGEcHPcQet2x|x&>_9:9=088a$$$$&GshiX}ti&>$&WSYXLcEJVMGEcHP&0$$$$&HihmgexihPmfvev}&>$&H}reqwsjxGshiTevwivHihmgexsv&0$$$$&TviTvsgiww&>$_$$$$$$$$$$$$$$$$$$$$&JyrgxmsrReqi&>$&HGTHcWSYXLcEJVMGEcHPcGsrzivxXsWxvmrk&$$$$$$$$$$$$a0$$$$&GshiJiexyviTexxivr&>$&_``w``Wa.`&fmvxlHexi`&_``w``Wa.&0$$$$&QetJmpi&>$&WSYXLcEJVMGEcHPcQet&0$$$$&Jmiphw&>$_$$$$$$$$$$$$$$$$$$$$&JmiphReqi&>$&mhRyqfiv&0$$$$$$$$$$$$&Psgexmsr&>$$$$$$$$$$$$$$$$$&Stxmsrw&>$_$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&NWSROi}&>$&mhRyqfiv&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$a$$$$$$$$$$$$$$$$$$$$0$$$$$$$$$$$$$$$$$$$$&JmiphReqi&>$&mhRyqfivX}ti&0$$$$$$$$$$$$&Psgexmsr&>$$$$$$$$$$$$$$$$$&Stxmsrw&>$_$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&NWSROi}&>$&mhRyqfivX}ti&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$a$$$$$$$$$$$$$$$$$$$$0$$$$$$$$$$$$$$$$$$$$&JmiphReqi&>$&mhMwwyihGsyrxv}&0$$$$$$$$$$$$&Psgexmsr&>$$$$$$$$$$$$$$$$$&Stxmsrw&>$_$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&NWSROi}&>$&mhMwwyihGsyrxv}&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$a$$$$$$$$$$$$$$$$$$$$0$$$$$$$$$$$$$$$$$$$$&JmiphReqi&>$&wyvreqi&0$$$$$$$$$$$$&Psgexmsr&>$$$$$$$$$$$$$$$$$&Stxmsrw&>$_$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&NWSROi}&>$&wyvreqi&$$$$$$$$$$$$$$$$$$$$$$88888888888888u%"888888888888•%"88888888•D%"88888888“%"888888888888:^}„|fy…}:R8:}†|}Š:D%"888888888888:d‡{yŒ‡†:R8“%"8888888888888888:gˆŒ‡†‹:R8s%"88888888888888888888“%"888888888888888888888888:bkgfc}‘:R8:}†|}Š:%"88888888888888888888•%"8888888888888888u%"888888888888•D%"888888888888:eyˆlyz„}fy…}:R8:_}†|}Š[‡|}:%"88888888•D%"88888888“%"888888888888:^}„|fy…}:R8:†Œy„‹:D%"888888888888:d‡{yŒ‡†:R8“%"8888888888888888:gˆŒ‡†‹:R8s%"88888888888888888888“%"888888888888888888888888:bkgfc}‘:R8:†Œy„‹:%"88888888888888888888•%"8888888888888888u%"888888888888•%"88888888•D%"88888888“%"888888888888:^}„|fy…}:R8:zŠŒ€\yŒ}:D%"888888888888:d‡{yŒ‡†:R8“%"8888888888888888:gˆŒ‡†‹:R8s%"88888888888888888888“%"888888888888888888888888:bkgfc}‘:R8:zŠŒ€\yŒ}:%"88888888888888888888•%"8888888888888888u%"888888888888•%"88888888•D%"88888888“%"888888888888:^}„|fy…}:R8:|ŠŽ}Šj}‹ŒŠ{Œ‡†[‡|}‹:D%"888888888888:d‡{yŒ‡†:R8“%"8888888888888888:gˆŒ‡†‹:R8s%"88888888888888888888“%"888888888888888888888888:bkgfc}‘:R8:|ŠŽ}Šj}‹ŒŠ{Œ‡†[‡|}‹:%"88888888888888888888•%"8888888888888888u%"888888888888•%"88888888•D%"88888888“%"888888888888:^}„|fy…}:R8:„{}†‹}a‹‹}|[‡†ŒŠ‘:D%"888888888888:d‡{yŒ‡†:R8“%"8888888888888888:gˆŒ‡†‹:R8s%"88888888888888888888“%"888888888888888888888888:bkgfc}‘:R8:„{}†‹}a‹‹}|[‡†ŒŠ‘:%"88888888888888888888•%"8888888888888888u%"888888888888•%"88888888•D%"88888888“%"888888888888:^}„|fy…}:R8:„{}†‹}a‹‹}f…z}Š:D%"888888888888:d‡{yŒ‡†:R8“%"8888888888888888:gˆŒ‡†‹:R8s%"88888888888888888888“%"888888888888888888888888:bkgfc}‘:R8:„{}†‹}a‹‹}f…z}Š:%"88888888888888888888•%"8888888888888888u%"888888888888•%"88888888•D%"88888888“%"888888888888:^}„|fy…}:R8:„{}†‹}f…z}Š:D%"888888888888:d‡{yŒ‡†:R8“%"8888888888888888:gˆŒ‡†‹:R8s%"88888888888888888888“%"888888888888888888888888:bkgfc}‘:R8:„{}†‹}f…z}Š:%"88888888888888888888•%"8888888888888888u%"888888888888•%"88888888•D%"88888888“%"888888888888:^mtlVium*B(*tqkmv{m^itqlq|Nzwu*4((((((((((((*Twki|qwv*B(ƒ((((((((((((((((*Wx|qwv{*B(c((((((((((((((((((((ƒ((((((((((((((((((((((((*R[WVSm*B(*tqkmv{m^itqlq|Nzwu*((((((((((((((((((((…((((((((((((((((e((((((((((((…((((((((…4((((((((ƒ((((((((((((*NqmtlVium*B(*tqkmv{m^itqlq|\w*4((((((((((((*Twki|qwv*B(ƒ((((((((((((((((*Wx|qwv{*B(c((((((((((((((((((((ƒ((((((((((((((((((((((((*R[WVSm*B(*tqkmv{m^itqlq|\w*((((((((((((((((((((…((((((((((((((((e((((((((((((…((((((((…4((((((00k0000000000002Vyu|t^q}u2*02`bvuccy~q|Tbyfy~w@ub}ydUh`ybiTqdu2<0000000000002\sqdy~2*0k00000000000000002_`dy~c2*0K00000000000000000000k0000000000000000000000002ZC_^[ui2*02`bvuccy~q|Tbyfy~w@ub}ydUh`ybiTqdu200000000000000000000m0000000000000000M000000000000m00000000m<00000000k0000000000002Vyu|t^q}u2*02`bvuccy~q|Tbyfy~w@ub}ydStuc2<0000000000002\sqdy~2*0k00000000000000002_`dy~c2*0K00000000000000000000k0000000000000000000000002ZC_^[ui2*02`bvuccy~q|Tbyfy~w@ub}ydStuc200000000000000000000m0000000000000000M000000000000m00000000m<00000000k0000000000002Vyu|t^q}u2*02fuxys|u\ysu~cu2<0000000000002\sqdy~2*0k00000000000000002_`dy~c2*0K00000000000000000000k0000000000000000000000002ZC_^[ui2*02fuxys|u\ysu~cu200000000000000000000m0000000000000000M000000000000m<0000000000002YcYdu}Qbbqi2*0dbeu<0000000000002Sxy|tVyu|tc2*0K0000000000000000k000000000000000000002Vyu|t^q}u2*02fuxys|uStu2<000000000000000000002\sqdy~2*0k0000000000000000000000002_`dy~c2*0K0000000000000000000000000000k000000000000000000000000000000002ZC_^[ui2*02fuxys|uStu20000000000000000000000000000m000000000000000000000000M00000000000000000000m0000000000000000m<0000000000000000k000000000000000000002Vyu|t^q}u2*02fuxys|uBucdbysdy~2<000000000000000000002\sqdy~2*0k0000000000000000000000002_`dy~c2*0K0000000000000000000000000000k000000000000000000000000000000002ZC_^[ui2*02fuxys|uBucdbysdy~20000000000000000000000000000m000000000000000000000000M00000000000000000000m0000000000000000m<0000000000000000k000000000000000000002Vyu|t^q}u2*02|ysu~cuStuYcceutTqdu2<000000000000000000002\sqdy~2*0k0000000000000000000000002_`dy~c2*0K0000000000999999999999999999”�clhgd~’;S9;…‚|~‡Œ~\ˆ}~bŒŒŽ~}]z~;�–�v�–�–�v�–✏v&#–fz‰mz{…~gz†~S9`~‡}~‹\ˆ}~&#IJ9†z…~&#IK9~†z…~ \ No newline at end of file diff --git a/dist/parser-resources/VIN.data b/dist/parser-resources/VIN.data deleted file mode 100644 index c441d53d..00000000 Binary files a/dist/parser-resources/VIN.data and /dev/null differ diff --git a/dist/templates/DBR-PresetTemplates.json b/dist/templates/DBR-PresetTemplates.json deleted file mode 100644 index eb5c3ee4..00000000 --- a/dist/templates/DBR-PresetTemplates.json +++ /dev/null @@ -1,927 +0,0 @@ -{ - "GlobalParameter": { - "IntraOpNumThreads": 2 - }, - "BarcodeFormatSpecificationOptions": [ - { - "BarcodeFormatIds": [ - "BF_PDF417", - "BF_QR_CODE", - "BF_DATAMATRIX", - "BF_AZTEC", - "BF_MICRO_QR", - "BF_MICRO_PDF417", - "BF_DOTCODE" - ], - "MirrorMode": "MM_BOTH", - "Name": "bfs1" - }, - { - "Name": "bfs2" - }, - { - "BaseBarcodeFormatSpecification": "bfs1", - "Name": "bfs1-speed-first" - }, - { - "BaseBarcodeFormatSpecification": "bfs2", - "Name": "bfs2-speed-first" - }, - { - "BaseBarcodeFormatSpecification": "bfs1", - "Name": "bfs1-read-rate-first" - }, - { - "BaseBarcodeFormatSpecification": "bfs2", - "Name": "bfs2-read-rate-first" - }, - { - "BaseBarcodeFormatSpecification": "bfs1", - "Name": "bfs1-single-barcode" - }, - { - "BaseBarcodeFormatSpecification": "bfs2", - "Name": "bfs2-single-barcode" - }, - { - "BaseBarcodeFormatSpecification": "bfs1", - "Name": "bfs1-balance" - }, - { - "BaseBarcodeFormatSpecification": "bfs2", - "Name": "bfs2-balance" - }, - { - "BaseBarcodeFormatSpecification": "bfs1", - "Name": "bfs1-dense" - }, - { - "BaseBarcodeFormatSpecification": "bfs2", - "Name": "bfs2-dense" - }, - { - "BaseBarcodeFormatSpecification": "bfs1", - "Name": "bfs1-distant" - }, - { - "BaseBarcodeFormatSpecification": "bfs2", - "Name": "bfs2-distant" - } - ], - "BarcodeReaderTaskSettingOptions": [ - { - "BarcodeFormatSpecificationNameArray": [ - "bfs1", - "bfs2" - ], - "Name": "task-read-barcodes", - "MaxThreadsInOneTask": 1, - "SectionArray": [ - { - "ImageParameterName": "ip-read-barcodes", - "Section": "ST_BARCODE_LOCALIZATION", - "StageArray": [ - { - "LocalizationModes": [ - { - "Mode": "LM_CONNECTED_BLOCKS" - }, - { - "Mode": "LM_SCAN_DIRECTLY" - } - ], - "Stage": "SST_LOCALIZE_CANDIDATE_BARCODES" - } - ] - }, - { - "ImageParameterName": "ip-read-barcodes", - "Section": "ST_BARCODE_DECODING", - "StageArray": [ - { - "DeblurModes": [ - { - "Mode": "DM_BASED_ON_LOC_BIN" - }, - { - "Mode": "DM_THRESHOLD_BINARIZATION" - }, - { - "Mode": "DM_NEURAL_NETWORK", - "ModelNameArray": ["EAN13Decoder", "Code128Decoder", "Code39ITFDecoder"] - }, - { - "Mode": "DM_DEEP_ANALYSIS", - "Methods": [ - "OneDGeneral", - "TwoDGeneral" - ] - } - ], - "Stage": "SST_DECODE_BARCODES" - } - ] - } - ] - }, - { - "BarcodeFormatSpecificationNameArray": [ - "bfs1-speed-first", - "bfs2-speed-first" - ], - "Name": "task-read-barcodes-speed-first", - "MaxThreadsInOneTask": 1, - "SectionArray": [ - { - "ImageParameterName": "ip-read-barcodes-speed-first", - "Section": "ST_BARCODE_LOCALIZATION", - "StageArray": [ - { - "LocalizationModes": [ - { - "Mode": "LM_CONNECTED_BLOCKS" - }, - { - "Mode": "LM_SCAN_DIRECTLY" - } - ], - "Stage": "SST_LOCALIZE_CANDIDATE_BARCODES" - } - ] - }, - { - "ImageParameterName": "ip-read-barcodes-speed-first", - "Section": "ST_BARCODE_DECODING", - "StageArray": [ - { - "DeblurModes": [ - { - "Mode": "DM_BASED_ON_LOC_BIN" - }, - { - "Mode": "DM_THRESHOLD_BINARIZATION" - }, - { - "Mode": "DM_NEURAL_NETWORK", - "ModelNameArray": ["EAN13Decoder", "Code128Decoder", "Code39ITFDecoder"] - }, - { - "Mode": "DM_DEEP_ANALYSIS", - "Methods": [ - "OneDGeneral", - "TwoDGeneral" - ] - } - ], - "Stage": "SST_DECODE_BARCODES" - } - ] - } - ] - }, - { - "BarcodeFormatSpecificationNameArray": [ - "bfs1-read-rate-first", - "bfs2-read-rate-first" - ], - "ExpectedBarcodesCount": 999, - "Name": "task-read-barcodes-read-rate", - "MaxThreadsInOneTask": 1, - "SectionArray": [ - { - "ImageParameterName": "ip-read-barcodes-read-rate", - "Section": "ST_BARCODE_LOCALIZATION", - "StageArray": [ - { - "LocalizationModes": [ - { - "Mode": "LM_CONNECTED_BLOCKS" - }, - { - "Mode": "LM_NEURAL_NETWORK", - "ModelNameArray": ["OneDLocalization","DataMatrixQRCodeLocalization"] - } - ], - "Stage": "SST_LOCALIZE_CANDIDATE_BARCODES" - } - ] - }, - { - "ImageParameterName": "ip-read-barcodes-read-rate", - "Section": "ST_BARCODE_DECODING", - "StageArray": [ - { - "DeblurModes": [ - { - "Mode": "DM_BASED_ON_LOC_BIN" - }, - { - "Mode": "DM_THRESHOLD_BINARIZATION" - }, - { - "Mode": "DM_DIRECT_BINARIZATION" - }, - { - "Mode": "DM_NEURAL_NETWORK", - "ModelNameArray": ["EAN13Decoder", "Code128Decoder", "Code39ITFDecoder"] - }, - { - "Mode": "DM_DEEP_ANALYSIS" - } - ], - "Stage": "SST_DECODE_BARCODES" - } - ] - } - ] - }, - { - "BarcodeFormatSpecificationNameArray": [ - "bfs1-single-barcode", - "bfs2-single-barcode" - ], - "ExpectedBarcodesCount": 1, - "Name": "task-read-single-barcode", - "MaxThreadsInOneTask": 1, - "SectionArray": [ - { - "ImageParameterName": "ip-read-single-barcode", - "Section": "ST_BARCODE_LOCALIZATION", - "StageArray": [ - { - "LocalizationModes": [ - { - "Mode": "LM_CONNECTED_BLOCKS" - }, - { - "Mode": "LM_SCAN_DIRECTLY" - } - ], - "Stage": "SST_LOCALIZE_CANDIDATE_BARCODES" - }, - { - "Stage": "SST_LOCALIZE_BARCODES" - } - ] - }, - { - "ImageParameterName": "ip-read-single-barcode", - "Section": "ST_BARCODE_DECODING", - "StageArray": [ - { - "DeblurModes": [ - { - "Mode": "DM_BASED_ON_LOC_BIN" - }, - { - "Mode": "DM_THRESHOLD_BINARIZATION" - }, - { - "Mode": "DM_NEURAL_NETWORK", - "ModelNameArray": ["EAN13Decoder", "Code128Decoder", "Code39ITFDecoder"] - }, - { - "Mode": "DM_DEEP_ANALYSIS", - "Methods": [ - "OneDGeneral", - "TwoDGeneral" - ] - } - ], - "Stage": "SST_DECODE_BARCODES" - } - ] - } - ] - }, - { - "BarcodeFormatSpecificationNameArray": [ - "bfs1-balance", - "bfs2-balance" - ], - "ExpectedBarcodesCount": 999, - "Name": "task-read-barcodes-balance", - "MaxThreadsInOneTask": 1, - "SectionArray": [ - { - "ImageParameterName": "ip-read-barcodes-balance", - "Section": "ST_BARCODE_LOCALIZATION", - "StageArray": [ - { - "LocalizationModes": [ - { - "Mode": "LM_CONNECTED_BLOCKS" - }, - { - "Mode": "LM_SCAN_DIRECTLY" - } - ], - "Stage": "SST_LOCALIZE_CANDIDATE_BARCODES" - }, - { - "Stage": "SST_LOCALIZE_BARCODES" - } - ] - }, - { - "ImageParameterName": "ip-read-barcodes-balance", - "Section": "ST_BARCODE_DECODING", - "StageArray": [ - { - "DeblurModes": [ - { - "Mode": "DM_BASED_ON_LOC_BIN" - }, - { - "Mode": "DM_THRESHOLD_BINARIZATION" - }, - { - "Mode": "DM_DIRECT_BINARIZATION" - } - ], - "Stage": "SST_DECODE_BARCODES" - } - ] - } - ] - }, - { - "BarcodeFormatSpecificationNameArray": [ - "bfs1-dense", - "bfs2-dense" - ], - "Name": "task-read-barcodes-dense", - "MaxThreadsInOneTask": 1, - "SectionArray": [ - { - "ImageParameterName": "ip-read-barcodes-dense", - "Section": "ST_BARCODE_LOCALIZATION", - "StageArray": [ - { - "LocalizationModes": [ - { - "Mode": "LM_CONNECTED_BLOCKS" - }, - { - "Mode": "LM_SCAN_DIRECTLY" - } - ], - "Stage": "SST_LOCALIZE_CANDIDATE_BARCODES" - }, - { - "Stage": "SST_LOCALIZE_BARCODES" - } - ] - }, - { - "ImageParameterName": "ip-read-barcodes-dense", - "Section": "ST_BARCODE_DECODING", - "StageArray": [ - { - "DeblurModes": [ - { - "Mode": "DM_BASED_ON_LOC_BIN" - }, - { - "Mode": "DM_THRESHOLD_BINARIZATION" - }, - { - "Mode": "DM_NEURAL_NETWORK", - "ModelNameArray": ["EAN13Decoder", "Code128Decoder", "Code39ITFDecoder"] - }, - { - "Mode": "DM_DEEP_ANALYSIS", - "Methods": [ - "OneDGeneral", - "TwoDGeneral" - ] - } - ], - "Stage": "SST_DECODE_BARCODES" - } - ] - } - ] - }, - { - "BarcodeFormatSpecificationNameArray": [ - "bfs1-distant", - "bfs2-distant" - ], - "Name": "task-read-barcodes-distant", - "MaxThreadsInOneTask": 1, - "SectionArray": [ - { - "ImageParameterName": "ip-read-barcodes-distant", - "Section": "ST_BARCODE_LOCALIZATION", - "StageArray": [ - { - "LocalizationModes": [ - { - "Mode": "LM_CONNECTED_BLOCKS" - }, - { - "Mode": "LM_LINES" - } - ], - "Stage": "SST_LOCALIZE_CANDIDATE_BARCODES" - }, - { - "Stage": "SST_LOCALIZE_BARCODES" - } - ] - }, - { - "ImageParameterName": "ip-read-barcodes-distant", - "Section": "ST_BARCODE_DECODING", - "StageArray": [ - { - "BarcodeScaleModes": [ - { - "Mode": "BSM_LINEAR_INTERPOLATION", - "ModuleSizeThreshold": 4, - "TargetModuleSize": 6 - } - ], - "Stage": "SST_SCALE_BARCODE_IMAGE" - }, - { - "DeblurModes": [ - { - "Mode": "DM_BASED_ON_LOC_BIN" - }, - { - "Mode": "DM_THRESHOLD_BINARIZATION" - }, - { - "Mode": "DM_NEURAL_NETWORK", - "ModelNameArray": ["EAN13Decoder", "Code128Decoder", "Code39ITFDecoder"] - }, - { - "Mode": "DM_DEEP_ANALYSIS", - "Methods": [ - "OneDGeneral", - "TwoDGeneral" - ] - } - ], - "Stage": "SST_DECODE_BARCODES" - } - ] - } - ] - } - ], - "CaptureVisionTemplates": [ - { - "ImageROIProcessingNameArray": [ - "roi-read-barcodes" - ], - "Name": "ReadBarcodes_Default" - }, - { - "ImageROIProcessingNameArray": [ - "roi-read-barcodes-speed-first" - ], - "Name": "ReadBarcodes_SpeedFirst", - "Timeout": 500 - }, - { - "ImageROIProcessingNameArray": [ - "roi-read-barcodes-read-rate" - ], - "Name": "ReadBarcodes_ReadRateFirst", - "Timeout": 100000 - }, - { - "ImageROIProcessingNameArray": [ - "roi-read-single-barcode" - ], - "Name": "ReadSingleBarcode", - "Timeout": 500 - }, - { - "ImageROIProcessingNameArray": [ - "roi-read-barcodes-balance" - ], - "Name": "ReadBarcodes_Balance", - "Timeout": 100000 - }, - { - "ImageROIProcessingNameArray": [ - "roi-read-barcodes-dense" - ], - "Name": "ReadDenseBarcodes", - "Timeout": 100000 - }, - { - "ImageROIProcessingNameArray": [ - "roi-read-barcodes-distant" - ], - "Name": "ReadDistantBarcodes", - "Timeout": 100000 - } - ], - "ImageParameterOptions": [ - { - "ApplicableStages": [ - { - "Stage": "SST_INPUT_COLOR_IMAGE" - }, - { - "Stage": "SST_SCALE_IMAGE" - }, - { - "Stage": "SST_CONVERT_TO_GRAYSCALE" - }, - { - "Stage": "SST_TRANSFORM_GRAYSCALE" - }, - { - "Stage": "SST_ENHANCE_GRAYSCALE" - }, - { - "Stage": "SST_BINARIZE_IMAGE" - }, - { - "Stage": "SST_DETECT_TEXTURE" - }, - { - "Stage": "SST_REMOVE_TEXTURE_FROM_GRAYSCALE" - }, - { - "Stage": "SST_BINARIZE_TEXTURE_REMOVED_GRAYSCALE" - }, - { - "Stage": "SST_FIND_CONTOURS" - }, - { - "Stage": "SST_DETECT_SHORTLINES" - }, - { - "Stage": "SST_ASSEMBLE_LINES" - }, - { - "Stage": "SST_DETECT_TEXT_ZONES" - }, - { - "Stage": "SST_REMOVE_TEXT_ZONES_FROM_BINARY" - } - ], - "Name": "ip-read-barcodes" - }, - { - "ApplicableStages": [ - { - "Stage": "SST_INPUT_COLOR_IMAGE" - }, - { - "Stage": "SST_SCALE_IMAGE" - }, - { - "Stage": "SST_CONVERT_TO_GRAYSCALE" - }, - { - "Stage": "SST_TRANSFORM_GRAYSCALE" - }, - { - "Stage": "SST_ENHANCE_GRAYSCALE" - }, - { - "BinarizationModes": [ - { - "BlockSizeX": 27, - "BlockSizeY": 27, - "Mode": "BM_LOCAL_BLOCK" - } - ], - "Stage": "SST_BINARIZE_IMAGE" - }, - { - "Stage": "SST_DETECT_TEXTURE" - }, - { - "Stage": "SST_REMOVE_TEXTURE_FROM_GRAYSCALE" - }, - { - "Stage": "SST_BINARIZE_TEXTURE_REMOVED_GRAYSCALE" - }, - { - "Stage": "SST_FIND_CONTOURS" - }, - { - "Stage": "SST_DETECT_SHORTLINES" - }, - { - "Stage": "SST_ASSEMBLE_LINES" - }, - { - "Stage": "SST_DETECT_TEXT_ZONES" - }, - { - "Stage": "SST_REMOVE_TEXT_ZONES_FROM_BINARY" - } - ], - "Name": "ip-read-barcodes-speed-first" - }, - { - "ApplicableStages": [ - { - "Stage": "SST_INPUT_COLOR_IMAGE" - }, - { - "ImageScaleSetting": { - "EdgeLengthThreshold": 100000, - "ScaleType": "ST_SCALE_DOWN" - }, - "Stage": "SST_SCALE_IMAGE" - }, - { - "Stage": "SST_CONVERT_TO_GRAYSCALE" - }, - { - "Stage": "SST_TRANSFORM_GRAYSCALE" - }, - { - "Stage": "SST_ENHANCE_GRAYSCALE" - }, - { - "Stage": "SST_BINARIZE_IMAGE" - }, - { - "Stage": "SST_DETECT_TEXTURE" - }, - { - "Stage": "SST_REMOVE_TEXTURE_FROM_GRAYSCALE" - }, - { - "Stage": "SST_BINARIZE_TEXTURE_REMOVED_GRAYSCALE" - }, - { - "Stage": "SST_FIND_CONTOURS" - }, - { - "Stage": "SST_DETECT_SHORTLINES" - }, - { - "Stage": "SST_ASSEMBLE_LINES" - }, - { - "Stage": "SST_DETECT_TEXT_ZONES" - }, - { - "Stage": "SST_REMOVE_TEXT_ZONES_FROM_BINARY" - } - ], - "Name": "ip-read-barcodes-read-rate" - }, - { - "ApplicableStages": [ - { - "Stage": "SST_INPUT_COLOR_IMAGE" - }, - { - "Stage": "SST_SCALE_IMAGE" - }, - { - "Stage": "SST_CONVERT_TO_GRAYSCALE" - }, - { - "Stage": "SST_TRANSFORM_GRAYSCALE" - }, - { - "Stage": "SST_ENHANCE_GRAYSCALE" - }, - { - "BinarizationModes": [ - { - "BlockSizeX": 27, - "BlockSizeY": 27, - "EnableFillBinaryVacancy": 0, - "Mode": "BM_LOCAL_BLOCK" - } - ], - "Stage": "SST_BINARIZE_IMAGE" - }, - { - "Stage": "SST_DETECT_TEXTURE" - }, - { - "Stage": "SST_REMOVE_TEXTURE_FROM_GRAYSCALE" - }, - { - "Stage": "SST_BINARIZE_TEXTURE_REMOVED_GRAYSCALE" - }, - { - "Stage": "SST_FIND_CONTOURS" - }, - { - "Stage": "SST_DETECT_SHORTLINES" - }, - { - "Stage": "SST_ASSEMBLE_LINES" - }, - { - "Stage": "SST_DETECT_TEXT_ZONES" - }, - { - "Stage": "SST_REMOVE_TEXT_ZONES_FROM_BINARY" - } - ], - "Name": "ip-read-single-barcode" - }, - { - "ApplicableStages": [ - { - "Stage": "SST_INPUT_COLOR_IMAGE" - }, - { - "Stage": "SST_SCALE_IMAGE" - }, - { - "Stage": "SST_CONVERT_TO_GRAYSCALE" - }, - { - "Stage": "SST_TRANSFORM_GRAYSCALE" - }, - { - "Stage": "SST_ENHANCE_GRAYSCALE" - }, - { - "Stage": "SST_BINARIZE_IMAGE" - }, - { - "Stage": "SST_DETECT_TEXTURE" - }, - { - "Stage": "SST_REMOVE_TEXTURE_FROM_GRAYSCALE" - }, - { - "Stage": "SST_BINARIZE_TEXTURE_REMOVED_GRAYSCALE" - }, - { - "Stage": "SST_FIND_CONTOURS" - }, - { - "Stage": "SST_DETECT_SHORTLINES" - }, - { - "Stage": "SST_ASSEMBLE_LINES" - }, - { - "Stage": "SST_DETECT_TEXT_ZONES" - }, - { - "Stage": "SST_REMOVE_TEXT_ZONES_FROM_BINARY" - } - ], - "Name": "ip-read-barcodes-balance" - }, - { - "ApplicableStages": [ - { - "Stage": "SST_INPUT_COLOR_IMAGE" - }, - { - "ImageScaleSetting": { - "EdgeLengthThreshold": 100000, - "ScaleType": "ST_SCALE_DOWN" - }, - "Stage": "SST_SCALE_IMAGE" - }, - { - "Stage": "SST_CONVERT_TO_GRAYSCALE" - }, - { - "Stage": "SST_TRANSFORM_GRAYSCALE" - }, - { - "Stage": "SST_ENHANCE_GRAYSCALE" - }, - { - "Stage": "SST_BINARIZE_IMAGE" - }, - { - "Stage": "SST_DETECT_TEXTURE" - }, - { - "Stage": "SST_REMOVE_TEXTURE_FROM_GRAYSCALE" - }, - { - "Stage": "SST_BINARIZE_TEXTURE_REMOVED_GRAYSCALE" - }, - { - "Stage": "SST_FIND_CONTOURS" - }, - { - "Stage": "SST_DETECT_SHORTLINES" - }, - { - "Stage": "SST_ASSEMBLE_LINES" - }, - { - "Stage": "SST_DETECT_TEXT_ZONES" - }, - { - "Stage": "SST_REMOVE_TEXT_ZONES_FROM_BINARY" - } - ], - "Name": "ip-read-barcodes-dense" - }, - { - "ApplicableStages": [ - { - "Stage": "SST_INPUT_COLOR_IMAGE" - }, - { - "ImageScaleSetting": { - "EdgeLengthThreshold": 10000, - "ScaleType": "ST_SCALE_DOWN" - }, - "Stage": "SST_SCALE_IMAGE" - }, - { - "Stage": "SST_CONVERT_TO_GRAYSCALE" - }, - { - "Stage": "SST_TRANSFORM_GRAYSCALE" - }, - { - "Stage": "SST_ENHANCE_GRAYSCALE" - }, - { - "Stage": "SST_BINARIZE_IMAGE" - }, - { - "Stage": "SST_DETECT_TEXTURE" - }, - { - "Stage": "SST_REMOVE_TEXTURE_FROM_GRAYSCALE" - }, - { - "Stage": "SST_BINARIZE_TEXTURE_REMOVED_GRAYSCALE" - }, - { - "Stage": "SST_FIND_CONTOURS" - }, - { - "Stage": "SST_DETECT_SHORTLINES" - }, - { - "Stage": "SST_ASSEMBLE_LINES" - }, - { - "Stage": "SST_DETECT_TEXT_ZONES" - }, - { - "Stage": "SST_REMOVE_TEXT_ZONES_FROM_BINARY" - } - ], - "Name": "ip-read-barcodes-distant" - } - ], - "TargetROIDefOptions": [ - { - "Name": "roi-read-barcodes", - "TaskSettingNameArray": [ - "task-read-barcodes" - ] - }, - { - "Name": "roi-read-barcodes-speed-first", - "TaskSettingNameArray": [ - "task-read-barcodes-speed-first" - ] - }, - { - "Name": "roi-read-barcodes-read-rate", - "TaskSettingNameArray": [ - "task-read-barcodes-read-rate" - ] - }, - { - "Name": "roi-read-single-barcode", - "TaskSettingNameArray": [ - "task-read-single-barcode" - ] - }, - { - "Name": "roi-read-barcodes-balance", - "TaskSettingNameArray": [ - "task-read-barcodes-balance" - ] - }, - { - "Name": "roi-read-barcodes-dense", - "TaskSettingNameArray": [ - "task-read-barcodes-dense" - ] - }, - { - "Name": "roi-read-barcodes-distant", - "TaskSettingNameArray": [ - "task-read-barcodes-distant" - ] - } - ] -} \ No newline at end of file diff --git a/dist/ui/barcode-scanner.ui.xml b/dist/ui/barcode-scanner.ui.xml deleted file mode 100644 index 7891a723..00000000 --- a/dist/ui/barcode-scanner.ui.xml +++ /dev/null @@ -1,314 +0,0 @@ - \ No newline at end of file diff --git a/dist/ui/dce.rtu.ui.xml b/dist/ui/dce.rtu.ui.xml deleted file mode 100644 index b42d7fc5..00000000 --- a/dist/ui/dce.rtu.ui.xml +++ /dev/null @@ -1,431 +0,0 @@ - -
-
- - -
- 1.0X -
- - - - - - - - - - - - - - - - - - - - - - - -
-
-
example camera
-
-
-
-
480P
-
720P
-
1080P
-
2K
-
4K
-
-
- - -
- - diff --git a/dist/ui/dce.ui.v5.xml b/dist/ui/dce.ui.v5.xml deleted file mode 100644 index 3880ba3b..00000000 --- a/dist/ui/dce.ui.v5.xml +++ /dev/null @@ -1,470 +0,0 @@ - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - diff --git a/dist/ui/dce.ui.xml b/dist/ui/dce.ui.xml deleted file mode 100644 index ddc47387..00000000 --- a/dist/ui/dce.ui.xml +++ /dev/null @@ -1,139 +0,0 @@ - \ No newline at end of file diff --git a/dist/ui/dls.license.dialog.html b/dist/ui/dls.license.dialog.html deleted file mode 100644 index ff0cbb92..00000000 --- a/dist/ui/dls.license.dialog.html +++ /dev/null @@ -1,30 +0,0 @@ - -
-
-
- - - - x -
-
-
-
- \ No newline at end of file diff --git a/doc/Api Reference.url b/doc/Api Reference.url new file mode 100644 index 00000000..c790c25c --- /dev/null +++ b/doc/Api Reference.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=https://www.dynamsoft.com/help/Barcode-Reader-WASM/ \ No newline at end of file diff --git a/doc/License Agreement.url b/doc/License Agreement.url new file mode 100644 index 00000000..baed566c --- /dev/null +++ b/doc/License Agreement.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=https://www.dynamsoft.com/Products/barcode-reader-license-agreement.aspx#javascript \ No newline at end of file diff --git a/doc/api reference/assets/css/main.css b/doc/api reference/assets/css/main.css new file mode 100644 index 00000000..959edd73 --- /dev/null +++ b/doc/api reference/assets/css/main.css @@ -0,0 +1,2679 @@ +/*! normalize.css v1.1.3 | MIT License | git.io/normalize */ +/* ========================================================================== + * * HTML5 display definitions + * * ========================================================================== */ +/** + * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { + display: block; +} + +/** + * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */ +audio, canvas, video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +/** + * * Prevent modern browsers from displaying `audio` without controls. + * * Remove excess height in iOS 5 devices. */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. + * * Known issue: no IE 6 support. */ +[hidden] { + display: none; +} + +/* ========================================================================== + * * Base + * * ========================================================================== */ +/** + * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using + * * `em` units. + * * 2. Prevent iOS text size adjust after orientation change, without disabling + * * user zoom. */ +html { + font-size: 100%; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + font-family: sans-serif; +} + +/** + * * Address `font-family` inconsistency between `textarea` and other form + * * elements. */ +button, input, select, textarea { + font-family: sans-serif; +} + +/** + * * Address margins handled incorrectly in IE 6/7. */ +body { + margin: 0; +} + +/* ========================================================================== + * * Links + * * ========================================================================== */ +/** + * * Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { + outline: thin dotted; +} +a:active, a:hover { + outline: 0; +} + +/** + * * Improve readability when focused and also mouse hovered in all browsers. */ +/* ========================================================================== + * * Typography + * * ========================================================================== */ +/** + * * Address font sizes and margins set differently in IE 6/7. + * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, + * * and Chrome. */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +h2 { + font-size: 1.5em; + margin: 0.83em 0; +} + +h3 { + font-size: 1.17em; + margin: 1em 0; +} + +h4, .tsd-index-panel h3 { + font-size: 1em; + margin: 1.33em 0; +} + +h5 { + font-size: 0.83em; + margin: 1.67em 0; +} + +h6 { + font-size: 0.67em; + margin: 2.33em 0; +} + +/** + * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */ +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */ +b, strong { + font-weight: bold; +} + +blockquote { + margin: 1em 40px; +} + +/** + * * Address styling not present in Safari 5 and Chrome. */ +dfn { + font-style: italic; +} + +/** + * * Address differences between Firefox and other browsers. + * * Known issue: no IE 6/7 normalization. */ +hr { + box-sizing: content-box; + height: 0; +} + +/** + * * Address styling not present in IE 6/7/8/9. */ +mark { + background: #ff0; + color: #000; +} + +/** + * * Address margins set differently in IE 6/7. */ +p, pre { + margin: 1em 0; +} + +/** + * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */ +code, kbd, pre, samp { + font-family: monospace, serif; + _font-family: "courier new", monospace; + font-size: 1em; +} + +/** + * * Improve readability of pre-formatted text in all browsers. */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +/** + * * Address CSS quotes not supported in IE 6/7. */ +q { + quotes: none; +} +q:before, q:after { + content: ""; + content: none; +} + +/** + * * Address `quotes` property not supported in Safari 4. */ +/** + * * Address inconsistent and variable font size in all browsers. */ +small { + font-size: 80%; +} + +/** + * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* ========================================================================== + * * Lists + * * ========================================================================== */ +/** + * * Address margins set differently in IE 6/7. */ +dl, menu, ol, ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +/** + * * Address paddings set differently in IE 6/7. */ +menu, ol, ul { + padding: 0 0 0 40px; +} + +/** + * * Correct list images handled incorrectly in IE 7. */ +nav ul, nav ol { + list-style: none; + list-style-image: none; +} + +/* ========================================================================== + * * Embedded content + * * ========================================================================== */ +/** + * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. + * * 2. Improve image quality when scaled in IE 7. */ +img { + border: 0; + /* 1 */ + -ms-interpolation-mode: bicubic; +} + +/* 2 */ +/** + * * Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { + overflow: hidden; +} + +/* ========================================================================== + * * Figures + * * ========================================================================== */ +/** + * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */ +figure, form { + margin: 0; +} + +/* ========================================================================== + * * Forms + * * ========================================================================== */ +/** + * * Correct margin displayed oddly in IE 6/7. */ +/** + * * Define consistent border, margin, and padding. */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * * 1. Correct color not being inherited in IE 6/7/8/9. + * * 2. Correct text not wrapping in Firefox 3. + * * 3. Correct alignment displayed oddly in IE 6/7. */ +legend { + border: 0; + /* 1 */ + padding: 0; + white-space: normal; + /* 2 */ + *margin-left: -7px; +} + +/* 3 */ +/** + * * 1. Correct font size not being inherited in all browsers. + * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, + * * and Chrome. + * * 3. Improve appearance and consistency in all browsers. */ +button, input, select, textarea { + font-size: 100%; + /* 1 */ + margin: 0; + /* 2 */ + vertical-align: baseline; + /* 3 */ + *vertical-align: middle; +} + +/* 3 */ +/** + * * Address Firefox 3+ setting `line-height` on `input` using `!important` in + * * the UA stylesheet. */ +button, input { + line-height: normal; +} + +/** + * * Address inconsistent `text-transform` inheritance for `button` and `select`. + * * All other form control elements do not inherit `text-transform` values. + * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. + * * Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { + text-transform: none; +} + +/** + * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * * and `video` controls. + * * 2. Correct inability to style clickable `input` types in iOS. + * * 3. Improve usability and consistency of cursor style between image-type + * * `input` and others. + * * 4. Remove inner spacing in IE 7 without affecting normal text inputs. + * * Known issue: inner spacing remains in IE 6. */ +button, html input[type=button] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ + *overflow: visible; +} + +/* 4 */ +input[type=reset], input[type=submit] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ + *overflow: visible; +} + +/* 4 */ +/** + * * Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { + cursor: default; +} + +/** + * * 1. Address box sizing set to content-box in IE 8/9. + * * 2. Remove excess padding in IE 8/9. + * * 3. Remove excess padding in IE 7. + * * Known issue: excess padding remains in IE 6. */ +input { + /* 3 */ +} +input[type=checkbox], input[type=radio] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ + *height: 13px; + /* 3 */ + *width: 13px; +} +input[type=search] { + -webkit-appearance: textfield; + /* 1 */ + /* 2 */ + box-sizing: content-box; +} +input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * * (include `-moz` to future-proof). */ +/** + * * Remove inner padding and search cancel button in Safari 5 and Chrome + * * on OS X. */ +/** + * * Remove inner padding and border in Firefox 3+. */ +button::-moz-focus-inner, input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * * 1. Remove default vertical scrollbar in IE 6/7/8/9. + * * 2. Improve readability and alignment in all browsers. */ +textarea { + overflow: auto; + /* 1 */ + vertical-align: top; +} + +/* 2 */ +/* ========================================================================== + * * Tables + * * ========================================================================== */ +/** + * * Remove most spacing between table cells. */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +/* * + * *Visual Studio-like style based on original C# coloring by Jason Diamond */ +.hljs { + display: inline-block; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket { + color: #008000; +} + +.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title { + color: #00f; +} + +.xml .hljs-tag { + color: #00f; +} +.xml .hljs-tag .hljs-value { + color: #00f; +} + +.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value { + color: #a31515; +} + +.ruby .hljs-symbol { + color: #a31515; +} +.ruby .hljs-symbol .hljs-string { + color: #a31515; +} + +.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute { + color: #a31515; +} + +.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt { + color: #2b91af; +} + +.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag { + color: #808080; +} + +.vhdl .hljs-typename { + font-weight: bold; +} +.vhdl .hljs-string { + color: #666666; +} +.vhdl .hljs-literal { + color: #a31515; +} +.vhdl .hljs-attribute { + color: #00b0e8; +} + +.xml .hljs-attribute { + color: #f00; +} + +ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child, +.tsd-panel > :first-child > :first-child, +.col > :first-child > :first-child, +.col-11 > :first-child > :first-child, +.col-10 > :first-child > :first-child, +.col-9 > :first-child > :first-child, +.col-8 > :first-child > :first-child, +.col-7 > :first-child > :first-child, +.col-6 > :first-child > :first-child, +.col-5 > :first-child > :first-child, +.col-4 > :first-child > :first-child, +.col-3 > :first-child > :first-child, +.col-2 > :first-child > :first-child, +.col-1 > :first-child > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child > :first-child, +.tsd-panel > :first-child > :first-child > :first-child, +.col > :first-child > :first-child > :first-child, +.col-11 > :first-child > :first-child > :first-child, +.col-10 > :first-child > :first-child > :first-child, +.col-9 > :first-child > :first-child > :first-child, +.col-8 > :first-child > :first-child > :first-child, +.col-7 > :first-child > :first-child > :first-child, +.col-6 > :first-child > :first-child > :first-child, +.col-5 > :first-child > :first-child > :first-child, +.col-4 > :first-child > :first-child > :first-child, +.col-3 > :first-child > :first-child > :first-child, +.col-2 > :first-child > :first-child > :first-child, +.col-1 > :first-child > :first-child > :first-child { + margin-top: 0; +} +ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child, +.tsd-panel > :last-child > :last-child, +.col > :last-child > :last-child, +.col-11 > :last-child > :last-child, +.col-10 > :last-child > :last-child, +.col-9 > :last-child > :last-child, +.col-8 > :last-child > :last-child, +.col-7 > :last-child > :last-child, +.col-6 > :last-child > :last-child, +.col-5 > :last-child > :last-child, +.col-4 > :last-child > :last-child, +.col-3 > :last-child > :last-child, +.col-2 > :last-child > :last-child, +.col-1 > :last-child > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child > :last-child, +.tsd-panel > :last-child > :last-child > :last-child, +.col > :last-child > :last-child > :last-child, +.col-11 > :last-child > :last-child > :last-child, +.col-10 > :last-child > :last-child > :last-child, +.col-9 > :last-child > :last-child > :last-child, +.col-8 > :last-child > :last-child > :last-child, +.col-7 > :last-child > :last-child > :last-child, +.col-6 > :last-child > :last-child > :last-child, +.col-5 > :last-child > :last-child > :last-child, +.col-4 > :last-child > :last-child > :last-child, +.col-3 > :last-child > :last-child > :last-child, +.col-2 > :last-child > :last-child > :last-child, +.col-1 > :last-child > :last-child > :last-child { + margin-bottom: 0; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 40px; +} +@media (max-width: 640px) { + .container { + padding: 0 20px; + } +} + +.container-main { + padding-bottom: 200px; +} + +.row { + display: -ms-flexbox; + display: flex; + position: relative; + margin: 0 -10px; +} +.row:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; +} + +.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 { + box-sizing: border-box; + float: left; + padding: 0 10px; +} + +.col-1 { + width: 8.3333333333%; +} + +.offset-1 { + margin-left: 8.3333333333%; +} + +.col-2 { + width: 16.6666666667%; +} + +.offset-2 { + margin-left: 16.6666666667%; +} + +.col-3 { + width: 25%; +} + +.offset-3 { + margin-left: 25%; +} + +.col-4 { + width: 33.3333333333%; +} + +.offset-4 { + margin-left: 33.3333333333%; +} + +.col-5 { + width: 41.6666666667%; +} + +.offset-5 { + margin-left: 41.6666666667%; +} + +.col-6 { + width: 50%; +} + +.offset-6 { + margin-left: 50%; +} + +.col-7 { + width: 58.3333333333%; +} + +.offset-7 { + margin-left: 58.3333333333%; +} + +.col-8 { + width: 66.6666666667%; +} + +.offset-8 { + margin-left: 66.6666666667%; +} + +.col-9 { + width: 75%; +} + +.offset-9 { + margin-left: 75%; +} + +.col-10 { + width: 83.3333333333%; +} + +.offset-10 { + margin-left: 83.3333333333%; +} + +.col-11 { + width: 91.6666666667%; +} + +.offset-11 { + margin-left: 91.6666666667%; +} + +.tsd-kind-icon { + display: block; + position: relative; + padding-left: 20px; + text-indent: -20px; +} +.tsd-kind-icon:before { + content: ""; + display: inline-block; + vertical-align: middle; + width: 17px; + height: 17px; + margin: 0 3px 2px 0; + background-image: url(../images/icons.png); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-kind-icon:before { + background-image: url(../images/icons@2x.png); + background-size: 238px 204px; + } +} + +.tsd-signature.tsd-kind-icon:before { + background-position: 0 -153px; +} + +.tsd-kind-object-literal > .tsd-kind-icon:before { + background-position: 0px -17px; +} +.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -17px; +} +.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -17px; +} + +.tsd-kind-class > .tsd-kind-icon:before { + background-position: 0px -34px; +} +.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -34px; +} +.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -34px; +} + +.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -51px; +} + +.tsd-kind-interface > .tsd-kind-icon:before { + background-position: 0px -68px; +} +.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -68px; +} +.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -68px; +} + +.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -85px; +} + +.tsd-kind-namespace > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-module > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-enum > .tsd-kind-icon:before { + background-position: 0px -119px; +} +.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -119px; +} +.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -119px; +} + +.tsd-kind-enum-member > .tsd-kind-icon:before { + background-position: 0px -136px; +} +.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -136px; +} +.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -136px; +} + +.tsd-kind-signature > .tsd-kind-icon:before { + background-position: 0px -153px; +} +.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -153px; +} +.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -153px; +} + +.tsd-kind-type-alias > .tsd-kind-icon:before { + background-position: 0px -170px; +} +.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -170px; +} +.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -170px; +} + +.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -187px; +} + +.tsd-kind-variable > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-property > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-get-signature > .tsd-kind-icon:before { + background-position: -136px -17px; +} +.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -17px; +} +.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -17px; +} + +.tsd-kind-set-signature > .tsd-kind-icon:before { + background-position: -136px -34px; +} +.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -34px; +} +.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -34px; +} + +.tsd-kind-accessor > .tsd-kind-icon:before { + background-position: -136px -51px; +} +.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -51px; +} +.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -51px; +} + +.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-constructor > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-constructor-signature > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-index-signature > .tsd-kind-icon:before { + background-position: -136px -119px; +} +.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -119px; +} +.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -119px; +} + +.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -136px; +} +.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -136px; +} +.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -136px; +} + +.tsd-is-static > .tsd-kind-icon:before { + background-position: -136px -153px; +} +.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -153px; +} +.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -153px; +} +.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -153px; +} + +.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -187px; +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes shift-to-left { + from { + transform: translate(0, 0); + } + to { + transform: translate(-25%, 0); + } +} +@keyframes unshift-to-left { + from { + transform: translate(-25%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: #fdfdfd; + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: #222; +} + +a { + color: #4da6ff; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} + +code, pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 14px; + background-color: rgba(0, 0, 0, 0.04); +} + +pre { + padding: 10px; +} +pre code { + padding: 0; + font-size: 100%; + background-color: transparent; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, .tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, .tsd-typography ul, .tsd-typography ol { + margin: 1em 0; +} + +@media (min-width: 901px) and (max-width: 1024px) { + html.default .col-content { + width: 72%; + } + html.default .col-menu { + width: 28%; + } + html.default .tsd-navigation { + padding-left: 10px; + } +} +@media (max-width: 900px) { + html.default .col-content { + float: none; + width: 100%; + } + html.default .col-menu { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + width: 100%; + padding: 20px 20px 0 0; + max-width: 450px; + visibility: hidden; + background-color: #fff; + transform: translate(100%, 0); + } + html.default .col-menu > *:last-child { + padding-bottom: 20px; + } + html.default .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + html.default.to-has-menu .overlay { + animation: fade-in 0.4s; + } + html.default.to-has-menu header, +html.default.to-has-menu footer, +html.default.to-has-menu .col-content { + animation: shift-to-left 0.4s; + } + html.default.to-has-menu .col-menu { + animation: pop-in-from-right 0.4s; + } + html.default.from-has-menu .overlay { + animation: fade-out 0.4s; + } + html.default.from-has-menu header, +html.default.from-has-menu footer, +html.default.from-has-menu .col-content { + animation: unshift-to-left 0.4s; + } + html.default.from-has-menu .col-menu { + animation: pop-out-to-right 0.4s; + } + html.default.has-menu body { + overflow: hidden; + } + html.default.has-menu .overlay { + visibility: visible; + } + html.default.has-menu header, +html.default.has-menu footer, +html.default.has-menu .col-content { + transform: translate(-25%, 0); + } + html.default.has-menu .col-menu { + visibility: visible; + transform: translate(0, 0); + } +} + +.tsd-page-title { + padding: 70px 0 20px 0; + margin: 0 0 40px 0; + background: #fff; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); +} +.tsd-page-title h1 { + margin: 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: #808080; +} +.tsd-breadcrumb a { + color: #808080; + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +html.minimal .container { + margin: 0; +} +html.minimal .container-main { + padding-top: 50px; + padding-bottom: 0; +} +html.minimal .content-wrap { + padding-left: 300px; +} +html.minimal .tsd-navigation { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + box-sizing: border-box; + z-index: 1; + left: 0; + top: 40px; + bottom: 0; + width: 300px; + padding: 20px; + margin: 0; +} +html.minimal .tsd-member .tsd-member { + margin-left: 0; +} +html.minimal .tsd-page-toolbar { + position: fixed; + z-index: 2; +} +html.minimal #tsd-filter .tsd-filter-group { + right: 0; + transform: none; +} +html.minimal footer { + background-color: transparent; +} +html.minimal footer .container { + padding: 0; +} +html.minimal .tsd-generator { + padding: 0; +} +@media (max-width: 900px) { + html.minimal .tsd-navigation { + display: none; + } + html.minimal .content-wrap { + padding-left: 0; + } +} + +dl.tsd-comment-tags { + overflow: hidden; +} +dl.tsd-comment-tags dt { + float: left; + padding: 1px 5px; + margin: 0 10px 0 0; + border-radius: 4px; + border: 1px solid #808080; + color: #808080; + font-size: 0.8em; + font-weight: normal; +} +dl.tsd-comment-tags dd { + margin: 0 0 10px 0; +} +dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after { + display: table; + content: " "; +} +dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after { + clear: both; +} +dl.tsd-comment-tags p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.toggle-protected .tsd-is-private { + display: none; +} + +.toggle-public .tsd-is-private, +.toggle-public .tsd-is-protected, +.toggle-public .tsd-is-private-protected { + display: none; +} + +.toggle-inherited .tsd-is-inherited { + display: none; +} + +.toggle-only-exported .tsd-is-not-exported { + display: none; +} + +.toggle-externals .tsd-is-external { + display: none; +} + +#tsd-filter { + position: relative; + display: inline-block; + height: 40px; + vertical-align: bottom; +} +.no-filter #tsd-filter { + display: none; +} +#tsd-filter .tsd-filter-group { + display: inline-block; + height: 40px; + vertical-align: bottom; + white-space: nowrap; +} +#tsd-filter input { + display: none; +} +@media (max-width: 900px) { + #tsd-filter .tsd-filter-group { + display: block; + position: absolute; + top: 40px; + right: 20px; + height: auto; + background-color: #fff; + visibility: hidden; + transform: translate(50%, 0); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + } + .has-options #tsd-filter .tsd-filter-group { + visibility: visible; + } + .to-has-options #tsd-filter .tsd-filter-group { + animation: fade-in 0.2s; + } + .from-has-options #tsd-filter .tsd-filter-group { + animation: fade-out 0.2s; + } + #tsd-filter label, +#tsd-filter .tsd-select { + display: block; + padding-right: 20px; + } +} + +footer { + border-top: 1px solid #eee; + background-color: #fff; +} +footer.with-border-bottom { + border-bottom: 1px solid #eee; +} +footer .tsd-legend-group { + font-size: 0; +} +footer .tsd-legend { + display: inline-block; + width: 25%; + padding: 0; + font-size: 16px; + list-style: none; + line-height: 1.333em; + vertical-align: top; +} +@media (max-width: 900px) { + footer .tsd-legend { + width: 50%; + } +} + +.tsd-hierarchy { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-index-panel .tsd-index-content { + margin-bottom: -30px !important; +} +.tsd-index-panel .tsd-index-section { + margin-bottom: 30px !important; +} +.tsd-index-panel h3 { + margin: 0 -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid #eee; +} +.tsd-index-panel ul.tsd-index-list { + -moz-column-count: 3; + -ms-column-count: 3; + -o-column-count: 3; + column-count: 3; + -moz-column-gap: 20px; + -ms-column-gap: 20px; + -o-column-gap: 20px; + column-gap: 20px; + padding: 0; + list-style: none; + line-height: 1.333em; +} +@media (max-width: 900px) { + .tsd-index-panel ul.tsd-index-list { + -moz-column-count: 1; + -ms-column-count: 1; + -o-column-count: 1; + column-count: 1; + } +} +@media (min-width: 901px) and (max-width: 1024px) { + .tsd-index-panel ul.tsd-index-list { + -moz-column-count: 2; + -ms-column-count: 2; + -o-column-count: 2; + column-count: 2; + } +} +.tsd-index-panel ul.tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} +.tsd-index-panel a, +.tsd-index-panel .tsd-parent-kind-module a { + color: #9600ff; +} +.tsd-index-panel .tsd-parent-kind-interface a { + color: #7da01f; +} +.tsd-index-panel .tsd-parent-kind-enum a { + color: #cc9900; +} +.tsd-index-panel .tsd-parent-kind-class a { + color: #4da6ff; +} +.tsd-index-panel .tsd-kind-module a { + color: #9600ff; +} +.tsd-index-panel .tsd-kind-interface a { + color: #7da01f; +} +.tsd-index-panel .tsd-kind-enum a { + color: #cc9900; +} +.tsd-index-panel .tsd-kind-class a { + color: #4da6ff; +} +.tsd-index-panel .tsd-is-private a { + color: #808080; +} + +.tsd-flag { + display: inline-block; + padding: 1px 5px; + border-radius: 4px; + color: #fff; + background-color: #808080; + text-indent: 0; + font-size: 14px; + font-weight: normal; +} + +.tsd-anchor { + position: absolute; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation { + margin: 0 0 0 40px; +} +.tsd-navigation a { + display: block; + padding-top: 2px; + padding-bottom: 2px; + border-left: 2px solid transparent; + color: #222; + text-decoration: none; + transition: border-left-color 0.1s; +} +.tsd-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li { + padding: 0; +} + +.tsd-navigation.primary { + padding-bottom: 40px; +} +.tsd-navigation.primary a { + display: block; + padding-top: 6px; + padding-bottom: 6px; +} +.tsd-navigation.primary ul li a { + padding-left: 5px; +} +.tsd-navigation.primary ul li li a { + padding-left: 25px; +} +.tsd-navigation.primary ul li li li a { + padding-left: 45px; +} +.tsd-navigation.primary ul li li li li a { + padding-left: 65px; +} +.tsd-navigation.primary ul li li li li li a { + padding-left: 85px; +} +.tsd-navigation.primary ul li li li li li li a { + padding-left: 105px; +} +.tsd-navigation.primary > ul { + border-bottom: 1px solid #eee; +} +.tsd-navigation.primary li { + border-top: 1px solid #eee; +} +.tsd-navigation.primary li.current > a { + font-weight: bold; +} +.tsd-navigation.primary li.label span { + display: block; + padding: 20px 0 6px 5px; + color: #808080; +} +.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a { + padding-top: 20px; +} + +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: -webkit-sticky; + position: sticky; + top: calc(.5rem + 40px); + transition: 0.3s; +} +.tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: 0.5rem; +} +.tsd-navigation.secondary ul { + transition: opacity 0.2s; +} +.tsd-navigation.secondary ul li a { + padding-left: 25px; +} +.tsd-navigation.secondary ul li li a { + padding-left: 45px; +} +.tsd-navigation.secondary ul li li li a { + padding-left: 65px; +} +.tsd-navigation.secondary ul li li li li a { + padding-left: 85px; +} +.tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; +} +.tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; +} +.tsd-navigation.secondary ul.current a { + border-left-color: #eee; +} +.tsd-navigation.secondary li.focus > a, +.tsd-navigation.secondary ul.current li.focus > a { + border-left-color: #000; +} +.tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; + border-left-color: #eee; +} +.tsd-navigation.secondary li.current > a { + font-weight: bold; +} + +@media (min-width: 901px) { + .menu-sticky-wrap { + position: static; + } +} + +.tsd-panel { + margin: 20px 0; + padding: 20px; + background-color: #fff; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 { + margin: 1.5em -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid #eee; +} +.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: 0; +} +.tsd-panel table { + display: block; + width: 100%; + overflow: auto; + margin-top: 10px; + word-break: normal; + word-break: keep-all; +} +.tsd-panel table th { + font-weight: bold; +} +.tsd-panel table th, .tsd-panel table td { + padding: 6px 13px; + border: 1px solid #ddd; +} +.tsd-panel table tr { + background-color: #fff; + border-top: 1px solid #ccc; +} +.tsd-panel table tr:nth-child(2n) { + background-color: #f8f8f8; +} + +.tsd-panel-group { + margin: 60px 0; +} +.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 { + padding-left: 20px; + padding-right: 20px; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 40px; + height: 40px; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: #222; +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: #fdfdfd; +} +#tsd-search .results li:nth-child(even) { + background-color: #fff; +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: #eee; +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: #808080; + font-weight: normal; +} +#tsd-search.has-focus { + background-color: #eee; +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +.tsd-signature { + margin: 0 0 1em 0; + padding: 10px; + border: 1px solid #eee; + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} +.tsd-signature.tsd-kind-icon { + padding-left: 30px; +} +.tsd-signature.tsd-kind-icon:before { + top: 10px; + left: 10px; +} +.tsd-panel > .tsd-signature { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signature.tsd-kind-icon:before { + left: 20px; +} + +.tsd-signature-symbol { + color: #808080; + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + border: 1px solid #eee; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-width: 1px 0 0 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-signature:first-child { + border-top-width: 0; +} +.tsd-signatures .tsd-signature.current { + background-color: #eee; +} +.tsd-signatures.active > .tsd-signature { + cursor: pointer; +} +.tsd-panel > .tsd-signatures { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { + left: 20px; +} +.tsd-panel > a.anchor + .tsd-signatures { + border-top-width: 0; + margin-top: -20px; +} + +ul.tsd-descriptions { + position: relative; + overflow: hidden; + padding: 0; + list-style: none; +} +ul.tsd-descriptions.active > .tsd-description { + display: none; +} +ul.tsd-descriptions.active > .tsd-description.current { + display: block; +} +ul.tsd-descriptions.active > .tsd-description.fade-in { + animation: fade-in-delayed 0.3s; +} +ul.tsd-descriptions.active > .tsd-description.fade-out { + animation: fade-out-delayed 0.3s; + position: absolute; + display: block; + top: 0; + left: 0; + right: 0; + opacity: 0; + visibility: hidden; +} +ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} + +ul.tsd-parameters, +ul.tsd-type-parameters { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameters > li.tsd-parameter-signature, +ul.tsd-type-parameters > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameters h5, +ul.tsd-type-parameters h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +ul.tsd-parameters .tsd-comment, +ul.tsd-type-parameters .tsd-comment { + margin-top: -0.5em; +} + +.tsd-sources { + font-size: 14px; + color: #808080; + margin: 0 0 1em 0; +} +.tsd-sources a { + color: #808080; + text-decoration: underline; +} +.tsd-sources ul, .tsd-sources p { + margin: 0 !important; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 40px; + color: #333; + background: #fff; + border-bottom: 1px solid #eee; + transition: transform 0.3s linear; +} +.tsd-page-toolbar a { + color: #333; + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .table-wrap { + display: table; + width: 100%; + height: 40px; +} +.tsd-page-toolbar .table-cell { + display: table-cell; + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} + +.tsd-page-toolbar--hide { + transform: translateY(-100%); +} + +.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { + content: ""; + display: inline-block; + width: 40px; + height: 40px; + margin: 0 -8px 0 0; + background-image: url(../images/widgets.png); + background-repeat: no-repeat; + text-indent: -1024px; + vertical-align: bottom; +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { + background-image: url(../images/widgets@2x.png); + background-size: 320px 40px; + } +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.6; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.8; +} +.tsd-widget.active { + opacity: 1; + background-color: #eee; +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} +.tsd-widget.search:before { + background-position: 0 0; +} +.tsd-widget.menu:before { + background-position: -40px 0; +} +.tsd-widget.options:before { + background-position: -80px 0; +} +.tsd-widget.options, .tsd-widget.menu { + display: none; +} +@media (max-width: 900px) { + .tsd-widget.options, .tsd-widget.menu { + display: inline-block; + } +} +input[type=checkbox] + .tsd-widget:before { + background-position: -120px 0; +} +input[type=checkbox]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +.tsd-select { + position: relative; + display: inline-block; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-select .tsd-select-label { + opacity: 0.6; + transition: opacity 0.2s; +} +.tsd-select .tsd-select-label:before { + background-position: -240px 0; +} +.tsd-select.active .tsd-select-label { + opacity: 0.8; +} +.tsd-select.active .tsd-select-list { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} +.tsd-select .tsd-select-list { + position: absolute; + visibility: hidden; + top: 40px; + left: 0; + margin: 0; + padding: 0; + opacity: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + transition: visibility 0s 0.2s, opacity 0.2s; +} +.tsd-select .tsd-select-list li { + padding: 0 20px 0 0; + background-color: #fdfdfd; +} +.tsd-select .tsd-select-list li:before { + background-position: 40px 0; +} +.tsd-select .tsd-select-list li:nth-child(even) { + background-color: #fff; +} +.tsd-select .tsd-select-list li:hover { + background-color: #eee; +} +.tsd-select .tsd-select-list li.selected:before { + background-position: -200px 0; +} +@media (max-width: 900px) { + .tsd-select .tsd-select-list { + top: 0; + left: auto; + right: 100%; + margin-right: -5px; + } + .tsd-select .tsd-select-label:before { + background-position: -280px 0; + } +} + +img { + max-width: 100%; +} \ No newline at end of file diff --git a/doc/api reference/assets/images/icons.png b/doc/api reference/assets/images/icons.png new file mode 100644 index 00000000..3836d5fe Binary files /dev/null and b/doc/api reference/assets/images/icons.png differ diff --git a/doc/api reference/assets/images/icons@2x.png b/doc/api reference/assets/images/icons@2x.png new file mode 100644 index 00000000..5a209e2f Binary files /dev/null and b/doc/api reference/assets/images/icons@2x.png differ diff --git a/doc/api reference/assets/images/widgets.png b/doc/api reference/assets/images/widgets.png new file mode 100644 index 00000000..c7380532 Binary files /dev/null and b/doc/api reference/assets/images/widgets.png differ diff --git a/doc/api reference/assets/images/widgets@2x.png b/doc/api reference/assets/images/widgets@2x.png new file mode 100644 index 00000000..4bbbd572 Binary files /dev/null and b/doc/api reference/assets/images/widgets@2x.png differ diff --git a/doc/api reference/assets/js/main.js b/doc/api reference/assets/js/main.js new file mode 100644 index 00000000..fe9fac3b --- /dev/null +++ b/doc/api reference/assets/js/main.js @@ -0,0 +1 @@ +!function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return null==e?"":e.toString()},e.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.EventTarget);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){function Component(options){this.el=options.el}typedoc.Component=Component}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),document.documentElement.classList.add(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),document.addEventListener(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}),document.addEventListener(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10scrollTop;)index-=1;for(;index"+match+""}),parent=row.parent||"";(parent=parent.replace(new RegExp(this.query,"i"),function(match){return""+match+""}))&&(name=''+parent+"."+name);var item=document.createElement("li");item.classList.value=row.classes,item.innerHTML='\n '+name+"'\n ",this.results.appendChild(item)}}},Search.prototype.setLoadingState=function(value){this.loadingState!=value&&(this.el.classList.remove(SearchLoadingState[this.loadingState].toLowerCase()),this.loadingState=value,this.el.classList.add(SearchLoadingState[this.loadingState].toLowerCase()),this.updateResults())},Search.prototype.setHasFocus=function(value){this.hasFocus!=value&&(this.hasFocus=value,this.el.classList.toggle("has-focus"),value?(this.setQuery(""),this.field.value=""):this.field.value=this.query)},Search.prototype.setQuery=function(value){this.query=value.trim(),this.updateResults()},Search.prototype.setCurrentResult=function(dir){var current=this.results.querySelector(".current");if(current){var rel=1==dir?current.nextElementSibling:current.previousElementSibling;rel&&(current.classList.remove("current"),rel.classList.add("current"))}else(current=this.results.querySelector(1==dir?"li:first-child":"li:last-child"))&¤t.classList.add("current")},Search.prototype.gotoCurrentResult=function(){var current=this.results.querySelector(".current");if(current||(current=this.results.querySelector("li:first-child")),current){var link=current.querySelector("a");link&&(window.location.href=link.href),this.field.blur()}},Search.prototype.bindEvents=function(){var _this=this;this.results.addEventListener("mousedown",function(){_this.resultClicked=!0}),this.results.addEventListener("mouseup",function(){_this.resultClicked=!1,_this.setHasFocus(!1)}),this.field.addEventListener("focusin",function(){_this.setHasFocus(!0),_this.loadIndex()}),this.field.addEventListener("focusout",function(){_this.resultClicked?_this.resultClicked=!1:setTimeout(function(){return _this.setHasFocus(!1)},100)}),this.field.addEventListener("input",function(){_this.setQuery(_this.field.value)}),this.field.addEventListener("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(_this.preventPress=!0,e.preventDefault(),13==e.keyCode?_this.gotoCurrentResult():27==e.keyCode?_this.field.blur():38==e.keyCode?_this.setCurrentResult(-1):40==e.keyCode&&_this.setCurrentResult(1)):_this.preventPress=!1}),this.field.addEventListener("keypress",function(e){_this.preventPress&&e.preventDefault()}),document.body.addEventListener("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!_this.hasFocus&&47this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1 + + + + + BarcodeReader | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class BarcodeReader

+
+
+
+
+
+
+
+
+
+

The BarcodeReader class is used for image decoding + Comparing to BarcodeScanner, the default decoding settings are more accurate but slower.

+
let reader = await Dynamsoft.DBR.BarcodeReader.createInstance();
+let results = await reader.decode(imageSource);
+for(let result of results){
+    console.log(result.barcodeText);
+}
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Accessors

+ +
+
+

Initialize and Destroy Methods

+ +

Decode Methods

+ +

Runtime Settings Methods

+ +

Other Methods

+ +
+
+
+
+
+

Properties

+
+ +

bDestroyed

+
bDestroyed: boolean = false
+ +
+
+

Indicates whether the instance has been destroyed.

+
+
+
+
+ +

bSaveOriCanvas

+
bSaveOriCanvas: boolean = false
+ +
+
+

Whether to save the original image into canvas.

+
reader.bSaveOriCanvas = true;
+let results = await reader.decode(source);
+document.body.append(reader.oriCanvas);
+
+
+
+
+ +

Optional oriCanvas

+
oriCanvas: HTMLCanvasElement | OffscreenCanvas = null
+ +
+
+

The original canvas.

+
reader.bSaveOriCanvas = true;
+let results = await reader.decode(source);
+document.body.append(reader.oriCanvas);
+
+
+
+
+
+

Accessors

+
+ +

Static _bUseFullFeature

+
    +
  • get _bUseFullFeature(): boolean
  • +
  • set _bUseFullFeature(value: boolean): void
  • +
+
    +
  • + +

    Returns boolean

    +
  • +
  • + +

    Parameters

    +
      +
    • +
      value: boolean
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static engineResourcePath

+
    +
  • get engineResourcePath(): string
  • +
  • set engineResourcePath(value: string): void
  • +
+
    +
  • + +
    +
    +

    Specify the Barcode Reader SDK engine (WASM) url. The SDK tries to automatically explore the engine location. + If the auto-explored engine location is incorrect, you can manually specify the engine location. + The property needs to be set before loadWasm.

    +
    Dynamsoft.DBR.BarcodeReader.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/";
    +await Dynamsoft.DBR.BarcodeReader.loadWasm();
    +
    +
    +

    Returns string

    +
  • +
  • + +
    +
    +

    Specify the Barcode Reader SDK engine (WASM) url. The SDK tries to automatically explore the engine location. + If the auto-explored engine location is incorrect, you can manually specify the engine location. + The property needs to be set before loadWasm.

    +
    Dynamsoft.DBR.BarcodeReader.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/";
    +await Dynamsoft.DBR.BarcodeReader.loadWasm();
    +
    +
    +

    Parameters

    +
      +
    • +
      value: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static handshakeCode

+
    +
  • get handshakeCode(): string
  • +
  • set handshakeCode(keys: string): void
  • +
+
    +
  • + +
    +
    +

    Get or set the Dynamsoft Barcode Reader SDK handshake code. The handshakeCode is an alias of productKeys. Specifically refers to the key that requires network authentication.

    +
    Dynamsoft.DBR.BarcodeReader.handshakeCode = "123****-mytest";
    +

    For convenience, you can set handshakeCode in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.js" data-handshakeCode="123****-mytest"></script>
    +
    +
    +

    Returns string

    +
  • +
  • + +
    +
    +

    Get or set the Dynamsoft Barcode Reader SDK handshake code. The handshakeCode is an alias of productKeys. Specifically refers to the key that requires network authentication.

    +
    Dynamsoft.DBR.BarcodeReader.handshakeCode = "123****-mytest";
    +

    For convenience, you can set handshakeCode in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.js" data-handshakeCode="123****-mytest"></script>
    +
    +
    +

    Parameters

    +
      +
    • +
      keys: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static licenseServer

+
    +
  • get licenseServer(): string | string[]
  • +
  • set licenseServer(value: string[] | string): void
  • +
+
    +
  • + +
    +
    +

    Specify the license server URL.

    +
    +
    +

    Returns string | string[]

    +
  • +
  • + +
    +
    +

    Specify the license server URL.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: string[] | string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static organizationID

+
    +
  • get organizationID(): string
  • +
  • set organizationID(value: string): void
  • +
+
    +
  • + +
    +
    +

    Use organization ID to get authentication from network. Keep handshakeCode empty if you want to use default handshake of the organization.

    +
    Dynamsoft.DBR.BarcodeReader.organizationID = "123****";
    +

    For convenience, you can set organizationID in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.js" data-organizationID="123****"></script>
    +
    +
    +
    see
    +

    handshakeCode

    +
    +
    +
    +

    Returns string

    +
  • +
  • + +
    +
    +

    Use organization ID to get authentication from network. Keep handshakeCode empty if you want to use default handshake of the organization.

    +
    Dynamsoft.DBR.BarcodeReader.organizationID = "123****";
    +

    For convenience, you can set organizationID in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.js" data-organizationID="123****"></script>
    +
    +
    +
    see
    +

    handshakeCode

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      value: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static productKeys

+
    +
  • get productKeys(): string
  • +
  • set productKeys(keys: string): void
  • +
+
    +
  • + +
    +
    +

    Get or set the Dynamsoft Barcode Reader SDK product keys.

    +
    Dynamsoft.DBR.BarcodeReader.productKeys = "PRODUCT-KEYS";
    +

    For convenience, you can set productKeys in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.3/dist/dbr.js" data-productKeys="PRODUCT-KEYS"></script>
    +
    +
    +

    Returns string

    +
  • +
  • + +
    +
    +

    Get or set the Dynamsoft Barcode Reader SDK product keys.

    +
    Dynamsoft.DBR.BarcodeReader.productKeys = "PRODUCT-KEYS";
    +

    For convenience, you can set productKeys in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.3/dist/dbr.js" data-productKeys="PRODUCT-KEYS"></script>
    +
    +
    +

    Parameters

    +
      +
    • +
      keys: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static sessionPassword

+
    +
  • get sessionPassword(): string
  • +
  • set sessionPassword(value: string): void
  • +
+
    +
  • + +
    +
    +

    Specify a password to protect the Handshake Code from abuse.

    +
    Dynamsoft.DBR.BarcodeReader.handshakeCode = "123****-mytest";
    +Dynamsoft.DBR.BarcodeReader.sessionPassword = "@#$%****";
    +

    For convenience, you can set organizationID in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.js" data-handshakeCode="123****-mytest" data-sessionPassword="@#$%****"></script>
    +
    +
    +
    see
    +

    handshakeCode

    +
    +
    +
    +

    Returns string

    +
  • +
  • + +
    +
    +

    Specify a password to protect the Handshake Code from abuse.

    +
    Dynamsoft.DBR.BarcodeReader.handshakeCode = "123****-mytest";
    +Dynamsoft.DBR.BarcodeReader.sessionPassword = "@#$%****";
    +

    For convenience, you can set organizationID in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.js" data-handshakeCode="123****-mytest" data-sessionPassword="@#$%****"></script>
    +
    +
    +
    see
    +

    handshakeCode

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      value: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static version

+
    +
  • get version(): string
  • +
+
    +
  • + +
    +
    +

    Get the current version.

    +
    +
    +

    Returns string

    +
  • +
+
+
+
+

Initialize and Destroy Methods

+
+ +

destroy

+
    +
  • destroy(): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Destroy the BarcodeReader instance. If your page needs to create new instances from time to time, don't forget to destroy unused old instances, otherwise it will cause memory leaks.

    +
    +
    +

    Returns Promise<void>

    +
  • +
+
+
+ +

Static createInstance

+ +
    +
  • + +
    +
    +

    Create a BarcodeReader instance.

    +
    let reader = await Dynamsoft.DBR.BarcodeReader.createInstance();
    +
    +
    +

    Returns Promise<BarcodeReader>

    +
  • +
+
+
+ +

Static isLoaded

+
    +
  • isLoaded(): boolean
  • +
+
    +
  • + +
    +
    +

    Check if the decoding module is loaded.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

Static loadWasm

+
    +
  • loadWasm(): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Before most operations, loadWasm needs to be excuted firstly. + Most time, you do not need excute loadWasm manually. Because when you excute createInstance, loadWasm will be excuted implicitly. + Some properties can't be changed after loadWasm. + Calling loadWasm in advance can avoid the long wait when createInstance.

    +
    window.addEventListener('DOMContentLoaded', (event) => {
    +  DBR.BarcodeReader.loadWasm();
    +});
    +
    +
    +

    Returns Promise<void>

    +
  • +
+
+
+
+

Decode Methods

+
+ +

decode

+
    +
  • decode(source: Blob | Buffer | ArrayBuffer | Uint8Array | Uint8ClampedArray | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | string): Promise<TextResult[]>
  • +
+
    +
  • + +
    +
    +

    Decode barcodes from a image.

    +
    +

    The main decoding method can accept a variety of data types, including binary data, images, base64 (with mime), urls, etc.

    +

    The image format can be png, jpeg, bmp, gif and a few other (some browsers support webp, tif).

    +
    let results = await reader.decode(blob);
    +for(let result of results){
    +    console.log(result.barcodeText);
    +}
    +
    +let results2 = await reader.decode(htmlImageElement);
    +let results2 = await reader.decode(url);
    +
    +// like `data:image/png;base64,iV************`
    +let results3 = await reader.decode(base64WithMime);
    +

    And you can get a frame to decode from the HTMLVideoElement.

    +
    // The frame currently played will be decode.
    +let results;
    +try{
    +  results = await reader.decode(htmlVideoElement);
    +}catch(ex){
    +  // If no frame in the video, will throw an exception.
    +}
    +

    If you need to continuously decode a video, you can use BarcodeScanner instead.

    +
    +

    Parameters

    +
      +
    • +
      source: Blob | Buffer | ArrayBuffer | Uint8Array | Uint8ClampedArray | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | string
      +
    • +
    +

    Returns Promise<TextResult[]>

    +
  • +
+
+
+ +

decodeBase64String

+
    +
  • decodeBase64String(base64: string): Promise<TextResult[]>
  • +
+
    +
  • + +
    +
    +

    The decoding method can accept base64 with or without mime. + e.g. data:image/jpg;base64,Xfjshekk.... or Xfjshekk....

    +
    let results = await reader.decodeBase64String(strBase64);
    +for(let result of results){
    +    console.log(result.barcodeText);
    +}
    +
    +
    +

    Parameters

    +
      +
    • +
      base64: string
      +
    • +
    +

    Returns Promise<TextResult[]>

    +
  • +
+
+
+ +

decodeBuffer

+
    +
  • decodeBuffer(buffer: Uint8Array | Uint8ClampedArray | ArrayBuffer | Blob | Buffer, width: number, height: number, stride: number, format: EnumImagePixelFormat, config?: any): Promise<TextResult[]>
  • +
+
    +
  • + +
    +
    +

    Decode barcodes from raw image data.

    +
    +
    +

    Parameters

    +
      +
    • +
      buffer: Uint8Array | Uint8ClampedArray | ArrayBuffer | Blob | Buffer
      +
    • +
    • +
      width: number
      +
    • +
    • +
      height: number
      +
    • +
    • +
      stride: number
      +
    • +
    • +
      format: EnumImagePixelFormat
      +
    • +
    • +
      Optional config: any
      +
    • +
    +

    Returns Promise<TextResult[]>

    +
  • +
+
+
+ +

decodeUrl

+
    +
  • decodeUrl(url: string): Promise<TextResult[]>
  • +
+
    +
  • + +
    +
    +

    The decoding method can accept url. The url source need to be in the same domain or allowed cors.

    +
    let results = await reader.decodeUrl("./1.png");
    +for(let result of results){
    +    console.log(result.barcodeText);
    +}
    +
    +
    +

    Parameters

    +
      +
    • +
      url: string
      +
    • +
    +

    Returns Promise<TextResult[]>

    +
  • +
+
+
+
+

Runtime Settings Methods

+
+ +

getModeArgument

+
    +
  • getModeArgument(modeName: string, index: number, argumentName: string): Promise<string>
  • +
+
    +
  • + +
    +
    +

    Get argument value for the specified mode parameter.

    +
    let argumentValue = await reader.getModeArgument("BinarizationModes", 0, "EnableFillBinaryVacancy");
    +
    +
    +

    Parameters

    +
      +
    • +
      modeName: string
      +
    • +
    • +
      index: number
      +
    • +
    • +
      argumentName: string
      +
    • +
    +

    Returns Promise<string>

    +
  • +
+
+
+ +

getRuntimeSettings

+ +
    +
  • + +
    +
    +

    Gets current runtime settings.

    +
    let settings = await reader.getRuntimeSettings();
    +settings.deblurLevel = 5;
    +await reader.updateRuntimeSettings(settings);
    +
    +
    +
    see
    +

    RuntimeSettings

    +
    +
    +
    +

    Returns Promise<RuntimeSettings>

    +
  • +
+
+
+ +

resetRuntimeSettings

+
    +
  • resetRuntimeSettings(): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Resets all parameters to default values.

    +
    await reader.resetRuntimeSettings();
    +
    +
    +

    Returns Promise<void>

    +
  • +
+
+
+ +

setModeArgument

+
    +
  • setModeArgument(modeName: string, index: number, argumentName: string, argumentValue: string): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Set argument value for the specified mode parameter.

    +
    await reader.setModeArgument("BinarizationModes", 0, "EnableFillBinaryVacancy", "1");
    +
    +
    +

    Parameters

    +
      +
    • +
      modeName: string
      +
    • +
    • +
      index: number
      +
    • +
    • +
      argumentName: string
      +
    • +
    • +
      argumentValue: string
      +
    • +
    +

    Returns Promise<void>

    +
  • +
+
+
+ +

updateRuntimeSettings

+
    +
  • updateRuntimeSettings(settings: RuntimeSettings | string): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Update runtime settings with a given struct, or a string of speed, balance or coverage to use preset settings for BarcodeReader. + The default settings for BarcodeReader is coverage.

    +
    await reader.updateRuntimeSettings('balance');
    +let settings = await reader.getRuntimeSettings();
    +settings.barcodeFormatIds = Dynamsoft.DBR.EnumBarcodeFormat.BF_ONED;
    +await reader.updateRuntimeSettings(settings);
    +
    +
    +
    see
    +

    RuntimeSettings

    +
    +
    +
    +

    Parameters

    + +

    Returns Promise<void>

    +
  • +
+
+
+
+

Other Methods

+
+ +

Static detectEnvironment

+
    +
  • detectEnvironment(): Promise<any>
  • +
+
    +
  • + +
    +
    +

    Detect environment and get a report.

    +
    console.log(Dynamsoft.DBR.BarcodeReader.detectEnvironment());
    +// {"wasm":true, "worker":true, "getUserMedia":true, "camera":true, "browser":"Chrome", "version":90, "OS":"Windows"}
    +
    +
    +

    Returns Promise<any>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/classes/barcodescanner.html b/doc/api reference/classes/barcodescanner.html new file mode 100644 index 00000000..e31663bc --- /dev/null +++ b/doc/api reference/classes/barcodescanner.html @@ -0,0 +1,2529 @@ + + + + + + BarcodeScanner | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class BarcodeScanner

+
+
+
+
+
+
+
+
+
+

The BarcodeScanner class is used for video decoding.

+
let scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance();
+scanner.onUnduplicatedRead = txt => console.log(txt);
+await scanner.show();
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

UI Properties

+
+ +

barcodeFillStyle

+
barcodeFillStyle: string = "rgba(254,180,32,0.3)"
+ +
+
+

Set the style used when filling in located barcode.

+
+
+
+
+ +

barcodeLineWidth

+
barcodeLineWidth: number = 1
+ +
+
+

Set the width of the located barcode border.

+
+
+
+
+ +

barcodeStrokeStyle

+
barcodeStrokeStyle: string = "rgba(254,180,32,0.9)"
+ +
+
+

Set the style of the located barcode border.

+
+
+
+
+ +

regionMaskFillStyle

+
regionMaskFillStyle: string = "rgba(0,0,0,0.5)"
+ +
+
+

Set the style used when filling the mask beyond the region.

+
+
+
+
+ +

regionMaskLineWidth

+
regionMaskLineWidth: number = 2
+ +
+
+

Set the width of the region border.

+
+
+
+
+ +

regionMaskStrokeStyle

+
regionMaskStrokeStyle: string = "rgb(254,142,20)"
+ +
+
+

Set the style of the region border.

+
+
+
+
+
+

Other Properties

+
+ +

bDestroyed

+
bDestroyed: boolean = false
+ +
+
+

Indicates whether the instance has been destroyed.

+
+
+
+
+ +

bPlaySoundOnSuccessfulRead

+
bPlaySoundOnSuccessfulRead: string | false | true = false
+ +
+
+

Whether to play sound when the scanner reads a barcode successfully. + Default value is false, which does not play sound. + Use frame or true to play a sound when any barcode is found within a frame. + Use unduplicated to play a sound only when any unique/unduplicated barcode is found within a frame.

+
// A user gesture required. https://developers.google.com/web/updates/2017/09/autoplay-policy-changes#chrome_enterprise_policies
+startPlayButton.addEventListener('click', function() {
+  scanner.bPlaySoundOnSuccessfulRead = true;
+});
+

refer: favicon bug https://bugs.chromium.org/p/chromium/issues/detail?id=1069731&q=favicon&can=2

+
+
+
+
+ +

bSaveOriCanvas

+
bSaveOriCanvas: boolean = false
+ +
+
+

Whether to save the original image into canvas.

+
reader.bSaveOriCanvas = true;
+let results = await reader.decode(source);
+document.body.append(reader.oriCanvas);
+
+
+
+
+ +

bVibrateOnSuccessfulRead

+
bVibrateOnSuccessfulRead: string | false | true = false
+ +
+
+

Whether to vibrate when the scanner reads a barcode successfully. + Default value is false, which does not vibrate. + Use frame or true to vibrate when any barcode is found within a frame. + Use unduplicated to vibrate only when any unique/unduplicated barcode is found within a frame.

+
// Can I use? https://caniuse.com/?search=vibrate
+// A user gesture required. https://developers.google.com/web/updates/2017/09/autoplay-policy-changes#chrome_enterprise_policies
+startVibrateButton.addEventListener('click', function() {
+  scanner.bVibrateOnSuccessfulRead = true;
+});
+
+
+
+
+ +

Optional onFrameRead

+
onFrameRead: (results: TextResult[]) => void
+ +
+
+

The event is triggered after a frame has been scanned. + The results object contains all the barcode results in this frame.

+
scanner.onFrameRead = results => {
+    for(let result of results){
+        console.log(result.barcodeText);
+    }
+};
+
+
+
+

Type declaration

+
    +
  • + +
      +
    • +

      Parameters

      + +

      Returns void

      +
    • +
    +
  • +
+
+
+
+ +

Optional onPlayed

+
onPlayed: (info: ScannerPlayCallbackInfo) => void
+ +
+
+

Triggered when the camera video stream is played.

+
scanner.onplayed = rsl=>{ console.log(rsl.width+'x'+rsl.height) };
+await scanner.show(); // or open, play, setCurrentCamera, like these.
+
+
+
+

Type declaration

+ +
+
+
+ +

Optional onUnduplicatedRead

+
onUnduplicatedRead: (txt: string, result: TextResult) => void
+ +
+
+

This event is triggered when a new, unduplicated barcode is found. + txt holds the barcode text result. result contains more info. + Old barcodes will be remembered for duplicateForgetTime.

+
scanner.onUnduplicatedRead = (txt, result) => {
+    alert(txt);
+    console.log(result);
+};
+
+
+
+

Type declaration

+
    +
  • + +
      +
    • +

      Parameters

      + +

      Returns void

      +
    • +
    +
  • +
+
+
+
+ +

Optional oriCanvas

+
oriCanvas: HTMLCanvasElement | OffscreenCanvas = null
+ +
+
+

The original canvas.

+
reader.bSaveOriCanvas = true;
+let results = await reader.decode(source);
+document.body.append(reader.oriCanvas);
+
+
+
+
+ +

vibrateDuration

+
vibrateDuration: number = 300
+ +
+
+

Get or set how long (ms) the vibration lasts.

+
+
+
see
+

bVibrateOnSuccessfulRead

+
+
+
+
+
+
+

Accessors

+
+ +

singleFrameMode

+
    +
  • get singleFrameMode(): boolean
  • +
  • set singleFrameMode(value: boolean): void
  • +
+
    +
  • + +
    +
    +

    A mode not use video, get a frame from OS camera instead.

    +
    let scanner = await Dynamsoft.DBR.BarcodeReader.createInstance();
    +if(scanner.singleFrameMode){
    +    // the browser does not provide webrtc API, dbrjs automatically use singleFrameMode instead
    +    scanner.show();
    +}
    +
    +
    +

    Returns boolean

    +
  • +
  • + +
    +
    +

    A mode not use video, get a frame from OS camera instead.

    +
    let scanner = await Dynamsoft.DBR.BarcodeReader.createInstance();
    +scanner.singleFrameMode = true; // use singleFrameMode anyway
    +scanner.show();
    +
    +
    +

    Parameters

    +
      +
    • +
      value: boolean
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

soundOnSuccessfullRead

+
    +
  • get soundOnSuccessfullRead(): HTMLAudioElement
  • +
  • set soundOnSuccessfullRead(value: HTMLAudioElement): void
  • +
+
    +
  • + +
    +
    +

    The sound to play when the scanner get successfull read.

    +
    +
    +

    Returns HTMLAudioElement

    +
  • +
  • + +
    +
    +

    The sound to play when the scanner get successfull read.

    +
    scanner.soundOnSuccessfullRead = new Audio("./pi.mp3");
    +
    +
    +

    Parameters

    +
      +
    • +
      value: HTMLAudioElement
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static _bUseFullFeature

+
    +
  • get _bUseFullFeature(): boolean
  • +
  • set _bUseFullFeature(value: boolean): void
  • +
+ +
+
+ +

Static defaultUIElementURL

+
    +
  • get defaultUIElementURL(): string
  • +
  • set defaultUIElementURL(value: string): void
  • +
+
    +
  • + +
    +
    +

    The url of the default scanner UI. + Can only be changed before createInstance.

    +
    Dynamsoft.DBR.BarcodeScanner.defaultUIElementURL = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.scanner.html";
    +let scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance();
    +await scanner.show();
    +
    +
    +

    Returns string

    +
  • +
  • + +
    +
    +

    The url of the default scanner UI. + Can only be changed before createInstance.

    +
    Dynamsoft.DBR.BarcodeScanner.defaultUIElementURL = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.scanner.html";
    +let scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance();
    +await scanner.show();
    +
    +
    +

    Parameters

    +
      +
    • +
      value: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static engineResourcePath

+
    +
  • get engineResourcePath(): string
  • +
  • set engineResourcePath(value: string): void
  • +
+
    +
  • + +
    +
    +

    Specify the Barcode Reader SDK engine (WASM) url. The SDK tries to automatically explore the engine location. + If the auto-explored engine location is incorrect, you can manually specify the engine location. + The property needs to be set before loadWasm.

    +
    Dynamsoft.DBR.BarcodeReader.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/";
    +await Dynamsoft.DBR.BarcodeReader.loadWasm();
    +
    +
    +

    Returns string

    +
  • +
  • + +
    +
    +

    Specify the Barcode Reader SDK engine (WASM) url. The SDK tries to automatically explore the engine location. + If the auto-explored engine location is incorrect, you can manually specify the engine location. + The property needs to be set before loadWasm.

    +
    Dynamsoft.DBR.BarcodeReader.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/";
    +await Dynamsoft.DBR.BarcodeReader.loadWasm();
    +
    +
    +

    Parameters

    +
      +
    • +
      value: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static handshakeCode

+
    +
  • get handshakeCode(): string
  • +
  • set handshakeCode(keys: string): void
  • +
+
    +
  • + +
    +
    +

    Get or set the Dynamsoft Barcode Reader SDK handshake code. The handshakeCode is an alias of productKeys. Specifically refers to the key that requires network authentication.

    +
    Dynamsoft.DBR.BarcodeReader.handshakeCode = "123****-mytest";
    +

    For convenience, you can set handshakeCode in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.js" data-handshakeCode="123****-mytest"></script>
    +
    +
    +

    Returns string

    +
  • +
  • + +
    +
    +

    Get or set the Dynamsoft Barcode Reader SDK handshake code. The handshakeCode is an alias of productKeys. Specifically refers to the key that requires network authentication.

    +
    Dynamsoft.DBR.BarcodeReader.handshakeCode = "123****-mytest";
    +

    For convenience, you can set handshakeCode in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.js" data-handshakeCode="123****-mytest"></script>
    +
    +
    +

    Parameters

    +
      +
    • +
      keys: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static licenseServer

+
    +
  • get licenseServer(): string | string[]
  • +
  • set licenseServer(value: string[] | string): void
  • +
+
    +
  • + +
    +
    +

    Specify the license server URL.

    +
    +
    +

    Returns string | string[]

    +
  • +
  • + +
    +
    +

    Specify the license server URL.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: string[] | string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static organizationID

+
    +
  • get organizationID(): string
  • +
  • set organizationID(value: string): void
  • +
+
    +
  • + +
    +
    +

    Use organization ID to get authentication from network. Keep handshakeCode empty if you want to use default handshake of the organization.

    +
    Dynamsoft.DBR.BarcodeReader.organizationID = "123****";
    +

    For convenience, you can set organizationID in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.js" data-organizationID="123****"></script>
    +
    +
    +
    see
    +

    handshakeCode

    +
    +
    +
    +

    Returns string

    +
  • +
  • + +
    +
    +

    Use organization ID to get authentication from network. Keep handshakeCode empty if you want to use default handshake of the organization.

    +
    Dynamsoft.DBR.BarcodeReader.organizationID = "123****";
    +

    For convenience, you can set organizationID in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.js" data-organizationID="123****"></script>
    +
    +
    +
    see
    +

    handshakeCode

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      value: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static productKeys

+
    +
  • get productKeys(): string
  • +
  • set productKeys(keys: string): void
  • +
+
    +
  • + +
    +
    +

    Get or set the Dynamsoft Barcode Reader SDK product keys.

    +
    Dynamsoft.DBR.BarcodeReader.productKeys = "PRODUCT-KEYS";
    +

    For convenience, you can set productKeys in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.3/dist/dbr.js" data-productKeys="PRODUCT-KEYS"></script>
    +
    +
    +

    Returns string

    +
  • +
  • + +
    +
    +

    Get or set the Dynamsoft Barcode Reader SDK product keys.

    +
    Dynamsoft.DBR.BarcodeReader.productKeys = "PRODUCT-KEYS";
    +

    For convenience, you can set productKeys in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.3/dist/dbr.js" data-productKeys="PRODUCT-KEYS"></script>
    +
    +
    +

    Parameters

    +
      +
    • +
      keys: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static sessionPassword

+
    +
  • get sessionPassword(): string
  • +
  • set sessionPassword(value: string): void
  • +
+
    +
  • + +
    +
    +

    Specify a password to protect the Handshake Code from abuse.

    +
    Dynamsoft.DBR.BarcodeReader.handshakeCode = "123****-mytest";
    +Dynamsoft.DBR.BarcodeReader.sessionPassword = "@#$%****";
    +

    For convenience, you can set organizationID in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.js" data-handshakeCode="123****-mytest" data-sessionPassword="@#$%****"></script>
    +
    +
    +
    see
    +

    handshakeCode

    +
    +
    +
    +

    Returns string

    +
  • +
  • + +
    +
    +

    Specify a password to protect the Handshake Code from abuse.

    +
    Dynamsoft.DBR.BarcodeReader.handshakeCode = "123****-mytest";
    +Dynamsoft.DBR.BarcodeReader.sessionPassword = "@#$%****";
    +

    For convenience, you can set organizationID in script tag instead.

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.js" data-handshakeCode="123****-mytest" data-sessionPassword="@#$%****"></script>
    +
    +
    +
    see
    +

    handshakeCode

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      value: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static version

+
    +
  • get version(): string
  • +
+
    +
  • + +
    +
    +

    Get the current version.

    +
    +
    +

    Returns string

    +
  • +
+
+
+
+

Initialize and Destroy Methods

+
+ +

destroy

+
    +
  • destroy(): Promise<any>
  • +
+
    +
  • + +
    +
    +

    Destroy the BarcodeScanner instance. If your page needs to create new instances from time to time, don't forget to destroy unused old instances, otherwise it will cause memory leaks.

    +
    +
    +

    Returns Promise<any>

    +
  • +
+
+
+ +

Static createInstance

+ +
    +
  • + +
    +
    +

    Create a BarcodeScanner object.

    +
    let scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance();
    +
    +
    +

    Parameters

    +
      +
    • +
      Optional config: any
      +
    • +
    +

    Returns Promise<BarcodeScanner>

    +
  • +
+
+
+ +

Static isLoaded

+
    +
  • isLoaded(): boolean
  • +
+
    +
  • + +
    +
    +

    Check if the decoding module is loaded.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

Static loadWasm

+
    +
  • loadWasm(): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Before most operations, loadWasm needs to be excuted firstly. + Most time, you do not need excute loadWasm manually. Because when you excute createInstance, loadWasm will be excuted implicitly. + Some properties can't be changed after loadWasm. + Calling loadWasm in advance can avoid the long wait when createInstance.

    +
    window.addEventListener('DOMContentLoaded', (event) => {
    +  DBR.BarcodeReader.loadWasm();
    +});
    +
    +
    +

    Returns Promise<void>

    +
  • +
+
+
+
+

Open and Close Methods

+
+ +

close

+
    +
  • close(): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Stop decoding, release camera, unbind UI.

    +

    ```js + await scanner.open(); + await scanner.close();

    +
    +

    await scanner.openVideo(); + await scanner.close(); + ```

    +
    +

    Returns Promise<void>

    +
  • +
+
+
+ +

hide

+
    +
  • hide(): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Stop decoding, release camera, unbind UI, and set the Element as display:none;.

    +

    ```js + await scanner.show(); + await scanner.hide();

    +
    +

    await scanner.showVideo(); + await scanner.hide(); + ```

    +
    +

    Returns Promise<void>

    +
  • +
+
+
+ +

isOpen

+
    +
  • isOpen(): boolean
  • +
+
    +
  • + +
    +
    +

    Check if the scanner is open.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

open

+ +
    +
  • + +
    +
    +

    Bind UI, open the camera, start decoding.

    +
    await scanner.setUIElement(document.getElementById("my-barcode-scanner"));
    +scanner.onUnduplicatedRead = (txt, result) => { alert(txt); console.log(result); };
    +await scanner.open();
    +
    +
    +

    Returns Promise<ScannerPlayCallbackInfo>

    +
  • +
+
+
+ +

openVideo

+ +
    +
  • + +
    +
    +

    Bind UI, open the camera, but not decode.

    +
    await scanner.setUIElement(document.getElementById("my-barcode-scanner"));
    +await scanner.openVideo();
    +console.log(await scanner.decodeCurrentFrame());
    +
    +
    +

    Returns Promise<ScannerPlayCallbackInfo>

    +
  • +
+
+
+ +

show

+ +
    +
  • + +
    +
    +

    Bind UI, open the camera, start decoding, and remove the UIElement display style if the original style is display:none;.

    +
    await scanner.setUIElement("https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.2.5/dist/dbr.scanner.html");
    +scanner.onUnduplicatedRead = (txt, result) => { alert(txt); console.log(result); };
    +await scanner.show();
    +
    +
    +

    Returns Promise<ScannerPlayCallbackInfo>

    +
  • +
+
+
+ +

showVideo

+ +
    +
  • + +
    +
    +

    Bind UI, open the camera, but not decode, and remove the UIElement display style if the original style is display:none;.

    +
    await scanner.showVideo()
    +console.log(await scanner.decodeCurrentFrame());
    +
    +
    +

    Returns Promise<ScannerPlayCallbackInfo>

    +
  • +
+
+
+
+

Play and Pause Methods

+
+ +

pause

+
    +
  • pause(): void
  • +
+
    +
  • + +
    +
    +

    Pause the video. Do not release the camera.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

pauseScan

+
    +
  • pauseScan(): void
  • +
+
    +
  • + +
    +
    +

    Pause the decoding process.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

play

+ +
    +
  • + +
    +
    +

    Continue the video.

    +
    scanner.pause();
    +\\*** a lot of work ***
    +await scanner.play();
    +
    +
    +

    Parameters

    +
      +
    • +
      Optional deviceId: string
      +
    • +
    • +
      Optional width: number
      +
    • +
    • +
      Optional height: number
      +
    • +
    +

    Returns Promise<ScannerPlayCallbackInfo>

    +
  • +
+
+
+ +

resumeScan

+
    +
  • resumeScan(): void
  • +
+
    +
  • + +
    +
    +

    Resume the decoding process.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

stop

+
    +
  • stop(): void
  • +
+
    +
  • + +
    +
    +

    Stop the video, and release the camera.

    +
    +
    +

    Returns void

    +
  • +
+
+
+
+

UI Methods

+
+ +

getUIElement

+
    +
  • getUIElement(): HTMLElement
  • +
+
    +
  • + +
    +
    +

    Get HTML element containing the BarcodeScanner instance.

    +
    +
    +

    Returns HTMLElement

    +
  • +
+
+
+ +

setUIElement

+
    +
  • setUIElement(elementOrUrl: HTMLElement | string): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Set html element containing the BarcodeScanner instance.

    +
    <video class="dbrScanner-video" playsinline="true"></video>
    +<script>
    +    let scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance();
    +    await scanner.setUIElement(document.getElementsByClassName("dbrScanner-video")[0]);
    +    await scanner.open();
    +</script>
    +
    +
    +

    Parameters

    +
      +
    • +
      elementOrUrl: HTMLElement | string
      +
    • +
    +

    Returns Promise<void>

    +
  • +
+
+
+
+

Camera Settings Methods

+
+ +

getAllCameras

+ +
    +
  • + +
    +
    +

    Get infomation of all available cameras on the device.

    +
    let cameras = await scanner.getAllCameras();
    +if(cameras.length){
    +    await scanner.setCurrentCamera(cameras[0]);
    +}
    +
    +
    +

    Returns Promise<VideoDeviceInfo[]>

    +
  • +
+
+
+ +

getCapabilities

+
    +
  • getCapabilities(): MediaTrackCapabilities
  • +
+
    +
  • + +
    +
    +

    Get the camera capabilities. Chrome only. + Only available when the scanner is open.

    +
    > scanner.getCapabilities()
    +< {
    +  "aspectRatio":{"max":3840,"min":0.000462962962962963},
    +  "colorTemperature":{max: 7000, min: 2850, step: 50},
    +  "deviceId":"1e...3af7",
    +  "exposureCompensation": {max: 2.0000040531158447, min: -2.0000040531158447, step: 0.16666699945926666},
    +  "exposureMode":["continuous","manual"],
    +  "facingMode":["environment"],
    +  "focusMode":["continuous","single-shot","manual"],
    +  "frameRate":{"max":30,"min":0},
    +  "groupId":"71...a935",
    +  "height":{"max":2160,"min":1},
    +  "resizeMode":["none","crop-and-scale"],
    +  "torch":true,
    +  "whiteBalanceMode":["continuous","manual"],
    +  "width":{"max":3840,"min":1},
    +  "zoom":{max: 606, min: 100, step: 2}
    +}
    +
    +
    +
    see
    +

    turnOnTorchturnOffTorchsetExposureCompensationsetZoom

    +
    +
    +
    +

    Returns MediaTrackCapabilities

    +
  • +
+
+
+ +

getCurrentCamera

+ +
    +
  • + +
    +
    +

    Get information about the currently used camera.

    +
    let camera = await scanner.getCurrentCamera();
    +
    +
    +

    Returns Promise<VideoDeviceInfo | null>

    +
  • +
+
+
+ +

getResolution

+
    +
  • getResolution(): number[]
  • +
+
    +
  • + +
    +
    +

    Get current camera resolution.

    +
    let rsl = await scanner.getResolution();
    +console.log(rsl.width + " x " + rsl.height);
    +
    +
    +

    Returns number[]

    +
  • +
+
+
+ +

getVideoSettings

+
    +
  • getVideoSettings(): MediaStreamConstraints
  • +
+
    +
  • + +
    +
    +

    Get current video settings.

    +
    +
    +

    Returns MediaStreamConstraints

    +
  • +
+
+
+ +

setColorTemperature

+
    +
  • setColorTemperature(value: number): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Adjusts the color temperature. Chrome only. + Only available when the scanner is open. + Will reject if not support.

    +
    await scanner.setColorTemperature(5000);
    +
    +
    +
    see
    +

    getCapabilities

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
      +
    • +
    +

    Returns Promise<void>

    +
  • +
+
+
+ +

setCurrentCamera

+ +
    +
  • + +
    +
    +

    Choose the camera and play it by its information or devide id.

    +
    let cameras = await scanner.getAllCameras();
    +if(cameras.length){
    +    await scanner.setCurrentCamera(cameras[0]);
    +}
    +
    +
    +

    Parameters

    +
      +
    • +
      cameraInfoOrDeviceId: any
      +
    • +
    +

    Returns Promise<ScannerPlayCallbackInfo>

    +
  • +
+
+
+ +

setExposureCompensation

+
    +
  • setExposureCompensation(value: number): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Adjusts the exposure level. Chrome only. + Only available when the scanner is open. + Will reject if not support.

    +
    await scanner.setExposureCompensation(-0.7);
    +
    +
    +
    see
    +

    getCapabilities

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
      +
    • +
    +

    Returns Promise<void>

    +
  • +
+
+
+ +

setFrameRate

+
    +
  • setFrameRate(value: number): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Adjusts the frame rate. Chrome only. + Only available when the scanner is open. + Will reject if not support.

    +
    await scanner.setFrameRate(10);
    +
    +
    +
    see
    +

    getCapabilities

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
      +
    • +
    +

    Returns Promise<void>

    +
  • +
+
+
+ +

setResolution

+ +
    +
  • + +
    +
    +

    Set current camera resolution.

    +
    await scanner.setResolution(width, height);
    +
    +
    +

    Parameters

    +
      +
    • +
      width: number | number[]
      +
    • +
    • +
      height: number
      +
    • +
    +

    Returns Promise<ScannerPlayCallbackInfo>

    +
  • +
+
+
+ +

setZoom

+
    +
  • setZoom(value: number): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Adjusts the zoom ratio. Chrome only. + Only available when the scanner is open. + Will reject if not support.

    +
    await scanner.setZoom(400);
    +
    +
    +
    see
    +

    getCapabilities

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      value: number
      +
    • +
    +

    Returns Promise<void>

    +
  • +
+
+
+ +

turnOffTorch

+
    +
  • turnOffTorch(): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Turn off the torch. Chrome only. + Only available when the scanner is open. + Will reject if not support.

    +
    await scanner.turnOffTorch();
    +
    +
    +
    see
    +

    turnOnTorchgetCapabilities

    +
    +
    +
    +

    Returns Promise<void>

    +
  • +
+
+
+ +

turnOnTorch

+
    +
  • turnOnTorch(): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Turn on the torch/flashlight. Chrome only. + Only available when the scanner is open. + Will reject if not support.

    +
    await scanner.turnOnTorch();
    +
    +
    +
    see
    +

    turnOffTorchgetCapabilities

    +
    +
    +
    +

    Returns Promise<void>

    +
  • +
+
+
+ +

updateVideoSettings

+ +
    +
  • + +
    +
    +

    Modify and update video settings.

    +
    await scanner.updateVideoSettings({ video: {width: {ideal: 1280}, height: {ideal: 720}, facingMode: {ideal: 'environment'}} });
    +
    +
    +

    Parameters

    +
      +
    • +
      MediaStreamConstraints: any
      +
    • +
    +

    Returns Promise<ScannerPlayCallbackInfo | void>

    +
  • +
+
+
+
+

Decode Methods

+
+ +

decodeCurrentFrame

+
    +
  • decodeCurrentFrame(config?: any): Promise<TextResult[]>
  • +
+
    +
  • + +
    +
    +

    Decode barcodes from the current frame of the video.

    +
    await scanner.showVideo();
    +console.log(await scanner.decodeCurrentFrame());
    +
    +
    +

    Parameters

    +
      +
    • +
      Optional config: any
      +
    • +
    +

    Returns Promise<TextResult[]>

    +
  • +
+
+
+
+

Runtime Settings Methods

+
+ +

getModeArgument

+
    +
  • getModeArgument(modeName: string, index: number, argumentName: string): Promise<string>
  • +
+
    +
  • + +
    +
    +

    Get argument value for the specified mode parameter.

    +
    let argumentValue = await reader.getModeArgument("BinarizationModes", 0, "EnableFillBinaryVacancy");
    +
    +
    +

    Parameters

    +
      +
    • +
      modeName: string
      +
    • +
    • +
      index: number
      +
    • +
    • +
      argumentName: string
      +
    • +
    +

    Returns Promise<string>

    +
  • +
+
+
+ +

getRuntimeSettings

+ +
    +
  • + +
    +
    +

    Gets current runtime settings.

    +
    let settings = await reader.getRuntimeSettings();
    +settings.deblurLevel = 5;
    +await reader.updateRuntimeSettings(settings);
    +
    +
    +
    see
    +

    RuntimeSettings

    +
    +
    +
    +

    Returns Promise<RuntimeSettings>

    +
  • +
+
+
+ +

resetRuntimeSettings

+
    +
  • resetRuntimeSettings(): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Resets all parameters to default values.

    +
    await reader.resetRuntimeSettings();
    +
    +
    +

    Returns Promise<void>

    +
  • +
+
+
+ +

setModeArgument

+
    +
  • setModeArgument(modeName: string, index: number, argumentName: string, argumentValue: string): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Set argument value for the specified mode parameter.

    +
    await reader.setModeArgument("BinarizationModes", 0, "EnableFillBinaryVacancy", "1");
    +
    +
    +

    Parameters

    +
      +
    • +
      modeName: string
      +
    • +
    • +
      index: number
      +
    • +
    • +
      argumentName: string
      +
    • +
    • +
      argumentValue: string
      +
    • +
    +

    Returns Promise<void>

    +
  • +
+
+
+ +

updateRuntimeSettings

+
    +
  • updateRuntimeSettings(settings: RuntimeSettings | string): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Update runtime settings with a given struct, or a string of speed, balance, coverage and single to use preset settings for BarcodeScanner. + We recommend using the speed-optimized single preset if scanning only one barcode at a time. The single is only available in BarcodeScanner. + The default settings for BarcodeScanner is single.

    +
    await scanner.updateRuntimeSettings('balance');
    +let settings = await scanner.getRuntimeSettings();
    +settings.barcodeFormatIds = Dynamsoft.DBR.EnumBarcodeFormat.BF_ONED;
    +await scanner.updateRuntimeSettings(settings);
    +
    +
    +
    see
    +

    RuntimeSettings

    +
    +
    +
    +

    Parameters

    + +

    Returns Promise<void>

    +
  • +
+
+
+
+

Other Methods

+
+ +

getScanSettings

+ +
    +
  • + +
    +
    +

    Get current scan settings.

    +
    let scanSettings = await scanner.getScanSettings();
    +scanSettings.intervalTime = 50;
    +scanSettings.duplicateForgetTime = 1000;
    +await scanner.updateScanSettings(scanSettings);
    +
    +
    +

    Returns Promise<ScanSettings>

    +
  • +
+
+
+ +

updateScanSettings

+
    +
  • updateScanSettings(settings: ScanSettings): Promise<void>
  • +
+
    +
  • + +
    +
    +

    Modify and update scan settings.

    +
    let scanSettings = await scanner.getScanSettings();
    +scanSettings.intervalTime = 50;
    +scanSettings.duplicateForgetTime = 1000;
    +await scanner.updateScanSettings(scanSettings);
    +
    +
    +

    Parameters

    + +

    Returns Promise<void>

    +
  • +
+
+
+ +

Static detectEnvironment

+
    +
  • detectEnvironment(): Promise<any>
  • +
+
    +
  • + +
    +
    +

    Detect environment and get a report.

    +
    console.log(Dynamsoft.DBR.BarcodeReader.detectEnvironment());
    +// {"wasm":true, "worker":true, "getUserMedia":true, "camera":true, "browser":"Chrome", "version":90, "OS":"Windows"}
    +
    +
    +

    Returns Promise<any>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/classes/dbr.html b/doc/api reference/classes/dbr.html new file mode 100644 index 00000000..fbcd1fcf --- /dev/null +++ b/doc/api reference/classes/dbr.html @@ -0,0 +1,921 @@ + + + + + + DBR | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class DBR

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + DBR +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Static BarcodeReader

+
BarcodeReader: BarcodeReader = BarcodeReader
+ +
+
+ +

Static BarcodeScanner

+
BarcodeScanner: BarcodeScanner = BarcodeScanner
+ +
+
+ +

Static EnumBarcodeColourMode

+
EnumBarcodeColourMode: EnumBarcodeColourMode = EnumBarcodeColourMode
+ +
+
+ +

Static EnumBarcodeComplementMode

+
EnumBarcodeComplementMode: EnumBarcodeComplementMode = EnumBarcodeComplementMode
+ +
+
+ +

Static EnumBarcodeFormat

+
EnumBarcodeFormat: EnumBarcodeFormat = EnumBarcodeFormat
+ +
+
+ +

Static EnumBarcodeFormat_2

+
EnumBarcodeFormat_2: EnumBarcodeFormat_2 = EnumBarcodeFormat_2
+ +
+
+ +

Static EnumBinarizationMode

+
EnumBinarizationMode: EnumBinarizationMode = EnumBinarizationMode
+ +
+
+ +

Static EnumClarityCalculationMethod

+
EnumClarityCalculationMethod: EnumClarityCalculationMethod = EnumClarityCalculationMethod
+ +
+
+ +

Static EnumClarityFilterMode

+
EnumClarityFilterMode: EnumClarityFilterMode = EnumClarityFilterMode
+ +
+
+ +

Static EnumColourClusteringMode

+
EnumColourClusteringMode: EnumColourClusteringMode = EnumColourClusteringMode
+ +
+
+ +

Static EnumColourConversionMode

+
EnumColourConversionMode: EnumColourConversionMode = EnumColourConversionMode
+ +
+
+ +

Static EnumConflictMode

+
EnumConflictMode: EnumConflictMode = EnumConflictMode
+ +
+
+ +

Static EnumDPMCodeReadingMode

+
EnumDPMCodeReadingMode: EnumDPMCodeReadingMode = EnumDPMCodeReadingMode
+ +
+
+ +

Static EnumDeblurMode

+
EnumDeblurMode: EnumDeblurMode = EnumDeblurMode
+ +
+
+ +

Static EnumDeformationResistingMode

+
EnumDeformationResistingMode: EnumDeformationResistingMode = EnumDeformationResistingMode
+ +
+
+ +

Static EnumErrorCode

+
EnumErrorCode: EnumErrorCode = EnumErrorCode
+ +
+
+ +

Static EnumGrayscaleTransformationMode

+
EnumGrayscaleTransformationMode: EnumGrayscaleTransformationMode = EnumGrayscaleTransformationMode
+ +
+
+ +

Static EnumIMResultDataType

+
EnumIMResultDataType: EnumIMResultDataType = EnumIMResultDataType
+ +
+
+ +

Static EnumImagePixelFormat

+
EnumImagePixelFormat: EnumImagePixelFormat = EnumImagePixelFormat
+ +
+
+ +

Static EnumImagePreprocessingMode

+
EnumImagePreprocessingMode: EnumImagePreprocessingMode = EnumImagePreprocessingMode
+ +
+
+ +

Static EnumIntermediateResultSavingMode

+
EnumIntermediateResultSavingMode: EnumIntermediateResultSavingMode = EnumIntermediateResultSavingMode
+ +
+
+ +

Static EnumIntermediateResultType

+
EnumIntermediateResultType: EnumIntermediateResultType = EnumIntermediateResultType
+ +
+
+ +

Static EnumLocalizationMode

+
EnumLocalizationMode: EnumLocalizationMode = EnumLocalizationMode
+ +
+
+ +

Static EnumPDFReadingMode

+
EnumPDFReadingMode: EnumPDFReadingMode = EnumPDFReadingMode
+ +
+
+ +

Static EnumQRCodeErrorCorrectionLevel

+
EnumQRCodeErrorCorrectionLevel: EnumQRCodeErrorCorrectionLevel = EnumQRCodeErrorCorrectionLevel
+ +
+
+ +

Static EnumRegionPredetectionMode

+
EnumRegionPredetectionMode: EnumRegionPredetectionMode = EnumRegionPredetectionMode
+ +
+
+ +

Static EnumResultCoordinateType

+
EnumResultCoordinateType: EnumResultCoordinateType = EnumResultCoordinateType
+ +
+
+ +

Static EnumResultType

+
EnumResultType: EnumResultType = EnumResultType
+ +
+
+ +

Static EnumScaleUpMode

+
EnumScaleUpMode: EnumScaleUpMode = EnumScaleUpMode
+ +
+
+ +

Static EnumTerminatePhase

+
EnumTerminatePhase: EnumTerminatePhase = EnumTerminatePhase
+ +
+
+ +

Static EnumTextFilterMode

+
EnumTextFilterMode: EnumTextFilterMode = EnumTextFilterMode
+ +
+
+ +

Static EnumTextResultOrderMode

+
EnumTextResultOrderMode: EnumTextResultOrderMode = EnumTextResultOrderMode
+ +
+
+ +

Static EnumTextureDetectionMode

+
EnumTextureDetectionMode: EnumTextureDetectionMode = EnumTextureDetectionMode
+ +
+
+
+

Accessors

+
+ +

Static engineResourcePath

+
    +
  • get engineResourcePath(): string
  • +
  • set engineResourcePath(value: string): void
  • +
+
    +
  • + +

    Returns string

    +
  • +
  • + +

    Parameters

    +
      +
    • +
      value: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static handshakeCode

+
    +
  • get handshakeCode(): string
  • +
  • set handshakeCode(keys: string): void
  • +
+
    +
  • + +

    Returns string

    +
  • +
  • + +

    Parameters

    +
      +
    • +
      keys: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static licenseServer

+
    +
  • get licenseServer(): string | string[]
  • +
  • set licenseServer(value: string[] | string): void
  • +
+
    +
  • + +

    Returns string | string[]

    +
  • +
  • + +

    Parameters

    +
      +
    • +
      value: string[] | string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static organizationID

+
    +
  • get organizationID(): string
  • +
  • set organizationID(keys: string): void
  • +
+
    +
  • + +

    Returns string

    +
  • +
  • + +

    Parameters

    +
      +
    • +
      keys: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static productKeys

+
    +
  • get productKeys(): string
  • +
  • set productKeys(keys: string): void
  • +
+
    +
  • + +

    Returns string

    +
  • +
  • + +

    Parameters

    +
      +
    • +
      keys: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static sessionPassword

+
    +
  • get sessionPassword(): string
  • +
  • set sessionPassword(keys: string): void
  • +
+
    +
  • + +

    Returns string

    +
  • +
  • + +

    Parameters

    +
      +
    • +
      keys: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Static version

+
    +
  • get version(): string
  • +
+
    +
  • + +

    Returns string

    +
  • +
+
+
+
+

Methods

+
+ +

Static detectEnvironment

+
    +
  • detectEnvironment(): Promise<any>
  • +
+
    +
  • + +

    Returns Promise<any>

    +
  • +
+
+
+ +

Static isLoaded

+
    +
  • isLoaded(): boolean
  • +
+
    +
  • + +

    Returns boolean

    +
  • +
+
+
+ +

Static loadWasm

+
    +
  • loadWasm(): Promise<void>
  • +
+
    +
  • + +

    Returns Promise<void>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumbarcodecolourmode.html b/doc/api reference/enums/enumbarcodecolourmode.html new file mode 100644 index 00000000..90b0611e --- /dev/null +++ b/doc/api reference/enums/enumbarcodecolourmode.html @@ -0,0 +1,247 @@ + + + + + + EnumBarcodeColourMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumBarcodeColourMode

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

BICM_DARK_LIGHT_MIXED

+
BICM_DARK_LIGHT_MIXED: = 16
+ +
+
+ +

BICM_DARK_ON_DARK

+
BICM_DARK_ON_DARK: = 4
+ +
+
+ +

BICM_DARK_ON_LIGHT

+
BICM_DARK_ON_LIGHT: = 1
+ +
+
+ +

BICM_DARK_ON_LIGHT_DARK_SURROUNDING

+
BICM_DARK_ON_LIGHT_DARK_SURROUNDING: = 32
+ +
+
+ +

BICM_LIGHT_ON_DARK

+
BICM_LIGHT_ON_DARK: = 2
+ +
+
+ +

BICM_LIGHT_ON_LIGHT

+
BICM_LIGHT_ON_LIGHT: = 8
+ +
+
+ +

BICM_REV

+
BICM_REV: = 2147483648
+ +
+
+ +

BICM_SKIP

+
BICM_SKIP: = 0
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumbarcodecomplementmode.html b/doc/api reference/enums/enumbarcodecomplementmode.html new file mode 100644 index 00000000..131c588a --- /dev/null +++ b/doc/api reference/enums/enumbarcodecomplementmode.html @@ -0,0 +1,191 @@ + + + + + + EnumBarcodeComplementMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumBarcodeComplementMode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

BCM_AUTO

+
BCM_AUTO: = 1
+ +
+
+ +

BCM_GENERAL

+
BCM_GENERAL: = 2
+ +
+
+ +

BCM_REV

+
BCM_REV: = 2147483648
+ +
+
+ +

BCM_SKIP

+
BCM_SKIP: = 0
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumbarcodeformat.html b/doc/api reference/enums/enumbarcodeformat.html new file mode 100644 index 00000000..4eeeac3f --- /dev/null +++ b/doc/api reference/enums/enumbarcodeformat.html @@ -0,0 +1,583 @@ + + + + + + EnumBarcodeFormat | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumBarcodeFormat

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

BF_ALL

+
BF_ALL: = -31457281
+ +
+
+ +

BF_AZTEC

+
BF_AZTEC: = 268435456
+ +
+
+ +

BF_CODABAR

+
BF_CODABAR: = 8
+ +
+
+ +

BF_CODE_128

+
BF_CODE_128: = 2
+ +
+
+ +

BF_CODE_39

+
BF_CODE_39: = 1
+ +
+
+ +

BF_CODE_39_EXTENDED

+
BF_CODE_39_EXTENDED: = 1024
+ +
+
+ +

BF_CODE_93

+
BF_CODE_93: = 4
+ +
+
+ +

BF_DATAMATRIX

+
BF_DATAMATRIX: = 134217728
+ +
+
+ +

BF_EAN_13

+
BF_EAN_13: = 32
+ +
+
+ +

BF_EAN_8

+
BF_EAN_8: = 64
+ +
+
+ +

BF_GS1_COMPOSITE

+
BF_GS1_COMPOSITE: = -2147483648
+ +
+
+ +

BF_GS1_DATABAR

+
BF_GS1_DATABAR: = 260096
+ +
+
+ +

BF_GS1_DATABAR_EXPANDED

+
BF_GS1_DATABAR_EXPANDED: = 32768
+ +
+
+ +

BF_GS1_DATABAR_EXPANDED_STACKED

+
BF_GS1_DATABAR_EXPANDED_STACKED: = 65536
+ +
+
+ +

BF_GS1_DATABAR_LIMITED

+
BF_GS1_DATABAR_LIMITED: = 131072
+ +
+
+ +

BF_GS1_DATABAR_OMNIDIRECTIONAL

+
BF_GS1_DATABAR_OMNIDIRECTIONAL: = 2048
+ +
+
+ +

BF_GS1_DATABAR_STACKED

+
BF_GS1_DATABAR_STACKED: = 8192
+ +
+
+ +

BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL

+
BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL: = 16384
+ +
+
+ +

BF_GS1_DATABAR_TRUNCATED

+
BF_GS1_DATABAR_TRUNCATED: = 4096
+ +
+
+ +

BF_INDUSTRIAL_25

+
BF_INDUSTRIAL_25: = 512
+ +
+
+ +

BF_ITF

+
BF_ITF: = 16
+ +
+
+ +

BF_MAXICODE

+
BF_MAXICODE: = 536870912
+ +
+
+ +

BF_MICRO_PDF417

+
BF_MICRO_PDF417: = 524288
+ +
+
+ +

BF_MICRO_QR

+
BF_MICRO_QR: = 1073741824
+ +
+
+ +

BF_MSI_CODE

+
BF_MSI_CODE: = 1048576
+ +
+
+ +

BF_NULL

+
BF_NULL: = 0
+ +
+
+ +

BF_ONED

+
BF_ONED: = 1050623
+ +
+
+ +

BF_PATCHCODE

+
BF_PATCHCODE: = 262144
+ +
+
+ +

BF_PDF417

+
BF_PDF417: = 33554432
+ +
+
+ +

BF_QR_CODE

+
BF_QR_CODE: = 67108864
+ +
+
+ +

BF_UPC_A

+
BF_UPC_A: = 128
+ +
+
+ +

BF_UPC_E

+
BF_UPC_E: = 256
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumbarcodeformat_2.html b/doc/api reference/enums/enumbarcodeformat_2.html new file mode 100644 index 00000000..ac2271a0 --- /dev/null +++ b/doc/api reference/enums/enumbarcodeformat_2.html @@ -0,0 +1,261 @@ + + + + + + EnumBarcodeFormat_2 | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumBarcodeFormat_2

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

BF2_AUSTRALIANPOST

+
BF2_AUSTRALIANPOST: = 8388608
+ +
+
+ +

BF2_DOTCODE

+
BF2_DOTCODE: = 2
+ +
+
+ +

BF2_NONSTANDARD_BARCODE

+
BF2_NONSTANDARD_BARCODE: = 1
+ +
+
+ +

BF2_NULL

+
BF2_NULL: = 0
+ +
+
+ +

BF2_PLANET

+
BF2_PLANET: = 4194304
+ +
+
+ +

BF2_POSTALCODE

+
BF2_POSTALCODE: = 32505856
+ +
+
+ +

BF2_POSTNET

+
BF2_POSTNET: = 2097152
+ +
+
+ +

BF2_RM4SCC

+
BF2_RM4SCC: = 16777216
+ +
+
+ +

BF2_USPSINTELLIGENTMAIL

+
BF2_USPSINTELLIGENTMAIL: = 1048576
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumbinarizationmode.html b/doc/api reference/enums/enumbinarizationmode.html new file mode 100644 index 00000000..f0b02e71 --- /dev/null +++ b/doc/api reference/enums/enumbinarizationmode.html @@ -0,0 +1,205 @@ + + + + + + EnumBinarizationMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumBinarizationMode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

BM_AUTO

+
BM_AUTO: = 1
+ +
+
+ +

BM_LOCAL_BLOCK

+
BM_LOCAL_BLOCK: = 2
+ +
+
+ +

BM_REV

+
BM_REV: = 2147483648
+ +
+
+ +

BM_SKIP

+
BM_SKIP: = 0
+ +
+
+ +

BM_THRESHOLD

+
BM_THRESHOLD: = 4
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumchargeway.html b/doc/api reference/enums/enumchargeway.html new file mode 100644 index 00000000..37a86b83 --- /dev/null +++ b/doc/api reference/enums/enumchargeway.html @@ -0,0 +1,287 @@ + + + + + + EnumChargeWay | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumChargeWay

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

DM_CW_ACTIVE_DEVICE_COUNT

+
DM_CW_ACTIVE_DEVICE_COUNT: = "ActiveDeviceCount"
+ +
+
+

Charges by the count of active devices.

+
+
+
+
+ +

DM_CW_APP_DOMIAN_COUNT

+
DM_CW_APP_DOMIAN_COUNT: = "Domain"
+ +
+
+

Charges by the count of app domains.

+
+
+
+
+ +

DM_CW_AUTO

+
DM_CW_AUTO: = ""
+ +
+
+

The charge way automatically determined by the license server.

+
+
+
+
+ +

DM_CW_CONCURRENT_DEVICE_COUNT

+
DM_CW_CONCURRENT_DEVICE_COUNT: = "ConcurrentDeviceCount"
+ +
+
+

Charges by the count of concurrent devices.

+
+
+
+
+ +

DM_CW_CONCURRENT_INSTANCE_COUNT

+
DM_CW_CONCURRENT_INSTANCE_COUNT: = "ConcurrentInstanceCount"
+ +
+
+

Charges by the count of concurrent instances.

+
+
+
+
+ +

DM_CW_DEVICE_COUNT

+
DM_CW_DEVICE_COUNT: = "DeviceCount"
+ +
+
+

Charges by the count of devices.

+
+
+
+
+ +

DM_CW_INSTANCE_COUNT

+
DM_CW_INSTANCE_COUNT: = "InstanceCount"
+ +
+
+

Charges by the count of instances.

+
+
+
+
+ +

DM_CW_SCAN_COUNT

+
DM_CW_SCAN_COUNT: = "ScanCount"
+ +
+
+

Charges by the count of barcode scans.

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumclaritycalculationmethod.html b/doc/api reference/enums/enumclaritycalculationmethod.html new file mode 100644 index 00000000..368c2dc7 --- /dev/null +++ b/doc/api reference/enums/enumclaritycalculationmethod.html @@ -0,0 +1,149 @@ + + + + + + EnumClarityCalculationMethod | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumClarityCalculationMethod

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

ECCM_CONTRAST

+
ECCM_CONTRAST: = 1
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumclarityfiltermode.html b/doc/api reference/enums/enumclarityfiltermode.html new file mode 100644 index 00000000..cb721fc1 --- /dev/null +++ b/doc/api reference/enums/enumclarityfiltermode.html @@ -0,0 +1,149 @@ + + + + + + EnumClarityFilterMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumClarityFilterMode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

CFM_GENERAL

+
CFM_GENERAL: = 1
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumcolourclusteringmode.html b/doc/api reference/enums/enumcolourclusteringmode.html new file mode 100644 index 00000000..fd53cfc2 --- /dev/null +++ b/doc/api reference/enums/enumcolourclusteringmode.html @@ -0,0 +1,191 @@ + + + + + + EnumColourClusteringMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumColourClusteringMode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

CCM_AUTO

+
CCM_AUTO: = 1
+ +
+
+ +

CCM_GENERAL_HSV

+
CCM_GENERAL_HSV: = 2
+ +
+
+ +

CCM_REV

+
CCM_REV: = 2147483648
+ +
+
+ +

CCM_SKIP

+
CCM_SKIP: = 0
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumcolourconversionmode.html b/doc/api reference/enums/enumcolourconversionmode.html new file mode 100644 index 00000000..ef76f281 --- /dev/null +++ b/doc/api reference/enums/enumcolourconversionmode.html @@ -0,0 +1,177 @@ + + + + + + EnumColourConversionMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumColourConversionMode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

CICM_GENERAL

+
CICM_GENERAL: = 1
+ +
+
+ +

CICM_REV

+
CICM_REV: = 2147483648
+ +
+
+ +

CICM_SKIP

+
CICM_SKIP: = 0
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumconflictmode.html b/doc/api reference/enums/enumconflictmode.html new file mode 100644 index 00000000..bbf9919b --- /dev/null +++ b/doc/api reference/enums/enumconflictmode.html @@ -0,0 +1,163 @@ + + + + + + EnumConflictMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumConflictMode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

CM_IGNORE

+
CM_IGNORE: = 1
+ +
+
+ +

CM_OVERWRITE

+
CM_OVERWRITE: = 2
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumdeblurmode.html b/doc/api reference/enums/enumdeblurmode.html new file mode 100644 index 00000000..6a6bc443 --- /dev/null +++ b/doc/api reference/enums/enumdeblurmode.html @@ -0,0 +1,247 @@ + + + + + + EnumDeblurMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumDeblurMode

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

DM_DEEP_ANALYSIS

+
DM_DEEP_ANALYSIS: = 32
+ +
+
+ +

DM_DIRECT_BINARIZATION

+
DM_DIRECT_BINARIZATION: = 1
+ +
+
+ +

DM_GRAY_EQUALIZATION

+
DM_GRAY_EQUALIZATION: = 4
+ +
+
+ +

DM_MORPHING

+
DM_MORPHING: = 16
+ +
+
+ +

DM_SHARPENING

+
DM_SHARPENING: = 64
+ +
+
+ +

DM_SKIP

+
DM_SKIP: = 0
+ +
+
+ +

DM_SMOOTHING

+
DM_SMOOTHING: = 8
+ +
+
+ +

DM_THRESHOLD_BINARIZATION

+
DM_THRESHOLD_BINARIZATION: = 2
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumdeformationresistingmode.html b/doc/api reference/enums/enumdeformationresistingmode.html new file mode 100644 index 00000000..50b52b21 --- /dev/null +++ b/doc/api reference/enums/enumdeformationresistingmode.html @@ -0,0 +1,191 @@ + + + + + + EnumDeformationResistingMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumDeformationResistingMode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

DRM_AUTO

+
DRM_AUTO: = 1
+ +
+
+ +

DRM_GENERAL

+
DRM_GENERAL: = 2
+ +
+
+ +

DRM_REV

+
DRM_REV: = 2147483648
+ +
+
+ +

DRM_SKIP

+
DRM_SKIP: = 0
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumdpmcodereadingmode.html b/doc/api reference/enums/enumdpmcodereadingmode.html new file mode 100644 index 00000000..c75650a9 --- /dev/null +++ b/doc/api reference/enums/enumdpmcodereadingmode.html @@ -0,0 +1,191 @@ + + + + + + EnumDPMCodeReadingMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumDPMCodeReadingMode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

DPMCRM_AUTO

+
DPMCRM_AUTO: = 1
+ +
+
+ +

DPMCRM_GENERAL

+
DPMCRM_GENERAL: = 2
+ +
+
+ +

DPMCRM_REV

+
DPMCRM_REV: = 2147483648
+ +
+
+ +

DPMCRM_SKIP

+
DPMCRM_SKIP: = 0
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumerrorcode.html b/doc/api reference/enums/enumerrorcode.html new file mode 100644 index 00000000..4d3e299c --- /dev/null +++ b/doc/api reference/enums/enumerrorcode.html @@ -0,0 +1,1003 @@ + + + + + + EnumErrorCode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumErrorCode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

DBR_1D_LICENSE_INVALID

+
DBR_1D_LICENSE_INVALID: = -10017
+ +
+
+ +

DBR_AZTEC_LICENSE_INVALID

+
DBR_AZTEC_LICENSE_INVALID: = -10041
+ +
+
+ +

DBR_BARCODE_FORMAT_INVALID

+
DBR_BARCODE_FORMAT_INVALID: = -10009
+ +
+
+ +

DBR_BPP_NOT_SUPPORTED

+
DBR_BPP_NOT_SUPPORTED: = -10007
+ +
+
+ +

DBR_CUSTOM_MODULESIZE_INVALID

+
DBR_CUSTOM_MODULESIZE_INVALID: = -10025
+ +
+
+ +

DBR_CUSTOM_REGION_INVALID

+
DBR_CUSTOM_REGION_INVALID: = -10010
+ +
+
+ +

DBR_CUSTOM_SIZE_INVALID

+
DBR_CUSTOM_SIZE_INVALID: = -10024
+ +
+
+ +

DBR_DATAMATRIX_LICENSE_INVALID

+
DBR_DATAMATRIX_LICENSE_INVALID: = -10020
+ +
+
+ +

DBR_DIB_BUFFER_INVALID

+
DBR_DIB_BUFFER_INVALID: = -10018
+ +
+
+ +

DBR_DOMAIN_NOT_MATCHED

+
DBR_DOMAIN_NOT_MATCHED: = -10039
+ +
+
+ +

DBR_DOTCODE_LICENSE_INVALID

+
DBR_DOTCODE_LICENSE_INVALID: = -10061
+ +
+
+ +

DBR_DPM_LICENSE_INVALID

+
DBR_DPM_LICENSE_INVALID: = -10048
+ +
+
+ +

DBR_FILETYPE_NOT_SUPPORTED

+
DBR_FILETYPE_NOT_SUPPORTED: = -10006
+ +
+
+ +

DBR_FILE_NOT_FOUND

+
DBR_FILE_NOT_FOUND: = -10005
+ +
+
+ +

DBR_FRAME_DECODING_THREAD_EXISTS

+
DBR_FRAME_DECODING_THREAD_EXISTS: = -10049
+ +
+
+ +

DBR_GET_MODE_ARGUMENT_ERROR

+
DBR_GET_MODE_ARGUMENT_ERROR: = -10055
+ +
+
+ +

DBR_GS1_COMPOSITE_LICENSE_INVALID

+
DBR_GS1_COMPOSITE_LICENSE_INVALID: = -10059
+ +
+
+ +

DBR_GS1_DATABAR_LICENSE_INVALID

+
DBR_GS1_DATABAR_LICENSE_INVALID: = -10058
+ +
+
+ +

DBR_IMAGE_READ_FAILED

+
DBR_IMAGE_READ_FAILED: = -10012
+ +
+
+ +

DBR_INDEX_INVALID

+
DBR_INDEX_INVALID: = -10008
+ +
+
+ +

DBR_IRT_LICENSE_INVALID

+
DBR_IRT_LICENSE_INVALID: = -10056
+ +
+
+ +

DBR_JSON_KEY_INVALID

+
DBR_JSON_KEY_INVALID: = -10032
+ +
+
+ +

DBR_JSON_NAME_KEY_MISSING

+
DBR_JSON_NAME_KEY_MISSING: = -10034
+ +
+
+ +

DBR_JSON_NAME_REFERENCE_INVALID

+
DBR_JSON_NAME_REFERENCE_INVALID: = -10037
+ +
+
+ +

DBR_JSON_NAME_VALUE_DUPLICATED

+
DBR_JSON_NAME_VALUE_DUPLICATED: = -10035
+ +
+
+ +

DBR_JSON_PARSE_FAILED

+
DBR_JSON_PARSE_FAILED: = -10030
+ +
+
+ +

DBR_JSON_TYPE_INVALID

+
DBR_JSON_TYPE_INVALID: = -10031
+ +
+
+ +

DBR_JSON_VALUE_INVALID

+
DBR_JSON_VALUE_INVALID: = -10033
+ +
+
+ +

DBR_LICENSEKEY_NOT_MATCHED

+
DBR_LICENSEKEY_NOT_MATCHED: = -10043
+ +
+
+ +

DBR_LICENSE_CONTENT_INVALID

+
DBR_LICENSE_CONTENT_INVALID: = -10052
+ +
+
+ +

DBR_LICENSE_DEVICE_RUNS_OUT

+
DBR_LICENSE_DEVICE_RUNS_OUT: = -10054
+ +
+
+ +

DBR_LICENSE_DLL_MISSING

+
DBR_LICENSE_DLL_MISSING: = -10042
+ +
+
+ +

DBR_LICENSE_EXPIRED

+
DBR_LICENSE_EXPIRED: = -10004
+ +
+
+ +

DBR_LICENSE_INIT_FAILED

+
DBR_LICENSE_INIT_FAILED: = -10045
+ +
+
+ +

DBR_LICENSE_INVALID

+
DBR_LICENSE_INVALID: = -10003
+ +
+
+ +

DBR_LICENSE_KEY_INVALID

+
DBR_LICENSE_KEY_INVALID: = -10053
+ +
+
+ +

DBR_MAXICODE_LICENSE_INVALID

+
DBR_MAXICODE_LICENSE_INVALID: = -10057
+ +
+
+ +

DBR_MAX_BARCODE_NUMBER_INVALID

+
DBR_MAX_BARCODE_NUMBER_INVALID: = -10011
+ +
+
+ +

DBR_NO_MEMORY

+
DBR_NO_MEMORY: = -10001
+ +
+
+ +

DBR_NULL_REFERENCE

+
DBR_NULL_REFERENCE: = -10002
+ +
+
+ +

DBR_PAGE_NUMBER_INVALID

+
DBR_PAGE_NUMBER_INVALID: = -10023
+ +
+
+ +

DBR_PARAMETER_VALUE_INVALID

+
DBR_PARAMETER_VALUE_INVALID: = -10038
+ +
+
+ +

DBR_PATCHCODE_LICENSE_INVALID

+
DBR_PATCHCODE_LICENSE_INVALID: = -10046
+ +
+
+ +

DBR_PDF417_LICENSE_INVALID

+
DBR_PDF417_LICENSE_INVALID: = -10019
+ +
+
+ +

DBR_PDF_DLL_MISSING

+
DBR_PDF_DLL_MISSING: = -10022
+ +
+
+ +

DBR_PDF_READ_FAILED

+
DBR_PDF_READ_FAILED: = -10021
+ +
+
+ +

DBR_POSTALCODE_LICENSE_INVALID

+
DBR_POSTALCODE_LICENSE_INVALID: = -10047
+ +
+
+ +

DBR_QR_LICENSE_INVALID

+
DBR_QR_LICENSE_INVALID: = -10016
+ +
+
+ +

DBR_RECOGNITION_TIMEOUT

+
DBR_RECOGNITION_TIMEOUT: = -10026
+ +
+
+ +

DBR_REQUESTED_FAILED

+
DBR_REQUESTED_FAILED: = -10044
+ +
+
+ +

DBR_RESERVEDINFO_NOT_MATCHED

+
DBR_RESERVEDINFO_NOT_MATCHED: = -10040
+ +
+
+ +

DBR_SET_MODE_ARGUMENT_ERROR

+
DBR_SET_MODE_ARGUMENT_ERROR: = -10051
+ +
+
+ +

DBR_STOP_DECODING_THREAD_FAILED

+
DBR_STOP_DECODING_THREAD_FAILED: = -10050
+ +
+
+ +

DBR_SUCCESS

+
DBR_SUCCESS: = 0
+ +
+
+ +

DBR_SYSTEM_EXCEPTION

+
DBR_SYSTEM_EXCEPTION: = 1
+ +
+
+ +

DBR_TEMPLATE_NAME_INVALID

+
DBR_TEMPLATE_NAME_INVALID: = -10036
+ +
+
+ +

DBR_TIFF_READ_FAILED

+
DBR_TIFF_READ_FAILED: = -10013
+ +
+
+ +

DBR_UNKNOWN

+
DBR_UNKNOWN: = -10000
+ +
+
+ +

DMERR_FAILED_TO_REACH_LTS

+
DMERR_FAILED_TO_REACH_LTS: = -20200
+ +
+
+ +

DMERR_LICENSE_SYNC_FAILED

+
DMERR_LICENSE_SYNC_FAILED: = -20003
+ +
+
+ +

DMERR_NO_LICENSE

+
DMERR_NO_LICENSE: = -20000
+ +
+
+ +

DMERR_TRIAL_LICENSE

+
DMERR_TRIAL_LICENSE: = -20010
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumgrayscaletransformationmode.html b/doc/api reference/enums/enumgrayscaletransformationmode.html new file mode 100644 index 00000000..17123d7a --- /dev/null +++ b/doc/api reference/enums/enumgrayscaletransformationmode.html @@ -0,0 +1,191 @@ + + + + + + EnumGrayscaleTransformationMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumGrayscaleTransformationMode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

GTM_INVERTED

+
GTM_INVERTED: = 1
+ +
+
+ +

GTM_ORIGINAL

+
GTM_ORIGINAL: = 2
+ +
+
+ +

GTM_REV

+
GTM_REV: = 2147483648
+ +
+
+ +

GTM_SKIP

+
GTM_SKIP: = 0
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumimagepixelformat.html b/doc/api reference/enums/enumimagepixelformat.html new file mode 100644 index 00000000..75999f68 --- /dev/null +++ b/doc/api reference/enums/enumimagepixelformat.html @@ -0,0 +1,317 @@ + + + + + + EnumImagePixelFormat | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumImagePixelFormat

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

IPF_ABGR_16161616

+
IPF_ABGR_16161616: = 11
+ +
+
+ +

IPF_ABGR_8888

+
IPF_ABGR_8888: = 10
+ +
+
+ +

IPF_ARGB_16161616

+
IPF_ARGB_16161616: = 9
+ +
+
+ +

IPF_ARGB_8888

+
IPF_ARGB_8888: = 7
+ +
+
+ +

IPF_BGR_888

+
IPF_BGR_888: = 12
+ +
+
+ +

IPF_Binary

+
IPF_Binary: = 0
+ +
+
+ +

IPF_BinaryInverted

+
IPF_BinaryInverted: = 1
+ +
+
+ +

IPF_GrayScaled

+
IPF_GrayScaled: = 2
+ +
+
+ +

IPF_NV21

+
IPF_NV21: = 3
+ +
+
+ +

IPF_RGB_161616

+
IPF_RGB_161616: = 8
+ +
+
+ +

IPF_RGB_555

+
IPF_RGB_555: = 5
+ +
+
+ +

IPF_RGB_565

+
IPF_RGB_565: = 4
+ +
+
+ +

IPF_RGB_888

+
IPF_RGB_888: = 6
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumimagepreprocessingmode.html b/doc/api reference/enums/enumimagepreprocessingmode.html new file mode 100644 index 00000000..2b2295a1 --- /dev/null +++ b/doc/api reference/enums/enumimagepreprocessingmode.html @@ -0,0 +1,247 @@ + + + + + + EnumImagePreprocessingMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumImagePreprocessingMode

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

IPM_AUTO

+
IPM_AUTO: = 1
+ +
+
+ +

IPM_GENERAL

+
IPM_GENERAL: = 2
+ +
+
+ +

IPM_GRAY_EQUALIZE

+
IPM_GRAY_EQUALIZE: = 4
+ +
+
+ +

IPM_GRAY_SMOOTH

+
IPM_GRAY_SMOOTH: = 8
+ +
+
+ +

IPM_MORPHOLOGY

+
IPM_MORPHOLOGY: = 32
+ +
+
+ +

IPM_REV

+
IPM_REV: = 2147483648
+ +
+
+ +

IPM_SHARPEN_SMOOTH

+
IPM_SHARPEN_SMOOTH: = 16
+ +
+
+ +

IPM_SKIP

+
IPM_SKIP: = 0
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumimresultdatatype.html b/doc/api reference/enums/enumimresultdatatype.html new file mode 100644 index 00000000..e47bf2bd --- /dev/null +++ b/doc/api reference/enums/enumimresultdatatype.html @@ -0,0 +1,219 @@ + + + + + + EnumIMResultDataType | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumIMResultDataType

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

IMRDT_CONTOUR

+
IMRDT_CONTOUR: = 2
+ +
+
+ +

IMRDT_IMAGE

+
IMRDT_IMAGE: = 1
+ +
+
+ +

IMRDT_LINESEGMENT

+
IMRDT_LINESEGMENT: = 4
+ +
+
+ +

IMRDT_LOCALIZATIONRESULT

+
IMRDT_LOCALIZATIONRESULT: = 8
+ +
+
+ +

IMRDT_QUADRILATERAL

+
IMRDT_QUADRILATERAL: = 32
+ +
+
+ +

IMRDT_REGIONOFINTEREST

+
IMRDT_REGIONOFINTEREST: = 16
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumintermediateresultsavingmode.html b/doc/api reference/enums/enumintermediateresultsavingmode.html new file mode 100644 index 00000000..36277e53 --- /dev/null +++ b/doc/api reference/enums/enumintermediateresultsavingmode.html @@ -0,0 +1,177 @@ + + + + + + EnumIntermediateResultSavingMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumIntermediateResultSavingMode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

IRSM_BOTH

+
IRSM_BOTH: = 4
+ +
+
+ +

IRSM_FILESYSTEM

+
IRSM_FILESYSTEM: = 2
+ +
+
+ +

IRSM_MEMORY

+
IRSM_MEMORY: = 1
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumintermediateresulttype.html b/doc/api reference/enums/enumintermediateresulttype.html new file mode 100644 index 00000000..f1e81941 --- /dev/null +++ b/doc/api reference/enums/enumintermediateresulttype.html @@ -0,0 +1,345 @@ + + + + + + EnumIntermediateResultType | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumIntermediateResultType

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

IRT_BINARIZED_IMAGE

+
IRT_BINARIZED_IMAGE: = 64
+ +
+
+ +

IRT_COLOUR_CLUSTERED_IMAGE

+
IRT_COLOUR_CLUSTERED_IMAGE: = 2
+ +
+
+ +

IRT_COLOUR_CONVERTED_GRAYSCALE_IMAGE

+
IRT_COLOUR_CONVERTED_GRAYSCALE_IMAGE: = 4
+ +
+
+ +

IRT_CONTOUR

+
IRT_CONTOUR: = 256
+ +
+
+ +

IRT_FORM

+
IRT_FORM: = 1024
+ +
+
+ +

IRT_LINE_SEGMENT

+
IRT_LINE_SEGMENT: = 512
+ +
+
+ +

IRT_NO_RESULT

+
IRT_NO_RESULT: = 0
+ +
+
+ +

IRT_ORIGINAL_IMAGE

+
IRT_ORIGINAL_IMAGE: = 1
+ +
+
+ +

IRT_PREDETECTED_QUADRILATERAL

+
IRT_PREDETECTED_QUADRILATERAL: = 8192
+ +
+
+ +

IRT_PREDETECTED_REGION

+
IRT_PREDETECTED_REGION: = 16
+ +
+
+ +

IRT_PREPROCESSED_IMAGE

+
IRT_PREPROCESSED_IMAGE: = 32
+ +
+
+ +

IRT_SEGMENTATION_BLOCK

+
IRT_SEGMENTATION_BLOCK: = 2048
+ +
+
+ +

IRT_TEXT_ZONE

+
IRT_TEXT_ZONE: = 128
+ +
+
+ +

IRT_TRANSFORMED_GRAYSCALE_IMAGE

+
IRT_TRANSFORMED_GRAYSCALE_IMAGE: = 8
+ +
+
+ +

IRT_TYPED_BARCODE_ZONE

+
IRT_TYPED_BARCODE_ZONE: = 4096
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumlicensemodule.html b/doc/api reference/enums/enumlicensemodule.html new file mode 100644 index 00000000..2bb94837 --- /dev/null +++ b/doc/api reference/enums/enumlicensemodule.html @@ -0,0 +1,401 @@ + + + + + + EnumLicenseModule | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumLicenseModule

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

DM_LM_AZTEC

+
DM_LM_AZTEC: = "5"
+ +
+
+

Aztec barcodes license module

+
+
+
+
+ +

DM_LM_DATAMATRIX

+
DM_LM_DATAMATRIX: = "4"
+ +
+
+

Datamatrix barcodes license module

+
+
+
+
+ +

DM_LM_DOTCODE

+
DM_LM_DOTCODE: = "11"
+ +
+
+

DotCode barcodes license module

+
+
+
+
+ +

DM_LM_DPM

+
DM_LM_DPM: = "13"
+ +
+
+

Datamatrix DPM(Direct Part Marking) license module

+
+
+
+
+ +

DM_LM_GS1_COMPOSITE

+
DM_LM_GS1_COMPOSITE: = "9"
+ +
+
+

GS1 Composite barcodes license module

+
+
+
+
+ +

DM_LM_GS1_DATABAR

+
DM_LM_GS1_DATABAR: = "8"
+ +
+
+

GS1 Databar barcodes license module

+
+
+
+
+ +

DM_LM_INTERMEDIATE_RESULT

+
DM_LM_INTERMEDIATE_RESULT: = "12"
+ +
+
+

Intermediate result license module

+
+
+
+
+ +

DM_LM_MAXICODE

+
DM_LM_MAXICODE: = "6"
+ +
+
+

MAXICODE barcodes license module

+
+
+
+
+ +

DM_LM_NONSTANDARD_BARCODE

+
DM_LM_NONSTANDARD_BARCODE: = "16"
+ +
+
+

Nonstandard barcodes license module

+
+
+
+
+ +

DM_LM_ONED

+
DM_LM_ONED: = "1"
+ +
+
+

One-D barcodes license module

+
+
+
+
+ +

DM_LM_PATCHCODE

+
DM_LM_PATCHCODE: = "7"
+ +
+
+

Patch code barcodes license module

+
+
+
+
+ +

DM_LM_PDF417

+
DM_LM_PDF417: = "3"
+ +
+
+

PDF417 barcodes license module

+
+
+
+
+ +

DM_LM_POSTALCODE

+
DM_LM_POSTALCODE: = "10"
+ +
+
+

Postal code barcodes license module

+
+
+
+
+ +

DM_LM_QR_CODE

+
DM_LM_QR_CODE: = "2"
+ +
+
+

QR Code barcodes license module

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumlocalizationmode.html b/doc/api reference/enums/enumlocalizationmode.html new file mode 100644 index 00000000..da2754e4 --- /dev/null +++ b/doc/api reference/enums/enumlocalizationmode.html @@ -0,0 +1,275 @@ + + + + + + EnumLocalizationMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumLocalizationMode

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

LM_AUTO

+
LM_AUTO: = 1
+ +
+
+ +

LM_CENTRE

+
LM_CENTRE: = 128
+ +
+
+ +

LM_CONNECTED_BLOCKS

+
LM_CONNECTED_BLOCKS: = 2
+ +
+
+ +

LM_LINES

+
LM_LINES: = 8
+ +
+
+ +

LM_REV

+
LM_REV: = 2147483648
+ +
+
+ +

LM_SCAN_DIRECTLY

+
LM_SCAN_DIRECTLY: = 16
+ +
+
+ +

LM_SKIP

+
LM_SKIP: = 0
+ +
+
+ +

LM_STATISTICS

+
LM_STATISTICS: = 4
+ +
+
+ +

LM_STATISTICS_MARKS

+
LM_STATISTICS_MARKS: = 32
+ +
+
+ +

LM_STATISTICS_POSTAL_CODE

+
LM_STATISTICS_POSTAL_CODE: = 64
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumpdfreadingmode.html b/doc/api reference/enums/enumpdfreadingmode.html new file mode 100644 index 00000000..1cdb55a3 --- /dev/null +++ b/doc/api reference/enums/enumpdfreadingmode.html @@ -0,0 +1,191 @@ + + + + + + EnumPDFReadingMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumPDFReadingMode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

PDFRM_AUTO

+
PDFRM_AUTO: = 2
+ +
+
+ +

PDFRM_RASTER

+
PDFRM_RASTER: = 1
+ +
+
+ +

PDFRM_REV

+
PDFRM_REV: = 2147483648
+ +
+
+ +

PDFRM_VECTOR

+
PDFRM_VECTOR: = 4
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumqrcodeerrorcorrectionlevel.html b/doc/api reference/enums/enumqrcodeerrorcorrectionlevel.html new file mode 100644 index 00000000..49b8ac7a --- /dev/null +++ b/doc/api reference/enums/enumqrcodeerrorcorrectionlevel.html @@ -0,0 +1,191 @@ + + + + + + EnumQRCodeErrorCorrectionLevel | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumQRCodeErrorCorrectionLevel

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

QRECL_ERROR_CORRECTION_H

+
QRECL_ERROR_CORRECTION_H:
+ +
+
+ +

QRECL_ERROR_CORRECTION_L

+
QRECL_ERROR_CORRECTION_L:
+ +
+
+ +

QRECL_ERROR_CORRECTION_M

+
QRECL_ERROR_CORRECTION_M:
+ +
+
+ +

QRECL_ERROR_CORRECTION_Q

+
QRECL_ERROR_CORRECTION_Q:
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumregionpredetectionmode.html b/doc/api reference/enums/enumregionpredetectionmode.html new file mode 100644 index 00000000..d90d3df9 --- /dev/null +++ b/doc/api reference/enums/enumregionpredetectionmode.html @@ -0,0 +1,233 @@ + + + + + + EnumRegionPredetectionMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumRegionPredetectionMode

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

RPM_AUTO

+
RPM_AUTO: = 1
+ +
+
+ +

RPM_GENERAL

+
RPM_GENERAL: = 2
+ +
+
+ +

RPM_GENERAL_GRAY_CONTRAST

+
RPM_GENERAL_GRAY_CONTRAST: = 8
+ +
+
+ +

RPM_GENERAL_HSV_CONTRAST

+
RPM_GENERAL_HSV_CONTRAST: = 16
+ +
+
+ +

RPM_GENERAL_RGB_CONTRAST

+
RPM_GENERAL_RGB_CONTRAST: = 4
+ +
+
+ +

RPM_REV

+
RPM_REV: = 2147483648
+ +
+
+ +

RPM_SKIP

+
RPM_SKIP: = 0
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumresultcoordinatetype.html b/doc/api reference/enums/enumresultcoordinatetype.html new file mode 100644 index 00000000..d29d93be --- /dev/null +++ b/doc/api reference/enums/enumresultcoordinatetype.html @@ -0,0 +1,163 @@ + + + + + + EnumResultCoordinateType | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumResultCoordinateType

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

RCT_PERCENTAGE

+
RCT_PERCENTAGE: = 2
+ +
+
+ +

RCT_PIXEL

+
RCT_PIXEL: = 1
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumresulttype.html b/doc/api reference/enums/enumresulttype.html new file mode 100644 index 00000000..958f4936 --- /dev/null +++ b/doc/api reference/enums/enumresulttype.html @@ -0,0 +1,191 @@ + + + + + + EnumResultType | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumResultType

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

RT_CANDIDATE_TEXT

+
RT_CANDIDATE_TEXT:
+ +
+
+ +

RT_PARTIAL_TEXT

+
RT_PARTIAL_TEXT:
+ +
+
+ +

RT_RAW_TEXT

+
RT_RAW_TEXT:
+ +
+
+ +

RT_STANDARD_TEXT

+
RT_STANDARD_TEXT:
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumscaleupmode.html b/doc/api reference/enums/enumscaleupmode.html new file mode 100644 index 00000000..d9e5f7a1 --- /dev/null +++ b/doc/api reference/enums/enumscaleupmode.html @@ -0,0 +1,205 @@ + + + + + + EnumScaleUpMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumScaleUpMode

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

SUM_AUTO

+
SUM_AUTO: = 1
+ +
+
+ +

SUM_LINEAR_INTERPOLATION

+
SUM_LINEAR_INTERPOLATION: = 2
+ +
+
+ +

SUM_NEAREST_NEIGHBOUR_INTERPOLATION

+
SUM_NEAREST_NEIGHBOUR_INTERPOLATION: = 4
+ +
+
+ +

SUM_REV

+
SUM_REV: = 2147483648
+ +
+
+ +

SUM_SKIP

+
SUM_SKIP: = 0
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumterminatephase.html b/doc/api reference/enums/enumterminatephase.html new file mode 100644 index 00000000..6bdd18ac --- /dev/null +++ b/doc/api reference/enums/enumterminatephase.html @@ -0,0 +1,219 @@ + + + + + + EnumTerminatePhase | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumTerminatePhase

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

TP_BARCODE_LOCALIZED

+
TP_BARCODE_LOCALIZED: = 8
+ +
+
+ +

TP_BARCODE_RECOGNIZED

+
TP_BARCODE_RECOGNIZED: = 32
+ +
+
+ +

TP_BARCODE_TYPE_DETERMINED

+
TP_BARCODE_TYPE_DETERMINED: = 16
+ +
+
+ +

TP_IMAGE_BINARIZED

+
TP_IMAGE_BINARIZED: = 4
+ +
+
+ +

TP_IMAGE_PREPROCESSED

+
TP_IMAGE_PREPROCESSED: = 2
+ +
+
+ +

TP_REGION_PREDETECTED

+
TP_REGION_PREDETECTED: = 1
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumtextfiltermode.html b/doc/api reference/enums/enumtextfiltermode.html new file mode 100644 index 00000000..f553b8e2 --- /dev/null +++ b/doc/api reference/enums/enumtextfiltermode.html @@ -0,0 +1,191 @@ + + + + + + EnumTextFilterMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumTextFilterMode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

TFM_AUTO

+
TFM_AUTO: = 1
+ +
+
+ +

TFM_GENERAL_CONTOUR

+
TFM_GENERAL_CONTOUR: = 2
+ +
+
+ +

TFM_REV

+
TFM_REV: = 2147483648
+ +
+
+ +

TFM_SKIP

+
TFM_SKIP: = 0
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumtextresultordermode.html b/doc/api reference/enums/enumtextresultordermode.html new file mode 100644 index 00000000..3cf4b4ab --- /dev/null +++ b/doc/api reference/enums/enumtextresultordermode.html @@ -0,0 +1,205 @@ + + + + + + EnumTextResultOrderMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumTextResultOrderMode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

TROM_CONFIDENCE

+
TROM_CONFIDENCE: = 1
+ +
+
+ +

TROM_FORMAT

+
TROM_FORMAT: = 4
+ +
+
+ +

TROM_POSITION

+
TROM_POSITION: = 2
+ +
+
+ +

TROM_REV

+
TROM_REV: = 2147483648
+ +
+
+ +

TROM_SKIP

+
TROM_SKIP: = 0
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/enums/enumtexturedetectionmode.html b/doc/api reference/enums/enumtexturedetectionmode.html new file mode 100644 index 00000000..b1936c85 --- /dev/null +++ b/doc/api reference/enums/enumtexturedetectionmode.html @@ -0,0 +1,191 @@ + + + + + + EnumTextureDetectionMode | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration EnumTextureDetectionMode

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

TDM_AUTO

+
TDM_AUTO: = 1
+ +
+
+ +

TDM_GENERAL_WIDTH_CONCENTRATION

+
TDM_GENERAL_WIDTH_CONCENTRATION: = 2
+ +
+
+ +

TDM_REV

+
TDM_REV: = 2147483648
+ +
+
+ +

TDM_SKIP

+
TDM_SKIP: = 0
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/globals.html b/doc/api reference/globals.html new file mode 100644 index 00000000..2d6080b2 --- /dev/null +++ b/doc/api reference/globals.html @@ -0,0 +1,310 @@ + + + + + + Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Dynamsoft BarcodeReader SDK for Javascript - v8.4.0

+
+
+
+
+
+ + +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/index.html b/doc/api reference/index.html new file mode 100644 index 00000000..99bc6458 --- /dev/null +++ b/doc/api reference/index.html @@ -0,0 +1,902 @@ + + + + + + Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Dynamsoft BarcodeReader SDK for Javascript - v8.4.0

+
+
+
+
+
+
+
+ +

Dynamsoft JavaScript Barcode SDK for Web

+
+

version + downloads + jsdelivr +

+

Dynamsoft JavaScript Barcode SDK

+

Dynamsoft JavaScript Barcode SDK is a JavaScript library for barcode scanning based on the WebAssembly technology. It supports real-time localization and decoding of various barcode types. The library is capable of scanning barcodes from static images as well as directly from live video streams. It also supports reading multiple barcodes at once.

+
+

Also see Dynamsoft JavaScript Barcode SDK for Node.

+
+ +

Install

+
+

yarn

+
$ yarn add dynamsoft-javascript-barcode

npm

+
$ npm install dynamsoft-javascript-barcode --save

cdn

+
<script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/dbr.js" data-productKeys="PRODUCT-KEYS"></script>
+<!-- or -->
+<script src="https://unpkg.com/dynamsoft-javascript-barcode@8.4.0/dist/dbr.js" data-productKeys="PRODUCT-KEYS"></script>
+

Download zip

+ +

License Key

+
+

Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get a valid license and update PRODUCT-KEYS:

+
<script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/dbr.js" data-productKeys="PRODUCT-KEYS"></script>
+ +

Quick Usage

+
+
<!DOCTYPE html>
+<html>
+<body>
+    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/dbr.js" data-productKeys="PRODUCT-KEYS"></script>
+    <script>
+        let scanner = null;
+        (async()=>{
+            scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance();
+            scanner.onFrameRead = results => {console.log(results);};
+            scanner.onUnduplicatedRead = (txt, result) => {alert(txt);};
+            await scanner.show();
+        })();
+    </script>
+</body>
+</html>
+

Vue example

+

React example

+

Angular example

+ + +

Table of Contents

+
+ + +

Features

+
+ +

Supported Symbologies:

+
+

1D barcode: Code 39, Code 128, Code 93, Codabar, Interleaved 2 of 5 (ITF), EAN-13, EAN-8, UPC-A, UPC-E, Industrial 2 of 5 (Code 2 of 5 Industry, Standard 2 of 5, Code 2 of 5), Code 39 Extended, MSI Code.

+

2D barcode: PDF417, QR, DataMatrix, Aztec, MaxiCode, Dot Code.

+

GS1 Databar: Omnidirectional, Truncated, Stacked, Stacked Omnidirectional, Expanded, Expanded Stacked, Limited.

+

Patch Code

+

GS1 Composite Code

+

Postal Code: USPS Intelligent Mail, PostNet, Planet, Australian Post, UK Royal Mail (RM4SCC).

+
    +
  • Supported Data Sources: Blob, HTMLImageElement, HTMLVideoElement, and URL, etc.
  • +
+ +

Browser Compatibility:

+
+
    +
  • Unlike typical server-based applications, this library requires some advanced features which fortunately are supported by all mainstream modern browsers. These advanced features are listed below:

    + +
  • +
  • Combining the requirements above results in the following table of supported browsers.

    +
    +

    NOTE: Apart from the browsers, the operating systems running on the target devices may also impose some limitations of their own that could restrict the use of the library. Therefore, the following table serves as a rough estimation instead of an accurate guideline. Browser compatibility ultimately depends on whether the browser on that particular operating system supports the features listed above.

    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    Browser NameVersion
    Chromev57+ (v59+ on Android/iOS1)
    Firefoxv52+ (v55+ on Android/iOS1)
    Edge2v16+
    Safari3v11+
    +

    1 Video streaming is not supported in Chrome/Firefox on iOS.

    +

    2 On Edge, due to strict Same-origin policy, you must host the library in the same domain as your web page.

    +

    3 Safari 11.2.2 ~ 11.2.6 are not supported.

    +
    +
    +
  • +
+ +

Compact and Full Editions

+
+

As more features are being added to the library, the supporting wasm file is getting larger. For flexibility, we provide two editions. The compact edition has fewer features but downloads and compiles faster; on the other hand, the full edition has all features built-in.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeaturesCompact editionFull edition
wasm size1(gzip)810KB1.1 MB
1D
QR
Mirco QR-
PDF417
Mirco PDF417-
DataMatrix
Aztec-
MaxiCode-
Patch Code-
GS1 Composite Code-
GS1 DataBar-
Dot Code-
Postal Code-
DPM-
getRuntimeSettings
updateRuntimeSettings
getIntermediateResults-
initRuntimeSettingsWithString-
outputSettingsToString-
recommended scenario2Customer Facing ApplicationEnterprise Solution
+

1 The wasm file size is based on version 7.2.2. In later versions, the size may differ.

+

2 The compact edition downloads and compiles faster, which makes it more suitable for the scenario where a customer only needs to scan a barcode once. In comparison, scenarios where an employee needs to scan lots of barcodes continuously or where uncommon barcodes or advanced features are required, use the full edition by simply setting the following before you call loadWasm or createInstance.

+

Dynamsoft.DBR.BarcodeReader._bUseFullFeature = true;

+ +

Live Demo

+
+

The following is a screenshot of the live demo. Try it here.

+ + +

Getting Started: HelloWorld

+
+

This section will help you use the library to build a simple web application to decode barcodes from a video stream.

+

Basic Requirements

+
    +
  • Internet connection
  • +
  • Supported Browser
  • +
  • Camera access
  • +
+ +

Step One: Write code in one minute!

+
+

Create an HTML file with the following content. Deploy this to your web server and run the application over HTTPS.

+
    +
  • You will need to replace PRODUCT-KEYS with a trial key for the sample code to work correctly. You can acquire a trial key here.
  • +
  • If you don't have a ready-to-use web server and you happen to have a package manager like npm or yarn, you can set up a simple http server in minutes. Check out http-server on npm or yarn.
  • +
+
<!DOCTYPE html>
+<html>
+<body>
+    <!-- Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get a trial license. -->
+    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/dbr.js" data-productKeys="PRODUCT-KEYS"></script>
+    <script>
+        let scanner = null;
+        (async()=>{
+            scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance();
+            scanner.onFrameRead = results => {console.log(results);};
+            scanner.onUnduplicatedRead = (txt, result) => {alert(txt);};
+            await scanner.show();
+        })();
+    </script>
+</body>
+</html>
+

Try in JSFiddle

+ +

Step Two: Tackle a few issues.

+
+

Open the file in your browser and there will be a pop-up asking for permission to access the camera. Once the access is granted, you will see the video stream in the default UI of the BarcodeScanner.

+
+

Note: If you don't see the pop-up, wait a few seconds for the initialization to finish.

+
+ +
Possible Scenario 1
+
+

If you open the HTML file as file:/// or http://, the following error may appear in the browser console:

+
+

[Deprecation] getUserMedia() no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.

+
+

In Safari 12 the error is

+
+

Trying to call getUserMedia from an insecure document.

+
+

As the error states, to access the camera with the API getUserMedia, a secure channel (https://) is required.

+
+

Note: If you use Chrome or Firefox, you might not get the error because these two browsers allow camera access via file:/// and http://localhost.

+
+

To make sure your web application can access the camera, try to configure your web server to support HTTPS. The following links may help.

+ + +
Possible Scenario 2
+
+

For testing purposes, a self-signed certificate can be used when configuring HTTPS. When accessing the site, the browser might say "the site is not secure". In this case, go to the certificate settings and trust this certificate.

+
+

In a production environment, you will need a valid HTTPS certificate that does not have this issue. If you don't have one yet, you can get a free one from Let’s Encrypt. We recommend obtaining a paid certificate from companies such as Verisign, GeoTrust, etc.

+
+ +

Step Three: Time to scan!

+
+

Put something with a barcode in front of the camera and you'll see it located and decoded right in the UI.

+ +

Step Four: Dive into the code

+
+

Now, take a look at the sample code. You can find that there is nothing but two scripts inside the <body>

+
    +
  • The following script includes the core library in the application via a jsDelivr CDN

    +
    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/dbr.js" data-productKeys="PRODUCT-KEYS"></script>
    +

    The same can be done with other CDNs like unpkg

    +
    <script src="https://unpkg.com/dynamsoft-javascript-barcode@8.4.0/dist/dbr.js" data-productKeys="PRODUCT-KEYS"></script>
    +
    +

    NOTE: : Since we do change the library a bit in each release, to make sure your application doesn't get interrupted by automatic updates, use a specific version in your production environment, as shown above. Using a general major version like @7 is not recommended.

    +
    +
  • +
  • The following script initializes and uses the library

    +
    <script>
    +  let scanner = null;
    +  (async()=>{
    +      scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance();
    +      scanner.onFrameRead = results => {console.log(results);};
    +      scanner.onUnduplicatedRead = (txt, result) => {alert(txt);};
    +      await scanner.show();
    +  })();
    +</script>
    +

    For now, pay attention to the following two events.

    +
      +
    • onFrameRead + This event is triggered after each single frame is scanned. The results object contains all the barcode results that the library found on this frame.
    • +
    • onUnduplicatedRead + This event is triggered when a new barcode (not a duplicate) is found. txt holds the barcode text value while result is an object that holds details of the found barcode.
    • +
    +
  • +
+

In the following sections, you'll find more detailed information on how the library works and how you can customize it to your needs.

+ +

Taking a closer look

+
+ +

Initializing

+
+

The library is based on the WebAssembly standard; therefore, on first use, it needs some time to download and compile the wasm files. After the first use, the browser may cache the file so that the next time no 'downloading' is required.

+

Dynamsoft.DBR.BarcodeReader.loadWasm is the API to start the initialization.

+
try{
+    await Dynamsoft.DBR.BarcodeReader.loadWasm();
+}catch(ex){
+    console.error(ex);
+}
+

That said, as shown in the sample above, you don't necessarily need to call the above API because other APIs like Dynamsoft.DBR.BarcodeReader.createInstance and Dynamsoft.DBR.BarcodeScanner.createInstance will call loadWasm themselves.

+
let reader = null;
+let scanner = null;
+try{
+    reader = await Dynamsoft.DBR.BarcodeReader.createInstance();
+    scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance();
+}catch(ex){
+    console.error(ex);
+}
+
+

NOTE: Including the library with a script tag doesn't automatically initialize the library. For better performance, you may want to call loadWasm to download and compile the wasm file in advance and create a reader or scanner instance later.

+
+

The detailed initialization includes the following steps:

+ +

1. Download

+
+

Download the necessary resources. Usually, we deploy the resources on CDN and set a long cache duration. If your web server is faster, you should put the resources on your own server instead of the CDN.

+ +

2. Compile

+
+

The wasm files are automatically compiled once downloaded. The compilation time varies among different devices & browsers. While it takes less than a second on latest phones or PCs, it may take seconds or longer on some older devices.

+ +

3. Initialize

+
+

The library needs to initialize every time the page loads. The initialization means creating an BarcodeReaderor BarcodeScanner instance with specified settings.

+ +

Configuring Scanner Settings

+
+

When creating an instance of the BarcodeScanner object, there are several configuration options. The following code shows some of the most useful ones:

+
// set which camera and what resolution to use
+await scanner.updateVideoSettings({ video: { width: 1280, height: 720, facingMode: "environment" } });
+
+// use one of three built-in RuntimeSetting templates, 'single' is recommended for decoding from a video stream
+await scanner.updateRuntimeSettings("single");
+
+// make changes to the template. The code snippet below demonstrates how to specify which symbologies are enabled
+let runtimeSettings = await scanner.getRuntimeSettings();
+runtimeSettings.barcodeFormatIds = Dynamsoft.DBR.EnumBarcodeFormat.BF_ONED | Dynamsoft.DBR.EnumBarcodeFormat.BF_QR_CODE;
+await scanner.updateRuntimeSettings(runtimeSettings);
+
+// set up the scanner behavior
+let scanSettings = await scanner.getScanSettings();
+  // disregard duplicated results found in a specified time period
+scanSettings.duplicateForgetTime = 20000;
+  // set a scan interval so the library may release the CPU from time to time
+scanSettings.intervalTime = 300;
+await scanner.updateScanSettings(scanSettings);
+

Try in JSFiddle

+

As you can see in the code, there are three categories of configurations.

+
    +
  • get/updateVideoSettings: Configures the data source, i.e., the video stream. These settings include which camera to use, the resolution, etc.. Learn more here.

    +
  • +
  • get/updateRuntimeSettings: Configures the decode engine. Find a full list of these settings and their corresponding descriptions here. + Try in JSFiddle

    +

    e.g.

    +
    await scanner.updateRuntimeSettings("single");
    +
    await scanner.updateRuntimeSettings("speed");
    +
    await scanner.updateRuntimeSettings("balance");
    +
    await scanner.updateRuntimeSettings("coverage");
    +
    let settings = await scanner.getRuntimeSettings();
    +settings.localizationModes = [
    +      Dynamsoft.DBR.EnumLocalizationMode.LM_CONNECTED_BLOCKS,
    +      Dynamsoft.DBR.EnumLocalizationMode.LM_SCAN_DIRECTLY,
    +      Dynamsoft.DBR.EnumLocalizationMode.LM_LINES, 0, 0, 0, 0, 0];
    +settings.deblurLevel = 2;
    +await scanner.updateRuntimeSettings(settings);
    +

    See Barcode reading settings Guide for basic usage.

    +

    See C++ API RuntimeSettings for more details.

    +

    To find out which settings best suit your usage scenario, visit DBR Main Online Demo.

    +

    Any questions, please contact Dynamsoft support.

    +
  • +
  • get/updateScanSettings: Configures the behavior of the scanner which includes duplicateForgetTime, intervalTime, etc.

    +
  • +
+ +

Customizing the UI

+
+

While the library provides a built-in BarcodeScanner which has its own UI, feel free to customize it.

+

The default scanner UI is defined in the file dist/dbr.scanner.html. There are 3 ways to customize it:

+
    +
  1. Modify the file dist/dbr.scanner.html directly (only possible when you deploy these files yourself instead of using the CDN).
  2. +
  3. Copy the file dist/dbr.scanner.html, modify it and specify the new file as the default UI by its URL Dynamsoft.DBR.BarcodeScanner.defaultUIElementURL = url. Note that you must set defaultUIElementURL before you call createInstance.
  4. +
  5. Build the UI into your own web page and call scanner.setUIElement(HTMLElement) to specify that element.
  6. +
+

The following introduces the 3rd way. Check out the following code on how it's done.

+
<!DOCTYPE html>
+<html>
+<body>
+    <div id="div-video-container">
+        <video class="dbrScanner-video" playsinline="true"></video>
+    </div>
+    <!-- Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get a trial license. -->
+    <script src="https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/dbr.js" data-productKeys="PRODUCT-KEYS"></script>
+    <script>
+        let scanner = null;
+        (async()=>{
+            scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance();
+            await scanner.setUIElement(document.getElementById('div-video-container'));
+            scanner.onFrameRead = results => {console.log(results);};
+            scanner.onUnduplicatedRead = (txt, result) => {alert(txt);};
+            await scanner.show();
+        })();
+    </script>
+</body>
+</html>
+

Try in JSFiddle

+

The code has set the element div-video-container as the UI and inside it there is a video element for showing the video stream.

+
+

NOTE: The class name of the video element must be set to dbrScanner-video.

+
<video class="dbrScanner-video" playsinline="true"></video>
+
+

Next, you can add the camera list and resolution list.

+
+

If the class names match the default ones which are dbrScanner-sel-camera and dbrScanner-sel-resolution, the library will automatically populate the lists and handle the camera/resolution switching automatically.

+
+
<select class="dbrScanner-sel-camera"></select>
+

Try in JSFiddle

+
<select class="dbrScanner-sel-resolution"></select>
+
+

8 default resolutions will automatically show up.

+
+

Try in JSFiddle

+

Too many resolutions may be overwhelming for end users. Check out the following code on how to offer your own resolution options.

+
<select class="dbrScanner-sel-resolution">
+    <option class="dbrScanner-opt-gotResolution" value="got"></option>
+    <option data-width="1920" data-height="1080">1920 x 1080</option>
+    <option data-width="1280" data-height="720">1280 x 720</option>
+    <option data-width="640" data-height="480">640 x 480</option>
+</select>
+
+

Possible Issue: : Generally you need to provide a resolution that the camera supports. However, in case a camera does not support a specified resolution, it usually will just use the nearest supported resolution. As a result, the selected resolution may not be the actual resolution.

+

Solution: To take care of this issue, you can add an option with the class name dbrScanner-opt-gotResolution (as shown above) which the library will then use to show the actual resolution being used.

+
+

Try in JSFiddle

+ +

Advanced Usage

+
+ +

Print out log for better debugging

+
+

Include the following in your code to print internal logs in the console.

+
Dynamsoft.DBR.BarcodeReader._onLog = console.log;
+ +

Show found barcodes

+
+

Try the following code to show found barcodes in input elements on the page

+
<input id="ipt-0">
+<input id="ipt-1">
+<input id="ipt-2">
+
let iptIndex = 0;
+let scanner = null;
+(async()=>{
+    scanner = await Dynamsoft.DBR.BarcodeScanner.createInstance();
+    await scanner.setUIElement(document.getElementById('div-video-container'));
+    scanner.onFrameRead = results => {console.log(results);};
+    scanner.onUnduplicatedRead = (txt)=>{
+        document.getElementById('ipt-' + iptIndex).value = txt;
+        if(3 == ++iptIndex){
+            scanner.onUnduplicatedRead = undefined;
+            // Hide the scanner if you only need to read these three barcodes
+            scanner.hide();
+        }
+    };
+    await scanner.show();
+})();
+

Try in JSFiddle

+ +

Read a specific area/region

+
+

To speed up the scanning process, you can choose to scan only a specific area/region.

+
let settings = await scanner.getRuntimeSettings();
+/*
+ * 1 means true
+ * Using a percentage is easier
+ * The following code shrinks the decoding region by 25% on all sides
+ */
+settings.region.regionMeasuredByPercentage = 1;
+settings.region.regionLeft = 25;
+settings.region.regionTop = 25;
+settings.region.regionRight = 75;
+settings.region.regionBottom = 75;
+await scanner.updateRuntimeSettings(settings);
+

Try in JSFiddle

+ +

Self-hosted | Offline | Intranet Deployment

+
+

For commercial usage, we highly recommend self-hosted deployment and use reliable commercial CDN to accelerate. The following steps guide you through how to deploy the library on your own server.

+
    +
  • Step one: Place the files
  • +
+

Locate the following files and place them in the same directory on your server. You can get them in dist/.

+
  dbr.js // For <script>
+  dbr.browser.mjs // For <script type="module">
+  dbr.scanner.html // Scanner default UI
+  dbr-<version>.worker.js // A worker thread for decoding
+  dbr-<version>.wasm.js // Compact Editions
+  dbr-<version>.wasm // Compact Editions
+  dbr-<version>.full.wasm.js // Full Editions
+  dbr-<version>.full.wasm // Full Editions
    +
  • Step two: Configure the server

    +

    Make sure that your webserver serves the *.wasm file with Content-Type: application/wasm. Otherwise, the browser won't be able to recognize it.

    +

    All you need to do is set the MIME type for .wasm to application/wasm.

    +
    +

    Different servers are configured differently, below lists a few popular ones

    + +
    +
  • +
  • Step three: [Optional] Configure the engineResourcePath

    +
  • +
+

If the resource files like the wasm files are not placed in the same directory as the file dbr.js. Then you will need to specify the path with the API engineResourcePath. Note that it must be set before loadWasm or createInstance is called.

+
Dynamsoft.DBR.BarcodeReader.engineResourcePath = "url/to/the/dir/";
+ +

Known Issues

+
+
    +
  • We use webgl in BarcodeScannner by default. If you need a specific resolution like 800 * 600 and find the barcode area is wrong, you can turn webgl off by setting scanner._bUseWebgl = false;. Fixed in 8.1.2.
  • +
+ +

Changelog

+
+

Changelog

+ +

How to Upgrade

+
+

From v7x to v8x

+ +

API Documentation

+
+

Online Document

+ + +

License Activation

+
+

License Activation

+ +

License Agreement

+
+

License Agreement

+ +

Contact Us

+
+

If there are any questions, please feel free to contact support@dynamsoft.com.

+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/interfaces/barcodereaderexception.html b/doc/api reference/interfaces/barcodereaderexception.html new file mode 100644 index 00000000..614d0b04 --- /dev/null +++ b/doc/api reference/interfaces/barcodereaderexception.html @@ -0,0 +1,221 @@ + + + + + + BarcodeReaderException | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface BarcodeReaderException

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Error +
      +
    • + BarcodeReaderException +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Error

+
Error: ErrorConstructor
+ +
+
+ +

Optional code

+ + +
+
+ +

message

+
message: string
+ +
+
+ +

name

+
name: string
+ +
+
+ +

Optional stack

+
stack: string
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/interfaces/framefilter.html b/doc/api reference/interfaces/framefilter.html new file mode 100644 index 00000000..b098cb20 --- /dev/null +++ b/doc/api reference/interfaces/framefilter.html @@ -0,0 +1,185 @@ + + + + + + FrameFilter | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FrameFilter

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + FrameFilter +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional region

+
region: RegionDefinition | any
+ +
+
+

The region definition of the frame to calculate the internal indicator. + Default Value: { regionLeft = 0, regionRight = 100, regionTop = 0, regionBottom = 100, regionMeasuredByPercentage = true }

+
+
+
+
+ +

Optional threshold

+
threshold: number
+ +
+
+

The threshold used for filtering frames. + Value range: [0, 1]. + Default value: 0.1. + The SDK will calculate an inner indicator for each frame from AppendFrame(), if the change rate of the indicators between the current frame and the history frames is larger than the given threshold, the current frame will not be added to the inner frame queue waiting for decoding.

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/interfaces/localizationresult.html b/doc/api reference/interfaces/localizationresult.html new file mode 100644 index 00000000..eab80e6b --- /dev/null +++ b/doc/api reference/interfaces/localizationresult.html @@ -0,0 +1,314 @@ + + + + + + LocalizationResult | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface LocalizationResult

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + LocalizationResult +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

angle

+
angle: number
+ +
+
+

The angle of a barcode. Values range from 0 to 360.

+
+
+
+
+ +

x1

+
x1: number
+ +
+
+

The X coordinate of the left-most point.

+
+
+
+
+ +

x2

+
x2: number
+ +
+
+

The X coordinate of the second point in a clockwise direction.

+
+
+
+
+ +

x3

+
x3: number
+ +
+
+

The X coordinate of the third point in a clockwise direction.

+
+
+
+
+ +

x4

+
x4: number
+ +
+
+

The X coordinate of the fourth point in a clockwise direction.

+
+
+
+
+ +

y1

+
y1: number
+ +
+
+

The Y coordinate of the left-most point.

+
+
+
+
+ +

y2

+
y2: number
+ +
+
+

The Y coordinate of the second point in a clockwise direction.

+
+
+
+
+ +

y3

+
y3: number
+ +
+
+

The Y coordinate of the third point in a clockwise direction.

+
+
+
+
+ +

y4

+
y4: number
+ +
+
+

The Y coordinate of the fourth point in a clockwise direction.

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/interfaces/regiondefinition.html b/doc/api reference/interfaces/regiondefinition.html new file mode 100644 index 00000000..f7ef96ed --- /dev/null +++ b/doc/api reference/interfaces/regiondefinition.html @@ -0,0 +1,213 @@ + + + + + + RegionDefinition | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface RegionDefinition

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + RegionDefinition +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

regionBottom

+
regionBottom: number
+ +
+
+ +

regionLeft

+
regionLeft: number
+ +
+
+ +

regionMeasuredByPercentage

+
regionMeasuredByPercentage: number | boolean
+ +
+
+ +

regionRight

+
regionRight: number
+ +
+
+ +

regionTop

+
regionTop: number
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/interfaces/runtimesettings.html b/doc/api reference/interfaces/runtimesettings.html new file mode 100644 index 00000000..7d98faf7 --- /dev/null +++ b/doc/api reference/interfaces/runtimesettings.html @@ -0,0 +1,519 @@ + + + + + + RuntimeSettings | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface RuntimeSettings

+
+
+
+
+
+
+
+
+
+
see
+

C++ RuntimeSettings

+
+
+
+
+
+

Hierarchy

+
    +
  • + RuntimeSettings +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

PDFReadingMode

+
PDFReadingMode: EnumPDFReadingMode
+ +
+
+

Not available in JS. Sets the way to detect barcodes from a PDF file when using the DecodeFile method.

+
+
+
+
+ +

barcodeFormatIds

+
barcodeFormatIds: number | EnumBarcodeFormat
+ +
+
+

Sets the formats of the barcode in BarcodeFormat group 1 to be read. Barcode formats in BarcodeFormat group 1 can be combined.

+
let runtimeSettings = await reader.getRuntimeSettings();
+runtimeSettings.barcodeFormatIds = Dynamsoft.DBR.EnumBarcodeFormat.BF_ONED | Dynamsoft.DBR.EnumBarcodeFormat.BF_QR_CODE;
+await reader.updateRuntimeSettings(runtimeSettings);
+
+
+
+
+ +

barcodeFormatIds_2

+
barcodeFormatIds_2: number | EnumBarcodeFormat_2
+ +
+
+

Sets the formats of the barcode in BarcodeFormat group 2 to be read. Barcode formats in BarcodeFormat group 1 can be combined.

+
+
+
+
+ +

binarizationModes

+
binarizationModes: EnumBinarizationMode[]
+ +
+
+

Sets the mode and priority for binarization.

+
+
+
+
+ +

deblurLevel

+
deblurLevel: number
+ +
+
+

Sets the degree of blurriness of the barcode.

+
+
+
+
+ +

expectedBarcodesCount

+
expectedBarcodesCount: number
+ +
+
+

Sets the number of barcodes expected to be detected for each image.

+
+
+
+
+ +

furtherModes

+
furtherModes: any
+ +
+
+

Sets the further modes.

+
+
+
+
+ +

intermediateResultTypes

+
intermediateResultTypes: EnumIntermediateResultType
+ +
+
+

Sets which types of intermediate result to be kept for further reference. Intermediate result types can be combined.

+
+
+
+
+ +

localizationModes

+
localizationModes: number[] | EnumLocalizationMode[]
+ +
+
+

Sets the mode and priority for localization algorithms.

+
+
+
+
+ +

minBarcodeTextLength

+
minBarcodeTextLength: number
+ +
+
+

Sets the range of barcode text length for barcodes search

+
+
+
+
+ +

minResultConfidence

+
minResultConfidence: number
+ +
+
+

The minimum confidence of the result

+
+
+
+
+ +

region

+ + +
+
+

Sets the region definition including the regionTop, regionLeft, regionRight, regionBottom and regionMeasuredByPercentage.

+
+

Experimental feature:

+

In BarcodeScanner, region can be an array. For example region = [r0, r1, r2], 0th frame use r0, 1st use r1, 2nd use r2, 3rd use r0, and then loop like this.

+
+
+
+ +

resultCoordinateType

+
resultCoordinateType: number | EnumResultCoordinateType
+ +
+
+

Specifies the format for the coordinates returned

+
+
+
+
+ +

returnBarcodeZoneClarity

+
returnBarcodeZoneClarity: number
+ +
+
+

Sets whether or not to return the clarity of the barcode zone.

+
+
+
+
+ +

scaleDownThreshold

+
scaleDownThreshold: number
+ +
+
+

Sets the threshold for the image shrinking

+
+
+
+
+ +

scaleUpModes

+
scaleUpModes: EnumScaleUpMode[]
+ +
+
+

Sets the mode and priority to control the sampling methods of scale-up for linear barcode with small module sizes.

+
+
+
+
+ +

terminatePhase

+
terminatePhase: EnumTerminatePhase
+ +
+
+

Sets the phase where the algorithm stops.

+
+
+
+
+ +

textResultOrderModes

+
textResultOrderModes: EnumTextResultOrderMode[]
+ +
+
+

Sets the mode and priority for the order of the text results returned.

+
+
+
+
+ +

timeout

+
timeout: number
+ +
+
+

Sets the maximum amount of time (in milliseconds) that should be spent searching for a barcode per page. + It does not include the time taken to load/decode an image (Tiff, PNG, etc) from disk into memory.

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/interfaces/scannerplaycallbackinfo.html b/doc/api reference/interfaces/scannerplaycallbackinfo.html new file mode 100644 index 00000000..fabd5001 --- /dev/null +++ b/doc/api reference/interfaces/scannerplaycallbackinfo.html @@ -0,0 +1,171 @@ + + + + + + ScannerPlayCallbackInfo | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ScannerPlayCallbackInfo

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ScannerPlayCallbackInfo +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

height

+
height: number
+ +
+
+ +

width

+
width: number
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/interfaces/scansettings.html b/doc/api reference/interfaces/scansettings.html new file mode 100644 index 00000000..ade88bd3 --- /dev/null +++ b/doc/api reference/interfaces/scansettings.html @@ -0,0 +1,212 @@ + + + + + + ScanSettings | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ScanSettings

+
+
+
+
+
+
+
+
+
+

let scanSettings = await scanner.getScanSettings(); + scanSettings.intervalTime = 100; // 100ms + scanSettings.duplicateForgetTime = 3000; // 3s + await scanner.updateScanSettings(scanSettings);

+
+
+
+
+

Hierarchy

+
    +
  • + ScanSettings +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional duplicateForgetTime

+
duplicateForgetTime: number
+ +
+
+ +

Optional frameFilter

+
frameFilter: FrameFilter
+ +
+
+

Filter frame during focusing. + region define the detecting area. + threshold is (0,1).

+
scanSettings.frameFilter = {
+     region: {
+         regionLeft: 0,
+         regionTop: 47,
+         regionRight: 100,
+         regionBottom: 53,
+         regionMeasuredByPercentage: true
+     },
+     threshold: 0.01
+};
+
+
+
+
+ +

Optional intervalTime

+
intervalTime: number
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/interfaces/textresult.html b/doc/api reference/interfaces/textresult.html new file mode 100644 index 00000000..9c60fee8 --- /dev/null +++ b/doc/api reference/interfaces/textresult.html @@ -0,0 +1,247 @@ + + + + + + TextResult | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TextResult

+
+
+
+
+
+
+
+
+
+
see
+

C++ TextResult

+
+
+
+
+
+

Hierarchy

+
    +
  • + TextResult +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

barcodeBytes

+
barcodeBytes: number[]
+ +
+
+

The barcode content in a byte array.

+
+
+
+
+ +

barcodeFormat

+
barcodeFormat: number | EnumBarcodeFormat
+ +
+
+

The barcode format.

+
+
+
+
+ +

barcodeFormatString

+
barcodeFormatString: string
+ +
+
+

Barcode type in string.

+
+
+
+
+ +

barcodeText

+
barcodeText: string
+ +
+
+

The barcode text.

+
+
+
+
+ +

localizationResult

+
localizationResult: LocalizationResult
+ +
+
+

The corresponding localization result.

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/api reference/interfaces/videodeviceinfo.html b/doc/api reference/interfaces/videodeviceinfo.html new file mode 100644 index 00000000..ac305332 --- /dev/null +++ b/doc/api reference/interfaces/videodeviceinfo.html @@ -0,0 +1,171 @@ + + + + + + VideoDeviceInfo | Dynamsoft BarcodeReader SDK for Javascript - v8.4.0 + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface VideoDeviceInfo

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + VideoDeviceInfo +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

deviceId

+
deviceId: string
+ +
+
+ +

label

+
label: string
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
    +
  • Property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/doc/legal.txt b/doc/legal.txt new file mode 100644 index 00000000..2c70d049 --- /dev/null +++ b/doc/legal.txt @@ -0,0 +1,1095 @@ +Legal Notices: + +This SDK contains parts of following softwares which are used under license. + +=================================================================================== +Zlib. + +Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly + Mark Adler +=================================================================================== + + + +=================================================================================== +LibTiff + +Copyright (c) 1988-1997 Sam Leffler +Copyright (c) 1991-1997 Silicon Graphics, Inc. + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that (i) the above copyright notices and this permission notice appear in +all copies of the software and related documentation, and (ii) the names of +Sam Leffler and Silicon Graphics may not be used in any advertising or +publicity relating to the software without the specific, prior written +permission of Sam Leffler and Silicon Graphics. + +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY +KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA +OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, +AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION +WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +=================================================================================== + + + +=================================================================================== +LibJPEG + +In plain English: + +1. We don't promise that this software works. (But if you find any bugs, + please let us know!) +2. You can use this software for whatever you want. You don't have to pay us. +3. You may not pretend that you wrote this software. If you use it in a + program, you must acknowledge somewhere in your documentation that + you've used the IJG code. + +In legalese: + +The authors make NO WARRANTY or representation, either express or implied, +with respect to this software, its quality, accuracy, merchantability, or +fitness for a particular purpose. This software is provided "AS IS", and you, +its user, assume the entire risk as to its quality and accuracy. + +This software is copyright (C) 1991-2010, Thomas G. Lane, Guido Vollbeding. +All Rights Reserved except as specified below. + +Permission is hereby granted to use, copy, modify, and distribute this +software (or portions thereof) for any purpose, without fee, subject to these +conditions: +(1) If any part of the source code for this software is distributed, then this +README file must be included, with this copyright and no-warranty notice +unaltered; and any additions, deletions, or changes to the original files +must be clearly indicated in accompanying documentation. +(2) If only executable code is distributed, then the accompanying +documentation must state that "this software is based in part on the work of +the Independent JPEG Group". +(3) Permission for use of this software is granted only if the user accepts +full responsibility for any undesirable consequences; the authors accept +NO LIABILITY for damages of any kind. + +These conditions apply to any software derived from or based on the IJG code, +not just to the unmodified library. If you use our work, you ought to +acknowledge us. + +Permission is NOT granted for the use of any IJG author's name or company name +in advertising or publicity relating to this software or products derived from +it. This software may be referred to only as "the Independent JPEG Group's +software". + +We specifically permit and encourage the use of this software as the basis of +commercial products, provided that all warranty or liability claims are +assumed by the product vendor. + + +ansi2knr.c is included in this distribution by permission of L. Peter Deutsch, +sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA. +ansi2knr.c is NOT covered by the above copyright and conditions, but instead +by the usual distribution terms of the Free Software Foundation; principally, +that you must include source code if you redistribute it. (See the file +ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part +of any program generated from the IJG code, this does not limit you more than +the foregoing paragraphs do. + +The Unix configuration script "configure" was produced with GNU Autoconf. +It is copyright by the Free Software Foundation but is freely distributable. +The same holds for its supporting scripts (config.guess, config.sub, +ltmain.sh). Another support script, install-sh, is copyright by X Consortium +but is also freely distributable. + +The IJG distribution formerly included code to read and write GIF files. +To avoid entanglement with the Unisys LZW patent, GIF reading support has +been removed altogether, and the GIF writer has been simplified to produce +"uncompressed GIFs". This technique does not use the LZW algorithm; the +resulting GIF files are larger than usual, but are readable by all standard +GIF decoders. + +We are required to state that + "The Graphics Interchange Format(c) is the Copyright property of + CompuServe Incorporated. GIF(sm) is a Service Mark property of + CompuServe Incorporated." + +libjpeg-turbo + +this software is based in part on the work of the Independent JPEG Group. +=================================================================================== + + + +=================================================================================== +LibPNG + + +This copy of the libpng notices is provided for your convenience. In case of +any discrepancy between this copy and the notices in the file png.h that is +included in the libpng distribution, the latter shall prevail. + +COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: + +If you modify libpng you may insert additional notices immediately following +this sentence. + +This code is released under the libpng license. + +libpng versions 1.0.7, July 1, 2000 through 1.6.32, August 24, 2017 are +Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are +derived from libpng-1.0.6, and are distributed according to the same +disclaimer and license as libpng-1.0.6 with the following individuals +added to the list of Contributing Authors: + + Simon-Pierre Cadieux + Eric S. Raymond + Mans Rullgard + Cosmin Truta + Gilles Vollant + James Yu + Mandar Sahastrabuddhe + Google Inc. + Vadim Barkov + +and with the following additions to the disclaimer: + + There is no warranty against interference with your enjoyment of the + library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is with + the user. + +Some files in the "contrib" directory and some configure-generated +files that are distributed with libpng have other copyright owners and +are released under other open source licenses. + +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from +libpng-0.96, and are distributed according to the same disclaimer and +license as libpng-0.96, with the following individuals added to the list +of Contributing Authors: + + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, +and are distributed according to the same disclaimer and license as +libpng-0.88, with the following individuals added to the list of +Contributing Authors: + + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + +Some files in the "scripts" directory have other copyright owners +but are released under this license. + +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: + + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + +The PNG Reference Library is supplied "AS IS". The Contributing Authors +and Group 42, Inc. disclaim all warranties, expressed or implied, +including, without limitation, the warranties of merchantability and of +fitness for any purpose. The Contributing Authors and Group 42, Inc. +assume no liability for direct, indirect, incidental, special, exemplary, +or consequential damages, which may result from the use of the PNG +Reference Library, even if advised of the possibility of such damage. + +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: + + 1. The origin of this source code must not be misrepresented. + + 2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + +The Contributing Authors and Group 42, Inc. specifically permit, without +fee, and encourage the use of this source code as a component to +supporting the PNG file format in commercial products. If you use this +source code in a product, acknowledgment is not required but would be +appreciated. + +END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE. + +TRADEMARK: + +The name "libpng" has not been registered by the Copyright owner +as a trademark in any jurisdiction. However, because libpng has +been distributed and maintained world-wide, continually since 1995, +the Copyright owner claims "common-law trademark protection" in any +jurisdiction where common-law trademark is recognized. + +OSI CERTIFICATION: + +Libpng is OSI Certified Open Source Software. OSI Certified Open Source is +a certification mark of the Open Source Initiative. OSI has not addressed +the additional disclaimers inserted at version 1.0.7. + +EXPORT CONTROL: + +The Copyright owner believes that the Export Control Classification +Number (ECCN) for libpng is EAR99, which means not subject to export +controls or International Traffic in Arms Regulations (ITAR) because +it is open source, publicly available software, that does not contain +any encryption software. See the EAR, paragraphs 734.3(b)(3) and +734.7(b). + +Glenn Randers-Pehrson +glennrp at users.sourceforge.net +April 1, 2017 +=================================================================================== + + + +=================================================================================== +Giflib + +The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +=================================================================================== + + + +=================================================================================== +Google's open-source ZXing ("Zebra Crossing") + +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. +=================================================================================== + + + +=================================================================================== +OpenCV + +License Agreement +For Open Source Computer Vision Library +(3-clause BSD License) + +Copyright (C) 2000-2015, Intel Corporation, all rights reserved. +Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +Copyright (C) 2009-2015, NVIDIA Corporation, all rights reserved. +Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved. +Copyright (C) 2015, OpenCV Foundation, all rights reserved. +Copyright (C) 2015, Itseez Inc., all rights reserved. +Third party copyrights are property of their respective owners. + +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 names of the copyright holders nor the names of the 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 copyright holders 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. +=================================================================================== + + + +=================================================================================== +JsonCpp library + +The JsonCpp library's source code, including accompanying documentation, +tests and demonstration applications, are licensed under the following +conditions... + +The author (Baptiste Lepilleur) explicitly disclaims copyright in all +jurisdictions which recognize such a disclaimer. In such jurisdictions, +this software is released into the Public Domain. + +In jurisdictions which do not recognize Public Domain property (e.g. Germany as of +2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is +released under the terms of the MIT License (see below). + +In jurisdictions which recognize Public Domain property, the user of this +software may choose to accept it either as 1) Public Domain, 2) under the +conditions of the MIT License (see below), or 3) under the terms of dual +Public Domain/MIT License conditions described here, as they choose. + +The MIT License is about as close to Public Domain as a license can get, and is +described in clear, concise terms at: + + http://en.wikipedia.org/wiki/MIT_License + +The full text of the MIT License follows: + +======================================================================== +Copyright (c) 2007-2010 Baptiste Lepilleur + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +======================================================================== +(END LICENSE TEXT) + +The MIT license is compatible with both the GPL and commercial +software, affording one all of the rights of Public Domain with the +minor nuisance of being required to keep the above copyright notice +and license text in the source code. Note also that by accepting the +Public Domain "license" you can re-license your copy using whatever +license you like. +=================================================================================== + + + +=================================================================================== +Libcurl + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1996 - 2015, Daniel Stenberg, daniel@haxx.se. + +All rights reserved. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall not +be used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization of the copyright holder. +=================================================================================== + + + +=================================================================================== +Caffe + +COPYRIGHT + +All contributions by the University of California: +Copyright (c) 2014-2017 The Regents of the University of California (Regents) +All rights reserved. + +All other contributions: +Copyright (c) 2014-2017, the respective contributors +All rights reserved. + +Caffe uses a shared copyright model: each contributor holds copyright over +their contributions to Caffe. The project versioning records all such +contribution and copyright details. If a contributor wants to further mark +their specific copyright on a particular contribution, they should indicate +their copyright solely in the commit message of the change when it is +committed. + +LICENSE + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. 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. + +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. + +CONTRIBUTION AGREEMENT + +By contributing to the BVLC/caffe repository through pull-request, comment, +or otherwise, the contributor releases their content to the +license and copyright terms herein. +=================================================================================== + + + +=================================================================================== +Protocol Buffers + +This license applies to all parts of Protocol Buffers except the following: + + - Atomicops support for generic gcc, located in + src/google/protobuf/stubs/atomicops_internals_generic_gcc.h. + This file is copyrighted by Red Hat Inc. + + - Atomicops support for AIX/POWER, located in + src/google/protobuf/stubs/atomicops_internals_power.h. + This file is copyrighted by Bloomberg Finance LP. + +Copyright 2014, Google Inc. 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 Google Inc. 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. + +Code generated by the Protocol Buffer compiler is owned by the owner +of the input file used when generating it. This code is not +standalone and requires a support library to be linked with it. This +support library is itself covered by the above license. +=================================================================================== + + + +=================================================================================== +Boost + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +=================================================================================== + + + +=================================================================================== +OpenBLAS + +Copyright (c) 2011-2014, The OpenBLAS Project +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. 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. + 3. Neither the name of the OpenBLAS project 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. +=================================================================================== + + + +=================================================================================== +GFlags + +Copyright (c) 2006, Google Inc. +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 Google Inc. 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. +=================================================================================== + + + +=================================================================================== +GLog + +Copyright (c) 2008, Google Inc. +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 Google Inc. 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. + + +A function gettimeofday in utilities.cc is based on + +http://www.google.com/codesearch/p?hl=en#dR3YEbitojA/COPYING&q=GetSystemTimeAsFileTime%20license:bsd + +The license of this code is: + +Copyright (c) 2003-2008, Jouni Malinen and contributors +All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. 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. + +3. Neither the name(s) of the above-listed copyright holder(s) 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. +=================================================================================== + + + +localForage + +-- Offline Storage, Improved +Version 1.7.3 +https://localforage.github.io/localForage +(c) 2013-2017 Mozilla, Apache License 2.0 + + +================================== SOFTWARES USED IN SAMPLES ===================================== + + +Webpack + +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +Angular + +The MIT License + +Copyright (c) 2010-2019 Google LLC. http://angular.io/license + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + +React + +MIT License + +Copyright (c) Facebook, Inc. and its affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +Vue + +The MIT License (MIT) + +Copyright (c) 2013-present, Yuxi (Evan) You + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + +RequireJS + +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/requirejs/requirejs + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules directory, and certain utilities used +to build or test the software in the test and dist directories, are +externally maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + + +eruda + +The MIT License (MIT) + +Copyright (c) 2016-present liriliri + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/example/hybrid/electron/.gitignore b/example/hybrid/electron/.gitignore new file mode 100644 index 00000000..5add9449 --- /dev/null +++ b/example/hybrid/electron/.gitignore @@ -0,0 +1,2 @@ +/node_modules +/yarn.lock diff --git a/example/hybrid/electron/README.md b/example/hybrid/electron/README.md new file mode 100644 index 00000000..623c6ed0 --- /dev/null +++ b/example/hybrid/electron/README.md @@ -0,0 +1,5 @@ +# dbrjs-electron + +`yarn install` or `npm install` + +`yarn start` or `npm run start` diff --git a/example/hybrid/electron/index.html b/example/hybrid/electron/index.html new file mode 100644 index 00000000..d6286a0c --- /dev/null +++ b/example/hybrid/electron/index.html @@ -0,0 +1,70 @@ + + + + + Hello World! + + + + + +

Welcome to DBRJS Electron Example

+ + Choose image(s) to decode: + +

+ + + + diff --git a/example/hybrid/electron/index.js b/example/hybrid/electron/index.js new file mode 100644 index 00000000..c2c94c22 --- /dev/null +++ b/example/hybrid/electron/index.js @@ -0,0 +1,69 @@ +const { app, BrowserWindow } = require('electron'); +const { DBR, BarcodeReader } = require('dynamsoft-javascript-barcode'); + +function createWindow () { + // Create the browser window. + const win = new BrowserWindow({ + width: 800, + height: 600, + webPreferences: { + nodeIntegration: true // not import node api + } + }) + + // and load the index.html of the app. + win.loadFile('index.html') + + // Open the DevTools. + win.webContents.openDevTools() +} + +// This method will be called when Electron has finished +// initialization and is ready to create browser windows. +// Some APIs can only be used after this event occurs. +app.whenReady().then(createWindow) + +// Quit when all windows are closed. +app.on('window-all-closed', () => { + // On macOS it is common for applications and their menu bar + // to stay active until the user quits explicitly with Cmd + Q + if (process.platform !== 'darwin') { + app.quit() + } +}) + +app.on('activate', () => { + // On macOS it's common to re-create a window in the app when the + // dock icon is clicked and there are no other windows open. + if (BrowserWindow.getAllWindows().length === 0) { + createWindow() + } +}) + +// In this file you can include the rest of your app's specific main process +// code. You can also put them in separate files and require them here. + +// use dbrjs in node + +DBR.productKeys = "PRODUCT-KEYS"; + +// error! async can't be used on electron's main process?? +// (async()=>{ +// let reader = await BarcodeReader.createInstance(); +// let results = await reader.decode("../../sample.png"); +// for(let result of results){ +// console.log(result.barcodeText); +// } +// reader.destroy(); +// })(); + +let reader = null; +BarcodeReader.createInstance().then(r=>{ + reader = r; + return reader.decode("../../sample.png"); +}).then(results=>{ + for(let result of results){ + console.log(result.barcodeText); + } + reader.destroy(); +}); diff --git a/example/hybrid/electron/package.json b/example/hybrid/electron/package.json new file mode 100644 index 00000000..9e2f6334 --- /dev/null +++ b/example/hybrid/electron/package.json @@ -0,0 +1,14 @@ +{ + "name": "dbrjs-electron", + "version": "1.0.0", + "main": "index.js", + "scripts": { + "start": "electron ." + }, + "license": "MIT", + "devDependencies": {}, + "dependencies": { + "dynamsoft-javascript-barcode": "8.4.0", + "electron": "^8.1.1" + } +} diff --git a/example/hybrid/nwjs/.gitignore b/example/hybrid/nwjs/.gitignore new file mode 100644 index 00000000..5add9449 --- /dev/null +++ b/example/hybrid/nwjs/.gitignore @@ -0,0 +1,2 @@ +/node_modules +/yarn.lock diff --git a/example/hybrid/nwjs/README.md b/example/hybrid/nwjs/README.md new file mode 100644 index 00000000..5bf9f502 --- /dev/null +++ b/example/hybrid/nwjs/README.md @@ -0,0 +1,13 @@ +# dbrjs-nwjs + +Download NW.js SDK from https://nwjs.io/. + +cd `/path/to/your/app` + +`yarn install` or `npm install` + +`path/to/nw .` to run app. + +`/path/to/nw` is the binary file of NW.js. On Windows, it’s `nw.exe`; On Linux, it’s `nw`; On Mac, it’s `nwjs.app/Contents/MacOS/nwjs`. + +https://nwjs.readthedocs.io/en/latest/For%20Users/Getting%20Started/ diff --git a/example/hybrid/nwjs/index.html b/example/hybrid/nwjs/index.html new file mode 100644 index 00000000..f31bda8f --- /dev/null +++ b/example/hybrid/nwjs/index.html @@ -0,0 +1,68 @@ + + + + + Hello World! + + + + + +

Welcome to DBRJS NW.js Example

+ + Choose image(s) to decode: + +

+ + + + + diff --git a/example/hybrid/nwjs/package.json b/example/hybrid/nwjs/package.json new file mode 100644 index 00000000..3985808e --- /dev/null +++ b/example/hybrid/nwjs/package.json @@ -0,0 +1,13 @@ +{ + "name": "dbrjs-nwjs", + "version": "1.0.0", + "main": "index.html", + "scripts": { + "start": "nw ." + }, + "license": "MIT", + "devDependencies": {}, + "dependencies": { + "dynamsoft-javascript-barcode": "8.4.0" + } +} diff --git a/example/node/helloworld.js b/example/node/helloworld.js new file mode 100644 index 00000000..55ab73b4 --- /dev/null +++ b/example/node/helloworld.js @@ -0,0 +1,37 @@ +let { DBR, BarcodeReader } = require('../../dist/dbr.js'); +// Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get trial license. +// If you use nodejs below version 15, please contact support@dynamsoft.com for a offline trial key of nodejs. +DBR.productKeys = 'PRODUCT-KEYS'; + +(async()=>{ + console.log("============== create reader =============="); + let reader = await BarcodeReader.createInstance(); + console.log("============== decode buffer =============="); + let fs = require('fs'); + let buffer = fs.readFileSync(__dirname + '/../sample.png'); + for(let result of await reader.decode(buffer)){ + console.log(result.barcodeText); + } + console.log("============== decode base64 =============="); + let strBase64 = buffer.toString('base64'); + for(let result of await reader.decodeBase64String(strBase64)){ + console.log(result.barcodeText); + } + console.log("============== decode file =============="); + for(let result of await reader.decode(__dirname + '/../sample.png')){ + console.log(result.barcodeText); + } + console.log("============== decode url =============="); + for(let result of await reader.decode('https://demo.dynamsoft.com/barcode-reader/img/AllSupportedBarcodeTypes.png')){ + console.log(result.barcodeText); + } + console.log("============== destroy reader =============="); + await reader.destroy(); + + // Since the worker keep alive, you can call + await DBR._dbrWorker.terminate(); + // when you need to exit this process. + // Or call + process.exit(); + // directly. +})(); diff --git a/example/node/helloworld.mjs b/example/node/helloworld.mjs new file mode 100644 index 00000000..ba931d11 --- /dev/null +++ b/example/node/helloworld.mjs @@ -0,0 +1,38 @@ +import { DBR, BarcodeReader } from '../../dist/dbr.js'; +import url from 'url' +import fs from 'fs' +// Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get trial license. +// If you use nodejs below version 15, please contact support@dynamsoft.com for a offline trial key of nodejs. +DBR.productKeys = 'PRODUCT-KEYS'; + +(async()=>{ + console.log("============== create reader =============="); + let reader = await BarcodeReader.createInstance(); + console.log("============== decode buffer =============="); + let buffer = fs.readFileSync(new URL('../sample.png', import.meta.url)); + for(let result of await reader.decode(buffer)){ + console.log(result.barcodeText); + } + console.log("============== decode base64 =============="); + let strBase64 = buffer.toString('base64'); + for(let result of await reader.decodeBase64String(strBase64)){ + console.log(result.barcodeText); + } + console.log("============== decode file =============="); + for(let result of await reader.decode(url.fileURLToPath(new URL('../sample.png', import.meta.url)))){ + console.log(result.barcodeText); + } + console.log("============== decode url =============="); + for(let result of await reader.decode('https://demo.dynamsoft.com/barcode-reader/img/AllSupportedBarcodeTypes.png')){ + console.log(result.barcodeText); + } + console.log("============== destroy reader =============="); + await reader.destroy(); + + // Since the worker keep alive, you can call + await DBR._dbrWorker.terminate(); + // when you need to exit this process. + // Or call + process.exit(); + // directly. +})(); diff --git a/example/sample-full.png b/example/sample-full.png new file mode 100644 index 00000000..441a5cef Binary files /dev/null and b/example/sample-full.png differ diff --git a/example/sample.png b/example/sample.png new file mode 100644 index 00000000..02e40f56 Binary files /dev/null and b/example/sample.png differ diff --git a/example/web/angular/.editorconfig b/example/web/angular/.editorconfig new file mode 100644 index 00000000..59d9a3a3 --- /dev/null +++ b/example/web/angular/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/example/web/angular/.gitignore b/example/web/angular/.gitignore new file mode 100644 index 00000000..de51f68a --- /dev/null +++ b/example/web/angular/.gitignore @@ -0,0 +1,45 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc +# Only exists if Bazel was run +/bazel-out + +# dependencies +/node_modules + +# profiling files +chrome-profiler-events*.json + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# misc +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +yarn-error.log +testem.log +/typings + +# System Files +.DS_Store +Thumbs.db diff --git a/example/web/angular/README.md b/example/web/angular/README.md new file mode 100644 index 00000000..99af32a1 --- /dev/null +++ b/example/web/angular/README.md @@ -0,0 +1,27 @@ +# DbrjsAngular + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.0.0. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/example/web/angular/angular.json b/example/web/angular/angular.json new file mode 100644 index 00000000..bad5afdc --- /dev/null +++ b/example/web/angular/angular.json @@ -0,0 +1,106 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "dbrjs-angular": { + "projectType": "application", + "schematics": { + "@schematics/angular:application": { + "strict": true + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/dbrjs-angular", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.app.json", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.css" + ], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all" + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "browserTarget": "dbrjs-angular:build:production" + }, + "development": { + "browserTarget": "dbrjs-angular:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "dbrjs-angular:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.css" + ], + "scripts": [] + } + } + } + } + }, + "defaultProject": "dbrjs-angular" +} diff --git a/example/web/angular/karma.conf.js b/example/web/angular/karma.conf.js new file mode 100644 index 00000000..e29cf7d3 --- /dev/null +++ b/example/web/angular/karma.conf.js @@ -0,0 +1,44 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + jasmine: { + // you can add configuration options for Jasmine here + // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html + // for example, you can disable the random execution with `random: false` + // or set a specific seed with `seed: 4321` + }, + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, + coverageReporter: { + dir: require('path').join(__dirname, './coverage/dbrjs-angular'), + subdir: '.', + reporters: [ + { type: 'html' }, + { type: 'text-summary' } + ] + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false, + restartOnFileChange: true + }); +}; diff --git a/example/web/angular/package.json b/example/web/angular/package.json new file mode 100644 index 00000000..b970cd24 --- /dev/null +++ b/example/web/angular/package.json @@ -0,0 +1,40 @@ +{ + "name": "dbrjs-angular", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "~12.0.0", + "@angular/common": "~12.0.0", + "@angular/compiler": "~12.0.0", + "@angular/core": "~12.0.0", + "@angular/forms": "~12.0.0", + "@angular/platform-browser": "~12.0.0", + "@angular/platform-browser-dynamic": "~12.0.0", + "@angular/router": "~12.0.0", + "dynamsoft-javascript-barcode": "8.4.0", + "rxjs": "~6.6.0", + "tslib": "^2.1.0", + "zone.js": "~0.11.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "~12.0.0", + "@angular/cli": "~12.0.0", + "@angular/compiler-cli": "~12.0.0", + "@types/jasmine": "~3.6.0", + "@types/node": "^12.11.1", + "jasmine-core": "~3.7.0", + "karma": "~6.3.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.0.3", + "karma-jasmine": "~4.0.0", + "karma-jasmine-html-reporter": "^1.5.0", + "typescript": "~4.2.3" + } +} diff --git a/example/web/angular/src/app/app.component.css b/example/web/angular/src/app/app.component.css new file mode 100644 index 00000000..e69de29b diff --git a/example/web/angular/src/app/app.component.html b/example/web/angular/src/app/app.component.html new file mode 100644 index 00000000..782b729b --- /dev/null +++ b/example/web/angular/src/app/app.component.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/example/web/angular/src/app/app.component.spec.ts b/example/web/angular/src/app/app.component.spec.ts new file mode 100644 index 00000000..27a94483 --- /dev/null +++ b/example/web/angular/src/app/app.component.spec.ts @@ -0,0 +1,18 @@ +import { TestBed } from '@angular/core/testing'; +import { AppComponent } from './app.component'; + +describe('AppComponent', () => { + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ + AppComponent + ], + }).compileComponents(); + }); + + it('should create the app', () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); +}); diff --git a/example/web/angular/src/app/app.component.ts b/example/web/angular/src/app/app.component.ts new file mode 100644 index 00000000..7c2c757a --- /dev/null +++ b/example/web/angular/src/app/app.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.css'] +}) +export class AppComponent { + title = 'dbrjs-angular'; +} diff --git a/example/web/angular/src/app/app.module.ts b/example/web/angular/src/app/app.module.ts new file mode 100644 index 00000000..c585fd2c --- /dev/null +++ b/example/web/angular/src/app/app.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; + +import { AppComponent } from './app.component'; +import { HelloWorldComponent } from './hello-world/hello-world.component'; +import { BarcodeScannerComponent } from './barcode-scanner/barcode-scanner.component'; + +@NgModule({ + declarations: [ + AppComponent, + HelloWorldComponent, + BarcodeScannerComponent + ], + imports: [ + BrowserModule + ], + providers: [], + bootstrap: [AppComponent] +}) +export class AppModule { } diff --git a/example/web/angular/src/app/barcode-scanner/barcode-scanner.component.html b/example/web/angular/src/app/barcode-scanner/barcode-scanner.component.html new file mode 100644 index 00000000..8e2f1d61 --- /dev/null +++ b/example/web/angular/src/app/barcode-scanner/barcode-scanner.component.html @@ -0,0 +1,4 @@ + + +
+ diff --git a/example/web/angular/src/app/barcode-scanner/barcode-scanner.component.spec.ts b/example/web/angular/src/app/barcode-scanner/barcode-scanner.component.spec.ts new file mode 100644 index 00000000..00041ffd --- /dev/null +++ b/example/web/angular/src/app/barcode-scanner/barcode-scanner.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BarcodeScannerComponent } from './barcode-scanner.component'; + +describe('BarcodeScannerComponent', () => { + let component: BarcodeScannerComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ BarcodeScannerComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(BarcodeScannerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/example/web/angular/src/app/barcode-scanner/barcode-scanner.component.ts b/example/web/angular/src/app/barcode-scanner/barcode-scanner.component.ts new file mode 100644 index 00000000..c83449de --- /dev/null +++ b/example/web/angular/src/app/barcode-scanner/barcode-scanner.component.ts @@ -0,0 +1,47 @@ +import { Component, OnInit, OnDestroy, Output, EventEmitter, ElementRef} from '@angular/core'; +import "../dbr"; +import { BarcodeScanner, TextResult } from 'dynamsoft-javascript-barcode'; + +@Component({ + selector: 'app-barcode-scanner', + templateUrl: './barcode-scanner.component.html', + styleUrls: [] +}) +export class BarcodeScannerComponent implements OnInit, OnDestroy { + bDestroyed = false; + pScanner:Promise|null = null; + @Output() appendMessage = new EventEmitter(); + constructor(private elementRef : ElementRef) { } + + async ngOnInit() { + try{ + let scanner = await (this.pScanner = this.pScanner || BarcodeScanner.createInstance()); + + if(this.bDestroyed){ + scanner.destroy(); + return; + } + + scanner.setUIElement(this.elementRef.nativeElement); + scanner.onFrameRead = (results:TextResult[]) => { + if(results.length){ + console.log(results); + } + }; + scanner.onUnduplicatedRead = (txt:string, result:TextResult) => { + this.appendMessage.emit(result.barcodeFormatString + ': ' + txt); + }; + await scanner.open(); + + }catch(ex){ + this.appendMessage.emit(ex.message); + console.error(ex); + } + } + async ngOnDestroy(){ + this.bDestroyed = true; + if(this.pScanner){ + (await this.pScanner).destroy(); + } + } +} diff --git a/example/web/angular/src/app/dbr.ts b/example/web/angular/src/app/dbr.ts new file mode 100644 index 00000000..2ae0c143 --- /dev/null +++ b/example/web/angular/src/app/dbr.ts @@ -0,0 +1,5 @@ +import DBR from "dynamsoft-javascript-barcode"; +DBR.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/"; +// Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get a trial license +DBR.productKeys = "PRODUCT-KEYS"; +// BarcodeReader._bUseFullFeature = true; // Control of loading min wasm or full wasm. diff --git a/example/web/angular/src/app/hello-world/hello-world.component.html b/example/web/angular/src/app/hello-world/hello-world.component.html new file mode 100644 index 00000000..afb8742d --- /dev/null +++ b/example/web/angular/src/app/hello-world/hello-world.component.html @@ -0,0 +1,20 @@ + +

{{ title }}

+ +
+ Choose image(s) to decode: + +

+ +
+ +
+ + +
+ +
+

+ {{ message }} +

+
diff --git a/example/web/angular/src/app/hello-world/hello-world.component.spec.ts b/example/web/angular/src/app/hello-world/hello-world.component.spec.ts new file mode 100644 index 00000000..6b473e14 --- /dev/null +++ b/example/web/angular/src/app/hello-world/hello-world.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HelloWorldComponent } from './hello-world.component'; + +describe('HelloWorldComponent', () => { + let component: HelloWorldComponent; + let fixture: ComponentFixture; + + beforeEach(async() => { + TestBed.configureTestingModule({ + declarations: [ HelloWorldComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(HelloWorldComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/example/web/angular/src/app/hello-world/hello-world.component.ts b/example/web/angular/src/app/hello-world/hello-world.component.ts new file mode 100644 index 00000000..618c0de8 --- /dev/null +++ b/example/web/angular/src/app/hello-world/hello-world.component.ts @@ -0,0 +1,72 @@ +import { Component, Input, ElementRef, ViewChild, AfterViewChecked, OnDestroy } from '@angular/core'; +import "../dbr"; +import { BarcodeReader } from 'dynamsoft-javascript-barcode'; + +@Component({ + selector: 'app-hello-world', + templateUrl: './hello-world.component.html', + styleUrls: [] +}) +export class HelloWorldComponent implements AfterViewChecked, OnDestroy { + + @Input() title:string = null as any as string; + @ViewChild('divMessage', {static: false}) divMessage: ElementRef = null as any as ElementRef; + + pReader:Promise|null = null; + messageKeyBase = 0; + messages:string[] = []; + needMessage2Bottom = false; + bShowScanner = false; + + constructor() { } + + ngAfterViewChecked(){ + if(this.needMessage2Bottom){ + this.needMessage2Bottom = false; + this.divMessage.nativeElement.scrollTop = this.divMessage.nativeElement.scrollHeight; + } + } + + async ngOnDestroy(){ + if(this.pReader){ + (await this.pReader).destroy(); + } + } + + appendMessage(str:string){ + this.messages.push(str); + if(this.messages.length > 500){ + ++this.messageKeyBase; + this.messages.splice(0, 1); + } + this.needMessage2Bottom = true; + } + async onIptChange(event:Event) { + try{ + this.appendMessage("======== start read... ========"); + let reader = await (this.pReader = this.pReader || BarcodeReader.createInstance()); + let input = event.target as HTMLInputElement; + let files = input.files as FileList; + for(let i = 0; i < files.length; ++i){ + let file = files[i]; + this.appendMessage(file.name + ':') + let results = await reader.decode(file); + for(let result of results){ + this.appendMessage(result.barcodeText); + } + } + input.value = ""; + this.appendMessage("======== finish read ========"); + }catch(ex){ + this.appendMessage(ex.message); + console.error(ex); + } + } + showScanner(){ + this.bShowScanner = true; + } + hideScanner(){ + this.bShowScanner = false; + } + +} diff --git a/example/web/angular/src/assets/.gitkeep b/example/web/angular/src/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/example/web/angular/src/environments/environment.prod.ts b/example/web/angular/src/environments/environment.prod.ts new file mode 100644 index 00000000..3612073b --- /dev/null +++ b/example/web/angular/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/example/web/angular/src/environments/environment.ts b/example/web/angular/src/environments/environment.ts new file mode 100644 index 00000000..f56ff470 --- /dev/null +++ b/example/web/angular/src/environments/environment.ts @@ -0,0 +1,16 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. diff --git a/example/web/angular/src/favicon.ico b/example/web/angular/src/favicon.ico new file mode 100644 index 00000000..997406ad Binary files /dev/null and b/example/web/angular/src/favicon.ico differ diff --git a/example/web/angular/src/index.html b/example/web/angular/src/index.html new file mode 100644 index 00000000..67182cb0 --- /dev/null +++ b/example/web/angular/src/index.html @@ -0,0 +1,13 @@ + + + + + DbrjsAngular + + + + + + + + diff --git a/example/web/angular/src/main.ts b/example/web/angular/src/main.ts new file mode 100644 index 00000000..c7b673cf --- /dev/null +++ b/example/web/angular/src/main.ts @@ -0,0 +1,12 @@ +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.error(err)); diff --git a/example/web/angular/src/polyfills.ts b/example/web/angular/src/polyfills.ts new file mode 100644 index 00000000..373f538a --- /dev/null +++ b/example/web/angular/src/polyfills.ts @@ -0,0 +1,65 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** + * IE11 requires the following for NgClass support on SVG elements + */ +// import 'classlist.js'; // Run `npm install --save classlist.js`. + +/** + * Web Animations `@angular/platform-browser/animations` + * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. + * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). + */ +// import 'web-animations-js'; // Run `npm install --save web-animations-js`. + +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + * because those flags need to be set before `zone.js` being loaded, and webpack + * will put import in the top of bundle, so user need to create a separate file + * in this directory (for example: zone-flags.ts), and put the following flags + * into that file, and then add the following code before importing zone.js. + * import './zone-flags'; + * + * The flags allowed in zone-flags.ts are listed here. + * + * The following flags will work for all browsers. + * + * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + * + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + * + * (window as any).__Zone_enable_cross_context_check = true; + * + */ + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +import 'zone.js'; // Included with Angular CLI. + + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ diff --git a/example/web/angular/src/styles.css b/example/web/angular/src/styles.css new file mode 100644 index 00000000..90d4ee00 --- /dev/null +++ b/example/web/angular/src/styles.css @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/example/web/angular/src/test.ts b/example/web/angular/src/test.ts new file mode 100644 index 00000000..20423564 --- /dev/null +++ b/example/web/angular/src/test.ts @@ -0,0 +1,25 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: { + context(path: string, deep?: boolean, filter?: RegExp): { + keys(): string[]; + (id: string): T; + }; +}; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() +); +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().map(context); diff --git a/example/web/angular/tsconfig.app.json b/example/web/angular/tsconfig.app.json new file mode 100644 index 00000000..82d91dc4 --- /dev/null +++ b/example/web/angular/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": [ + "src/main.ts", + "src/polyfills.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} diff --git a/example/web/angular/tsconfig.json b/example/web/angular/tsconfig.json new file mode 100644 index 00000000..6df82832 --- /dev/null +++ b/example/web/angular/tsconfig.json @@ -0,0 +1,30 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "es2017", + "module": "es2020", + "lib": [ + "es2018", + "dom" + ] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/example/web/angular/tsconfig.spec.json b/example/web/angular/tsconfig.spec.json new file mode 100644 index 00000000..092345b0 --- /dev/null +++ b/example/web/angular/tsconfig.spec.json @@ -0,0 +1,18 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "files": [ + "src/test.ts", + "src/polyfills.ts" + ], + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/example/web/angular/tslint.json b/example/web/angular/tslint.json new file mode 100644 index 00000000..c8d70f15 --- /dev/null +++ b/example/web/angular/tslint.json @@ -0,0 +1,91 @@ +{ + "extends": "tslint:recommended", + "rules": { + "array-type": false, + "arrow-parens": false, + "deprecation": { + "severity": "warning" + }, + "component-class-suffix": true, + "contextual-lifecycle": true, + "directive-class-suffix": true, + "directive-selector": [ + true, + "attribute", + "app", + "camelCase" + ], + "component-selector": [ + true, + "element", + "app", + "kebab-case" + ], + "import-blacklist": [ + true, + "rxjs/Rx" + ], + "interface-name": false, + "max-classes-per-file": false, + "max-line-length": [ + true, + 140 + ], + "member-access": false, + "member-ordering": [ + true, + { + "order": [ + "static-field", + "instance-field", + "static-method", + "instance-method" + ] + } + ], + "no-consecutive-blank-lines": false, + "no-console": [ + true, + "debug", + "info", + "time", + "timeEnd", + "trace" + ], + "no-empty": false, + "no-inferrable-types": [ + true, + "ignore-params" + ], + "no-non-null-assertion": true, + "no-redundant-jsdoc": true, + "no-switch-case-fall-through": true, + "no-var-requires": false, + "object-literal-key-quotes": [ + true, + "as-needed" + ], + "object-literal-sort-keys": false, + "ordered-imports": false, + "quotemark": [ + true, + "single" + ], + "trailing-comma": false, + "no-conflicting-lifecycle": true, + "no-host-metadata-property": true, + "no-input-rename": true, + "no-inputs-metadata-property": true, + "no-output-native": true, + "no-output-on-prefix": true, + "no-output-rename": true, + "no-outputs-metadata-property": true, + "template-banana-in-box": true, + "template-no-negated-async": true, + "use-lifecycle-interface": true, + "use-pipe-transform-interface": true + }, + "rulesDirectory": [ + "codelyzer" + ] +} \ No newline at end of file diff --git a/example/web/angularDart/.gitignore b/example/web/angularDart/.gitignore new file mode 100644 index 00000000..39273b98 --- /dev/null +++ b/example/web/angularDart/.gitignore @@ -0,0 +1,11 @@ +# Files and directories created by pub +.dart_tool +.packages +.pub/ +build/ +# Remove the following pattern if you wish to check in your lock file +pubspec.lock +# Directory created by dartdoc +doc/api/ +# See https://github.com/dart-lang/site-webdev/issues/1351 +test/**/*.g.dart diff --git a/example/web/angularDart/LICENSE b/example/web/angularDart/LICENSE new file mode 100644 index 00000000..94b25c9f --- /dev/null +++ b/example/web/angularDart/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2014-2018 Google, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/example/web/angularDart/README.md b/example/web/angularDart/README.md new file mode 100644 index 00000000..9440fa67 --- /dev/null +++ b/example/web/angularDart/README.md @@ -0,0 +1,24 @@ +## Setup for Development + +Welcome to the example app used in the +[Setup for Development](https://webdev.dartlang.org/angular/guide/setup) page +of [Dart for the web](https://webdev.dartlang.org). + +You can run a [hosted copy](https://webdev.dartlang.org/examples/quickstart) of this +sample. Or run your own copy: + +1. Create a local copy of this repo (use the "Clone or download" button above). +2. Get the dependencies: `pub get` +3. Get the webdev tool: `pub global activate webdev` +4. Launch a development server: `webdev serve` +5. In a browser, open [http://localhost:8080](http://localhost:8080) + +--- + +*Note:* The content of this repository is generated from the +[Angular docs repository][docs repo] by running the +[dart-doc-syncer](//github.com/dart-lang/dart-doc-syncer) tool. +If you find a problem with this sample's code, please open an [issue][]. + +[docs repo]: //github.com/dart-lang/site-webdev/tree/master/examples/ng/doc/quickstart +[issue]: //github.com/dart-lang/site-webdev/issues/new?title=[master]%20examples/ng/doc/quickstart diff --git a/example/web/angularDart/analysis_options.yaml b/example/web/angularDart/analysis_options.yaml new file mode 100644 index 00000000..057810cb --- /dev/null +++ b/example/web/angularDart/analysis_options.yaml @@ -0,0 +1,19 @@ +analyzer: + exclude: [build/**] + errors: + uri_has_not_been_generated: ignore + plugins: + - angular + +# Lint rules and documentation, see http://dart-lang.github.io/linter/lints +linter: + rules: + - cancel_subscriptions + - hash_and_equals + - iterable_contains_unrelated_type + - list_remove_unrelated_type + - test_types_in_equals + - unnecessary_const + - unnecessary_new + - unrelated_type_equality_checks + - valid_regexps diff --git a/example/web/angularDart/lib/app_component.dart b/example/web/angularDart/lib/app_component.dart new file mode 100644 index 00000000..c07f8a2d --- /dev/null +++ b/example/web/angularDart/lib/app_component.dart @@ -0,0 +1,81 @@ +import 'dart:js'; +import 'package:angular/angular.dart'; +import 'dart:html'; +import 'package:dbrjs_angulardart/dbr.dart'; +import 'package:js/js_util.dart'; + +@Component( + selector: 'my-app', + templateUrl: 'app_component.html', + directives: [coreDirectives] +) +class AppComponent implements OnInit { + bool bFinishDecodingSample = false; + BarcodeReader reader = null; + BarcodeScanner scanner = null; + + void ngOnInit() async { + // BarcodeReader._bUseFullFeature = true; // Control of loading min wasm or full wasm. + try{ + if(null == this.reader){ + this.reader = await promiseToFuture(BarcodeReader.createInstance()); + } + var results = (await promiseToFuture(this.reader.decode("qr.png")) as List); + var resultsToAlert = []; + resultsToAlert.add('Sample image:\n'); + for(var result in results){ + var txt = getProperty(result,"barcodeText"); + resultsToAlert.add(txt); + print(txt); + } + window.alert(resultsToAlert.join("\n")); + + }catch(ex){ + window.alert(ex.toString()); + window.console.error(ex); + } + this.bFinishDecodingSample = true; + } + + void onIptChange(Event ev) async { + var ipt = ev.target as InputElement; + if(null == this.reader){ + this.reader = await promiseToFuture(BarcodeReader.createInstance()); + } + try{ + var files = ipt.files; + var resultsToAlert = JsArray(); + for(var i = 0; i < files.length; ++i){ + var file = files[i]; + resultsToAlert.add(i.toString()+". "+file.name+":"); + var results = (await promiseToFuture(this.reader.decode(file)) as List); + window.console.log(results); + for(var result in results){ + var txt = getProperty(result,"barcodeText"); + resultsToAlert.add(txt); + } + } + window.alert(resultsToAlert.join('\n')); + }catch(ex){ + window.alert(ex.toString()); + window.console.error(ex); + } + ipt.value = ""; + } + + void showScanner() async { + try{ + if(null == this.scanner){ + this.scanner = await promiseToFuture(BarcodeScanner.createInstance()); + } + scanner.onFrameRead = (List results) => (results.length > 0 ? window.console.log(results) : null ); + scanner.onUnduplicatedRead = (String txt, JsObject result) => window.alert((getProperty(result,"barcodeFormatString") as String) + ': ' + txt); + scanner.show(); + }catch(ex){ + window.alert(ex.toString()); + throw ex; + } + } +} + + diff --git a/example/web/angularDart/lib/app_component.html b/example/web/angularDart/lib/app_component.html new file mode 100644 index 00000000..250ea6c8 --- /dev/null +++ b/example/web/angularDart/lib/app_component.html @@ -0,0 +1,6 @@ +

Welcome to DBRJS AngularDart Example

+Choose image(s) to decode: + +

+ +

Running test: decode sample image...

diff --git a/example/web/angularDart/lib/dbr.dart b/example/web/angularDart/lib/dbr.dart new file mode 100644 index 00000000..eeb63543 --- /dev/null +++ b/example/web/angularDart/lib/dbr.dart @@ -0,0 +1,27 @@ +@JS('Dynamsoft.DBR') +library Dynamsoft.DBR; + +import "package:js/js.dart"; + +// @JS() +// class Promise { +// // external Promise(void executor(void resolve(T result), Function reject)); +// external Promise then(Function(T result)); +// } + +@JS() +class BarcodeReader { + external static bool get _bUseFullFeature; + external static set _bUseFullFeature(bool v); + external static dynamic createInstance();//Promise + external dynamic decode(dynamic);//Promise + external dynamic decodeBase64String(dynamic);//Promise +} + +@JS() +class BarcodeScanner { + external static dynamic createInstance();//Promise + external set onFrameRead(dynamic v);//(dynamic results); + external set onUnduplicatedRead(dynamic v);//(String txt, dynamic result); + external dynamic show();//Promise +} diff --git a/example/web/angularDart/pubspec.yaml b/example/web/angularDart/pubspec.yaml new file mode 100644 index 00000000..c6ccd4a5 --- /dev/null +++ b/example/web/angularDart/pubspec.yaml @@ -0,0 +1,17 @@ +name: dbrjs_angulardart +description: A web app that uses AngularDart +version: 0.0.1 + +environment: + sdk: '>=2.2.0 <3.0.0' + +dependencies: + angular: ^6.0.0-alpha + js: ^0.6.0 + +dev_dependencies: + angular_test: ^2.3.1 + build_runner: ^1.5.1 + build_test: ^0.10.8 + build_web_compilers: ^2.1.0 + test: ^1.6.4 diff --git a/example/web/angularDart/test/app_test.dart b/example/web/angularDart/test/app_test.dart new file mode 100644 index 00000000..80fc158e --- /dev/null +++ b/example/web/angularDart/test/app_test.dart @@ -0,0 +1,22 @@ +@TestOn('browser') + +import 'package:dbrjs_angulardart/app_component.dart'; +import 'package:dbrjs_angulardart/app_component.template.dart' as ng; +import 'package:angular_test/angular_test.dart'; +import 'package:test/test.dart'; + +void main() { + final testBed = + NgTestBed.forComponent(ng.AppComponentNgFactory); + NgTestFixture fixture; + + setUp(() async { + fixture = await testBed.create(); + }); + + tearDown(disposeAnyRunningTest); + + test('Default greeting', () { + expect(fixture.text, 'Welcome to DBRJS AngularDart example'); + }); +} diff --git a/example/web/angularDart/web/favicon.png b/example/web/angularDart/web/favicon.png new file mode 100644 index 00000000..dd18702e Binary files /dev/null and b/example/web/angularDart/web/favicon.png differ diff --git a/example/web/angularDart/web/index.html b/example/web/angularDart/web/index.html new file mode 100644 index 00000000..fb35d755 --- /dev/null +++ b/example/web/angularDart/web/index.html @@ -0,0 +1,30 @@ + + + + + + + Hello Dbrjs Angular + + + + + + + + + + + + + Loading... + + + diff --git a/example/web/angularDart/web/main.dart b/example/web/angularDart/web/main.dart new file mode 100644 index 00000000..16fce790 --- /dev/null +++ b/example/web/angularDart/web/main.dart @@ -0,0 +1,6 @@ +import 'package:angular/angular.dart'; +import 'package:dbrjs_angulardart/app_component.template.dart' as ng; + +void main() { + runApp(ng.AppComponentNgFactory); +} diff --git a/example/web/angularDart/web/qr.png b/example/web/angularDart/web/qr.png new file mode 100644 index 00000000..dbc04cd3 Binary files /dev/null and b/example/web/angularDart/web/qr.png differ diff --git a/example/web/angularDart/web/styles.css b/example/web/angularDart/web/styles.css new file mode 100644 index 00000000..ef7a1860 --- /dev/null +++ b/example/web/angularDart/web/styles.css @@ -0,0 +1,117 @@ +@import url(https://fonts.googleapis.com/css?family=Roboto); +@import url(https://fonts.googleapis.com/css?family=Material+Icons); + +/* Master Styles */ +h1 { + color: #369; + font-family: Arial, Helvetica, sans-serif; + font-size: 250%; +} +h2, h3 { + color: #444; + font-family: Arial, Helvetica, sans-serif; + font-weight: lighter; +} +body { + margin: 2em; +} +body, input[text], button { + color: #888; + font-family: Cambria, Georgia; +} +a { + cursor: pointer; + cursor: hand; +} +button { + font-family: Arial; + background-color: #eee; + border: none; + padding: 5px 10px; + border-radius: 4px; + cursor: pointer; + cursor: hand; +} +button:hover { + background-color: #cfd8dc; +} +button:disabled { + background-color: #eee; + color: #aaa; + cursor: auto; +} +label { + padding-right: 0.5em; +} +/* Navigation link styles */ +nav a { + padding: 5px 10px; + text-decoration: none; + margin-right: 10px; + margin-top: 10px; + display: inline-block; + background-color: #eee; + border-radius: 4px; +} +nav a:visited, a:link { + color: #607D8B; +} +nav a:hover { + color: #039be5; + background-color: #CFD8DC; +} +nav a.active { + color: #039be5; +} + +/* items class */ +.items { + margin: 0 0 2em 0; + list-style-type: none; + padding: 0; + width: 24em; +} +.items li { + cursor: pointer; + position: relative; + left: 0; + background-color: #EEE; + margin: .5em; + padding: .3em 0; + height: 1.6em; + border-radius: 4px; +} +.items li:hover { + color: #607D8B; + background-color: #DDD; + left: .1em; +} +.items li.selected { + background-color: #CFD8DC; + color: white; +} +.items li.selected:hover { + background-color: #BBD8DC; +} +.items .text { + position: relative; + top: -3px; +} +.items .badge { + display: inline-block; + font-size: small; + color: white; + padding: 0.8em 0.7em 0 0.7em; + background-color: #607D8B; + line-height: 1em; + position: relative; + left: -1px; + top: -4px; + height: 1.8em; + margin-right: .8em; + border-radius: 4px 0 0 4px; +} +/* everywhere else */ +* { + font-family: Arial, Helvetica, sans-serif; +} diff --git a/example/web/debug/.gitignore b/example/web/debug/.gitignore new file mode 100644 index 00000000..8e3027a8 --- /dev/null +++ b/example/web/debug/.gitignore @@ -0,0 +1 @@ +/public/collect/* \ No newline at end of file diff --git a/example/web/debug/README.md b/example/web/debug/README.md new file mode 100644 index 00000000..0f643915 --- /dev/null +++ b/example/web/debug/README.md @@ -0,0 +1,11 @@ +The example is for debug camera and video on mobile browser. + +To collect image you need a server. + +Here we use nodejs express. + +`npm install` + +`node app.js` + +Quick Debug: https://dynamsoft.github.io/javascript-barcode/example/web/debug/public/index.html diff --git a/example/web/debug/app.js b/example/web/debug/app.js new file mode 100644 index 00000000..bd09d818 --- /dev/null +++ b/example/web/debug/app.js @@ -0,0 +1,43 @@ +const express = require('express'); +const fs = require('fs'); +const https = require('https'); +const cors = require('cors'); +const util = require('util'); +const path = require('path'); +const multer = require('multer'); + +const app = express(); +// Access-Control-Allow-Origin: **any** +app.use(cors({ + origin: (origin, callback) => { + return callback(null, true); + } +})); + +// collect images +const dirCollect = path.join(__dirname, 'public/collect'); +if(!fs.existsSync(dirCollect)){ + fs.mkdirSync(dirCollect); +} +const collect = multer({ storage: multer.diskStorage({ + destination: (req, file, cb) => { + cb(null, dirCollect); + }, + filename: (req, file, cb) => { + cb(null, Date.now()+'.png'); + } +}) });//dest: path.join(__dirname, 'public/collect') +app.post('/collect', collect.any(), async(req, res) => { + res.send(util.inspect(req.files,{depth:null})); +}); + +// static files +app.use(express.static(path.join(__dirname, 'public'))); + +let httpsServer = https.createServer({ + key: fs.readFileSync(path.join(__dirname, 'pem/ryans-key.pem')), + cert: fs.readFileSync(path.join(__dirname, 'pem/ryans-cert.pem')) +}, app); + +let httpsPort = 4443; +httpsServer.listen(httpsPort, () => console.log('Page is available in https://localhost:'+httpsPort+'/')); diff --git a/example/web/debug/package.json b/example/web/debug/package.json new file mode 100644 index 00000000..a815b589 --- /dev/null +++ b/example/web/debug/package.json @@ -0,0 +1,16 @@ +{ + "name": "collect-img", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "cors": "^2.8.5", + "express": "^4.17.1", + "multer": "^1.4.2" + } +} diff --git a/example/web/debug/pem/ryans-cert.pem b/example/web/debug/pem/ryans-cert.pem new file mode 100644 index 00000000..6939a9c0 --- /dev/null +++ b/example/web/debug/pem/ryans-cert.pem @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIICDDCCAXUCFGlprxUW7YsQSmqXwS3fjySQwexCMA0GCSqGSIb3DQEBCwUAMEUx +CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl +cm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMjAwMTE3MDE0OTM0WhcNMjAwMjE2MDE0 +OTM0WjBFMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UE +CgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIGfMA0GCSqGSIb3DQEBAQUAA4GN +ADCBiQKBgQCt3L/syEyB8B9O8Xhf3/SJOfTsoSs+3+/ELvFd07QEP0mySRjh9hUL +BjB1bWJXBshn9JBzlfGUjRtNkc54VF1JfjFgi7UzqqyAlAwfEMBbp8jUX1Hh9iU7 +ctTAHxcAicTWTkRmToXJBUhbgTH+eF/GfQTdnByrncprQfuqdPg2KwIDAQABMA0G +CSqGSIb3DQEBCwUAA4GBAKRRbXBhTS95IimKoIZq3RtVrjXpcsBn5ncyvFULc6Y5 +OkOxum5TO++XHVOJyalqyWpAQuz6i348hxTW6wqt5Js0UPGLGIb4Kq965QKKT+yJ +WnHOnzZzJxiTs/1uGFjPAKgdvuDhcx36YsvSQ/UnJvF0rttjLKOGI5SkFMgz1Ufz +-----END CERTIFICATE----- diff --git a/example/web/debug/pem/ryans-csr.pem b/example/web/debug/pem/ryans-csr.pem new file mode 100644 index 00000000..71cc8492 --- /dev/null +++ b/example/web/debug/pem/ryans-csr.pem @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIBhDCB7gIBADBFMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEh +MB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIGfMA0GCSqGSIb3DQEB +AQUAA4GNADCBiQKBgQCt3L/syEyB8B9O8Xhf3/SJOfTsoSs+3+/ELvFd07QEP0my +SRjh9hULBjB1bWJXBshn9JBzlfGUjRtNkc54VF1JfjFgi7UzqqyAlAwfEMBbp8jU +X1Hh9iU7ctTAHxcAicTWTkRmToXJBUhbgTH+eF/GfQTdnByrncprQfuqdPg2KwID +AQABoAAwDQYJKoZIhvcNAQELBQADgYEAgwEY90gQQzxIonWEgDxGRBHxSk0h3UE4 +rTP3JggV6h0vXMndOrDXC2qrh20fJaWIHqbBtmfOF4NmPhQTSZOZ2fIjPBeHZqLq +8+K9iZPeyjnVIRyWkXfCPacoddTw2FcykRobgL6Wi/RoldutOnIDlTawo5Y/eXvm +JI0428mqYU4= +-----END CERTIFICATE REQUEST----- diff --git a/example/web/debug/pem/ryans-key.pem b/example/web/debug/pem/ryans-key.pem new file mode 100644 index 00000000..bf0ff875 --- /dev/null +++ b/example/web/debug/pem/ryans-key.pem @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCt3L/syEyB8B9O8Xhf3/SJOfTsoSs+3+/ELvFd07QEP0mySRjh +9hULBjB1bWJXBshn9JBzlfGUjRtNkc54VF1JfjFgi7UzqqyAlAwfEMBbp8jUX1Hh +9iU7ctTAHxcAicTWTkRmToXJBUhbgTH+eF/GfQTdnByrncprQfuqdPg2KwIDAQAB +AoGAO6O6zm2TGQuWoczhPvoi9yPDaZyLqiDFLaXws//YA5D2Jcs/VtvEMijoXI+u +KS4xdr+FAbFQ0mVpFT3L9qjx6p/lSVKzJ1tlVlp7klJzK0VOWmMojLrhsstp44ah +jZQdxcnlEDgeBwXj5m09fr7YFfIiyHef+r9ORqn00F7K+xkCQQDhy5k00dsfL5MY +oy70Ikb70n90qktnFXrgsgEeojG0j0OmJUdNLV6gXbkD4lEeh6iK5XdAEuso+Qw1 +5Ksa3d11AkEAxR6yMXPIbl+4y24TbIGAZwb44Lyn9DAnLm5qgFvMgJARz+kqlYyr +tpZ6cD1JY3fuF+umDlNPYzxGxy3kz/sxHwJBAJNiLDzYBmmSyjc4vPtKLH9PZTan +udQtpylnx2dRg5RSN1wJ1ULBLJUM2Cl63mxJLHCNW4uNTcZO2fOLsUw2KckCQBFp +dboSjSjawbsOfR6/jbUME53ebEOQoVVjoXq3IShWEYy4/u743w4g2q3hbAMiS+DH +CwMG7uNIJsRfVG/es2cCQD7R6ebztt858vYZzfLMLMsJTF2YQs1YG91x76lZLhNp +tcTTENHD4g9v/Q5MV+fhN0UuJ2ikrXULAgDmJMvAVyk= +-----END RSA PRIVATE KEY----- diff --git a/example/web/debug/public/index.html b/example/web/debug/public/index.html new file mode 100644 index 00000000..898cab55 --- /dev/null +++ b/example/web/debug/public/index.html @@ -0,0 +1,115 @@ + + + + + + + + + +
+ + + +
+ +
+
+ + + + + + + + diff --git a/example/web/decode-driver-license-for-AAMVA/driverlicense.js b/example/web/decode-driver-license-for-AAMVA/driverlicense.js new file mode 100644 index 00000000..121c7bbb --- /dev/null +++ b/example/web/decode-driver-license-for-AAMVA/driverlicense.js @@ -0,0 +1,113 @@ +// AAMVA2016, driver license abbreviation-description map +const DLAbbrDesMap = { + 'DCA': 'Jurisdiction-specific vehicle class', + 'DCB': 'Jurisdiction-specific restriction codes', + 'DCD': 'Jurisdiction-specific endorsement codes', + 'DBA': 'Document Expiration Date', + 'DCS': 'Customer Last Name', + 'DAC': 'Customer First Name', + 'DBD': 'Document Issue Date', + 'DBB': 'Date of Birth', + 'DBC': 'Physical Description - Sex', + 'DAY': 'Physical Description - Eye Color', + 'DAU': 'Physical Description - Height', + 'DAG': 'Address - Street 1', + 'DAI': 'Address - City', + 'DAJ': 'Address - Jurisdiction Code', + 'DAK': 'Address - Postal Code', + 'DAQ': 'Customer ID Number', + 'DCF': 'Document Discriminator', + 'DCG': 'Country Identification', + 'DDE': 'Family Name Truncation', + 'DDF': 'First Names Truncation', + 'DDG': 'Middle Names Truncation', + 'DAH': 'Address - Street 2', + 'DAZ': 'Hair Color', + 'DCI': 'Place of birth', + 'DCJ': 'Audit information', + 'DCK': 'Inventory Control Number', + 'DBN': 'Alias / AKA Family Name', + 'DBG': 'Alias / AKA Given Name', + 'DBS': 'Alias / AKA Suffix Name', + 'DCU': 'Name Suffix', + 'DCE': 'Physical Description Weight Range', + 'DCL': 'Race / Ethnicity', + 'DCM': 'Standard vehicle classification', + 'DCN': 'Standard endorsement code', + 'DCO': 'Standard restriction code', + 'DCP': 'Jurisdiction-specific vehicle classification description', + 'DCQ': 'Jurisdiction-specific endorsement code description', + 'DCR': 'Jurisdiction-specific restriction code description', + 'DDA': 'Compliance Type', + 'DDB': 'Card Revision Date', + 'DDC': 'HazMat Endorsement Expiration Date', + 'DDD': 'Limited Duration Document Indicator', + 'DAW': 'Weight(pounds}', + 'DAX': 'Weight(kilograms}', + 'DDH': 'Under 18 Until', + 'DDI': 'Under 19 Until', + 'DDJ': 'Under 21 Until', + 'DDK': 'Organ Donor Indicator', + 'DDL': 'Veteran Indicator', + // old standard + 'DAA': 'Customer Full Name', + 'DAB': 'Customer Last Name', + 'DAE': 'Name Suffix', + 'DAF': 'Name Prefix', + 'DAL': 'Residence Street Address1', + 'DAM': 'Residence Street Address2', + 'DAN': 'Residence City', + 'DAO': 'Residence Jurisdiction Code', + 'DAP': 'Residence Postal Code', + 'DAR': 'License Classification Code', + 'DAS': 'License Restriction Code', + 'DAT': 'License Endorsements Code', + 'DAV': 'Height in CM', + 'DBE': 'Issue Timestamp', + 'DBF': 'Number of Duplicates', + 'DBH': 'Organ Donor', + 'DBI': 'Non-Resident Indicator', + 'DBJ': 'Unique Customer Identifier', + 'DBK': 'Social Security Number', + 'DBL': 'Date Of Birth', + 'DBM': 'Social Security Number', + 'DCH': 'Federal Commercial Vehicle Codes', + 'DBO': 'Customer Last Name', + 'DBP': 'Customer First Name', + 'DBQ': 'Customer Middle Name(s}', + 'DBR': 'Name Suffix', + 'PAA': 'Permit Classification Code', + 'PAB': 'Permit Expiration Date', + 'PAC': 'Permit Identifier', + 'PAD': 'Permit IssueDate', + 'PAE': 'Permit Restriction Code', + 'PAF': 'Permit Endorsement Code', + 'ZVA': 'Court Restriction Code', + 'DCT': 'Customer First Name', + 'DAD': 'Customer Middle Name(s}' +}; + +// Get driver license abbreviation-content map from raw txt +var parseDriverLicense = txt => { + let lines = txt.split('\n'); + let abbrs = Object.keys(DLAbbrDesMap); + let map = {}; + lines.forEach((line, i) => { + let abbr; + let content; + if(i === 1){ + abbr = 'DAQ'; + content = line.substring(line.indexOf(abbr) + 3); + }else{ + abbr = line.substring(0, 3); + content = line.substring(3).trim(); + } + if(abbrs.includes(abbr)){ + map[abbr] = { + description: DLAbbrDesMap[abbr], + content: content + }; + } + }); + return map; +}; diff --git a/example/web/decode-driver-license-for-AAMVA/index.html b/example/web/decode-driver-license-for-AAMVA/index.html new file mode 100644 index 00000000..cb2ca89e --- /dev/null +++ b/example/web/decode-driver-license-for-AAMVA/index.html @@ -0,0 +1,55 @@ + + + + + + +
+ +

+ +

+
+
+ + + + + diff --git a/example/web/esmodule.html b/example/web/esmodule.html new file mode 100644 index 00000000..bd5314ce --- /dev/null +++ b/example/web/esmodule.html @@ -0,0 +1,71 @@ + + + + + + + + + Choose image(s) to decode: + +

+ + + + + \ No newline at end of file diff --git a/example/web/gatsby/.gitignore b/example/web/gatsby/.gitignore new file mode 100644 index 00000000..557f97c6 --- /dev/null +++ b/example/web/gatsby/.gitignore @@ -0,0 +1,3 @@ +node_modules/ +.cache/ +public diff --git a/example/web/gatsby/README.md b/example/web/gatsby/README.md new file mode 100644 index 00000000..82d5c7f8 --- /dev/null +++ b/example/web/gatsby/README.md @@ -0,0 +1,48 @@ +

+ + Gatsby + +

+

+ Gatsby minimal starter +

+ +## 🚀 Quick start + +1. **Create a Gatsby site.** + + Use the Gatsby CLI to create a new site, specifying the minimal starter. + + ```shell + # create a new Gatsby site using the minimal starter + npm init gatsby + ``` + +2. **Start developing.** + + Navigate into your new site’s directory and start it up. + + ```shell + cd my-gatsby-site/ + npm run develop + ``` + +3. **Open the code and start customizing!** + + Your site is now running at http://localhost:8000! + + Edit `src/pages/index.js` to see your site update in real-time! + +4. **Learn more** + + - [Documentation](https://www.gatsbyjs.com/docs/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter) + + - [Tutorials](https://www.gatsbyjs.com/tutorial/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter) + + - [Guides](https://www.gatsbyjs.com/tutorial/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter) + + - [API Reference](https://www.gatsbyjs.com/docs/api-reference/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter) + + - [Plugin Library](https://www.gatsbyjs.com/plugins?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter) + + - [Cheat Sheet](https://www.gatsbyjs.com/docs/cheat-sheet/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter) diff --git a/example/web/gatsby/gatsby-config.js b/example/web/gatsby/gatsby-config.js new file mode 100644 index 00000000..e4f0fcf1 --- /dev/null +++ b/example/web/gatsby/gatsby-config.js @@ -0,0 +1,7 @@ +module.exports = { + siteMetadata: { + title: "dbrjs-gatsby", + }, + plugins: [], + pathPrefix: "/xxxxxx/gatsby/public", // yarn build --prefix-paths +}; diff --git a/example/web/gatsby/package.json b/example/web/gatsby/package.json new file mode 100644 index 00000000..d9bc1a47 --- /dev/null +++ b/example/web/gatsby/package.json @@ -0,0 +1,23 @@ +{ + "name": "dbrjs-gatsby", + "version": "1.0.0", + "private": true, + "description": "gatsby", + "author": "Keillion", + "keywords": [ + "gatsby" + ], + "scripts": { + "develop": "gatsby develop", + "start": "gatsby develop", + "build": "gatsby build", + "serve": "gatsby serve", + "clean": "gatsby clean" + }, + "dependencies": { + "gatsby": "^2.32.3", + "dynamsoft-javascript-barcode": "8.4.0", + "react": "^16.13.1", + "react-dom": "^16.13.1" + } +} diff --git a/example/web/gatsby/src/components/BarcodeScanner.css b/example/web/gatsby/src/components/BarcodeScanner.css new file mode 100644 index 00000000..dd056a46 --- /dev/null +++ b/example/web/gatsby/src/components/BarcodeScanner.css @@ -0,0 +1,11 @@ +.component-barcode-scanner{width:100%;height:100%;min-width:640px;min-height:480px;background:#eee;position:relative;resize:both;} +.dbrScanner-bg-loading{animation:1s linear infinite dbrScanner-rotate;width:40%;height:40%;position:absolute;margin:auto;left:0;top:0;right:0;bottom:0;fill:#aaa;} +.dbrScanner-bg-camera{width:40%;height:40%;position:absolute;margin:auto;left:0;top:0;right:0;bottom:0;fill:#aaa;} +.dbrScanner-video{width:100%;height:100%;position:absolute;left:0;top:0;} +.dbrScanner-cvs-drawarea{width:100%;height:100%;position:absolute;left:0;top:0;} +.dbrScanner-cvs-scanarea{width:100%;height:100%;position:absolute;left:0;top:0;} +.dbrScanner-scanlight{width:100%;height:3%;position:absolute;animation:3s infinite dbrScanner-scanlight;border-radius:50%;box-shadow:0px 0px 2vw 1px #00e5ff;background:#fff;} +.dbrScanner-sel-camera{margin:0 auto;position:absolute;left:0;top:0;} +.dbrScanner-sel-resolution{position:absolute;left:0;top:20px;} +@keyframes dbrScanner-rotate{from{transform:rotate(0turn);}to{transform:rotate(1turn);}} +@keyframes dbrScanner-scanlight{from{top:0;}to{top:97%;}} \ No newline at end of file diff --git a/example/web/gatsby/src/components/BarcodeScanner.js b/example/web/gatsby/src/components/BarcodeScanner.js new file mode 100644 index 00000000..517e4f66 --- /dev/null +++ b/example/web/gatsby/src/components/BarcodeScanner.js @@ -0,0 +1,64 @@ +import "../dbr"; +import { BarcodeScanner } from 'dynamsoft-javascript-barcode'; +import './BarcodeScanner.css'; + +class ComponentBarcodeScanner extends React.Component { + constructor(props){ + super(props); + this.bDestroyed = false; + this.pScanner = null; + this.elRef = React.createRef(); + } + async componentDidMount(){ + try{ + let scanner = await (this.pScanner = this.pScanner || BarcodeScanner.createInstance()); + + if(this.bDestroyed){ + scanner.destroy(); + return; + } + + scanner.setUIElement(this.elRef.current); + scanner.onFrameRead = results => { + if(results.length){ + console.log(results); + } + }; + scanner.onUnduplicatedRead = (txt, result) => { + this.props.appendMessage(result.barcodeFormatString + ': ' + txt); + }; + await scanner.open(); + + }catch(ex){ + this.props.appendMessage(ex.message); + console.error(ex); + } + } + async componentWillUnmount(){ + this.bDestroyed = true; + if(this.pScanner){ + await (this.pScanner).destroy(); + } + } + shouldComponentUpdate(){ + // Never update UI after mount, dbrjs sdk use native way to bind event, update will remove it. + return false; + } + render() { + return ( +
+ + + + +
+
+
+ + +
+ ); + } +} + +export default ComponentBarcodeScanner; diff --git a/example/web/gatsby/src/components/HelloWorld.js b/example/web/gatsby/src/components/HelloWorld.js new file mode 100644 index 00000000..72718684 --- /dev/null +++ b/example/web/gatsby/src/components/HelloWorld.js @@ -0,0 +1,110 @@ +import "../dbr"; +import { BarcodeReader } from 'dynamsoft-javascript-barcode'; +import ComponentBarcodeScanner from "./BarcodeScanner"; +import React from 'react'; + +class HelloWorld extends React.Component { + constructor(props){ + super(props); + this.pReader = null; + this.refDivMessage = React.createRef(); + this.state = { + messageKeyBase: 0, + messages: [], + bShowScanner: false + }; + } + componentDidUpdate(){ + this.refDivMessage.current.scrollTop = this.refDivMessage.current.scrollHeight; + } + async componentWillUnmount(){ + if(this.pReader){ + (await this.pReader).destroy(); + } + } + render() { + return ( +
+

{ this.props.title }

+ + { !this.state.bShowScanner ? ( +
+ Choose image(s) to decode: + +

+ +
+ ) : ( +
+ + +
+ ) } + +
+ { this.state.messages.map((message, index) => +

+ { message } +

+ ) } +
+
+ ); + } + appendMessage = str => { + this.setState(state=>{ + state.messages.push(str); + if(state.messages.length > 500){ + ++state.messageKeyBase; + state.messages.splice(0, 1); + } + return state; + }); + } + onIptChange = event=>{ + // React can't get event.target in async func by default. + // Thus get event.target in sync part. + let input = event.target; + + (async ()=>{ + try{ + this.appendMessage("======== start read... ========"); + let reader = await (this.pReader = this.pReader || BarcodeReader.createInstance()); + let files = input.files; + for(let i = 0; i < files.length; ++i){ + let file = files[i]; + this.appendMessage(file.name + ':') + let results = await reader.decode(file); + for(let result of results){ + this.appendMessage(result.barcodeText); + } + } + input.value = ""; + this.appendMessage("======== finish read ========"); + }catch(ex){ + this.appendMessage(ex.message); + console.error(ex); + } + })(); + } + showScanner = ()=>{ + this.setState({ + bShowScanner: true + }); + } + hideScanner = ()=>{ + this.setState({ + bShowScanner: false + }); + } +} + +const style = { + div_message: { + maxHeight: "200px", + overflowY: "auto", + resize: "both" + } +} + +export default HelloWorld; diff --git a/example/web/gatsby/src/dbr.js b/example/web/gatsby/src/dbr.js new file mode 100644 index 00000000..70288233 --- /dev/null +++ b/example/web/gatsby/src/dbr.js @@ -0,0 +1,5 @@ +import DBR from "dynamsoft-javascript-barcode/dist/dbr.browser.mjs"; +DBR.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/"; +// Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get a trial license +DBR.productKeys = "PRODUCT-KEYS"; +// DBR._bUseFullFeature = true; // Control of loading min wasm or full wasm. diff --git a/example/web/gatsby/src/images/icon.png b/example/web/gatsby/src/images/icon.png new file mode 100644 index 00000000..38b2fb0e Binary files /dev/null and b/example/web/gatsby/src/images/icon.png differ diff --git a/example/web/gatsby/src/pages/404.js b/example/web/gatsby/src/pages/404.js new file mode 100644 index 00000000..053ae0e8 --- /dev/null +++ b/example/web/gatsby/src/pages/404.js @@ -0,0 +1,54 @@ +import * as React from "react" +import { Link } from "gatsby" + +// styles +const pageStyles = { + color: "#232129", + padding: "96px", + fontFamily: "-apple-system, Roboto, sans-serif, serif", +} +const headingStyles = { + marginTop: 0, + marginBottom: 64, + maxWidth: 320, +} + +const paragraphStyles = { + marginBottom: 48, +} +const codeStyles = { + color: "#8A6534", + padding: 4, + backgroundColor: "#FFF4DB", + fontSize: "1.25rem", + borderRadius: 4, +} + +// markup +const NotFoundPage = () => { + return ( +
+ Not found +

Page not found

+

+ Sorry{" "} + + 😔 + {" "} + we couldn’t find what you were looking for. +
+ {process.env.NODE_ENV === "development" ? ( + <> +
+ Try creating a page in src/pages/. +
+ + ) : null} +
+ Go home. +

+
+ ) +} + +export default NotFoundPage diff --git a/example/web/gatsby/src/pages/index.js b/example/web/gatsby/src/pages/index.js new file mode 100644 index 00000000..b145b194 --- /dev/null +++ b/example/web/gatsby/src/pages/index.js @@ -0,0 +1,13 @@ +import * as React from "react" +import HelloWorld from '../components/HelloWorld.js'; + +// markup +const IndexPage = () => { + return ( +
+ +
+ ) +} + +export default IndexPage diff --git a/example/web/helloworld.html b/example/web/helloworld.html new file mode 100644 index 00000000..81cc30d1 --- /dev/null +++ b/example/web/helloworld.html @@ -0,0 +1,67 @@ + + + + + + + + + Choose image(s) to decode: + +

+ + + + + + + + \ No newline at end of file diff --git a/example/web/nextjs/.gitignore b/example/web/nextjs/.gitignore new file mode 100644 index 00000000..1437c53f --- /dev/null +++ b/example/web/nextjs/.gitignore @@ -0,0 +1,34 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env.local +.env.development.local +.env.test.local +.env.production.local + +# vercel +.vercel diff --git a/example/web/nextjs/README.md b/example/web/nextjs/README.md new file mode 100644 index 00000000..c65bfbc8 --- /dev/null +++ b/example/web/nextjs/README.md @@ -0,0 +1,34 @@ +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file. + +[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`. + +The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/)! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out the [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/example/web/nextjs/components/BarcodeScanner.js b/example/web/nextjs/components/BarcodeScanner.js new file mode 100644 index 00000000..67fe9af3 --- /dev/null +++ b/example/web/nextjs/components/BarcodeScanner.js @@ -0,0 +1,65 @@ +import "../dbr"; +import { BarcodeScanner } from 'dynamsoft-javascript-barcode'; +import React from 'react'; +//import '../styles/BarcodeScanner.css'; + +class ComponentBarcodeScanner extends React.Component { + constructor(props){ + super(props); + this.bDestroyed = false; + this.pScanner = null; + this.elRef = React.createRef(); + } + async componentDidMount(){ + try{ + let scanner = await (this.pScanner = this.pScanner || BarcodeScanner.createInstance()); + + if(this.bDestroyed){ + scanner.destroy(); + return; + } + + scanner.setUIElement(this.elRef.current); + scanner.onFrameRead = results => { + if(results.length){ + console.log(results); + } + }; + scanner.onUnduplicatedRead = (txt, result) => { + this.props.appendMessage(result.barcodeFormatString + ': ' + txt); + }; + await scanner.open(); + + }catch(ex){ + this.props.appendMessage(ex.message); + console.error(ex); + } + } + async componentWillUnmount(){ + this.bDestroyed = true; + if(this.pScanner){ + await (this.pScanner).destroy(); + } + } + shouldComponentUpdate(){ + // Never update UI after mount, dbrjs sdk use native way to bind event, update will remove it. + return false; + } + render() { + return ( +
+ + + + +
+
+
+ + +
+ ); + } +} + +export default ComponentBarcodeScanner; diff --git a/example/web/nextjs/components/HelloWorld.js b/example/web/nextjs/components/HelloWorld.js new file mode 100644 index 00000000..72718684 --- /dev/null +++ b/example/web/nextjs/components/HelloWorld.js @@ -0,0 +1,110 @@ +import "../dbr"; +import { BarcodeReader } from 'dynamsoft-javascript-barcode'; +import ComponentBarcodeScanner from "./BarcodeScanner"; +import React from 'react'; + +class HelloWorld extends React.Component { + constructor(props){ + super(props); + this.pReader = null; + this.refDivMessage = React.createRef(); + this.state = { + messageKeyBase: 0, + messages: [], + bShowScanner: false + }; + } + componentDidUpdate(){ + this.refDivMessage.current.scrollTop = this.refDivMessage.current.scrollHeight; + } + async componentWillUnmount(){ + if(this.pReader){ + (await this.pReader).destroy(); + } + } + render() { + return ( +
+

{ this.props.title }

+ + { !this.state.bShowScanner ? ( +
+ Choose image(s) to decode: + +

+ +
+ ) : ( +
+ + +
+ ) } + +
+ { this.state.messages.map((message, index) => +

+ { message } +

+ ) } +
+
+ ); + } + appendMessage = str => { + this.setState(state=>{ + state.messages.push(str); + if(state.messages.length > 500){ + ++state.messageKeyBase; + state.messages.splice(0, 1); + } + return state; + }); + } + onIptChange = event=>{ + // React can't get event.target in async func by default. + // Thus get event.target in sync part. + let input = event.target; + + (async ()=>{ + try{ + this.appendMessage("======== start read... ========"); + let reader = await (this.pReader = this.pReader || BarcodeReader.createInstance()); + let files = input.files; + for(let i = 0; i < files.length; ++i){ + let file = files[i]; + this.appendMessage(file.name + ':') + let results = await reader.decode(file); + for(let result of results){ + this.appendMessage(result.barcodeText); + } + } + input.value = ""; + this.appendMessage("======== finish read ========"); + }catch(ex){ + this.appendMessage(ex.message); + console.error(ex); + } + })(); + } + showScanner = ()=>{ + this.setState({ + bShowScanner: true + }); + } + hideScanner = ()=>{ + this.setState({ + bShowScanner: false + }); + } +} + +const style = { + div_message: { + maxHeight: "200px", + overflowY: "auto", + resize: "both" + } +} + +export default HelloWorld; diff --git a/example/web/nextjs/dbr.js b/example/web/nextjs/dbr.js new file mode 100644 index 00000000..31a43180 --- /dev/null +++ b/example/web/nextjs/dbr.js @@ -0,0 +1,5 @@ +import DBR from "dynamsoft-javascript-barcode"; +DBR.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/"; +// Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get a trial license +DBR.productKeys = "PRODUCT-KEYS"; +// DBR._bUseFullFeature = true; // Control of loading min wasm or full wasm. diff --git a/example/web/nextjs/package.json b/example/web/nextjs/package.json new file mode 100644 index 00000000..84ac1be5 --- /dev/null +++ b/example/web/nextjs/package.json @@ -0,0 +1,16 @@ +{ + "name": "dbrjs-nextjs", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start" + }, + "dependencies": { + "dynamsoft-javascript-barcode": "8.4.0", + "next": "10.0.7", + "react": "17.0.1", + "react-dom": "17.0.1" + } +} diff --git a/example/web/nextjs/pages/_app.js b/example/web/nextjs/pages/_app.js new file mode 100644 index 00000000..80d855c5 --- /dev/null +++ b/example/web/nextjs/pages/_app.js @@ -0,0 +1,7 @@ +import '../styles/BarcodeScanner.css'; + +function MyApp({ Component, pageProps }) { + return +} + +export default MyApp diff --git a/example/web/nextjs/pages/index.js b/example/web/nextjs/pages/index.js new file mode 100644 index 00000000..ab022ad0 --- /dev/null +++ b/example/web/nextjs/pages/index.js @@ -0,0 +1,10 @@ +//import React from 'react'; +import HelloWorld from '../components/HelloWorld.js'; + +export default function Home() { + return ( +
+ +
+ ) +} diff --git a/example/web/nextjs/styles/BarcodeScanner.css b/example/web/nextjs/styles/BarcodeScanner.css new file mode 100644 index 00000000..dd056a46 --- /dev/null +++ b/example/web/nextjs/styles/BarcodeScanner.css @@ -0,0 +1,11 @@ +.component-barcode-scanner{width:100%;height:100%;min-width:640px;min-height:480px;background:#eee;position:relative;resize:both;} +.dbrScanner-bg-loading{animation:1s linear infinite dbrScanner-rotate;width:40%;height:40%;position:absolute;margin:auto;left:0;top:0;right:0;bottom:0;fill:#aaa;} +.dbrScanner-bg-camera{width:40%;height:40%;position:absolute;margin:auto;left:0;top:0;right:0;bottom:0;fill:#aaa;} +.dbrScanner-video{width:100%;height:100%;position:absolute;left:0;top:0;} +.dbrScanner-cvs-drawarea{width:100%;height:100%;position:absolute;left:0;top:0;} +.dbrScanner-cvs-scanarea{width:100%;height:100%;position:absolute;left:0;top:0;} +.dbrScanner-scanlight{width:100%;height:3%;position:absolute;animation:3s infinite dbrScanner-scanlight;border-radius:50%;box-shadow:0px 0px 2vw 1px #00e5ff;background:#fff;} +.dbrScanner-sel-camera{margin:0 auto;position:absolute;left:0;top:0;} +.dbrScanner-sel-resolution{position:absolute;left:0;top:20px;} +@keyframes dbrScanner-rotate{from{transform:rotate(0turn);}to{transform:rotate(1turn);}} +@keyframes dbrScanner-scanlight{from{top:0;}to{top:97%;}} \ No newline at end of file diff --git a/example/web/nuxtjs/.editorconfig b/example/web/nuxtjs/.editorconfig new file mode 100644 index 00000000..5d126348 --- /dev/null +++ b/example/web/nuxtjs/.editorconfig @@ -0,0 +1,13 @@ +# editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/example/web/nuxtjs/.gitignore b/example/web/nuxtjs/.gitignore new file mode 100644 index 00000000..36eee6ad --- /dev/null +++ b/example/web/nuxtjs/.gitignore @@ -0,0 +1,92 @@ +# Created by .ignore support plugin (hsz.mobi) +### Node template +# Logs +/logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# next.js build output +.next + +# nuxt.js build output +.nuxt + +# Nuxt generate +dist + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless + +# IDE / Editor +.idea + +# Service worker +sw.* + +# macOS +.DS_Store + +# Vim swap files +*.swp + +yarn.lock diff --git a/example/web/nuxtjs/README.md b/example/web/nuxtjs/README.md new file mode 100644 index 00000000..3c39eb0e --- /dev/null +++ b/example/web/nuxtjs/README.md @@ -0,0 +1,22 @@ +# dbrjs-nuxtjs + +> My extraordinary Nuxt.js project + +## Build Setup + +```bash +# install dependencies +$ yarn install + +# serve with hot reload at localhost:3000 +$ yarn dev + +# build for production and launch server +$ yarn build +$ yarn start + +# generate static project +$ yarn generate +``` + +For detailed explanation on how things work, check out [Nuxt.js docs](https://nuxtjs.org). diff --git a/example/web/nuxtjs/assets/README.md b/example/web/nuxtjs/assets/README.md new file mode 100644 index 00000000..34766f93 --- /dev/null +++ b/example/web/nuxtjs/assets/README.md @@ -0,0 +1,7 @@ +# ASSETS + +**This directory is not required, you can delete it if you don't want to use it.** + +This directory contains your un-compiled assets such as LESS, SASS, or JavaScript. + +More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked). diff --git a/example/web/nuxtjs/components/BarcodeScanner.vue b/example/web/nuxtjs/components/BarcodeScanner.vue new file mode 100644 index 00000000..02376b99 --- /dev/null +++ b/example/web/nuxtjs/components/BarcodeScanner.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/example/web/nuxtjs/components/HelloWorld.vue b/example/web/nuxtjs/components/HelloWorld.vue new file mode 100644 index 00000000..fb1d3fa9 --- /dev/null +++ b/example/web/nuxtjs/components/HelloWorld.vue @@ -0,0 +1,99 @@ + + + + + + diff --git a/example/web/nuxtjs/components/README.md b/example/web/nuxtjs/components/README.md new file mode 100644 index 00000000..a079f106 --- /dev/null +++ b/example/web/nuxtjs/components/README.md @@ -0,0 +1,7 @@ +# COMPONENTS + +**This directory is not required, you can delete it if you don't want to use it.** + +The components directory contains your Vue.js Components. + +_Nuxt.js doesn't supercharge these components._ diff --git a/example/web/nuxtjs/dbr.js b/example/web/nuxtjs/dbr.js new file mode 100644 index 00000000..31a43180 --- /dev/null +++ b/example/web/nuxtjs/dbr.js @@ -0,0 +1,5 @@ +import DBR from "dynamsoft-javascript-barcode"; +DBR.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/"; +// Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get a trial license +DBR.productKeys = "PRODUCT-KEYS"; +// DBR._bUseFullFeature = true; // Control of loading min wasm or full wasm. diff --git a/example/web/nuxtjs/layouts/README.md b/example/web/nuxtjs/layouts/README.md new file mode 100644 index 00000000..cad1ad57 --- /dev/null +++ b/example/web/nuxtjs/layouts/README.md @@ -0,0 +1,7 @@ +# LAYOUTS + +**This directory is not required, you can delete it if you don't want to use it.** + +This directory contains your Application Layouts. + +More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts). diff --git a/example/web/nuxtjs/layouts/default.vue b/example/web/nuxtjs/layouts/default.vue new file mode 100644 index 00000000..2f454596 --- /dev/null +++ b/example/web/nuxtjs/layouts/default.vue @@ -0,0 +1,55 @@ + + + diff --git a/example/web/nuxtjs/middleware/README.md b/example/web/nuxtjs/middleware/README.md new file mode 100644 index 00000000..01595ded --- /dev/null +++ b/example/web/nuxtjs/middleware/README.md @@ -0,0 +1,8 @@ +# MIDDLEWARE + +**This directory is not required, you can delete it if you don't want to use it.** + +This directory contains your application middleware. +Middleware let you define custom functions that can be run before rendering either a page or a group of pages. + +More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware). diff --git a/example/web/nuxtjs/nuxt.config.js b/example/web/nuxtjs/nuxt.config.js new file mode 100644 index 00000000..193a2fca --- /dev/null +++ b/example/web/nuxtjs/nuxt.config.js @@ -0,0 +1,58 @@ + +export default { + mode: 'universal', + /* + ** Headers of the page + */ + head: { + title: process.env.npm_package_name || '', + meta: [ + { charset: 'utf-8' }, + { name: 'viewport', content: 'width=device-width, initial-scale=1' }, + { hid: 'description', name: 'description', content: process.env.npm_package_description || '' } + ], + link: [ + { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' } + ] + }, + /* + ** Customize the progress-bar color + */ + loading: { color: '#fff' }, + /* + ** Global CSS + */ + css: [ + ], + /* + ** Plugins to load before mounting the App + */ + plugins: [ + ], + /* + ** Nuxt.js dev-modules + */ + buildModules: [ + ], + /* + ** Nuxt.js modules + */ + modules: [ + ], + /* + ** Build configuration + */ + build: { + /* + ** You can extend webpack config here + */ + extend (config, ctx) { + }, + //// https://stackoverflow.com/questions/48206821/in-a-nuxtjs-spa-how-to-link-the-assets-with-relative-urls#answer-49023639 + //publicPath: '' + }, + //// https://stackoverflow.com/questions/48206821/in-a-nuxtjs-spa-how-to-link-the-assets-with-relative-urls#answer-49023639 + // router: { + // base: '' + // } +} diff --git a/example/web/nuxtjs/package.json b/example/web/nuxtjs/package.json new file mode 100644 index 00000000..2cc08402 --- /dev/null +++ b/example/web/nuxtjs/package.json @@ -0,0 +1,18 @@ +{ + "name": "dbrjs-nuxtjs", + "version": "1.0.0", + "description": "My extraordinary Nuxt.js project", + "author": "Keillion", + "private": true, + "scripts": { + "dev": "nuxt", + "build": "nuxt build", + "start": "nuxt start", + "generate": "nuxt generate" + }, + "dependencies": { + "nuxt": "^2.0.0", + "dynamsoft-javascript-barcode": "8.4.0" + }, + "devDependencies": {} +} \ No newline at end of file diff --git a/example/web/nuxtjs/pages/README.md b/example/web/nuxtjs/pages/README.md new file mode 100644 index 00000000..1d5d48b2 --- /dev/null +++ b/example/web/nuxtjs/pages/README.md @@ -0,0 +1,6 @@ +# PAGES + +This directory contains your Application Views and Routes. +The framework reads all the `*.vue` files inside this directory and creates the router of your application. + +More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing). diff --git a/example/web/nuxtjs/pages/index.vue b/example/web/nuxtjs/pages/index.vue new file mode 100644 index 00000000..d6ad0143 --- /dev/null +++ b/example/web/nuxtjs/pages/index.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/example/web/nuxtjs/plugins/README.md b/example/web/nuxtjs/plugins/README.md new file mode 100644 index 00000000..ca1f9d8a --- /dev/null +++ b/example/web/nuxtjs/plugins/README.md @@ -0,0 +1,7 @@ +# PLUGINS + +**This directory is not required, you can delete it if you don't want to use it.** + +This directory contains Javascript plugins that you want to run before mounting the root Vue.js application. + +More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins). diff --git a/example/web/nuxtjs/static/README.md b/example/web/nuxtjs/static/README.md new file mode 100644 index 00000000..cf004353 --- /dev/null +++ b/example/web/nuxtjs/static/README.md @@ -0,0 +1,11 @@ +# STATIC + +**This directory is not required, you can delete it if you don't want to use it.** + +This directory contains your static files. +Each file inside this directory is mapped to `/`. +Thus you'd want to delete this README.md before deploying to production. + +Example: `/static/robots.txt` is mapped as `/robots.txt`. + +More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static). diff --git a/example/web/nuxtjs/static/favicon.ico b/example/web/nuxtjs/static/favicon.ico new file mode 100644 index 00000000..3632d0c8 Binary files /dev/null and b/example/web/nuxtjs/static/favicon.ico differ diff --git a/example/web/nuxtjs/store/README.md b/example/web/nuxtjs/store/README.md new file mode 100644 index 00000000..1972d277 --- /dev/null +++ b/example/web/nuxtjs/store/README.md @@ -0,0 +1,10 @@ +# STORE + +**This directory is not required, you can delete it if you don't want to use it.** + +This directory contains your Vuex Store files. +Vuex Store option is implemented in the Nuxt.js framework. + +Creating a file in this directory automatically activates the option in the framework. + +More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store). diff --git a/example/web/pwa/README.md b/example/web/pwa/README.md new file mode 100644 index 00000000..c7f94df6 --- /dev/null +++ b/example/web/pwa/README.md @@ -0,0 +1 @@ +quick run: https://dynamsoft.github.io/javascript-barcode/example/web/pwa/ diff --git a/example/web/pwa/img/dynamsoft-192x192.png b/example/web/pwa/img/dynamsoft-192x192.png new file mode 100644 index 00000000..e02348be Binary files /dev/null and b/example/web/pwa/img/dynamsoft-192x192.png differ diff --git a/example/web/pwa/img/dynamsoft-512x512.png b/example/web/pwa/img/dynamsoft-512x512.png new file mode 100644 index 00000000..1e0ec7dc Binary files /dev/null and b/example/web/pwa/img/dynamsoft-512x512.png differ diff --git a/example/web/pwa/index.html b/example/web/pwa/index.html new file mode 100644 index 00000000..211edae9 --- /dev/null +++ b/example/web/pwa/index.html @@ -0,0 +1,73 @@ + + + + + + + + + + + Choose image(s) to decode: + +

+ + + + + + + + \ No newline at end of file diff --git a/example/web/pwa/manifest.json b/example/web/pwa/manifest.json new file mode 100644 index 00000000..6bc45b75 --- /dev/null +++ b/example/web/pwa/manifest.json @@ -0,0 +1,18 @@ +{ + "name": "Dynamsoft Barcode Reader JS PWA basic", + "short_name": "Dynamsoft Barcode JS", + "start_url": "./", + "scope": ".", + "display": "standalone", + "theme_color": "#ffffff", + "background_color":"#ffffff", + "icons": [{ + "src": "img/dynamsoft-512x512.png", + "sizes": "512x512", + "type": "image/png" + },{ + "src": "img/dynamsoft-192x192.png", + "sizes": "192x192", + "type": "image/png" + }] +} diff --git a/example/web/pwa/service-worker.js b/example/web/pwa/service-worker.js new file mode 100644 index 00000000..43ce27d5 --- /dev/null +++ b/example/web/pwa/service-worker.js @@ -0,0 +1,8 @@ +self.addEventListener('fetch', event => { + + // abandon non-GET requests + if (event.request.method !== 'GET') return; + + // do nothing now + return; +}); diff --git a/example/web/react/.env b/example/web/react/.env new file mode 100644 index 00000000..7d910f14 --- /dev/null +++ b/example/web/react/.env @@ -0,0 +1 @@ +SKIP_PREFLIGHT_CHECK=true \ No newline at end of file diff --git a/example/web/react/.gitignore b/example/web/react/.gitignore new file mode 100644 index 00000000..4d29575d --- /dev/null +++ b/example/web/react/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/example/web/react/README.md b/example/web/react/README.md new file mode 100644 index 00000000..859d27a6 --- /dev/null +++ b/example/web/react/README.md @@ -0,0 +1,68 @@ +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `npm start` + +Runs the app in the development mode.
+Open [http://localhost:3000](http://localhost:3000) to view it in the browser. + +The page will reload if you make edits.
+You will also see any lint errors in the console. + +### `npm test` + +Launches the test runner in the interactive watch mode.
+See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `npm run build` + +Builds the app for production to the `build` folder.
+It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.
+Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `npm run eject` + +**Note: this is a one-way operation. Once you `eject`, you can’t go back!** + +If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. + +You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). + +### Code Splitting + +This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting + +### Analyzing the Bundle Size + +This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size + +### Making a Progressive Web App + +This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app + +### Advanced Configuration + +This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration + +### Deployment + +This section has moved here: https://facebook.github.io/create-react-app/docs/deployment + +### `npm run build` fails to minify + +This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify diff --git a/example/web/react/package.json b/example/web/react/package.json new file mode 100644 index 00000000..a90f8f6d --- /dev/null +++ b/example/web/react/package.json @@ -0,0 +1,35 @@ +{ + "name": "dbrjs-react", + "version": "0.1.0", + "private": true, + "dependencies": { + "@testing-library/jest-dom": "^4.2.4", + "@testing-library/react": "^9.3.3", + "@testing-library/user-event": "^7.1.2", + "dynamsoft-javascript-barcode": "8.4.0", + "react": "^16.13.1", + "react-dom": "^16.13.1", + "react-scripts": "3.4.1" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": "react-app" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/example/web/react/public/favicon.ico b/example/web/react/public/favicon.ico new file mode 100644 index 00000000..a11777cc Binary files /dev/null and b/example/web/react/public/favicon.ico differ diff --git a/example/web/react/public/index.html b/example/web/react/public/index.html new file mode 100644 index 00000000..aa069f27 --- /dev/null +++ b/example/web/react/public/index.html @@ -0,0 +1,43 @@ + + + + + + + + + + + + + React App + + + +
+ + + diff --git a/example/web/react/public/logo192.png b/example/web/react/public/logo192.png new file mode 100644 index 00000000..fc44b0a3 Binary files /dev/null and b/example/web/react/public/logo192.png differ diff --git a/example/web/react/public/logo512.png b/example/web/react/public/logo512.png new file mode 100644 index 00000000..a4e47a65 Binary files /dev/null and b/example/web/react/public/logo512.png differ diff --git a/example/web/react/public/manifest.json b/example/web/react/public/manifest.json new file mode 100644 index 00000000..080d6c77 --- /dev/null +++ b/example/web/react/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/example/web/react/public/robots.txt b/example/web/react/public/robots.txt new file mode 100644 index 00000000..01b0f9a1 --- /dev/null +++ b/example/web/react/public/robots.txt @@ -0,0 +1,2 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * diff --git a/example/web/react/src/App.css b/example/web/react/src/App.css new file mode 100644 index 00000000..74b5e053 --- /dev/null +++ b/example/web/react/src/App.css @@ -0,0 +1,38 @@ +.App { + text-align: center; +} + +.App-logo { + height: 40vmin; + pointer-events: none; +} + +@media (prefers-reduced-motion: no-preference) { + .App-logo { + animation: App-logo-spin infinite 20s linear; + } +} + +.App-header { + background-color: #282c34; + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: calc(10px + 2vmin); + color: white; +} + +.App-link { + color: #61dafb; +} + +@keyframes App-logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} diff --git a/example/web/react/src/App.js b/example/web/react/src/App.js new file mode 100644 index 00000000..45c48d55 --- /dev/null +++ b/example/web/react/src/App.js @@ -0,0 +1,13 @@ +import React from 'react'; +import HelloWorld from './components/HelloWorld.js'; +import './App.css'; + +function App() { + return ( +
+ +
+ ); +} + +export default App; diff --git a/example/web/react/src/App.test.js b/example/web/react/src/App.test.js new file mode 100644 index 00000000..2a4ed00f --- /dev/null +++ b/example/web/react/src/App.test.js @@ -0,0 +1,9 @@ +import React from 'react'; +import { render } from '@testing-library/react'; +import App from './App'; + +test('renders learn react link', () => { + const { getByText } = render(); + const linkElement = getByText(/Welcome to DBRJS React example/i); + expect(linkElement).toBeInTheDocument(); +}); diff --git a/example/web/react/src/components/BarcodeScanner.css b/example/web/react/src/components/BarcodeScanner.css new file mode 100644 index 00000000..dd056a46 --- /dev/null +++ b/example/web/react/src/components/BarcodeScanner.css @@ -0,0 +1,11 @@ +.component-barcode-scanner{width:100%;height:100%;min-width:640px;min-height:480px;background:#eee;position:relative;resize:both;} +.dbrScanner-bg-loading{animation:1s linear infinite dbrScanner-rotate;width:40%;height:40%;position:absolute;margin:auto;left:0;top:0;right:0;bottom:0;fill:#aaa;} +.dbrScanner-bg-camera{width:40%;height:40%;position:absolute;margin:auto;left:0;top:0;right:0;bottom:0;fill:#aaa;} +.dbrScanner-video{width:100%;height:100%;position:absolute;left:0;top:0;} +.dbrScanner-cvs-drawarea{width:100%;height:100%;position:absolute;left:0;top:0;} +.dbrScanner-cvs-scanarea{width:100%;height:100%;position:absolute;left:0;top:0;} +.dbrScanner-scanlight{width:100%;height:3%;position:absolute;animation:3s infinite dbrScanner-scanlight;border-radius:50%;box-shadow:0px 0px 2vw 1px #00e5ff;background:#fff;} +.dbrScanner-sel-camera{margin:0 auto;position:absolute;left:0;top:0;} +.dbrScanner-sel-resolution{position:absolute;left:0;top:20px;} +@keyframes dbrScanner-rotate{from{transform:rotate(0turn);}to{transform:rotate(1turn);}} +@keyframes dbrScanner-scanlight{from{top:0;}to{top:97%;}} \ No newline at end of file diff --git a/example/web/react/src/components/BarcodeScanner.js b/example/web/react/src/components/BarcodeScanner.js new file mode 100644 index 00000000..afda2f09 --- /dev/null +++ b/example/web/react/src/components/BarcodeScanner.js @@ -0,0 +1,65 @@ +import "../dbr"; +import { BarcodeScanner } from 'dynamsoft-javascript-barcode'; +import './BarcodeScanner.css'; +import React from 'react'; + +class ComponentBarcodeScanner extends React.Component { + constructor(props){ + super(props); + this.bDestroyed = false; + this.pScanner = null; + this.elRef = React.createRef(); + } + async componentDidMount(){ + try{ + let scanner = await (this.pScanner = this.pScanner || BarcodeScanner.createInstance()); + + if(this.bDestroyed){ + scanner.destroy(); + return; + } + + scanner.setUIElement(this.elRef.current); + scanner.onFrameRead = results => { + if(results.length){ + console.log(results); + } + }; + scanner.onUnduplicatedRead = (txt, result) => { + this.props.appendMessage(result.barcodeFormatString + ': ' + txt); + }; + await scanner.open(); + + }catch(ex){ + this.props.appendMessage(ex.message); + console.error(ex); + } + } + async componentWillUnmount(){ + this.bDestroyed = true; + if(this.pScanner){ + await (this.pScanner).destroy(); + } + } + shouldComponentUpdate(){ + // Never update UI after mount, dbrjs sdk use native way to bind event, update will remove it. + return false; + } + render() { + return ( +
+ + + + +
+
+
+ + +
+ ); + } +} + +export default ComponentBarcodeScanner; diff --git a/example/web/react/src/components/HelloWorld.js b/example/web/react/src/components/HelloWorld.js new file mode 100644 index 00000000..72718684 --- /dev/null +++ b/example/web/react/src/components/HelloWorld.js @@ -0,0 +1,110 @@ +import "../dbr"; +import { BarcodeReader } from 'dynamsoft-javascript-barcode'; +import ComponentBarcodeScanner from "./BarcodeScanner"; +import React from 'react'; + +class HelloWorld extends React.Component { + constructor(props){ + super(props); + this.pReader = null; + this.refDivMessage = React.createRef(); + this.state = { + messageKeyBase: 0, + messages: [], + bShowScanner: false + }; + } + componentDidUpdate(){ + this.refDivMessage.current.scrollTop = this.refDivMessage.current.scrollHeight; + } + async componentWillUnmount(){ + if(this.pReader){ + (await this.pReader).destroy(); + } + } + render() { + return ( +
+

{ this.props.title }

+ + { !this.state.bShowScanner ? ( +
+ Choose image(s) to decode: + +

+ +
+ ) : ( +
+ + +
+ ) } + +
+ { this.state.messages.map((message, index) => +

+ { message } +

+ ) } +
+
+ ); + } + appendMessage = str => { + this.setState(state=>{ + state.messages.push(str); + if(state.messages.length > 500){ + ++state.messageKeyBase; + state.messages.splice(0, 1); + } + return state; + }); + } + onIptChange = event=>{ + // React can't get event.target in async func by default. + // Thus get event.target in sync part. + let input = event.target; + + (async ()=>{ + try{ + this.appendMessage("======== start read... ========"); + let reader = await (this.pReader = this.pReader || BarcodeReader.createInstance()); + let files = input.files; + for(let i = 0; i < files.length; ++i){ + let file = files[i]; + this.appendMessage(file.name + ':') + let results = await reader.decode(file); + for(let result of results){ + this.appendMessage(result.barcodeText); + } + } + input.value = ""; + this.appendMessage("======== finish read ========"); + }catch(ex){ + this.appendMessage(ex.message); + console.error(ex); + } + })(); + } + showScanner = ()=>{ + this.setState({ + bShowScanner: true + }); + } + hideScanner = ()=>{ + this.setState({ + bShowScanner: false + }); + } +} + +const style = { + div_message: { + maxHeight: "200px", + overflowY: "auto", + resize: "both" + } +} + +export default HelloWorld; diff --git a/example/web/react/src/dbr.js b/example/web/react/src/dbr.js new file mode 100644 index 00000000..31a43180 --- /dev/null +++ b/example/web/react/src/dbr.js @@ -0,0 +1,5 @@ +import DBR from "dynamsoft-javascript-barcode"; +DBR.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/"; +// Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get a trial license +DBR.productKeys = "PRODUCT-KEYS"; +// DBR._bUseFullFeature = true; // Control of loading min wasm or full wasm. diff --git a/example/web/react/src/index.css b/example/web/react/src/index.css new file mode 100644 index 00000000..ec2585e8 --- /dev/null +++ b/example/web/react/src/index.css @@ -0,0 +1,13 @@ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} diff --git a/example/web/react/src/index.js b/example/web/react/src/index.js new file mode 100644 index 00000000..87d1be55 --- /dev/null +++ b/example/web/react/src/index.js @@ -0,0 +1,12 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import './index.css'; +import App from './App'; +import * as serviceWorker from './serviceWorker'; + +ReactDOM.render(, document.getElementById('root')); + +// If you want your app to work offline and load faster, you can change +// unregister() to register() below. Note this comes with some pitfalls. +// Learn more about service workers: https://bit.ly/CRA-PWA +serviceWorker.unregister(); diff --git a/example/web/react/src/serviceWorker.js b/example/web/react/src/serviceWorker.js new file mode 100644 index 00000000..8703ddb7 --- /dev/null +++ b/example/web/react/src/serviceWorker.js @@ -0,0 +1,137 @@ +// This optional code is used to register a service worker. +// register() is not called by default. + +// This lets the app load faster on subsequent visits in production, and gives +// it offline capabilities. However, it also means that developers (and users) +// will only see deployed updates on subsequent visits to a page, after all the +// existing tabs open on the page have been closed, since previously cached +// resources are updated in the background. + +// To learn more about the benefits of this model and instructions on how to +// opt-in, read https://bit.ly/CRA-PWA + +const isLocalhost = Boolean( + window.location.hostname === 'localhost' || + // [::1] is the IPv6 localhost address. + window.location.hostname === '[::1]' || + // 127.0.0.0/8 are considered localhost for IPv4. + window.location.hostname.match( + /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ + ) +); + +export function register(config) { + if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { + // The URL constructor is available in all browsers that support SW. + const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href); + if (publicUrl.origin !== window.location.origin) { + // Our service worker won't work if PUBLIC_URL is on a different origin + // from what our page is served on. This might happen if a CDN is used to + // serve assets; see https://github.com/facebook/create-react-app/issues/2374 + return; + } + + window.addEventListener('load', () => { + const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; + + if (isLocalhost) { + // This is running on localhost. Let's check if a service worker still exists or not. + checkValidServiceWorker(swUrl, config); + + // Add some additional logging to localhost, pointing developers to the + // service worker/PWA documentation. + navigator.serviceWorker.ready.then(() => { + console.log( + 'This web app is being served cache-first by a service ' + + 'worker. To learn more, visit https://bit.ly/CRA-PWA' + ); + }); + } else { + // Is not localhost. Just register service worker + registerValidSW(swUrl, config); + } + }); + } +} + +function registerValidSW(swUrl, config) { + navigator.serviceWorker + .register(swUrl) + .then(registration => { + registration.onupdatefound = () => { + const installingWorker = registration.installing; + if (installingWorker == null) { + return; + } + installingWorker.onstatechange = () => { + if (installingWorker.state === 'installed') { + if (navigator.serviceWorker.controller) { + // At this point, the updated precached content has been fetched, + // but the previous service worker will still serve the older + // content until all client tabs are closed. + console.log( + 'New content is available and will be used when all ' + + 'tabs for this page are closed. See https://bit.ly/CRA-PWA.' + ); + + // Execute callback + if (config && config.onUpdate) { + config.onUpdate(registration); + } + } else { + // At this point, everything has been precached. + // It's the perfect time to display a + // "Content is cached for offline use." message. + console.log('Content is cached for offline use.'); + + // Execute callback + if (config && config.onSuccess) { + config.onSuccess(registration); + } + } + } + }; + }; + }) + .catch(error => { + console.error('Error during service worker registration:', error); + }); +} + +function checkValidServiceWorker(swUrl, config) { + // Check if the service worker can be found. If it can't reload the page. + fetch(swUrl, { + headers: { 'Service-Worker': 'script' } + }) + .then(response => { + // Ensure service worker exists, and that we really are getting a JS file. + const contentType = response.headers.get('content-type'); + if ( + response.status === 404 || + (contentType != null && contentType.indexOf('javascript') === -1) + ) { + // No service worker found. Probably a different app. Reload the page. + navigator.serviceWorker.ready.then(registration => { + registration.unregister().then(() => { + window.location.reload(); + }); + }); + } else { + // Service worker found. Proceed as normal. + registerValidSW(swUrl, config); + } + }) + .catch(() => { + console.log( + 'No internet connection found. App is running in offline mode.' + ); + }); +} + +export function unregister() { + if ('serviceWorker' in navigator) { + navigator.serviceWorker.ready.then(registration => { + registration.unregister(); + }); + } +} diff --git a/example/web/react/src/setupTests.js b/example/web/react/src/setupTests.js new file mode 100644 index 00000000..74b1a275 --- /dev/null +++ b/example/web/react/src/setupTests.js @@ -0,0 +1,5 @@ +// jest-dom adds custom jest matchers for asserting on DOM nodes. +// allows you to do things like: +// expect(element).toHaveTextContent(/react/i) +// learn more: https://github.com/testing-library/jest-dom +import '@testing-library/jest-dom/extend-expect'; diff --git a/example/web/requirejs.html b/example/web/requirejs.html new file mode 100644 index 00000000..9aa2ad09 --- /dev/null +++ b/example/web/requirejs.html @@ -0,0 +1,72 @@ + + + + + + + + Choose image(s) to decode: + +

+ + + + + + \ No newline at end of file diff --git a/example/web/typescript/README.md b/example/web/typescript/README.md new file mode 100644 index 00000000..e910a2d5 --- /dev/null +++ b/example/web/typescript/README.md @@ -0,0 +1,7 @@ +This demo shows how use dbrjs with typescript and intellisense in \. + +`npm install` or `yarn install`. + +Run `npx tsc ./script.ts --lib es2015 --lib dom` to build. + +Open `index.html` in browser to run the sample. diff --git a/example/web/typescript/index.html b/example/web/typescript/index.html new file mode 100644 index 00000000..5f381020 --- /dev/null +++ b/example/web/typescript/index.html @@ -0,0 +1,19 @@ + + + + + + + + + Choose image(s) to decode: + +

+ + + + + + + + \ No newline at end of file diff --git a/example/web/typescript/package.json b/example/web/typescript/package.json new file mode 100644 index 00000000..2eafe600 --- /dev/null +++ b/example/web/typescript/package.json @@ -0,0 +1,9 @@ +{ + "name": "dbrjs-ts", + "version": "1.0.0", + "dependencies": { + "dynamsoft-javascript-barcode": "8.4.0", + "@types/node": "^13.9.8", + "typescript": "^3.8.3" + } +} diff --git a/example/web/typescript/script.ts b/example/web/typescript/script.ts new file mode 100644 index 00000000..1d567f24 --- /dev/null +++ b/example/web/typescript/script.ts @@ -0,0 +1,52 @@ +/// + +Dynamsoft.DBR.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/"; +// Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get a trial license +Dynamsoft.DBR.productKeys = "PRODUCT-KEYS"; +// Dynamsoft.DBR.BarcodeReader._bUseFullFeature = true; // Control of loading min wasm or full wasm. + +// reader for decoding picture +let pReader:Promise = null; +// scanner for decoding video +let pScanner:Promise = null; + +// decode input picture +(document.getElementById('ipt-file') as HTMLInputElement).addEventListener('change', async function(){ + try{ + let reader = await (pReader = pReader || Dynamsoft.DBR.BarcodeReader.createInstance()); + let resultsToAlert:string[] = []; + for(let i = 0; i < this.files.length; ++i){ + let file = this.files[i]; + resultsToAlert.push(i + '. ' + file.name + ":"); + let results = await reader.decode(file); + console.log(results); + for(let result of results){ + resultsToAlert.push(result.barcodeText); + } + } + alert(resultsToAlert.join('\n')); + }catch(ex){ + alert(ex.message); + throw ex; + } + this.value = ''; +}); + +// decode video from camera +(document.getElementById('btn-show-scanner') as HTMLButtonElement).addEventListener('click', async () => { + try{ + let scanner = await (pScanner = pScanner || Dynamsoft.DBR.BarcodeScanner.createInstance()); + scanner.onFrameRead = results => { + if(results.length){ + console.log(results); + } + }; + scanner.onUnduplicatedRead = (txt, result) => { + alert(result.barcodeFormatString + ': ' + txt); + }; + await scanner.show(); + }catch(ex){ + alert(ex.message); + throw ex; + } +}); \ No newline at end of file diff --git a/example/web/vue/.browserslistrc b/example/web/vue/.browserslistrc new file mode 100644 index 00000000..d6471a38 --- /dev/null +++ b/example/web/vue/.browserslistrc @@ -0,0 +1,2 @@ +> 1% +last 2 versions diff --git a/example/web/vue/.gitignore b/example/web/vue/.gitignore new file mode 100644 index 00000000..a0dddc6f --- /dev/null +++ b/example/web/vue/.gitignore @@ -0,0 +1,21 @@ +.DS_Store +node_modules +/dist + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/example/web/vue/README.md b/example/web/vue/README.md new file mode 100644 index 00000000..d8d5221a --- /dev/null +++ b/example/web/vue/README.md @@ -0,0 +1,19 @@ +# vue + +## Project setup +``` +npm install +``` + +### Compiles and hot-reloads for development +``` +npm run serve +``` + +### Compiles and minifies for production +``` +npm run build +``` + +### Customize configuration +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/example/web/vue/babel.config.js b/example/web/vue/babel.config.js new file mode 100644 index 00000000..e9558405 --- /dev/null +++ b/example/web/vue/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset' + ] +} diff --git a/example/web/vue/package.json b/example/web/vue/package.json new file mode 100644 index 00000000..ef6d367f --- /dev/null +++ b/example/web/vue/package.json @@ -0,0 +1,19 @@ +{ + "name": "dbrjs-vue", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build" + }, + "dependencies": { + "core-js": "^3.4.3", + "dynamsoft-javascript-barcode": "8.4.0", + "vue": "^2.6.10" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "^4.1.0", + "@vue/cli-service": "^4.1.0", + "vue-template-compiler": "^2.6.10" + } +} diff --git a/example/web/vue/public/favicon.ico b/example/web/vue/public/favicon.ico new file mode 100644 index 00000000..df36fcfb Binary files /dev/null and b/example/web/vue/public/favicon.ico differ diff --git a/example/web/vue/public/index.html b/example/web/vue/public/index.html new file mode 100644 index 00000000..eac2e22b --- /dev/null +++ b/example/web/vue/public/index.html @@ -0,0 +1,17 @@ + + + + + + + + vue + + + +
+ + + diff --git a/example/web/vue/src/App.vue b/example/web/vue/src/App.vue new file mode 100644 index 00000000..cd83e6af --- /dev/null +++ b/example/web/vue/src/App.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/example/web/vue/src/components/BarcodeScanner.vue b/example/web/vue/src/components/BarcodeScanner.vue new file mode 100644 index 00000000..ace99b95 --- /dev/null +++ b/example/web/vue/src/components/BarcodeScanner.vue @@ -0,0 +1,73 @@ + + + + + + diff --git a/example/web/vue/src/components/HelloWorld.vue b/example/web/vue/src/components/HelloWorld.vue new file mode 100644 index 00000000..fb1d3fa9 --- /dev/null +++ b/example/web/vue/src/components/HelloWorld.vue @@ -0,0 +1,99 @@ + + + + + + diff --git a/example/web/vue/src/dbr.js b/example/web/vue/src/dbr.js new file mode 100644 index 00000000..31a43180 --- /dev/null +++ b/example/web/vue/src/dbr.js @@ -0,0 +1,5 @@ +import DBR from "dynamsoft-javascript-barcode"; +DBR.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/"; +// Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get a trial license +DBR.productKeys = "PRODUCT-KEYS"; +// DBR._bUseFullFeature = true; // Control of loading min wasm or full wasm. diff --git a/example/web/vue/src/main.js b/example/web/vue/src/main.js new file mode 100644 index 00000000..63eb05f7 --- /dev/null +++ b/example/web/vue/src/main.js @@ -0,0 +1,8 @@ +import Vue from 'vue' +import App from './App.vue' + +Vue.config.productionTip = false + +new Vue({ + render: h => h(App), +}).$mount('#app') diff --git a/example/web/vue3/.gitignore b/example/web/vue3/.gitignore new file mode 100644 index 00000000..905b2e11 --- /dev/null +++ b/example/web/vue3/.gitignore @@ -0,0 +1,24 @@ +cd .DS_Store +node_modules +/dist + + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? +node_modules diff --git a/example/web/vue3/README.md b/example/web/vue3/README.md new file mode 100644 index 00000000..79cee612 --- /dev/null +++ b/example/web/vue3/README.md @@ -0,0 +1,19 @@ +# vue3 + +## Project setup +``` +npm install +``` + +### Compiles and hot-reloads for development +``` +npm run serve +``` + +### Compiles and minifies for production +``` +npm run build +``` + +### Customize configuration +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/example/web/vue3/babel.config.js b/example/web/vue3/babel.config.js new file mode 100644 index 00000000..e9558405 --- /dev/null +++ b/example/web/vue3/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset' + ] +} diff --git a/example/web/vue3/package.json b/example/web/vue3/package.json new file mode 100644 index 00000000..876bef06 --- /dev/null +++ b/example/web/vue3/package.json @@ -0,0 +1,24 @@ +{ + "name": "dbrjs-vue3", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build" + }, + "dependencies": { + "core-js": "^3.6.5", + "dynamsoft-javascript-barcode": "8.4.0", + "vue": "^3.0.0" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "~4.5.0", + "@vue/cli-service": "~4.5.0", + "@vue/compiler-sfc": "^3.0.0" + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead" + ] +} diff --git a/example/web/vue3/public/favicon.ico b/example/web/vue3/public/favicon.ico new file mode 100644 index 00000000..df36fcfb Binary files /dev/null and b/example/web/vue3/public/favicon.ico differ diff --git a/example/web/vue3/public/index.html b/example/web/vue3/public/index.html new file mode 100644 index 00000000..328afd25 --- /dev/null +++ b/example/web/vue3/public/index.html @@ -0,0 +1,17 @@ + + + + + + + + vue3 + + + +
+ + + diff --git a/example/web/vue3/src/App.vue b/example/web/vue3/src/App.vue new file mode 100644 index 00000000..3dfa6c85 --- /dev/null +++ b/example/web/vue3/src/App.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/example/web/vue3/src/components/BarcodeScanner.vue b/example/web/vue3/src/components/BarcodeScanner.vue new file mode 100644 index 00000000..24c8a764 --- /dev/null +++ b/example/web/vue3/src/components/BarcodeScanner.vue @@ -0,0 +1,169 @@ + + + + + + diff --git a/example/web/vue3/src/components/HelloWorld.vue b/example/web/vue3/src/components/HelloWorld.vue new file mode 100644 index 00000000..412acafe --- /dev/null +++ b/example/web/vue3/src/components/HelloWorld.vue @@ -0,0 +1,120 @@ + + + + + + diff --git a/example/web/vue3/src/dbr.js b/example/web/vue3/src/dbr.js new file mode 100644 index 00000000..31a43180 --- /dev/null +++ b/example/web/vue3/src/dbr.js @@ -0,0 +1,5 @@ +import DBR from "dynamsoft-javascript-barcode"; +DBR.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/"; +// Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get a trial license +DBR.productKeys = "PRODUCT-KEYS"; +// DBR._bUseFullFeature = true; // Control of loading min wasm or full wasm. diff --git a/example/web/vue3/src/main.js b/example/web/vue3/src/main.js new file mode 100644 index 00000000..01433bca --- /dev/null +++ b/example/web/vue3/src/main.js @@ -0,0 +1,4 @@ +import { createApp } from 'vue' +import App from './App.vue' + +createApp(App).mount('#app') diff --git a/example/web/webpack/README.md b/example/web/webpack/README.md new file mode 100644 index 00000000..602bcb3b --- /dev/null +++ b/example/web/webpack/README.md @@ -0,0 +1,5 @@ +`npm install` + +`npm run build` + +Open `index.html` in browser to run the sample. \ No newline at end of file diff --git a/example/web/webpack/index.html b/example/web/webpack/index.html new file mode 100644 index 00000000..858cc13f --- /dev/null +++ b/example/web/webpack/index.html @@ -0,0 +1,16 @@ + + + + + + + + + Choose image(s) to decode: + +

+ + + + + \ No newline at end of file diff --git a/example/web/webpack/package.json b/example/web/webpack/package.json new file mode 100644 index 00000000..d7b22f5d --- /dev/null +++ b/example/web/webpack/package.json @@ -0,0 +1,17 @@ +{ + "name": "dbrjs-webpack", + "version": "1.0.0", + "description": "", + "scripts": { + "build": "webpack --config webpack.config.js", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "devDependencies": { + "webpack": "^4.41.3" + }, + "dependencies": { + "dynamsoft-javascript-barcode": "8.4.0" + } +} diff --git a/example/web/webpack/src/index.js b/example/web/webpack/src/index.js new file mode 100644 index 00000000..07358c52 --- /dev/null +++ b/example/web/webpack/src/index.js @@ -0,0 +1,53 @@ +/* eslint-disable no-console */ +import { DBR, BarcodeReader, BarcodeScanner } from "dynamsoft-javascript-barcode"; +DBR.engineResourcePath = "https://cdn.jsdelivr.net/npm/dynamsoft-javascript-barcode@8.4.0/dist/"; +// Please visit https://www.dynamsoft.com/customer/license/trialLicense/?product=dbr&utm_source=github&package=js to get a trial license +DBR.productKeys = "PRODUCT-KEYS"; + +// Dynamsoft.DBR.BarcodeReader._bUseFullFeature = true; // Control of loading min wasm or full wasm. + +// reader for decoding picture +let pReader = null; +// scanner for decoding video +let pScanner = null; + +// decode input picture +document.getElementById('ipt-file').addEventListener('change', async function(){ + try{ + let reader = await (pReader = pReader || BarcodeReader.createInstance()); + let resultsToAlert = []; + for(let i = 0; i < this.files.length; ++i){ + let file = this.files[i]; + resultsToAlert.push(i + '. ' + file.name + ":"); + let results = await reader.decode(file); + console.log(results); + for(let result of results){ + resultsToAlert.push(result.barcodeText); + } + } + alert(resultsToAlert.join('\n')); + }catch(ex){ + alert(ex.message); + throw ex; + } + this.value = ''; +}); + +// decode video from camera +document.getElementById('btn-show-scanner').addEventListener('click', async () => { + try{ + let scanner = await (pScanner = pScanner || BarcodeScanner.createInstance()); + scanner.onFrameRead = results => { + if(results.length){ + console.log(results); + } + }; + scanner.onUnduplicatedRead = (txt, result) => { + alert(result.barcodeFormatString + ': ' + txt); + }; + await scanner.show(); + }catch(ex){ + alert(ex.message); + throw ex; + } +}); diff --git a/example/web/webpack/webpack.config.js b/example/web/webpack/webpack.config.js new file mode 100644 index 00000000..e22427b1 --- /dev/null +++ b/example/web/webpack/webpack.config.js @@ -0,0 +1,34 @@ +const path = require('path'); +// const CopyPlugin = require('copy-webpack-plugin'); + +module.exports = { + entry: './src/index.js', + + //You can let dbrjs use local resource: + //1. config copy resource to './dist/' by use `copy-webpack-plugin` + //2. set `DBR.BarcodeReader.engineResourcePath = './dist/'` in `./src/index.js` + // plugins: [ + // new CopyPlugin([ + // { + // from: './node_modules/dynamsoft-javascript-barcode/dist', + // to: path.resolve(__dirname, 'dist'), + // ignore: ['*.ts'], + // } + // ]), + // ], + + // these are modules require by node, not need by web + // externals: { + // os: 'os', + // worker_threads: 'worker_threads', + // https: 'https', + // http: 'http', + // fs: 'fs', + // path: 'path', + // }, + // node: false, // completely turn off webpack injection + output: { + path: path.resolve(__dirname, 'dist'), + filename: 'bundle.js' + } +}; diff --git a/package.js b/package.js new file mode 100644 index 00000000..a976ff2b --- /dev/null +++ b/package.js @@ -0,0 +1,27 @@ +Package.describe({ + name: 'dynamsoft:javascript-barcode', + version: '7.3.0-v4', + summary: 'Dynamsoft Barcode Reader JS is a recognition SDK which enables you to embed barcode reading functionality in your web, desktop, and mobile applications. With a few lines of JavaScript code, you can develop a robust application to scan a linear barcode, QR Code, DaraMatrix, PDF417, and Aztec Code.', + git: 'https://github.com/dynamsoft/javascript-barcode.git', + documentation: 'README.md' +}); + +Package.onUse(function(api) { + api.versionsFrom('1.8.0.1'); + api.addAssets([ + "/dist/dbr.js", + "/dist/dbr.mjs", + "/dist/dbr.browser.mjs", + "/dist/dbr-8.4.0.worker.js", + "/dist/dbr-8.4.0.wasm.js", + "/dist/dbr-8.4.0.wasm", + "/dist/dbr-8.4.0.full.wasm.js", + "/dist/dbr-8.4.0.full.wasm", + "/dist/dbr-8.4.0.node.wasm.js", + "/dist/dbr-8.4.0.node.wasm", + "/dist/dbr.d.ts", + "/dist/dbr.reference.d.ts", + "/dist/dbr.scanner.html" + ], 'client'); +}); + diff --git a/package.json b/package.json index 5d3260d2..e703dc85 100644 --- a/package.json +++ b/package.json @@ -1,50 +1,39 @@ { - "name": "dynamsoft-barcode-reader-bundle", - "version": "11.4.2000", + "name": "dynamsoft-javascript-barcode", + "version": "8.4.0", "description": "Dynamsoft Barcode Reader JS is a recognition SDK which enables you to embed barcode reading functionality in your web, desktop, and mobile applications. With a few lines of JavaScript code, you can develop a robust application to scan a linear barcode, QR Code, DaraMatrix, PDF417, and Aztec Code.", - "main": "dist/dbr.bundle.js", - "module": "dist/dbr.bundle.esm.js", - "exports": { - "import": { - "types": "./dist/dbr.bundle.d.ts", - "default": "./dist/dbr.bundle.esm.js" - }, - "require": { - "types": "./dist/dbr.bundle.d.ts", - "default": "./dist/dbr.bundle.js" - } - }, - "sideEffects": true, - "types": "dist/dbr.bundle.d.ts", - "type": "module", "files": [ - "/dist", - "LEGAL.txt", - "LICENSE", - "samples.url" + "/dist/dbr.js", + "/dist/dbr.mjs", + "/dist/dbr.browser.mjs", + "/dist/dbr-*.worker.js", + "/dist/dbr-*.wasm.js", + "/dist/dbr-*.wasm", + "/dist/dbr.d.ts", + "/dist/dbr.reference.d.ts", + "/dist/dbr.scanner.html", + "/dist/lts.license.dialog.html" ], - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "build": "rollup -c --environment BUILD:production", - "build-dev": "rollup -c --environment BUILD:development", - "build-core": "cd ../CORE && npm run build-bundle -- DBR CORE && cd ../DBR_BUNDLE && npm run build-dev", - "build-cvr": "cd ../CVR && npm run build-bundle -- DBR CVR && cd ../DBR_BUNDLE && npm run build-dev", - "build-dbr": "cd ../DBR && npm run build-bundle -- DBR DBR && cd ../DBR_BUNDLE && npm run build-dev", - "build-dce": "cd ../DCE && npm run build-bundle -- DBR DCE && cd ../DBR_BUNDLE && npm run build-dev", - "build-dcp": "cd ../DCP && npm run build-bundle -- DBR DCP && cd ../DBR_BUNDLE && npm run build-dev", - "build-license": "cd ../LICENSE && npm run build-bundle -- DBR LICENSE && cd ../DBR_BUNDLE && npm run build-dev", - "build-utility": "cd ../UTILITY && npm run build-bundle -- DBR UTILITY && cd ../DBR_BUNDLE && npm run build-dev", - "update:readme": "updateReadme --package=dynamsoft-barcode-reader-bundle --version=latest --branch=preview --html --rtu", - "updateLink:npm": "updateLink --source=npm", - "updateLink:zip": "updateLink --source=zip", - "updateLink:github": "updateLink --source=github", - "update:prod": "updatePackage --package=dynamsoft-barcode-reader-bundle --version=auto --env=production --tag=latest && npm pkg delete devDependencies", - "update:beta": "updatePackage --package=dynamsoft-barcode-reader-bundle --version=auto --env=beta --tag=beta", - "update:iv": "updatePackage --package=dynamsoft-barcode-reader-bundle --version=auto --env=internalVersion --tag=iv", - "update:dev": "updatePackage --package=dynamsoft-barcode-reader-bundle --version=auto --env=development --tag=latest", - "makeZip": "makeZip --package=dynamsoft-barcode-reader-bundle --version=auto --sampleBranch=_dev --structure=old --otherPkgs=dynamsoft-capture-vision-std dynamsoft-image-processing dynamsoft-core dynamsoft-license dynamsoft-capture-vision-router dynamsoft-utility dynamsoft-camera-enhancer dynamsoft-barcode-reader", - "easyPublish": "npm run update:dev && npm run build && npm publish" + "homepage": "https://www.dynamsoft.com/barcode-reader/sdk-javascript/", + "main": "dist/dbr.js", + "module": "dist/dbr.mjs", + "browser": "dist/dbr.browser.mjs", + "types": "dist/dbr.d.ts", + "author": { + "name": "Dynamsoft", + "url": "https://www.dynamsoft.com" + }, + "license": "SEE LICENSE IN LICENSE.txt", + "repository": { + "type": "git", + "url": "https://github.com/dynamsoft/javascript-barcode.git" }, + "maintainers": [ + { + "name": "Dynamsoft", + "email": "support@dynamsoft.com" + } + ], "keywords": [ "HTML5 barcode", "JavaScript barcode", @@ -58,21 +47,29 @@ "Linear barcode", "1D barcode" ], - "author": { - "name": "Dynamsoft", - "url": "https://www.dynamsoft.com", - "email": "support@dynamsoft.com" - }, - "license": "SEE LICENSE IN LICENSE", - "repository": { - "type": "git", - "url": "git+https://github.com/dynamsoft/barcode-reader-javascript.git" + "scripts": { + "build": "dts-bundle-generator -o dist/dbr.d.ts src/dbr.ts & webpack --config webpack.config.js", + "build:node": "webpack --config webpack.config.node.js", + "build:doc": "typedoc", + "test": "node ./example/node/helloworld.js" }, - "publishConfig": { - "registry": "https://registry.npmjs.org/", - "tag": "latest" + "devDependencies": { + "@types/node": "^13.9.8", + "declaration-bundler-webpack-plugin": "^1.0.3", + "dts-bundle-generator": "^4.0.0", + "fork-ts-checker-webpack-plugin": "^4.1.2", + "fs-extra": "^8.1.0", + "localforage": "^1.7.3", + "ts-loader": "^6.2.2", + "typedoc": "^0.17.3", + "typescript": "^3.8.3", + "uglifyjs-webpack-plugin": "^2.2.0", + "webpack": "^4.39.3", + "webpack-cli": "^3.3.7", + "webpack-merge": "^4.2.2" }, - "overrides": { - "dynamsoft-core": "$dynamsoft-core" + "peerDependencies": { + "node-fetch": "^2.6.1", + "node-localstorage": "^2.1.6" } } diff --git a/samples.url b/samples.url deleted file mode 100644 index a3dc9dca..00000000 --- a/samples.url +++ /dev/null @@ -1,2 +0,0 @@ -[InternetShortcut] -URL=https://github.com/Dynamsoft/barcode-reader-javascript-samples/tree/v11.4.20 \ No newline at end of file