Update documentation
diff --git a/.lock b/.lock
new file mode 100755
index 0000000..e69de29
--- /dev/null
+++ b/.lock
diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/.nojekyll
diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt
new file mode 100644
index 0000000..af77776
--- /dev/null
+++ b/COPYRIGHT.txt
@@ -0,0 +1,45 @@
+These documentation pages include resources by third parties. This copyright
+file applies only to those resources. The following third party resources are
+included, and carry their own copyright notices and license terms:
+
+* Fira Sans (FiraSans-Regular.woff, FiraSans-Medium.woff):
+
+    Copyright (c) 2014, Mozilla Foundation https://mozilla.org/
+    with Reserved Font Name Fira Sans.
+
+    Copyright (c) 2014, Telefonica S.A.
+
+    Licensed under the SIL Open Font License, Version 1.1.
+    See FiraSans-LICENSE.txt.
+
+* rustdoc.css, main.js, and playpen.js:
+
+    Copyright 2015 The Rust Developers.
+    Licensed under the Apache License, Version 2.0 (see LICENSE-APACHE.txt) or
+    the MIT license (LICENSE-MIT.txt) at your option.
+
+* normalize.css:
+
+    Copyright (c) Nicolas Gallagher and Jonathan Neal.
+    Licensed under the MIT license (see LICENSE-MIT.txt).
+
+* Source Code Pro (SourceCodePro-Regular.woff, SourceCodePro-Semibold.woff):
+
+    Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/),
+    with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark
+    of Adobe Systems Incorporated in the United States and/or other countries.
+
+    Licensed under the SIL Open Font License, Version 1.1.
+    See SourceCodePro-LICENSE.txt.
+
+* Source Serif Pro (SourceSerifPro-Regular.ttf.woff,
+    SourceSerifPro-Bold.ttf.woff, SourceSerifPro-It.ttf.woff):
+
+    Copyright 2014 Adobe Systems Incorporated (http://www.adobe.com/), with
+    Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of
+    Adobe Systems Incorporated in the United States and/or other countries.
+
+    Licensed under the SIL Open Font License, Version 1.1.
+    See SourceSerifPro-LICENSE.txt.
+
+This copyright file is intended to be distributed with rustdoc output.
diff --git a/FiraSans-LICENSE.txt b/FiraSans-LICENSE.txt
new file mode 100644
index 0000000..d444ea9
--- /dev/null
+++ b/FiraSans-LICENSE.txt
@@ -0,0 +1,94 @@
+Digitized data copyright (c) 2012-2015, The Mozilla Foundation and Telefonica S.A.
+with Reserved Font Name < Fira >, 
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/FiraSans-Medium.woff b/FiraSans-Medium.woff
new file mode 100644
index 0000000..7d742c5
--- /dev/null
+++ b/FiraSans-Medium.woff
Binary files differ
diff --git a/FiraSans-Regular.woff b/FiraSans-Regular.woff
new file mode 100644
index 0000000..d8e0363
--- /dev/null
+++ b/FiraSans-Regular.woff
Binary files differ
diff --git a/LICENSE-APACHE.txt b/LICENSE-APACHE.txt
new file mode 100644
index 0000000..16fe87b
--- /dev/null
+++ b/LICENSE-APACHE.txt
@@ -0,0 +1,201 @@
+                              Apache License
+                        Version 2.0, January 2004
+                     http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+   "License" shall mean the terms and conditions for use, reproduction,
+   and distribution as defined by Sections 1 through 9 of this document.
+
+   "Licensor" shall mean the copyright owner or entity authorized by
+   the copyright owner that is granting the License.
+
+   "Legal Entity" shall mean the union of the acting entity and all
+   other entities that control, are controlled by, or are under common
+   control with that entity. For the purposes of this definition,
+   "control" means (i) the power, direct or indirect, to cause the
+   direction or management of such entity, whether by contract or
+   otherwise, or (ii) ownership of fifty percent (50%) or more of the
+   outstanding shares, or (iii) beneficial ownership of such entity.
+
+   "You" (or "Your") shall mean an individual or Legal Entity
+   exercising permissions granted by this License.
+
+   "Source" form shall mean the preferred form for making modifications,
+   including but not limited to software source code, documentation
+   source, and configuration files.
+
+   "Object" form shall mean any form resulting from mechanical
+   transformation or translation of a Source form, including but
+   not limited to compiled object code, generated documentation,
+   and conversions to other media types.
+
+   "Work" shall mean the work of authorship, whether in Source or
+   Object form, made available under the License, as indicated by a
+   copyright notice that is included in or attached to the work
+   (an example is provided in the Appendix below).
+
+   "Derivative Works" shall mean any work, whether in Source or Object
+   form, that is based on (or derived from) the Work and for which the
+   editorial revisions, annotations, elaborations, or other modifications
+   represent, as a whole, an original work of authorship. For the purposes
+   of this License, Derivative Works shall not include works that remain
+   separable from, or merely link (or bind by name) to the interfaces of,
+   the Work and Derivative Works thereof.
+
+   "Contribution" shall mean any work of authorship, including
+   the original version of the Work and any modifications or additions
+   to that Work or Derivative Works thereof, that is intentionally
+   submitted to Licensor for inclusion in the Work by the copyright owner
+   or by an individual or Legal Entity authorized to submit on behalf of
+   the copyright owner. For the purposes of this definition, "submitted"
+   means any form of electronic, verbal, or written communication sent
+   to the Licensor or its representatives, including but not limited to
+   communication on electronic mailing lists, source code control systems,
+   and issue tracking systems that are managed by, or on behalf of, the
+   Licensor for the purpose of discussing and improving the Work, but
+   excluding communication that is conspicuously marked or otherwise
+   designated in writing by the copyright owner as "Not a Contribution."
+
+   "Contributor" shall mean Licensor and any individual or Legal Entity
+   on behalf of whom a Contribution has been received by Licensor and
+   subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+   this License, each Contributor hereby grants to You a perpetual,
+   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+   copyright license to reproduce, prepare Derivative Works of,
+   publicly display, publicly perform, sublicense, and distribute the
+   Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+   this License, each Contributor hereby grants to You a perpetual,
+   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+   (except as stated in this section) patent license to make, have made,
+   use, offer to sell, sell, import, and otherwise transfer the Work,
+   where such license applies only to those patent claims licensable
+   by such Contributor that are necessarily infringed by their
+   Contribution(s) alone or by combination of their Contribution(s)
+   with the Work to which such Contribution(s) was submitted. If You
+   institute patent litigation against any entity (including a
+   cross-claim or counterclaim in a lawsuit) alleging that the Work
+   or a Contribution incorporated within the Work constitutes direct
+   or contributory patent infringement, then any patent licenses
+   granted to You under this License for that Work shall terminate
+   as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+   Work or Derivative Works thereof in any medium, with or without
+   modifications, and in Source or Object form, provided that You
+   meet the following conditions:
+
+   (a) You must give any other recipients of the Work or
+       Derivative Works a copy of this License; and
+
+   (b) You must cause any modified files to carry prominent notices
+       stating that You changed the files; and
+
+   (c) You must retain, in the Source form of any Derivative Works
+       that You distribute, all copyright, patent, trademark, and
+       attribution notices from the Source form of the Work,
+       excluding those notices that do not pertain to any part of
+       the Derivative Works; and
+
+   (d) If the Work includes a "NOTICE" text file as part of its
+       distribution, then any Derivative Works that You distribute must
+       include a readable copy of the attribution notices contained
+       within such NOTICE file, excluding those notices that do not
+       pertain to any part of the Derivative Works, in at least one
+       of the following places: within a NOTICE text file distributed
+       as part of the Derivative Works; within the Source form or
+       documentation, if provided along with the Derivative Works; or,
+       within a display generated by the Derivative Works, if and
+       wherever such third-party notices normally appear. The contents
+       of the NOTICE file are for informational purposes only and
+       do not modify the License. You may add Your own attribution
+       notices within Derivative Works that You distribute, alongside
+       or as an addendum to the NOTICE text from the Work, provided
+       that such additional attribution notices cannot be construed
+       as modifying the License.
+
+   You may add Your own copyright statement to Your modifications and
+   may provide additional or different license terms and conditions
+   for use, reproduction, or distribution of Your modifications, or
+   for any such Derivative Works as a whole, provided Your use,
+   reproduction, and distribution of the Work otherwise complies with
+   the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+   any Contribution intentionally submitted for inclusion in the Work
+   by You to the Licensor shall be under the terms and conditions of
+   this License, without any additional terms or conditions.
+   Notwithstanding the above, nothing herein shall supersede or modify
+   the terms of any separate license agreement you may have executed
+   with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+   names, trademarks, service marks, or product names of the Licensor,
+   except as required for reasonable and customary use in describing the
+   origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+   agreed to in writing, Licensor provides the Work (and each
+   Contributor provides its Contributions) on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied, including, without limitation, any warranties or conditions
+   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+   PARTICULAR PURPOSE. You are solely responsible for determining the
+   appropriateness of using or redistributing the Work and assume any
+   risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+   whether in tort (including negligence), contract, or otherwise,
+   unless required by applicable law (such as deliberate and grossly
+   negligent acts) or agreed to in writing, shall any Contributor be
+   liable to You for damages, including any direct, indirect, special,
+   incidental, or consequential damages of any character arising as a
+   result of this License or out of the use or inability to use the
+   Work (including but not limited to damages for loss of goodwill,
+   work stoppage, computer failure or malfunction, or any and all
+   other commercial damages or losses), even if such Contributor
+   has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+   the Work or Derivative Works thereof, You may choose to offer,
+   and charge a fee for, acceptance of support, warranty, indemnity,
+   or other liability obligations and/or rights consistent with this
+   License. However, in accepting such obligations, You may act only
+   on Your own behalf and on Your sole responsibility, not on behalf
+   of any other Contributor, and only if You agree to indemnify,
+   defend, and hold each Contributor harmless for any liability
+   incurred by, or claims asserted against, such Contributor by reason
+   of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work.
+
+   To apply the Apache License to your work, attach the following
+   boilerplate notice, with the fields enclosed by brackets "[]"
+   replaced with your own identifying information. (Don't include
+   the brackets!)  The text should be enclosed in the appropriate
+   comment syntax for the file format. We also recommend that a
+   file or class name and description of purpose be included on the
+   same "printed page" as the copyright notice for easier
+   identification within third-party archives.
+
+Copyright [yyyy] [name of copyright owner]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+	http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/LICENSE-MIT.txt b/LICENSE-MIT.txt
new file mode 100644
index 0000000..31aa793
--- /dev/null
+++ b/LICENSE-MIT.txt
@@ -0,0 +1,23 @@
+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/SourceCodePro-LICENSE.txt b/SourceCodePro-LICENSE.txt
new file mode 100644
index 0000000..0754257
--- /dev/null
+++ b/SourceCodePro-LICENSE.txt
@@ -0,0 +1,93 @@
+Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+
+This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/SourceCodePro-Regular.woff b/SourceCodePro-Regular.woff
new file mode 100644
index 0000000..5576670
--- /dev/null
+++ b/SourceCodePro-Regular.woff
Binary files differ
diff --git a/SourceCodePro-Semibold.woff b/SourceCodePro-Semibold.woff
new file mode 100644
index 0000000..ca972a1
--- /dev/null
+++ b/SourceCodePro-Semibold.woff
Binary files differ
diff --git a/SourceSerifPro-Bold.ttf.woff b/SourceSerifPro-Bold.ttf.woff
new file mode 100644
index 0000000..ca25431
--- /dev/null
+++ b/SourceSerifPro-Bold.ttf.woff
Binary files differ
diff --git a/SourceSerifPro-It.ttf.woff b/SourceSerifPro-It.ttf.woff
new file mode 100644
index 0000000..a287bbe
--- /dev/null
+++ b/SourceSerifPro-It.ttf.woff
Binary files differ
diff --git a/SourceSerifPro-LICENSE.md b/SourceSerifPro-LICENSE.md
new file mode 100644
index 0000000..22cb755
--- /dev/null
+++ b/SourceSerifPro-LICENSE.md
@@ -0,0 +1,93 @@
+Copyright 2014-2018 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+
+This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/SourceSerifPro-Regular.ttf.woff b/SourceSerifPro-Regular.ttf.woff
new file mode 100644
index 0000000..a3d55cf
--- /dev/null
+++ b/SourceSerifPro-Regular.ttf.woff
Binary files differ
diff --git a/brush.svg b/brush.svg
new file mode 100644
index 0000000..ea266e8
--- /dev/null
+++ b/brush.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="1792" height="1792" viewBox="0 0 1792 1792"><path d="M1615 0q70 0 122.5 46.5t52.5 116.5q0 63-45 151-332 629-465 752-97 91-218 91-126 0-216.5-92.5t-90.5-219.5q0-128 92-212l638-579q59-54 130-54zm-909 1034q39 76 106.5 130t150.5 76l1 71q4 213-129.5 347t-348.5 134q-123 0-218-46.5t-152.5-127.5-86.5-183-29-220q7 5 41 30t62 44.5 59 36.5 46 17q41 0 55-37 25-66 57.5-112.5t69.5-76 88-47.5 103-25.5 125-10.5z"/></svg>
\ No newline at end of file
diff --git a/dark.css b/dark.css
new file mode 100644
index 0000000..5df3fef
--- /dev/null
+++ b/dark.css
@@ -0,0 +1 @@
+body{background-color:#353535;color:#ddd;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:#ddd;}h1.fqn{border-bottom-color:#d2d2d2;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#d2d2d2;}.in-band{background-color:#353535;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#2A2A2A;}pre{background-color:#2A2A2A;}.sidebar{background-color:#505050;}*{scrollbar-color:rgb(64,65,67) #717171;}.sidebar{scrollbar-color:rgba(32,34,37,.6) transparent;}::-webkit-scrollbar-track{background-color:#717171;}::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar::-webkit-scrollbar-track{background-color:#717171;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar .current{background-color:#333;}.source .sidebar{background-color:#353535;}.sidebar .location{border-color:#fff;background:#575757;color:#DDD;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#444;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#DDD;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#ddd;}.content .highlighted{color:#eee !important;background-color:#616161;}.content .highlighted a,.content .highlighted span{color:#eee !important;}.content .highlighted.trait{background-color:#013191;}.content .highlighted.traitalias{background-color:#013191;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.mod{background-color:#803a1b;}.content .highlighted.externcrate{background-color:#396bac;}.content .highlighted.enum{background-color:#5b4e68;}.content .highlighted.struct{background-color:#194e9f;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#4950ed;}.content .highlighted.type{background-color:#38902c;}.content .highlighted.foreigntype{background-color:#b200d6;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#217d1c;}.content .highlighted.constant,.content .highlighted.static{background-color:#0063cc;}.content .highlighted.primitive{background-color:#00708a;}.content .highlighted.keyword{background-color:#884719;}.content .stability::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#82b089;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#ff7f00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#dd7de8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#a6ae37;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#82a5c9;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#43aec7;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#bda000;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b397da;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav:not(.sidebar){border-bottom-color:#4e4e4e;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#ddd;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.stability a{color:#D2991D;}.stab.internal a{color:#304FFE;}a.test-arrow{color:#dedede;}.collapse-toggle{color:#999;}#crate-search{color:#111;background-color:#f0f0f0;border-color:#000;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input{color:#111;background-color:#f0f0f0;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input:focus{border-color:#008dfd;}.search-focus:disabled{background-color:#c5c4c4;}#crate-search+.search-input:focus{box-shadow:0 0 8px 4px #078dd8;}.module-item .stab{color:#ddd;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.internal{background:#FFB9B3;border-color:#B71C1C;color:#2f2f2f;}.stab.deprecated{background:#F3DFFF;border-color:#7F0087;color:#2f2f2f;}.stab.portability{background:#C4ECFF;border-color:#7BA5DB;color:#2f2f2f;}.stab.portability>code{color:#ddd;}#help>div{background:#4d4d4d;border-color:#bfbfbf;}#help dt{border-color:#bfbfbf;background:rgba(0,0,0,0);color:black;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#ddd;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background-color:#494a3d;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip .tooltiptext{background-color:#000;color:#fff;border-color:#000;}.tooltip .tooltiptext::after{border-color:transparent black transparent transparent;}#titles>div:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>div:hover,#titles>div.selected{border-top-color:#0089ff;}#titles>div>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#505050;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#505050;border-right-color:#000;}#sidebar-filler{background-color:#505050;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu{border-color:#e0e0e0;background:#f0f0f0;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus{border-color:#ffb900;}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}@media (max-width:700px){#theme-picker{background:#f0f0f0;}}#all-types{background-color:#505050;}#all-types:hover{background-color:#606060;}.search-results td span.alias{color:#fff;}.search-results td span.grey{color:#ccc;}#sidebar-toggle{background-color:#565656;}#sidebar-toggle:hover{background-color:#676767;}#source-sidebar{background-color:#565656;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#444;}div.files>.selected{background-color:#333;}.setting-line>.title{border-bottom-color:#ddd;}
\ No newline at end of file
diff --git a/down-arrow.svg b/down-arrow.svg
new file mode 100644
index 0000000..35437e7
--- /dev/null
+++ b/down-arrow.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="Layer_1" width="128" height="128" enable-background="new 0 0 128 128" version="1.1" viewBox="-30 -20 176 176" xml:space="preserve"><g><line x1="111" x2="64" y1="40.5" y2="87.499" fill="none" stroke="#2F3435" stroke-linecap="square" stroke-miterlimit="10" stroke-width="12"/><line x1="64" x2="17" y1="87.499" y2="40.5" fill="none" stroke="#2F3435" stroke-linecap="square" stroke-miterlimit="10" stroke-width="12"/></g></svg>
\ No newline at end of file
diff --git a/implementors/unicode_width/trait.UnicodeWidthChar.js b/implementors/unicode_width/trait.UnicodeWidthChar.js
new file mode 100644
index 0000000..2b46b08
--- /dev/null
+++ b/implementors/unicode_width/trait.UnicodeWidthChar.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {};
+implementors["unicode_width"] = [];
+if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/implementors/unicode_width/trait.UnicodeWidthStr.js b/implementors/unicode_width/trait.UnicodeWidthStr.js
new file mode 100644
index 0000000..2b46b08
--- /dev/null
+++ b/implementors/unicode_width/trait.UnicodeWidthStr.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {};
+implementors["unicode_width"] = [];
+if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..fce72a4
--- /dev/null
+++ b/index.html
@@ -0,0 +1 @@
+<meta http-equiv=refresh content=0;url=unicode_width/index.html>
diff --git a/light.css b/light.css
new file mode 100644
index 0000000..824281e
--- /dev/null
+++ b/light.css
@@ -0,0 +1 @@
+ body{background-color:white;color:black;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:black;}h1.fqn{border-bottom-color:#D5D5D5;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#DDDDDD;}.in-band{background-color:white;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#F5F5F5;}pre{background-color:#F5F5F5;}.sidebar{background-color:#F1F1F1;}*{scrollbar-color:rgba(36,37,39,0.6) #e6e6e6;}.sidebar{scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;}::-webkit-scrollbar-track{background-color:#ecebeb;}::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar::-webkit-scrollbar-track{background-color:#dcdcdc;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar .current{background-color:#fff;}.source .sidebar{background-color:#fff;}.sidebar .location{border-color:#000;background-color:#fff;color:#333;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#F5F5F5;}.line-numbers span{color:#c67e2d;}.line-numbers .line-highlighted{background-color:#f6fdb0 !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#ddd;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#4E4C4C;}.content .highlighted{color:#000 !important;background-color:#ccc;}.content .highlighted a,.content .highlighted span{color:#000 !important;}.content .highlighted.trait{background-color:#c7b6ff;}.content .highlighted.traitalias{background-color:#c7b6ff;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.enum{background-color:#b4d1b9;}.content .highlighted.struct{background-color:#e7b1a0;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#c6afb3;}.content .highlighted.type{background-color:#ffc891;}.content .highlighted.foreigntype{background-color:#f5c4ff;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#8ce488;}.content .highlighted.constant,.content .highlighted.static{background-color:#c3e0ff;}.content .highlighted.primitive{background-color:#9aecff;}.content .highlighted.keyword{background-color:#f99650;}.content .stability::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#508157;}.content span.struct,.content a.struct,.block a.current.struct{color:#ad448e;}.content span.type,.content a.type,.block a.current.type{color:#ba5d00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#cd00e2;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#068000;}.content span.union,.content a.union,.block a.current.union{color:#767b27;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#546e8a;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#2c8093;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#4d76ae;}.content span.trait,.content a.trait,.block a.current.trait{color:#7c5af3;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#6841f1;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#9a6e31;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8E908C;}pre.rust .doccomment{color:#4D4D4C;}nav:not(.sidebar){border-bottom-color:#e0e0e0;}nav.main .current{border-top-color:#000;border-bottom-color:#000;}nav.main .separator{border:1px solid #000;}a{color:#000;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.stability a{color:#3873AD;}.stab.internal a{color:#304FFE;}a.test-arrow{color:#f5f5f5;}.collapse-toggle{color:#999;}#crate-search{color:#555;background-color:white;border-color:#e0e0e0;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input{color:#555;background-color:white;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input:focus{border-color:#66afe9;}.search-focus:disabled{background-color:#e6e6e6;}#crate-search+.search-input:focus{box-shadow:0 0 8px #078dd8;}.module-item .stab{color:#000;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;}.stab.internal{background:#FFB9B3;border-color:#B71C1C;}.stab.deprecated{background:#F3DFFF;border-color:#7F0087;}.stab.portability{background:#C4ECFF;border-color:#7BA5DB;}.stab.portability>code{color:#000;}#help>div{background:#e9e9e9;border-color:#bfbfbf;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:black;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#8959A8;}pre.rust .kw-2,pre.rust .prelude-ty{color:#4271AE;}pre.rust .number,pre.rust .string{color:#718C00;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#C82829;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#B76514;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#c7c7c7;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background:#FDFFD3;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.5);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.5);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip .tooltiptext{background-color:#000;color:#fff;}.tooltip .tooltiptext::after{border-color:transparent black transparent transparent;}#titles>div:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>div:hover,#titles>div.selected{border-top-color:#0089ff;}#titles>div>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#F1F1F1;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#F1F1F1;border-right-color:#000;}#sidebar-filler{background-color:#F1F1F1;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu{border-color:#e0e0e0;background-color:#fff;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus{border-color:#717171;}#theme-choices{border-color:#ccc;background-color:#fff;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#eee;}@media (max-width:700px){#theme-picker{background:#fff;}}#all-types{background-color:#fff;}#all-types:hover{background-color:#f9f9f9;}.search-results td span.alias{color:#000;}.search-results td span.grey{color:#999;}#sidebar-toggle{background-color:#F1F1F1;}#sidebar-toggle:hover{background-color:#E0E0E0;}#source-sidebar{background-color:#F1F1F1;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#E0E0E0;}div.files>.selected{background-color:#fff;}.setting-line>.title{border-bottom-color:#D5D5D5;}
\ No newline at end of file
diff --git a/main.js b/main.js
new file mode 100644
index 0000000..9dec305
--- /dev/null
+++ b/main.js
@@ -0,0 +1,7 @@
+if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position}}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){var l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1}}if(!DOMTokenList.prototype.add){DOMTokenList.prototype.add=function(className){if(className&&!hasClass(this,className)){if(this.className&&this.className.length>0){this.className+=" "+className}else{this.className=className}}}}if(!DOMTokenList.prototype.remove){DOMTokenList.prototype.remove=function(className){if(className&&this.className){this.className=(" "+this.className+" ").replace(" "+className+" "," ").trim()}}}function getSearchInput(){return document.getElementsByClassName("search-input")[0]}function getSearchElement(){return document.getElementById("search")}function focusSearchBar(){getSearchInput().focus()}function defocusSearchBar(){getSearchInput().blur()}(function(){"use strict";var itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias"];var disableShortcuts=getCurrentValue("rustdoc-disable-shortcuts")==="true";var search_input=getSearchInput();var searchTimeout=null;var currentTab=0;var mouseMovedAfterSearch=true;var titleBeforeSearch=document.title;function clearInputTimeout(){if(searchTimeout!==null){clearTimeout(searchTimeout);searchTimeout=null}}function getPageId(){var id=document.location.href.split("#")[1];if(id){return id.split("?")[0].split("&")[0]}return null}function showSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){addClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];if(sidebar){addClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(!filler){var div=document.createElement("div");div.id="sidebar-filler";sidebar.appendChild(div)}}var themePickers=document.getElementsByClassName("theme-picker");if(themePickers&&themePickers.length>0){themePickers[0].style.display="none"}}function hideSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){removeClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(filler){filler.remove()}document.getElementsByTagName("body")[0].style.marginTop="";var themePickers=document.getElementsByClassName("theme-picker");if(themePickers&&themePickers.length>0){themePickers[0].style.display=null}}function showSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(main,"hidden");removeClass(search,"hidden");mouseMovedAfterSearch=false}function hideSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(search,"hidden");removeClass(main,"hidden")}var TY_PRIMITIVE=itemTypes.indexOf("primitive");var TY_KEYWORD=itemTypes.indexOf("keyword");function getQueryStringParams(){var params={};window.location.search.substring(1).split("&").map(function(s){var pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function isHidden(elem){return elem.offsetHeight===0}var main=document.getElementById("main");var savedHash="";function handleHashes(ev){var elem;var search=getSearchElement();if(ev!==null&&search&&!hasClass(search,"hidden")&&ev.newURL){hideSearchResults(search);var hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(hash,"","?search=#"+hash)}elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}elem=document.getElementById(savedHash.slice(1));if(!elem||!isHidden(elem)){return}var parent=elem.parentNode;if(parent&&hasClass(parent,"impl-items")){onEachLazy(parent.getElementsByClassName("collapsed"),function(e){if(e.parentNode===parent){e.click();return true}});if(isHidden(elem)){if(hasClass(parent.lastElementChild,"collapse-toggle")){parent.lastElementChild.click()}}}}}function highlightSourceLines(match,ev){if(typeof match==="undefined"){hideSidebar();match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/)}if(!match){return}var from=parseInt(match[1],10);var to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to<from){var tmp=to;to=from;from=tmp}var elem=document.getElementById(from);if(!elem){return}if(!ev){var x=document.getElementById(from);if(x){x.scrollIntoView()}}onEachLazy(document.getElementsByClassName("line-numbers"),function(e){onEachLazy(e.getElementsByTagName("span"),function(i_e){removeClass(i_e,"line-highlighted")})});for(var i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}function onHashChange(ev){hideSidebar();var match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/);if(match){return highlightSourceLines(match,ev)}handleHashes(ev)}function expandSection(id){var elem=document.getElementById(id);if(elem&&isHidden(elem)){var h3=elem.parentNode.previousElementSibling;if(h3&&h3.tagName!=="H3"){h3=h3.previousElementSibling}if(h3){var collapses=h3.getElementsByClassName("collapse-toggle");if(collapses.length>0){collapseDocs(collapses[0],"show")}}}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!="undefined"){return ev.key}var c=ev.charCode||ev.keyCode;if(c==27){return"Escape"}return String.fromCharCode(c)}function getHelpElement(){return document.getElementById("help")}function displayHelp(display,ev,help){help=help?help:getHelpElement();if(display===true){if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur")}}else if(hasClass(help,"hidden")===false){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur")}}function handleEscape(ev){var help=getHelpElement();var search=getSearchElement();if(hasClass(help,"hidden")===false){displayHelp(false,ev,help)}else if(hasClass(search,"hidden")===false){clearInputTimeout();ev.preventDefault();hideSearchResults(search);document.title=titleBeforeSearch}defocusSearchBar()}function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts===true){return}if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":displayHelp(false,ev);ev.preventDefault();focusSearchBar();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":if(ev.shiftKey){displayHelp(true,ev)}break}}}function findParentElement(elem,tagName){do{if(elem&&elem.tagName===tagName){return elem}elem=elem.parentNode}while(elem);return null}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function resetMouseMoved(ev){mouseMovedAfterSearch=true}document.addEventListener("mousemove",resetMouseMoved);var handleSourceHighlight=(function(){var prev_line_id=0;var set_fragment=function(name){var x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return function(ev){var cur_line_id=parseInt(ev.target.id,10);ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){var tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());document.addEventListener("click",function(ev){if(hasClass(ev.target,"collapse-toggle")){collapseDocs(ev.target,"toggle")}else if(hasClass(ev.target.parentNode,"collapse-toggle")){collapseDocs(ev.target.parentNode,"toggle")}else if(ev.target.tagName==="SPAN"&&hasClass(ev.target.parentNode,"line-numbers")){handleSourceHighlight(ev)}else if(hasClass(getHelpElement(),"hidden")===false){var help=getHelpElement();var is_inside_help_popup=ev.target!==help&&help.contains(ev.target);if(is_inside_help_popup===false){addClass(help,"hidden");removeClass(document.body,"blur")}}else{var a=findParentElement(ev.target,"A");if(a&&a.hash){expandSection(a.hash.replace(/^#/,""))}}});(function(){var x=document.getElementsByClassName("version-selector");if(x.length>0){x[0].onchange=function(){var i,match,url=document.location.href,stripped="",len=rootPath.match(/\.\.\//g).length+1;for(i=0;i<len;++i){match=url.match(/\/[^\/]*$/);if(i<len-1){stripped=match[0]+stripped}url=url.substring(0,url.length-match[0].length)}var selectedVersion=document.getElementsByClassName("version-selector")[0].value;url+="/"+selectedVersion+stripped;document.location.href=url}}}());var levenshtein_row2=[];function levenshtein(s1,s2){if(s1===s2){return 0}var s1_len=s1.length,s2_len=s2.length;if(s1_len&&s2_len){var i1=0,i2=0,a,b,c,c2,row=levenshtein_row2;while(i1<s1_len){row[i1]=++i1}while(i2<s2_len){c2=s2.charCodeAt(i2);a=i2;++i2;b=i2;for(i1=0;i1<s1_len;++i1){c=a+(s1.charCodeAt(i1)!==c2?1:0);a=row[i1];b=b<a?(b<c?b+1:c):(a<c?a+1:c);row[i1]=b}}return b}return s1_len+s2_len}window.initSearch=function(rawSearchIndex){var MAX_LEV_DISTANCE=3;var MAX_RESULTS=200;var GENERICS_DATA=1;var NAME=0;var INPUTS_DATA=0;var OUTPUT_DATA=1;var NO_TYPE_FILTER=-1;var currentResults,index,searchIndex;var ALIASES={};var params=getQueryStringParams();if(search_input.value===""){search_input.value=params.search||""}function execQuery(query,searchWords,filterCrates){function itemTypeFromName(typename){var length=itemTypes.length;for(var i=0;i<length;++i){if(itemTypes[i]===typename){return i}}return NO_TYPE_FILTER}var valLower=query.query.toLowerCase(),val=valLower,typeFilter=itemTypeFromName(query.type),results={},results_in_args={},results_returned={},split=valLower.split("::");var length=split.length;for(var z=0;z<length;++z){if(split[z]===""){split.splice(z,1);z-=1}}function transformResults(results,isType){var out=[];var length=results.length;for(var i=0;i<length;++i){if(results[i].id>-1){var obj=searchIndex[results[i].id];obj.lev=results[i].lev;if(isType!==true||obj.type){var res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}}return out}function sortResults(results,isType){var ar=[];for(var entry in results){if(hasOwnProperty(results,entry)){ar.push(results[entry])}}results=ar;var i;var nresults=results.length;for(i=0;i<nresults;++i){results[i].word=searchWords[results[i].id];results[i].item=searchIndex[results[i].id]||{}}if(results.length===0){return[]}results.sort(function(aaa,bbb){var a,b;a=(aaa.word!==val);b=(bbb.word!==val);if(a!==b){return a-b}a=(aaa.lev);b=(bbb.lev);if(a!==b){return a-b}a=(aaa.item.crate!==window.currentCrate);b=(bbb.item.crate!==window.currentCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});var length=results.length;for(i=0;i<length;++i){var result=results[i];if(result.dontValidate){continue}var name=result.item.name.toLowerCase(),path=result.item.path.toLowerCase(),parent=result.item.parent;if(isType!==true&&validateResult(name,path,split,parent)===false){result.id=-1}}return transformResults(results)}function extractGenerics(val){val=val.toLowerCase();if(val.indexOf("<")!==-1){var values=val.substring(val.indexOf("<")+1,val.lastIndexOf(">"));return{name:val.substring(0,val.indexOf("<")),generics:values.split(/\s*,\s*/),}}return{name:val,generics:[],}}function getObjectFromId(id){if(typeof id==="number"){return searchIndex[id]}return{'name':id}}function checkGenerics(obj,val){var lev_distance=MAX_LEV_DISTANCE+1;if(val.generics.length>0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=obj[GENERICS_DATA].slice(0);var total=0;var done=0;var vlength=val.generics.length;for(var y=0;y<vlength;++y){var lev={pos:-1,lev:MAX_LEV_DISTANCE+1};var elength=elems.length;var firstGeneric=getObjectFromId(val.generics[y]).name;for(var x=0;x<elength;++x){var tmp_lev=levenshtein(getObjectFromId(elems[x]).name,firstGeneric);if(tmp_lev<lev.lev){lev.lev=tmp_lev;lev.pos=x}}if(lev.pos!==-1){elems.splice(lev.pos,1);lev_distance=Math.min(lev.lev,lev_distance);total+=lev.lev;done+=1}else{return MAX_LEV_DISTANCE+1}}return Math.ceil(total/done)}}return MAX_LEV_DISTANCE+1}function checkType(obj,val,literalSearch){var lev_distance=MAX_LEV_DISTANCE+1;var x;if(obj[NAME]===val.name){if(literalSearch===true){if(val.generics&&val.generics.length!==0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=obj[GENERICS_DATA].slice(0);var allFound=true;for(var y=0;allFound===true&&y<val.generics.length;++y){allFound=false;var firstGeneric=getObjectFromId(val.generics[y]).name;for(x=0;allFound===false&&x<elems.length;++x){allFound=getObjectFromId(elems[x]).name===firstGeneric}if(allFound===true){elems.splice(x-1,1)}}if(allFound===true){return true}}else{return false}}return true}if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length!==0){var tmp_lev=checkGenerics(obj,val);if(tmp_lev<=MAX_LEV_DISTANCE){return tmp_lev}}else{return 0}}if(literalSearch===true){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){var length=obj[GENERICS_DATA].length;for(x=0;x<length;++x){if(obj[GENERICS_DATA][x]===val.name){return true}}}return false}lev_distance=Math.min(levenshtein(obj[NAME],val.name),lev_distance);if(lev_distance<=MAX_LEV_DISTANCE){lev_distance=Math.ceil((checkGenerics(obj,val)+lev_distance)/2)}else if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){var olength=obj[GENERICS_DATA].length;for(x=0;x<olength;++x){lev_distance=Math.min(levenshtein(obj[GENERICS_DATA][x],val.name),lev_distance)}}return lev_distance+1}function findArg(obj,val,literalSearch,typeFilter){var lev_distance=MAX_LEV_DISTANCE+1;if(obj&&obj.type&&obj.type[INPUTS_DATA]&&obj.type[INPUTS_DATA].length>0){var length=obj.type[INPUTS_DATA].length;for(var i=0;i<length;i++){var tmp=obj.type[INPUTS_DATA][i];if(typePassesFilter(typeFilter,tmp[1])===false){continue}tmp=checkType(tmp,val,literalSearch);if(literalSearch===true){if(tmp===true){return true}continue}lev_distance=Math.min(tmp,lev_distance);if(lev_distance===0){return 0}}}return literalSearch===true?false:lev_distance}function checkReturned(obj,val,literalSearch,typeFilter){var lev_distance=MAX_LEV_DISTANCE+1;if(obj&&obj.type&&obj.type.length>OUTPUT_DATA){var ret=obj.type[OUTPUT_DATA];if(typeof ret[0]==="string"){ret=[ret]}for(var x=0;x<ret.length;++x){var tmp=ret[x];if(typePassesFilter(typeFilter,tmp[1])===false){continue}tmp=checkType(tmp,val,literalSearch);if(literalSearch===true){if(tmp===true){return true}continue}lev_distance=Math.min(tmp,lev_distance);if(lev_distance===0){return 0}}}return literalSearch===true?false:lev_distance}function checkPath(contains,lastElem,ty){if(contains.length===0){return 0}var ret_lev=MAX_LEV_DISTANCE+1;var path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}var length=path.length;var clength=contains.length;if(clength>length){return MAX_LEV_DISTANCE+1}for(var i=0;i<length;++i){if(i+clength>length){break}var lev_total=0;var aborted=false;for(var x=0;x<clength;++x){var lev=levenshtein(path[i+x],contains[x]);if(lev>MAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(aborted===false){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER)return true;if(filter===type)return true;var name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function generateId(ty){if(ty.parent&&ty.parent.name){return itemTypes[ty.ty]+ty.path+ty.parent.name+ty.name}return itemTypes[ty.ty]+ty.path+ty.name}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,}}function handleAliases(ret,query,filterCrates){var aliases=[];var crateAliases=[];var i;if(filterCrates!==undefined){if(ALIASES[filterCrates]&&ALIASES[filterCrates][query.search]){for(i=0;i<ALIASES[filterCrates][query.search].length;++i){aliases.push(createAliasFromItem(searchIndex[ALIASES[filterCrates][query.search][i]]))}}}else{Object.keys(ALIASES).forEach(function(crate){if(ALIASES[crate][query.search]){var pushTo=crate===window.currentCrate?crateAliases:aliases;for(i=0;i<ALIASES[crate][query.search].length;++i){pushTo.push(createAliasFromItem(searchIndex[ALIASES[crate][query.search][i]]))}}})}var sortFunc=function(aaa,bbb){if(aaa.path<bbb.path){return 1}else if(aaa.path===bbb.path){return 0}return-1};crateAliases.sort(sortFunc);aliases.sort(sortFunc);var pushFunc=function(alias){alias.alias=query.raw;var res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};onEach(aliases,pushFunc);onEach(crateAliases,pushFunc)}var nSearchWords=searchWords.length;var i;var ty;var fullId;var returned;var in_args;if((val.charAt(0)==="\""||val.charAt(0)==="'")&&val.charAt(val.length-1)===val.charAt(0)){val=extractGenerics(val.substr(1,val.length-2));for(i=0;i<nSearchWords;++i){if(filterCrates!==undefined&&searchIndex[i].crate!==filterCrates){continue}in_args=findArg(searchIndex[i],val,true,typeFilter);returned=checkReturned(searchIndex[i],val,true,typeFilter);ty=searchIndex[i];fullId=generateId(ty);if(searchWords[i]===val.name&&typePassesFilter(typeFilter,searchIndex[i].ty)&&results[fullId]===undefined){results[fullId]={id:i,index:-1,dontValidate:true,}}if(in_args===true&&results_in_args[fullId]===undefined){results_in_args[fullId]={id:i,index:-1,dontValidate:true,}}if(returned===true&&results_returned[fullId]===undefined){results_returned[fullId]={id:i,index:-1,dontValidate:true,}}}query.inputs=[val];query.output=val;query.search=val}else if(val.search("->")>-1){var trimmer=function(s){return s.trim()};var parts=val.split("->").map(trimmer);var input=parts[0];var inputs=input.split(",").map(trimmer).sort();for(i=0;i<inputs.length;++i){inputs[i]=extractGenerics(inputs[i])}var output=extractGenerics(parts[1]);for(i=0;i<nSearchWords;++i){if(filterCrates!==undefined&&searchIndex[i].crate!==filterCrates){continue}var type=searchIndex[i].type;ty=searchIndex[i];if(!type){continue}fullId=generateId(ty);returned=checkReturned(ty,output,true,NO_TYPE_FILTER);if(output.name==="*"||returned===true){in_args=false;var is_module=false;if(input==="*"){is_module=true}else{var allFound=true;for(var it=0;allFound===true&&it<inputs.length;it++){allFound=checkType(type,inputs[it],true)}in_args=allFound}if(in_args===true){results_in_args[fullId]={id:i,index:-1,dontValidate:true,}}if(returned===true){results_returned[fullId]={id:i,index:-1,dontValidate:true,}}if(is_module===true){results[fullId]={id:i,index:-1,dontValidate:true,}}}}query.inputs=inputs.map(function(input){return input.name});query.output=output.name}else{query.inputs=[val];query.output=val;query.search=val;val=val.replace(/\_/g,"");var valGenerics=extractGenerics(val);var paths=valLower.split("::");var j;for(j=0;j<paths.length;++j){if(paths[j]===""){paths.splice(j,1);j-=1}}val=paths[paths.length-1];var contains=paths.slice(0,paths.length>1?paths.length-1:1);var lev;for(j=0;j<nSearchWords;++j){ty=searchIndex[j];if(!ty||(filterCrates!==undefined&&ty.crate!==filterCrates)){continue}var lev_add=0;if(paths.length>1){lev=checkPath(contains,paths[paths.length-1],ty);if(lev>MAX_LEV_DISTANCE){continue}else if(lev>0){lev_add=lev/10}}returned=MAX_LEV_DISTANCE+1;in_args=MAX_LEV_DISTANCE+1;var index=-1;lev=MAX_LEV_DISTANCE+1;fullId=generateId(ty);if(searchWords[j].indexOf(split[i])>-1||searchWords[j].indexOf(val)>-1||searchWords[j].replace(/_/g,"").indexOf(val)>-1){if(typePassesFilter(typeFilter,ty.ty)&&results[fullId]===undefined){index=searchWords[j].replace(/_/g,"").indexOf(val)}}if((lev=levenshtein(searchWords[j],val))<=MAX_LEV_DISTANCE){if(typePassesFilter(typeFilter,ty.ty)===false){lev=MAX_LEV_DISTANCE+1}else{lev+=1}}in_args=findArg(ty,valGenerics,false,typeFilter);returned=checkReturned(ty,valGenerics,false,typeFilter);lev+=lev_add;if(lev>0&&val.length>3&&searchWords[j].indexOf(val)>-1){if(val.length<6){lev-=1}else{lev=0}}if(in_args<=MAX_LEV_DISTANCE){if(results_in_args[fullId]===undefined){results_in_args[fullId]={id:j,index:index,lev:in_args,}}results_in_args[fullId].lev=Math.min(results_in_args[fullId].lev,in_args)}if(returned<=MAX_LEV_DISTANCE){if(results_returned[fullId]===undefined){results_returned[fullId]={id:j,index:index,lev:returned,}}results_returned[fullId].lev=Math.min(results_returned[fullId].lev,returned)}if(index!==-1||lev<=MAX_LEV_DISTANCE){if(index!==-1&&paths.length<2){lev=0}if(results[fullId]===undefined){results[fullId]={id:j,index:index,lev:lev,}}results[fullId].lev=Math.min(results[fullId].lev,lev)}}}var ret={"in_args":sortResults(results_in_args,true),"returned":sortResults(results_returned,true),"others":sortResults(results),};handleAliases(ret,query,filterCrates);return ret}function validateResult(name,path,keys,parent){for(var i=0;i<keys.length;++i){if(!(name.indexOf(keys[i])>-1||path.indexOf(keys[i])>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(keys[i])>-1)||levenshtein(name,keys[i])<=MAX_LEV_DISTANCE)){return false}}return true}function getQuery(raw){var matches,type,query;query=raw;matches=query.match(/^(fn|mod|struct|enum|trait|type|const|macro)\s*:\s*/i);if(matches){type=matches[1].replace(/^const$/,"constant");query=query.substring(matches[0].length)}return{raw:raw,query:query,type:type,id:query+type}}function initSearchNav(){var hoverTimeout;var click_func=function(e){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}var dst=e.target.getElementsByTagName("a");if(dst.length<1){return}dst=dst[0];if(window.location.pathname===dst.pathname){hideSearchResults();document.location.href=dst.href}};var mouseover_func=function(e){if(mouseMovedAfterSearch){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}clearTimeout(hoverTimeout);hoverTimeout=setTimeout(function(){onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){removeClass(i_e,"highlighted")})});addClass(el,"highlighted")},20)}};onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){i_e.onclick=click_func;i_e.onmouseover=mouseover_func})});search_input.onkeydown=function(e){var actives=[[],[],[]];var current=0;onEachLazy(document.getElementById("results").childNodes,function(e){onEachLazy(e.getElementsByClassName("highlighted"),function(e){actives[current].push(e)});current+=1});if(e.which===38){if(!actives[currentTab].length||!actives[currentTab][0].previousElementSibling){return}addClass(actives[currentTab][0].previousElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted");e.preventDefault()}else if(e.which===40){if(!actives[currentTab].length){var results=document.getElementById("results").childNodes;if(results.length>0){var res=results[currentTab].getElementsByClassName("result");if(res.length>0){addClass(res[0],"highlighted")}}}else if(actives[currentTab][0].nextElementSibling){addClass(actives[currentTab][0].nextElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===13){if(actives[currentTab].length){document.location.href=actives[currentTab][0].getElementsByTagName("a")[0].href}}else if(e.which===9){if(e.shiftKey){printTab(currentTab>0?currentTab-1:2)}else{printTab(currentTab>1?0:currentTab+1)}e.preventDefault()}else if(e.which===16){}else if(actives[currentTab].length>0){removeClass(actives[currentTab][0],"highlighted")}}}function buildHrefAndPath(item){var displayPath;var href;var type=itemTypes[item.ty];var name=item.name;var path=item.path;if(type==="mod"){displayPath=path+"::";href=rootPath+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="primitive"||type==="keyword"){displayPath="";href=rootPath+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=rootPath+name+"/index.html"}else if(item.parent!==undefined){var myparent=item.parent;var anchor="#"+type+"."+name;var parentType=itemTypes[myparent.ty];var pageType=parentType;var pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){var splitPath=item.path.split("::");var enumName=splitPath.pop();path=splitPath.join("::");displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=rootPath+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=rootPath+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function escape(content){var h1=document.createElement("h1");h1.textContent=content;return h1.innerHTML}function pathSplitter(path){var tmp="<span>"+path.replace(/::/g,"::</span><span>");if(tmp.endsWith("<span>")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){var extraStyle="";if(display===false){extraStyle=" style=\"display: none;\""}var output="";var duplicates={};var length=0;if(array.length>0){output="<table class=\"search-results\""+extraStyle+">";array.forEach(function(item){var name,type;name=item.name;type=itemTypes[item.ty];if(item.is_alias!==true){if(duplicates[item.fullPath]){return}duplicates[item.fullPath]=true}length+=1;output+="<tr class=\""+type+" result\"><td>"+"<a href=\""+item.href+"\">"+(item.is_alias===true?("<span class=\"alias\"><b>"+item.alias+" </b></span><span "+"class=\"grey\"><i>&nbsp;- see&nbsp;</i></span>"):"")+item.displayPath+"<span class=\""+type+"\">"+name+"</span></a></td><td>"+"<a href=\""+item.href+"\">"+"<span class=\"desc\">"+escape(item.desc)+"&nbsp;</span></a></td></tr>"});output+="</table>"}else{output="<div class=\"search-failed\""+extraStyle+">No results :(<br/>"+"Try on <a href=\"https://duckduckgo.com/?q="+encodeURIComponent("rust "+query.query)+"\">DuckDuckGo</a>?<br/><br/>"+"Or try looking in one of these:<ul><li>The <a "+"href=\"https://doc.rust-lang.org/reference/index.html\">Rust Reference</a> "+" for technical details about the language.</li><li><a "+"href=\"https://doc.rust-lang.org/rust-by-example/index.html\">Rust By "+"Example</a> for expository code examples.</a></li><li>The <a "+"href=\"https://doc.rust-lang.org/book/index.html\">Rust Book</a> for "+"introductions to language features and the language itself.</li><li><a "+"href=\"https://docs.rs\">Docs.rs</a> for documentation of crates released on"+" <a href=\"https://crates.io/\">crates.io</a>.</li></ul></div>"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(currentTab===tabNb){return"<div class=\"selected\">"+text+" <div class=\"count\">("+nbElems+")</div></div>"}return"<div>"+text+" <div class=\"count\">("+nbElems+")</div></div>"}function showResults(results){if(results.others.length===1&&getCurrentValue("rustdoc-go-to-only-result")==="true"){var elem=document.createElement("a");elem.href=results.others[0].href;elem.style.display="none";document.body.appendChild(elem);elem.click()}var query=getQuery(search_input.value);currentResults=query.id;var ret_others=addTab(results.others,query);var ret_in_args=addTab(results.in_args,query,false);var ret_returned=addTab(results.returned,query,false);var output="<h1>Results for "+escape(query.query)+(query.type?" (type: "+escape(query.type)+")":"")+"</h1>"+"<div id=\"titles\">"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"</div><div id=\"results\">"+ret_others[0]+ret_in_args[0]+ret_returned[0]+"</div>";var search=getSearchElement();search.innerHTML=output;showSearchResults(search);var tds=search.getElementsByTagName("td");var td_width=0;if(tds.length>0){td_width=tds[0].offsetWidth}var width=search.offsetWidth-40-td_width;onEachLazy(search.getElementsByClassName("desc"),function(e){e.style.width=width+"px"});initSearchNav();var elems=document.getElementById("titles").childNodes;elems[0].onclick=function(){printTab(0)};elems[1].onclick=function(){printTab(1)};elems[2].onclick=function(){printTab(2)};printTab(currentTab)}function execSearch(query,searchWords,filterCrates){function getSmallest(arrays,positions,notDuplicates){var start=null;for(var it=0;it<positions.length;++it){if(arrays[it].length>positions[it]&&(start===null||start>arrays[it][positions[it]].lev)&&!notDuplicates[arrays[it][positions[it]].fullPath]){start=arrays[it][positions[it]].lev}}return start}function mergeArrays(arrays){var ret=[];var positions=[];var notDuplicates={};for(var x=0;x<arrays.length;++x){positions.push(0)}while(ret.length<MAX_RESULTS){var smallest=getSmallest(arrays,positions,notDuplicates);if(smallest===null){break}for(x=0;x<arrays.length&&ret.length<MAX_RESULTS;++x){if(arrays[x].length>positions[x]&&arrays[x][positions[x]].lev===smallest&&!notDuplicates[arrays[x][positions[x]].fullPath]){ret.push(arrays[x][positions[x]]);notDuplicates[arrays[x][positions[x]].fullPath]=true;positions[x]+=1}}}return ret}var queries=query.raw.split(",");var results={"in_args":[],"returned":[],"others":[],};for(var i=0;i<queries.length;++i){query=queries[i].trim();if(query.length!==0){var tmp=execQuery(getQuery(query),searchWords,filterCrates);results.in_args.push(tmp.in_args);results.returned.push(tmp.returned);results.others.push(tmp.others)}}if(queries.length>1){return{"in_args":mergeArrays(results.in_args),"returned":mergeArrays(results.returned),"others":mergeArrays(results.others),}}return{"in_args":results.in_args[0],"returned":results.returned[0],"others":results.others[0],}}function getFilterCrates(){var elem=document.getElementById("crate-search");if(elem&&elem.value!=="All crates"&&hasOwnProperty(rawSearchIndex,elem.value)){return elem.value}return undefined}function search(e,forced){var params=getQueryStringParams();var query=getQuery(search_input.value.trim());if(e){e.preventDefault()}if(query.query.length===0){return}if(forced!==true&&query.id===currentResults){if(query.query.length>0){putBackSearch(search_input)}return}document.title="Results for "+query.query+" - Rust";if(browserSupportsHistoryApi()){if(!history.state&&!params.search){history.pushState(query,"","?search="+encodeURIComponent(query.raw))}else{history.replaceState(query,"","?search="+encodeURIComponent(query.raw))}}var filterCrates=getFilterCrates();showResults(execSearch(query,index,filterCrates))}function buildIndex(rawSearchIndex){searchIndex=[];var searchWords=[];var i;var currentIndex=0;for(var crate in rawSearchIndex){if(!hasOwnProperty(rawSearchIndex,crate)){continue}var crateSize=0;searchWords.push(crate);searchIndex.push({crate:crate,ty:1,name:crate,path:"",desc:rawSearchIndex[crate].doc,type:null,});currentIndex+=1;var items=rawSearchIndex[crate].i;var paths=rawSearchIndex[crate].p;var aliases=rawSearchIndex[crate].a;var len=paths.length;for(i=0;i<len;++i){paths[i]={ty:paths[i][0],name:paths[i][1]}}len=items.length;var lastPath="";for(i=0;i<len;++i){var rawRow=items[i];if(!rawRow[2]){rawRow[2]=lastPath}var row={crate:crate,ty:rawRow[0],name:rawRow[1],path:rawRow[2],desc:rawRow[3],parent:paths[rawRow[4]],type:rawRow[5],};searchIndex.push(row);if(typeof row.name==="string"){var word=row.name.toLowerCase();searchWords.push(word)}else{searchWords.push("")}lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]={};var j,local_aliases;for(var alias_name in aliases){if(!aliases.hasOwnProperty(alias_name)){continue}if(!ALIASES[crate].hasOwnProperty(alias_name)){ALIASES[crate][alias_name]=[]}local_aliases=aliases[alias_name];for(j=0;j<local_aliases.length;++j){ALIASES[crate][alias_name].push(local_aliases[j]+currentIndex)}}}currentIndex+=crateSize}return searchWords}function startSearch(){var callback=function(){clearInputTimeout();if(search_input.value.length===0){if(browserSupportsHistoryApi()){history.replaceState("",window.currentCrate+" - Rust","?search=")}hideSearchResults()}else{searchTimeout=setTimeout(search,500)}};search_input.onkeyup=callback;search_input.oninput=callback;document.getElementsByClassName("search-form")[0].onsubmit=function(e){e.preventDefault();clearInputTimeout();search()};search_input.onchange=function(e){if(e.target!==document.activeElement){return}clearInputTimeout();setTimeout(search,0)};search_input.onpaste=search_input.onchange;var selectCrate=document.getElementById("crate-search");if(selectCrate){selectCrate.onchange=function(){updateLocalStorage("rustdoc-saved-filter-crate",selectCrate.value);search(undefined,true)}}if(browserSupportsHistoryApi()){var previousTitle=document.title;window.addEventListener("popstate",function(e){var params=getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&&params.search.length>0){search_input.value=params.search;search(e)}else{search_input.value="";hideSearchResults()}})}search()}index=buildIndex(rawSearchIndex);startSearch();if(rootPath==="../"||rootPath==="./"){var sidebar=document.getElementsByClassName("sidebar-elems")[0];if(sidebar){var div=document.createElement("div");div.className="block crate";div.innerHTML="<h3>Crates</h3>";var ul=document.createElement("ul");div.appendChild(ul);var crates=[];for(var crate in rawSearchIndex){if(!hasOwnProperty(rawSearchIndex,crate)){continue}crates.push(crate)}crates.sort();for(var i=0;i<crates.length;++i){var klass="crate";if(rootPath!=="./"&&crates[i]===window.currentCrate){klass+=" current"}var link=document.createElement("a");link.href=rootPath+crates[i]+"/index.html";link.title=rawSearchIndex[crates[i]].doc;link.className=klass;link.textContent=crates[i];var li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(div)}}};window.initSidebarItems=function(items){var sidebar=document.getElementsByClassName("sidebar-elems")[0];var current=window.sidebarCurrent;function block(shortty,longty){var filtered=items[shortty];if(!filtered){return}var div=document.createElement("div");div.className="block "+shortty;var h3=document.createElement("h3");h3.textContent=longty;div.appendChild(h3);var ul=document.createElement("ul");var length=filtered.length;for(var i=0;i<length;++i){var item=filtered[i];var name=item[0];var desc=item[1];var klass=shortty;if(name===current.name&&shortty===current.ty){klass+=" current"}var path;if(shortty==="mod"){path=name+"/index.html"}else{path=shortty+"."+name+".html"}var link=document.createElement("a");link.href=current.relpath+path;link.title=desc;link.className=klass;link.textContent=name;var li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}div.appendChild(ul);if(sidebar){sidebar.appendChild(div)}}block("primitive","Primitive Types");block("mod","Modules");block("macro","Macros");block("struct","Structs");block("enum","Enums");block("union","Unions");block("constant","Constants");block("static","Statics");block("trait","Traits");block("fn","Functions");block("type","Type Definitions");block("foreigntype","Foreign Types");block("keyword","Keywords");block("traitalias","Trait Aliases")};window.register_implementors=function(imp){var implementors=document.getElementById("implementors-list");var synthetic_implementors=document.getElementById("synthetic-implementors-list");if(synthetic_implementors){var inlined_types=new Set();onEachLazy(synthetic_implementors.getElementsByClassName("impl"),function(el){var aliases=el.getAttribute("aliases");if(!aliases){return}aliases.split(",").forEach(function(alias){inlined_types.add(alias)})})}var libs=Object.getOwnPropertyNames(imp);var llength=libs.length;for(var i=0;i<llength;++i){if(libs[i]===currentCrate){continue}var structs=imp[libs[i]];var slength=structs.length;struct_loop:for(var j=0;j<slength;++j){var struct=structs[j];var list=struct.synthetic?synthetic_implementors:implementors;if(struct.synthetic){var stlength=struct.types.length;for(var k=0;k<stlength;k++){if(inlined_types.has(struct.types[k])){continue struct_loop}inlined_types.add(struct.types[k])}}var code=document.createElement("code");code.innerHTML=struct.text;var x=code.getElementsByTagName("a");var xlength=x.length;for(var it=0;it<xlength;it++){var href=x[it].getAttribute("href");if(href&&href.indexOf("http")!==0){x[it].setAttribute("href",rootPath+href)}}var display=document.createElement("h3");addClass(display,"impl");display.innerHTML="<span class=\"in-band\"><table class=\"table-display\">"+"<tbody><tr><td><code>"+code.outerHTML+"</code></td><td></td></tr>"+"</tbody></table></span>";list.appendChild(display)}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function labelForToggleButton(sectionIsCollapsed){if(sectionIsCollapsed){return"+"}return"\u2212"}function onEveryMatchingChild(elem,className,func){if(elem&&className&&func){var length=elem.childNodes.length;var nodes=elem.childNodes;for(var i=0;i<length;++i){if(hasClass(nodes[i],className)){func(nodes[i])}else{onEveryMatchingChild(nodes[i],className,func)}}}}function toggleAllDocs(pageId,fromAutoCollapse){var innerToggle=document.getElementById("toggle-all-docs");if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){updateLocalStorage("rustdoc-collapse","false");removeClass(innerToggle,"will-expand");onEveryMatchingChild(innerToggle,"inner",function(e){e.innerHTML=labelForToggleButton(false)});innerToggle.title="collapse all docs";if(fromAutoCollapse!==true){onEachLazy(document.getElementsByClassName("collapse-toggle"),function(e){collapseDocs(e,"show")})}}else{updateLocalStorage("rustdoc-collapse","true");addClass(innerToggle,"will-expand");onEveryMatchingChild(innerToggle,"inner",function(e){var parent=e.parentNode;var superParent=null;if(parent){superParent=parent.parentNode}if(!parent||!superParent||superParent.id!=="main"||hasClass(parent,"impl")===false){e.innerHTML=labelForToggleButton(true)}});innerToggle.title="expand all docs";if(fromAutoCollapse!==true){onEachLazy(document.getElementsByClassName("collapse-toggle"),function(e){var parent=e.parentNode;var superParent=null;if(parent){superParent=parent.parentNode}if(!parent||!superParent||superParent.id!=="main"||hasClass(parent,"impl")===false){collapseDocs(e,"hide",pageId)}})}}}function collapseDocs(toggle,mode,pageId){if(!toggle||!toggle.parentNode){return}function adjustToggle(arg){return function(e){if(hasClass(e,"toggle-label")){if(arg){e.style.display="inline-block"}else{e.style.display="none"}}if(hasClass(e,"inner")){e.innerHTML=labelForToggleButton(arg)}}}function implHider(addOrRemove,fullHide){return function(n){var is_method=hasClass(n,"method")||fullHide;if(is_method||hasClass(n,"type")){if(is_method===true){if(addOrRemove){addClass(n,"hidden-by-impl-hider")}else{removeClass(n,"hidden-by-impl-hider")}}var ns=n.nextElementSibling;while(ns&&(hasClass(ns,"docblock")||hasClass(ns,"stability"))){if(addOrRemove){addClass(ns,"hidden-by-impl-hider")}else{removeClass(ns,"hidden-by-impl-hider")}ns=ns.nextElementSibling}}}}var relatedDoc;var action=mode;if(hasClass(toggle.parentNode,"impl")===false){relatedDoc=toggle.parentNode.nextElementSibling;if(hasClass(relatedDoc,"stability")){relatedDoc=relatedDoc.nextElementSibling}if(hasClass(relatedDoc,"docblock")||hasClass(relatedDoc,"sub-variant")){if(mode==="toggle"){if(hasClass(relatedDoc,"hidden-by-usual-hider")){action="show"}else{action="hide"}}if(action==="hide"){addClass(relatedDoc,"hidden-by-usual-hider");onEachLazy(toggle.childNodes,adjustToggle(true));addClass(toggle.parentNode,"collapsed")}else if(action==="show"){removeClass(relatedDoc,"hidden-by-usual-hider");removeClass(toggle.parentNode,"collapsed");onEachLazy(toggle.childNodes,adjustToggle(false))}}}else{var parentElem=toggle.parentNode;relatedDoc=parentElem;var docblock=relatedDoc.nextElementSibling;while(hasClass(relatedDoc,"impl-items")===false){relatedDoc=relatedDoc.nextElementSibling}if((!relatedDoc&&hasClass(docblock,"docblock")===false)||(pageId&&document.getElementById(pageId))){return}if(mode==="toggle"){if(hasClass(relatedDoc,"fns-now-collapsed")||hasClass(docblock,"hidden-by-impl-hider")){action="show"}else{action="hide"}}var dontApplyBlockRule=toggle.parentNode.parentNode.id!=="main";if(action==="show"){removeClass(relatedDoc,"fns-now-collapsed");removeClass(docblock,"hidden-by-usual-hider");onEachLazy(toggle.childNodes,adjustToggle(false,dontApplyBlockRule));onEachLazy(relatedDoc.childNodes,implHider(false,dontApplyBlockRule))}else if(action==="hide"){addClass(relatedDoc,"fns-now-collapsed");addClass(docblock,"hidden-by-usual-hider");onEachLazy(toggle.childNodes,adjustToggle(true,dontApplyBlockRule));onEachLazy(relatedDoc.childNodes,implHider(true,dontApplyBlockRule))}}}function collapser(pageId,e,collapse){var n=e.parentElement;if(n.id.match(/^impl(?:-\d+)?$/)===null){if(collapse||hasClass(n,"impl")){collapseDocs(e,"hide",pageId)}}}function autoCollapse(pageId,collapse){if(collapse){toggleAllDocs(pageId,true)}else if(getCurrentValue("rustdoc-auto-hide-trait-implementations")!=="false"){var impl_list=document.getElementById("trait-implementations-list");if(impl_list!==null){onEachLazy(impl_list.getElementsByClassName("collapse-toggle"),function(e){collapser(pageId,e,collapse)})}var blanket_list=document.getElementById("blanket-implementations-list");if(blanket_list!==null){onEachLazy(blanket_list.getElementsByClassName("collapse-toggle"),function(e){collapser(pageId,e,collapse)})}}}var toggles=document.getElementById("toggle-all-docs");if(toggles){toggles.onclick=toggleAllDocs}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function createSimpleToggle(sectionIsCollapsed){var toggle=document.createElement("a");toggle.href="javascript:void(0)";toggle.className="collapse-toggle";toggle.innerHTML="[<span class=\"inner\">"+labelForToggleButton(sectionIsCollapsed)+"</span>]";return toggle}function createToggle(toggle,otherMessage,fontSize,extraClass,show){var span=document.createElement("span");span.className="toggle-label";if(show){span.style.display="none"}if(!otherMessage){span.innerHTML="&nbsp;Expand&nbsp;description"}else{span.innerHTML=otherMessage}if(fontSize){span.style.fontSize=fontSize}var mainToggle=toggle.cloneNode(true);mainToggle.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper";if(!show){addClass(wrapper,"collapsed");var inner=mainToggle.getElementsByClassName("inner");if(inner&&inner.length>0){inner[0].innerHTML="+"}}if(extraClass){addClass(wrapper,extraClass)}wrapper.appendChild(mainToggle);return wrapper}(function(){var toggle=createSimpleToggle(false);var hideMethodDocs=getCurrentValue("rustdoc-auto-hide-method-docs")==="true";var pageId=getPageId();var func=function(e){var next=e.nextElementSibling;if(!next){return}if(hasClass(next,"docblock")===true||(hasClass(next,"stability")===true&&hasClass(next.nextElementSibling,"docblock")===true)){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideMethodDocs===true&&hasClass(e,"method")===true){collapseDocs(newToggle,"hide",pageId)}}};var funcImpl=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"docblock")){next=next.nextElementSibling}if(!next){return}if(hasClass(e,"impl")&&(next.getElementsByClassName("method").length>0||next.getElementsByClassName("associatedconstant").length>0)){insertAfter(toggle.cloneNode(true),e.childNodes[e.childNodes.length-1])}};onEachLazy(document.getElementsByClassName("method"),func);onEachLazy(document.getElementsByClassName("associatedconstant"),func);onEachLazy(document.getElementsByClassName("impl"),funcImpl);var impl_call=function(){};if(hideMethodDocs===true){impl_call=function(e,newToggle){if(e.id.match(/^impl(?:-\d+)?$/)===null){if(hasClass(e,"impl")===true){collapseDocs(newToggle,"hide",pageId)}}}}var newToggle=document.createElement("a");newToggle.href="javascript:void(0)";newToggle.className="collapse-toggle hidden-default collapsed";newToggle.innerHTML="[<span class=\"inner\">"+labelForToggleButton(true)+"</span>] Show hidden undocumented items";function toggleClicked(){if(hasClass(this,"collapsed")){removeClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("hidden"),function(x){if(hasClass(x,"content")===false){removeClass(x,"hidden");addClass(x,"x")}},true);this.innerHTML="[<span class=\"inner\">"+labelForToggleButton(false)+"</span>] Hide undocumented items"}else{addClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("x"),function(x){if(hasClass(x,"content")===false){addClass(x,"hidden");removeClass(x,"x")}},true);this.innerHTML="[<span class=\"inner\">"+labelForToggleButton(true)+"</span>] Show hidden undocumented items"}}onEachLazy(document.getElementsByClassName("impl-items"),function(e){onEachLazy(e.getElementsByClassName("associatedconstant"),func);var hiddenElems=e.getElementsByClassName("hidden");var needToggle=false;var hlength=hiddenElems.length;for(var i=0;i<hlength;++i){if(hasClass(hiddenElems[i],"content")===false&&hasClass(hiddenElems[i],"docblock")===false){needToggle=true;break}}if(needToggle===true){var inner_toggle=newToggle.cloneNode(true);inner_toggle.onclick=toggleClicked;e.insertBefore(inner_toggle,e.firstChild);impl_call(e.previousSibling,inner_toggle)}});var currentType=document.getElementsByClassName("type-decl")[0];var className=null;if(currentType){currentType=currentType.getElementsByClassName("rust")[0];if(currentType){currentType.classList.forEach(function(item){if(item!=="main"){className=item;return true}})}}var showItemDeclarations=getCurrentValue("rustdoc-auto-hide-"+className);if(showItemDeclarations===null){if(className==="enum"||className==="macro"){showItemDeclarations="false"}else if(className==="struct"||className==="union"||className==="trait"){showItemDeclarations="true"}else{showItemDeclarations=getCurrentValue("rustdoc-auto-hide-declarations")}}showItemDeclarations=showItemDeclarations==="false";function buildToggleWrapper(e){if(hasClass(e,"autohide")){var wrap=e.previousElementSibling;if(wrap&&hasClass(wrap,"toggle-wrapper")){var inner_toggle=wrap.childNodes[0];var extra=e.childNodes[0].tagName==="H3";e.style.display="none";addClass(wrap,"collapsed");onEachLazy(inner_toggle.getElementsByClassName("inner"),function(e){e.innerHTML=labelForToggleButton(true)});onEachLazy(inner_toggle.getElementsByClassName("toggle-label"),function(e){e.style.display="inline-block";if(extra===true){e.innerHTML=" Show "+e.childNodes[0].innerHTML}})}}if(e.parentNode.id==="main"){var otherMessage="";var fontSize;var extraClass;if(hasClass(e,"type-decl")){fontSize="20px";otherMessage="&nbsp;Show&nbsp;declaration";if(showItemDeclarations===false){extraClass="collapsed"}}else if(hasClass(e,"sub-variant")){otherMessage="&nbsp;Show&nbsp;fields"}else if(hasClass(e,"non-exhaustive")){otherMessage="&nbsp;This&nbsp;";if(hasClass(e,"non-exhaustive-struct")){otherMessage+="struct"}else if(hasClass(e,"non-exhaustive-enum")){otherMessage+="enum"}else if(hasClass(e,"non-exhaustive-variant")){otherMessage+="enum variant"}else if(hasClass(e,"non-exhaustive-type")){otherMessage+="type"}otherMessage+="&nbsp;is&nbsp;marked&nbsp;as&nbsp;non-exhaustive"}else if(hasClass(e.childNodes[0],"impl-items")){extraClass="marg-left"}e.parentNode.insertBefore(createToggle(toggle,otherMessage,fontSize,extraClass,hasClass(e,"type-decl")===false||showItemDeclarations===true),e);if(hasClass(e,"type-decl")===true&&showItemDeclarations===true){collapseDocs(e.previousSibling.childNodes[0],"toggle")}if(hasClass(e,"non-exhaustive")===true){collapseDocs(e.previousSibling.childNodes[0],"toggle")}}}onEachLazy(document.getElementsByClassName("docblock"),buildToggleWrapper);onEachLazy(document.getElementsByClassName("sub-variant"),buildToggleWrapper)}());function createToggleWrapper(tog){var span=document.createElement("span");span.className="toggle-label";span.style.display="none";span.innerHTML="&nbsp;Expand&nbsp;attributes";tog.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper toggle-attributes";wrapper.appendChild(tog);return wrapper}(function(){var itemAttributesFunc=function(){};if(getCurrentValue("rustdoc-auto-hide-attributes")!=="false"){itemAttributesFunc=function(x){collapseDocs(x.previousSibling.childNodes[0],"toggle")}}var attributesToggle=createToggleWrapper(createSimpleToggle(false));onEachLazy(main.getElementsByClassName("attributes"),function(i_e){var attr_tog=attributesToggle.cloneNode(true);if(hasClass(i_e,"top-attr")===true){addClass(attr_tog,"top-attr")}i_e.parentNode.insertBefore(attr_tog,i_e);itemAttributesFunc(i_e)})}());(function(){var lineNumbersFunc=function(){};if(getCurrentValue("rustdoc-line-numbers")==="true"){lineNumbersFunc=function(x){var count=x.textContent.split("\n").length;var elems=[];for(var i=0;i<count;++i){elems.push(i+1)}var node=document.createElement("pre");addClass(node,"line-number");node.innerHTML=elems.join("\n");x.parentNode.insertBefore(node,x)}}onEachLazy(document.getElementsByClassName("rust-example-rendered"),function(e){if(hasClass(e,"compile_fail")){e.addEventListener("mouseover",function(){this.parentElement.previousElementSibling.childNodes[0].style.color="#f00"});e.addEventListener("mouseout",function(){this.parentElement.previousElementSibling.childNodes[0].style.color=""})}else if(hasClass(e,"ignore")){e.addEventListener("mouseover",function(){this.parentElement.previousElementSibling.childNodes[0].style.color="#ff9200"});e.addEventListener("mouseout",function(){this.parentElement.previousElementSibling.childNodes[0].style.color=""})}lineNumbersFunc(e)})}());function printTab(nb){if(nb===0||nb===1||nb===2){currentTab=nb}var nb_copy=nb;onEachLazy(document.getElementById("titles").childNodes,function(elem){if(nb_copy===0){addClass(elem,"selected")}else{removeClass(elem,"selected")}nb_copy-=1});onEachLazy(document.getElementById("results").childNodes,function(elem){if(nb===0){elem.style.display=""}else{elem.style.display="none"}nb-=1})}function putBackSearch(search_input){var search=getSearchElement();if(search_input.value!==""&&hasClass(search,"hidden")){showSearchResults(search);if(browserSupportsHistoryApi()){history.replaceState(search_input.value,"","?search="+encodeURIComponent(search_input.value))}}}if(search_input){search_input.onfocus=function(){putBackSearch(this)}}var params=getQueryStringParams();if(params&&params.search){var search=getSearchElement();search.innerHTML="<h3 style=\"text-align: center;\">Loading search results...</h3>";showSearchResults(search)}var sidebar_menu=document.getElementsByClassName("sidebar-menu")[0];if(sidebar_menu){sidebar_menu.onclick=function(){var sidebar=document.getElementsByClassName("sidebar")[0];if(hasClass(sidebar,"mobile")===true){hideSidebar()}else{showSidebar()}}}window.onresize=function(){hideSidebar()};autoCollapse(getPageId(),getCurrentValue("rustdoc-collapse")==="true");if(window.location.hash&&window.location.hash.length>0){expandSection(window.location.hash.replace(/^#/,""))}if(main){onEachLazy(main.getElementsByClassName("loading-content"),function(e){e.remove()});onEachLazy(main.childNodes,function(e){if(e.tagName==="H2"||e.tagName==="H3"){var nextTagName=e.nextElementSibling.tagName;if(nextTagName=="H2"||nextTagName=="H3"){e.nextElementSibling.style.display="flex"}else{e.nextElementSibling.style.display="block"}}})}window.addSearchOptions=function(crates){var elem=document.getElementById("crate-search");if(!elem){return}var crates_text=[];if(Object.keys(crates).length>1){for(var crate in crates){if(hasOwnProperty(crates,crate)){crates_text.push(crate)}}}crates_text.sort(function(a,b){var lower_a=a.toLowerCase();var lower_b=b.toLowerCase();if(lower_a<lower_b){return-1}else if(lower_a>lower_b){return 1}return 0});var savedCrate=getCurrentValue("rustdoc-saved-filter-crate");for(var i=0;i<crates_text.length;++i){var option=document.createElement("option");option.value=crates_text[i];option.innerText=crates_text[i];elem.appendChild(option);if(crates_text[i]===savedCrate){elem.value=savedCrate}}if(search_input){search_input.removeAttribute('disabled')}};function buildHelperPopup(){var popup=document.createElement("aside");addClass(popup,"hidden");popup.id="help";var container=document.createElement("div");var shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["↹","Switch tab"],["&#9166;","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"<dt><kbd>"+x[0]+"</kbd></dt><dd>"+x[1]+"</dd>").join("");var div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="<h2>Keyboard Shortcuts</h2><dl>"+shortcuts+"</dl></div>";var infos=["Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to \
+             restrict the search to a given type.","Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, \
+             <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, \
+             and <code>const</code>.","Search functions by type signature (e.g., <code>vec -&gt; usize</code> or \
+             <code>* -&gt; vec</code>)","Search multiple things at once by splitting your query with comma (e.g., \
+             <code>str,u8</code> or <code>String,struct:Vec,test</code>)","You can look for items with an exact name by putting double quotes around \
+             your request: <code>\"string\"</code>","Look for items inside another one by searching for a path: <code>vec::Vec</code>",].map(x=>"<p>"+x+"</p>").join("");var div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="<h2>Search Tricks</h2>"+infos;container.appendChild(div_shortcuts);container.appendChild(div_infos);popup.appendChild(container);insertAfter(popup,getSearchElement())}onHashChange(null);window.onhashchange=onHashChange;buildHelperPopup()}());window.onunload=function(){}
\ No newline at end of file
diff --git a/normalize.css b/normalize.css
new file mode 100644
index 0000000..45b6cb2
--- /dev/null
+++ b/normalize.css
@@ -0,0 +1,2 @@
+/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
+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,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}
\ No newline at end of file
diff --git a/noscript.css b/noscript.css
new file mode 100644
index 0000000..351b41c
--- /dev/null
+++ b/noscript.css
@@ -0,0 +1 @@
+#main>h2+div,#main>h2+h3,#main>h3+div{display:block;}.loading-content{display:none;}#main>h2+div,#main>h3+div{display:block;}#main>h2+h3{display:flex;}
\ No newline at end of file
diff --git a/rustdoc.css b/rustdoc.css
new file mode 100644
index 0000000..9d9a8d3
--- /dev/null
+++ b/rustdoc.css
@@ -0,0 +1 @@
+ @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff") format('woff');}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff") format('woff');}@font-face {font-family:'Source Serif Pro';font-style:normal;font-weight:400;src:local('Source Serif Pro'),url("SourceSerifPro-Regular.ttf.woff") format('woff');}@font-face {font-family:'Source Serif Pro';font-style:italic;font-weight:400;src:local('Source Serif Pro Italic'),url("SourceSerifPro-It.ttf.woff") format('woff');}@font-face {font-family:'Source Serif Pro';font-style:normal;font-weight:700;src:local('Source Serif Pro Bold'),url("SourceSerifPro-Bold.ttf.woff") format('woff');}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.woff") format('woff');}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.woff") format('woff');}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:16px/1.4 "Source Serif Pro",serif;margin:0;position:relative;padding:10px 15px 20px 15px;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5em;}h2{font-size:1.4em;}h3{font-size:1.3em;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod):not(.important),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){font-weight:500;margin:20px 0 15px 0;padding-bottom:6px;}h1.fqn{border-bottom:1px dashed;margin-top:0;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){border-bottom:1px solid;}h3.impl,h3.method,h4.method,h3.type,h4.type,h4.associatedconstant{flex-basis:100%;font-weight:600;margin-top:16px;margin-bottom:10px;position:relative;}h3.impl,h3.method,h3.type{padding-left:15px;}h1,h2,h3,h4,.sidebar,a.source,.search-input,.content table :not(code)>a,.collapse-toggle,div.item-list .out-of-band,#source-sidebar,#sidebar-toggle{font-family:"Fira Sans",sans-serif;}ol,ul{padding-left:25px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.6em;}p{margin:0 0 .6em 0;}summary{outline:none;}code,pre,a.test-arrow{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.1em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{margin-top:50px;max-width:none;overflow:visible;margin-left:0px;min-width:70em;}nav.sub{font-size:16px;text-transform:uppercase;}.sidebar{width:200px;position:fixed;left:0;top:0;bottom:0;overflow:auto;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.sidebar .block>ul>li{margin-right:-10px;}.content,nav{max-width:960px;}.hidden{display:none !important;}.logo-container{height:100px;width:100px;position:relative;margin:20px auto;display:block;margin-top:10px;}.logo-container>img{max-width:100px;max-height:100px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;}.sidebar .location{border:1px solid;font-size:17px;margin:30px 10px 20px 10px;text-align:center;word-wrap:break-word;}.sidebar .version{font-size:15px;text-align:center;border-bottom:1px solid;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;}.location:empty{border:none;}.location a:first-child{font-weight:500;}.block{padding:0;margin-bottom:14px;}.block h2,.block h3{margin-top:0;margin-bottom:8px;text-align:center;}.block ul,.block li{margin:0 10px;padding:0;list-style:none;}.block a{display:block;text-overflow:ellipsis;overflow:hidden;line-height:15px;padding:7px 5px;font-size:14px;font-weight:300;transition:border 500ms ease-out;}.sidebar-title{border-top:1px solid;border-bottom:1px solid;text-align:center;font-size:17px;margin-bottom:5px;}.sidebar-links{margin-bottom:15px;}.sidebar-links>a{padding-left:10px;width:100%;}.sidebar-menu{display:none;}.content{padding:15px 0;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc:not(.source) .example-wrap{display:inline-flex;margin-bottom:10px;position:relative;}.example-wrap{width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;border-top-left-radius:5px;border-bottom-left-radius:5px;padding:13px 8px;text-align:right;}.rustdoc:not(.source) .example-wrap>pre.rust{width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre{margin:0;}#search{margin-left:230px;position:relative;}#results{position:absolute;right:0;left:0;overflow:auto;}#results>table{width:100%;table-layout:fixed;}.content pre.line-numbers{float:left;border:none;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short p{display:inline;}.docblock-short.nowrap{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock code,.docblock-short code{white-space:pre-wrap;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom:1px solid;}#main>.docblock h1{font-size:1.3em;}#main>.docblock h2{font-size:1.15em;}#main>.docblock h3,#main>.docblock h4,#main>.docblock h5{font-size:1em;}#main>h2+div,#main>h2+h3,#main>h3+div{display:none;flex-wrap:wrap;}.docblock h1{font-size:1em;}.docblock h2{font-size:0.95em;}.docblock h3,.docblock h4,.docblock h5{font-size:0.9em;}.docblock{margin-left:24px;position:relative;}.content .out-of-band{float:right;font-size:23px;margin:0px;padding:0px;font-weight:normal;}h3.impl>.out-of-band{font-size:21px;}h4.method>.out-of-band{font-size:19px;}h4>code,h3>code,.invisible>code{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{margin:0px;padding:0px;}.in-band>code{display:inline-block;}#main{position:relative;}#main>.since{top:inherit;font-family:"Fira Sans",sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.1em;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);border:1px dashed;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content .method{font-size:1em;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.8em;}.content .methods>div{margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items>h4{border-bottom:0;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.toggle-wrapper.marg-left>.collapse-toggle{left:-24px;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.content .stability code{font-size:90%;}.content .stability{position:relative;margin-left:33px;margin-top:-13px;}.sub-variant>div>.stability{margin-top:initial;}.content .stability::before{content:'⬑';font-size:25px;position:absolute;top:-6px;left:-19px;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{margin-left:20px;}.content .impl-items .docblock,.content .impl-items .stability{margin-bottom:.6em;}.content .impl-items>.stability{margin-left:40px;}.methods>.stability,.content .impl-items>.stability{margin-top:-8px;}.impl-items{flex-basis:100%;}#main>.stability{margin-top:0;}nav:not(.sidebar){border-bottom:1px solid;padding-bottom:10px;margin-bottom:10px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}nav.sub,.content{margin-left:230px;}a{text-decoration:none;background:transparent;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-7px;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-28px;padding-right:10px;}.anchor:before{content:'\2002\00a7\2002';}.docblock a:not(.srclink):not(.test-arrow):hover,.docblock-short a:not(.srclink):not(.test-arrow):hover,.stability a{text-decoration:underline;}.invisible>.srclink,h4>code+.srclink{position:absolute;top:0;right:0;font-size:17px;font-weight:normal;}.block a.current.crate{font-weight:500;}.search-container{position:relative;}.search-container>div{display:inline-flex;width:calc(100% - 34px);}#crate-search{margin-top:5px;padding:6px;padding-right:19px;flex:none;border:0;border-right:0;border-radius:4px 0 0 4px;outline:none;cursor:pointer;border-right:1px solid;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;}.search-container>.top-button{position:absolute;right:0;top:10px;}.search-input{-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:none;border-radius:1px;margin-top:5px;padding:10px 16px;font-size:17px;transition:border-color 300ms ease;transition:border-radius 300ms ease-in-out;transition:box-shadow 300ms ease-in-out;width:100%;}#crate-search+.search-input{border-radius:0 1px 1px 0;width:calc(100% - 32px);}.search-input:focus{border-radius:2px;border:0;outline:0;}.search-results .desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results a{display:block;}.content .search-results td:first-child{padding-right:0;width:50%;}.content .search-results td:first-child a{padding-right:10px;}.content .search-results td:first-child a:after{clear:both;content:"";display:block;}.content .search-results td:first-child a span{float:left;}tr.result span.primitive::after{content:' (primitive type)';font-style:italic;}tr.result span.keyword::after{content:' (keyword)';font-style:italic;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:20px;padding-left:17px;}.stab{display:table;border-width:1px;border-style:solid;padding:3px;margin-bottom:5px;font-size:90%;}.stab p{display:inline;}.stab summary{display:list-item;}.stab .emoji{font-size:1.5em;}.module-item .stab{border-radius:3px;display:inline-block;font-size:80%;line-height:1.2;margin-bottom:0;margin-right:.3em;padding:2px;vertical-align:text-bottom;}.module-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;position:absolute;right:0;top:0;}.impl-items .since,.impl .since{flex-grow:0;padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink{flex-grow:0;font-size:17px;font-weight:normal;}.impl-items code,.impl code{flex-grow:1;}.impl-items h4,h4.impl,h3.impl{display:flex;flex-basis:100%;font-size:16px;margin-bottom:12px;justify-content:space-between;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:130%;top:5px;right:5px;z-index:1;}a.test-arrow:hover{text-decoration:none;}.section-header:hover a:before{position:absolute;left:-25px;padding-right:10px;content:'\2002\00a7\2002';}.section-header:hover a{text-decoration:none;}.section-header a{color:inherit;}.collapse-toggle{font-weight:300;position:absolute;left:-23px;top:0;}h3>.collapse-toggle,h4>.collapse-toggle{font-size:0.8em;top:5px;}.toggle-wrapper>.collapse-toggle{left:-24px;margin-top:0px;}.toggle-wrapper{position:relative;margin-top:0;}.toggle-wrapper.collapsed{height:25px;transition:height .2s;margin-bottom:.6em;}.collapse-toggle>.inner{display:inline-block;width:1.2ch;text-align:center;}.collapse-toggle.hidden-default{position:relative;margin-left:20px;}.since+.srclink{display:table-cell;padding-left:10px;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:20px;margin-right:5px;}.toggle-wrapper>.collapse-toggle{left:0;}.variant+.toggle-wrapper+.docblock>p{margin-top:5px;}.sub-variant,.sub-variant>h3{margin-top:1px !important;}#main>.sub-variant>h3{font-size:15px;margin-left:25px;margin-bottom:5px;}.sub-variant>div{margin-left:20px;margin-bottom:10px;}.sub-variant>div>span{display:block;position:relative;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}.enum>.toggle-wrapper+.docblock,.struct>.toggle-wrapper+.docblock{margin-left:30px;margin-bottom:20px;margin-top:5px;}.docblock>.section-header:first-child{margin-left:15px;margin-top:0;}.docblock>.section-header:first-child:hover>a:before{left:-10px;}.enum>.collapsed,.struct>.collapsed{margin-bottom:25px;}#main>.variant,#main>.structfield{display:block;}.attributes{display:block;margin-top:0px !important;margin-right:0px;margin-bottom:0px !important;margin-left:30px;}.toggle-attributes.collapsed{margin-bottom:0;}.impl-items>.toggle-attributes{margin-left:20px;}.impl-items .attributes{font-weight:500;}:target>code{opacity:1;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip .tooltiptext{width:120px;display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;top:-5px;left:105%;z-index:10;font-size:16px;}.tooltip:hover .tooltiptext{display:inline;}.tooltip .tooltiptext::after{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:20px;}.tooltip .tooltiptext{border:1px solid;font-weight:normal;}pre.rust{position:relative;tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>div{float:left;width:33.3%;text-align:center;font-size:18px;cursor:pointer;border-top:2px solid;}#titles>div:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>div>div.count{display:inline-block;font-size:16px;}#all-types{text-align:center;border:1px solid;margin:0 10px;margin-bottom:10px;display:block;border-radius:7px;}#all-types>p{margin:5px 0;}#sidebar-toggle{position:fixed;top:30px;left:300px;z-index:10;padding:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;transition:left .5s;font-size:1.2em;border:1px solid;border-left:0;}#source-sidebar{position:fixed;top:0;bottom:0;left:0;width:300px;z-index:1;overflow:auto;transition:left .5s;border-right:1px solid;}#source-sidebar>.title{font-size:1.5em;text-align:center;border-bottom:1px solid;margin-bottom:6px;}.theme-picker{position:absolute;left:211px;top:19px;}.theme-picker button{outline:none;}#settings-menu{position:absolute;right:0;top:10px;outline:none;}#theme-picker,#settings-menu{padding:4px;width:27px;height:29px;border:1px solid;border-radius:3px;cursor:pointer;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px;text-align:center;background:rgba(0,0,0,0);}#theme-choices>button:not(:first-child){border-top:1px solid;}@media (max-width:700px){body{padding-top:0px;}.rustdoc>.sidebar{height:45px;min-height:40px;margin:0;margin-left:-15px;padding:0 15px;position:static;z-index:11;}.sidebar>.location{float:right;margin:0px;margin-top:2px;padding:3px 10px 1px 10px;min-height:39px;background:inherit;text-align:left;font-size:24px;}.sidebar .location:empty{padding:0;}.sidebar .logo-container{width:35px;height:35px;margin-top:5px;margin-bottom:5px;float:left;margin-left:50px;}.sidebar .logo-container>img{max-width:35px;max-height:35px;}.sidebar-menu{position:fixed;z-index:10;font-size:2rem;cursor:pointer;width:45px;left:0;text-align:center;display:block;border-bottom:1px solid;border-right:1px solid;height:45px;}.rustdoc.source>.sidebar>.sidebar-menu{display:none;}.sidebar-elems{position:fixed;z-index:1;left:0;top:45px;bottom:0;overflow-y:auto;border-right:1px solid;display:none;}.sidebar>.block.version{border-bottom:none;margin-top:12px;}nav.sub{width:calc(100% - 32px);float:right;}.content{margin-left:0px;}#main{margin-top:45px;padding:0;}.content .in-band{width:100%;}.content h4>.out-of-band{position:inherit;}.toggle-wrapper>.collapse-toggle{left:0px;}.toggle-wrapper{height:1.5em;}#search{margin-left:0;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{display:flex;}.anchor{display:none !important;}h1.fqn{overflow:initial;}.theme-picker{left:10px;top:54px;z-index:1;}#titles>div>div.count{float:left;width:100%;}#titles{height:50px;}.sidebar.mobile{position:fixed;width:100%;margin-left:0;background-color:rgba(0,0,0,0);height:100%;}.sidebar{width:calc(100% + 30px);}.show-it{display:block;width:246px;}.show-it>.block.items{margin:8px 0;}.show-it>.block.items>ul{margin:0;}.show-it>.block.items>ul>li{text-align:center;margin:2px 0;}.show-it>.block.items>ul>li>a{font-size:21px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}.collapse-toggle{left:-20px;}.impl>.collapse-toggle{left:-10px;}#all-types{margin:10px;}#sidebar-toggle{top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;}#source-sidebar{z-index:11;}#main>.line-numbers{margin-top:0;}}@media print{nav.sub,.content .out-of-band,.collapse-toggle{display:none;}}@media (max-width:416px){#titles{height:73px;}#titles>div{height:73px;}}h3.important{margin:0;margin-bottom:13px;font-size:19px;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;box-shadow:inset 0 -1px 0;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:16px;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:19px;display:block;}#implementors-list>.impl-items .table-display .out-of-band{font-size:17px;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main>ul{padding-left:10px;}#main>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.7em;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}.type-decl>pre>.toggle-wrapper.toggle-attributes.top-attr{margin-left:0 !important;}.type-decl>pre>.docblock.attributes.top-attr{margin-left:1.8em !important;}.type-decl>pre>.toggle-attributes{margin-left:2.2em;}.type-decl>pre>.docblock.attributes{margin-left:4em;}
\ No newline at end of file
diff --git a/search-index.js b/search-index.js
new file mode 100644
index 0000000..28091e6
--- /dev/null
+++ b/search-index.js
@@ -0,0 +1,4 @@
+var searchIndex = JSON.parse('{\
+"unicode_width":{"doc":"Determine displayed width of `char` and `str` types…","i":[[17,"UNICODE_VERSION","unicode_width","The version of Unicode that this version of unicode-width…",null,null],[8,"UnicodeWidthChar","","Methods for determining displayed width of Unicode…",null,null],[10,"width","","Returns the character\'s displayed width in columns, or…",0,[[],["option",4]]],[10,"width_cjk","","Returns the character\'s displayed width in columns, or…",0,[[],["option",4]]],[8,"UnicodeWidthStr","","Methods for determining displayed width of Unicode strings.",null,null],[10,"width","","Returns the string\'s displayed width in columns.",1,[[]]],[10,"width_cjk","","Returns the string\'s displayed width in columns.",1,[[]]]],"p":[[8,"UnicodeWidthChar"],[8,"UnicodeWidthStr"]]}\
+}');
+addSearchOptions(searchIndex);initSearch(searchIndex);
\ No newline at end of file
diff --git a/settings.css b/settings.css
new file mode 100644
index 0000000..6ce7665
--- /dev/null
+++ b/settings.css
@@ -0,0 +1 @@
+.setting-line{padding:5px;position:relative;}.setting-line>div{max-width:calc(100% - 74px);display:inline-block;vertical-align:top;font-size:17px;padding-top:2px;}.setting-line>.title{font-size:19px;width:100%;max-width:none;border-bottom:1px solid;}.toggle{position:relative;display:inline-block;width:45px;height:27px;margin-right:20px;}.toggle input{display:none;}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.3s;transition:.3s;}.slider:before{position:absolute;content:"";height:19px;width:19px;left:4px;bottom:4px;background-color:white;-webkit-transition:.3s;transition:.3s;}input:checked+.slider{background-color:#2196F3;}input:focus+.slider{box-shadow:0 0 1px #2196F3;}input:checked+.slider:before{-webkit-transform:translateX(19px);-ms-transform:translateX(19px);transform:translateX(19px);}.setting-line>.sub-settings{padding-left:42px;width:100%;display:block;}
\ No newline at end of file
diff --git a/settings.html b/settings.html
new file mode 100644
index 0000000..5c55c51
--- /dev/null
+++ b/settings.html
@@ -0,0 +1,2 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><meta name="keywords" content="rust, rustlang, rust-lang"><title>Rustdoc settings</title><link rel="stylesheet" type="text/css" href="./normalize.css"><link rel="stylesheet" type="text/css" href="./rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="./settings.css"><link rel="stylesheet" type="text/css" href="./dark.css"><link rel="stylesheet" type="text/css" href="./light.css" id="themeStyle"><script src="./storage.js"></script><noscript><link rel="stylesheet" href="./noscript.css"></noscript><link rel="shortcut icon" href="https://unicode-rs.github.io/unicode-rs_sm.png"><style type="text/css">#crate-search{background-image:url("./down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='./unicode_width/index.html'><div class='logo-container'><img src='https://unicode-rs.github.io/unicode-rs_sm.png' alt='logo'></div></a><p class='location'>Settings</p><div class='sidebar-elems'></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="./brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="./theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><a id="settings-menu" href="./settings.html"><img src="./wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='in-band'>Rustdoc settings</span></h1><div class='settings'><div class='setting-line'><div class='title'>Auto-hide item declarations</div><div class='sub-settings'><div class='setting-line'><label class='toggle'><input type='checkbox' id='auto-hide-struct'  checked><span class='slider'></span></label><div>Auto-hide structs declaration</div></div><div class='setting-line'><label class='toggle'><input type='checkbox' id='auto-hide-enum' ><span class='slider'></span></label><div>Auto-hide enums declaration</div></div><div class='setting-line'><label class='toggle'><input type='checkbox' id='auto-hide-union'  checked><span class='slider'></span></label><div>Auto-hide unions declaration</div></div><div class='setting-line'><label class='toggle'><input type='checkbox' id='auto-hide-trait'  checked><span class='slider'></span></label><div>Auto-hide traits declaration</div></div><div class='setting-line'><label class='toggle'><input type='checkbox' id='auto-hide-macro' ><span class='slider'></span></label><div>Auto-hide macros declaration</div></div></div>
+                    </div><div class='setting-line'><label class='toggle'><input type='checkbox' id='auto-hide-attributes'  checked><span class='slider'></span></label><div>Auto-hide item attributes.</div></div><div class='setting-line'><label class='toggle'><input type='checkbox' id='auto-hide-method-docs' ><span class='slider'></span></label><div>Auto-hide item methods' documentation</div></div><div class='setting-line'><label class='toggle'><input type='checkbox' id='auto-hide-trait-implementations'  checked><span class='slider'></span></label><div>Auto-hide trait implementations documentation</div></div><div class='setting-line'><label class='toggle'><input type='checkbox' id='go-to-only-result' ><span class='slider'></span></label><div>Directly go to item in search if there is only one result</div></div><div class='setting-line'><label class='toggle'><input type='checkbox' id='line-numbers' ><span class='slider'></span></label><div>Show line numbers on code examples</div></div><div class='setting-line'><label class='toggle'><input type='checkbox' id='disable-shortcuts' ><span class='slider'></span></label><div>Disable keyboard shortcuts</div></div></div><script src='./settings.js'></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "./";window.currentCrate = "unicode_width";</script><script src="./main.js"></script><script defer src="./search-index.js"></script></body></html>
\ No newline at end of file
diff --git a/settings.js b/settings.js
new file mode 100644
index 0000000..9930309
--- /dev/null
+++ b/settings.js
@@ -0,0 +1 @@
+(function(){function changeSetting(settingName,isEnabled){updateLocalStorage('rustdoc-'+settingName,isEnabled)}function getSettingValue(settingName){return getCurrentValue('rustdoc-'+settingName)}function setEvents(){var elems=document.getElementsByClassName("slider");if(!elems||elems.length===0){return}for(var i=0;i<elems.length;++i){var toggle=elems[i].previousElementSibling;var settingId=toggle.id;var settingValue=getSettingValue(settingId);if(settingValue!==null){toggle.checked=settingValue==="true"}toggle.onchange=function(){changeSetting(this.id,this.checked)}}}setEvents()})()
\ No newline at end of file
diff --git a/source-files.js b/source-files.js
new file mode 100644
index 0000000..620de2c
--- /dev/null
+++ b/source-files.js
@@ -0,0 +1,3 @@
+var N = null;var sourcesIndex = {};
+sourcesIndex["unicode_width"] = {"name":"","files":["lib.rs","tables.rs"]};
+createSourceSidebar();
diff --git a/source-script.js b/source-script.js
new file mode 100644
index 0000000..e0e46ba
--- /dev/null
+++ b/source-script.js
@@ -0,0 +1 @@
+function getCurrentFilePath(){var parts=window.location.pathname.split("/");var rootPathParts=window.rootPath.split("/");for(var i=0;i<rootPathParts.length;++i){if(rootPathParts[i]===".."){parts.pop()}}var file=window.location.pathname.substring(parts.join("/").length);if(file.startsWith("/")){file=file.substring(1)}return file.substring(0,file.length-5)}function createDirEntry(elem,parent,fullPath,currentFile,hasFoundFile){var name=document.createElement("div");name.className="name";fullPath+=elem["name"]+"/";name.onclick=function(){if(hasClass(this,"expand")){removeClass(this,"expand")}else{addClass(this,"expand")}};name.innerText=elem["name"];var children=document.createElement("div");children.className="children";var folders=document.createElement("div");folders.className="folders";if(elem.dirs){for(var i=0;i<elem.dirs.length;++i){if(createDirEntry(elem.dirs[i],folders,fullPath,currentFile,hasFoundFile)===true){addClass(name,"expand");hasFoundFile=true}}}children.appendChild(folders);var files=document.createElement("div");files.className="files";if(elem.files){for(i=0;i<elem.files.length;++i){var file=document.createElement("a");file.innerText=elem.files[i];file.href=window.rootPath+"src/"+fullPath+elem.files[i]+".html";if(hasFoundFile===false&&currentFile===fullPath+elem.files[i]){file.className="selected";addClass(name,"expand");hasFoundFile=true}files.appendChild(file)}}search.fullPath=fullPath;children.appendChild(files);parent.appendChild(name);parent.appendChild(children);return hasFoundFile===true&&currentFile.startsWith(fullPath)}function toggleSidebar(){var sidebar=document.getElementById("source-sidebar");var child=this.children[0].children[0];if(child.innerText===">"){sidebar.style.left="";this.style.left="";child.innerText="<";updateLocalStorage("rustdoc-source-sidebar-show","true")}else{sidebar.style.left="-300px";this.style.left="0";child.innerText=">";updateLocalStorage("rustdoc-source-sidebar-show","false")}}function createSidebarToggle(){var sidebarToggle=document.createElement("div");sidebarToggle.id="sidebar-toggle";sidebarToggle.onclick=toggleSidebar;var inner1=document.createElement("div");inner1.style.position="relative";var inner2=document.createElement("div");inner2.style.paddingTop="3px";if(getCurrentValue("rustdoc-source-sidebar-show")==="true"){inner2.innerText="<"}else{inner2.innerText=">";sidebarToggle.style.left="0"}inner1.appendChild(inner2);sidebarToggle.appendChild(inner1);return sidebarToggle}function createSourceSidebar(){if(window.rootPath.endsWith("/")===false){window.rootPath+="/"}var main=document.getElementById("main");var sidebarToggle=createSidebarToggle();main.insertBefore(sidebarToggle,main.firstChild);var sidebar=document.createElement("div");sidebar.id="source-sidebar";if(getCurrentValue("rustdoc-source-sidebar-show")!=="true"){sidebar.style.left="-300px"}var currentFile=getCurrentFilePath();var hasFoundFile=false;var title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(function(key){sourcesIndex[key].name=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",currentFile,hasFoundFile)});main.insertBefore(sidebar,main.firstChild)}
\ No newline at end of file
diff --git a/src/unicode_width/lib.rs.html b/src/unicode_width/lib.rs.html
new file mode 100644
index 0000000..ab906c9
--- /dev/null
+++ b/src/unicode_width/lib.rs.html
@@ -0,0 +1,265 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source to the Rust file `src/lib.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>lib.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="shortcut icon" href="https://unicode-rs.github.io/unicode-rs_sm.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../unicode_width/index.html'><div class='logo-container'><img src='https://unicode-rs.github.io/unicode-rs_sm.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1">  1</span>
+<span id="2">  2</span>
+<span id="3">  3</span>
+<span id="4">  4</span>
+<span id="5">  5</span>
+<span id="6">  6</span>
+<span id="7">  7</span>
+<span id="8">  8</span>
+<span id="9">  9</span>
+<span id="10"> 10</span>
+<span id="11"> 11</span>
+<span id="12"> 12</span>
+<span id="13"> 13</span>
+<span id="14"> 14</span>
+<span id="15"> 15</span>
+<span id="16"> 16</span>
+<span id="17"> 17</span>
+<span id="18"> 18</span>
+<span id="19"> 19</span>
+<span id="20"> 20</span>
+<span id="21"> 21</span>
+<span id="22"> 22</span>
+<span id="23"> 23</span>
+<span id="24"> 24</span>
+<span id="25"> 25</span>
+<span id="26"> 26</span>
+<span id="27"> 27</span>
+<span id="28"> 28</span>
+<span id="29"> 29</span>
+<span id="30"> 30</span>
+<span id="31"> 31</span>
+<span id="32"> 32</span>
+<span id="33"> 33</span>
+<span id="34"> 34</span>
+<span id="35"> 35</span>
+<span id="36"> 36</span>
+<span id="37"> 37</span>
+<span id="38"> 38</span>
+<span id="39"> 39</span>
+<span id="40"> 40</span>
+<span id="41"> 41</span>
+<span id="42"> 42</span>
+<span id="43"> 43</span>
+<span id="44"> 44</span>
+<span id="45"> 45</span>
+<span id="46"> 46</span>
+<span id="47"> 47</span>
+<span id="48"> 48</span>
+<span id="49"> 49</span>
+<span id="50"> 50</span>
+<span id="51"> 51</span>
+<span id="52"> 52</span>
+<span id="53"> 53</span>
+<span id="54"> 54</span>
+<span id="55"> 55</span>
+<span id="56"> 56</span>
+<span id="57"> 57</span>
+<span id="58"> 58</span>
+<span id="59"> 59</span>
+<span id="60"> 60</span>
+<span id="61"> 61</span>
+<span id="62"> 62</span>
+<span id="63"> 63</span>
+<span id="64"> 64</span>
+<span id="65"> 65</span>
+<span id="66"> 66</span>
+<span id="67"> 67</span>
+<span id="68"> 68</span>
+<span id="69"> 69</span>
+<span id="70"> 70</span>
+<span id="71"> 71</span>
+<span id="72"> 72</span>
+<span id="73"> 73</span>
+<span id="74"> 74</span>
+<span id="75"> 75</span>
+<span id="76"> 76</span>
+<span id="77"> 77</span>
+<span id="78"> 78</span>
+<span id="79"> 79</span>
+<span id="80"> 80</span>
+<span id="81"> 81</span>
+<span id="82"> 82</span>
+<span id="83"> 83</span>
+<span id="84"> 84</span>
+<span id="85"> 85</span>
+<span id="86"> 86</span>
+<span id="87"> 87</span>
+<span id="88"> 88</span>
+<span id="89"> 89</span>
+<span id="90"> 90</span>
+<span id="91"> 91</span>
+<span id="92"> 92</span>
+<span id="93"> 93</span>
+<span id="94"> 94</span>
+<span id="95"> 95</span>
+<span id="96"> 96</span>
+<span id="97"> 97</span>
+<span id="98"> 98</span>
+<span id="99"> 99</span>
+<span id="100">100</span>
+<span id="101">101</span>
+<span id="102">102</span>
+<span id="103">103</span>
+<span id="104">104</span>
+<span id="105">105</span>
+<span id="106">106</span>
+<span id="107">107</span>
+<span id="108">108</span>
+<span id="109">109</span>
+<span id="110">110</span>
+<span id="111">111</span>
+<span id="112">112</span>
+<span id="113">113</span>
+<span id="114">114</span>
+<span id="115">115</span>
+<span id="116">116</span>
+<span id="117">117</span>
+<span id="118">118</span>
+<span id="119">119</span>
+<span id="120">120</span>
+<span id="121">121</span>
+<span id="122">122</span>
+<span id="123">123</span>
+<span id="124">124</span>
+<span id="125">125</span>
+<span id="126">126</span>
+<span id="127">127</span>
+<span id="128">128</span>
+<span id="129">129</span>
+<span id="130">130</span>
+<span id="131">131</span>
+</pre><div class="example-wrap"><pre class="rust ">
+<span class="comment">// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT</span>
+<span class="comment">// file at the top-level directory of this distribution and at</span>
+<span class="comment">// http://rust-lang.org/COPYRIGHT.</span>
+<span class="comment">//</span>
+<span class="comment">// Licensed under the Apache License, Version 2.0 &lt;LICENSE-APACHE or</span>
+<span class="comment">// http://www.apache.org/licenses/LICENSE-2.0&gt; or the MIT license</span>
+<span class="comment">// &lt;LICENSE-MIT or http://opensource.org/licenses/MIT&gt;, at your</span>
+<span class="comment">// option. This file may not be copied, modified, or distributed</span>
+<span class="comment">// except according to those terms.</span>
+
+<span class="doccomment">//! Determine displayed width of `char` and `str` types according to</span>
+<span class="doccomment">//! [Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/)</span>
+<span class="doccomment">//! rules.</span>
+<span class="doccomment">//!</span>
+<span class="doccomment">//! ```rust</span>
+<span class="doccomment">//! extern crate unicode_width;</span>
+<span class="doccomment">//!</span>
+<span class="doccomment">//! use unicode_width::UnicodeWidthStr;</span>
+<span class="doccomment">//!</span>
+<span class="doccomment">//! fn main() {</span>
+<span class="doccomment">//!     let teststr = &quot;Hello, world!&quot;;</span>
+<span class="doccomment">//!     let width = UnicodeWidthStr::width(teststr);</span>
+<span class="doccomment">//!     println!(&quot;{}&quot;, teststr);</span>
+<span class="doccomment">//!     println!(&quot;The above string is {} columns wide.&quot;, width);</span>
+<span class="doccomment">//!     let width = teststr.width_cjk();</span>
+<span class="doccomment">//!     println!(&quot;The above string is {} columns wide (CJK).&quot;, width);</span>
+<span class="doccomment">//! }</span>
+<span class="doccomment">//! ```</span>
+<span class="doccomment">//!</span>
+<span class="doccomment">//! # features</span>
+<span class="doccomment">//!</span>
+<span class="doccomment">//! unicode-width supports a `no_std` feature. This eliminates dependence</span>
+<span class="doccomment">//! on std, and instead uses equivalent functions from core.</span>
+<span class="doccomment">//!</span>
+<span class="doccomment">//! # crates.io</span>
+<span class="doccomment">//!</span>
+<span class="doccomment">//! You can use this package in your project by adding the following</span>
+<span class="doccomment">//! to your `Cargo.toml`:</span>
+<span class="doccomment">//!</span>
+<span class="doccomment">//! ```toml</span>
+<span class="doccomment">//! [dependencies]</span>
+<span class="doccomment">//! unicode-width = &quot;0.1.5&quot;</span>
+<span class="doccomment">//! ```</span>
+
+<span class="attribute">#![<span class="ident">deny</span>(<span class="ident">missing_docs</span>, <span class="ident">unsafe_code</span>)]</span>
+<span class="attribute">#![<span class="ident">doc</span>(<span class="ident">html_logo_url</span> <span class="op">=</span> <span class="string">&quot;https://unicode-rs.github.io/unicode-rs_sm.png&quot;</span>,
+       <span class="ident">html_favicon_url</span> <span class="op">=</span> <span class="string">&quot;https://unicode-rs.github.io/unicode-rs_sm.png&quot;</span>)]</span>
+
+<span class="attribute">#![<span class="ident">cfg_attr</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;bench&quot;</span>, <span class="ident">feature</span>(<span class="ident">test</span>))]</span>
+<span class="attribute">#![<span class="ident">no_std</span>]</span>
+
+<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
+<span class="attribute">#[<span class="ident">macro_use</span>]</span>
+<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">std</span>;
+
+<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;bench&quot;</span>)]</span>
+<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">test</span>;
+
+<span class="kw">use</span> <span class="ident">tables</span>::<span class="ident">charwidth</span> <span class="kw">as</span> <span class="ident">cw</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">tables</span>::<span class="ident">UNICODE_VERSION</span>;
+
+<span class="kw">use</span> <span class="ident">core</span>::<span class="ident">ops</span>::<span class="ident">Add</span>;
+
+<span class="kw">mod</span> <span class="ident">tables</span>;
+
+<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
+<span class="kw">mod</span> <span class="ident">tests</span>;
+
+<span class="doccomment">/// Methods for determining displayed width of Unicode characters.</span>
+<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">UnicodeWidthChar</span> {
+    <span class="doccomment">/// Returns the character&#39;s displayed width in columns, or `None` if the</span>
+    <span class="doccomment">/// character is a control character other than `&#39;\x00&#39;`.</span>
+    <span class="doccomment">///</span>
+    <span class="doccomment">/// This function treats characters in the Ambiguous category according</span>
+    <span class="doccomment">/// to [Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/)</span>
+    <span class="doccomment">/// as 1 column wide. This is consistent with the recommendations for non-CJK</span>
+    <span class="doccomment">/// contexts, or when the context cannot be reliably determined.</span>
+    <span class="kw">fn</span> <span class="ident">width</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">usize</span><span class="op">&gt;</span>;
+
+    <span class="doccomment">/// Returns the character&#39;s displayed width in columns, or `None` if the</span>
+    <span class="doccomment">/// character is a control character other than `&#39;\x00&#39;`.</span>
+    <span class="doccomment">///</span>
+    <span class="doccomment">/// This function treats characters in the Ambiguous category according</span>
+    <span class="doccomment">/// to [Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/)</span>
+    <span class="doccomment">/// as 2 columns wide. This is consistent with the recommendations for</span>
+    <span class="doccomment">/// CJK contexts.</span>
+    <span class="kw">fn</span> <span class="ident">width_cjk</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">usize</span><span class="op">&gt;</span>;
+}
+
+<span class="kw">impl</span> <span class="ident">UnicodeWidthChar</span> <span class="kw">for</span> <span class="ident">char</span> {
+    <span class="attribute">#[<span class="ident">inline</span>]</span>
+    <span class="kw">fn</span> <span class="ident">width</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">usize</span><span class="op">&gt;</span> { <span class="ident">cw</span>::<span class="ident">width</span>(<span class="self">self</span>, <span class="bool-val">false</span>) }
+
+    <span class="attribute">#[<span class="ident">inline</span>]</span>
+    <span class="kw">fn</span> <span class="ident">width_cjk</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">usize</span><span class="op">&gt;</span> { <span class="ident">cw</span>::<span class="ident">width</span>(<span class="self">self</span>, <span class="bool-val">true</span>) }
+}
+
+<span class="doccomment">/// Methods for determining displayed width of Unicode strings.</span>
+<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">UnicodeWidthStr</span> {
+    <span class="doccomment">/// Returns the string&#39;s displayed width in columns.</span>
+    <span class="doccomment">///</span>
+    <span class="doccomment">/// Control characters are treated as having zero width.</span>
+    <span class="doccomment">///</span>
+    <span class="doccomment">/// This function treats characters in the Ambiguous category according</span>
+    <span class="doccomment">/// to [Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/)</span>
+    <span class="doccomment">/// as 1 column wide. This is consistent with the recommendations for</span>
+    <span class="doccomment">/// non-CJK contexts, or when the context cannot be reliably determined.</span>
+    <span class="kw">fn</span> <span class="ident">width</span><span class="op">&lt;</span><span class="lifetime">&#39;a</span><span class="op">&gt;</span>(<span class="kw-2">&amp;</span><span class="lifetime">&#39;a</span> <span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">usize</span>;
+
+    <span class="doccomment">/// Returns the string&#39;s displayed width in columns.</span>
+    <span class="doccomment">///</span>
+    <span class="doccomment">/// Control characters are treated as having zero width.</span>
+    <span class="doccomment">///</span>
+    <span class="doccomment">/// This function treats characters in the Ambiguous category according</span>
+    <span class="doccomment">/// to [Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/)</span>
+    <span class="doccomment">/// as 2 column wide. This is consistent with the recommendations for</span>
+    <span class="doccomment">/// CJK contexts.</span>
+    <span class="kw">fn</span> <span class="ident">width_cjk</span><span class="op">&lt;</span><span class="lifetime">&#39;a</span><span class="op">&gt;</span>(<span class="kw-2">&amp;</span><span class="lifetime">&#39;a</span> <span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">usize</span>;
+}
+
+<span class="kw">impl</span> <span class="ident">UnicodeWidthStr</span> <span class="kw">for</span> <span class="ident">str</span> {
+    <span class="attribute">#[<span class="ident">inline</span>]</span>
+    <span class="kw">fn</span> <span class="ident">width</span>(<span class="kw-2">&amp;</span><span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">usize</span> {
+        <span class="self">self</span>.<span class="ident">chars</span>().<span class="ident">map</span>(<span class="op">|</span><span class="ident">c</span><span class="op">|</span> <span class="ident">cw</span>::<span class="ident">width</span>(<span class="ident">c</span>, <span class="bool-val">false</span>).<span class="ident">unwrap_or</span>(<span class="number">0</span>)).<span class="ident">fold</span>(<span class="number">0</span>, <span class="ident">Add</span>::<span class="ident">add</span>)
+    }
+
+    <span class="attribute">#[<span class="ident">inline</span>]</span>
+    <span class="kw">fn</span> <span class="ident">width_cjk</span>(<span class="kw-2">&amp;</span><span class="self">self</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">usize</span> {
+        <span class="self">self</span>.<span class="ident">chars</span>().<span class="ident">map</span>(<span class="op">|</span><span class="ident">c</span><span class="op">|</span> <span class="ident">cw</span>::<span class="ident">width</span>(<span class="ident">c</span>, <span class="bool-val">true</span>).<span class="ident">unwrap_or</span>(<span class="number">0</span>)).<span class="ident">fold</span>(<span class="number">0</span>, <span class="ident">Add</span>::<span class="ident">add</span>)
+    }
+}
+</pre></div>
+</section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "unicode_width";</script><script src="../../main.js"></script><script src="../../source-script.js"></script><script src="../../source-files.js"></script><script defer src="../../search-index.js"></script></body></html>
\ No newline at end of file
diff --git a/src/unicode_width/tables.rs.html b/src/unicode_width/tables.rs.html
new file mode 100644
index 0000000..4cfb36a
--- /dev/null
+++ b/src/unicode_width/tables.rs.html
@@ -0,0 +1,579 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source to the Rust file `src/tables.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>tables.rs.html -- source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="shortcut icon" href="https://unicode-rs.github.io/unicode-rs_sm.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../unicode_width/index.html'><div class='logo-container'><img src='https://unicode-rs.github.io/unicode-rs_sm.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1">  1</span>
+<span id="2">  2</span>
+<span id="3">  3</span>
+<span id="4">  4</span>
+<span id="5">  5</span>
+<span id="6">  6</span>
+<span id="7">  7</span>
+<span id="8">  8</span>
+<span id="9">  9</span>
+<span id="10"> 10</span>
+<span id="11"> 11</span>
+<span id="12"> 12</span>
+<span id="13"> 13</span>
+<span id="14"> 14</span>
+<span id="15"> 15</span>
+<span id="16"> 16</span>
+<span id="17"> 17</span>
+<span id="18"> 18</span>
+<span id="19"> 19</span>
+<span id="20"> 20</span>
+<span id="21"> 21</span>
+<span id="22"> 22</span>
+<span id="23"> 23</span>
+<span id="24"> 24</span>
+<span id="25"> 25</span>
+<span id="26"> 26</span>
+<span id="27"> 27</span>
+<span id="28"> 28</span>
+<span id="29"> 29</span>
+<span id="30"> 30</span>
+<span id="31"> 31</span>
+<span id="32"> 32</span>
+<span id="33"> 33</span>
+<span id="34"> 34</span>
+<span id="35"> 35</span>
+<span id="36"> 36</span>
+<span id="37"> 37</span>
+<span id="38"> 38</span>
+<span id="39"> 39</span>
+<span id="40"> 40</span>
+<span id="41"> 41</span>
+<span id="42"> 42</span>
+<span id="43"> 43</span>
+<span id="44"> 44</span>
+<span id="45"> 45</span>
+<span id="46"> 46</span>
+<span id="47"> 47</span>
+<span id="48"> 48</span>
+<span id="49"> 49</span>
+<span id="50"> 50</span>
+<span id="51"> 51</span>
+<span id="52"> 52</span>
+<span id="53"> 53</span>
+<span id="54"> 54</span>
+<span id="55"> 55</span>
+<span id="56"> 56</span>
+<span id="57"> 57</span>
+<span id="58"> 58</span>
+<span id="59"> 59</span>
+<span id="60"> 60</span>
+<span id="61"> 61</span>
+<span id="62"> 62</span>
+<span id="63"> 63</span>
+<span id="64"> 64</span>
+<span id="65"> 65</span>
+<span id="66"> 66</span>
+<span id="67"> 67</span>
+<span id="68"> 68</span>
+<span id="69"> 69</span>
+<span id="70"> 70</span>
+<span id="71"> 71</span>
+<span id="72"> 72</span>
+<span id="73"> 73</span>
+<span id="74"> 74</span>
+<span id="75"> 75</span>
+<span id="76"> 76</span>
+<span id="77"> 77</span>
+<span id="78"> 78</span>
+<span id="79"> 79</span>
+<span id="80"> 80</span>
+<span id="81"> 81</span>
+<span id="82"> 82</span>
+<span id="83"> 83</span>
+<span id="84"> 84</span>
+<span id="85"> 85</span>
+<span id="86"> 86</span>
+<span id="87"> 87</span>
+<span id="88"> 88</span>
+<span id="89"> 89</span>
+<span id="90"> 90</span>
+<span id="91"> 91</span>
+<span id="92"> 92</span>
+<span id="93"> 93</span>
+<span id="94"> 94</span>
+<span id="95"> 95</span>
+<span id="96"> 96</span>
+<span id="97"> 97</span>
+<span id="98"> 98</span>
+<span id="99"> 99</span>
+<span id="100">100</span>
+<span id="101">101</span>
+<span id="102">102</span>
+<span id="103">103</span>
+<span id="104">104</span>
+<span id="105">105</span>
+<span id="106">106</span>
+<span id="107">107</span>
+<span id="108">108</span>
+<span id="109">109</span>
+<span id="110">110</span>
+<span id="111">111</span>
+<span id="112">112</span>
+<span id="113">113</span>
+<span id="114">114</span>
+<span id="115">115</span>
+<span id="116">116</span>
+<span id="117">117</span>
+<span id="118">118</span>
+<span id="119">119</span>
+<span id="120">120</span>
+<span id="121">121</span>
+<span id="122">122</span>
+<span id="123">123</span>
+<span id="124">124</span>
+<span id="125">125</span>
+<span id="126">126</span>
+<span id="127">127</span>
+<span id="128">128</span>
+<span id="129">129</span>
+<span id="130">130</span>
+<span id="131">131</span>
+<span id="132">132</span>
+<span id="133">133</span>
+<span id="134">134</span>
+<span id="135">135</span>
+<span id="136">136</span>
+<span id="137">137</span>
+<span id="138">138</span>
+<span id="139">139</span>
+<span id="140">140</span>
+<span id="141">141</span>
+<span id="142">142</span>
+<span id="143">143</span>
+<span id="144">144</span>
+<span id="145">145</span>
+<span id="146">146</span>
+<span id="147">147</span>
+<span id="148">148</span>
+<span id="149">149</span>
+<span id="150">150</span>
+<span id="151">151</span>
+<span id="152">152</span>
+<span id="153">153</span>
+<span id="154">154</span>
+<span id="155">155</span>
+<span id="156">156</span>
+<span id="157">157</span>
+<span id="158">158</span>
+<span id="159">159</span>
+<span id="160">160</span>
+<span id="161">161</span>
+<span id="162">162</span>
+<span id="163">163</span>
+<span id="164">164</span>
+<span id="165">165</span>
+<span id="166">166</span>
+<span id="167">167</span>
+<span id="168">168</span>
+<span id="169">169</span>
+<span id="170">170</span>
+<span id="171">171</span>
+<span id="172">172</span>
+<span id="173">173</span>
+<span id="174">174</span>
+<span id="175">175</span>
+<span id="176">176</span>
+<span id="177">177</span>
+<span id="178">178</span>
+<span id="179">179</span>
+<span id="180">180</span>
+<span id="181">181</span>
+<span id="182">182</span>
+<span id="183">183</span>
+<span id="184">184</span>
+<span id="185">185</span>
+<span id="186">186</span>
+<span id="187">187</span>
+<span id="188">188</span>
+<span id="189">189</span>
+<span id="190">190</span>
+<span id="191">191</span>
+<span id="192">192</span>
+<span id="193">193</span>
+<span id="194">194</span>
+<span id="195">195</span>
+<span id="196">196</span>
+<span id="197">197</span>
+<span id="198">198</span>
+<span id="199">199</span>
+<span id="200">200</span>
+<span id="201">201</span>
+<span id="202">202</span>
+<span id="203">203</span>
+<span id="204">204</span>
+<span id="205">205</span>
+<span id="206">206</span>
+<span id="207">207</span>
+<span id="208">208</span>
+<span id="209">209</span>
+<span id="210">210</span>
+<span id="211">211</span>
+<span id="212">212</span>
+<span id="213">213</span>
+<span id="214">214</span>
+<span id="215">215</span>
+<span id="216">216</span>
+<span id="217">217</span>
+<span id="218">218</span>
+<span id="219">219</span>
+<span id="220">220</span>
+<span id="221">221</span>
+<span id="222">222</span>
+<span id="223">223</span>
+<span id="224">224</span>
+<span id="225">225</span>
+<span id="226">226</span>
+<span id="227">227</span>
+<span id="228">228</span>
+<span id="229">229</span>
+<span id="230">230</span>
+<span id="231">231</span>
+<span id="232">232</span>
+<span id="233">233</span>
+<span id="234">234</span>
+<span id="235">235</span>
+<span id="236">236</span>
+<span id="237">237</span>
+<span id="238">238</span>
+<span id="239">239</span>
+<span id="240">240</span>
+<span id="241">241</span>
+<span id="242">242</span>
+<span id="243">243</span>
+<span id="244">244</span>
+<span id="245">245</span>
+<span id="246">246</span>
+<span id="247">247</span>
+<span id="248">248</span>
+<span id="249">249</span>
+<span id="250">250</span>
+<span id="251">251</span>
+<span id="252">252</span>
+<span id="253">253</span>
+<span id="254">254</span>
+<span id="255">255</span>
+<span id="256">256</span>
+<span id="257">257</span>
+<span id="258">258</span>
+<span id="259">259</span>
+<span id="260">260</span>
+<span id="261">261</span>
+<span id="262">262</span>
+<span id="263">263</span>
+<span id="264">264</span>
+<span id="265">265</span>
+<span id="266">266</span>
+<span id="267">267</span>
+<span id="268">268</span>
+<span id="269">269</span>
+<span id="270">270</span>
+<span id="271">271</span>
+<span id="272">272</span>
+<span id="273">273</span>
+<span id="274">274</span>
+<span id="275">275</span>
+<span id="276">276</span>
+<span id="277">277</span>
+<span id="278">278</span>
+<span id="279">279</span>
+<span id="280">280</span>
+<span id="281">281</span>
+<span id="282">282</span>
+<span id="283">283</span>
+<span id="284">284</span>
+<span id="285">285</span>
+<span id="286">286</span>
+<span id="287">287</span>
+<span id="288">288</span>
+</pre><div class="example-wrap"><pre class="rust ">
+<span class="comment">// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT</span>
+<span class="comment">// file at the top-level directory of this distribution and at</span>
+<span class="comment">// http://rust-lang.org/COPYRIGHT.</span>
+<span class="comment">//</span>
+<span class="comment">// Licensed under the Apache License, Version 2.0 &lt;LICENSE-APACHE or</span>
+<span class="comment">// http://www.apache.org/licenses/LICENSE-2.0&gt; or the MIT license</span>
+<span class="comment">// &lt;LICENSE-MIT or http://opensource.org/licenses/MIT&gt;, at your</span>
+<span class="comment">// option. This file may not be copied, modified, or distributed</span>
+<span class="comment">// except according to those terms.</span>
+
+<span class="comment">// NOTE: The following code was generated by &quot;scripts/unicode.py&quot;, do not edit directly</span>
+
+<span class="attribute">#![<span class="ident">allow</span>(<span class="ident">missing_docs</span>, <span class="ident">non_upper_case_globals</span>, <span class="ident">non_snake_case</span>)]</span>
+
+<span class="doccomment">/// The version of [Unicode](http://www.unicode.org/)</span>
+<span class="doccomment">/// that this version of unicode-width is based on.</span>
+<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">UNICODE_VERSION</span>: (<span class="ident">u8</span>, <span class="ident">u8</span>, <span class="ident">u8</span>) <span class="op">=</span> (<span class="number">13</span>, <span class="number">0</span>, <span class="number">0</span>);
+
+<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">charwidth</span> {
+    <span class="kw">use</span> <span class="ident">core</span>::<span class="ident">option</span>::<span class="prelude-ty">Option</span>::{<span class="self">self</span>, <span class="prelude-val">Some</span>, <span class="prelude-val">None</span>};
+    <span class="kw">use</span> <span class="ident">core</span>::<span class="ident">result</span>::<span class="prelude-ty">Result</span>::{<span class="prelude-val">Ok</span>, <span class="prelude-val">Err</span>};
+
+    <span class="attribute">#[<span class="ident">inline</span>]</span>
+    <span class="kw">fn</span> <span class="ident">bsearch_range_value_table</span>(<span class="ident">c</span>: <span class="ident">char</span>, <span class="ident">is_cjk</span>: <span class="ident">bool</span>, <span class="ident">r</span>: <span class="kw-2">&amp;</span><span class="lifetime">&#39;static</span> [(<span class="ident">char</span>, <span class="ident">char</span>, <span class="ident">u8</span>, <span class="ident">u8</span>)]) <span class="op">-</span><span class="op">&gt;</span> <span class="ident">u8</span> {
+        <span class="kw">use</span> <span class="ident">core</span>::<span class="ident">cmp</span>::<span class="ident">Ordering</span>::{<span class="ident">Equal</span>, <span class="ident">Less</span>, <span class="ident">Greater</span>};
+        <span class="kw">match</span> <span class="ident">r</span>.<span class="ident">binary_search_by</span>(<span class="op">|</span><span class="kw-2">&amp;</span>(<span class="ident">lo</span>, <span class="ident">hi</span>, <span class="kw">_</span>, <span class="kw">_</span>)<span class="op">|</span> {
+            <span class="kw">if</span> <span class="ident">lo</span> <span class="op">&lt;</span><span class="op">=</span> <span class="ident">c</span> <span class="kw-2">&amp;</span><span class="op">&amp;</span> <span class="ident">c</span> <span class="op">&lt;</span><span class="op">=</span> <span class="ident">hi</span> { <span class="ident">Equal</span> }
+            <span class="kw">else</span> <span class="kw">if</span> <span class="ident">hi</span> <span class="op">&lt;</span> <span class="ident">c</span> { <span class="ident">Less</span> }
+            <span class="kw">else</span> { <span class="ident">Greater</span> }
+        }) {
+            <span class="prelude-val">Ok</span>(<span class="ident">idx</span>) <span class="op">=</span><span class="op">&gt;</span> {
+                <span class="kw">let</span> (<span class="kw">_</span>, <span class="kw">_</span>, <span class="ident">r_ncjk</span>, <span class="ident">r_cjk</span>) <span class="op">=</span> <span class="ident">r</span>[<span class="ident">idx</span>];
+                <span class="kw">if</span> <span class="ident">is_cjk</span> { <span class="ident">r_cjk</span> } <span class="kw">else</span> { <span class="ident">r_ncjk</span> }
+            }
+            <span class="prelude-val">Err</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">&gt;</span> <span class="number">1</span>
+        }
+    }
+
+    <span class="attribute">#[<span class="ident">inline</span>]</span>
+    <span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">width</span>(<span class="ident">c</span>: <span class="ident">char</span>, <span class="ident">is_cjk</span>: <span class="ident">bool</span>) <span class="op">-</span><span class="op">&gt;</span> <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">usize</span><span class="op">&gt;</span> {
+        <span class="kw">match</span> <span class="ident">c</span> <span class="kw">as</span> <span class="ident">usize</span> {
+            <span class="ident">_c</span> @ <span class="number">0</span> <span class="op">=</span><span class="op">&gt;</span> <span class="prelude-val">Some</span>(<span class="number">0</span>),          <span class="comment">// null is zero width</span>
+            <span class="ident">cu</span> <span class="kw">if</span> <span class="ident">cu</span> <span class="op">&lt;</span> <span class="number">0x20</span> <span class="op">=</span><span class="op">&gt;</span> <span class="prelude-val">None</span>,    <span class="comment">// control sequences have no width</span>
+            <span class="ident">cu</span> <span class="kw">if</span> <span class="ident">cu</span> <span class="op">&lt;</span> <span class="number">0x7F</span> <span class="op">=</span><span class="op">&gt;</span> <span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="comment">// ASCII</span>
+            <span class="ident">cu</span> <span class="kw">if</span> <span class="ident">cu</span> <span class="op">&lt;</span> <span class="number">0xA0</span> <span class="op">=</span><span class="op">&gt;</span> <span class="prelude-val">None</span>,    <span class="comment">// more control sequences</span>
+            <span class="kw">_</span> <span class="op">=</span><span class="op">&gt;</span> <span class="prelude-val">Some</span>(<span class="ident">bsearch_range_value_table</span>(<span class="ident">c</span>, <span class="ident">is_cjk</span>, <span class="ident">charwidth_table</span>) <span class="kw">as</span> <span class="ident">usize</span>)
+        }
+    }
+
+    <span class="comment">// character width table. Based on Markus Kuhn&#39;s free wcwidth() implementation,</span>
+    <span class="comment">//     http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c</span>
+    <span class="kw">const</span> <span class="ident">charwidth_table</span>: <span class="kw-2">&amp;</span><span class="lifetime">&#39;static</span> [(<span class="ident">char</span>, <span class="ident">char</span>, <span class="ident">u8</span>, <span class="ident">u8</span>)] <span class="op">=</span> <span class="kw-2">&amp;</span>[
+        (<span class="string">&#39;\u{a1}&#39;</span>, <span class="string">&#39;\u{a1}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{a4}&#39;</span>, <span class="string">&#39;\u{a4}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{a7}&#39;</span>, <span class="string">&#39;\u{a8}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{aa}&#39;</span>, <span class="string">&#39;\u{aa}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{ae}&#39;</span>, <span class="string">&#39;\u{ae}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{b0}&#39;</span>, <span class="string">&#39;\u{b4}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{b6}&#39;</span>, <span class="string">&#39;\u{ba}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{bc}&#39;</span>, <span class="string">&#39;\u{bf}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{c6}&#39;</span>, <span class="string">&#39;\u{c6}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{d0}&#39;</span>, <span class="string">&#39;\u{d0}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{d7}&#39;</span>, <span class="string">&#39;\u{d8}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{de}&#39;</span>, <span class="string">&#39;\u{e1}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{e6}&#39;</span>, <span class="string">&#39;\u{e6}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{e8}&#39;</span>, <span class="string">&#39;\u{ea}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{ec}&#39;</span>, <span class="string">&#39;\u{ed}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{f0}&#39;</span>, <span class="string">&#39;\u{f0}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{f2}&#39;</span>, <span class="string">&#39;\u{f3}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{f7}&#39;</span>, <span class="string">&#39;\u{fa}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{fc}&#39;</span>, <span class="string">&#39;\u{fc}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{fe}&#39;</span>, <span class="string">&#39;\u{fe}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{101}&#39;</span>, <span class="string">&#39;\u{101}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{111}&#39;</span>, <span class="string">&#39;\u{111}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{113}&#39;</span>, <span class="string">&#39;\u{113}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{11b}&#39;</span>, <span class="string">&#39;\u{11b}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{126}&#39;</span>, <span class="string">&#39;\u{127}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{12b}&#39;</span>, <span class="string">&#39;\u{12b}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{131}&#39;</span>, <span class="string">&#39;\u{133}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{138}&#39;</span>, <span class="string">&#39;\u{138}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{13f}&#39;</span>, <span class="string">&#39;\u{142}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{144}&#39;</span>, <span class="string">&#39;\u{144}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{148}&#39;</span>, <span class="string">&#39;\u{14b}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{14d}&#39;</span>, <span class="string">&#39;\u{14d}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{152}&#39;</span>, <span class="string">&#39;\u{153}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{166}&#39;</span>, <span class="string">&#39;\u{167}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{16b}&#39;</span>, <span class="string">&#39;\u{16b}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1ce}&#39;</span>, <span class="string">&#39;\u{1ce}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{1d0}&#39;</span>, <span class="string">&#39;\u{1d0}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1d2}&#39;</span>, <span class="string">&#39;\u{1d2}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1d4}&#39;</span>, <span class="string">&#39;\u{1d4}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{1d6}&#39;</span>, <span class="string">&#39;\u{1d6}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1d8}&#39;</span>, <span class="string">&#39;\u{1d8}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1da}&#39;</span>, <span class="string">&#39;\u{1da}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{1dc}&#39;</span>, <span class="string">&#39;\u{1dc}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{251}&#39;</span>, <span class="string">&#39;\u{251}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{261}&#39;</span>, <span class="string">&#39;\u{261}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{2c4}&#39;</span>, <span class="string">&#39;\u{2c4}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2c7}&#39;</span>, <span class="string">&#39;\u{2c7}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2c9}&#39;</span>, <span class="string">&#39;\u{2cb}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{2cd}&#39;</span>, <span class="string">&#39;\u{2cd}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2d0}&#39;</span>, <span class="string">&#39;\u{2d0}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2d8}&#39;</span>, <span class="string">&#39;\u{2db}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{2dd}&#39;</span>, <span class="string">&#39;\u{2dd}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2df}&#39;</span>, <span class="string">&#39;\u{2df}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{300}&#39;</span>, <span class="string">&#39;\u{36f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{391}&#39;</span>, <span class="string">&#39;\u{3a1}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{3a3}&#39;</span>, <span class="string">&#39;\u{3a9}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{3b1}&#39;</span>, <span class="string">&#39;\u{3c1}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{3c3}&#39;</span>, <span class="string">&#39;\u{3c9}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{401}&#39;</span>, <span class="string">&#39;\u{401}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{410}&#39;</span>, <span class="string">&#39;\u{44f}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{451}&#39;</span>, <span class="string">&#39;\u{451}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{483}&#39;</span>, <span class="string">&#39;\u{489}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{591}&#39;</span>, <span class="string">&#39;\u{5bd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{5bf}&#39;</span>, <span class="string">&#39;\u{5bf}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{5c1}&#39;</span>, <span class="string">&#39;\u{5c2}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{5c4}&#39;</span>, <span class="string">&#39;\u{5c5}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{5c7}&#39;</span>, <span class="string">&#39;\u{5c7}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{600}&#39;</span>, <span class="string">&#39;\u{605}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{610}&#39;</span>, <span class="string">&#39;\u{61a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{61c}&#39;</span>, <span class="string">&#39;\u{61c}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{64b}&#39;</span>, <span class="string">&#39;\u{65f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{670}&#39;</span>, <span class="string">&#39;\u{670}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{6d6}&#39;</span>, <span class="string">&#39;\u{6dd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{6df}&#39;</span>, <span class="string">&#39;\u{6e4}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{6e7}&#39;</span>, <span class="string">&#39;\u{6e8}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{6ea}&#39;</span>, <span class="string">&#39;\u{6ed}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{70f}&#39;</span>, <span class="string">&#39;\u{70f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{711}&#39;</span>, <span class="string">&#39;\u{711}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{730}&#39;</span>, <span class="string">&#39;\u{74a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{7a6}&#39;</span>, <span class="string">&#39;\u{7b0}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{7eb}&#39;</span>, <span class="string">&#39;\u{7f3}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{7fd}&#39;</span>, <span class="string">&#39;\u{7fd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{816}&#39;</span>, <span class="string">&#39;\u{819}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{81b}&#39;</span>, <span class="string">&#39;\u{823}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{825}&#39;</span>, <span class="string">&#39;\u{827}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{829}&#39;</span>, <span class="string">&#39;\u{82d}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{859}&#39;</span>, <span class="string">&#39;\u{85b}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{8d3}&#39;</span>, <span class="string">&#39;\u{902}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{93a}&#39;</span>, <span class="string">&#39;\u{93a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{93c}&#39;</span>, <span class="string">&#39;\u{93c}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{941}&#39;</span>, <span class="string">&#39;\u{948}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{94d}&#39;</span>, <span class="string">&#39;\u{94d}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{951}&#39;</span>, <span class="string">&#39;\u{957}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{962}&#39;</span>, <span class="string">&#39;\u{963}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{981}&#39;</span>, <span class="string">&#39;\u{981}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{9bc}&#39;</span>, <span class="string">&#39;\u{9bc}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{9c1}&#39;</span>, <span class="string">&#39;\u{9c4}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{9cd}&#39;</span>, <span class="string">&#39;\u{9cd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{9e2}&#39;</span>, <span class="string">&#39;\u{9e3}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{9fe}&#39;</span>, <span class="string">&#39;\u{9fe}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a01}&#39;</span>, <span class="string">&#39;\u{a02}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a3c}&#39;</span>, <span class="string">&#39;\u{a3c}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{a41}&#39;</span>, <span class="string">&#39;\u{a42}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a47}&#39;</span>, <span class="string">&#39;\u{a48}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a4b}&#39;</span>, <span class="string">&#39;\u{a4d}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{a51}&#39;</span>, <span class="string">&#39;\u{a51}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a70}&#39;</span>, <span class="string">&#39;\u{a71}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a75}&#39;</span>, <span class="string">&#39;\u{a75}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{a81}&#39;</span>, <span class="string">&#39;\u{a82}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{abc}&#39;</span>, <span class="string">&#39;\u{abc}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{ac1}&#39;</span>, <span class="string">&#39;\u{ac5}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{ac7}&#39;</span>, <span class="string">&#39;\u{ac8}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{acd}&#39;</span>, <span class="string">&#39;\u{acd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{ae2}&#39;</span>, <span class="string">&#39;\u{ae3}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{afa}&#39;</span>, <span class="string">&#39;\u{aff}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{b01}&#39;</span>, <span class="string">&#39;\u{b01}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{b3c}&#39;</span>, <span class="string">&#39;\u{b3c}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{b3f}&#39;</span>, <span class="string">&#39;\u{b3f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{b41}&#39;</span>, <span class="string">&#39;\u{b44}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{b4d}&#39;</span>, <span class="string">&#39;\u{b4d}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{b55}&#39;</span>, <span class="string">&#39;\u{b56}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{b62}&#39;</span>, <span class="string">&#39;\u{b63}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{b82}&#39;</span>, <span class="string">&#39;\u{b82}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{bc0}&#39;</span>, <span class="string">&#39;\u{bc0}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{bcd}&#39;</span>, <span class="string">&#39;\u{bcd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{c00}&#39;</span>, <span class="string">&#39;\u{c00}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{c04}&#39;</span>, <span class="string">&#39;\u{c04}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{c3e}&#39;</span>, <span class="string">&#39;\u{c40}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{c46}&#39;</span>, <span class="string">&#39;\u{c48}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{c4a}&#39;</span>, <span class="string">&#39;\u{c4d}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{c55}&#39;</span>, <span class="string">&#39;\u{c56}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{c62}&#39;</span>, <span class="string">&#39;\u{c63}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{c81}&#39;</span>, <span class="string">&#39;\u{c81}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{cbc}&#39;</span>, <span class="string">&#39;\u{cbc}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{cbf}&#39;</span>, <span class="string">&#39;\u{cbf}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{cc6}&#39;</span>, <span class="string">&#39;\u{cc6}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{ccc}&#39;</span>, <span class="string">&#39;\u{ccd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{ce2}&#39;</span>, <span class="string">&#39;\u{ce3}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{d00}&#39;</span>, <span class="string">&#39;\u{d01}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{d3b}&#39;</span>, <span class="string">&#39;\u{d3c}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{d41}&#39;</span>, <span class="string">&#39;\u{d44}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{d4d}&#39;</span>, <span class="string">&#39;\u{d4d}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{d62}&#39;</span>, <span class="string">&#39;\u{d63}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{d81}&#39;</span>, <span class="string">&#39;\u{d81}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{dca}&#39;</span>, <span class="string">&#39;\u{dca}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{dd2}&#39;</span>, <span class="string">&#39;\u{dd4}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{dd6}&#39;</span>, <span class="string">&#39;\u{dd6}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{e31}&#39;</span>, <span class="string">&#39;\u{e31}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{e34}&#39;</span>, <span class="string">&#39;\u{e3a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{e47}&#39;</span>, <span class="string">&#39;\u{e4e}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{eb1}&#39;</span>, <span class="string">&#39;\u{eb1}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{eb4}&#39;</span>, <span class="string">&#39;\u{ebc}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{ec8}&#39;</span>, <span class="string">&#39;\u{ecd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{f18}&#39;</span>, <span class="string">&#39;\u{f19}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{f35}&#39;</span>, <span class="string">&#39;\u{f35}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{f37}&#39;</span>, <span class="string">&#39;\u{f37}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{f39}&#39;</span>, <span class="string">&#39;\u{f39}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{f71}&#39;</span>, <span class="string">&#39;\u{f7e}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{f80}&#39;</span>, <span class="string">&#39;\u{f84}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{f86}&#39;</span>, <span class="string">&#39;\u{f87}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{f8d}&#39;</span>, <span class="string">&#39;\u{f97}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{f99}&#39;</span>, <span class="string">&#39;\u{fbc}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{fc6}&#39;</span>, <span class="string">&#39;\u{fc6}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{102d}&#39;</span>, <span class="string">&#39;\u{1030}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1032}&#39;</span>, <span class="string">&#39;\u{1037}&#39;</span>, <span class="number">0</span>,
+        <span class="number">0</span>), (<span class="string">&#39;\u{1039}&#39;</span>, <span class="string">&#39;\u{103a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{103d}&#39;</span>, <span class="string">&#39;\u{103e}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1058}&#39;</span>, <span class="string">&#39;\u{1059}&#39;</span>,
+        <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{105e}&#39;</span>, <span class="string">&#39;\u{1060}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1071}&#39;</span>, <span class="string">&#39;\u{1074}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1082}&#39;</span>,
+        <span class="string">&#39;\u{1082}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1085}&#39;</span>, <span class="string">&#39;\u{1086}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{108d}&#39;</span>, <span class="string">&#39;\u{108d}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{109d}&#39;</span>, <span class="string">&#39;\u{109d}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1100}&#39;</span>, <span class="string">&#39;\u{115f}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1160}&#39;</span>, <span class="string">&#39;\u{11ff}&#39;</span>, <span class="number">0</span>,
+        <span class="number">0</span>), (<span class="string">&#39;\u{135d}&#39;</span>, <span class="string">&#39;\u{135f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1712}&#39;</span>, <span class="string">&#39;\u{1714}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1732}&#39;</span>, <span class="string">&#39;\u{1734}&#39;</span>,
+        <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1752}&#39;</span>, <span class="string">&#39;\u{1753}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1772}&#39;</span>, <span class="string">&#39;\u{1773}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{17b4}&#39;</span>,
+        <span class="string">&#39;\u{17b5}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{17b7}&#39;</span>, <span class="string">&#39;\u{17bd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{17c6}&#39;</span>, <span class="string">&#39;\u{17c6}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{17c9}&#39;</span>, <span class="string">&#39;\u{17d3}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{17dd}&#39;</span>, <span class="string">&#39;\u{17dd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{180b}&#39;</span>, <span class="string">&#39;\u{180e}&#39;</span>, <span class="number">0</span>,
+        <span class="number">0</span>), (<span class="string">&#39;\u{1885}&#39;</span>, <span class="string">&#39;\u{1886}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{18a9}&#39;</span>, <span class="string">&#39;\u{18a9}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1920}&#39;</span>, <span class="string">&#39;\u{1922}&#39;</span>,
+        <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1927}&#39;</span>, <span class="string">&#39;\u{1928}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1932}&#39;</span>, <span class="string">&#39;\u{1932}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1939}&#39;</span>,
+        <span class="string">&#39;\u{193b}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1a17}&#39;</span>, <span class="string">&#39;\u{1a18}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1a1b}&#39;</span>, <span class="string">&#39;\u{1a1b}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{1a56}&#39;</span>, <span class="string">&#39;\u{1a56}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1a58}&#39;</span>, <span class="string">&#39;\u{1a5e}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1a60}&#39;</span>, <span class="string">&#39;\u{1a60}&#39;</span>, <span class="number">0</span>,
+        <span class="number">0</span>), (<span class="string">&#39;\u{1a62}&#39;</span>, <span class="string">&#39;\u{1a62}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1a65}&#39;</span>, <span class="string">&#39;\u{1a6c}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1a73}&#39;</span>, <span class="string">&#39;\u{1a7c}&#39;</span>,
+        <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1a7f}&#39;</span>, <span class="string">&#39;\u{1a7f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1ab0}&#39;</span>, <span class="string">&#39;\u{1ac0}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1b00}&#39;</span>,
+        <span class="string">&#39;\u{1b03}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1b34}&#39;</span>, <span class="string">&#39;\u{1b34}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1b36}&#39;</span>, <span class="string">&#39;\u{1b3a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{1b3c}&#39;</span>, <span class="string">&#39;\u{1b3c}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1b42}&#39;</span>, <span class="string">&#39;\u{1b42}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1b6b}&#39;</span>, <span class="string">&#39;\u{1b73}&#39;</span>, <span class="number">0</span>,
+        <span class="number">0</span>), (<span class="string">&#39;\u{1b80}&#39;</span>, <span class="string">&#39;\u{1b81}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1ba2}&#39;</span>, <span class="string">&#39;\u{1ba5}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1ba8}&#39;</span>, <span class="string">&#39;\u{1ba9}&#39;</span>,
+        <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1bab}&#39;</span>, <span class="string">&#39;\u{1bad}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1be6}&#39;</span>, <span class="string">&#39;\u{1be6}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1be8}&#39;</span>,
+        <span class="string">&#39;\u{1be9}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1bed}&#39;</span>, <span class="string">&#39;\u{1bed}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1bef}&#39;</span>, <span class="string">&#39;\u{1bf1}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{1c2c}&#39;</span>, <span class="string">&#39;\u{1c33}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1c36}&#39;</span>, <span class="string">&#39;\u{1c37}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1cd0}&#39;</span>, <span class="string">&#39;\u{1cd2}&#39;</span>, <span class="number">0</span>,
+        <span class="number">0</span>), (<span class="string">&#39;\u{1cd4}&#39;</span>, <span class="string">&#39;\u{1ce0}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1ce2}&#39;</span>, <span class="string">&#39;\u{1ce8}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1ced}&#39;</span>, <span class="string">&#39;\u{1ced}&#39;</span>,
+        <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1cf4}&#39;</span>, <span class="string">&#39;\u{1cf4}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1cf8}&#39;</span>, <span class="string">&#39;\u{1cf9}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1dc0}&#39;</span>,
+        <span class="string">&#39;\u{1df9}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1dfb}&#39;</span>, <span class="string">&#39;\u{1dff}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{200b}&#39;</span>, <span class="string">&#39;\u{200f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{2010}&#39;</span>, <span class="string">&#39;\u{2010}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2013}&#39;</span>, <span class="string">&#39;\u{2016}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2018}&#39;</span>, <span class="string">&#39;\u{2019}&#39;</span>, <span class="number">1</span>,
+        <span class="number">2</span>), (<span class="string">&#39;\u{201c}&#39;</span>, <span class="string">&#39;\u{201d}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2020}&#39;</span>, <span class="string">&#39;\u{2022}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2024}&#39;</span>, <span class="string">&#39;\u{2027}&#39;</span>,
+        <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{202a}&#39;</span>, <span class="string">&#39;\u{202e}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{2030}&#39;</span>, <span class="string">&#39;\u{2030}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2032}&#39;</span>,
+        <span class="string">&#39;\u{2033}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2035}&#39;</span>, <span class="string">&#39;\u{2035}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{203b}&#39;</span>, <span class="string">&#39;\u{203b}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{203e}&#39;</span>, <span class="string">&#39;\u{203e}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2060}&#39;</span>, <span class="string">&#39;\u{2064}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{2066}&#39;</span>, <span class="string">&#39;\u{206f}&#39;</span>, <span class="number">0</span>,
+        <span class="number">0</span>), (<span class="string">&#39;\u{2074}&#39;</span>, <span class="string">&#39;\u{2074}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{207f}&#39;</span>, <span class="string">&#39;\u{207f}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2081}&#39;</span>, <span class="string">&#39;\u{2084}&#39;</span>,
+        <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{20ac}&#39;</span>, <span class="string">&#39;\u{20ac}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{20d0}&#39;</span>, <span class="string">&#39;\u{20f0}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{2103}&#39;</span>,
+        <span class="string">&#39;\u{2103}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2105}&#39;</span>, <span class="string">&#39;\u{2105}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2109}&#39;</span>, <span class="string">&#39;\u{2109}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{2113}&#39;</span>, <span class="string">&#39;\u{2113}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2116}&#39;</span>, <span class="string">&#39;\u{2116}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2121}&#39;</span>, <span class="string">&#39;\u{2122}&#39;</span>, <span class="number">1</span>,
+        <span class="number">2</span>), (<span class="string">&#39;\u{2126}&#39;</span>, <span class="string">&#39;\u{2126}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{212b}&#39;</span>, <span class="string">&#39;\u{212b}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2153}&#39;</span>, <span class="string">&#39;\u{2154}&#39;</span>,
+        <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{215b}&#39;</span>, <span class="string">&#39;\u{215e}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2160}&#39;</span>, <span class="string">&#39;\u{216b}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2170}&#39;</span>,
+        <span class="string">&#39;\u{2179}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2189}&#39;</span>, <span class="string">&#39;\u{2189}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2190}&#39;</span>, <span class="string">&#39;\u{2199}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{21b8}&#39;</span>, <span class="string">&#39;\u{21b9}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{21d2}&#39;</span>, <span class="string">&#39;\u{21d2}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{21d4}&#39;</span>, <span class="string">&#39;\u{21d4}&#39;</span>, <span class="number">1</span>,
+        <span class="number">2</span>), (<span class="string">&#39;\u{21e7}&#39;</span>, <span class="string">&#39;\u{21e7}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2200}&#39;</span>, <span class="string">&#39;\u{2200}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2202}&#39;</span>, <span class="string">&#39;\u{2203}&#39;</span>,
+        <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2207}&#39;</span>, <span class="string">&#39;\u{2208}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{220b}&#39;</span>, <span class="string">&#39;\u{220b}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{220f}&#39;</span>,
+        <span class="string">&#39;\u{220f}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2211}&#39;</span>, <span class="string">&#39;\u{2211}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2215}&#39;</span>, <span class="string">&#39;\u{2215}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{221a}&#39;</span>, <span class="string">&#39;\u{221a}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{221d}&#39;</span>, <span class="string">&#39;\u{2220}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2223}&#39;</span>, <span class="string">&#39;\u{2223}&#39;</span>, <span class="number">1</span>,
+        <span class="number">2</span>), (<span class="string">&#39;\u{2225}&#39;</span>, <span class="string">&#39;\u{2225}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2227}&#39;</span>, <span class="string">&#39;\u{222c}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{222e}&#39;</span>, <span class="string">&#39;\u{222e}&#39;</span>,
+        <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2234}&#39;</span>, <span class="string">&#39;\u{2237}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{223c}&#39;</span>, <span class="string">&#39;\u{223d}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2248}&#39;</span>,
+        <span class="string">&#39;\u{2248}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{224c}&#39;</span>, <span class="string">&#39;\u{224c}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2252}&#39;</span>, <span class="string">&#39;\u{2252}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{2260}&#39;</span>, <span class="string">&#39;\u{2261}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2264}&#39;</span>, <span class="string">&#39;\u{2267}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{226a}&#39;</span>, <span class="string">&#39;\u{226b}&#39;</span>, <span class="number">1</span>,
+        <span class="number">2</span>), (<span class="string">&#39;\u{226e}&#39;</span>, <span class="string">&#39;\u{226f}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2282}&#39;</span>, <span class="string">&#39;\u{2283}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2286}&#39;</span>, <span class="string">&#39;\u{2287}&#39;</span>,
+        <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2295}&#39;</span>, <span class="string">&#39;\u{2295}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2299}&#39;</span>, <span class="string">&#39;\u{2299}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{22a5}&#39;</span>,
+        <span class="string">&#39;\u{22a5}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{22bf}&#39;</span>, <span class="string">&#39;\u{22bf}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2312}&#39;</span>, <span class="string">&#39;\u{2312}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{231a}&#39;</span>, <span class="string">&#39;\u{231b}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2329}&#39;</span>, <span class="string">&#39;\u{232a}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{23e9}&#39;</span>, <span class="string">&#39;\u{23ec}&#39;</span>, <span class="number">2</span>,
+        <span class="number">2</span>), (<span class="string">&#39;\u{23f0}&#39;</span>, <span class="string">&#39;\u{23f0}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{23f3}&#39;</span>, <span class="string">&#39;\u{23f3}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2460}&#39;</span>, <span class="string">&#39;\u{24e9}&#39;</span>,
+        <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{24eb}&#39;</span>, <span class="string">&#39;\u{254b}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2550}&#39;</span>, <span class="string">&#39;\u{2573}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2580}&#39;</span>,
+        <span class="string">&#39;\u{258f}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2592}&#39;</span>, <span class="string">&#39;\u{2595}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{25a0}&#39;</span>, <span class="string">&#39;\u{25a1}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{25a3}&#39;</span>, <span class="string">&#39;\u{25a9}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{25b2}&#39;</span>, <span class="string">&#39;\u{25b3}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{25b6}&#39;</span>, <span class="string">&#39;\u{25b7}&#39;</span>, <span class="number">1</span>,
+        <span class="number">2</span>), (<span class="string">&#39;\u{25bc}&#39;</span>, <span class="string">&#39;\u{25bd}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{25c0}&#39;</span>, <span class="string">&#39;\u{25c1}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{25c6}&#39;</span>, <span class="string">&#39;\u{25c8}&#39;</span>,
+        <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{25cb}&#39;</span>, <span class="string">&#39;\u{25cb}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{25ce}&#39;</span>, <span class="string">&#39;\u{25d1}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{25e2}&#39;</span>,
+        <span class="string">&#39;\u{25e5}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{25ef}&#39;</span>, <span class="string">&#39;\u{25ef}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{25fd}&#39;</span>, <span class="string">&#39;\u{25fe}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{2605}&#39;</span>, <span class="string">&#39;\u{2606}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2609}&#39;</span>, <span class="string">&#39;\u{2609}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{260e}&#39;</span>, <span class="string">&#39;\u{260f}&#39;</span>, <span class="number">1</span>,
+        <span class="number">2</span>), (<span class="string">&#39;\u{2614}&#39;</span>, <span class="string">&#39;\u{2615}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{261c}&#39;</span>, <span class="string">&#39;\u{261c}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{261e}&#39;</span>, <span class="string">&#39;\u{261e}&#39;</span>,
+        <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2640}&#39;</span>, <span class="string">&#39;\u{2640}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2642}&#39;</span>, <span class="string">&#39;\u{2642}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2648}&#39;</span>,
+        <span class="string">&#39;\u{2653}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2660}&#39;</span>, <span class="string">&#39;\u{2661}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2663}&#39;</span>, <span class="string">&#39;\u{2665}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{2667}&#39;</span>, <span class="string">&#39;\u{266a}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{266c}&#39;</span>, <span class="string">&#39;\u{266d}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{266f}&#39;</span>, <span class="string">&#39;\u{266f}&#39;</span>, <span class="number">1</span>,
+        <span class="number">2</span>), (<span class="string">&#39;\u{267f}&#39;</span>, <span class="string">&#39;\u{267f}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2693}&#39;</span>, <span class="string">&#39;\u{2693}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{269e}&#39;</span>, <span class="string">&#39;\u{269f}&#39;</span>,
+        <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26a1}&#39;</span>, <span class="string">&#39;\u{26a1}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26aa}&#39;</span>, <span class="string">&#39;\u{26ab}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26bd}&#39;</span>,
+        <span class="string">&#39;\u{26be}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26bf}&#39;</span>, <span class="string">&#39;\u{26bf}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26c4}&#39;</span>, <span class="string">&#39;\u{26c5}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{26c6}&#39;</span>, <span class="string">&#39;\u{26cd}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26ce}&#39;</span>, <span class="string">&#39;\u{26ce}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26cf}&#39;</span>, <span class="string">&#39;\u{26d3}&#39;</span>, <span class="number">1</span>,
+        <span class="number">2</span>), (<span class="string">&#39;\u{26d4}&#39;</span>, <span class="string">&#39;\u{26d4}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26d5}&#39;</span>, <span class="string">&#39;\u{26e1}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26e3}&#39;</span>, <span class="string">&#39;\u{26e3}&#39;</span>,
+        <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26e8}&#39;</span>, <span class="string">&#39;\u{26e9}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26ea}&#39;</span>, <span class="string">&#39;\u{26ea}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26eb}&#39;</span>,
+        <span class="string">&#39;\u{26f1}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26f2}&#39;</span>, <span class="string">&#39;\u{26f3}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26f4}&#39;</span>, <span class="string">&#39;\u{26f4}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{26f5}&#39;</span>, <span class="string">&#39;\u{26f5}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26f6}&#39;</span>, <span class="string">&#39;\u{26f9}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26fa}&#39;</span>, <span class="string">&#39;\u{26fa}&#39;</span>, <span class="number">2</span>,
+        <span class="number">2</span>), (<span class="string">&#39;\u{26fb}&#39;</span>, <span class="string">&#39;\u{26fc}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26fd}&#39;</span>, <span class="string">&#39;\u{26fd}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{26fe}&#39;</span>, <span class="string">&#39;\u{26ff}&#39;</span>,
+        <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2705}&#39;</span>, <span class="string">&#39;\u{2705}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{270a}&#39;</span>, <span class="string">&#39;\u{270b}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2728}&#39;</span>,
+        <span class="string">&#39;\u{2728}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{273d}&#39;</span>, <span class="string">&#39;\u{273d}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{274c}&#39;</span>, <span class="string">&#39;\u{274c}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{274e}&#39;</span>, <span class="string">&#39;\u{274e}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2753}&#39;</span>, <span class="string">&#39;\u{2755}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2757}&#39;</span>, <span class="string">&#39;\u{2757}&#39;</span>, <span class="number">2</span>,
+        <span class="number">2</span>), (<span class="string">&#39;\u{2776}&#39;</span>, <span class="string">&#39;\u{277f}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2795}&#39;</span>, <span class="string">&#39;\u{2797}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{27b0}&#39;</span>, <span class="string">&#39;\u{27b0}&#39;</span>,
+        <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{27bf}&#39;</span>, <span class="string">&#39;\u{27bf}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2b1b}&#39;</span>, <span class="string">&#39;\u{2b1c}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2b50}&#39;</span>,
+        <span class="string">&#39;\u{2b50}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2b55}&#39;</span>, <span class="string">&#39;\u{2b55}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2b56}&#39;</span>, <span class="string">&#39;\u{2b59}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{2cef}&#39;</span>, <span class="string">&#39;\u{2cf1}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{2d7f}&#39;</span>, <span class="string">&#39;\u{2d7f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{2de0}&#39;</span>, <span class="string">&#39;\u{2dff}&#39;</span>, <span class="number">0</span>,
+        <span class="number">0</span>), (<span class="string">&#39;\u{2e80}&#39;</span>, <span class="string">&#39;\u{2e99}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2e9b}&#39;</span>, <span class="string">&#39;\u{2ef3}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2f00}&#39;</span>, <span class="string">&#39;\u{2fd5}&#39;</span>,
+        <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{2ff0}&#39;</span>, <span class="string">&#39;\u{2ffb}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{3000}&#39;</span>, <span class="string">&#39;\u{3029}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{302a}&#39;</span>,
+        <span class="string">&#39;\u{302d}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{302e}&#39;</span>, <span class="string">&#39;\u{303e}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{3041}&#39;</span>, <span class="string">&#39;\u{3096}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{3099}&#39;</span>, <span class="string">&#39;\u{309a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{309b}&#39;</span>, <span class="string">&#39;\u{30ff}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{3105}&#39;</span>, <span class="string">&#39;\u{312f}&#39;</span>, <span class="number">2</span>,
+        <span class="number">2</span>), (<span class="string">&#39;\u{3131}&#39;</span>, <span class="string">&#39;\u{318e}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{3190}&#39;</span>, <span class="string">&#39;\u{31e3}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{31f0}&#39;</span>, <span class="string">&#39;\u{321e}&#39;</span>,
+        <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{3220}&#39;</span>, <span class="string">&#39;\u{3247}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{3248}&#39;</span>, <span class="string">&#39;\u{324f}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{3250}&#39;</span>,
+        <span class="string">&#39;\u{4dbf}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{4e00}&#39;</span>, <span class="string">&#39;\u{a48c}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{a490}&#39;</span>, <span class="string">&#39;\u{a4c6}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{a66f}&#39;</span>, <span class="string">&#39;\u{a672}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a674}&#39;</span>, <span class="string">&#39;\u{a67d}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a69e}&#39;</span>, <span class="string">&#39;\u{a69f}&#39;</span>, <span class="number">0</span>,
+        <span class="number">0</span>), (<span class="string">&#39;\u{a6f0}&#39;</span>, <span class="string">&#39;\u{a6f1}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a802}&#39;</span>, <span class="string">&#39;\u{a802}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a806}&#39;</span>, <span class="string">&#39;\u{a806}&#39;</span>,
+        <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a80b}&#39;</span>, <span class="string">&#39;\u{a80b}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a825}&#39;</span>, <span class="string">&#39;\u{a826}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a82c}&#39;</span>,
+        <span class="string">&#39;\u{a82c}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a8c4}&#39;</span>, <span class="string">&#39;\u{a8c5}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a8e0}&#39;</span>, <span class="string">&#39;\u{a8f1}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{a8ff}&#39;</span>, <span class="string">&#39;\u{a8ff}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a926}&#39;</span>, <span class="string">&#39;\u{a92d}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a947}&#39;</span>, <span class="string">&#39;\u{a951}&#39;</span>, <span class="number">0</span>,
+        <span class="number">0</span>), (<span class="string">&#39;\u{a960}&#39;</span>, <span class="string">&#39;\u{a97c}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{a980}&#39;</span>, <span class="string">&#39;\u{a982}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a9b3}&#39;</span>, <span class="string">&#39;\u{a9b3}&#39;</span>,
+        <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a9b6}&#39;</span>, <span class="string">&#39;\u{a9b9}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a9bc}&#39;</span>, <span class="string">&#39;\u{a9bd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{a9e5}&#39;</span>,
+        <span class="string">&#39;\u{a9e5}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{aa29}&#39;</span>, <span class="string">&#39;\u{aa2e}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{aa31}&#39;</span>, <span class="string">&#39;\u{aa32}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{aa35}&#39;</span>, <span class="string">&#39;\u{aa36}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{aa43}&#39;</span>, <span class="string">&#39;\u{aa43}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{aa4c}&#39;</span>, <span class="string">&#39;\u{aa4c}&#39;</span>, <span class="number">0</span>,
+        <span class="number">0</span>), (<span class="string">&#39;\u{aa7c}&#39;</span>, <span class="string">&#39;\u{aa7c}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{aab0}&#39;</span>, <span class="string">&#39;\u{aab0}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{aab2}&#39;</span>, <span class="string">&#39;\u{aab4}&#39;</span>,
+        <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{aab7}&#39;</span>, <span class="string">&#39;\u{aab8}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{aabe}&#39;</span>, <span class="string">&#39;\u{aabf}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{aac1}&#39;</span>,
+        <span class="string">&#39;\u{aac1}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{aaec}&#39;</span>, <span class="string">&#39;\u{aaed}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{aaf6}&#39;</span>, <span class="string">&#39;\u{aaf6}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{abe5}&#39;</span>, <span class="string">&#39;\u{abe5}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{abe8}&#39;</span>, <span class="string">&#39;\u{abe8}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{abed}&#39;</span>, <span class="string">&#39;\u{abed}&#39;</span>, <span class="number">0</span>,
+        <span class="number">0</span>), (<span class="string">&#39;\u{ac00}&#39;</span>, <span class="string">&#39;\u{d7a3}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{e000}&#39;</span>, <span class="string">&#39;\u{f8ff}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{f900}&#39;</span>, <span class="string">&#39;\u{faff}&#39;</span>,
+        <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{fb1e}&#39;</span>, <span class="string">&#39;\u{fb1e}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{fe00}&#39;</span>, <span class="string">&#39;\u{fe0f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{fe10}&#39;</span>,
+        <span class="string">&#39;\u{fe19}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{fe20}&#39;</span>, <span class="string">&#39;\u{fe2f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{fe30}&#39;</span>, <span class="string">&#39;\u{fe52}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{fe54}&#39;</span>, <span class="string">&#39;\u{fe66}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{fe68}&#39;</span>, <span class="string">&#39;\u{fe6b}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{feff}&#39;</span>, <span class="string">&#39;\u{feff}&#39;</span>, <span class="number">0</span>,
+        <span class="number">0</span>), (<span class="string">&#39;\u{ff01}&#39;</span>, <span class="string">&#39;\u{ff60}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{ffe0}&#39;</span>, <span class="string">&#39;\u{ffe6}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{fff9}&#39;</span>, <span class="string">&#39;\u{fffb}&#39;</span>,
+        <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{fffd}&#39;</span>, <span class="string">&#39;\u{fffd}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{101fd}&#39;</span>, <span class="string">&#39;\u{101fd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{102e0}&#39;</span>,
+        <span class="string">&#39;\u{102e0}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{10376}&#39;</span>, <span class="string">&#39;\u{1037a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{10a01}&#39;</span>, <span class="string">&#39;\u{10a03}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{10a05}&#39;</span>, <span class="string">&#39;\u{10a06}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{10a0c}&#39;</span>, <span class="string">&#39;\u{10a0f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{10a38}&#39;</span>,
+        <span class="string">&#39;\u{10a3a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{10a3f}&#39;</span>, <span class="string">&#39;\u{10a3f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{10ae5}&#39;</span>, <span class="string">&#39;\u{10ae6}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{10d24}&#39;</span>, <span class="string">&#39;\u{10d27}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{10eab}&#39;</span>, <span class="string">&#39;\u{10eac}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{10f46}&#39;</span>,
+        <span class="string">&#39;\u{10f50}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11001}&#39;</span>, <span class="string">&#39;\u{11001}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11038}&#39;</span>, <span class="string">&#39;\u{11046}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{1107f}&#39;</span>, <span class="string">&#39;\u{11081}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{110b3}&#39;</span>, <span class="string">&#39;\u{110b6}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{110b9}&#39;</span>,
+        <span class="string">&#39;\u{110ba}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{110bd}&#39;</span>, <span class="string">&#39;\u{110bd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{110cd}&#39;</span>, <span class="string">&#39;\u{110cd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{11100}&#39;</span>, <span class="string">&#39;\u{11102}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11127}&#39;</span>, <span class="string">&#39;\u{1112b}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1112d}&#39;</span>,
+        <span class="string">&#39;\u{11134}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11173}&#39;</span>, <span class="string">&#39;\u{11173}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11180}&#39;</span>, <span class="string">&#39;\u{11181}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{111b6}&#39;</span>, <span class="string">&#39;\u{111be}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{111c9}&#39;</span>, <span class="string">&#39;\u{111cc}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{111cf}&#39;</span>,
+        <span class="string">&#39;\u{111cf}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1122f}&#39;</span>, <span class="string">&#39;\u{11231}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11234}&#39;</span>, <span class="string">&#39;\u{11234}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{11236}&#39;</span>, <span class="string">&#39;\u{11237}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1123e}&#39;</span>, <span class="string">&#39;\u{1123e}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{112df}&#39;</span>,
+        <span class="string">&#39;\u{112df}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{112e3}&#39;</span>, <span class="string">&#39;\u{112ea}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11300}&#39;</span>, <span class="string">&#39;\u{11301}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{1133b}&#39;</span>, <span class="string">&#39;\u{1133c}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11340}&#39;</span>, <span class="string">&#39;\u{11340}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11366}&#39;</span>,
+        <span class="string">&#39;\u{1136c}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11370}&#39;</span>, <span class="string">&#39;\u{11374}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11438}&#39;</span>, <span class="string">&#39;\u{1143f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{11442}&#39;</span>, <span class="string">&#39;\u{11444}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11446}&#39;</span>, <span class="string">&#39;\u{11446}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1145e}&#39;</span>,
+        <span class="string">&#39;\u{1145e}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{114b3}&#39;</span>, <span class="string">&#39;\u{114b8}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{114ba}&#39;</span>, <span class="string">&#39;\u{114ba}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{114bf}&#39;</span>, <span class="string">&#39;\u{114c0}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{114c2}&#39;</span>, <span class="string">&#39;\u{114c3}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{115b2}&#39;</span>,
+        <span class="string">&#39;\u{115b5}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{115bc}&#39;</span>, <span class="string">&#39;\u{115bd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{115bf}&#39;</span>, <span class="string">&#39;\u{115c0}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{115dc}&#39;</span>, <span class="string">&#39;\u{115dd}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11633}&#39;</span>, <span class="string">&#39;\u{1163a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1163d}&#39;</span>,
+        <span class="string">&#39;\u{1163d}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1163f}&#39;</span>, <span class="string">&#39;\u{11640}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{116ab}&#39;</span>, <span class="string">&#39;\u{116ab}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{116ad}&#39;</span>, <span class="string">&#39;\u{116ad}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{116b0}&#39;</span>, <span class="string">&#39;\u{116b5}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{116b7}&#39;</span>,
+        <span class="string">&#39;\u{116b7}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1171d}&#39;</span>, <span class="string">&#39;\u{1171f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11722}&#39;</span>, <span class="string">&#39;\u{11725}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{11727}&#39;</span>, <span class="string">&#39;\u{1172b}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1182f}&#39;</span>, <span class="string">&#39;\u{11837}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11839}&#39;</span>,
+        <span class="string">&#39;\u{1183a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1193b}&#39;</span>, <span class="string">&#39;\u{1193c}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1193e}&#39;</span>, <span class="string">&#39;\u{1193e}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{11943}&#39;</span>, <span class="string">&#39;\u{11943}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{119d4}&#39;</span>, <span class="string">&#39;\u{119d7}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{119da}&#39;</span>,
+        <span class="string">&#39;\u{119db}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{119e0}&#39;</span>, <span class="string">&#39;\u{119e0}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11a01}&#39;</span>, <span class="string">&#39;\u{11a0a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{11a33}&#39;</span>, <span class="string">&#39;\u{11a38}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11a3b}&#39;</span>, <span class="string">&#39;\u{11a3e}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11a47}&#39;</span>,
+        <span class="string">&#39;\u{11a47}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11a51}&#39;</span>, <span class="string">&#39;\u{11a56}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11a59}&#39;</span>, <span class="string">&#39;\u{11a5b}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{11a8a}&#39;</span>, <span class="string">&#39;\u{11a96}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11a98}&#39;</span>, <span class="string">&#39;\u{11a99}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11c30}&#39;</span>,
+        <span class="string">&#39;\u{11c36}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11c38}&#39;</span>, <span class="string">&#39;\u{11c3d}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11c3f}&#39;</span>, <span class="string">&#39;\u{11c3f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{11c92}&#39;</span>, <span class="string">&#39;\u{11ca7}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11caa}&#39;</span>, <span class="string">&#39;\u{11cb0}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11cb2}&#39;</span>,
+        <span class="string">&#39;\u{11cb3}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11cb5}&#39;</span>, <span class="string">&#39;\u{11cb6}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11d31}&#39;</span>, <span class="string">&#39;\u{11d36}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{11d3a}&#39;</span>, <span class="string">&#39;\u{11d3a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11d3c}&#39;</span>, <span class="string">&#39;\u{11d3d}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11d3f}&#39;</span>,
+        <span class="string">&#39;\u{11d45}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11d47}&#39;</span>, <span class="string">&#39;\u{11d47}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11d90}&#39;</span>, <span class="string">&#39;\u{11d91}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{11d95}&#39;</span>, <span class="string">&#39;\u{11d95}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11d97}&#39;</span>, <span class="string">&#39;\u{11d97}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{11ef3}&#39;</span>,
+        <span class="string">&#39;\u{11ef4}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{13430}&#39;</span>, <span class="string">&#39;\u{13438}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{16af0}&#39;</span>, <span class="string">&#39;\u{16af4}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{16b30}&#39;</span>, <span class="string">&#39;\u{16b36}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{16f4f}&#39;</span>, <span class="string">&#39;\u{16f4f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{16f8f}&#39;</span>,
+        <span class="string">&#39;\u{16f92}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{16fe0}&#39;</span>, <span class="string">&#39;\u{16fe3}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{16fe4}&#39;</span>, <span class="string">&#39;\u{16fe4}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{16ff0}&#39;</span>, <span class="string">&#39;\u{16ff1}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{17000}&#39;</span>, <span class="string">&#39;\u{187f7}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{18800}&#39;</span>,
+        <span class="string">&#39;\u{18cd5}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{18d00}&#39;</span>, <span class="string">&#39;\u{18d08}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1b000}&#39;</span>, <span class="string">&#39;\u{1b11e}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{1b150}&#39;</span>, <span class="string">&#39;\u{1b152}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1b164}&#39;</span>, <span class="string">&#39;\u{1b167}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1b170}&#39;</span>,
+        <span class="string">&#39;\u{1b2fb}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1bc9d}&#39;</span>, <span class="string">&#39;\u{1bc9e}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1bca0}&#39;</span>, <span class="string">&#39;\u{1bca3}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{1d167}&#39;</span>, <span class="string">&#39;\u{1d169}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1d173}&#39;</span>, <span class="string">&#39;\u{1d182}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1d185}&#39;</span>,
+        <span class="string">&#39;\u{1d18b}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1d1aa}&#39;</span>, <span class="string">&#39;\u{1d1ad}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1d242}&#39;</span>, <span class="string">&#39;\u{1d244}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{1da00}&#39;</span>, <span class="string">&#39;\u{1da36}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1da3b}&#39;</span>, <span class="string">&#39;\u{1da6c}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1da75}&#39;</span>,
+        <span class="string">&#39;\u{1da75}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1da84}&#39;</span>, <span class="string">&#39;\u{1da84}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1da9b}&#39;</span>, <span class="string">&#39;\u{1da9f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{1daa1}&#39;</span>, <span class="string">&#39;\u{1daaf}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1e000}&#39;</span>, <span class="string">&#39;\u{1e006}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1e008}&#39;</span>,
+        <span class="string">&#39;\u{1e018}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1e01b}&#39;</span>, <span class="string">&#39;\u{1e021}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1e023}&#39;</span>, <span class="string">&#39;\u{1e024}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{1e026}&#39;</span>, <span class="string">&#39;\u{1e02a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1e130}&#39;</span>, <span class="string">&#39;\u{1e136}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1e2ec}&#39;</span>,
+        <span class="string">&#39;\u{1e2ef}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1e8d0}&#39;</span>, <span class="string">&#39;\u{1e8d6}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{1e944}&#39;</span>, <span class="string">&#39;\u{1e94a}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{1f004}&#39;</span>, <span class="string">&#39;\u{1f004}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f0cf}&#39;</span>, <span class="string">&#39;\u{1f0cf}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f100}&#39;</span>,
+        <span class="string">&#39;\u{1f10a}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f110}&#39;</span>, <span class="string">&#39;\u{1f12d}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f130}&#39;</span>, <span class="string">&#39;\u{1f169}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{1f170}&#39;</span>, <span class="string">&#39;\u{1f18d}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f18e}&#39;</span>, <span class="string">&#39;\u{1f18e}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f18f}&#39;</span>,
+        <span class="string">&#39;\u{1f190}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f191}&#39;</span>, <span class="string">&#39;\u{1f19a}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f19b}&#39;</span>, <span class="string">&#39;\u{1f1ac}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{1f200}&#39;</span>, <span class="string">&#39;\u{1f202}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f210}&#39;</span>, <span class="string">&#39;\u{1f23b}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f240}&#39;</span>,
+        <span class="string">&#39;\u{1f248}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f250}&#39;</span>, <span class="string">&#39;\u{1f251}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f260}&#39;</span>, <span class="string">&#39;\u{1f265}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{1f300}&#39;</span>, <span class="string">&#39;\u{1f320}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f32d}&#39;</span>, <span class="string">&#39;\u{1f335}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f337}&#39;</span>,
+        <span class="string">&#39;\u{1f37c}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f37e}&#39;</span>, <span class="string">&#39;\u{1f393}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f3a0}&#39;</span>, <span class="string">&#39;\u{1f3ca}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{1f3cf}&#39;</span>, <span class="string">&#39;\u{1f3d3}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f3e0}&#39;</span>, <span class="string">&#39;\u{1f3f0}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f3f4}&#39;</span>,
+        <span class="string">&#39;\u{1f3f4}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f3f8}&#39;</span>, <span class="string">&#39;\u{1f43e}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f440}&#39;</span>, <span class="string">&#39;\u{1f440}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{1f442}&#39;</span>, <span class="string">&#39;\u{1f4fc}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f4ff}&#39;</span>, <span class="string">&#39;\u{1f53d}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f54b}&#39;</span>,
+        <span class="string">&#39;\u{1f54e}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f550}&#39;</span>, <span class="string">&#39;\u{1f567}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f57a}&#39;</span>, <span class="string">&#39;\u{1f57a}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{1f595}&#39;</span>, <span class="string">&#39;\u{1f596}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f5a4}&#39;</span>, <span class="string">&#39;\u{1f5a4}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f5fb}&#39;</span>,
+        <span class="string">&#39;\u{1f64f}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f680}&#39;</span>, <span class="string">&#39;\u{1f6c5}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f6cc}&#39;</span>, <span class="string">&#39;\u{1f6cc}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{1f6d0}&#39;</span>, <span class="string">&#39;\u{1f6d2}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f6d5}&#39;</span>, <span class="string">&#39;\u{1f6d7}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f6eb}&#39;</span>,
+        <span class="string">&#39;\u{1f6ec}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f6f4}&#39;</span>, <span class="string">&#39;\u{1f6fc}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f7e0}&#39;</span>, <span class="string">&#39;\u{1f7eb}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{1f90c}&#39;</span>, <span class="string">&#39;\u{1f93a}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f93c}&#39;</span>, <span class="string">&#39;\u{1f945}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f947}&#39;</span>,
+        <span class="string">&#39;\u{1f978}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f97a}&#39;</span>, <span class="string">&#39;\u{1f9cb}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1f9cd}&#39;</span>, <span class="string">&#39;\u{1f9ff}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{1fa70}&#39;</span>, <span class="string">&#39;\u{1fa74}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1fa78}&#39;</span>, <span class="string">&#39;\u{1fa7a}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1fa80}&#39;</span>,
+        <span class="string">&#39;\u{1fa86}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1fa90}&#39;</span>, <span class="string">&#39;\u{1faa8}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1fab0}&#39;</span>, <span class="string">&#39;\u{1fab6}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>),
+        (<span class="string">&#39;\u{1fac0}&#39;</span>, <span class="string">&#39;\u{1fac2}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{1fad0}&#39;</span>, <span class="string">&#39;\u{1fad6}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{20000}&#39;</span>,
+        <span class="string">&#39;\u{2fffd}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{30000}&#39;</span>, <span class="string">&#39;\u{3fffd}&#39;</span>, <span class="number">2</span>, <span class="number">2</span>), (<span class="string">&#39;\u{e0001}&#39;</span>, <span class="string">&#39;\u{e0001}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>),
+        (<span class="string">&#39;\u{e0020}&#39;</span>, <span class="string">&#39;\u{e007f}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{e0100}&#39;</span>, <span class="string">&#39;\u{e01ef}&#39;</span>, <span class="number">0</span>, <span class="number">0</span>), (<span class="string">&#39;\u{f0000}&#39;</span>,
+        <span class="string">&#39;\u{ffffd}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>), (<span class="string">&#39;\u{100000}&#39;</span>, <span class="string">&#39;\u{10fffd}&#39;</span>, <span class="number">1</span>, <span class="number">2</span>)
+    ];
+
+}
+
+</pre></div>
+</section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "unicode_width";</script><script src="../../main.js"></script><script src="../../source-script.js"></script><script src="../../source-files.js"></script><script defer src="../../search-index.js"></script></body></html>
\ No newline at end of file
diff --git a/storage.js b/storage.js
new file mode 100644
index 0000000..1b52251
--- /dev/null
+++ b/storage.js
@@ -0,0 +1 @@
+var resourcesSuffix="";var currentTheme=document.getElementById("themeStyle");var mainTheme=document.getElementById("mainThemeStyle");var savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){var length=arr.length;var i;if(reversed!==true){for(i=0;i<length;++i){if(func(arr[i])===true){return true}}}else{for(i=length-1;i>=0;--i){if(func(arr[i])===true){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function hasOwnProperty(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function usableLocalStorage(){if(typeof Storage==="undefined"){return false}try{return window.localStorage!==null&&window.localStorage!==undefined}catch(err){return false}}function updateLocalStorage(name,value){if(usableLocalStorage()){localStorage[name]=value}else{}}function getCurrentValue(name){if(usableLocalStorage()&&localStorage[name]!==undefined){return localStorage[name]}return null}function switchTheme(styleElem,mainStyleElem,newTheme,saveTheme){var fullBasicCss="rustdoc"+resourcesSuffix+".css";var fullNewTheme=newTheme+resourcesSuffix+".css";var newHref=mainStyleElem.href.replace(fullBasicCss,fullNewTheme);if(styleElem.href===newHref){return}var found=false;if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),function(el){savedHref.push(el.href)})}onEach(savedHref,function(el){if(el===newHref){found=true;return true}});if(found===true){styleElem.href=newHref;if(saveTheme===true){updateLocalStorage("rustdoc-theme",newTheme)}}}function getSystemValue(){var property=getComputedStyle(document.documentElement).getPropertyValue('content');return property.replace(/[\"\']/g,"")}switchTheme(currentTheme,mainTheme,getCurrentValue("rustdoc-theme")||getSystemValue()||"light",false)
\ No newline at end of file
diff --git a/theme.js b/theme.js
new file mode 100644
index 0000000..ebd1a87
--- /dev/null
+++ b/theme.js
@@ -0,0 +1 @@
+var themes=document.getElementById("theme-choices");var themePicker=document.getElementById("theme-picker");function showThemeButtonState(){themes.style.display="block";themePicker.style.borderBottomRightRadius="0";themePicker.style.borderBottomLeftRadius="0"}function hideThemeButtonState(){themes.style.display="none";themePicker.style.borderBottomRightRadius="3px";themePicker.style.borderBottomLeftRadius="3px"}function switchThemeButtonState(){if(themes.style.display==="block"){hideThemeButtonState()}else{showThemeButtonState()}};function handleThemeButtonsBlur(e){var active=document.activeElement;var related=e.relatedTarget;if(active.id!=="themePicker"&&(!active.parentNode||active.parentNode.id!=="theme-choices")&&(!related||(related.id!=="themePicker"&&(!related.parentNode||related.parentNode.id!=="theme-choices")))){hideThemeButtonState()}}themePicker.onclick=switchThemeButtonState;themePicker.onblur=handleThemeButtonsBlur;["dark","light"].forEach(function(item){var but=document.createElement('button');but.textContent=item;but.onclick=function(el){switchTheme(currentTheme,mainTheme,item,true)};but.onblur=handleThemeButtonsBlur;themes.appendChild(but)})
\ No newline at end of file
diff --git a/unicode_width/all.html b/unicode_width/all.html
new file mode 100644
index 0000000..3f09c9b
--- /dev/null
+++ b/unicode_width/all.html
@@ -0,0 +1,3 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><meta name="keywords" content="rust, rustlang, rust-lang"><title>List of all items in this crate</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../dark.css"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="shortcut icon" href="https://unicode-rs.github.io/unicode-rs_sm.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../unicode_width/index.html'><div class='logo-container'><img src='https://unicode-rs.github.io/unicode-rs_sm.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span>
+        </span>
+        <span class='in-band'>List of all items</span></h1><h3 id='Traits'>Traits</h3><ul class='traits docblock'><li><a href='trait.UnicodeWidthChar.html'>UnicodeWidthChar</a></li><li><a href='trait.UnicodeWidthStr.html'>UnicodeWidthStr</a></li></ul><h3 id='Constants'>Constants</h3><ul class='constants docblock'><li><a href='constant.UNICODE_VERSION.html'>UNICODE_VERSION</a></li></ul></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "unicode_width";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
\ No newline at end of file
diff --git a/unicode_width/constant.UNICODE_VERSION.html b/unicode_width/constant.UNICODE_VERSION.html
new file mode 100644
index 0000000..61d5369
--- /dev/null
+++ b/unicode_width/constant.UNICODE_VERSION.html
@@ -0,0 +1,3 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `UNICODE_VERSION` constant in crate `unicode_width`."><meta name="keywords" content="rust, rustlang, rust-lang, UNICODE_VERSION"><title>unicode_width::UNICODE_VERSION - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../dark.css"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="shortcut icon" href="https://unicode-rs.github.io/unicode-rs_sm.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc constant"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../unicode_width/index.html'><div class='logo-container'><img src='https://unicode-rs.github.io/unicode-rs_sm.png' alt='logo'></div></a><div class="sidebar-elems"><p class='location'><a href='index.html'>unicode_width</a></p><script>window.sidebarCurrent = {name: 'UNICODE_VERSION', ty: 'constant', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../src/unicode_width/tables.rs.html#17' title='goto source code'>[src]</a></span><span class='in-band'>Constant <a href='index.html'>unicode_width</a>::<wbr><a class="constant" href=''>UNICODE_VERSION</a></span></h1><pre class='rust const'>pub const UNICODE_VERSION: (u8, u8, u8);</pre><div class='docblock'><p>The version of <a href="http://www.unicode.org/">Unicode</a>
+that this version of unicode-width is based on.</p>
+</div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "unicode_width";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
\ No newline at end of file
diff --git a/unicode_width/index.html b/unicode_width/index.html
new file mode 100644
index 0000000..e047832
--- /dev/null
+++ b/unicode_width/index.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `unicode_width` crate."><meta name="keywords" content="rust, rustlang, rust-lang, unicode_width"><title>unicode_width - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../dark.css"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="shortcut icon" href="https://unicode-rs.github.io/unicode-rs_sm.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../unicode_width/index.html'><div class='logo-container'><img src='https://unicode-rs.github.io/unicode-rs_sm.png' alt='logo'></div></a><p class='location'>Crate unicode_width</p><div class="sidebar-elems"><a id='all-types' href='all.html'><p>See all unicode_width's items</p></a><div class="block items"><ul><li><a href="#constants">Constants</a></li><li><a href="#traits">Traits</a></li></ul></div><p class='location'></p><script>window.sidebarCurrent = {name: 'unicode_width', ty: 'mod', relpath: '../'};</script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../src/unicode_width/lib.rs.html#11-131' title='goto source code'>[src]</a></span><span class='in-band'>Crate <a class="mod" href=''>unicode_width</a></span></h1><div class='docblock'><p>Determine displayed width of <code>char</code> and <code>str</code> types according to
+<a href="http://www.unicode.org/reports/tr11/">Unicode Standard Annex #11</a>
+rules.</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered">
+<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">unicode_width</span>;
+
+<span class="kw">use</span> <span class="ident">unicode_width</span>::<span class="ident">UnicodeWidthStr</span>;
+
+<span class="kw">fn</span> <span class="ident">main</span>() {
+    <span class="kw">let</span> <span class="ident">teststr</span> <span class="op">=</span> <span class="string">&quot;Hello, world!&quot;</span>;
+    <span class="kw">let</span> <span class="ident">width</span> <span class="op">=</span> <span class="ident">UnicodeWidthStr</span>::<span class="ident">width</span>(<span class="ident">teststr</span>);
+    <span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;{}&quot;</span>, <span class="ident">teststr</span>);
+    <span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;The above string is {} columns wide.&quot;</span>, <span class="ident">width</span>);
+    <span class="kw">let</span> <span class="ident">width</span> <span class="op">=</span> <span class="ident">teststr</span>.<span class="ident">width_cjk</span>();
+    <span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;The above string is {} columns wide (CJK).&quot;</span>, <span class="ident">width</span>);
+}</pre></div>
+<h1 id="features" class="section-header"><a href="#features">features</a></h1>
+<p>unicode-width supports a <code>no_std</code> feature. This eliminates dependence
+on std, and instead uses equivalent functions from core.</p>
+<h1 id="cratesio" class="section-header"><a href="#cratesio">crates.io</a></h1>
+<p>You can use this package in your project by adding the following
+to your <code>Cargo.toml</code>:</p>
+<pre><code class="language-toml">[dependencies]
+unicode-width = &quot;0.1.5&quot;
+</code></pre>
+</div><h2 id='constants' class='section-header'><a href="#constants">Constants</a></h2>
+<table><tr class='module-item'><td><a class="constant" href="constant.UNICODE_VERSION.html" title='unicode_width::UNICODE_VERSION constant'>UNICODE_VERSION</a></td><td class='docblock-short'><p>The version of <a href="http://www.unicode.org/">Unicode</a>
+that this version of unicode-width is based on.</p>
+</td></tr></table><h2 id='traits' class='section-header'><a href="#traits">Traits</a></h2>
+<table><tr class='module-item'><td><a class="trait" href="trait.UnicodeWidthChar.html" title='unicode_width::UnicodeWidthChar trait'>UnicodeWidthChar</a></td><td class='docblock-short'><p>Methods for determining displayed width of Unicode characters.</p>
+</td></tr><tr class='module-item'><td><a class="trait" href="trait.UnicodeWidthStr.html" title='unicode_width::UnicodeWidthStr trait'>UnicodeWidthStr</a></td><td class='docblock-short'><p>Methods for determining displayed width of Unicode strings.</p>
+</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "unicode_width";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
\ No newline at end of file
diff --git a/unicode_width/sidebar-items.js b/unicode_width/sidebar-items.js
new file mode 100644
index 0000000..e40bb02
--- /dev/null
+++ b/unicode_width/sidebar-items.js
@@ -0,0 +1 @@
+initSidebarItems({"constant":[["UNICODE_VERSION","The version of Unicode that this version of unicode-width is based on."]],"trait":[["UnicodeWidthChar","Methods for determining displayed width of Unicode characters."],["UnicodeWidthStr","Methods for determining displayed width of Unicode strings."]]});
\ No newline at end of file
diff --git a/unicode_width/tables/constant.UNICODE_VERSION.html b/unicode_width/tables/constant.UNICODE_VERSION.html
new file mode 100644
index 0000000..8f7fc9f
--- /dev/null
+++ b/unicode_width/tables/constant.UNICODE_VERSION.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="refresh" content="0;URL=../../unicode_width/constant.UNICODE_VERSION.html">
+</head>
+<body>
+    <p>Redirecting to <a href="../../unicode_width/constant.UNICODE_VERSION.html">../../unicode_width/constant.UNICODE_VERSION.html</a>...</p>
+    <script>location.replace("../../unicode_width/constant.UNICODE_VERSION.html" + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/unicode_width/trait.UnicodeWidthChar.html b/unicode_width/trait.UnicodeWidthChar.html
new file mode 100644
index 0000000..42fe8d6
--- /dev/null
+++ b/unicode_width/trait.UnicodeWidthChar.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `UnicodeWidthChar` trait in crate `unicode_width`."><meta name="keywords" content="rust, rustlang, rust-lang, UnicodeWidthChar"><title>unicode_width::UnicodeWidthChar - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../dark.css"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="shortcut icon" href="https://unicode-rs.github.io/unicode-rs_sm.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../unicode_width/index.html'><div class='logo-container'><img src='https://unicode-rs.github.io/unicode-rs_sm.png' alt='logo'></div></a><p class='location'>Trait UnicodeWidthChar</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.width">width</a><a href="#tymethod.width_cjk">width_cjk</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class='location'><a href='index.html'>unicode_width</a></p><script>window.sidebarCurrent = {name: 'UnicodeWidthChar', ty: 'trait', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../src/unicode_width/lib.rs.html#70-88' title='goto source code'>[src]</a></span><span class='in-band'>Trait <a href='index.html'>unicode_width</a>::<wbr><a class="trait" href=''>UnicodeWidthChar</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust trait'>pub trait UnicodeWidthChar {
+    fn <a href='#tymethod.width' class='fnname'>width</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;usize&gt;;
+<div class='item-spacer'></div>    fn <a href='#tymethod.width_cjk' class='fnname'>width_cjk</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;usize&gt;;
+}</pre></div><div class='docblock'><p>Methods for determining displayed width of Unicode characters.</p>
+</div>
+            <h2 id='required-methods' class='small-section-header'>Required methods<a href='#required-methods' class='anchor'></a></h2><div class='methods'><h3 id='tymethod.width' class='method'><code id='width.v'>fn <a href='#tymethod.width' class='fnname'>width</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;usize&gt;</code></h3><div class='docblock'><p>Returns the character's displayed width in columns, or <code>None</code> if the
+character is a control character other than <code>'\x00'</code>.</p>
+<p>This function treats characters in the Ambiguous category according
+to <a href="http://www.unicode.org/reports/tr11/">Unicode Standard Annex #11</a>
+as 1 column wide. This is consistent with the recommendations for non-CJK
+contexts, or when the context cannot be reliably determined.</p>
+</div><h3 id='tymethod.width_cjk' class='method'><code id='width_cjk.v'>fn <a href='#tymethod.width_cjk' class='fnname'>width_cjk</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;usize&gt;</code></h3><div class='docblock'><p>Returns the character's displayed width in columns, or <code>None</code> if the
+character is a control character other than <code>'\x00'</code>.</p>
+<p>This function treats characters in the Ambiguous category according
+to <a href="http://www.unicode.org/reports/tr11/">Unicode Standard Annex #11</a>
+as 2 columns wide. This is consistent with the recommendations for
+CJK contexts.</p>
+</div></div><span class='loading-content'>Loading content...</span>
+            <h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'><h3 id='impl-UnicodeWidthChar' class='impl'><code class='in-band'>impl UnicodeWidthChar for char</code><a href='#impl-UnicodeWidthChar' class='anchor'></a><a class='srclink' href='../src/unicode_width/lib.rs.html#90-96' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.width' class="method hidden"><code id='width.v-1'>fn <a href='#method.width' class='fnname'>width</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;usize&gt;</code><a class='srclink' href='../src/unicode_width/lib.rs.html#92' title='goto source code'>[src]</a></h4><h4 id='method.width_cjk' class="method hidden"><code id='width_cjk.v-1'>fn <a href='#method.width_cjk' class='fnname'>width_cjk</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;usize&gt;</code><a class='srclink' href='../src/unicode_width/lib.rs.html#95' title='goto source code'>[src]</a></h4></div></div><span class='loading-content'>Loading content...</span><script type="text/javascript" src="../implementors/unicode_width/trait.UnicodeWidthChar.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "unicode_width";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
\ No newline at end of file
diff --git a/unicode_width/trait.UnicodeWidthStr.html b/unicode_width/trait.UnicodeWidthStr.html
new file mode 100644
index 0000000..fcf5f46
--- /dev/null
+++ b/unicode_width/trait.UnicodeWidthStr.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `UnicodeWidthStr` trait in crate `unicode_width`."><meta name="keywords" content="rust, rustlang, rust-lang, UnicodeWidthStr"><title>unicode_width::UnicodeWidthStr - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../dark.css"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="shortcut icon" href="https://unicode-rs.github.io/unicode-rs_sm.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../unicode_width/index.html'><div class='logo-container'><img src='https://unicode-rs.github.io/unicode-rs_sm.png' alt='logo'></div></a><p class='location'>Trait UnicodeWidthStr</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.width">width</a><a href="#tymethod.width_cjk">width_cjk</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class='location'><a href='index.html'>unicode_width</a></p><script>window.sidebarCurrent = {name: 'UnicodeWidthStr', ty: 'trait', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../src/unicode_width/lib.rs.html#99-119' title='goto source code'>[src]</a></span><span class='in-band'>Trait <a href='index.html'>unicode_width</a>::<wbr><a class="trait" href=''>UnicodeWidthStr</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust trait'>pub trait UnicodeWidthStr {
+    fn <a href='#tymethod.width' class='fnname'>width</a>&lt;'a&gt;(&amp;'a self) -&gt; usize;
+<div class='item-spacer'></div>    fn <a href='#tymethod.width_cjk' class='fnname'>width_cjk</a>&lt;'a&gt;(&amp;'a self) -&gt; usize;
+}</pre></div><div class='docblock'><p>Methods for determining displayed width of Unicode strings.</p>
+</div>
+            <h2 id='required-methods' class='small-section-header'>Required methods<a href='#required-methods' class='anchor'></a></h2><div class='methods'><h3 id='tymethod.width' class='method'><code id='width.v'>fn <a href='#tymethod.width' class='fnname'>width</a>&lt;'a&gt;(&amp;'a self) -&gt; usize</code></h3><div class='docblock'><p>Returns the string's displayed width in columns.</p>
+<p>Control characters are treated as having zero width.</p>
+<p>This function treats characters in the Ambiguous category according
+to <a href="http://www.unicode.org/reports/tr11/">Unicode Standard Annex #11</a>
+as 1 column wide. This is consistent with the recommendations for
+non-CJK contexts, or when the context cannot be reliably determined.</p>
+</div><h3 id='tymethod.width_cjk' class='method'><code id='width_cjk.v'>fn <a href='#tymethod.width_cjk' class='fnname'>width_cjk</a>&lt;'a&gt;(&amp;'a self) -&gt; usize</code></h3><div class='docblock'><p>Returns the string's displayed width in columns.</p>
+<p>Control characters are treated as having zero width.</p>
+<p>This function treats characters in the Ambiguous category according
+to <a href="http://www.unicode.org/reports/tr11/">Unicode Standard Annex #11</a>
+as 2 column wide. This is consistent with the recommendations for
+CJK contexts.</p>
+</div></div><span class='loading-content'>Loading content...</span>
+            <h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'><h3 id='impl-UnicodeWidthStr' class='impl'><code class='in-band'>impl UnicodeWidthStr for str</code><a href='#impl-UnicodeWidthStr' class='anchor'></a><a class='srclink' href='../src/unicode_width/lib.rs.html#121-131' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.width' class="method hidden"><code id='width.v-1'>fn <a href='#method.width' class='fnname'>width</a>(&amp;self) -&gt; usize</code><a class='srclink' href='../src/unicode_width/lib.rs.html#123-125' title='goto source code'>[src]</a></h4><h4 id='method.width_cjk' class="method hidden"><code id='width_cjk.v-1'>fn <a href='#method.width_cjk' class='fnname'>width_cjk</a>(&amp;self) -&gt; usize</code><a class='srclink' href='../src/unicode_width/lib.rs.html#128-130' title='goto source code'>[src]</a></h4></div></div><span class='loading-content'>Loading content...</span><script type="text/javascript" src="../implementors/unicode_width/trait.UnicodeWidthStr.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "unicode_width";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
\ No newline at end of file
diff --git a/wheel.svg b/wheel.svg
new file mode 100644
index 0000000..01da3b2
--- /dev/null
+++ b/wheel.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="Capa_1" width="27.434" height="29.5" enable-background="new 0 0 27.434 29.5" version="1.1" viewBox="0 0 27.434 29.5" xml:space="preserve"><g><path d="M27.315,18.389c-0.165-0.604-0.509-1.113-0.981-1.459c-0.042-0.144-0.083-0.429-0.015-0.761l0.037-0.177v-0.182V14.8 c0-1.247-0.006-1.277-0.048-1.472c-0.076-0.354-0.035-0.653,0.007-0.803c0.477-0.346,0.828-0.861,0.996-1.476 c0.261-0.956,0.076-2.091-0.508-3.114l-0.591-1.032c-0.746-1.307-1.965-2.119-3.182-2.119c-0.378,0-0.75,0.081-1.085,0.235 c-0.198-0.025-0.554-0.15-0.855-0.389l-0.103-0.082l-0.114-0.065l-1.857-1.067L18.92,3.36l-0.105-0.044 c-0.376-0.154-0.658-0.41-0.768-0.556C17.918,1.172,16.349,0,14.296,0H13.14c-2.043,0-3.608,1.154-3.749,2.721 C9.277,2.862,8.999,3.104,8.633,3.25l-0.1,0.039L8.439,3.341L6.495,4.406L6.363,4.479L6.245,4.573 C5.936,4.82,5.596,4.944,5.416,4.977c-0.314-0.139-0.66-0.21-1.011-0.21c-1.198,0-2.411,0.819-3.165,2.139L0.65,7.938 c-0.412,0.72-0.642,1.521-0.644,2.258c-0.003,0.952,0.362,1.756,1.013,2.256c0.034,0.155,0.061,0.448-0.016,0.786 c-0.038,0.168-0.062,0.28-0.062,1.563c0,1.148,0,1.148,0.015,1.262l0.009,0.073l0.017,0.073c0.073,0.346,0.045,0.643,0.011,0.802 C0.348,17.512-0.01,18.314,0,19.268c0.008,0.729,0.238,1.523,0.648,2.242l0.589,1.031c0.761,1.331,1.967,2.159,3.15,2.159 c0.324,0,0.645-0.064,0.938-0.187c0.167,0.038,0.492,0.156,0.813,0.416l0.11,0.088l0.124,0.07l2.045,1.156l0.102,0.057l0.107,0.043 c0.364,0.147,0.646,0.381,0.766,0.521c0.164,1.52,1.719,2.634,3.745,2.634h1.155c2.037,0,3.598-1.134,3.747-2.675 c0.117-0.145,0.401-0.393,0.774-0.549l0.111-0.047l0.105-0.062l1.96-1.159l0.105-0.062l0.097-0.075 c0.309-0.246,0.651-0.371,0.832-0.402c0.313,0.138,0.662,0.212,1.016,0.212c1.199,0,2.412-0.82,3.166-2.139l0.59-1.032 C27.387,20.48,27.575,19.342,27.315,18.389z M25.274,20.635l-0.59,1.032c-0.438,0.765-1.104,1.251-1.639,1.251 c-0.133,0-0.258-0.029-0.369-0.094c-0.15-0.086-0.346-0.127-0.566-0.127c-0.596,0-1.383,0.295-2.01,0.796l-1.96,1.157 c-1.016,0.425-1.846,1.291-1.846,1.929s-0.898,1.159-1.998,1.159H13.14c-1.1,0-1.998-0.514-1.998-1.141s-0.834-1.477-1.854-1.888 l-2.046-1.157c-0.636-0.511-1.425-0.814-2.006-0.814c-0.202,0-0.379,0.037-0.516,0.115c-0.101,0.057-0.214,0.084-0.333,0.084 c-0.518,0-1.179-0.498-1.62-1.271l-0.591-1.032c-0.545-0.954-0.556-1.983-0.024-2.286c0.532-0.305,0.78-1.432,0.551-2.506 c0,0,0-0.003,0-1.042c0-1.088,0.021-1.18,0.021-1.18c0.238-1.072-0.01-2.203-0.552-2.513C1.631,10.8,1.634,9.765,2.18,8.812 L2.769,7.78c0.438-0.766,1.103-1.251,1.636-1.251c0.131,0,0.255,0.029,0.365,0.092C4.92,6.707,5.114,6.747,5.334,6.747 c0.596,0,1.38-0.296,2.007-0.795l1.944-1.065c1.021-0.407,1.856-1.277,1.856-1.933c0-0.656,0.898-1.192,1.998-1.192h1.156V1.761 c1.1,0,1.998,0.545,1.998,1.211c0,0.667,0.832,1.554,1.849,1.973L20,6.013c0.618,0.489,1.401,0.775,2.012,0.775 c0.24,0,0.454-0.045,0.62-0.139c0.122-0.069,0.259-0.102,0.403-0.102c0.551,0,1.221,0.476,1.653,1.231l0.59,1.032 c0.544,0.953,0.518,2.004-0.062,2.334c-0.577,0.331-0.859,1.48-0.627,2.554c0,0,0.01,0.042,0.01,1.103c0,1.012,0,1.012,0,1.012 c-0.218,1.049,0.068,2.174,0.636,2.498C25.802,18.635,25.819,19.68,25.274,20.635z"/><path d="M13.61,7.611c-3.913,0-7.084,3.173-7.084,7.085c0,3.914,3.171,7.085,7.084,7.085s7.085-3.172,7.085-7.085 C20.695,10.784,17.523,7.611,13.61,7.611z M13.61,20.02c-2.936,0-5.323-2.388-5.323-5.323c0-2.935,2.388-5.323,5.323-5.323 s5.324,2.388,5.324,5.323C18.934,17.632,16.546,20.02,13.61,20.02z"/><path d="M13.682,9.908c-2.602,0-4.718,2.116-4.718,4.718c0,2.601,2.116,4.716,4.718,4.716c2.601,0,4.717-2.115,4.717-4.716 C18.399,12.024,16.283,9.908,13.682,9.908z M13.682,17.581c-1.633,0-2.956-1.323-2.956-2.955s1.323-2.956,2.956-2.956 c1.632,0,2.956,1.324,2.956,2.956S15.314,17.581,13.682,17.581z"/></g></svg>
\ No newline at end of file